View Javadoc

1   /*
2    * This file is a part of CAST project.
3    * (c) Copyright 2007, AGH University of Science & Technology
4    * All rights reserved. Check the documentation for licensing terms.
5    * https://caribou.iisg.agh.edu.pl/trac/cast
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   * @author njord
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       * (non-Javadoc)
37       *
38       * @seeorg.eclipse.gef.editpolicies.GraphicalNodeEditPolicy#getConnectionCompleteCommand(org.eclipse.gef.requests.
39       * CreateConnectionRequest)
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       * (non-Javadoc)
59       *
60       * @seeorg.eclipse.gef.editpolicies.GraphicalNodeEditPolicy#getConnectionCreateCommand(org.eclipse.gef.requests.
61       * CreateConnectionRequest)
62       */
63      @Override
64      protected Command getConnectionCreateCommand(CreateConnectionRequest request) {
65          return new AddConnectionCommand();
66      }
67  
68      /*
69       * (non-Javadoc)
70       *
71       * @seeorg.eclipse.gef.editpolicies.GraphicalNodeEditPolicy#getReconnectSourceCommand(org.eclipse.gef.requests.
72       * ReconnectRequest)
73       */
74      @Override
75      protected Command getReconnectSourceCommand(ReconnectRequest request) {
76          // TODO Auto-generated method stub
77          return null;
78      }
79  
80      /*
81       * (non-Javadoc)
82       *
83       * @seeorg.eclipse.gef.editpolicies.GraphicalNodeEditPolicy#getReconnectTargetCommand(org.eclipse.gef.requests.
84       * ReconnectRequest)
85       */
86      @Override
87      protected Command getReconnectTargetCommand(ReconnectRequest request) {
88          // TODO Auto-generated method stub
89          return null;
90      }
91  
92  }