You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by ad...@apache.org on 2012/02/20 20:16:48 UTC

svn commit: r1291415 - in /openejb/trunk/openejb/server: openejb-client/src/main/java/org/apache/openejb/client/ openejb-client/src/test/java/org/apache/openejb/client/ openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ openejb-ejbd/src/test/ja...

Author: adc
Date: Mon Feb 20 19:16:48 2012
New Revision: 1291415

URL: http://svn.apache.org/viewvc?rev=1291415&view=rev
Log:
OPENEJB-82 Added RequestMethodCode

Added:
    openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/RequestMethodCode.java
Modified:
    openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EJBHomeHandler.java
    openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectHandler.java
    openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EJBRequest.java
    openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBHomeHandler.java
    openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBObjectHandler.java
    openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIContext.java
    openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIRequest.java
    openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/RequestMethodConstants.java
    openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBHomeHandler.java
    openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBObjectHandler.java
    openejb/trunk/openejb/server/openejb-client/src/test/java/org/apache/openejb/client/EJBRequestTest.java
    openejb/trunk/openejb/server/openejb-client/src/test/java/org/apache/openejb/client/JndiRequestTest.java
    openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbRequestHandler.java
    openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
    openejb/trunk/openejb/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/DeploymentIndexTest.java

Modified: openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EJBHomeHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EJBHomeHandler.java?rev=1291415&r1=1291414&r2=1291415&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EJBHomeHandler.java (original)
+++ openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EJBHomeHandler.java Mon Feb 20 19:16:48 2012
@@ -178,7 +178,7 @@ public abstract class EJBHomeHandler ext
     }
 
     public Object homeMethod(Method method, Object[] args, Object proxy) throws Throwable {
-        EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_METHOD, ejb, method, args, null);
+        EJBRequest req = new EJBRequest(RequestMethodCode.EJB_HOME_METHOD, ejb, method, args, null);
 
         EJBResponse res = request(req);
 
@@ -202,7 +202,7 @@ public abstract class EJBHomeHandler ext
     /*-------------------------------------------------*/
 
     protected Object create(Method method, Object[] args, Object proxy) throws Throwable {
-        EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_CREATE, ejb, method, args, null);
+        EJBRequest req = new EJBRequest(RequestMethodCode.EJB_HOME_CREATE, ejb, method, args, null);
 
         EJBResponse res = request(req);
 

Modified: openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectHandler.java?rev=1291415&r1=1291414&r2=1291415&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectHandler.java (original)
+++ openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectHandler.java Mon Feb 20 19:16:48 2012
@@ -258,7 +258,7 @@ public abstract class EJBObjectHandler e
     }
 
     private Object _businessMethod(Method method, Object[] args, Object proxy, String requestId) throws Throwable {
-        EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_OBJECT_BUSINESS_METHOD, ejb, method, args, primaryKey);
+        EJBRequest req = new EJBRequest(RequestMethodCode.EJB_OBJECT_BUSINESS_METHOD, ejb, method, args, primaryKey);
 
         //Currently, we only set the requestId while the asynchronous invocation is called
         req.getBody().setRequestId(requestId);
@@ -267,7 +267,7 @@ public abstract class EJBObjectHandler e
     }
 
     private Object _businessMethod(Method method, Object[] args, Object proxy, String requestId, EJBResponse response) throws Throwable {
-        EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_OBJECT_BUSINESS_METHOD, ejb, method, args, primaryKey);
+        EJBRequest req = new EJBRequest(RequestMethodCode.EJB_OBJECT_BUSINESS_METHOD, ejb, method, args, primaryKey);
 
         //Currently, we only set the request while the asynchronous invocation is called
         req.getBody().setRequestId(requestId);
@@ -374,7 +374,7 @@ public abstract class EJBObjectHandler e
                     if (lastMayInterruptIfRunningValue.getAndSet(mayInterruptIfRunning) == mayInterruptIfRunning) {
                         return false;
                     }
