]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.document.swt.core/src/org/simantics/document/swt/core/base/PostEventCommand.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.document.swt.core / src / org / simantics / document / swt / core / base / PostEventCommand.java
1 package org.simantics.document.swt.core.base;\r
2 \r
3 import java.util.Map;\r
4 \r
5 import org.simantics.document.server.handler.AbstractEventHandler;\r
6 import org.simantics.document.server.io.CommandContext;\r
7 import org.simantics.document.server.io.CommandContextImpl;\r
8 import org.simantics.document.swt.core.SWTDocument;\r
9 \r
10 public class PostEventCommand extends AbstractEventCommand {\r
11     \r
12     private AbstractEventHandler handler;\r
13     private CommandContextImpl parameters;\r
14     \r
15     public PostEventCommand(SWTDocument document, AbstractEventHandler handler, Map<String, String> parameters) {\r
16         this(document, handler, parameters, null);\r
17     }\r
18     \r
19     public PostEventCommand(SWTDocument document, AbstractEventHandler handler, Map<String, String> parameters, PostEventCommand next) {\r
20         super(document);\r
21         this.handler = handler;\r
22         this.parameters = new CommandContextImpl();\r
23         for(Map.Entry<String, String> entry : parameters.entrySet()) {\r
24                 this.parameters.putString(entry.getKey(), entry.getValue());\r
25         }\r
26         this.next = next;\r
27     }\r
28 \r
29     @Override\r
30     public void handleCommand() {\r
31         document.post(handler, parameters);\r
32     }\r
33 \r
34     @Override\r
35     public void commandSuccess() {\r
36         if(next != null)\r
37             next.handleCommand();\r
38     }\r
39 \r
40     @Override\r
41     public void commandError(String errorMessage) {\r
42         System.err.println(this + " failed: " + errorMessage);\r
43     }\r
44 \r
45 }\r