You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by da...@apache.org on 2006/11/29 00:23:10 UTC

svn commit: r480276 [2/2] - in /incubator/openejb/trunk/openejb3: container/openejb-core/src/main/java/org/apache/openejb/ container/openejb-core/src/main/java/org/apache/openejb/alt/config/ container/openejb-core/src/main/java/org/apache/openejb/assem...

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarBuilder.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarBuilder.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarBuilder.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarBuilder.java Tue Nov 28 15:23:07 2006
@@ -37,7 +37,7 @@
     }
 
     public HashMap<String, DeploymentInfo> build(EjbJarInfo ejbJar) throws OpenEJBException {
-        HashMap<String, DeploymentInfo> deployments = new HashMap();
+        HashMap<String, DeploymentInfo> deployments = new HashMap<String, DeploymentInfo>();
         for (EnterpriseBeanInfo ejbInfo: ejbJar.enterpriseBeans) {
             try {
                 EnterpriseBeanBuilder deploymentBuilder = new EnterpriseBeanBuilder(classLoader, ejbInfo);

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EjbJarInfo.java Tue Nov 28 15:23:07 2006
@@ -21,6 +21,6 @@
 
 public class EjbJarInfo extends InfoObject {
     public String jarPath;
-    public EnterpriseBeanInfo[] enterpriseBeans;
+    public final List<EnterpriseBeanInfo> enterpriseBeans = new ArrayList<EnterpriseBeanInfo>();
     public final List<InterceptorInfo> defaultInterceptors = new ArrayList<InterceptorInfo>();
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanBuilder.java Tue Nov 28 15:23:07 2006
@@ -39,7 +39,7 @@
     private final EnterpriseBeanInfo bean;
     private final BeanType ejbType;
     private final ClassLoader cl;
-    private List<Exception> warnings = new ArrayList();
+    private List<Exception> warnings = new ArrayList<Exception>();
 
     public EnterpriseBeanBuilder(ClassLoader cl, EnterpriseBeanInfo bean) {
         this.bean = bean;
@@ -140,10 +140,7 @@
             deployment.setIsReentrant(entity.reentrant.equalsIgnoreCase("true"));
 
             if (ejbType == BeanType.CMP_ENTITY) {
-                QueryInfo[] queries = (entity.queries == null) ? new QueryInfo[]{} : entity.queries;
-                for (int i = 0; i < queries.length; i++) {
-                    QueryInfo query = queries[i];
-
+                for (QueryInfo query : entity.queries) {
                     Vector finderMethods = new Vector();
 
                     if (home != null) {
@@ -156,7 +153,7 @@
                         deployment.addQuery((Method) finderMethods.elementAt(j), query.queryStatement);
                     }
                 }
-                deployment.setCmrFields(entity.cmpFieldNames);
+                deployment.setCmrFields(entity.cmpFieldNames.toArray(new String[]{}));
 
                 if (entity.primKeyField != null) {
                     try {

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EnterpriseBeanInfo.java Tue Nov 28 15:23:07 2006
@@ -48,10 +48,10 @@
 
     public String transactionType;
     public JndiEncInfo jndiEnc;
-    public SecurityRoleReferenceInfo [] securityRoleReferences;
+    public final List<SecurityRoleReferenceInfo> securityRoleReferences = new ArrayList<SecurityRoleReferenceInfo>();
 
-    public List<LifecycleCallbackInfo> postConstruct = new ArrayList<LifecycleCallbackInfo>();
-    public List<LifecycleCallbackInfo> preDestroy = new ArrayList<LifecycleCallbackInfo>();
+    public final List<LifecycleCallbackInfo> postConstruct = new ArrayList<LifecycleCallbackInfo>();
+    public final List<LifecycleCallbackInfo> preDestroy = new ArrayList<LifecycleCallbackInfo>();
 
     public boolean excludeDefaultInterceptors;
     public final List<InterceptorInfo> classInterceptors = new ArrayList<InterceptorInfo>();

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EntityBeanInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EntityBeanInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EntityBeanInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EntityBeanInfo.java Tue Nov 28 15:23:07 2006
@@ -16,15 +16,18 @@
  */
 package org.apache.openejb.assembler.classic;
 
+import java.util.List;
+import java.util.ArrayList;
+
 public class EntityBeanInfo extends EnterpriseBeanInfo {
 
     public String primKeyClass;
     public String primKeyField;
     public String persistenceType;
     public String reentrant;
-    public String [] cmpFieldNames;
+    public final List<String> cmpFieldNames = new ArrayList<String>();
     public int cmpVersion;
-    public QueryInfo [] queries;
+    public final List<QueryInfo> queries = new ArrayList<QueryInfo>();
 
     public EntityBeanInfo() {
         type = ENTITY;

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EntityContainerInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EntityContainerInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EntityContainerInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/EntityContainerInfo.java Tue Nov 28 15:23:07 2006
@@ -17,9 +17,6 @@
 package org.apache.openejb.assembler.classic;
 
 public class EntityContainerInfo extends ContainerInfo {
-
-    public EntityBeanInfo[] beans;
-
     public EntityContainerInfo() {
         containerType = ENTITY_CONTAINER;
     }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/FacilitiesInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/FacilitiesInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/FacilitiesInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/FacilitiesInfo.java Tue Nov 28 15:23:07 2006
@@ -16,12 +16,15 @@
  */
 package org.apache.openejb.assembler.classic;
 
+import java.util.List;
+import java.util.ArrayList;
+
 public class FacilitiesInfo extends InfoObject {
 
     public IntraVmServerInfo intraVmServer;
-    public JndiContextInfo [] remoteJndiContexts;
-    public ConnectorInfo [] connectors;
-    public ConnectionManagerInfo [] connectionManagers;
+    public final List<JndiContextInfo> remoteJndiContexts = new ArrayList<JndiContextInfo>();
+    public final List<ConnectorInfo> connectors = new ArrayList<ConnectorInfo>();
+    public final List<ConnectionManagerInfo> connectionManagers = new ArrayList<ConnectionManagerInfo>();
     public TransactionServiceInfo transactionService;
     public SecurityServiceInfo securityService;
 

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/InterceptorInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/InterceptorInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/InterceptorInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/InterceptorInfo.java Tue Nov 28 15:23:07 2006
@@ -17,7 +17,7 @@
  */
 package org.apache.openejb.assembler.classic;
 
-public class InterceptorInfo {
+public class InterceptorInfo extends InfoObject{
     public String clazz;
     public String methodName;
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java Tue Nov 28 15:23:07 2006
@@ -69,14 +69,33 @@
 
         beanManagedTransactions = transactionType != null && transactionType.equalsIgnoreCase("Bean");
 
-        ejbReferences = (jndiEnc != null && jndiEnc.ejbReferences != null) ? jndiEnc.ejbReferences : new EjbReferenceInfo[]{};
-        ejbLocalReferences = (jndiEnc != null && jndiEnc.ejbLocalReferences != null) ? jndiEnc.ejbLocalReferences : new EjbLocalReferenceInfo[]{};
-        envEntries = (jndiEnc != null && jndiEnc.envEntries != null) ? jndiEnc.envEntries : new EnvEntryInfo[]{};
-        resourceRefs = (jndiEnc != null && jndiEnc.resourceRefs != null) ? jndiEnc.resourceRefs : new ResourceReferenceInfo[]{};
+        if ((jndiEnc != null && jndiEnc.ejbReferences != null)) {
+            ejbReferences = jndiEnc.ejbReferences.toArray(new EjbReferenceInfo[0]);
+        } else {
+            ejbReferences = new EjbReferenceInfo[]{};
+        }
+
+        if ((jndiEnc != null && jndiEnc.ejbLocalReferences != null)) {
+            ejbLocalReferences = jndiEnc.ejbLocalReferences.toArray(new EjbLocalReferenceInfo[0]);
+        } else {
+            ejbLocalReferences = new EjbLocalReferenceInfo[]{};
+        }
+
+        if ((jndiEnc != null && jndiEnc.envEntries != null)) {
+            envEntries = jndiEnc.envEntries.toArray(new EnvEntryInfo[0]);
+        } else {
+            envEntries = new EnvEntryInfo[]{};
+        }
+
+        if ((jndiEnc != null && jndiEnc.resourceRefs != null)) {
+            resourceRefs = jndiEnc.resourceRefs.toArray(new ResourceReferenceInfo[0]);
+        } else {
+            resourceRefs = new ResourceReferenceInfo[]{};
+        }
     }
 
     public Context build() throws OpenEJBException {
-        HashMap bindings = new HashMap();
+        Map<String, Object> bindings = new HashMap<String, Object>();
 
         if (beanManagedTransactions) {
             Object obj = Assembler.getContext().get(TransactionManager.class.getName());

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncInfo.java Tue Nov 28 15:23:07 2006
@@ -16,10 +16,13 @@
  */
 package org.apache.openejb.assembler.classic;
 
+import java.util.List;
+import java.util.ArrayList;
+
 public class JndiEncInfo extends InfoObject {
 
-    public EnvEntryInfo[] envEntries;
-    public EjbReferenceInfo[] ejbReferences;
-    public EjbLocalReferenceInfo[] ejbLocalReferences;
-    public ResourceReferenceInfo [] resourceRefs;
+    public final List<EnvEntryInfo> envEntries = new ArrayList<EnvEntryInfo>();
+    public final List<EjbReferenceInfo> ejbReferences = new ArrayList<EjbReferenceInfo>();
+    public final List<EjbLocalReferenceInfo> ejbLocalReferences = new ArrayList<EjbLocalReferenceInfo>();
+    public final List<ResourceReferenceInfo> resourceRefs = new ArrayList<ResourceReferenceInfo>();
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodInfo.java Tue Nov 28 15:23:07 2006
@@ -16,12 +16,14 @@
  */
 package org.apache.openejb.assembler.classic;
 
+import java.util.List;
+import java.util.ArrayList;
+
 public class MethodInfo extends InfoObject {
 
     public String description;
     public String ejbDeploymentId;
     public String methodIntf;
     public String methodName;
-    public String[] methodParams;
-
+    public final List<String> methodParams = new ArrayList<String>();
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodInterceptorInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodInterceptorInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodInterceptorInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodInterceptorInfo.java Tue Nov 28 15:23:07 2006
@@ -20,9 +20,9 @@
 import java.util.List;
 import java.util.ArrayList;
 
-public class MethodInterceptorInfo {
+public class MethodInterceptorInfo extends InfoObject {
     public MethodInfo methodInfo;
     public boolean excludeDefaultInterceptors;
     public boolean excludeClassInterceptors;
-    public List<InterceptorInfo> interceptors = new ArrayList<InterceptorInfo>();
+    public final List<InterceptorInfo> interceptors = new ArrayList<InterceptorInfo>();
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodPermissionInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodPermissionInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodPermissionInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodPermissionInfo.java Tue Nov 28 15:23:07 2006
@@ -16,10 +16,13 @@
  */
 package org.apache.openejb.assembler.classic;
 
+import java.util.List;
+import java.util.ArrayList;
+
 public class MethodPermissionInfo extends InfoObject {
 
     public String description;
-    public String[] roleNames;
-    public MethodInfo[] methods;
+    public final List<String> roleNames = new ArrayList<String>();
+    public final List<MethodInfo> methods = new ArrayList<MethodInfo>();
 
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodTransactionInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodTransactionInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodTransactionInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodTransactionInfo.java Tue Nov 28 15:23:07 2006
@@ -16,10 +16,13 @@
  */
 package org.apache.openejb.assembler.classic;
 
+import java.util.List;
+import java.util.ArrayList;
+
 public class MethodTransactionInfo extends InfoObject {
 
     public String description;
     public String transAttribute;
-    public MethodInfo[] methods;
+    public final List<MethodInfo> methods = new ArrayList<MethodInfo>();
 
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/RoleMappingInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/RoleMappingInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/RoleMappingInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/RoleMappingInfo.java Tue Nov 28 15:23:07 2006
@@ -16,9 +16,12 @@
  */
 package org.apache.openejb.assembler.classic;
 
+import java.util.List;
+import java.util.ArrayList;
+
 public class RoleMappingInfo extends InfoObject {
 
-    public String[] logicalRoleNames;
-    public String[] physicalRoleNames;
+    public final List<String> logicalRoleNames = new ArrayList<String>();
+    public final List<String> physicalRoleNames = new ArrayList<String>();
 
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/SecurityServiceInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/SecurityServiceInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/SecurityServiceInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/SecurityServiceInfo.java Tue Nov 28 15:23:07 2006
@@ -16,9 +16,12 @@
  */
 package org.apache.openejb.assembler.classic;
 
+import java.util.List;
+import java.util.ArrayList;
+
 public class SecurityServiceInfo extends ServiceInfo {
 
-    public RoleMappingInfo[] roleMappings;
+    public final List<RoleMappingInfo> roleMappings = new ArrayList<RoleMappingInfo>();
 
     public SecurityServiceInfo() {
         serviceType = SECURITY_SERVICE;

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatefulBeanInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatefulBeanInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatefulBeanInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatefulBeanInfo.java Tue Nov 28 15:23:07 2006
@@ -25,7 +25,7 @@
         type = STATEFUL;
     }
 
-    public List<LifecycleCallbackInfo> postActivate = new ArrayList();
-    public List<LifecycleCallbackInfo> prePassivate = new ArrayList();
+    public final List<LifecycleCallbackInfo> postActivate = new ArrayList<LifecycleCallbackInfo>();
+    public final List<LifecycleCallbackInfo> prePassivate = new ArrayList<LifecycleCallbackInfo>();
 
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatefulSessionContainerInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatefulSessionContainerInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatefulSessionContainerInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatefulSessionContainerInfo.java Tue Nov 28 15:23:07 2006
@@ -17,11 +17,7 @@
 package org.apache.openejb.assembler.classic;
 
 public class StatefulSessionContainerInfo extends ContainerInfo {
-
-    public StatefulBeanInfo[] beans;
-
     public StatefulSessionContainerInfo() {
         containerType = STATEFUL_SESSION_CONTAINER;
     }
-
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatelessBeanInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatelessBeanInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatelessBeanInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatelessBeanInfo.java Tue Nov 28 15:23:07 2006
@@ -17,7 +17,6 @@
 package org.apache.openejb.assembler.classic;
 
 public class StatelessBeanInfo extends EnterpriseBeanInfo {
-
     public StatelessBeanInfo() {
         type = STATELESS;
     }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatelessSessionContainerInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatelessSessionContainerInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatelessSessionContainerInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/StatelessSessionContainerInfo.java Tue Nov 28 15:23:07 2006
@@ -17,11 +17,7 @@
 package org.apache.openejb.assembler.classic;
 
 public class StatelessSessionContainerInfo extends ContainerInfo {
-
-    public StatelessBeanInfo[] beans;
-
     public StatelessSessionContainerInfo() {
         containerType = STATELESS_SESSION_CONTAINER;
     }
-
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/TransactionServiceInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/TransactionServiceInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/TransactionServiceInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/TransactionServiceInfo.java Tue Nov 28 15:23:07 2006
@@ -17,7 +17,6 @@
 package org.apache.openejb.assembler.classic;
 
 public class TransactionServiceInfo extends ServiceInfo {
-
     public TransactionServiceInfo() {
         serviceType = TRANSACTION_SERVICE;
     }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/AbstractDeploymentFactory.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/AbstractDeploymentFactory.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/AbstractDeploymentFactory.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/AbstractDeploymentFactory.java Tue Nov 28 15:23:07 2006
@@ -19,6 +19,7 @@
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.TreeMap;
+import java.util.List;
 import java.net.URL;
 import java.net.URI;
 import java.net.URISyntaxException;
@@ -179,7 +180,7 @@
         return null;
     }
 
-    protected static String resolveJarPath(String name, ClassLoader classLoader) throws SystemException {
+    protected static String resolveJarPath(String name, ClassLoader classLoader) {
         if (name == null) {
             return null;
         }
@@ -244,7 +245,7 @@
     }
 
     private void applySecurityRoleReference(CoreDeploymentInfo deployment) {
-        Map<String, String[]> roleMappings = new TreeMap<String, String[]>();
+        Map<String, List<String>> roleMappings = new TreeMap<String, List<String>>();
         for (RoleMapping roleMapping : AssemblerUtil.asList(assembly.roleMappings)) {
             roleMappings.put(roleMapping.logical, roleMapping.physical);
         }
@@ -254,7 +255,7 @@
             String roleName = roleRef.getValue();
 
 
-            String[] physicalRoles = roleMappings.get(roleLink);
+            List<String> physicalRoles = roleMappings.get(roleLink);
             deployment.addSecurityRoleReference(roleName, physicalRoles);
         }
     }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/Assembler.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/Assembler.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/Assembler.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/Assembler.java Tue Nov 28 15:23:07 2006
@@ -18,7 +18,6 @@
 
 import java.lang.reflect.Method;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
@@ -260,7 +259,7 @@
     }
 
     protected void applyMethodPermissions(CoreDeploymentInfo deploymentInfo, AssemblyInfo assemblyInfo) {
-        Map<String, String[]> roleMappings = new TreeMap<String, String[]>();
+        Map<String, List<String>> roleMappings = new TreeMap<String, List<String>>();
         for (org.apache.openejb.assembler.spring.RoleMapping roleMapping : AssemblerUtil.asList(assemblyInfo.roleMappings)) {
             roleMappings.put(roleMapping.logical, roleMapping.physical);
         }
@@ -277,17 +276,17 @@
         }
     }
 
-    protected String[] mapRoleNames(String[] names, Map<String, String[]> roleMappings) {
-        List<String> physicalRoles = new ArrayList<String>(names.length);
+    protected List<String> mapRoleNames(List<String> names, Map<String, List<String>> roleMappings) {
+        List<String> physicalRoles = new ArrayList<String>(names.size());
         for (String logical : names) {
-            String[] physical = roleMappings.get(logical);
+            List<String> physical = roleMappings.get(logical);
             if (physical == null) {
                 physicalRoles.add(logical);
             } else {
-                physicalRoles.addAll(Arrays.asList(physical));
+                physicalRoles.addAll(physical);
             }
         }
-        return physicalRoles.toArray(new String[physicalRoles.size()]);
+        return physicalRoles;
     }
 
     protected List<Method> resolveMethods(CoreDeploymentInfo deploymentInfo, MethodInfo methodInfo) {

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/MethodInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/MethodInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/MethodInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/MethodInfo.java Tue Nov 28 15:23:07 2006
@@ -29,10 +29,10 @@
     }
 
     public MethodInfo(org.apache.openejb.assembler.classic.MethodInfo info){
-        this.deploymentId = (String) info.ejbDeploymentId;
+        this.deploymentId = info.ejbDeploymentId;
         this.intf = info.methodIntf;
         this.name = info.methodName;
-        this.params = info.methodParams;
+        this.params = info.methodParams.toArray(new String[info.methodParams.size()]);
     }
 
     public String getDeploymentId() {

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/MethodPermissionInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/MethodPermissionInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/MethodPermissionInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/MethodPermissionInfo.java Tue Nov 28 15:23:07 2006
@@ -16,40 +16,42 @@
  */
 package org.apache.openejb.assembler.spring;
 
+import java.util.List;
+import java.util.ArrayList;
+
 /**
  * @org.apache.xbean.XBean element="permission"
  */
 public class MethodPermissionInfo {
-    public String[] roleNames;
-    public MethodInfo[] methods;
+    public List<String> roleNames = new ArrayList<String>();
+    public List<MethodInfo> methods = new ArrayList<MethodInfo>();
 
     public MethodPermissionInfo() {
     }
 
     public MethodPermissionInfo(org.apache.openejb.assembler.classic.MethodPermissionInfo info){
-        this.roleNames = info.roleNames;
-        this.methods = new MethodInfo[info.methods.length];
-        for (int i = 0; i < methods.length; i++) {
-            methods[i] = new MethodInfo(info.methods[i]);
+        this.roleNames.addAll(info.roleNames);
+        for (org.apache.openejb.assembler.classic.MethodInfo methodInfo : info.methods) {
+            methods.add(new MethodInfo(methodInfo));
         }
     }
 
-    public String[] getRoleNames() {
+    public List<String> getRoleNames() {
         return roleNames;
     }
 
-    public void setRoleNames(String[] roleNames) {
+    public void setRoleNames(List<String> roleNames) {
         this.roleNames = roleNames;
     }
 
     /**
      * @org.apache.xbean.FlatCollection childElement="method"
      */
-    public MethodInfo[] getMethods() {
+    public List<MethodInfo> getMethods() {
         return methods;
     }
 
-    public void setMethods(MethodInfo[] methods) {
+    public void setMethods(List<MethodInfo> methods) {
         this.methods = methods;
     }
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/MethodSignature.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/MethodSignature.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/MethodSignature.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/MethodSignature.java Tue Nov 28 15:23:07 2006
@@ -21,6 +21,7 @@
 import java.util.Arrays;
 import java.util.LinkedHashMap;
 import java.util.Map;
+import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -83,6 +84,15 @@
     public MethodSignature(String methodName, String[] parameterTypes) {
         this.methodName = methodName;
         this.parameterTypes = parameterTypes != null ? parameterTypes : NOARGS;
+    }
+
+    public MethodSignature(String methodName, List<String> parameterTypes) {
+        this.methodName = methodName;
+        if (parameterTypes == null) {
+            this.parameterTypes = NOARGS;
+        } else {
+            this.parameterTypes = parameterTypes.toArray(new String[parameterTypes.size()]);
+        }
     }
 
     public MethodSignature(String methodName, Class[] params) {

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/MethodTransactionInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/MethodTransactionInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/MethodTransactionInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/MethodTransactionInfo.java Tue Nov 28 15:23:07 2006
@@ -28,9 +28,9 @@
 
     public MethodTransactionInfo(org.apache.openejb.assembler.classic.MethodTransactionInfo info){
         this.transAttribute = info.transAttribute;
-        this.methods = new MethodInfo[info.methods.length];
+        this.methods = new MethodInfo[info.methods.size()];
         for (int i = 0; i < methods.length; i++) {
-            methods[i] = new MethodInfo(info.methods[i]);
+            methods[i] = new MethodInfo(info.methods.get(i));
         }
     }
     public String getTransAttribute() {

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/OpenEjbConfigToSpring.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/OpenEjbConfigToSpring.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/OpenEjbConfigToSpring.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/OpenEjbConfigToSpring.java Tue Nov 28 15:23:07 2006
@@ -18,7 +18,6 @@
 
 import java.io.PrintStream;
 import java.io.PrintWriter;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -43,6 +42,7 @@
 import org.apache.openejb.assembler.classic.QueryInfo;
 import org.apache.openejb.assembler.classic.ResourceReferenceInfo;
 import org.apache.openejb.assembler.classic.RoleMappingInfo;
+import org.apache.openejb.assembler.classic.JndiEncInfo;
 import org.apache.openejb.assembler.spring.xmlwriter.PrettyPrintXmlWriter;
 import org.apache.openejb.assembler.spring.xmlwriter.XmlWriter;
 
@@ -118,8 +118,7 @@
             writer.addAttribute("index", "0");
 
             writer.startElement("map");
-            for (int j = 0; j < container.ejbeans.length; j++) {
-                EnterpriseBeanInfo bean = container.ejbeans[j];
+            for (EnterpriseBeanInfo bean : container.ejbeans) {
 
                 writer.startElement("entry");
                 writer.addAttribute("key", bean.ejbDeploymentId);
@@ -169,13 +168,13 @@
             if ("container".equalsIgnoreCase(entity.persistenceType)) {
                 addOptionalAttribute("primKeyField", entity.primKeyField);
 
-                if (entity.cmpFieldNames != null && entity.cmpFieldNames.length > 0) {
+                if (entity.cmpFieldNames != null && !entity.cmpFieldNames.isEmpty()) {
                     writer.startElement("o:cmpFields");
                     writer.writeText(createCsv(entity.cmpFieldNames));
                     writer.endElement();
                 }
 
-                if (entity.queries != null && entity.queries.length > 0) {
+                if (entity.queries != null && !entity.queries.isEmpty()) {
                     writer.startElement("o:queries");
                     for (QueryInfo query : entity.queries) {
                         writer.startElement("o:query");
@@ -199,69 +198,60 @@
         writer.startElement("o:enc");
 
         // env entries
-        List<EnvEntryInfo> envEntries = AssemblerUtil.asList(bean.jndiEnc.envEntries);
-        if (!envEntries.isEmpty()) {
-            for (EnvEntryInfo entry : envEntries) {
-                writer.startElement("o:envEntry");
-
-                writer.addAttribute("name", entry.name);
-                writer.addAttribute("type", entry.type);
-                writer.addAttribute("value", entry.value);
+        JndiEncInfo jndiEnc = bean.jndiEnc;
+        for (EnvEntryInfo entry : jndiEnc.envEntries) {
+            writer.startElement("o:envEntry");
+
+            writer.addAttribute("name", entry.name);
+            writer.addAttribute("type", entry.type);
+            writer.addAttribute("value", entry.value);
 
-                writer.endElement();
-            }
+            writer.endElement();
         }
 
         // ejb refs
-        List<EjbReferenceInfo> ejbRefs = AssemblerUtil.asList(bean.jndiEnc.ejbReferences);
-        List<EjbLocalReferenceInfo> ejbLocalRefs = AssemblerUtil.asList(bean.jndiEnc.ejbLocalReferences);
-        if (!ejbRefs.isEmpty() || !ejbLocalRefs.isEmpty()) {
-            // remote ejb refs
-            for (EjbReferenceInfo ejbRef : ejbRefs) {
-                writer.startElement("o:ejbRef");
-
-                writer.addAttribute("name", ejbRef.referenceName);
-                writer.addAttribute("local", "false");
-
-                if (!ejbRef.location.remote) {
-                    writer.addAttribute("ejbId", ejbRef.location.ejbDeploymentId);
-                } else {
-                    writer.addAttribute("remoteName", ejbRef.location.jndiContextId);
-                    writer.addAttribute("remoteContextId", ejbRef.location.jndiContextId);
-                }
+        // remote ejb refs
+        for (EjbReferenceInfo ejbRef : bean.jndiEnc.ejbReferences) {
+            writer.startElement("o:ejbRef");
 
-                writer.endElement();
+            writer.addAttribute("name", ejbRef.referenceName);
+            writer.addAttribute("local", "false");
+
+            if (!ejbRef.location.remote) {
+                writer.addAttribute("ejbId", ejbRef.location.ejbDeploymentId);
+            } else {
+                writer.addAttribute("remoteName", ejbRef.location.jndiContextId);
+                writer.addAttribute("remoteContextId", ejbRef.location.jndiContextId);
             }
 
-            // local ejb refs
-            for (EjbLocalReferenceInfo ejbRef : ejbLocalRefs) {
-                writer.startElement("o:ejbRef");
+            writer.endElement();
+        }
 
-                writer.addAttribute("name", ejbRef.referenceName);
-                writer.addAttribute("local", "true");
-                writer.addAttribute("ejbId", ejbRef.location.ejbDeploymentId);
+        // local ejb refs
+        for (EjbLocalReferenceInfo ejbRef : bean.jndiEnc.ejbLocalReferences) {
+            writer.startElement("o:ejbRef");
+
+            writer.addAttribute("name", ejbRef.referenceName);
+            writer.addAttribute("local", "true");
+            writer.addAttribute("ejbId", ejbRef.location.ejbDeploymentId);
 
-                writer.endElement();
-            }
+            writer.endElement();
         }
 
         // resource refs
-        List<ResourceReferenceInfo> resourceRefs = AssemblerUtil.asList(bean.jndiEnc.resourceRefs);
-        if (!resourceRefs.isEmpty()) {
-            for (ResourceReferenceInfo resourceRef : resourceRefs) {
-                writer.startElement("o:resourceRef");
-
-                writer.addAttribute("name", resourceRef.referenceName);
-
-                if (resourceRef.location == null || !resourceRef.location.remote) {
-                    writer.addAttribute("resourceId", resourceRef.resourceID);
-                } else {
-                    writer.addAttribute("remoteName", resourceRef.location.jndiContextId);
-                    writer.addAttribute("remoteContextId", resourceRef.location.jndiContextId);
-                }
+        for (ResourceReferenceInfo resourceRef : bean.jndiEnc.resourceRefs) {
+            writer.startElement("o:resourceRef");
 
-                writer.endElement();
+            writer.addAttribute("name", resourceRef.referenceName);
+
+            if (resourceRef.location == null || !resourceRef.location.remote) {
+                writer.addAttribute("resourceId", resourceRef.resourceID);
+            } else {
+                writer.addAttribute("remoteName", resourceRef.location.jndiContextId);
+                writer.addAttribute("remoteContextId", resourceRef.location.jndiContextId);
             }
+
+            writer.endElement();
         }
 
         writer.endElement();
@@ -272,34 +262,34 @@
         writer.startElement("o:assembly");
         writer.addAttribute("id", ASSEMBLY_ID);
 
-        Map<String, String[]> map = new TreeMap<String, String[]>();
+        Map<String, List<String>> map = new TreeMap<String, List<String>>();
         for (RoleMappingInfo mapping : configInfo.facilities.securityService.roleMappings) {
             for (String logicalRoleName : mapping.logicalRoleNames) {
                 if (map.containsKey(logicalRoleName)) {
                     throw new IllegalStateException("Logical role " + logicalRoleName + " is mapped to " +
-                            Arrays.toString(map.get(logicalRoleName)) + " and " + mapping.physicalRoleNames);
+                            map.get(logicalRoleName) + " and " + mapping.physicalRoleNames);
                 }
                 map.put(logicalRoleName, mapping.physicalRoleNames);
             }
         }
 
-        for (Map.Entry<String, String[]> entry : map.entrySet()) {
+        for (Map.Entry<String, List<String>> entry : map.entrySet()) {
             String logicalRoleName = entry.getKey();
-            String[] physicalRoleNames = entry.getValue();
+            List<String> physicalRoleNames = entry.getValue();
             writer.startElement("o:roleMapping");
             writer.addAttribute("logical", logicalRoleName);
             writer.addAttribute("physical", createCsv(physicalRoleNames));
             writer.endElement();
         }
 
-        for (MethodPermissionInfo permissionInfo : AssemblerUtil.asList(configInfo.containerSystem.methodPermissions)) {
+        for (MethodPermissionInfo permissionInfo : configInfo.containerSystem.methodPermissions) {
             writer.startElement("o:permission");
             writer.addAttribute("roleNames", createCsv(permissionInfo.roleNames));
             writeMethodInfos(permissionInfo.methods);
             writer.endElement();
         }
 
-        for (MethodTransactionInfo transactionInfo : AssemblerUtil.asList(configInfo.containerSystem.methodTransactions)) {
+        for (MethodTransactionInfo transactionInfo : configInfo.containerSystem.methodTransactions) {
             writer.startElement("o:transaction");
             writer.addAttribute("transAttribute", transactionInfo.transAttribute);
             writeMethodInfos(transactionInfo.methods);
@@ -309,8 +299,8 @@
         writer.endElement();
     }
 
-    private void writeMethodInfos(MethodInfo[] methods) {
-        for (MethodInfo methodInfo : AssemblerUtil.asList(methods)) {
+    private void writeMethodInfos(List<MethodInfo> methods) {
+        for (MethodInfo methodInfo : methods) {
             writer.startElement("o:method");
             writer.addAttribute("deploymentId", methodInfo.ejbDeploymentId.toString());
             addOptionalAttribute("intf", methodInfo.methodIntf);
@@ -340,5 +330,13 @@
             buf.append(fieldName);
         }
         return buf.toString();
+    }
+
+    private static String createCsv(List<String> strings) {
+        if (strings == null) {
+            return null;
+        }
+
+        return createCsv(strings.toArray(new String[strings.size()]));
     }
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/RoleMapping.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/RoleMapping.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/RoleMapping.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/spring/RoleMapping.java Tue Nov 28 15:23:07 2006
@@ -16,12 +16,14 @@
  */
 package org.apache.openejb.assembler.spring;
 
+import java.util.List;
+
 /**
  * @org.apache.xbean.XBean element="roleMapping"
  */
 public class RoleMapping {
     public String logical;
-    public String[] physical;
+    public List<String> physical;
 
     public String getLogical() {
         return logical;
@@ -31,11 +33,11 @@
         this.logical = logical;
     }
 
-    public String[] getPhysical() {
+    public List<String> getPhysical() {
         return physical;
     }
 
-    public void setPhysical(String[] physical) {
+    public void setPhysical(List<String> physical) {
         this.physical = physical;
     }
 }

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreContext.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreContext.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreContext.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreContext.java Tue Nov 28 15:23:07 2006
@@ -30,6 +30,8 @@
 import org.apache.openejb.core.ivm.EjbObjectProxyHandler;
 import org.apache.openejb.util.proxy.ProxyManager;
 
+import java.util.List;
+
 public abstract class CoreContext implements java.io.Serializable {
 
     public final static byte SECURITY_METHOD = (byte) 1;
@@ -72,7 +74,7 @@
         checkBeanState(SECURITY_METHOD);
         ThreadContext threadContext = ThreadContext.getThreadContext();
         org.apache.openejb.core.CoreDeploymentInfo di = (org.apache.openejb.core.CoreDeploymentInfo) threadContext.getDeploymentInfo();
-        String physicalRoles [] = di.getPhysicalRole(roleName);
+        List<String> physicalRoles = di.getPhysicalRole(roleName);
         Object caller = threadContext.getSecurityIdentity();
         return securityService.isCallerAuthorized(caller, physicalRoles);
     }
@@ -223,7 +225,7 @@
         throw new UnsupportedOperationException("lookup");
     }
 
-    
+
     /*----------------------------------------------------*/
     /* UNSUPPORTED DEPRICATED METHODS                     */
     /*----------------------------------------------------*/

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/CoreDeploymentInfo.java Tue Nov 28 15:23:07 2006
@@ -21,6 +21,10 @@
 import java.net.URL;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Collection;
+import java.util.Collections;
 import javax.ejb.EJBHome;
 import javax.ejb.EJBLocalHome;
 import javax.ejb.EJBLocalObject;
@@ -92,11 +96,11 @@
     private HashMap postCreateMethodMap = new HashMap();
     private final BeanType componentType;
 
-    private HashMap methodPermissions = new HashMap();
+    private final Map<Method, Collection<String>> methodPermissions = new HashMap<Method, Collection<String>>();
     private HashMap methodTransactionAttributes = new HashMap();
     private HashMap methodTransactionPolicies = new HashMap();
     private HashMap methodMap = new HashMap();
-    private HashMap securityRoleReferenceMap = new HashMap();
+    private final Map<String, List<String>> securityRoleReferenceMap = new HashMap<String, List<String>>();
     private String jarPath;
 
     public Class getInterface(InterfaceType interfaceType) {
@@ -231,11 +235,10 @@
         public void handleSystemException(Throwable sysException, Object instance, TransactionContext context) throws ApplicationException, SystemException {
         }
     }
-    public String [] getAuthorizedRoles(Method method) {
-        HashSet roleSet = (HashSet) methodPermissions.get(method);
-        if (roleSet == null) return null;
-        String [] roles = new String[roleSet.size()];
-        return (String []) roleSet.toArray(roles);
+    public Collection<String> getAuthorizedRoles(Method method) {
+        Collection<String> roleSet = methodPermissions.get(method);
+        if (roleSet == null) return Collections.emptySet();
+        return roleSet;
     }
 
     public String [] getAuthorizedRoles(String action) {
@@ -347,22 +350,22 @@
         return (mthd == null) ? interfaceMethod : mthd;
     }
 
-    public void appendMethodPermissions(Method m, String [] roleNames) {
+    public void appendMethodPermissions(Method m, List<String> roleNames) {
         HashSet hs = (HashSet) methodPermissions.get(m);
         if (hs == null) {
             hs = new HashSet();// FIXME: Set appropriate load and intial capacity
             methodPermissions.put(m, hs);
         }
-        for (int i = 0; i < roleNames.length; i++) {
-            hs.add(roleNames[i]);
+        for (String roleName : roleNames) {
+            hs.add(roleName);
         }
     }
 
-    public String [] getPhysicalRole(String securityRoleReference) {
-        return (String[]) securityRoleReferenceMap.get(securityRoleReference);
+    public List<String> getPhysicalRole(String securityRoleReference) {
+        return securityRoleReferenceMap.get(securityRoleReference);
     }
 
-    public void addSecurityRoleReference(String securityRoleReference, String [] physicalRoles) {
+    public void addSecurityRoleReference(String securityRoleReference, List<String> physicalRoles) {
         securityRoleReferenceMap.put(securityRoleReference, physicalRoles);
     }
 

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ri/sp/PseudoSecurityService.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ri/sp/PseudoSecurityService.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ri/sp/PseudoSecurityService.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/ri/sp/PseudoSecurityService.java Tue Nov 28 15:23:07 2006
@@ -1,33 +1,32 @@
-/**
- * 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.
- */
+/**
+ * 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.ri.sp;
 
 import org.apache.openejb.spi.SecurityService;
-import org.apache.openejb.util.FastThreadLocal;
+
+import java.util.Collection;
 
 /**
  * @org.apache.xbean.XBean element="pseudoSecurityService"
  */
 public class PseudoSecurityService implements SecurityService {
-
-    private FastThreadLocal threadStorage = new FastThreadLocal();
+    private final ThreadLocal<Object> threadStorage = new ThreadLocal<Object>();
 
     public void init(java.util.Properties props) {
-        props = props;
     }
 
     public Object getSecurityIdentity() {
@@ -38,8 +37,7 @@
         threadStorage.set(securityIdentity);
     }
 
-    public boolean isCallerAuthorized(Object securityIdentity, String [] roleNames) {
-
+    public boolean isCallerAuthorized(Object securityIdentity, Collection<String> roleNames) {
         return true;
     }
 

Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/spi/SecurityService.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/spi/SecurityService.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/spi/SecurityService.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/spi/SecurityService.java Tue Nov 28 15:23:07 2006
@@ -16,9 +16,11 @@
  */
 package org.apache.openejb.spi;
 
+import java.util.Collection;
+
 public interface SecurityService extends Service {
 
-    public boolean isCallerAuthorized(Object securityIdentity, String [] roleNames);
+    public boolean isCallerAuthorized(Object securityIdentity, Collection<String> roleNames);
 
     public Object translateTo(Object securityIdentity, Class type);
 

Modified: incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbRequestHandler.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbRequestHandler.java?view=diff&rev=480276&r1=480275&r2=480276
==============================================================================
--- incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbRequestHandler.java (original)
+++ incubator/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbRequestHandler.java Tue Nov 28 15:23:07 2006
@@ -347,9 +347,8 @@
         SecurityService sec = SystemInstance.get().getComponent(SecurityService.class);
         CallContext caller = CallContext.getCallContext();
         DeploymentInfo di = caller.getDeploymentInfo();
-        String[] authRoles = di.getAuthorizedRoles(req.getMethodInstance());
 
-        if (sec.isCallerAuthorized(req.getClientIdentity(), authRoles)) {
+        if (sec.isCallerAuthorized(req.getClientIdentity(), di.getAuthorizedRoles(req.getMethodInstance()))) {
             res.setResponse(EJB_OK, null);
         } else {
             this.daemon.logger.info(req + "Unauthorized Access by Principal Denied");