View Javadoc

1   /*
2    * Copyright (c) 2005, The K-Wf Grid Consortium
3    * Fraunhofer Institute for Computer Architecture and Software Technology
4    * See http://www.kwfgrid.eu and http://www.first.fraunhofer.de for more details.
5    */
6   package net.kwfgrid.gworkflowdl.protocol.calls;
7   
8   import net.kwfgrid.gworkflowdl.protocol.structure.*;
9   import net.kwfgrid.gworkflowdl.structure.CapacityException;
10  
11  import java.io.IOException;
12  
13  import org.xmlpull.v1.XmlSerializer;
14  
15  /***
16     Modification that adds a token to a Place.
17   */
18  public class PlaceAddToken extends AbstractMethodCall {
19      protected ProtocolToken _token;
20      protected ProtocolPlace _place;
21  
22      public PlaceAddToken(ProtocolPlace place, ProtocolToken token) {
23  	super(place.getRoot());
24  	_token = token;
25  	_place = place;
26      }
27  
28      public void marshal(IMethodCallMarshaller encoder, XmlSerializer serializer) throws IOException {
29  	encoder.marshalPlaceAddToken(serializer, _place, _token);
30      }
31  
32      public Object execute() throws CapacityException {
33  	_place.__addToken(_token);
34  	setExecuted();
35  	return null;
36      }
37  }