-                    EJBRequest req = new EJBRequest(RequestMethodConstants.FUTURE_CANCEL, ejb, CANCEL, new Object[] { Boolean.valueOf(mayInterruptIfRunning) }, primaryKey);
+                    EJBRequest req = new EJBRequest(RequestMethodCode.FUTURE_CANCEL, ejb, CANCEL, new Object[] { Boolean.valueOf(mayInterruptIfRunning) }, primaryKey);
                     req.getBody().setRequestId(requestId);
                     try {
                         EJBResponse res = request(req);

Modified: openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EJBRequest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EJBRequest.java?rev=1291415&r1=1291414&r2=1291415&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EJBRequest.java (original)
+++ openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EJBRequest.java Mon Feb 20 19:16:48 2012
@@ -21,19 +21,18 @@ import java.io.ObjectInput;
 import java.io.ObjectOutput;
 import java.lang.reflect.Method;
 import java.rmi.Remote;
-import java.util.UUID;
-
 import javax.naming.Context;
 import javax.naming.InitialContext;
-import javax.rmi.PortableRemoteObject;
 import javax.rmi.CORBA.Stub;
 import javax.rmi.CORBA.Tie;
+import javax.rmi.PortableRemoteObject;
 
 import org.omg.CORBA.ORB;
 
+
 public class EJBRequest implements ClusterableRequest {
 
-    private transient int requestMethod;
+    private transient RequestMethodCode requestMethod;
     private transient int deploymentCode = 0;
     private transient Object clientIdentity;
     private transient String deploymentId;
@@ -53,7 +52,7 @@ public class EJBRequest implements Clust
         ejbMetaData = null;
     }
 
-    public EJBRequest(int requestMethod, EJBMetaDataImpl ejb, Method method, Object[] args, Object primaryKey) {
+    public EJBRequest(RequestMethodCode requestMethod, EJBMetaDataImpl ejb, Method method, Object[] args, Object primaryKey) {
         body = new Body(ejb);
 
         this.ejbMetaData = ejb;
@@ -114,8 +113,9 @@ public class EJBRequest implements Clust
     }
 
     public static class Body implements java.io.Externalizable {
+
         private transient EJBMetaDataImpl ejb;
-        private transient ORB orb; 
+        private transient ORB orb;
         private transient Method methodInstance;
         private transient Class interfaceClass;
         private transient String methodName;
@@ -163,21 +163,21 @@ public class EJBRequest implements Clust
             Class methodClass = methodInstance.getDeclaringClass();
 
             if (ejb.homeClass != null) {
-                if (methodClass.isAssignableFrom(ejb.homeClass)){
+                if (methodClass.isAssignableFrom(ejb.homeClass)) {
                     this.interfaceClass = ejb.homeClass;
                     return;
                 }
             }
 
             if (ejb.remoteClass != null) {
-                if (methodClass.isAssignableFrom(ejb.remoteClass)){
+                if (methodClass.isAssignableFrom(ejb.remoteClass)) {
                     this.interfaceClass = ejb.remoteClass;
                     return;
                 }
             }
 
             for (Class businessClass : ejb.businessClasses) {
-                if (methodClass.isAssignableFrom(businessClass)){
+                if (methodClass.isAssignableFrom(businessClass)) {
                     this.interfaceClass = businessClass;
                     return;
                 }
@@ -210,7 +210,7 @@ public class EJBRequest implements Clust
             methodName = null;
             methodInstance = null;
             try {
-                requestId = (String)in.readObject();
+                requestId = (String) in.readObject();
                 primaryKey = in.readObject();
                 interfaceClass = (Class) in.readObject();
 //                methodClass = (Class) in.readObject();
@@ -324,9 +324,9 @@ public class EJBRequest implements Clust
         static final Object[] noArgsO = new Object[0];
 
         /**
-         * Obtain an ORB instance for this request to activate remote 
+         * Obtain an ORB instance for this request to activate remote
          * arguments and return results.
-         * 
+         *
          * @return An ORB instance.
          */
         protected ORB getORB() throws IOException {
@@ -338,13 +338,13 @@ public class EJBRequest implements Clust
                 } catch (Throwable e) {
                     try {
                         // any orb will do if we can't get a context one. 
-                        orb = ORB.init(); 
+                        orb = ORB.init();
                     } catch (Throwable ex) {
                         throw new IOException("Unable to connect PortableRemoteObject stub to an ORB, no ORB bound to java:comp/ORB");
                     }
                 }
             }
-            return orb; 
+            return orb;
         }
 
         protected void readMethodParameters(ObjectInput in) throws IOException, ClassNotFoundException {
@@ -410,7 +410,7 @@ public class EJBRequest implements Clust
                         clazz = (Class) in.readObject();
                         obj = in.readObject();
                         if (obj instanceof Stub) {
-                            Stub stub = (Stub)obj;
+                            Stub stub = (Stub) obj;
                             ORB orb = getORB();
                             stub.connect(orb);
                         }
@@ -443,7 +443,7 @@ public class EJBRequest implements Clust
         return RequestMethodConstants.EJB_REQUEST;
     }
 
-    public int getRequestMethod() {
+    public RequestMethodCode getRequestMethod() {
         return requestMethod;
     }
 
@@ -459,7 +459,7 @@ public class EJBRequest implements Clust
         return deploymentCode;
     }
 
-    public void setRequestMethod(int requestMethod) {
+    public void setRequestMethod(RequestMethodCode requestMethod) {
         this.requestMethod = requestMethod;
     }
 
@@ -484,52 +484,7 @@ public class EJBRequest implements Clust
     }
 
     public String toString() {
-        StringBuilder s = null; 
-        switch (requestMethod) {
-            case RequestMethodConstants.EJB_HOME_GET_EJB_META_DATA:
-                s = new StringBuilder("EJB_HOME.GET_EJB_META_DATA");
-                break;
-            case RequestMethodConstants.EJB_HOME_GET_HOME_HANDLE:
-                s = new StringBuilder("EJB_HOME.GET_HOME_HANDLE");
-                break;
-            case RequestMethodConstants.EJB_HOME_REMOVE_BY_HANDLE:
-                s = new StringBuilder("EJB_HOME.REMOVE_BY_HANDLE");
-                break;
-            case RequestMethodConstants.EJB_HOME_REMOVE_BY_PKEY:
-                s = new StringBuilder("EJB_HOME.REMOVE_BY_PKEY");
-                break;
-            case RequestMethodConstants.EJB_HOME_FIND:
-                s = new StringBuilder("EJB_HOME.FIND");
-                break;
-            case RequestMethodConstants.EJB_HOME_CREATE:
-                s = new StringBuilder("EJB_HOME.CREATE");
-                break;
-            case RequestMethodConstants.EJB_HOME_METHOD:
-                s = new StringBuilder("EJB_HOME.HOME_METHOD");
-                break;
-            case RequestMethodConstants.EJB_OBJECT_GET_EJB_HOME:
-                s = new StringBuilder("EJB_OBJECT.GET_EJB_HOME");
-                break;
-            case RequestMethodConstants.EJB_OBJECT_GET_HANDLE:
-                s = new StringBuilder("EJB_OBJECT.GET_HANDLE");
-                break;
-            case RequestMethodConstants.EJB_OBJECT_GET_PRIMARY_KEY:
-                s = new StringBuilder("EJB_OBJECT.GET_PRIMARY_KEY");
-                break;
-            case RequestMethodConstants.EJB_OBJECT_IS_IDENTICAL:
-                s = new StringBuilder("EJB_OBJECT.IS_IDENTICAL");
-                break;
-            case RequestMethodConstants.EJB_OBJECT_REMOVE:
-                s = new StringBuilder("EJB_OBJECT.REMOVE");
-                break;
-            case RequestMethodConstants.EJB_OBJECT_BUSINESS_METHOD:
-                s = new StringBuilder("EJB_OBJECT.BUSINESS_METHOD");
-                break;
-            case RequestMethodConstants.FUTURE_CANCEL:
-                s = new StringBuilder("FUTURE.CANCEL");
-            default:
-                s = new StringBuilder("EJB_UKNOWN."+requestMethod);
-        }
+        StringBuilder s = new StringBuilder((requestMethod == null ? "null" : requestMethod.toString()));
         s.append(':').append(deploymentId);
         if (body != null) {
             s.append(':').append(body.getMethodName());
@@ -549,12 +504,16 @@ public class EJBRequest implements Clust
     public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
         ClassNotFoundException result = null;
 
-        requestMethod = -1;
         deploymentId = null;
         deploymentCode = -1;
         clientIdentity = null;
 
-        requestMethod = in.readByte();
+        int code = in.readByte();
+        try {
+            requestMethod = RequestMethodCode.valueOf(code);
+        } catch (IllegalArgumentException iae) {
+            throw new IOException("Invalid request code " + code);
+        }
         try {
             deploymentId = (String) in.readObject();
         } catch (ClassNotFoundException cnfe) {
@@ -572,7 +531,7 @@ public class EJBRequest implements Clust
     }
 
     public void writeExternal(ObjectOutput out) throws IOException {
-        out.writeByte(requestMethod);
+        out.writeByte(requestMethod.getCode());
 
         if (deploymentCode > 0) {
             out.writeObject(null);

Modified: openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBHomeHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBHomeHandler.java?rev=1291415&r1=1291414&r2=1291415&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBHomeHandler.java (original)
+++ openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBHomeHandler.java Mon Feb 20 19:16:48 2012
@@ -32,7 +32,7 @@ public class EntityEJBHomeHandler extend
     }
 
     protected Object findX(Method method, Object[] args, Object proxy) throws Throwable {
-        EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_FIND, ejb, method, args, null);
+        EJBRequest req = new EJBRequest(RequestMethodCode.EJB_HOME_FIND, ejb, method, args, null);
 
         EJBResponse res = request(req);
 
@@ -98,7 +98,7 @@ public class EntityEJBHomeHandler extend
 
         if (primKey == null) throw new NullPointerException("The primary key is null.");
 
-        EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_REMOVE_BY_PKEY, ejb, method, args, primKey);
+        EJBRequest req = new EJBRequest(RequestMethodCode.EJB_HOME_REMOVE_BY_PKEY, ejb, method, args, primKey);
 
         EJBResponse res = request(req);
 
@@ -128,7 +128,7 @@ public class EntityEJBHomeHandler extend
         Object primKey = ejbObject.getPrimaryKey();
         if (primKey == null) throw new NullPointerException("The handle.getEJBObject().getPrimaryKey() is null.");
 
-        EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_REMOVE_BY_HANDLE, ejb, method, args, primKey);
+        EJBRequest req = new EJBRequest(RequestMethodCode.EJB_HOME_REMOVE_BY_HANDLE, ejb, method, args, primKey);
 
         EJBResponse res = request(req);
 

Modified: openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBObjectHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBObjectHandler.java?rev=1291415&r1=1291414&r2=1291415&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBObjectHandler.java (original)
+++ openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBObjectHandler.java Mon Feb 20 19:16:48 2012
@@ -58,7 +58,7 @@ public class EntityEJBObjectHandler exte
 
     protected Object remove(Method method, Object[] args, Object proxy) throws Throwable {
 
-        EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_OBJECT_REMOVE, ejb, method, args, primaryKey);
+        EJBRequest req = new EJBRequest(RequestMethodCode.EJB_OBJECT_REMOVE, ejb, method, args, primaryKey);
 
         EJBResponse res = request(req);
 

Modified: openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIContext.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIContext.java?rev=1291415&r1=1291414&r2=1291415&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIContext.java (original)
+++ openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIContext.java Mon Feb 20 19:16:48 2012
@@ -211,7 +211,7 @@ public class JNDIContext implements Init
         }
 
         JNDIRequest req = new JNDIRequest();
-        req.setRequestMethod(RequestMethodConstants.JNDI_LOOKUP);
+        req.setRequestMethod(RequestMethodCode.JNDI_LOOKUP);
         req.setRequestString(name);
         req.setModuleId(moduleId);
 
@@ -355,7 +355,7 @@ public class JNDIContext implements Init
         else if (name.startsWith("java:")) name = name.replaceFirst("^java:", "");
         else if (!name.startsWith("/")) name = tail + name;
 
-        JNDIRequest req = new JNDIRequest(RequestMethodConstants.JNDI_LIST, name);
+        JNDIRequest req = new JNDIRequest(RequestMethodCode.JNDI_LIST, name);
         req.setModuleId(moduleId);
 
         JNDIResponse res = null;

Modified: openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIRequest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIRequest.java?rev=1291415&r1=1291414&r2=1291415&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIRequest.java (original)
+++ openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/JNDIRequest.java Mon Feb 20 19:16:48 2012
@@ -22,7 +22,7 @@ import java.io.ObjectOutput;
 
 public class JNDIRequest implements ClusterableRequest {
 
-    private transient int requestMethod = -1;
+    private transient RequestMethodCode requestMethod;
     private transient String requestString;
     private transient String moduleId;
     private transient int serverHash;
@@ -30,7 +30,7 @@ public class JNDIRequest implements Clus
     public JNDIRequest() {
     }
 
-    public JNDIRequest(int requestMethod, String requestString) {
+    public JNDIRequest(RequestMethodCode requestMethod, String requestString) {
         this.requestMethod = requestMethod;
         this.requestString = requestString;
     }
@@ -39,7 +39,7 @@ public class JNDIRequest implements Clus
         return RequestMethodConstants.JNDI_REQUEST;
     }
 
-    public int getRequestMethod() {
+    public RequestMethodCode getRequestMethod() {
         return requestMethod;
     }
 
@@ -55,7 +55,7 @@ public class JNDIRequest implements Clus
         this.moduleId = moduleId;
     }
 
-    public void setRequestMethod(int requestMethod) {
+    public void setRequestMethod(RequestMethodCode requestMethod) {
         this.requestMethod = requestMethod;
     }
 
@@ -74,7 +74,12 @@ public class JNDIRequest implements Clus
     public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
         byte version = in.readByte(); // future use
 
-        requestMethod = in.readByte();
+        int code = in.readByte();
+        try {
+            requestMethod = RequestMethodCode.valueOf(code);
+        } catch (IllegalArgumentException iae) {
+            throw new IOException("Invalid request code " + code);
+        }
         requestString = in.readUTF();
         moduleId = (String) in.readObject();
         serverHash = in.readInt();
@@ -84,7 +89,7 @@ public class JNDIRequest implements Clus
         // write out the version of the serialized data for future use
         out.writeByte(1);
 
-        out.writeByte((byte) requestMethod);
+        out.writeByte((byte) requestMethod.getCode());
         out.writeUTF(requestString);
         out.writeObject(moduleId);
         out.writeInt(serverHash);
@@ -93,11 +98,7 @@ public class JNDIRequest implements Clus
     public String toString() {
         StringBuilder sb = new StringBuilder(100);
 
-        switch(requestMethod){
-            case RequestMethodConstants.JNDI_LOOKUP: sb.append("JNDI_LOOKUP:"); break;
-            case RequestMethodConstants.JNDI_LIST: sb.append("JNDI_LIST:"); break;
-            case RequestMethodConstants.JNDI_LIST_BINDINGS: sb.append("JNDI_LIST_BINDINGS:"); break;
-        }
+        sb.append(requestMethod);
         sb.append(this.moduleId).append(":");
         sb.append(this.requestString);
         return sb.toString();

Added: openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/RequestMethodCode.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/RequestMethodCode.java?rev=1291415&view=auto
==============================================================================
--- openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/RequestMethodCode.java (added)
+++ openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/RequestMethodCode.java Mon Feb 20 19:16:48 2012
@@ -0,0 +1,70 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.client;
+
+import java.util.HashMap;
+import java.util.Map;
+
+
+/**
+ *
+ */
+public enum RequestMethodCode {
+    EJB_HOME_GET_EJB_META_DATA(1),
+    EJB_HOME_GET_HOME_HANDLE(2),
+    EJB_HOME_REMOVE_BY_HANDLE(3),
+    EJB_HOME_REMOVE_BY_PKEY(4),
+
+    EJB_HOME_FIND(9),
+    EJB_HOME_CREATE(10),
+
+    EJB_OBJECT_GET_EJB_HOME(14),
+    EJB_OBJECT_GET_HANDLE(15),
+    EJB_OBJECT_GET_PRIMARY_KEY(16),
+    EJB_OBJECT_IS_IDENTICAL(17),
+    EJB_OBJECT_REMOVE(18),
+
+    EJB_OBJECT_BUSINESS_METHOD(23),
+    EJB_HOME_METHOD(24),
+
+    JNDI_LOOKUP(27),
+    JNDI_LIST(28),
+    JNDI_LIST_BINDINGS(29),
+
+    FUTURE_CANCEL(35);
+
+    private final int code;
+    private final static Map<Integer, RequestMethodCode> ENUM_MAP = new HashMap<Integer, RequestMethodCode>();
+
+    static {
+        for (RequestMethodCode e : RequestMethodCode.values()) ENUM_MAP.put(e.code, e);
+    }
+
+    private RequestMethodCode(int code) {
+        this.code = code;
+    }
+
+    public int getCode() {
+        return code;
+    }
+
+    public static RequestMethodCode valueOf(int key) {
+        RequestMethodCode result = ENUM_MAP.get(key);
+        if (result == null) throw new IllegalArgumentException();
+        return result;
+    }
+}

Modified: openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/RequestMethodConstants.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/RequestMethodConstants.java?rev=1291415&r1=1291414&r2=1291415&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/RequestMethodConstants.java (original)
+++ openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/RequestMethodConstants.java Mon Feb 20 19:16:48 2012
@@ -28,29 +28,5 @@ public class RequestMethodConstants {
     public static final byte STOP_REQUEST_quit = (byte) 'q';
     public static final byte STOP_REQUEST_Stop = (byte) 'S';
     public static final byte STOP_REQUEST_stop = (byte) 's';
-
-    public static final int EJB_HOME_GET_EJB_META_DATA = 1;
-    public static final int EJB_HOME_GET_HOME_HANDLE = 2;
-    public static final int EJB_HOME_REMOVE_BY_HANDLE = 3;
-    public static final int EJB_HOME_REMOVE_BY_PKEY = 4;
-
-    public static final int EJB_HOME_FIND = 9;
-    public static final int EJB_HOME_CREATE = 10;
-
-    public static final int EJB_OBJECT_GET_EJB_HOME = 14;
-    public static final int EJB_OBJECT_GET_HANDLE = 15;
-    public static final int EJB_OBJECT_GET_PRIMARY_KEY = 16;
-    public static final int EJB_OBJECT_IS_IDENTICAL = 17;
-    public static final int EJB_OBJECT_REMOVE = 18;
-
-    public static final int EJB_OBJECT_BUSINESS_METHOD = 23;
-    public static final int EJB_HOME_METHOD = 24;
-
-    public static final int JNDI_LOOKUP = 27;
-    public static final int JNDI_LIST = 28;
-    public static final int JNDI_LIST_BINDINGS = 29;
-
-    public static final int FUTURE_CANCEL = 35;
-
 }
 

Modified: openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBHomeHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBHomeHandler.java?rev=1291415&r1=1291414&r2=1291415&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBHomeHandler.java (original)
+++ openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBHomeHandler.java Mon Feb 20 19:16:48 2012
@@ -51,7 +51,7 @@ public class StatefulEJBHomeHandler exte
             throw new SystemException(new IllegalArgumentException("The handle is not from the same deployment"));
         }
 
-        EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_HOME_REMOVE_BY_HANDLE, ejb, method, args, primKey);
+        EJBRequest req = new EJBRequest(RequestMethodCode.EJB_HOME_REMOVE_BY_HANDLE, ejb, method, args, primKey);
 
         EJBResponse res = request(req);
 

Modified: openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBObjectHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBObjectHandler.java?rev=1291415&r1=1291414&r2=1291415&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBObjectHandler.java (original)
+++ openejb/trunk/openejb/server/openejb-client/src/main/java/org/apache/openejb/client/StatefulEJBObjectHandler.java Mon Feb 20 19:16:48 2012
@@ -56,7 +56,7 @@ public class StatefulEJBObjectHandler ex
     
     protected Object remove(Method method, Object[] args, Object proxy) throws Throwable {
 
-        EJBRequest req = new EJBRequest(RequestMethodConstants.EJB_OBJECT_REMOVE, ejb, method, args, primaryKey);
+        EJBRequest req = new EJBRequest(RequestMethodCode.EJB_OBJECT_REMOVE, ejb, method, args, primaryKey);
 
         EJBResponse res = request(req);
 

Modified: openejb/trunk/openejb/server/openejb-client/src/test/java/org/apache/openejb/client/EJBRequestTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-client/src/test/java/org/apache/openejb/client/EJBRequestTest.java?rev=1291415&r1=1291414&r2=1291415&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-client/src/test/java/org/apache/openejb/client/EJBRequestTest.java (original)
+++ openejb/trunk/openejb/server/openejb-client/src/test/java/org/apache/openejb/client/EJBRequestTest.java Mon Feb 20 19:16:48 2012
@@ -42,7 +42,7 @@ public class EJBRequestTest extends Test
     }
 
     public void testEJBHomeCreate() throws Exception {
-        int requestMethod = RequestMethodConstants.EJB_HOME_CREATE;
+        RequestMethodCode requestMethod = RequestMethodCode.EJB_HOME_CREATE;
         Method method = FooHome.class.getMethod("create", new Class[]{});
         Object[] args = new Object[]{};
 
@@ -50,7 +50,7 @@ public class EJBRequestTest extends Test
     }
 
     public void testEJBHomeFind() throws Exception {
-        int requestMethod = RequestMethodConstants.EJB_HOME_FIND;
+        RequestMethodCode requestMethod = RequestMethodCode.EJB_HOME_FIND;
         Method method = FooHome.class.getMethod("findByPrimaryKey", new Class[]{Integer.class});
         Object[] args = new Object[]{new Integer(4)};
 
@@ -58,7 +58,7 @@ public class EJBRequestTest extends Test
     }
 
     public void testEJBHomeRemove1() throws Exception {
-        int requestMethod = RequestMethodConstants.EJB_HOME_REMOVE_BY_HANDLE;
+        RequestMethodCode requestMethod = RequestMethodCode.EJB_HOME_REMOVE_BY_HANDLE;
         Method method = FooHome.class.getMethod("remove", new Class[]{Handle.class});
         Object[] args = new Object[]{null};
 
@@ -66,7 +66,7 @@ public class EJBRequestTest extends Test
     }
 
     public void testEJBHomeRemove2() throws Exception {
-        int requestMethod = RequestMethodConstants.EJB_HOME_REMOVE_BY_PKEY;
+        RequestMethodCode requestMethod = RequestMethodCode.EJB_HOME_REMOVE_BY_PKEY;
         Method method = FooHome.class.getMethod("remove", new Class[]{Object.class});
         Object[] args = new Object[]{new Integer(4)};
 
@@ -74,7 +74,7 @@ public class EJBRequestTest extends Test
     }
 
     public void testGetMetaData() throws Exception {
-        int requestMethod = RequestMethodConstants.EJB_HOME_GET_EJB_META_DATA;
+        RequestMethodCode requestMethod = RequestMethodCode.EJB_HOME_GET_EJB_META_DATA;
         Method method = FooHome.class.getMethod("getEJBMetaData", new Class[]{});
         Object[] args = new Object[]{};
 
@@ -82,7 +82,7 @@ public class EJBRequestTest extends Test
     }
 
     public void testGetHomeHandle() throws Exception {
-        int requestMethod = RequestMethodConstants.EJB_HOME_GET_HOME_HANDLE;
+        RequestMethodCode requestMethod = RequestMethodCode.EJB_HOME_GET_HOME_HANDLE;
         Method method = FooHome.class.getMethod("getHomeHandle", new Class[]{});
         Object[] args = new Object[]{};
 
@@ -90,7 +90,7 @@ public class EJBRequestTest extends Test
     }
 
     public void testBusinessMethod() throws Exception {
-        int requestMethod = RequestMethodConstants.EJB_OBJECT_BUSINESS_METHOD;
+        RequestMethodCode requestMethod = RequestMethodCode.EJB_OBJECT_BUSINESS_METHOD;
         Method method = FooObject.class.getMethod("businessMethod", new Class[]{String.class});
         Object[] args = new Object[]{"hola mundo"};
 
@@ -98,7 +98,7 @@ public class EJBRequestTest extends Test
     }
 
     public void testGetEJBHome() throws Exception {
-        int requestMethod = RequestMethodConstants.EJB_OBJECT_GET_EJB_HOME;
+        RequestMethodCode requestMethod = RequestMethodCode.EJB_OBJECT_GET_EJB_HOME;
         Method method = FooObject.class.getMethod("getEJBHome", new Class[]{});
         Object[] args = new Object[]{};
 
@@ -106,7 +106,7 @@ public class EJBRequestTest extends Test
     }
 
     public void testGetHandle() throws Exception {
-        int requestMethod = RequestMethodConstants.EJB_OBJECT_GET_HANDLE;
+        RequestMethodCode requestMethod = RequestMethodCode.EJB_OBJECT_GET_HANDLE;
         Method method = FooObject.class.getMethod("getHandle", new Class[]{});
         Object[] args = new Object[]{};
 
@@ -114,7 +114,7 @@ public class EJBRequestTest extends Test
     }
 
     public void testGetPrimaryKey() throws Exception {
-        int requestMethod = RequestMethodConstants.EJB_OBJECT_GET_PRIMARY_KEY;
+        RequestMethodCode requestMethod = RequestMethodCode.EJB_OBJECT_GET_PRIMARY_KEY;
         Method method = FooObject.class.getMethod("getPrimaryKey", new Class[]{});
         Object[] args = new Object[]{};
 
@@ -122,7 +122,7 @@ public class EJBRequestTest extends Test
     }
 
     public void testIsIdentical() throws Exception {
-        int requestMethod = RequestMethodConstants.EJB_OBJECT_IS_IDENTICAL;
+        RequestMethodCode requestMethod = RequestMethodCode.EJB_OBJECT_IS_IDENTICAL;
         Method method = FooObject.class.getMethod("isIdentical", new Class[]{EJBObject.class});
         Object[] args = new Object[]{null};
 
@@ -130,14 +130,14 @@ public class EJBRequestTest extends Test
     }
 
     public void testEJBObjectRemove() throws Exception {
-        int requestMethod = RequestMethodConstants.EJB_OBJECT_REMOVE;
+        RequestMethodCode requestMethod = RequestMethodCode.EJB_OBJECT_REMOVE;
         Method method = FooObject.class.getMethod("remove", new Class[]{});
         Object[] args = new Object[]{};
 
         invoke(requestMethod, method, args);
     }
 
-    private void invoke(int requestMethod, Method method, Object[] args) throws IOException, ClassNotFoundException {
+    private void invoke(RequestMethodCode requestMethod, Method method, Object[] args) throws IOException, ClassNotFoundException {
         EJBRequest expected = new EJBRequest(requestMethod, ejb, method, args, null);
 
         EJBRequest actual = new EJBRequest();

Modified: openejb/trunk/openejb/server/openejb-client/src/test/java/org/apache/openejb/client/JndiRequestTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-client/src/test/java/org/apache/openejb/client/JndiRequestTest.java?rev=1291415&r1=1291414&r2=1291415&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-client/src/test/java/org/apache/openejb/client/JndiRequestTest.java (original)
+++ openejb/trunk/openejb/server/openejb-client/src/test/java/org/apache/openejb/client/JndiRequestTest.java Mon Feb 20 19:16:48 2012
@@ -31,7 +31,7 @@ import java.io.ObjectOutputStream;
 public class JndiRequestTest extends TestCase {
 
     public void testExternalize() throws Exception {
-        JNDIRequest expected = new JNDIRequest(RequestMethodConstants.JNDI_LOOKUP, "this/is/a/jndi/name");
+        JNDIRequest expected = new JNDIRequest(RequestMethodCode.JNDI_LOOKUP, "this/is/a/jndi/name");
         JNDIRequest actual = new JNDIRequest();
 
         externalize(expected, actual);
@@ -43,7 +43,7 @@ public class JndiRequestTest extends Tes
 
 
     public void testExternalize2() throws Exception {
-        JNDIRequest expected = new JNDIRequest(RequestMethodConstants.JNDI_LOOKUP, "this/is/a/jndi/name");
+        JNDIRequest expected = new JNDIRequest(RequestMethodCode.JNDI_LOOKUP, "this/is/a/jndi/name");
         expected.setModuleId("foobar");
         JNDIRequest actual = new JNDIRequest();
 

Modified: openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbRequestHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbRequestHandler.java?rev=1291415&r1=1291414&r2=1291415&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbRequestHandler.java (original)
+++ openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbRequestHandler.java Mon Feb 20 19:16:48 2012
@@ -124,73 +124,73 @@ class EjbRequestHandler {
         try {
             switch (req.getRequestMethod()) {
                 // Remote interface methods
-                case RequestMethodConstants.EJB_OBJECT_BUSINESS_METHOD:
+                case EJB_OBJECT_BUSINESS_METHOD:
                     doEjbObject_BUSINESS_METHOD(req, res);
                     updateServer(req, res);
                     break;
 
                 // Home interface methods
-                case RequestMethodConstants.EJB_HOME_CREATE:
+                case EJB_HOME_CREATE:
                     doEjbHome_CREATE(req, res);
                     updateServer(req, res);
                     break;
 
                 // Home interface methods
-                case RequestMethodConstants.EJB_HOME_METHOD:
+                case EJB_HOME_METHOD:
                     doEjbHome_METHOD(req, res);
                     updateServer(req, res);
                     break;
 
-                case RequestMethodConstants.EJB_HOME_FIND:
+                case EJB_HOME_FIND:
                     doEjbHome_FIND(req, res);
                     updateServer(req, res);
                     break;
 
                 // javax.ejb.EJBObject methods
-                case RequestMethodConstants.EJB_OBJECT_GET_EJB_HOME:
+                case EJB_OBJECT_GET_EJB_HOME:
                     doEjbObject_GET_EJB_HOME(req, res);
                     updateServer(req, res);
                     break;
 
-                case RequestMethodConstants.EJB_OBJECT_GET_HANDLE:
+                case EJB_OBJECT_GET_HANDLE:
                     doEjbObject_GET_HANDLE(req, res);
                     updateServer(req, res);
                     break;
 
-                case RequestMethodConstants.EJB_OBJECT_GET_PRIMARY_KEY:
+                case EJB_OBJECT_GET_PRIMARY_KEY:
                     doEjbObject_GET_PRIMARY_KEY(req, res);
                     updateServer(req, res);
                     break;
 
-                case RequestMethodConstants.EJB_OBJECT_IS_IDENTICAL:
+                case EJB_OBJECT_IS_IDENTICAL:
                     doEjbObject_IS_IDENTICAL(req, res);
                     updateServer(req, res);
                     break;
 
-                case RequestMethodConstants.EJB_OBJECT_REMOVE:
+                case EJB_OBJECT_REMOVE:
                     doEjbObject_REMOVE(req, res);
                     break;
 
                 // javax.ejb.EJBHome methods
-                case RequestMethodConstants.EJB_HOME_GET_EJB_META_DATA:
+                case EJB_HOME_GET_EJB_META_DATA:
                     doEjbHome_GET_EJB_META_DATA(req, res);
                     updateServer(req, res);
                     break;
 
-                case RequestMethodConstants.EJB_HOME_GET_HOME_HANDLE:
+                case EJB_HOME_GET_HOME_HANDLE:
                     doEjbHome_GET_HOME_HANDLE(req, res);
                     updateServer(req, res);
                     break;
 
-                case RequestMethodConstants.EJB_HOME_REMOVE_BY_HANDLE:
+                case EJB_HOME_REMOVE_BY_HANDLE:
                     doEjbHome_REMOVE_BY_HANDLE(req, res);
                     break;
 
-                case RequestMethodConstants.EJB_HOME_REMOVE_BY_PKEY:
+                case EJB_HOME_REMOVE_BY_PKEY:
                     doEjbHome_REMOVE_BY_PKEY(req, res);
                     break;
 
-                case RequestMethodConstants.FUTURE_CANCEL:
+                case FUTURE_CANCEL:
                     doFUTURE_CANCEL_METHOD(req, res);
                     break;
             }

Modified: openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java?rev=1291415&r1=1291414&r2=1291415&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java (original)
+++ openejb/trunk/openejb/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/JndiRequestHandler.java Mon Feb 20 19:16:48 2012
@@ -139,8 +139,8 @@ class JndiRequestHandler {
             String prefix = getPrefix(req);
 
             switch(req.getRequestMethod()){
-                case RequestMethodConstants.JNDI_LOOKUP: doLookup(req, res, prefix); break;
-                case RequestMethodConstants.JNDI_LIST: doList(req, res, prefix); break;
+                case JNDI_LOOKUP: doLookup(req, res, prefix); break;
+                case JNDI_LIST: doList(req, res, prefix); break;
             }
 
         } catch (Throwable e) {

Modified: openejb/trunk/openejb/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/DeploymentIndexTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/DeploymentIndexTest.java?rev=1291415&r1=1291414&r2=1291415&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/DeploymentIndexTest.java (original)
+++ openejb/trunk/openejb/server/openejb-ejbd/src/test/java/org/apache/openejb/server/ejbd/DeploymentIndexTest.java Mon Feb 20 19:16:48 2012
@@ -46,7 +46,7 @@ public class DeploymentIndexTest {
     @Test
     public void testGetDeploymentEJBRequest() throws RemoteException {
         EJBMetaDataImpl ejbMetadataWithId = new EJBMetaDataImpl(null, null, null, null, null, 1, InterfaceType.BUSINESS_REMOTE, null, null);
-        EJBRequest request = new EJBRequest(0, ejbMetadataWithId, method, null, null);
+        EJBRequest request = new EJBRequest(null, ejbMetadataWithId, method, null, null);
         BeanContext info = deploymentIndex.getDeployment(request);
         assert beanContext.equals(info);
         assert request.getDeploymentId().equals(info.getDeploymentID());
@@ -56,7 +56,7 @@ public class DeploymentIndexTest {
     public void testGetDeploymentEJBRequestRemoteException() throws RemoteException {
         // 0 causes DeploymentIndex to move further
         EJBMetaDataImpl ejbMetadata = new EJBMetaDataImpl(null, null, null, null, null, 0, InterfaceType.BUSINESS_REMOTE, null, null);
-        EJBRequest request = new EJBRequest(0, ejbMetadata, method, null, null);
+        EJBRequest request = new EJBRequest(null, ejbMetadata, method, null, null);
         deploymentIndex.getDeployment(request);
     }