1 package org.simantics.modeling;
\r
3 import java.util.Collection;
\r
5 import org.simantics.db.Resource;
\r
6 import org.simantics.db.WriteGraph;
\r
7 import org.simantics.db.common.request.WriteRequest;
\r
8 import org.simantics.db.exception.DatabaseException;
\r
9 import org.simantics.structural.stubs.StructuralResource2;
\r
11 public class AssignConnectionTypesRequest extends WriteRequest {
\r
13 Collection<Resource> addedConnectionTypes;
\r
14 Collection<Resource> removedConnectionTypes;
\r
15 Collection<Resource> connectionPoints;
\r
17 public AssignConnectionTypesRequest(Collection<Resource> addedConnectionTypes, Collection<Resource> removedConnectionTypes, Collection<Resource> connectionPoints) {
\r
18 this.addedConnectionTypes = addedConnectionTypes;
\r
19 this.removedConnectionTypes = removedConnectionTypes;
\r
20 this.connectionPoints = connectionPoints;
\r
24 public void perform(WriteGraph graph) throws DatabaseException {
\r
25 assignSymbolGroup(graph, addedConnectionTypes, removedConnectionTypes, connectionPoints);
\r
28 public static void assignSymbolGroup(WriteGraph graph, Collection<Resource> addedConnectionTypes, Collection<Resource> removedConnectionTypes, Collection<Resource> connectionPoints) throws DatabaseException {
\r
29 StructuralResource2 STR = StructuralResource2.getInstance(graph);
\r
30 for (Resource connectionPoint : connectionPoints) {
\r
31 for (Resource type : addedConnectionTypes)
\r
32 graph.claim(connectionPoint, STR.AllowsConnectionType, type);
\r
33 for (Resource type : removedConnectionTypes)
\r
34 graph.deny(connectionPoint, STR.AllowsConnectionType, type);
\r