From e64b9ca4bef3f9c6148569b6365362c1aa08c04b Mon Sep 17 00:00:00 2001 From: TCHERNIATINSKY <philippe.tcherniatinsky@inrae.fr> Date: Mon, 11 Apr 2022 14:14:34 +0200 Subject: [PATCH] #34 --- .../checker/ReferenceLineCheckerDisplay.java | 5 +++++ .../java/fr/inra/oresing/rest/OreSiResources.java | 14 ++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/main/java/fr/inra/oresing/checker/ReferenceLineCheckerDisplay.java b/src/main/java/fr/inra/oresing/checker/ReferenceLineCheckerDisplay.java index dfc375622..59f740ce0 100644 --- a/src/main/java/fr/inra/oresing/checker/ReferenceLineCheckerDisplay.java +++ b/src/main/java/fr/inra/oresing/checker/ReferenceLineCheckerDisplay.java @@ -13,6 +13,11 @@ public class ReferenceLineCheckerDisplay implements LineChecker { ReferenceLineChecker referenceLineChecker; ReferenceValue referenceValues; + public ReferenceLineCheckerDisplay(ReferenceLineChecker referenceLineChecker, ReferenceValue referenceValues) { + this.referenceLineChecker = referenceLineChecker; + this.referenceValues = referenceValues; + } + @Override public ValidationCheckResult check(Datum values) { return null; diff --git a/src/main/java/fr/inra/oresing/rest/OreSiResources.java b/src/main/java/fr/inra/oresing/rest/OreSiResources.java index cb80dc4eb..e7a8c814c 100644 --- a/src/main/java/fr/inra/oresing/rest/OreSiResources.java +++ b/src/main/java/fr/inra/oresing/rest/OreSiResources.java @@ -92,7 +92,7 @@ public class OreSiResources { } @PostMapping(value = "/applications/{name}", produces = MediaType.APPLICATION_JSON_VALUE) - public ResponseEntity<?> createApplication(@PathVariable("name") String name, @RequestParam(name = "comment",defaultValue = "") String comment, + public ResponseEntity<?> createApplication(@PathVariable("name") String name, @RequestParam(name = "comment", defaultValue = "") String comment, @RequestParam("file") MultipartFile file) throws IOException, BadApplicationConfigurationException { if (INVALID_APPLICATION_NAME_PREDICATE.test(name)) { return ResponseEntity.badRequest().body("'" + name + "' n’est pas un nom d'application valide, seules les lettres minuscules sont acceptées"); @@ -298,11 +298,13 @@ public class OreSiResources { ReferenceLineChecker referenceLineChecker = (ReferenceLineChecker) referenceCheckersByVariableComponentKey.getValue(); for (Map.Entry<Ltree, UUID> ltreeUUIDEntry : referenceLineChecker.getReferenceValues().entrySet()) { - final ReferenceValue referenceValue = requiredreferencesValues.getOrDefault(ltreeUUIDEntry.getKey(), List.of()) + final ReferenceValue referenceValue = requiredreferencesValues.getOrDefault(ltreeUUIDEntry.getKey(), List.of()) .stream() .findFirst().orElse(null); - checkedFormatVariableComponents.get(ReferenceLineChecker.class.getSimpleName()) - .put(variableComponentKey, new ReferenceLineCheckerDisplay(referenceLineChecker, referenceValue)); + if (referenceValue != null) { + checkedFormatVariableComponents.get(ReferenceLineChecker.class.getSimpleName()) + .put(variableComponentKey, new ReferenceLineCheckerDisplay(referenceLineChecker, referenceValue)); + } } } return ResponseEntity.ok(new GetDataResult(variables, list, totalRows, checkedFormatVariableComponents)); @@ -361,7 +363,7 @@ public class OreSiResources { private FileOrUUID deserialiseFileOrUUIDQuery(String datatype, String params) { try { - FileOrUUID fileOrUUID = params != null && params !="undefined" ? new ObjectMapper().readValue(params, FileOrUUID.class) : null; + FileOrUUID fileOrUUID = params != null && params != "undefined" ? new ObjectMapper().readValue(params, FileOrUUID.class) : null; Optional<BinaryFileDataset> binaryFileDatasetOpt = Optional.ofNullable(fileOrUUID) .map(fileOrUUID1 -> fileOrUUID.binaryfiledataset); if ( @@ -380,7 +382,7 @@ public class OreSiResources { try { BinaryFileDataset binaryFileDataset = params != null ? new ObjectMapper().readValue(params, BinaryFileDataset.class) : null; Optional<BinaryFileDataset> binaryFileDatasetOpt = Optional.ofNullable(binaryFileDataset); - if (binaryFileDatasetOpt.map(binaryFileDataset1 -> binaryFileDataset1.getDatatype()).isEmpty()) { + if (binaryFileDatasetOpt.map(binaryFileDataset1 -> binaryFileDataset1.getDatatype()).isEmpty()) { binaryFileDatasetOpt.ifPresent(binaryFileDataset1 -> binaryFileDataset1.setDatatype(datatype)); } return binaryFileDataset; -- GitLab