dain 2004/04/10 02:51:38
Modified: modules/core/src/java/org/openejb/proxy
EJBMethodInterceptor.java StatefulEJBHome.java
StatefulEJBLocalHome.java
StatefulEJBLocalObject.java StatelessEJBHome.java
StatelessEJBLocalHome.java
StatelessEJBLocalObject.java
Log:
Rewrote most unit tests to work against the new container
Removed unit tests for already deleted code or functionality
Changed EJBHome and EJBLocalHome remove by primary key on Session beans
to throw RemoveException instead of RemoteException (see EJB 2.1
Specification Section 6.6)
Revision Changes Path
1.5 +8 -7
openejb/modules/core/src/java/org/openejb/proxy/EJBMethodInterceptor.java
Index: EJBMethodInterceptor.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/proxy/EJBMethodInterceptor.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- EJBMethodInterceptor.java 6 Apr 2004 19:11:58 -0000 1.4
+++ EJBMethodInterceptor.java 10 Apr 2004 06:51:38 -0000 1.5
@@ -60,7 +60,7 @@
interceptor = new ContainerHandler(container);
}
- if (!interfaceType.isLocal() || !skipCopy()) {
+ if (!interfaceType.isLocal() && !skipCopy()) {
interceptor = new SerializationHanlder(interceptor);
}
@@ -76,12 +76,13 @@
* @return
*/
private boolean skipCopy() {
- String value =
org.openejb.OpenEJB.getInitProps().getProperty("openejb.localcopy");
- if (value == null) {
- value = System.getProperty("openejb.localcopy");
- }
-
- return value != null && !value.equalsIgnoreCase("FALSE");
+// String value =
org.openejb.OpenEJB.getInitProps().getProperty("openejb.localcopy");
+// if (value == null) {
+// value = System.getProperty("openejb.localcopy");
+// }
+//
+// return value != null && !value.equalsIgnoreCase("FALSE");
+ return false;
}
private void readObject(java.io.ObjectInputStream in) throws
java.io.IOException, ClassNotFoundException {
1.4 +2 -2
openejb/modules/core/src/java/org/openejb/proxy/StatefulEJBHome.java
Index: StatefulEJBHome.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/proxy/StatefulEJBHome.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- StatefulEJBHome.java 21 Mar 2004 21:26:35 -0000 1.3
+++ StatefulEJBHome.java 10 Apr 2004 06:51:38 -0000 1.4
@@ -58,6 +58,6 @@
}
public void remove(Object primaryKey) throws RemoteException, RemoveException {
- throw new RemoteException("Session objects are private resources and do not
have primary keys");
+ throw new RemoveException("Session objects are private resources and do not
have primary keys");
}
}
1.4 +2 -2
openejb/modules/core/src/java/org/openejb/proxy/StatefulEJBLocalHome.java
Index: StatefulEJBLocalHome.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/proxy/StatefulEJBLocalHome.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- StatefulEJBLocalHome.java 21 Mar 2004 21:26:35 -0000 1.3
+++ StatefulEJBLocalHome.java 10 Apr 2004 06:51:38 -0000 1.4
@@ -58,6 +58,6 @@
}
public void remove(Object primaryKey) throws RemoveException, EJBException {
- throw new EJBException("Session objects are private resources and do not
have primary keys");
+ throw new RemoveException("Session objects are private resources and do not
have primary keys");
}
}
1.4 +12 -12
openejb/modules/core/src/java/org/openejb/proxy/StatefulEJBLocalObject.java
Index: StatefulEJBLocalObject.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/proxy/StatefulEJBLocalObject.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- StatefulEJBLocalObject.java 21 Mar 2004 21:26:35 -0000 1.3
+++ StatefulEJBLocalObject.java 10 Apr 2004 06:51:38 -0000 1.4
@@ -44,10 +44,8 @@
*/
package org.openejb.proxy;
-import java.rmi.RemoteException;
-
import javax.ejb.EJBException;
-import javax.ejb.EJBObject;
+import javax.ejb.EJBLocalObject;
import javax.ejb.RemoveException;
@@ -58,22 +56,24 @@
}
public Object getPrimaryKey() throws EJBException {
- throw new EJBException("Session objects are private resources and do not
have primary keys");
+ throw new EJBException("Session objects are private resources and do not
have primary keys");
}
- public boolean isIdentical(EJBObject obj) throws RemoteException {
+ public boolean isIdentical(EJBLocalObject obj) throws EJBException {
try {
- if (obj instanceof StatefulEJBLocalObject){
- Object thatID =
((StatefulEJBLocalObject)obj).getProxyInfo().getContainerID();
+ if (obj instanceof StatefulEJBLocalObject) {
+ Object thatID = ((StatefulEJBLocalObject)
obj).getProxyInfo().getContainerID();
Object thisID = getProxyInfo().getContainerID();
return thisID.equals(thatID);
- } else return false;
- } catch (Throwable t){
+ } else {
+ return false;
+ }
+ } catch (Throwable t) {
return false;
}
}
-
+
public void remove() throws EJBException, RemoveException {
}
-
+
}
1.4 +9 -2
openejb/modules/core/src/java/org/openejb/proxy/StatelessEJBHome.java
Index: StatelessEJBHome.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/proxy/StatelessEJBHome.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- StatelessEJBHome.java 21 Mar 2004 21:26:35 -0000 1.3
+++ StatelessEJBHome.java 10 Apr 2004 06:51:38 -0000 1.4
@@ -60,9 +60,16 @@
}
public void remove(Handle handle) throws RemoteException, RemoveException {
+ if (handle == null) {
+ throw new RemoveException("Handle is null");
+ }
+ Class remoteInterface = ejbHandler.getProxyInfo().getRemoteInterface();
+ if (!remoteInterface.isInstance(handle.getEJBObject())) {
+ throw new RemoteException("Handle does not hold a " +
remoteInterface.getName());
+ }
}
public void remove(Object primaryKey) throws RemoteException, RemoveException {
- throw new RemoteException("Session objects are private resources and do not
have primary keys");
+ throw new RemoveException("Session objects are private resources and do not
have primary keys");
}
}
1.4 +2 -2
openejb/modules/core/src/java/org/openejb/proxy/StatelessEJBLocalHome.java
Index: StatelessEJBLocalHome.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/proxy/StatelessEJBLocalHome.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- StatelessEJBLocalHome.java 21 Mar 2004 21:26:35 -0000 1.3
+++ StatelessEJBLocalHome.java 10 Apr 2004 06:51:38 -0000 1.4
@@ -58,6 +58,6 @@
}
public void remove(Object primaryKey) throws RemoveException, EJBException {
- throw new EJBException("Session objects are private resources and do not
have primary keys");
+ throw new RemoveException("Session objects are private resources and do not
have primary keys");
}
}
1.4 +6 -6
openejb/modules/core/src/java/org/openejb/proxy/StatelessEJBLocalObject.java
Index: StatelessEJBLocalObject.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/proxy/StatelessEJBLocalObject.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- StatelessEJBLocalObject.java 21 Mar 2004 21:26:35 -0000 1.3
+++ StatelessEJBLocalObject.java 10 Apr 2004 06:51:38 -0000 1.4
@@ -44,10 +44,8 @@
*/
package org.openejb.proxy;
-import java.rmi.RemoteException;
-
import javax.ejb.EJBException;
-import javax.ejb.EJBObject;
+import javax.ejb.EJBLocalObject;
import javax.ejb.RemoveException;
@@ -61,13 +59,15 @@
throw new EJBException("Statless Session objects are anonymous resources
and do not have primary keys");
}
- public boolean isIdentical(EJBObject obj) throws EJBException {
+ public boolean isIdentical(EJBLocalObject obj) throws EJBException {
try {
if (obj instanceof StatelessEJBLocalObject){
Object thatID =
((StatelessEJBLocalObject)obj).getProxyInfo().getContainerID();
Object thisID = getProxyInfo().getContainerID();
return thisID.equals(thatID);
- } else return false;
+ } else {
+ return false;
+ }
} catch (Throwable t){
return false;
}