Further adjustments to save memory
diff --git a/core/plugins/org.eclipse.hawk.graph/src/org/eclipse/hawk/graph/updater/GraphModelUpdater.java b/core/plugins/org.eclipse.hawk.graph/src/org/eclipse/hawk/graph/updater/GraphModelUpdater.java
index b0e9195..1a4cc43 100644
--- a/core/plugins/org.eclipse.hawk.graph/src/org/eclipse/hawk/graph/updater/GraphModelUpdater.java
+++ b/core/plugins/org.eclipse.hawk.graph/src/org/eclipse/hawk/graph/updater/GraphModelUpdater.java
@@ -21,7 +21,6 @@
import java.util.Collections;
import java.util.Date;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.Set;
import org.eclipse.hawk.core.IConsole;
@@ -54,7 +53,6 @@
protected IModelIndexer indexer;
protected IConsole console;
- protected TypeCache typeCache;
private boolean isActive = false;
protected Set<IGraphNode> toBeUpdated = new HashSet<>();
@@ -62,7 +60,6 @@
public void run(IConsole c, IModelIndexer hawk) throws Exception {
this.indexer = hawk;
this.console = c;
- this.typeCache = new TypeCache(hawk);
}
@Override
@@ -179,9 +176,6 @@
long end = System.currentTimeMillis();
console.println((end - start) / 1000 + "s" + (end - start) % 1000
+ "ms [proxy update]");
-
- // Clear the type cache by creating a new one and letting the old one be GC'ed
- typeCache = new TypeCache(indexer);
}
public boolean isActive() {
@@ -353,7 +347,7 @@
}
public GraphModelInserter createInserter() {
- return new GraphModelInserter(indexer, this::createDeletionUtils, typeCache);
+ return new GraphModelInserter(indexer, this::createDeletionUtils, new TypeCache(this.indexer));
}
protected DeletionUtils createDeletionUtils() {
diff --git a/core/plugins/org.eclipse.hawk.timeaware/src/org/eclipse/hawk/timeaware/graph/TimeAwareModelUpdater.java b/core/plugins/org.eclipse.hawk.timeaware/src/org/eclipse/hawk/timeaware/graph/TimeAwareModelUpdater.java
index e74007e..ca3d785 100644
--- a/core/plugins/org.eclipse.hawk.timeaware/src/org/eclipse/hawk/timeaware/graph/TimeAwareModelUpdater.java
+++ b/core/plugins/org.eclipse.hawk.timeaware/src/org/eclipse/hawk/timeaware/graph/TimeAwareModelUpdater.java
@@ -22,6 +22,7 @@
import org.eclipse.hawk.graph.updater.DeletionUtils;
import org.eclipse.hawk.graph.updater.GraphModelInserter;
import org.eclipse.hawk.graph.updater.GraphModelUpdater;
+import org.eclipse.hawk.graph.updater.TypeCache;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -72,7 +73,7 @@
@Override
public GraphModelInserter createInserter() {
- return new GraphModelInserter(indexer, this::createDeletionUtils, typeCache) {
+ return new GraphModelInserter(indexer, this::createDeletionUtils, new TypeCache(this.indexer)) {
@Override
protected double calculateModelDeltaRatio(IGraphNode fileNode, boolean verbose) throws Exception {
super.calculateModelDeltaRatio(fileNode, verbose);
diff --git a/core/tests/org.eclipse.hawk.timeaware.tests/src/org/eclipse/hawk/timeaware/tests/GitNodeHistoryTest.java b/core/tests/org.eclipse.hawk.timeaware.tests/src/org/eclipse/hawk/timeaware/tests/GitNodeHistoryTest.java
index 5d58b33..ddd4762 100644
--- a/core/tests/org.eclipse.hawk.timeaware.tests/src/org/eclipse/hawk/timeaware/tests/GitNodeHistoryTest.java
+++ b/core/tests/org.eclipse.hawk.timeaware.tests/src/org/eclipse/hawk/timeaware/tests/GitNodeHistoryTest.java
@@ -36,7 +36,7 @@
import org.junit.runners.Parameterized.Parameters;
/**
- * Tests for the time-aware indexing of model element nodes, using Subversion.
+ * Tests for the time-aware indexing of model element nodes, using Git.
*/
@RunWith(Parameterized.class)
public class GitNodeHistoryTest extends AbstractTimeAwareModelIndexingTest {
diff --git a/greycat/org.eclipse.hawk.greycat/src/org/eclipse/hawk/greycat/GreycatHeavyEdge.java b/greycat/org.eclipse.hawk.greycat/src/org/eclipse/hawk/greycat/GreycatHeavyEdge.java
index 9417d49..853c028 100644
--- a/greycat/org.eclipse.hawk.greycat/src/org/eclipse/hawk/greycat/GreycatHeavyEdge.java
+++ b/greycat/org.eclipse.hawk.greycat/src/org/eclipse/hawk/greycat/GreycatHeavyEdge.java
@@ -154,7 +154,9 @@
final Node target = targets[0];
final GreycatNode newNode = node.getGraph().lookup(
target.world(), target.time(), target.id());
- target.free();
+ for (Node t : targets) {
+ t.free();
+ }
result.complete(newNode);
});
diff --git a/greycat/org.eclipse.hawk.greycat/src/org/eclipse/hawk/greycat/GreycatNode.java b/greycat/org.eclipse.hawk.greycat/src/org/eclipse/hawk/greycat/GreycatNode.java
index 14656b6..b7909fc 100644
--- a/greycat/org.eclipse.hawk.greycat/src/org/eclipse/hawk/greycat/GreycatNode.java
+++ b/greycat/org.eclipse.hawk.greycat/src/org/eclipse/hawk/greycat/GreycatNode.java
@@ -244,7 +244,6 @@
this.id = id;
this.nodeProvider = new NodeProvider(db.getGraph(), node);
- this.nodeProvider.markDirty();
}
@Override