Skip to content

Commit 5f924a8

Browse files
Merge pull request #36 from OwnYourData/bugfix_numeric_generalization
Comparison for numeric generation adapted
2 parents bbfb2e8 + 0f7f1ca commit 5f924a8

3 files changed

Lines changed: 6 additions & 7 deletions

File tree

src/main/java/com/example/anonymization/service/AnonymizationService.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ public static ResponseEntity<String> applyAnonymization(AnonymizationJsonLDReque
4545
public static ResponseEntity<String> applyAnonymizationFlatJson(
4646
AnonymizationFlatJsonRequestDto request
4747
) throws JsonProcessingException {
48-
Map<Property, Configuration> configs = ConfigurationService.fetchFlatConfig(request.getConfigurationUrl());
4948
Model model = ModelFactory.createDefaultModel();
5049
FaltJsonService.addDataToFlatModel(model, request.getData(), request.getPrefix());
5150
Map<Resource, Map<Property, Configuration>> anonymizationObjects =
@@ -55,7 +54,7 @@ public static ResponseEntity<String> applyAnonymizationFlatJson(
5554
);
5655
String out = FaltJsonService.createFlatJsonOutput(
5756
model,
58-
configs,
57+
ConfigurationService.createFlatConfig(anonymizationObjects),
5958
anonymizationObjects.keySet(),
6059
request.getPrefix()
6160
);

src/main/java/com/example/anonymization/service/ConfigurationService.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,12 @@ public static Map<Resource, Map<Property, Configuration>> fetchConfigForObjects(
4040
}
4141

4242
/**
43-
* Fetches the configuration from the given URL and extracts it into a flat map.
44-
* @param url The URL to fetch the configuration from.
43+
* Creates a flat configuration from anonymization objects
44+
* @param configs The map of anonymization objects to their configurations
4545
* @return A flat map where the key is the Property and the value is its Configuration.
4646
*/
4747
@NotNull
48-
public static Map<Property, Configuration> fetchFlatConfig(String url) {
49-
Map<Resource, Map<Property, Configuration>> configs = fetchConfigForObjects(url);
48+
public static Map<Property, Configuration> createFlatConfig(Map<Resource, Map<Property, Configuration>> configs) {
5049
Map<Property, Configuration> flatConfig = new HashMap<>();
5150
for (Map<Property, Configuration> configMap : configs.values()) {
5251
for (Map.Entry<Property, Configuration> entry : configMap.entrySet()) {

src/main/java/com/example/anonymization/service/anonymizer/GeneralizationNumeric.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import org.apache.jena.atlas.lib.Pair;
55
import org.apache.jena.rdf.model.*;
66

7+
import java.util.Comparator;
78
import java.util.List;
89
import java.util.Map;
910

@@ -25,7 +26,7 @@ protected List<Pair<Resource, Double>> getSortedValues(Map<Resource, RDFNode> da
2526
try {
2627
return data.entrySet().stream()
2728
.map(e -> new Pair<>(e.getKey(), e.getValue().asLiteral().getDouble()))
28-
.sorted((e1, e2) -> (int) (e1.getRight() - e2.getRight()))
29+
.sorted(Comparator.comparingDouble(Pair::getRight))
2930
.toList();
3031
} catch (Exception e) {
3132
throw new IllegalArgumentException("Error while parsing numeric values for generalization.", e);

0 commit comments

Comments
 (0)