diff --git a/solve/build.gradle b/solve/build.gradle index 453bc94084d8bab418368d1226eac20bb459a5b0..ee359bd29b2f25e963b1da7223a364a8623118d4 100644 --- a/solve/build.gradle +++ b/solve/build.gradle @@ -47,7 +47,7 @@ task jastadd(type: JavaExec) { "libs/jastadd2.jar", "--debug", "--cache=all", - "--flush=full", + "--flush=api", "--rewrite=cnta", "--incremental=param,debug", "--package=de.tudresden.inf.st.ttc18live.jastadd.model", @@ -85,4 +85,4 @@ jastadd.outputs.upToDateWhen {false} jar.enabled = false distTar.enabled = false distZip.enabled=false // always disabled -packageSources.enabled = false +packageSources.enabled=false // always disabled diff --git a/solve/libs/jastadd2.jar b/solve/libs/jastadd2.jar index 6d774ba8ebfc5e9189e1feae9d9e8ac04cf723f9..09255c49ed78adddd355733ddb944c9b3586725a 100644 Binary files a/solve/libs/jastadd2.jar and b/solve/libs/jastadd2.jar differ diff --git a/solve/src/main/java/de/tudresden/inf/st/ttc18live/AbstractLiveContestDriver.java b/solve/src/main/java/de/tudresden/inf/st/ttc18live/AbstractLiveContestDriver.java index 5030b6afc2383cdbd3ec26e0dc331bc6c0278f6a..1be491d06c5a33a84176b1f82d9723c4f7e44343 100644 --- a/solve/src/main/java/de/tudresden/inf/st/ttc18live/AbstractLiveContestDriver.java +++ b/solve/src/main/java/de/tudresden/inf/st/ttc18live/AbstractLiveContestDriver.java @@ -28,6 +28,12 @@ public abstract class AbstractLiveContestDriver { private boolean traceEvents; private Path pathOfEventFile; + AbstractLiveContestDriver() { + ChangeSet = System.getenv("ChangeSet"); + ChangePath = System.getenv("ChangePath"); + Query = System.getenv("Query").toUpperCase(); + } + AbstractLiveContestDriver enableTracing(Path pathOfEventFile) { this.pathOfEventFile = pathOfEventFile; this.traceEvents = true; @@ -82,12 +88,9 @@ public abstract class AbstractLiveContestDriver { private void Initialize() throws Exception { stopwatch = System.nanoTime(); - ChangePath = System.getenv("ChangePath"); RunIndex = System.getenv("RunIndex"); Sequences = Integer.parseInt(System.getenv("Sequences")); Tool = System.getenv("Tool"); - ChangeSet = System.getenv("ChangeSet"); - Query = System.getenv("Query").toUpperCase(); InitializeSpecial(); diff --git a/solve/src/main/java/de/tudresden/inf/st/ttc18live/Main.java b/solve/src/main/java/de/tudresden/inf/st/ttc18live/Main.java index 5e3a801c94c2c41b59ffb604810ccd8c1fa7e03f..74c7bec791aa5cae032557de36ed74129e21338b 100644 --- a/solve/src/main/java/de/tudresden/inf/st/ttc18live/Main.java +++ b/solve/src/main/java/de/tudresden/inf/st/ttc18live/Main.java @@ -162,22 +162,22 @@ public class Main { modelChangeSet.getNumModelChange(), socialNetwork.isValid()); // // flush to get ids correct after parsing -// socialNetwork.flushTreeCache(); + socialNetwork.flushTreeCache(); if (splitApply) { // copy code of modelChangeSet.apply for (ModelChange change : modelChangeSet.getModelChangeList()) { change.apply(); // flush to update for changes -// modelChangeSet.flushTreeCache(); -// socialNetwork.flushTreeCache(); + modelChangeSet.flushTreeCache(); + socialNetwork.flushTreeCache(); // and validate socialNetwork.isValid(); } } else { modelChangeSet.apply(); // flush to update for changes -// socialNetwork.flushTreeCache(); + socialNetwork.flushTreeCache(); } logger.info("Validity after application of changes: {}", socialNetwork.isValid()); diff --git a/solve/src/main/java/de/tudresden/inf/st/ttc18live/Solution.java b/solve/src/main/java/de/tudresden/inf/st/ttc18live/Solution.java index 8fcbc7ee7b2dd70bb2ca6175251988ed0ab135bc..ceb14dc3628868d429ebf62acd901aeb49b9b361 100644 --- a/solve/src/main/java/de/tudresden/inf/st/ttc18live/Solution.java +++ b/solve/src/main/java/de/tudresden/inf/st/ttc18live/Solution.java @@ -16,6 +16,11 @@ public abstract class Solution { socialNetwork = network; } + void apply(ModelChangeSet changes) { + changes.apply(); + socialNetwork.flushTreeCache(); + } + public abstract String Initial(); public abstract String Update(ModelChangeSet changes); diff --git a/solve/src/main/java/de/tudresden/inf/st/ttc18live/SolutionQ1.java b/solve/src/main/java/de/tudresden/inf/st/ttc18live/SolutionQ1.java index adbf82cf4ebe75b788c57fc2b0575dc04c3b9a9c..5290a1cfd3d0b33130fa334936774d6c93a8c2f1 100644 --- a/solve/src/main/java/de/tudresden/inf/st/ttc18live/SolutionQ1.java +++ b/solve/src/main/java/de/tudresden/inf/st/ttc18live/SolutionQ1.java @@ -13,7 +13,7 @@ public class SolutionQ1 extends Solution { @Override public String Update(ModelChangeSet changes) { - changes.apply(); + apply(changes); return this.getSocialNetwork().query1(); } diff --git a/solve/src/main/java/de/tudresden/inf/st/ttc18live/SolutionQ2.java b/solve/src/main/java/de/tudresden/inf/st/ttc18live/SolutionQ2.java index 10c1db54714190451b1204b196070c3ef852f425..9ad4ff3fd6cec791ea20ec385a9369a855695e58 100644 --- a/solve/src/main/java/de/tudresden/inf/st/ttc18live/SolutionQ2.java +++ b/solve/src/main/java/de/tudresden/inf/st/ttc18live/SolutionQ2.java @@ -11,7 +11,7 @@ public class SolutionQ2 extends Solution { @Override public String Update(ModelChangeSet changes) { - changes.apply(); + apply(changes); return getSocialNetwork().query2(); }