]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.document.server/src/org/simantics/document/server/handler/AbstractResponseHandler.java
AbstractResponseHandler uses wrong identity
[simantics/platform.git] / bundles / org.simantics.document.server / src / org / simantics / document / server / handler / AbstractResponseHandler.java
index a5577d07d774a09cfd473a077af2463bfeae3345..a9118604fb1d11fdb1adca1898c823473ebeb7d9 100644 (file)
@@ -1,36 +1,40 @@
-package org.simantics.document.server.handler;\r
-\r
-public abstract class AbstractResponseHandler extends AbstractEventHandler {\r
-\r
-       private String expression;\r
-       \r
-       public AbstractResponseHandler(String expression) {\r
-               this.expression = expression;\r
-       }\r
-\r
-       @Override\r
-       public int hashCode() {\r
-               final int prime = 31;\r
-               int result = 1;\r
-               result = prime * result + ((expression == null) ? 0 : expression.hashCode());\r
-               return result;\r
-       }\r
-\r
-       @Override\r
-       public boolean equals(Object obj) {\r
-               if (this == obj)\r
-                       return true;\r
-               if (obj == null)\r
-                       return false;\r
-               if (getClass() != obj.getClass())\r
-                       return false;\r
-               AbstractResponseHandler other = (AbstractResponseHandler) obj;\r
-               if (expression == null) {\r
-                       if (other.expression != null)\r
-                               return false;\r
-               } else if (!expression.equals(other.expression))\r
-                       return false;\r
-               return true;\r
-       }\r
-       \r
+package org.simantics.document.server.handler;
+
+import org.simantics.document.server.io.CommandContext;
+import org.simantics.document.server.io.CommandResult;
+import org.simantics.scl.runtime.function.Function1;
+
+public abstract class AbstractResponseHandler extends AbstractEventHandler {
+
+       private Function1<CommandContext, CommandResult> fn;
+       
+       public AbstractResponseHandler(Function1<CommandContext, CommandResult> fn) {
+               this.fn = fn;
+       }
+
+       @Override
+       public int hashCode() {
+               final int prime = 31;
+               int result = 1;
+               result = prime * result + ((fn == null) ? 0 : fn.hashCode());
+               return result;
+       }
+
+       @Override
+       public boolean equals(Object obj) {
+               if (this == obj)
+                       return true;
+               if (obj == null)
+                       return false;
+               if (getClass() != obj.getClass())
+                       return false;
+               AbstractResponseHandler other = (AbstractResponseHandler) obj;
+               if (fn == null) {
+                       if (other.fn != null)
+                               return false;
+               } else if (!fn.equals(other.fn))
+                       return false;
+               return true;
+       }
+       
 }
\ No newline at end of file