diff --git a/README.adoc b/README.adoc index 89690ed..152097c 100644 --- a/README.adoc +++ b/README.adoc @@ -6,6 +6,11 @@ image:https://img.shields.io/github/release/lifs-tools/jmzTab-m-webapp.svg["Late This project provides a validator implementation for the mzTab 1.0 standard and for the current draft 2.0 standard for metabolomics. +== Using the LIFS Web application + +The mzTab validator webapplication is hosted https://apps.lifs.isas.de/mztabvalidator[here]. +For programmatic usage of the validation service, the REST API description is available https://apps.lifs.isas.de/mztabvalidator/swagger-ui.html[here]. + == Building the project from the command-line In order to build the project and run the unit tests, execute the following command from a terminal: diff --git a/pom.xml b/pom.xml index ba39f1f..2ef4ea0 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 de.isas.mztab mztab-validator-webapp - 1.0.22-SNAPSHOT + 1.0.22 jar A web-based validator for mzTab format version 1.0 onwards. MzTab validator webapplication. diff --git a/src/main/java/de/isas/lipidomics/mztab/validator/webapp/controller/ValidationController.java b/src/main/java/de/isas/lipidomics/mztab/validator/webapp/controller/ValidationController.java index de6e9d6..b2ff55e 100644 --- a/src/main/java/de/isas/lipidomics/mztab/validator/webapp/controller/ValidationController.java +++ b/src/main/java/de/isas/lipidomics/mztab/validator/webapp/controller/ValidationController.java @@ -17,33 +17,30 @@ import de.isas.lipidomics.mztab.validator.webapp.ExampleFileConfig; import de.isas.lipidomics.mztab.validator.webapp.domain.AppInfo; -import de.isas.lipidomics.mztab.validator.webapp.domain.ValidationStatistics; import de.isas.lipidomics.mztab.validator.webapp.domain.Page; import de.isas.lipidomics.mztab.validator.webapp.domain.ToolResult; import de.isas.lipidomics.mztab.validator.webapp.domain.ToolResult.Keys; -import de.isas.lipidomics.mztab.validator.webapp.domain.ValidationForm; -import de.isas.lipidomics.mztab.validator.webapp.service.StorageService; -import de.isas.lipidomics.mztab.validator.webapp.service.ValidationService; -import de.isas.lipidomics.mztab.validator.webapp.service.storage.StorageFileNotFoundException; import de.isas.lipidomics.mztab.validator.webapp.domain.UserSessionFile; +import de.isas.lipidomics.mztab.validator.webapp.domain.ValidationForm; import de.isas.lipidomics.mztab.validator.webapp.domain.ValidationLevel; import de.isas.lipidomics.mztab.validator.webapp.domain.ValidationResult; +import de.isas.lipidomics.mztab.validator.webapp.domain.ValidationStatistics; import de.isas.lipidomics.mztab.validator.webapp.service.SessionIdGenerator; +import de.isas.lipidomics.mztab.validator.webapp.service.StorageService; import de.isas.lipidomics.mztab.validator.webapp.service.StorageService.SLOT; import de.isas.lipidomics.mztab.validator.webapp.service.ToolResultService; +import de.isas.lipidomics.mztab.validator.webapp.service.ValidationService; import de.isas.lipidomics.mztab.validator.webapp.service.ValidationService.Status; import de.isas.lipidomics.mztab.validator.webapp.service.storage.StorageException; -import java.io.File; +import de.isas.lipidomics.mztab.validator.webapp.service.storage.StorageFileNotFoundException; import java.io.FileNotFoundException; import java.io.IOException; -import java.nio.file.Path; import java.util.Collection; import java.util.Collections; import java.util.Date; import java.util.EnumMap; import java.util.List; import java.util.Map; -import java.util.Optional; import java.util.UUID; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; diff --git a/src/main/java/de/isas/lipidomics/mztab/validator/webapp/service/execution/DefaultToolResultService.java b/src/main/java/de/isas/lipidomics/mztab/validator/webapp/service/execution/DefaultToolResultService.java index 7ff580b..6470b37 100644 --- a/src/main/java/de/isas/lipidomics/mztab/validator/webapp/service/execution/DefaultToolResultService.java +++ b/src/main/java/de/isas/lipidomics/mztab/validator/webapp/service/execution/DefaultToolResultService.java @@ -29,7 +29,7 @@ @Service public class DefaultToolResultService implements ToolResultService { - private ConcurrentHashMap sessionToToolResultMap = new ConcurrentHashMap<>(); + private final ConcurrentHashMap sessionToToolResultMap = new ConcurrentHashMap<>(); @Override public ToolResult getOrCreateResultFor(UUID sessionId) { @@ -43,14 +43,7 @@ public ToolResult getOrCreateResultFor(UUID sessionId) { @Override public void addResultFor(UUID sessionId, ToolResult result) { -// if(sessionToToolResultMap.containsKey(sessionId)) { -// sessionToToolResultMap.get(sessionId).setException(result.getException()); -// sessionToToolResultMap.get(sessionId).setStatus(result.getStatus()); -// sessionToToolResultMap.get(sessionId).getMessages().addAll(result.getMessages()); -// sessionToToolResultMap.get(sessionId).getParameters().putAll(result.getParameters()); -// } else { sessionToToolResultMap.put(sessionId, result); -// } } @Override diff --git a/src/main/java/de/isas/mztab2/server/api/ValidateApi.java b/src/main/java/de/isas/mztab2/server/api/ValidateApi.java index 7683579..db5d1f3 100644 --- a/src/main/java/de/isas/mztab2/server/api/ValidateApi.java +++ b/src/main/java/de/isas/mztab2/server/api/ValidateApi.java @@ -39,7 +39,7 @@ @javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2018-01-11T19:50:29.849+01:00") -@Api(value = "validate", description = "the validate API") +@Api(value = "validate", description = "The validation API for mzTab-m documents in JSON or XML format.", tags = {"validate"}) @RequestMapping(path = "/rest/v2") public interface ValidateApi { diff --git a/src/main/java/de/isas/mztab2/server/api/ValidatePlainApi.java b/src/main/java/de/isas/mztab2/server/api/ValidatePlainApi.java index 6ddff25..c1c1aa4 100644 --- a/src/main/java/de/isas/mztab2/server/api/ValidatePlainApi.java +++ b/src/main/java/de/isas/mztab2/server/api/ValidatePlainApi.java @@ -34,7 +34,7 @@ @javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2018-01-11T19:50:29.849+01:00") -@Api(value = "validatePlain", description = "the validatePlain API") +@Api(value = "validatePlain", description = "The validation API for mzTab-m documents in plaintext / tsv format.", tags = {"validatePlain"}) @RequestMapping(path = "/rest/v2") public interface ValidatePlainApi { @@ -179,7 +179,8 @@ default Optional getStorageService() { method = RequestMethod.POST) default ResponseEntity> validatePlainMzTabFile( @ApiParam(value = "mzTab file that should be validated.", - required = true, examples = @Example({@ExampleProperty(mediaType = "text/plain", value=GCGCMS_EXAMPLE),@ExampleProperty(mediaType = "text/tab-separated-values", value=GCGCMS_EXAMPLE)})) @Valid @RequestBody String mztabfile, + required = true, + examples = @Example(value={@ExampleProperty(mediaType = "text/plain", value=GCGCMS_EXAMPLE),@ExampleProperty(mediaType = "text/tab-separated-values", value=GCGCMS_EXAMPLE)})) @Valid @RequestBody String mztabfile, @RequestParam( value = "The level of errors that should be reported, one of error, warn, info.", defaultValue = "info", diff --git a/src/main/java/io/swagger/configuration/SwaggerDocumentationConfig.java b/src/main/java/io/swagger/configuration/SwaggerDocumentationConfig.java index 674adbf..594fab1 100644 --- a/src/main/java/io/swagger/configuration/SwaggerDocumentationConfig.java +++ b/src/main/java/io/swagger/configuration/SwaggerDocumentationConfig.java @@ -19,12 +19,12 @@ public class SwaggerDocumentationConfig { ApiInfo apiInfo() { return new ApiInfoBuilder() .title("mzTab validation API.") - .description("This is an mzTab validation service.") + .description("This is the mzTab validation service.") .license("Apache 2.0") .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html") - .termsOfServiceUrl("") + .termsOfServiceUrl("https://lifs.isas.de/imprint-privacy-policy.html") .version("2.0.0") - .contact(new Contact("","", "nils.hoffmann@isas.de")) + .contact(new Contact("LIFS-Tools jmzTab-m-webapp","https://github.com/lifs-tools/jmzTab-m-webapp", "lifs-support@isas.de")) .build(); } diff --git a/src/main/resources/static/css/site.css b/src/main/resources/static/css/site.css index fff224f..7c6ff5d 100644 --- a/src/main/resources/static/css/site.css +++ b/src/main/resources/static/css/site.css @@ -18,4 +18,18 @@ .form-row { margin-bottom: 5px; } +/* +#metaDataRowsTable > tbody:nth-child(2) { + background-color: #ebf0f5; +} +#summaryDataRowsTable > tbody:nth-child(2) { + background-color: #ebf6ea; +} +#featureDataRowsTable > tbody:nth-child(2) { + background-color: #fff5e1; +} +#evidenceDataRowsTable > tbody:nth-child(2) { + background-color: #ffe9e1; +} +*/ \ No newline at end of file