X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2Fviewpoint%2FChildrenInActiveExperiment.java;h=ce9abcbb1c60a96fdd73015324042ebeda5aad01;hb=95144e3b879f0a10715927027bb9a7aa8e05bdeb;hp=e709555567dee72afe1bded1a719a5a2edf7320d;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/viewpoint/ChildrenInActiveExperiment.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/viewpoint/ChildrenInActiveExperiment.java index e70955556..ce9abcbb1 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/viewpoint/ChildrenInActiveExperiment.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/viewpoint/ChildrenInActiveExperiment.java @@ -1,69 +1,69 @@ -package org.simantics.modeling.ui.viewpoint; - -import java.util.Collection; -import java.util.Collections; - -import org.simantics.browsing.ui.model.children.ChildRule; -import org.simantics.databoard.Bindings; -import org.simantics.db.ReadGraph; -import org.simantics.db.Resource; -import org.simantics.db.exception.DatabaseException; -import org.simantics.db.layer0.variable.Variable; -import org.simantics.layer0.Layer0; -import org.simantics.scl.runtime.function.Function; -import org.simantics.simulation.ontology.SimulationResource; -import org.simantics.structural.stubs.StructuralResource2; - -public class ChildrenInActiveExperiment implements ChildRule { - - Layer0 L0; - SimulationResource SIMU; - StructuralResource2 STR; - - public ChildrenInActiveExperiment(ReadGraph graph) { - this.L0 = Layer0.getInstance(graph); - this.SIMU = SimulationResource.getInstance(graph); - this.STR = StructuralResource2.getInstance(graph); - } - - private Variable getVariable(ReadGraph graph, Resource r) throws DatabaseException { - Resource model = graph.getPossibleObject(r, SIMU.IsConfigurationOf); - if(model != null) { - return (Variable)graph.adapt(SIMU.ActiveExperiment, Function.class) - .apply(graph, model); - } - String name = graph.getPossibleRelatedValue(r, L0.HasName, Bindings.STRING); - Resource parent = graph.getPossibleObject(r, L0.PartOf); - if(name == null || parent == null) - return null; - Variable parentVariable = getVariable(graph, parent); - if(parentVariable == null) - return null; - return parentVariable.getPossibleChild(graph, name); - } - - @Override - public boolean isCompatible(Class contentType) { - return contentType.equals(Resource.class); - } - - @Override - public Collection getChildren(ReadGraph graph, Object parent_) - throws DatabaseException { - Resource parent = (Resource)parent_; - if(graph.isInstanceOf(parent, STR.Composite)) - return Collections.emptyList(); - Variable variable = getVariable(graph, parent); - if(variable == null) - return Collections.emptyList(); - Collection children = variable.getChildren(graph); - return VariableChildren.filterByClassification(graph, children, StructuralResource2.URIs.Component); - } - - @Override - public Collection getParents(ReadGraph graph, Object child) - throws DatabaseException { - return Collections.emptyList(); - } - -} +package org.simantics.modeling.ui.viewpoint; + +import java.util.Collection; +import java.util.Collections; + +import org.simantics.browsing.ui.model.children.ChildRule; +import org.simantics.databoard.Bindings; +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.layer0.variable.Variable; +import org.simantics.layer0.Layer0; +import org.simantics.scl.runtime.function.Function; +import org.simantics.simulation.ontology.SimulationResource; +import org.simantics.structural.stubs.StructuralResource2; + +public class ChildrenInActiveExperiment implements ChildRule { + + Layer0 L0; + SimulationResource SIMU; + StructuralResource2 STR; + + public ChildrenInActiveExperiment(ReadGraph graph) { + this.L0 = Layer0.getInstance(graph); + this.SIMU = SimulationResource.getInstance(graph); + this.STR = StructuralResource2.getInstance(graph); + } + + private Variable getVariable(ReadGraph graph, Resource r) throws DatabaseException { + Resource model = graph.getPossibleObject(r, SIMU.IsConfigurationOf); + if(model != null) { + return (Variable)graph.adapt(SIMU.ActiveExperiment, Function.class) + .apply(graph, model); + } + String name = graph.getPossibleRelatedValue(r, L0.HasName, Bindings.STRING); + Resource parent = graph.getPossibleObject(r, L0.PartOf); + if(name == null || parent == null) + return null; + Variable parentVariable = getVariable(graph, parent); + if(parentVariable == null) + return null; + return parentVariable.getPossibleChild(graph, name); + } + + @Override + public boolean isCompatible(Class contentType) { + return contentType.equals(Resource.class); + } + + @Override + public Collection getChildren(ReadGraph graph, Object parent_) + throws DatabaseException { + Resource parent = (Resource)parent_; + if(graph.isInstanceOf(parent, STR.Composite)) + return Collections.emptyList(); + Variable variable = getVariable(graph, parent); + if(variable == null) + return Collections.emptyList(); + Collection children = variable.getChildren(graph); + return VariableChildren.filterByClassification(graph, children, StructuralResource2.URIs.Component); + } + + @Override + public Collection getParents(ReadGraph graph, Object child) + throws DatabaseException { + return Collections.emptyList(); + } + +}