Skip to content

Commit

Permalink
Merge pull request #121 from PRIDE-Archive/removeInvalidUrl
Browse files Browse the repository at this point in the history
proxy url and baf files directory upload
  • Loading branch information
ypriverol authored Jun 30, 2021
2 parents 73f5937 + 81da259 commit 57ee2d7
Showing 4 changed files with 43 additions and 10 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@
<groupId>uk.ac.ebi.pride.px</groupId>
<artifactId>px-submission-tool</artifactId>
<packaging>jar</packaging>
<version>2.5.3</version>
<version>2.5.4</version>
<name>px-submission-tool</name>
<url>https://github.com/proteomexchange/px-submission-tool</url>

Original file line number Diff line number Diff line change
@@ -18,26 +18,38 @@
import uk.ac.ebi.pride.data.validation.SubmissionValidator;
import uk.ac.ebi.pride.data.validation.ValidationMessage;
import uk.ac.ebi.pride.data.validation.ValidationReport;
import uk.ac.ebi.pride.gui.util.*;
import uk.ac.ebi.pride.gui.util.Constant;
import uk.ac.ebi.pride.gui.util.DataFileValidationMessage;
import uk.ac.ebi.pride.gui.util.PrideConverterSupport;
import uk.ac.ebi.pride.gui.util.ValidationState;
import uk.ac.ebi.pride.gui.util.WarningMessageGenerator;
import uk.ac.ebi.pride.jaxb.model.CvParam;
import uk.ac.ebi.pride.jaxb.model.SampleDescription;
import uk.ac.ebi.pride.jaxb.xml.unmarshaller.PrideXmlUnmarshaller;
import uk.ac.ebi.pride.jaxb.xml.unmarshaller.PrideXmlUnmarshallerFactory;
import uk.ac.ebi.pride.sdrf.validate.Main;
import uk.ac.ebi.pride.sdrf.validate.model.ValidationError;
import uk.ac.ebi.pride.sdrf.validate.util.Constants;
import uk.ac.ebi.pride.toolsuite.gui.task.TaskAdapter;

import javax.swing.*;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
import javax.xml.bind.JAXBException;
import java.awt.*;
import java.io.*;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.*;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@@ -279,12 +291,16 @@ protected DataFileValidationMessage doInBackground() throws Exception {
return new DataFileValidationMessage(ValidationState.ERROR, WarningMessageGenerator.getWiffScanMissingWarning());
}

if (checkBafFiles(submission.getDataFiles())) {
return new DataFileValidationMessage(ValidationState.ERROR, WarningMessageGenerator.getBafFileWarning());
}

boolean isSdrfFound = false;
for(DataFile dataFile : submission.getDataFiles()){
if(dataFile.getFileType().equals(ProjectFileType.EXPERIMENTAL_DESIGN)){
for (DataFile dataFile : submission.getDataFiles()) {
if (dataFile.getFileType().equals(ProjectFileType.EXPERIMENTAL_DESIGN)) {
isSdrfFound = true;
Set<ValidationError> errors = Main.validate(dataFile.getFilePath(),true);
if(errors.size() !=0){
Set<ValidationError> errors = Main.validate(dataFile.getFilePath(), true);
if (errors.size() != 0) {
return new DataFileValidationMessage(ValidationState.ERROR, WarningMessageGenerator.getInvalidSDRFFileWarning());
}
}
@@ -325,6 +341,18 @@ public void hyperlinkUpdate(HyperlinkEvent e) {
return new DataFileValidationMessage(ValidationState.SUCCESS);
}

private boolean checkBafFiles(List<DataFile> dataFiles) {
for (DataFile dataFile : dataFiles) {
String fileName = dataFile.getFileName();
if (fileName.endsWith(MassSpecFileFormat.BRUKER_BAF.getFileExtension())
|| fileName.endsWith(MassSpecFileFormat.BRUKER_YEP.getFileExtension())
|| fileName.endsWith(MassSpecFileFormat.BRUKER_FID.getFileExtension())) {
return true;
}
}
return false;
}

private boolean checkIfWiffFileHasScanFile(List<DataFile> dataFiles) {
int countOfWiffFiles = 0;
int countOfWiffScanFiles = 0;
@@ -553,6 +581,7 @@ private QuickValidationResult runQuickValidation(List<DataFile> dataFiles) {
for (DataFile dataFile : dataFiles) {
String fileName = dataFile.getFileName();
logger.debug("runQuickValidation(): SubmissionValidator.validateDataFile(" + fileName + ")");

ValidationReport validationReport = SubmissionValidator.validateDataFile(dataFile);
if (validationReport.hasError()) {
logger.error("runQuickValidation(): SubmissionValidator.validateDataFile(" + fileName + ") ERROR: "
Original file line number Diff line number Diff line change
@@ -42,6 +42,10 @@ public static String getWiffScanMissingWarning() {
return "<html>" + "<b>It is recommended to submit wiff scan files associated with wiff files</b><br/>" + "</html>";
}

public static String getBafFileWarning() {
return "<html>" + "<b>It is recommended to submit whole .d directory as zipped instead of individual BAF files</b><br/>" + "</html>";
}

public static String getExperimentalDesignFileMissingWarning() {
return "It is recommended to submit a <a href=\"https://github.com/bigbio/proteomics-metadata-standard\">Sample to Data file format (SDRF)</a> File<br/>";
}
2 changes: 1 addition & 1 deletion src/main/resources/prop/gui.prop
Original file line number Diff line number Diff line change
@@ -137,7 +137,7 @@ pride.login.username.error.message = User name cannot be empty
pride.login.password.error.message = Password cannot be empty
pride.login.error.title = Login
pride.login.credentials.error.message = <b>Failed to login.<br><a href="http://www.ebi.ac.uk/pride/archive/users/forgotpassword">Reset your password?</a><p>Please register first if you don't have an account:<br><a href="http://www.ebi.ac.uk/pride/archive/register">Register a new PRIDE account</a>
pride.login.proxy.error.message=<p>Are you connected to the Internet via a proxy?<br><a href="http://www.ebi.ac.uk/pride/help/archive/faq#PX-proxy-settings">How to manually set the proxy details</a><p>Try checking out Twitter <a href="https://twitter.com/pride_ebi">@pride_ebi</a><br>or get in touch via email <a href="mailto:pride-support@ebi.ac.uk?Subject=Failed to login" target="_top">pride-support@ebi.ac.uk</a>
pride.login.proxy.error.message=<p>Are you connected to the Internet via a proxy?<br>You can manually update the proxy server details in config/config.props present in px-submission-tool folder<p>Try checking out Twitter <a href="https://twitter.com/pride_ebi">@pride_ebi</a><br>or get in touch via email <a href="mailto:pride-support@ebi.ac.uk?Subject=Failed to login" target="_top">pride-support@ebi.ac.uk</a>
pride.login.resubmission.error.message = Failed to login. Please ensure you have the correct user name and password.
pride.login.button.loading.small.icon = icon/16x16/loading.gif
pride.login.create.account.title = Register New User

0 comments on commit 57ee2d7

Please sign in to comment.