1 package org.simantics.db.common.utils;
\r
3 import java.util.Map;
\r
5 import org.simantics.db.ReadGraph;
\r
6 import org.simantics.db.Resource;
\r
7 import org.simantics.db.common.NamedResource;
\r
8 import org.simantics.db.common.request.ResourceRead;
\r
9 import org.simantics.db.common.uri.UnescapedChildMapOfResource;
\r
10 import org.simantics.db.exception.DatabaseException;
\r
12 public class VersionMapRequest extends ResourceRead<VersionMap> {
\r
14 public VersionMapRequest(Resource resource) {
\r
19 public VersionMap perform(ReadGraph graph) throws DatabaseException {
\r
20 VersionMap result = new VersionMap();
\r
21 Map<String,Resource> childMap = graph.syncRequest(new UnescapedChildMapOfResource(resource));
\r
22 for(Map.Entry<String,Resource> entry : childMap.entrySet()) {
\r
23 String s = entry.getKey();
\r
24 Resource r = entry.getValue();
\r
25 int pos = s.lastIndexOf('@');
\r
27 result.add(s, new NamedResource("", r));
\r
29 String base = s.substring(0, pos);
\r
30 String version = s.substring(pos+1);
\r
31 result.add(base, new NamedResource(version, r));
\r