1
2
3
4
5
6
7
8
9
10 package pl.edu.agh.cast.schema.policy;
11
12 import org.eclipse.gef.commands.Command;
13 import org.eclipse.gef.editpolicies.GraphicalNodeEditPolicy;
14 import org.eclipse.gef.requests.CreateConnectionRequest;
15 import org.eclipse.gef.requests.ReconnectRequest;
16
17 import pl.edu.agh.cast.model.attributes.ConnectionGroupAttributeManager;
18 import pl.edu.agh.cast.model.visual.backward.Connection;
19 import pl.edu.agh.cast.model.visual.backward.Node;
20 import pl.edu.agh.cast.schema.command.AddConnectionCommand;
21 import pl.edu.agh.cast.schema.editpart.SchemaEditPart;
22
23
24
25
26 public class SchemaConnectionCreatePolicy extends GraphicalNodeEditPolicy {
27
28 @SuppressWarnings("unused")
29 private ConnectionGroupAttributeManager _propertyManager;
30
31 public SchemaConnectionCreatePolicy(ConnectionGroupAttributeManager propertyManger) {
32 _propertyManager = propertyManger;
33 }
34
35
36
37
38
39
40
41 @Override
42 protected Command getConnectionCompleteCommand(CreateConnectionRequest request) {
43
44 if (request.getNewObjectType().equals(Connection.class)) {
45 if (request.getSourceEditPart() != request.getTargetEditPart()) {
46
47 SchemaEditPart schemaEditPart = (SchemaEditPart)request.getSourceEditPart().getParent();
48
49 return new AddConnectionCommand(schemaEditPart.getDiagram(), (Connection)request.getNewObject(),
50 ((Node)request.getSourceEditPart().getModel()).getId(), ((Node)request.getTargetEditPart()
51 .getModel()).getId());
52 }
53 }
54 return null;
55 }
56
57
58
59
60
61
62
63 @Override
64 protected Command getConnectionCreateCommand(CreateConnectionRequest request) {
65 return new AddConnectionCommand();
66 }
67
68
69
70
71
72
73
74 @Override
75 protected Command getReconnectSourceCommand(ReconnectRequest request) {
76
77 return null;
78 }
79
80
81
82
83
84
85
86 @Override
87 protected Command getReconnectTargetCommand(ReconnectRequest request) {
88
89 return null;
90 }
91
92 }