X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.structural2%2Fsrc%2Forg%2Fsimantics%2Fstructural2%2Fscl%2FFindPossibleComponentTypeRequest.java;h=0ed83a6c313052cd6b67b22a2b2009ddc266c80b;hb=04bf1d8e31c85530bcd47d41051362533997134e;hp=9457632cf561da038142ec20f295e435fa4e98e5;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.structural2/src/org/simantics/structural2/scl/FindPossibleComponentTypeRequest.java b/bundles/org.simantics.structural2/src/org/simantics/structural2/scl/FindPossibleComponentTypeRequest.java index 9457632cf..0ed83a6c3 100644 --- a/bundles/org.simantics.structural2/src/org/simantics/structural2/scl/FindPossibleComponentTypeRequest.java +++ b/bundles/org.simantics.structural2/src/org/simantics/structural2/scl/FindPossibleComponentTypeRequest.java @@ -1,31 +1,31 @@ -package org.simantics.structural2.scl; - -import org.simantics.db.ReadGraph; -import org.simantics.db.Resource; -import org.simantics.db.common.request.ResourceRead; -import org.simantics.db.exception.DatabaseException; -import org.simantics.layer0.Layer0; -import org.simantics.structural.stubs.StructuralResource2; - -public class FindPossibleComponentTypeRequest extends ResourceRead { - - public FindPossibleComponentTypeRequest(Resource resource) { - super(resource); - } - - @Override - public Resource perform(ReadGraph graph) throws DatabaseException { - StructuralResource2 STR = StructuralResource2.getInstance(graph); - Resource type = graph.getPossibleObject(resource, STR.Defines); - if(type != null) - return type; - - Layer0 L0 = Layer0.getInstance(graph); - Resource parent = graph.getPossibleObject(resource, L0.PartOf); - if(parent != null && graph.isInstanceOf(parent, STR.Composite)) - return graph.syncRequest(new FindPossibleComponentTypeRequest(parent)); - else - return null; - } - -} +package org.simantics.structural2.scl; + +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.common.request.ResourceRead; +import org.simantics.db.exception.DatabaseException; +import org.simantics.layer0.Layer0; +import org.simantics.structural.stubs.StructuralResource2; + +public class FindPossibleComponentTypeRequest extends ResourceRead { + + public FindPossibleComponentTypeRequest(Resource resource) { + super(resource); + } + + @Override + public Resource perform(ReadGraph graph) throws DatabaseException { + StructuralResource2 STR = StructuralResource2.getInstance(graph); + Resource type = graph.getPossibleObject(resource, STR.Defines); + if(type != null) + return type; + + Layer0 L0 = Layer0.getInstance(graph); + Resource parent = graph.getPossibleObject(resource, L0.PartOf); + if(parent != null && graph.isInstanceOf(parent, STR.Composite)) + return graph.syncRequest(new FindPossibleComponentTypeRequest(parent)); + else + return null; + } + +}