1 package org.simantics.structural2.scl;
\r
3 import gnu.trove.map.hash.THashMap;
\r
5 import java.util.Map;
\r
7 import org.simantics.databoard.Bindings;
\r
8 import org.simantics.db.ReadGraph;
\r
9 import org.simantics.db.Resource;
\r
10 import org.simantics.db.common.request.ResourceRead;
\r
11 import org.simantics.db.exception.DatabaseException;
\r
12 import org.simantics.layer0.Layer0;
\r
13 import org.simantics.structural.stubs.StructuralResource2;
\r
15 public class ReadComponentTypeConnectionsRequest extends ResourceRead<Map<String, Resource>> {
\r
17 public ReadComponentTypeConnectionsRequest(Resource resource) {
\r
22 public Map<String, Resource> perform(ReadGraph graph)
\r
23 throws DatabaseException {
\r
24 THashMap<String, Resource> result =
\r
25 new THashMap<String, Resource>();
\r
27 Layer0 L0 = Layer0.getInstance(graph);
\r
28 StructuralResource2 STR = StructuralResource2.getInstance(graph);
\r
29 for(Resource relation : graph.getObjects(resource, L0.DomainOf)) {
\r
30 if(graph.isSubrelationOf(relation, STR.IsConnectedTo)) {
\r
31 String name = graph.getRelatedValue(relation, L0.HasName, Bindings.STRING);
\r
32 result.put(name, relation);
\r