1
2
3
4
5
6
7
8 package net.kwfgrid.gworkflowdl.protocol.calls;
9
10 import net.kwfgrid.gworkflowdl.protocol.structure.ProtocolEdge;
11 import net.kwfgrid.gworkflowdl.protocol.structure.ProtocolTransition;
12 import org.xmlpull.v1.XmlSerializer;
13
14 import java.io.IOException;
15
16 /***
17 Modification that removes an readPlace from a transition.
18 */
19 public class TransitionRemoveReadEdge extends AbstractMethodCall {
20 protected ProtocolEdge _edge;
21 protected ProtocolTransition _transition;
22 protected int _index;
23 protected String _placeid;
24
25 public TransitionRemoveReadEdge(ProtocolTransition transition, ProtocolEdge edge) {
26 super(transition.getRoot());
27 _edge = edge;
28 _transition = transition;
29 _index = -1;
30 _placeid = null;
31 }
32
33 public TransitionRemoveReadEdge(ProtocolTransition transition, int index) {
34 this (transition, (ProtocolEdge)transition.getReadEdges()[index]);
35 _index = index;
36 }
37
38 public TransitionRemoveReadEdge(ProtocolTransition transition, String placeID) {
39 this (transition, (ProtocolEdge)transition.getReadEdge(placeID));
40 _placeid = placeID;
41 }
42
43 public void marshal(IMethodCallMarshaller encoder, XmlSerializer serializer) throws IOException {
44 encoder.marshalTransitionRemoveReadEdge(serializer, _transition, _edge);
45 }
46
47 public Object execute() {
48 if (_index==-1)
49 _transition.__removeReadEdge(_placeid);
50 else
51 _transition.__removeReadEdge(_index);
52 setExecuted();
53 return null;
54 }
55 }