X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.layer0%2Fsrc%2Forg%2Fsimantics%2Fdb%2Flayer0%2Frequest%2FResourceURIToVariable.java;h=2e664d53994e8e6c3b1869416dfac68a246c4897;hb=e3446802a81064942a7cbfea0c577e21ae5ae658;hp=f3e3a67bf42daed6b7bdb1eea3470dad13c9b22f;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/request/ResourceURIToVariable.java b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/request/ResourceURIToVariable.java index f3e3a67bf..2e664d539 100644 --- a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/request/ResourceURIToVariable.java +++ b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/request/ResourceURIToVariable.java @@ -1,53 +1,53 @@ -package org.simantics.db.layer0.request; - -import org.simantics.databoard.util.URIStringUtils; -import org.simantics.db.ReadGraph; -import org.simantics.db.common.request.UnaryRead; -import org.simantics.db.exception.DatabaseException; -import org.simantics.db.layer0.variable.StandardGraphChildVariable; -import org.simantics.db.layer0.variable.Variable; -import org.simantics.db.request.ReadExt; -import org.simantics.db.request.RequestFlags; - -public class ResourceURIToVariable extends UnaryRead implements ReadExt { - - public ResourceURIToVariable(String uri) { - super(uri); - } - - public static int split(String uri) { - int pos = uri.lastIndexOf(URIStringUtils.NAMESPACE_PATH_SEPARATOR); - int pos2 = uri.lastIndexOf(URIStringUtils.NAMESPACE_LOCAL_SEPARATOR); - return Math.max(pos, pos2); - } - - @Override - public Variable perform(ReadGraph graph) throws DatabaseException { - - if("http://".equals(parameter) || "http:/".equals(parameter)) { - return new StandardGraphChildVariable(null, null, graph.getRootLibrary()); - } else { - int childPos = parameter.lastIndexOf(URIStringUtils.NAMESPACE_PATH_SEPARATOR); - int propertyPos = parameter.lastIndexOf(URIStringUtils.NAMESPACE_LOCAL_SEPARATOR); - if(childPos > propertyPos) { - Variable parent = graph.syncRequest(new ResourceURIToVariable(parameter.substring(0, childPos))); - return parent.getChild(graph, URIStringUtils.unescape(parameter.substring(childPos + 1, parameter.length()))); - } else { - Variable parent = graph.syncRequest(new ResourceURIToVariable(parameter.substring(0, propertyPos))); - return parent.getProperty(graph, URIStringUtils.unescape(parameter.substring(propertyPos + 1, parameter.length()))); - } - } - - } - - @Override - public boolean isImmutable(ReadGraph graph) throws DatabaseException { - return false; - } - - @Override - public int getType() { - return RequestFlags.IMMEDIATE_UPDATE; - } - -} +package org.simantics.db.layer0.request; + +import org.simantics.databoard.util.URIStringUtils; +import org.simantics.db.ReadGraph; +import org.simantics.db.common.request.UnaryRead; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.layer0.variable.StandardGraphChildVariable; +import org.simantics.db.layer0.variable.Variable; +import org.simantics.db.request.ReadExt; +import org.simantics.db.request.RequestFlags; + +public class ResourceURIToVariable extends UnaryRead implements ReadExt { + + public ResourceURIToVariable(String uri) { + super(uri); + } + + public static int split(String uri) { + int pos = uri.lastIndexOf(URIStringUtils.NAMESPACE_PATH_SEPARATOR); + int pos2 = uri.lastIndexOf(URIStringUtils.NAMESPACE_LOCAL_SEPARATOR); + return Math.max(pos, pos2); + } + + @Override + public Variable perform(ReadGraph graph) throws DatabaseException { + + if("http://".equals(parameter) || "http:/".equals(parameter)) { + return new StandardGraphChildVariable(null, null, graph.getRootLibrary()); + } else { + int childPos = parameter.lastIndexOf(URIStringUtils.NAMESPACE_PATH_SEPARATOR); + int propertyPos = parameter.lastIndexOf(URIStringUtils.NAMESPACE_LOCAL_SEPARATOR); + if(childPos > propertyPos) { + Variable parent = graph.syncRequest(new ResourceURIToVariable(parameter.substring(0, childPos))); + return parent.getChild(graph, URIStringUtils.unescape(parameter.substring(childPos + 1, parameter.length()))); + } else { + Variable parent = graph.syncRequest(new ResourceURIToVariable(parameter.substring(0, propertyPos))); + return parent.getProperty(graph, URIStringUtils.unescape(parameter.substring(propertyPos + 1, parameter.length()))); + } + } + + } + + @Override + public boolean isImmutable(ReadGraph graph) { + return false; + } + + @Override + public int getType() { + return RequestFlags.IMMEDIATE_UPDATE; + } + +}