User: salborini
Date: 00/07/26 15:35:22
Modified: src/main/org/jboss/ejb EntityContainer.java
Log:
Added support for finder methods that return java.util.Enumeration
Revision Changes Path
1.15 +18 -2 jboss/src/main/org/jboss/ejb/EntityContainer.java
Index: EntityContainer.java
===================================================================
RCS file: /products/cvs/ejboss/jboss/src/main/org/jboss/ejb/EntityContainer.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- EntityContainer.java 2000/07/14 18:36:20 1.14
+++ EntityContainer.java 2000/07/26 22:35:22 1.15
@@ -25,6 +25,7 @@
import javax.ejb.RemoveException;
import org.jboss.logging.Logger;
+import org.jboss.util.SerializableEnumeration;
/**
* This is a Container for EntityBeans (both BMP and CMP).
@@ -33,7 +34,8 @@
* @see EntityEnterpriseContext
* @author Rickard �berg ([EMAIL PROTECTED])
* @author <a href="mailto:[EMAIL PROTECTED]">Marc Fleury</a>
- * @version $Revision: 1.14 $
+ * @author <a href="mailto:[EMAIL PROTECTED]">Sebastien Alborini</a>
+ * @version $Revision: 1.15 $
*/
public class EntityContainer
extends Container
@@ -365,7 +367,21 @@
{
// Iterator finder
Collection c = getPersistenceManager().findEntities(mi.getMethod(),
mi.getArguments(), (EntityEnterpriseContext)mi.getEnterpriseContext());
- return containerInvoker.getEntityCollection(c);
+ Collection ec = containerInvoker.getEntityCollection(c);
+
+ // BMP entity finder methods are allowed to return
java.util.Enumeration.
+ // We need a serializable Enumeration, so we can't use
Collections.enumeration()
+ try {
+ if
(mi.getMethod().getReturnType().equals(Class.forName("java.util.Enumeration"))) {
+ return new SerializableEnumeration(ec);
+ } else {
+ return ec;
+ }
+ } catch (ClassNotFoundException e) {
+ // shouldn't happen
+ return ec;
+ }
+
} else
{
// Single entity finder