]> gerrit.simantics Code Review - simantics/interop.git/blobdiff - org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateTree.java
Merge branch 'master' of
[simantics/interop.git] / org.simantics.interop.update / src / org / simantics / interop / update / model / UpdateTree.java
index b627774b50b0784dd1d498b6e12388994af1d46a..5af784eba193427f77b465a156c4f1bffece4358 100644 (file)
@@ -37,6 +37,7 @@ public abstract class UpdateTree {
                return rootNode;
        }
        
+<<<<<<< HEAD
        protected abstract UpdateNode createNode(Status status, Resource r);
        protected abstract UpdateNode createNode(Status status, UpdateOp op);
        
@@ -72,6 +73,43 @@ public abstract class UpdateTree {
        }
        
        protected boolean connectParent(ReadGraph g, UpdateNode node) throws DatabaseException {
+=======
+       protected abstract UpdateNode createNode(Status staus, Resource r);
+       protected abstract UpdateNode createNode(Status staus, UpdateOp op);
+       
+       private UpdateNode createNode(Resource r1, Resource r2) {
+               UpdateNode node = null;
+               if (r1 != null && r2 != null) {
+                       node =  createNode(Status.EXIST, r1);
+                       nodes.put(r1, node);
+                       nodes.put(r2, node);
+               } else if (r1 != null) {
+                       node = createNode(Status.DELETED ,updateOps.getUpdateOp(r1));
+                       nodes.put(r1, node);
+               } else if (r2 != null) {
+                       node = createNode(Status.NEW, updateOps.getUpdateOp(r2));
+                       nodes.put(r2, node);
+               }
+               return node;
+       }
+       
+       public UpdateNode addNode(ReadGraph g, Resource r1, Resource r2) throws DatabaseException {
+               if (r1 != null && r2 != null) {
+                       return null;
+               }
+               if (nodes.containsKey(r1))
+                       return nodes.get(r1);
+               if (nodes.containsKey(r2))
+                       return nodes.get(r2);
+               
+               UpdateNode node = createNode(r1, r2);
+               connectParent(g,node);
+               return node;
+               
+       }
+       
+       private boolean connectParent(ReadGraph g, UpdateNode node) throws DatabaseException {
+>>>>>>> branch 'master' of ssh://luukkainen@www.simantics.org:29418/simantics/interop
                UpdateNode parent = null;
                while (true) {
                        Resource parentResource = node.getParentResource(g);