X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.browsing.ui.model%2Fsrc%2Forg%2Fsimantics%2Fbrowsing%2Fui%2Fmodel%2Fbrowsecontexts%2FResolveActionBrowseContext.java;h=9f9e3bbe66a133030f288b1278d97bdc45b7ee09;hp=da6804b71e0b9ae0033ea6338b38c08101010909;hb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;hpb=24e2b34260f219f0d1644ca7a138894980e25b14 diff --git a/bundles/org.simantics.browsing.ui.model/src/org/simantics/browsing/ui/model/browsecontexts/ResolveActionBrowseContext.java b/bundles/org.simantics.browsing.ui.model/src/org/simantics/browsing/ui/model/browsecontexts/ResolveActionBrowseContext.java index da6804b71..9f9e3bbe6 100644 --- a/bundles/org.simantics.browsing.ui.model/src/org/simantics/browsing/ui/model/browsecontexts/ResolveActionBrowseContext.java +++ b/bundles/org.simantics.browsing.ui.model/src/org/simantics/browsing/ui/model/browsecontexts/ResolveActionBrowseContext.java @@ -1,49 +1,49 @@ -package org.simantics.browsing.ui.model.browsecontexts; - -import java.util.Collection; - -import org.simantics.browsing.ui.BuiltinKeys; -import org.simantics.browsing.ui.NodeContext; -import org.simantics.browsing.ui.model.actions.ActionBrowseContext; -import org.simantics.db.ReadGraph; -import org.simantics.db.Resource; -import org.simantics.db.common.request.PossibleIndexRoot; -import org.simantics.db.common.request.UnaryRead; -import org.simantics.db.exception.DatabaseException; -import org.simantics.db.layer0.variable.Variable; - -public class ResolveActionBrowseContext extends UnaryRead { - - public ResolveActionBrowseContext(NodeContext parameter) { - super(parameter); - } - - private Resource getPossibleResource(ReadGraph graph) throws DatabaseException { - Object input = parameter.getConstant(BuiltinKeys.INPUT); - if(input instanceof Resource) return (Resource)input; - else if (input instanceof Variable) return ((Variable)input).getPossibleRepresents(graph); - else return null; - } - - private String getPossibleUIContext() { - return parameter.getConstant(BuiltinKeys.UI_CONTEXT); - } - - @Override - public ActionBrowseContext perform(ReadGraph graph) throws DatabaseException { - - Resource resource = getPossibleResource(graph); - if(resource == null) return null; - - Resource indexRoot = graph.syncRequest(new PossibleIndexRoot(resource)); - if(indexRoot == null) return null; - - Collection contexts = graph.syncRequest(new ContributedActionBrowseContexts(indexRoot, resource, getPossibleUIContext())); - - if(contexts.isEmpty()) return null; - - return graph.syncRequest(new ActionBrowseContextRequest(contexts)); - - } - -} +package org.simantics.browsing.ui.model.browsecontexts; + +import java.util.Collection; + +import org.simantics.browsing.ui.BuiltinKeys; +import org.simantics.browsing.ui.NodeContext; +import org.simantics.browsing.ui.model.actions.ActionBrowseContext; +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.common.request.PossibleIndexRoot; +import org.simantics.db.common.request.UnaryRead; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.layer0.variable.Variable; + +public class ResolveActionBrowseContext extends UnaryRead { + + public ResolveActionBrowseContext(NodeContext parameter) { + super(parameter); + } + + private Resource getPossibleResource(ReadGraph graph) throws DatabaseException { + Object input = parameter.getConstant(BuiltinKeys.INPUT); + if(input instanceof Resource) return (Resource)input; + else if (input instanceof Variable) return ((Variable)input).getPossibleRepresents(graph); + else return null; + } + + private String getPossibleUIContext() { + return parameter.getConstant(BuiltinKeys.UI_CONTEXT); + } + + @Override + public ActionBrowseContext perform(ReadGraph graph) throws DatabaseException { + + Resource resource = getPossibleResource(graph); + if(resource == null) return null; + + Resource indexRoot = graph.syncRequest(new PossibleIndexRoot(resource)); + if(indexRoot == null) return null; + + Collection contexts = graph.syncRequest(new ContributedActionBrowseContexts(indexRoot, resource, getPossibleUIContext())); + + if(contexts.isEmpty()) return null; + + return graph.syncRequest(new ActionBrowseContextRequest(contexts)); + + } + +}