X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.proconf.g3d%2Fsrc%2Forg%2Fsimantics%2Fproconf%2Fg3d%2Fbase%2FScenegraphAdapterImpl.java;h=2760c2918c74fac88d9ac0bf0851a539e31b9a3f;hb=c58f0db363a3f2881577f84fb905e07775f65002;hp=eb243735d45826d9f3d8057815f78e9fb894592e;hpb=f9e3fe0569bf1cf3bbcdbc56fb81c736cba086f9;p=simantics%2F3d.git diff --git a/org.simantics.proconf.g3d/src/org/simantics/proconf/g3d/base/ScenegraphAdapterImpl.java b/org.simantics.proconf.g3d/src/org/simantics/proconf/g3d/base/ScenegraphAdapterImpl.java index eb243735..2760c291 100644 --- a/org.simantics.proconf.g3d/src/org/simantics/proconf/g3d/base/ScenegraphAdapterImpl.java +++ b/org.simantics.proconf.g3d/src/org/simantics/proconf/g3d/base/ScenegraphAdapterImpl.java @@ -17,7 +17,6 @@ import java.util.HashSet; import java.util.List; import java.util.Queue; import java.util.Set; -import java.util.Stack; import java.util.concurrent.ConcurrentLinkedQueue; import org.simantics.db.AbstractQuery; @@ -180,7 +179,7 @@ public abstract class ScenegraphAdapterImpl implements ScenegraphAdapter { String name = nameMap.getRight(nodeResource); if (name == null) { //name = UUID.randomUUID().toString(); - name = Long.toString(nodeResource.getResourceId()); + name = Long.toString(nodeResource.getResourceId(session)); nameMap.map(nodeResource, name); } return name; @@ -318,12 +317,12 @@ public abstract class ScenegraphAdapterImpl implements ScenegraphAdapter { */ protected IGraphicsNode addNode(IEntity parent, IEntity r) { if (!r.isInstanceOf(Resources.g3dResource.G3DNode)) { - ErrorLogger.defaultLogError("Trying to add node into scenegraph that is not instance of graphicsnode " + r,new Exception("ASSERT!")); + ErrorLogger.defaultLogError("Trying to add node into scenegraph that is not instance of G3DNode " + r,new Exception("ASSERT!")); return null; } if (parent.equals(r)) { - if (DEBUG) System.out.println("ThreeDimensionalEditorBase.addNodeP(" + r.getResource().getResourceId() + ") adding node to itself?!"); - ErrorLogger.defaultLogError("Adding scnegraphnode " + r.getResource().getResourceId() + " to itself!", new Exception("ASSERT!")); + if (DEBUG) System.out.println("ThreeDimensionalEditorBase.addNodeP(" + r.getResource().getResourceId(session) + ") adding node to itself?!"); + ErrorLogger.defaultLogError("Adding scnegraphnode " + r.getResource().getResourceId(session) + " to itself!", new Exception("ASSERT!")); return abstractGraphicsNodes.get(r); } @@ -336,10 +335,10 @@ public abstract class ScenegraphAdapterImpl implements ScenegraphAdapter { return null; } if (parent.equals(inView.getParent().getResource())) { - if (DEBUG) System.out.println("ThreeDimensionalEditorBase.addNodeP(" + r.getResource().getResourceId() + ") already in view"); + if (DEBUG) System.out.println("ThreeDimensionalEditorBase.addNodeP(" + r.getResource().getResourceId(session) + ") already in view"); return inView; } else { - if (DEBUG) System.out.println("ThreeDimensionalEditorBase.addNodeP(" + r.getResource().getResourceId() + ") already in view, but has different parent, current parent is ("+inView.getParent().getResource()+") and node is added to ("+parent+") -> removing from old parent and inserting to new"); + if (DEBUG) System.out.println("ThreeDimensionalEditorBase.addNodeP(" + r.getResource().getResourceId(session) + ") already in view, but has different parent, current parent is ("+inView.getParent().getResource().getResourceId(session)+") and node is added to ("+parent+") -> removing from old parent and inserting to new"); removeNode(inView.getParent().getResource(),r.getResource()); } } @@ -349,15 +348,15 @@ public abstract class ScenegraphAdapterImpl implements ScenegraphAdapter { IGraphicsNode mo; IGraphicsNode parentNode = abstractGraphicsNodes.get(parent); if (parentNode == null) { - if (DEBUG) System.out.println("No graphicsnode for (" + parent.getResource().getResourceId() + ")"); + if (DEBUG) System.out.println("No graphicsnode for (" + parent.getResource().getResourceId(session) + ")"); return null; } else { mo = instantiateNode(parentNode, node); if (mo == null) { - ErrorLogger.defaultLogError("Could not instantiate scenegraph node for " + r.getResource().getResourceId(), null); + ErrorLogger.defaultLogError("Could not instantiate scenegraph node for " + r.getResource().getResourceId(session), null); return null; } - if (DEBUG) System.out.println("ThreeDimensionalEditorBase.addNodeP(" + r.getResource().getResourceId() + ") added to parent (" + parent.getResource().getResourceId() + ") " + mo.getClass()); + if (DEBUG) System.out.println("ThreeDimensionalEditorBase.addNodeP(" + r.getResource().getResourceId(session) + ") added to parent (" + parent.getResource().getResourceId(session) + ") " + mo.getClass()); } addSubnodeListener(node); addPropertyListener(node); @@ -473,14 +472,11 @@ public abstract class ScenegraphAdapterImpl implements ScenegraphAdapter { public abstract class NodeQuery extends AbstractQuery{ protected Resource nodeResource; private boolean disposed = false; - private IQueryListener listener; - //private OverridingTransactionRunner runner; + private IQueryListener listener = null; public NodeQuery(Resource r) { this.nodeResource = r; - //runner = new OverridingTransactionRunner(session,true); - } protected abstract Object compute2(Graph graph); @@ -508,7 +504,6 @@ public abstract class ScenegraphAdapterImpl implements ScenegraphAdapter { if (disposed) throw new RuntimeException("Updating disposed query"); //return; transactionRunner.run(new GraphRequestAdapter() { - //session.asyncWrite(new GraphRequestAdapter() { @Override public GraphRequestStatus perform(Graph g) throws Exception { if (!disposed) { @@ -543,14 +538,12 @@ public abstract class ScenegraphAdapterImpl implements ScenegraphAdapter { if (DEBUG) System.out.println("NodeQuery " + nodeResource + " disposed()" + " " + this.getClass()); } - //public abstract NodeQuery instantiateQuery(Resource node); - //public abstract void attach(); - @Override public boolean isDisposed() { return disposed; } + // without separate listener, this query would work only once @Override public IQueryListener getListener() { if (listener == null) { @@ -568,7 +561,6 @@ public abstract class ScenegraphAdapterImpl implements ScenegraphAdapter { } return listener; } - } /**