Skip to content

Commit

Permalink
Fixer: federation needs to be written out
Browse files Browse the repository at this point in the history
  • Loading branch information
JervenBolleman committed Sep 30, 2024
1 parent 4f55ef6 commit 7d98ea9
Showing 1 changed file with 17 additions and 10 deletions.
27 changes: 17 additions & 10 deletions src/main/java/swiss/sib/rdf/sparql/examples/Fixer.java
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public Integer call() {
}
return 0;
}

public record Fixed(boolean changed, String fixed, String original, Set<String> servicePartners) {
public Fixed(boolean changed, String fixed, String original) {
this(changed, fixed, original, null);
Expand Down Expand Up @@ -191,20 +191,27 @@ static void fix(IRI queryIri, Value query, Path file, Model model, Map<String, S
writeFixedModel(file, model);
return;
}
if (!fixedPrefixes.changed() || !fixBlz.changed()) {
System.out.println("No change to:" + file);
}
boolean serviceWithChanged = false;
Fixed fixFederatedWith = Federation.fix(fixBlz, queryIriStr);
if (fixFederatedWith.servicePartners() != null && !fixFederatedWith.servicePartners().isEmpty()
&& !model.filter(queryIri, SIB.FEDERATES_WITH, null).isEmpty()) {
boolean removed = model.remove(queryIri, SIB.FEDERATES_WITH, null);
for (String fedWith:fixFederatedWith.servicePartners()) {
model.add(queryIri, SIB.FEDERATES_WITH, VF.createIRI(fedWith));
if (fixFederatedWith.servicePartners() != null && !fixFederatedWith.servicePartners().isEmpty()) {
Model filter = model.filter(queryIri, SIB.FEDERATES_WITH, null);
if (filter.size() > fixFederatedWith.servicePartners().size()) {
model.remove(queryIri, SIB.FEDERATES_WITH, null);
}
if (removed) {
boolean present = true;
for (String fedWith : fixFederatedWith.servicePartners()) {
if (model.add(queryIri, SIB.FEDERATES_WITH, VF.createIRI(fedWith))) {
present = false;
}
}
if (!present) {
writeFixedModel(file, model);
serviceWithChanged = true;
}
}
if (!fixedPrefixes.changed() && !fixBlz.changed() && !serviceWithChanged) {
System.out.println("No change to:" + file);
}
}

private static void writeFixedModel(Path file, Model model) {
Expand Down

0 comments on commit 7d98ea9

Please sign in to comment.