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