X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.common%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fcommon%2Futils%2FVersionInfoRequest.java;h=303010a3c568a22905bb67451a5c67777a797bcb;hb=68a9ec79344f44499f9a92c95ee81b8b052a22e7;hp=68d976d26b7ef8926e167f588e5e35a89e8f50c9;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.common/src/org/simantics/db/common/utils/VersionInfoRequest.java b/bundles/org.simantics.db.common/src/org/simantics/db/common/utils/VersionInfoRequest.java index 68d976d26..303010a3c 100644 --- a/bundles/org.simantics.db.common/src/org/simantics/db/common/utils/VersionInfoRequest.java +++ b/bundles/org.simantics.db.common/src/org/simantics/db/common/utils/VersionInfoRequest.java @@ -1,46 +1,46 @@ -package org.simantics.db.common.utils; - -import java.util.Collections; - -import org.simantics.databoard.Bindings; -import org.simantics.db.ReadGraph; -import org.simantics.db.Resource; -import org.simantics.db.common.NamedResource; -import org.simantics.db.common.request.ResourceRead; -import org.simantics.db.exception.DatabaseException; -import org.simantics.layer0.Layer0; -import org.simantics.utils.datastructures.MapList; - -public class VersionInfoRequest extends ResourceRead { - - public VersionInfoRequest(Resource resource) { - super(resource); - } - - @Override - public VersionInfo perform(ReadGraph graph) throws DatabaseException { - - Layer0 L0 = Layer0.getInstance(graph); - - String baseName = graph.getPossibleRelatedValue(resource, L0.HasName, Bindings.STRING); - String version = ""; - - if(baseName != null) { - int pos = baseName.lastIndexOf('@'); - if(pos != -1) { - version = baseName.substring(pos+1); - baseName = baseName.substring(0, pos); - } - } - - Resource parent = graph.getPossibleObject(resource, L0.PartOf); - if(parent != null) { - MapList versionMap = graph.syncRequest(new VersionMapRequest(parent)); - return new VersionInfo(baseName, version, versionMap.getValues(baseName)); - } - - return new VersionInfo(baseName, version, Collections.singleton(new NamedResource(version, resource))); - - } - -} +package org.simantics.db.common.utils; + +import java.util.Collections; + +import org.simantics.databoard.Bindings; +import org.simantics.db.ReadGraph; +import org.simantics.db.Resource; +import org.simantics.db.common.NamedResource; +import org.simantics.db.common.request.ResourceRead; +import org.simantics.db.exception.DatabaseException; +import org.simantics.layer0.Layer0; +import org.simantics.utils.datastructures.MapList; + +public class VersionInfoRequest extends ResourceRead { + + public VersionInfoRequest(Resource resource) { + super(resource); + } + + @Override + public VersionInfo perform(ReadGraph graph) throws DatabaseException { + + Layer0 L0 = Layer0.getInstance(graph); + + String baseName = graph.getPossibleRelatedValue(resource, L0.HasName, Bindings.STRING); + String version = ""; + + if(baseName != null) { + int pos = baseName.lastIndexOf('@'); + if(pos != -1) { + version = baseName.substring(pos+1); + baseName = baseName.substring(0, pos); + } + } + + Resource parent = graph.getPossibleObject(resource, L0.PartOf); + if(parent != null) { + MapList versionMap = graph.syncRequest(new VersionMapRequest(parent)); + return new VersionInfo(baseName, version, versionMap.getValues(baseName)); + } + + return new VersionInfo(baseName, version, Collections.singleton(new NamedResource(version, resource))); + + } + +}