Skip to content
Snippets Groups Projects
Commit 171b0e23 authored by Philippe Tcherniatinsky's avatar Philippe Tcherniatinsky
Browse files

dans #4

Corrigé la lecture du groovy et sa verification
- le groovy a été modifié
- il reste des erreurs non liées à cette anomalie
parent 7351863b
No related branches found
Tags 2.10.0.0
3 merge requests!10Refactoring services,!7Verticalisation des patterns,!6Resolve "Pb publi fichier avec message d'erreur non affiché"
Pipeline #283670 waiting for manual action
...@@ -3,6 +3,7 @@ package fr.inra.oresing.domain.data; ...@@ -3,6 +3,7 @@ package fr.inra.oresing.domain.data;
import fr.inra.oresing.domain.application.configuration.Ltree; import fr.inra.oresing.domain.application.configuration.Ltree;
import fr.inra.oresing.domain.checker.type.*; import fr.inra.oresing.domain.checker.type.*;
import fr.inra.oresing.domain.data.deposit.context.DataImporterContext; import fr.inra.oresing.domain.data.deposit.context.DataImporterContext;
import fr.inra.oresing.domain.data.deposit.context.column.Column;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -29,7 +30,7 @@ public record DataColumnPatternValue( ...@@ -29,7 +30,7 @@ public record DataColumnPatternValue(
@Override @Override
public DataColumnPatternValue transform(final Function<FieldType, FieldType> transformation) { public DataColumnPatternValue transform(final Function<FieldType, FieldType> transformation) {
transformation.apply(values().get(new DataColumn(Column.__VALUE__)).getValuesToCheck());
final Map<Ltree, String> transformedValues = null;//Maps.transformValues(values, transformation::apply); final Map<Ltree, String> transformedValues = null;//Maps.transformValues(values, transformation::apply);
return new DataColumnPatternValue((FieldType) null); return new DataColumnPatternValue((FieldType) null);
} }
...@@ -68,4 +69,16 @@ public record DataColumnPatternValue( ...@@ -68,4 +69,16 @@ public record DataColumnPatternValue(
public void put(DataColumn secondPatternOfColumn, DataColumnValue valueToStoreInDatabase) { public void put(DataColumn secondPatternOfColumn, DataColumnValue valueToStoreInDatabase) {
values().put(secondPatternOfColumn, valueToStoreInDatabase); values().put(secondPatternOfColumn, valueToStoreInDatabase);
} }
public Map<String, Object> toObjectsExposedInGroovyContext() {
Map<String, Object> result = new HashMap<>();
for (Map.Entry<DataColumn, DataColumnValue> dataColumnDataColumnValueEntry : values.entrySet()) {
final Object valueThatMayBeNull = Optional.ofNullable(dataColumnDataColumnValueEntry.getValue())
.map(SomethingToBeStoredAsJsonInDatabase::toJsonForDatabase)
.map(Object::toString)
.orElse(null);
result.put(dataColumnDataColumnValueEntry.getKey().toJsonForDatabase(), valueThatMayBeNull);
}
return result;
}
} }
\ No newline at end of file
...@@ -122,11 +122,15 @@ public class DataDatum implements SomethingThatCanProvideEvaluationContext, Some ...@@ -122,11 +122,15 @@ public class DataDatum implements SomethingThatCanProvideEvaluationContext, Some
public ImmutableMap<String, Object> toObjectsExposedInGroovyContext() { public ImmutableMap<String, Object> toObjectsExposedInGroovyContext() {
final Map<String, Object> map = new LinkedHashMap<>(); final Map<String, Object> map = new LinkedHashMap<>();
for (final Map.Entry<DataColumn, DataColumnValue> entry : values.entrySet()) { for (final Map.Entry<DataColumn, DataColumnValue> entry : values.entrySet()) {
final Object valueThatMayBeNull = Optional.ofNullable(entry.getValue()) if (entry.getValue() instanceof DataColumnPatternValue patternValue) {
.map(SomethingToBeStoredAsJsonInDatabase::toJsonForDatabase) map.put(entry.getKey().toJsonForDatabase(), patternValue.toObjectsExposedInGroovyContext());
.map(Object::toString) } else {
.orElse(null); final Object valueThatMayBeNull = Optional.ofNullable(entry.getValue())
map.put(entry.getKey().toJsonForDatabase(), valueThatMayBeNull); .map(SomethingToBeStoredAsJsonInDatabase::toJsonForDatabase)
.map(Object::toString)
.orElse(null);
map.put(entry.getKey().toJsonForDatabase(), valueThatMayBeNull);
}
} }
return ImmutableMap.copyOf(map); return ImmutableMap.copyOf(map);
} }
......
...@@ -9,6 +9,7 @@ import fr.inra.oresing.domain.checker.type.StringType; ...@@ -9,6 +9,7 @@ import fr.inra.oresing.domain.checker.type.StringType;
import fr.inra.oresing.domain.data.deposit.context.column.Column; import fr.inra.oresing.domain.data.deposit.context.column.Column;
import java.util.Map; import java.util.Map;
import java.util.Optional;
public record GroovyValidationCheckResult( public record GroovyValidationCheckResult(
ValidationLevel level, ValidationLevel level,
...@@ -20,7 +21,12 @@ public record GroovyValidationCheckResult( ...@@ -20,7 +21,12 @@ public record GroovyValidationCheckResult(
public static GroovyValidationCheckResult success(final CheckerTarget target, final FieldType value) { public static GroovyValidationCheckResult success(final CheckerTarget target, final FieldType value) {
if (value instanceof PatternType patternType) { if (value instanceof PatternType patternType) {
StringType stringTypeValue = (StringType) patternType.getValue().get(Column.__VALUE__); StringType stringTypeValue = Optional.ofNullable(patternType)
.map(PatternType::getValue)
.map(values -> values.get(Column.__VALUE__))
.map(Object::toString)
.map(StringType::getStringTypeFromStringValue)
.orElse(StringType.getStringTypeFromStringValue(""));
return new GroovyValidationCheckResult(ValidationLevel.SUCCESS, null, null, target, stringTypeValue); return new GroovyValidationCheckResult(ValidationLevel.SUCCESS, null, null, target, stringTypeValue);
} }
return new GroovyValidationCheckResult(ValidationLevel.SUCCESS, null, null, target, (StringType) value.copy()); return new GroovyValidationCheckResult(ValidationLevel.SUCCESS, null, null, target, (StringType) value.copy());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment