]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling/src/org/simantics/modeling/ModelingUtils.java
Maintain info about changed resources in virtual graph
[simantics/platform.git] / bundles / org.simantics.modeling / src / org / simantics / modeling / ModelingUtils.java
index ea960c1d0de2fe97dfae468331b0521f69219ccd..4a4d97a18a2b254f0be58c2a928483dcecd234c6 100644 (file)
@@ -67,6 +67,7 @@ import org.simantics.db.RequestProcessor;
 import org.simantics.db.Resource;
 import org.simantics.db.Session;
 import org.simantics.db.Statement;
+import org.simantics.db.VirtualGraph;
 import org.simantics.db.WriteGraph;
 import org.simantics.db.common.Indexing;
 import org.simantics.db.common.NamedResource;
@@ -2464,4 +2465,16 @@ public class ModelingUtils {
         return DiagramGraphUtil.getModelingRules(graph, diagramResource, null);
     }
 
+    public static void markChanged(WriteGraph graph, Resource r) throws DatabaseException {
+        VirtualGraphSupport support = Simantics.getSession().getService(VirtualGraphSupport.class);
+        VirtualGraph vg = support.getWorkspacePersistent("changeInformation");
+        graph.syncRequest(new WriteRequest(vg) {
+            @Override
+            public void perform(WriteGraph graph) throws DatabaseException {
+                ModelingResources MOD = ModelingResources.getInstance(graph);
+                graph.claim(r, MOD.changed, MOD.changed, r);
+            }
+        });
+    }
+    
 }