diff --git a/src/main/java/fr/inra/oresing/checker/ReferenceLineCheckerDisplay.java b/src/main/java/fr/inra/oresing/checker/ReferenceLineCheckerDisplay.java index dfc37562218281444a27f609da8f62569806334f..59f740ce0382d1e0bf0b018f6d901c7230f2f36a 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 cb80dc4eb114dd8005b207dec09b1c489cf2bccb..e7a8c814c8d3972dc21833ac2d93478811d5a57c 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;