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