diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java similarity index 88% rename from trainbenchmark/trainbenchmark-tool-jastadd-namelookup-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java index ee595c277943eb8beee61a7438802b63eff7a7ed..94ccaeb7daba675880d3beef14f970ac34a543b8 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java @@ -6,21 +6,14 @@ import de.tudresden.inf.st.train.jastadd.driver.deserializer.JsonDeserializer; import hu.bme.mit.trainbenchmark.benchmark.driver.Driver; import java.io.File; -import java.io.IOException; public class JastaddDriver extends Driver { - RailwayContainer root; - - private int idCounter = 0; - - public boolean flushCaches() { - return flushCaches; - } - private final boolean flushCaches; private final ASTState.Trace.Receiver receiver; + private RailwayContainer root; + private int idCounter = 0; public JastaddDriver(boolean flushCaches, ASTState.Trace.Receiver receiver) { super(); @@ -42,10 +35,12 @@ public class JastaddDriver extends Driver { } @Override - public void read(final String modelPath) throws IOException { + public void read(final String modelPath) { File modelFile = new File(modelPath); + new RailwayContainer().state().enterConstruction(); root = JsonDeserializer.read(modelFile); + root.state().exitConstruction(); // enable tracing if there is a receiver if (receiver != null) { diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java new file mode 100644 index 0000000000000000000000000000000000000000..2074523858bd78db4e379c494662623fa5ea99ab --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java @@ -0,0 +1,59 @@ +package de.tudresden.inf.st.train.jastadd.driver; + +import de.tudresden.inf.st.train.jastadd.ast.ASTState; +import de.tudresden.inf.st.train.jastadd.ast.RailwayContainer; +import de.tudresden.inf.st.train.jastadd.driver.deserializer.JsonDeserializer; +import hu.bme.mit.trainbenchmark.benchmark.driver.Driver; + +import java.io.File; + + +public class JastaddDriver extends Driver { + + private final boolean flushCaches; + private final ASTState.Trace.Receiver receiver; + private RailwayContainer root; + private int idCounter = 0; + + public JastaddDriver(boolean flushCaches, ASTState.Trace.Receiver receiver) { + super(); + this.flushCaches = flushCaches; + this.receiver = receiver; + } + + public static JastaddDriver create(boolean flushCaches, ASTState.Trace.Receiver receiver) { + return new JastaddDriver(flushCaches, receiver); + } + + public int nextId() { + idCounter--; + return idCounter; + } + + public RailwayContainer getModel() { + return root; + } + + @Override + public void read(final String modelPath) { + + File modelFile = new File(modelPath); + root = JsonDeserializer.read(modelFile); + + // enable tracing if there is a receiver + if (receiver != null) { + getModel().trace().setReceiver(receiver); + } + } + + @Override + public String getPostfix() { + return "-jastadd-manual.json"; + } + + public void flushCache() { + if (flushCaches) { + getModel().flushTreeCache(); + } + } +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java index 302490b8f46336fadfe3337e61c0ac8fa4f8c62d..6e7871d360456bd57503d74b5091c2508b9e9a83 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java @@ -6,15 +6,15 @@ import de.tudresden.inf.st.train.jastadd.driver.deserializer.JsonDeserializer; import hu.bme.mit.trainbenchmark.benchmark.driver.Driver; import java.io.File; -import java.io.IOException; public class JastaddDriver extends Driver { private final boolean flushCaches; private final ASTState.Trace.Receiver receiver; - RailwayContainer root; + private RailwayContainer root; private int idCounter = 0; + public JastaddDriver(boolean flushCaches, ASTState.Trace.Receiver receiver) { super(); this.flushCaches = flushCaches; @@ -25,10 +25,6 @@ public class JastaddDriver extends Driver { return new JastaddDriver(flushCaches, receiver); } - public boolean flushCaches() { - return flushCaches; - } - public int nextId() { idCounter--; return idCounter; @@ -39,10 +35,12 @@ public class JastaddDriver extends Driver { } @Override - public void read(final String modelPath) throws IOException { + public void read(final String modelPath) { File modelFile = new File(modelPath); + new RailwayContainer().state().enterConstruction(); root = JsonDeserializer.read(modelFile); + root.state().exitConstruction(); // enable tracing if there is a receiver if (receiver != null) { diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java new file mode 100644 index 0000000000000000000000000000000000000000..94ccaeb7daba675880d3beef14f970ac34a543b8 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java @@ -0,0 +1,61 @@ +package de.tudresden.inf.st.train.jastadd.driver; + +import de.tudresden.inf.st.train.jastadd.ast.ASTState; +import de.tudresden.inf.st.train.jastadd.ast.RailwayContainer; +import de.tudresden.inf.st.train.jastadd.driver.deserializer.JsonDeserializer; +import hu.bme.mit.trainbenchmark.benchmark.driver.Driver; + +import java.io.File; + + +public class JastaddDriver extends Driver { + + private final boolean flushCaches; + private final ASTState.Trace.Receiver receiver; + private RailwayContainer root; + private int idCounter = 0; + + public JastaddDriver(boolean flushCaches, ASTState.Trace.Receiver receiver) { + super(); + this.flushCaches = flushCaches; + this.receiver = receiver; + } + + public static JastaddDriver create(boolean flushCaches, ASTState.Trace.Receiver receiver) { + return new JastaddDriver(flushCaches, receiver); + } + + public int nextId() { + idCounter--; + return idCounter; + } + + public RailwayContainer getModel() { + return root; + } + + @Override + public void read(final String modelPath) { + + File modelFile = new File(modelPath); + new RailwayContainer().state().enterConstruction(); + root = JsonDeserializer.read(modelFile); + root.state().exitConstruction(); + + // enable tracing if there is a receiver + if (receiver != null) { + getModel().trace().setReceiver(receiver); + } + } + + @Override + public String getPostfix() { + return "-jastadd-manual.json"; + } + + public void flushCache() { + if (flushCaches) { + getModel().flushTreeCache(); + } + } +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java rename to trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java index 668f03e495b5c09bb5103702068208d3af1ae55e..eeee13f0d65b673475891791ad1565900f5061d7 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java @@ -3,8 +3,6 @@ package de.tudresden.inf.st.train.jastadd.driver; import de.tudresden.inf.st.train.jastadd.ast.ASTState; import de.tudresden.inf.st.train.jastadd.ast.DeserializationException; import de.tudresden.inf.st.train.jastadd.ast.RailwayContainer; -import de.tudresden.inf.st.train.jastadd.ast.SerializationException; -import de.tudresden.inf.st.train.jastadd.driver.deserializer.JsonDeserializer; import hu.bme.mit.trainbenchmark.benchmark.driver.Driver; import java.io.File; @@ -13,16 +11,10 @@ import java.io.IOException; public class JastaddDriver extends Driver { - RailwayContainer root; - - private int idCounter = 0; - - public boolean flushCaches() { - return flushCaches; - } - private final boolean flushCaches; private final ASTState.Trace.Receiver receiver; + private RailwayContainer root; + private int idCounter = 0; public JastaddDriver(boolean flushCaches, ASTState.Trace.Receiver receiver) { super(); @@ -48,7 +40,9 @@ public class JastaddDriver extends Driver { File modelFile = new File(modelPath); try { + new RailwayContainer().state().enterConstruction(); root = RailwayContainer.deserialize(modelFile); + root.state().exitConstruction(); } catch (DeserializationException e) { throw new IOException(e); }