[jboss-cvs] JBossAS SVN: r73399 - in projects/ejb3/trunk: common/src/main/java/org and 9 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed May 14 18:47:19 EDT 2008


Author: ALRubinger
Date: 2008-05-14 18:47:19 -0400 (Wed, 14 May 2008)
New Revision: 73399

Added:
   projects/ejb3/trunk/common/src/main/java/org/
   projects/ejb3/trunk/common/src/main/java/org/jboss/
   projects/ejb3/trunk/common/src/main/java/org/jboss/ejb3/
   projects/ejb3/trunk/common/src/main/java/org/jboss/ejb3/common/
   projects/ejb3/trunk/common/src/main/java/org/jboss/ejb3/common/lang/
   projects/ejb3/trunk/common/src/main/java/org/jboss/ejb3/common/lang/ClassHelper.java
Removed:
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/lang/ClassHelper.java
Modified:
   projects/ejb3/trunk/core/.classpath
   projects/ejb3/trunk/core/.project
   projects/ejb3/trunk/core/.settings/org.eclipse.jdt.core.prefs
   projects/ejb3/trunk/core/pom.xml
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3Deployment.java
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3DescriptorHandler.java
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryHelper.java
Log:
[EJBTHREE-1363] Move ClassHelper to new EJB3 Commons

Copied: projects/ejb3/trunk/common/src/main/java/org/jboss/ejb3/common/lang/ClassHelper.java (from rev 73384, projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/lang/ClassHelper.java)
===================================================================
--- projects/ejb3/trunk/common/src/main/java/org/jboss/ejb3/common/lang/ClassHelper.java	                        (rev 0)
+++ projects/ejb3/trunk/common/src/main/java/org/jboss/ejb3/common/lang/ClassHelper.java	2008-05-14 22:47:19 UTC (rev 73399)
@@ -0,0 +1,194 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2007, Red Hat Middleware LLC, and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ejb3.common.lang;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * Usefull methods for classes.
+ *
+ * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
+ * @version $Revision$
+ */
+public class ClassHelper
+{
+   /**
+    * Casts an object to the class or interface represented
+    * by the targetClass <tt>Class</tt> object.
+    * The ClassCastException thrown is more descriptive than
+    * the original.
+    *
+    * @param obj the object to be cast
+    * @return the object after casting, or null if obj is null
+    *
+    * @throws ClassCastException if the object is not
+    * null and is not assignable to the type T.
+    */
+   public static <T> T cast(Class<T> targetClass, Object obj)
+   {
+      try
+      {
+         return targetClass.cast(obj);
+      }
+      catch(ClassCastException e)
+      {
+         assert obj != null : "a null can always be cast, it should never throw a ClassCastException";
+         throw new ClassCastException("Unable to cast " + obj.getClass() + " to " + targetClass);
+      }
+   }
+   
+   /**
+    * @see Class#argumentTypesToString
+    */
+   private static String argumentTypesToString(Class<?>[] argTypes)
+   {
+      StringBuilder buf = new StringBuilder();
+      buf.append("(");
+      if (argTypes != null)
+      {
+         for (int i = 0; i < argTypes.length; i++)
+         {
+            if (i > 0)
+            {
+               buf.append(", ");
+            }
+            Class<?> c = argTypes[i];
+            buf.append((c == null) ? "null" : c.getName());
+         }
+      }
+      buf.append(")");
+      return buf.toString();
+   }
+
+   private static Method findPrivateMethod(Class<?> target, String methodName, Class<?>... paramTypes)
+   {
+      // Top of the world
+      if(target == null)
+         return null;
+      
+      // TODO: what is faster? scan or catch exception?
+      for(Method method : target.getDeclaredMethods())
+      {
+         if(method.getName().equals(methodName))
+         {
+            if(paramTypes == null)
+               return method;
+            
+            if(Arrays.equals(method.getParameterTypes(), paramTypes))
+               return method;
+         }
+      }
+      
+      return findPrivateMethod(target.getSuperclass(), methodName, paramTypes);
+   }
+   
+   /**
+    * Find all methods with a specific name on a class and it's super classes
+    * regardless of parameter signature.
+    * 
+    * @param cls            the class to scan
+    * @param methodName     the name of the methods to find
+    * @return               a list of methods found, or empty
+    */
+   public static List<Method> getAllMethodsByName(Class<?> cls, String methodName)
+   {
+      List<Method> methods = new ArrayList<Method>();
+      populateWithMethodsByName(methods, cls, methodName);
+      return methods;
+   }
+   
+   /**
+    * Find all methods starting with the specified prefix on the specified
+    * class
+    * 
+    * @param clazz
+    * @param methodNamePrefix
+    * @return
+    */
+   public static List<Method> getAllMethodsByPrefix(Class<?> clazz, String methodNamePrefix)
+   {
+      List<Method> methods = new ArrayList<Method>();
+      ClassHelper.populateWithMethodsByPrefix(methods, clazz, methodNamePrefix);
+      return methods;
+   }
+   
+   /**
+    * Returns the <code>Method</code> with the given attributes of either this class
+    * or one of it's super classes.
+    * 
+    * TODO: return type specifics are not considered
+    * FIXME: rename method (it must return all modifiers)
+    * 
+    * @param cls            class to scan
+    * @param methodName     the name of the method
+    * @param paramTypes     the parameter types
+    * @return               the <code>Method</code> matching the method name and parameters
+    * @throws NoSuchMethodException if no method can be found
+    */
+   public static Method getPrivateMethod(Class<?> cls, String methodName, Class<?>... paramTypes) throws NoSuchMethodException
+   {
+      assert cls != null : "cls is null";
+      assert methodName != null : "methodName is null";
+      
+      Method result = findPrivateMethod(cls, methodName, paramTypes);
+      if(result == null)
+         throw new NoSuchMethodException(cls.getName() + "." + methodName + argumentTypesToString(paramTypes));
+      
+      return result;
+   }
+   
+   private static void populateWithMethodsByName(List<Method> methods, Class<?> cls, String methodName)
+   {
+      // Top of the world
+      if(cls == null)
+         return;
+      
+      for(Method method : cls.getDeclaredMethods())
+      {
+         if(method.getName().equals(methodName))
+            methods.add(method);
+      }
+      
+      populateWithMethodsByName(methods, cls.getSuperclass(), methodName);
+   }
+   
+   private static void populateWithMethodsByPrefix(List<Method> methods, Class<?> clazz, String methodNamePrefix)
+   {
+      // Exit Condition
+      if (clazz == null)
+      {
+         return;
+      }
+
+      // For all declared methods
+      for (Method method : clazz.getDeclaredMethods())
+      {
+         if (method.getName().startsWith(methodNamePrefix))
+            methods.add(method);
+      }
+
+      populateWithMethodsByPrefix(methods, clazz.getSuperclass(), methodNamePrefix);
+   }
+}

Modified: projects/ejb3/trunk/core/.classpath
===================================================================
--- projects/ejb3/trunk/core/.classpath	2008-05-14 22:32:05 UTC (rev 73398)
+++ projects/ejb3/trunk/core/.classpath	2008-05-14 22:47:19 UTC (rev 73399)
@@ -1,10 +1,160 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="src" path="src/main/java"/>
-	<classpathentry excluding="**/*.java" kind="src" path="src/main/resources"/>
-	<classpathentry kind="src" output="eclipse-target/tests-classes" path="src/test/java"/>
-	<classpathentry excluding="**/*.java" kind="src" output="eclipse-target/tests-classes" path="src/test/resources"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
-	<classpathentry kind="output" path="eclipse-target/classes"/>
-</classpath>
+  <classpathentry kind="src" path="src/main/java"/>
+  <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+  <classpathentry kind="src" path="src/test/java" output="target/tests-classes"/>
+  <classpathentry kind="src" path="src/test/resources" output="target/tests-classes" excluding="**/*.java"/>
+  <classpathentry kind="output" path="target/classes"/>
+  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+  <classpathentry kind="var" path="M2_REPO/javax/activation/activation/1.0.2/activation-1.0.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/ant/ant/1.6.5/ant-1.6.5.jar" sourcepath="M2_REPO/ant/ant/1.6.5/ant-1.6.5-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant/1.7.0/ant-1.7.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/ant/ant-junit/1.6.5/ant-junit-1.6.5.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant-junit/1.7.0/ant-junit-1.7.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6.jar" sourcepath="M2_REPO/antlr/antlr/2.7.6/antlr-2.7.6-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/asm/asm/1.5.3/asm-1.5.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/asm/asm-attrs/1.5.3/asm-attrs-1.5.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/security/authorization-spi/2.0.2.Beta4/authorization-spi-2.0.2.Beta4.jar" sourcepath="M2_REPO/org/jboss/security/authorization-spi/2.0.2.Beta4/authorization-spi-2.0.2.Beta4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/bcel/bcel/5.1/bcel-5.1.jar" sourcepath="M2_REPO/bcel/bcel/5.1/bcel-5.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/bsh/bsh/1.3.0/bsh-1.3.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3.jar" sourcepath="M2_REPO/cglib/cglib/2.1_3/cglib-2.1_3-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1.jar" sourcepath="M2_REPO/commons-collections/commons-collections/2.1.1/commons-collections-2.1.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/apache-httpclient/commons-httpclient/2.0.2/commons-httpclient-2.0.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar" sourcepath="M2_REPO/commons-logging/commons-logging/1.0.4/commons-logging-1.0.4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/oswego-concurrent/concurrent/1.3.4-jboss-update1/concurrent-1.3.4-jboss-update1.jar" sourcepath="M2_REPO/oswego-concurrent/concurrent/1.3.4-jboss-update1/concurrent-1.3.4-jboss-update1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar" sourcepath="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3.jar" sourcepath="M2_REPO/net/sf/ehcache/ehcache/1.2.3/ehcache-1.2.3-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/hibernate/ejb3-persistence/1.0.1.GA/ejb3-persistence-1.0.1.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga.jar" sourcepath="M2_REPO/org/hibernate/hibernate/3.2.6.ga/hibernate-3.2.6.ga-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-annotations/3.3.1.GA/hibernate-annotations-3.3.1.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-commons-annotations/3.0.0.ga/hibernate-commons-annotations-3.0.0.ga.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/3.3.2.GA/hibernate-entitymanager-3.3.2.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/security/identity-spi/2.0.2.Beta4/identity-spi-2.0.2.Beta4.jar" sourcepath="M2_REPO/org/jboss/security/identity-spi/2.0.2.Beta4/identity-spi-2.0.2.Beta4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/security/jaas/1.0.01/jaas-1.0.01.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/security/jacc/1.0/jacc-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/urbanophile/java-getopt/1.0.9/java-getopt-1.0.9.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javassist/javassist/3.4.GA/javassist-3.4.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA.jar" sourcepath="M2_REPO/org/jboss/javassist/3.6.0.GA/javassist-3.6.0.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/xml/bind/jaxb-api/2.0/jaxb-api-2.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-api/2.0.5/jaxb-api-2.0.5.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/aop/jboss-aop/2.0.0.CR7/jboss-aop-2.0.0.CR7.jar" sourcepath="M2_REPO/org/jboss/aop/jboss-aop/2.0.0.CR7/jboss-aop-2.0.0.CR7-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/aop/jboss-aop-aspects/2.0.0.CR7/jboss-aop-aspects-2.0.0.CR7.jar" sourcepath="M2_REPO/org/jboss/aop/jboss-aop-aspects/2.0.0.CR7/jboss-aop-aspects-2.0.0.CR7-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-aop-mc-int/2.0.0.Beta10/jboss-aop-mc-int-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-aop-mc-int/2.0.0.Beta10/jboss-aop-mc-int-2.0.0.Beta10-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-bootstrap/5.0.0.Beta4/jboss-as-bootstrap-5.0.0.Beta4.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-bootstrap/5.0.0.Beta4/jboss-as-bootstrap-5.0.0.Beta4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-j2se/5.0.0.Beta4/jboss-as-j2se-5.0.0.Beta4.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-j2se/5.0.0.Beta4/jboss-as-j2se-5.0.0.Beta4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-j2se/5.0.0.Beta4/jboss-as-j2se-5.0.0.Beta4-tests.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-jmx/5.0.0.Beta4/jboss-as-jmx-5.0.0.Beta4.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-jmx/5.0.0.Beta4/jboss-as-jmx-5.0.0.Beta4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-main/5.0.0.Beta4/jboss-as-main-5.0.0.Beta4.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-main/5.0.0.Beta4/jboss-as-main-5.0.0.Beta4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-mbeans/5.0.0.Beta4/jboss-as-mbeans-5.0.0.Beta4.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-mbeans/5.0.0.Beta4/jboss-as-mbeans-5.0.0.Beta4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-naming/5.0.0.Beta4/jboss-as-naming-5.0.0.Beta4.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-naming/5.0.0.Beta4/jboss-as-naming-5.0.0.Beta4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-server/5.0.0.Beta4/jboss-as-server-5.0.0.Beta4.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-server/5.0.0.Beta4/jboss-as-server-5.0.0.Beta4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-system/5.0.0.Beta4/jboss-as-system-5.0.0.Beta4.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-system/5.0.0.Beta4/jboss-as-system-5.0.0.Beta4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-as-system-jmx/5.0.0.Beta4/jboss-as-system-jmx-5.0.0.Beta4.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-as-system-jmx/5.0.0.Beta4/jboss-as-system-jmx-5.0.0.Beta4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/cl/jboss-classloader/2.0.0.Beta11/jboss-classloader-2.0.0.Beta11.jar" sourcepath="M2_REPO/org/jboss/cl/jboss-classloader/2.0.0.Beta11/jboss-classloader-2.0.0.Beta11-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-classloader/2.0.0.Beta10/jboss-classloader-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-classloader/2.0.0.Beta10/jboss-classloader-2.0.0.Beta10-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/cl/jboss-classloading/2.0.0.Beta11/jboss-classloading-2.0.0.Beta11.jar" sourcepath="M2_REPO/org/jboss/cl/jboss-classloading/2.0.0.Beta11/jboss-classloading-2.0.0.Beta11-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-classloading-spi/5.0.0.Beta4/jboss-classloading-spi-5.0.0.Beta4.jar" sourcepath="M2_REPO/org/jboss/jboss-classloading-spi/5.0.0.Beta4/jboss-classloading-spi-5.0.0.Beta4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/cl/jboss-classloading-vfs/2.0.0.Beta11/jboss-classloading-vfs-2.0.0.Beta11.jar" sourcepath="M2_REPO/org/jboss/cl/jboss-classloading-vfs/2.0.0.Beta11/jboss-classloading-vfs-2.0.0.Beta11-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-core/2.0.2.GA/jboss-common-core-2.0.2.GA.jar" sourcepath="M2_REPO/jboss/jboss-common-core/2.0.2.GA/jboss-common-core-2.0.2.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-common-core/2.2.5.GA/jboss-common-core-2.2.5.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-common-core/2.2.5.GA/jboss-common-core-2.2.5.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-log4j/2.0.4.GA/jboss-common-logging-log4j-2.0.4.GA.jar" sourcepath="M2_REPO/jboss/jboss-common-logging-log4j/2.0.4.GA/jboss-common-logging-log4j-2.0.4.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar" sourcepath="M2_REPO/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-container/2.0.0.Beta10/jboss-container-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-container/2.0.0.Beta10/jboss-container-2.0.0.Beta10-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/aspects/jboss-current-invocation-aspects/1.0.0.Beta1/jboss-current-invocation-aspects-1.0.0.Beta1.jar" sourcepath="M2_REPO/org/jboss/aspects/jboss-current-invocation-aspects/1.0.0.Beta1/jboss-current-invocation-aspects-1.0.0.Beta1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta10/jboss-dependency-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta10/jboss-dependency-2.0.0.Beta10-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-client/2.0.0.Beta14/jboss-deployers-client-2.0.0.Beta14.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-client/2.0.0.Beta14/jboss-deployers-client-2.0.0.Beta14-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-deployers-client/2.0.0.Beta10/jboss-deployers-client-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-deployers-client/2.0.0.Beta10/jboss-deployers-client-2.0.0.Beta10-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-client-spi/2.0.0.Beta14/jboss-deployers-client-spi-2.0.0.Beta14.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-client-spi/2.0.0.Beta14/jboss-deployers-client-spi-2.0.0.Beta14-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-deployers-client-spi/2.0.0.Beta10/jboss-deployers-client-spi-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-deployers-client-spi/2.0.0.Beta10/jboss-deployers-client-spi-2.0.0.Beta10-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-core/2.0.0.Beta14/jboss-deployers-core-2.0.0.Beta14.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-core/2.0.0.Beta14/jboss-deployers-core-2.0.0.Beta14-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-deployers-core/2.0.0.Beta10/jboss-deployers-core-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-deployers-core/2.0.0.Beta10/jboss-deployers-core-2.0.0.Beta10-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-core-spi/2.0.0.Beta14/jboss-deployers-core-spi-2.0.0.Beta14.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-core-spi/2.0.0.Beta14/jboss-deployers-core-spi-2.0.0.Beta14-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-deployers-core-spi/2.0.0.Beta10/jboss-deployers-core-spi-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-deployers-core-spi/2.0.0.Beta10/jboss-deployers-core-spi-2.0.0.Beta10-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-impl/2.0.0.Beta14/jboss-deployers-impl-2.0.0.Beta14.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-impl/2.0.0.Beta14/jboss-deployers-impl-2.0.0.Beta14-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-deployers-impl/2.0.0.Beta10/jboss-deployers-impl-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-deployers-impl/2.0.0.Beta10/jboss-deployers-impl-2.0.0.Beta10-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-spi/2.0.0.Beta14/jboss-deployers-spi-2.0.0.Beta14.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-spi/2.0.0.Beta14/jboss-deployers-spi-2.0.0.Beta14-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-deployers-spi/2.0.0.Beta10/jboss-deployers-spi-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-deployers-spi/2.0.0.Beta10/jboss-deployers-spi-2.0.0.Beta10-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-structure-spi/2.0.0.Beta14/jboss-deployers-structure-spi-2.0.0.Beta14.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-structure-spi/2.0.0.Beta14/jboss-deployers-structure-spi-2.0.0.Beta14-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-deployers-structure-spi/2.0.0.Beta10/jboss-deployers-structure-spi-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-deployers-structure-spi/2.0.0.Beta10/jboss-deployers-structure-spi-2.0.0.Beta10-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-vfs/2.0.0.Beta14/jboss-deployers-vfs-2.0.0.Beta14.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-vfs/2.0.0.Beta14/jboss-deployers-vfs-2.0.0.Beta14-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-deployers-vfs/2.0.0.Beta10/jboss-deployers-vfs-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-deployers-vfs/2.0.0.Beta10/jboss-deployers-vfs-2.0.0.Beta10-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/deployers/jboss-deployers-vfs-spi/2.0.0.Beta14/jboss-deployers-vfs-spi-2.0.0.Beta14.jar" sourcepath="M2_REPO/org/jboss/deployers/jboss-deployers-vfs-spi/2.0.0.Beta14/jboss-deployers-vfs-spi-2.0.0.Beta14-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-deployers-vfs-spi/2.0.0.Beta10/jboss-deployers-vfs-spi-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-deployers-vfs-spi/2.0.0.Beta10/jboss-deployers-vfs-spi-2.0.0.Beta10-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-ejb-api/3.0.0.CR1/jboss-ejb-api-3.0.0.CR1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-ejb-api/3.0.0.CR1/jboss-ejb-api-3.0.0.CR1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-async/0.1.0/jboss-ejb3-async-0.1.0.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-async/0.1.0/jboss-ejb3-async-0.1.0-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-cache/0.13.0/jboss-ejb3-cache-0.13.0.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-cache/0.13.0/jboss-ejb3-cache-0.13.0-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-common/0.1.0-SNAPSHOT/jboss-ejb3-common-0.1.0-SNAPSHOT.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-common/0.1.0-SNAPSHOT/jboss-ejb3-common-0.1.0-SNAPSHOT-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api/0.4/jboss-ejb3-ext-api-0.4.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api/0.4/jboss-ejb3-ext-api-0.4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api-impl/0.4/jboss-ejb3-ext-api-impl-0.4.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-ext-api-impl/0.4/jboss-ejb3-ext-api-impl-0.4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-interceptors/0.13.0/jboss-ejb3-interceptors-0.13.0.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-interceptors/0.13.0/jboss-ejb3-interceptors-0.13.0-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-metadata/0.12.1/jboss-ejb3-metadata-0.12.1.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-metadata/0.12.1/jboss-ejb3-metadata-0.12.1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-security/0.13.0/jboss-ejb3-security-0.13.0.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-security/0.13.0/jboss-ejb3-security-0.13.0-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ejb3/jboss-ejb3-transactions/0.13.0/jboss-ejb3-transactions-0.13.0.jar" sourcepath="M2_REPO/org/jboss/ejb3/jboss-ejb3-transactions/0.13.0/jboss-ejb3-transactions-0.13.0-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/embedded/jboss-embedded/beta3/jboss-embedded-beta3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/cluster/jboss-ha-client/1.1.0.Beta1/jboss-ha-client-1.1.0.Beta1.jar" sourcepath="M2_REPO/org/jboss/cluster/jboss-ha-client/1.1.0.Beta1/jboss-ha-client-1.1.0.Beta1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/cluster/jboss-ha-server-api/1.1.0.Beta1/jboss-ha-server-api-1.1.0.Beta1.jar" sourcepath="M2_REPO/org/jboss/cluster/jboss-ha-server-api/1.1.0.Beta1/jboss-ha-server-api-1.1.0.Beta1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jacc-api/1.1.0.CR1/jboss-jacc-api-1.1.0.CR1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jacc-api/1.1.0.CR1/jboss-jacc-api-1.1.0.CR1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jaspi-api/1.0.0.CR1/jboss-jaspi-api-1.0.0.CR1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jaspi-api/1.0.0.CR1/jboss-jaspi-api-1.0.0.CR1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-javaee/5.0.0.Beta3/jboss-javaee-5.0.0.Beta3.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-javaee/5.0.0.Beta3/jboss-javaee-5.0.0.Beta3-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jbossws/jboss-jaxrpc/1.0.4.GA/jboss-jaxrpc-1.0.4.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-jaxws/2.0.1.GA/jboss-jaxws-2.0.1.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jca-api/1.5.0.CR1/jboss-jca-api-1.5.0.CR1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jca-api/1.5.0.CR1/jboss-jca-api-1.5.0.CR1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-jms-api/1.1.0.CR1/jboss-jms-api-1.1.0.CR1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-jms-api/1.1.0.CR1/jboss-jms-api-1.1.0.CR1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta14/jboss-kernel-2.0.0.Beta14.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta14/jboss-kernel-2.0.0.Beta14-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-log4j/2.0.2.GA/jboss-logging-log4j-2.0.2.GA.jar" sourcepath="M2_REPO/jboss/jboss-logging-log4j/2.0.2.GA/jboss-logging-log4j-2.0.2.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-log4j/2.0.5.GA/jboss-logging-log4j-2.0.5.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-logging-spi/2.0.2.GA/jboss-logging-spi-2.0.2.GA.jar" sourcepath="M2_REPO/jboss/jboss-logging-spi/2.0.2.GA/jboss-logging-spi-2.0.2.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA.jar" sourcepath="M2_REPO/org/jboss/logging/jboss-logging-spi/2.0.5.GA/jboss-logging-spi-2.0.5.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/man/jboss-managed/2.0.0.Beta12/jboss-managed-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/man/jboss-managed/2.0.0.Beta12/jboss-managed-2.0.0.Beta12-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-managed/2.0.0.Beta10/jboss-managed-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-managed/2.0.0.Beta10/jboss-managed-2.0.0.Beta10-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-mdr/2.0.0.Beta15/jboss-mdr-2.0.0.Beta15.jar" sourcepath="M2_REPO/org/jboss/jboss-mdr/2.0.0.Beta15/jboss-mdr-2.0.0.Beta15-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-metadata/1.0.0.Beta6/jboss-metadata-1.0.0.Beta6.jar" sourcepath="M2_REPO/org/jboss/jboss-metadata/1.0.0.Beta6/jboss-metadata-1.0.0.Beta6-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/metadata/jboss-metadata/1.0.0.Beta15/jboss-metadata-1.0.0.Beta15.jar" sourcepath="M2_REPO/org/jboss/metadata/jboss-metadata/1.0.0.Beta15/jboss-metadata-1.0.0.Beta15-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/man/jboss-metatype/2.0.0.Beta12/jboss-metatype-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/man/jboss-metatype/2.0.0.Beta12/jboss-metatype-2.0.0.Beta12-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/microcontainer/jboss-metatype/2.0.0.Beta10/jboss-metatype-2.0.0.Beta10.jar" sourcepath="M2_REPO/org/jboss/microcontainer/jboss-metatype/2.0.0.Beta10/jboss-metatype-2.0.0.Beta10-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-persistence-api/3.0.0.CR1/jboss-persistence-api-3.0.0.CR1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-persistence-api/3.0.0.CR1/jboss-persistence-api-3.0.0.CR1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/profiler/jvmti/jboss-profiler-jvmti/1.0.0.CR5/jboss-profiler-jvmti-1.0.0.CR5.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12.jar" sourcepath="M2_REPO/org/jboss/jboss-reflect/2.0.0.Beta12/jboss-reflect-2.0.0.Beta12-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-remoting/2.2.1.GA/jboss-remoting-2.2.1.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/remoting/jboss-remoting/2.4.0.CR1/jboss-remoting-2.4.0.CR1.jar" sourcepath="M2_REPO/jboss/remoting/jboss-remoting/2.4.0.CR1/jboss-remoting-2.4.0.CR1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/aspects/jboss-remoting-aspects/1.0.0.Beta1/jboss-remoting-aspects-1.0.0.Beta1.jar" sourcepath="M2_REPO/org/jboss/aspects/jboss-remoting-aspects/1.0.0.Beta1/jboss-remoting-aspects-1.0.0.Beta1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jbossws/jboss-saaj/1.0.4.GA/jboss-saaj-1.0.4.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/aspects/jboss-security-aspects/1.0.0.Beta1/jboss-security-aspects-1.0.0.Beta1.jar" sourcepath="M2_REPO/org/jboss/aspects/jboss-security-aspects/1.0.0.Beta1/jboss-security-aspects-1.0.0.Beta1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-spi/2.0.2.Beta6/jboss-security-spi-2.0.2.Beta6.jar" sourcepath="M2_REPO/org/jboss/security/jboss-security-spi/2.0.2.Beta6/jboss-security-spi-2.0.2.Beta6-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/security/jboss-security-spi-bare/2.0.2.Beta4/jboss-security-spi-bare-2.0.2.Beta4.jar" sourcepath="M2_REPO/org/jboss/security/jboss-security-spi-bare/2.0.2.Beta4/jboss-security-spi-bare-2.0.2.Beta4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-serialization/1.0.3.GA/jboss-serialization-1.0.3.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossas/jboss-server-manager/0.1.0.GA/jboss-server-manager-0.1.0.GA.jar" sourcepath="M2_REPO/org/jboss/jbossas/jboss-server-manager/0.1.0.GA/jboss-server-manager-0.1.0.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-servlet-api/2.5.0.CR1/jboss-servlet-api-2.5.0.CR1.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-servlet-api/2.5.0.CR1/jboss-servlet-api-2.5.0.CR1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jboss/jboss-test/1.0.3.GA/jboss-test-1.0.3.GA.jar" sourcepath="M2_REPO/jboss/jboss-test/1.0.3.GA/jboss-test-1.0.3.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-test/1.0.4.GA/jboss-test-1.0.4.GA.jar" sourcepath="M2_REPO/org/jboss/jboss-test/1.0.4.GA/jboss-test-1.0.4.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/test/jboss-test/1.1.0.GA/jboss-test-1.1.0.GA.jar" sourcepath="M2_REPO/org/jboss/test/jboss-test/1.1.0.GA/jboss-test-1.1.0.GA-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.20070913080910/jboss-transaction-api-1.0.1.20070913080910.jar" sourcepath="M2_REPO/org/jboss/javaee/jboss-transaction-api/1.0.1.20070913080910/jboss-transaction-api-1.0.1.20070913080910-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/aspects/jboss-transaction-aspects/1.0.0.Beta1/jboss-transaction-aspects-1.0.0.Beta1.jar" sourcepath="M2_REPO/org/jboss/aspects/jboss-transaction-aspects/1.0.0.Beta1/jboss-transaction-aspects-1.0.0.Beta1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-transaction-spi/5.0.0.Beta4/jboss-transaction-spi-5.0.0.Beta4.jar" sourcepath="M2_REPO/org/jboss/jboss-transaction-spi/5.0.0.Beta4/jboss-transaction-spi-5.0.0.Beta4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jboss-vfs/2.0.0.Beta11/jboss-vfs-2.0.0.Beta11.jar" sourcepath="M2_REPO/org/jboss/jboss-vfs/2.0.0.Beta11/jboss-vfs-2.0.0.Beta11-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/cache/jbosscache-core/2.1.1.GA/jbosscache-core-2.1.1.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/security/jbosssx/2.0.2.Beta6/jbosssx-2.0.2.Beta6.jar" sourcepath="M2_REPO/org/jboss/security/jbosssx/2.0.2.Beta6/jbosssx-2.0.2.Beta6-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/security/jbosssx-client/2.0.2.Beta4/jbosssx-client-2.0.2.Beta4.jar" sourcepath="M2_REPO/org/jboss/security/jbosssx-client/2.0.2.Beta4/jbosssx-client-2.0.2.Beta4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossws-spi/1.0.0.GA/jbossws-spi-1.0.0.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/ws/jbossws-spi/1.0.3.GA/jbossws-spi-1.0.3.GA.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/jbossxb/2.0.0.CR5/jbossxb-2.0.0.CR5.jar" sourcepath="M2_REPO/org/jboss/jbossxb/2.0.0.CR5/jbossxb-2.0.0.CR5-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jgroups/jgroups/2.6.2/jgroups-2.6.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/org/jboss/naming/jnpserver/5.0.0.CR1/jnpserver-5.0.0.CR1.jar" sourcepath="M2_REPO/org/jboss/naming/jnpserver/5.0.0.CR1/jnpserver-5.0.0.CR1-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jpl-pattern/jpl-pattern/1.0/jpl-pattern-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/jpl-util/jpl-util/1.0/jpl-util-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/xml/bind/jsr173_api/1.0/jsr173_api-1.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar"/>
+  <classpathentry kind="var" path="M2_REPO/junit/junit/4.4/junit-4.4.jar" sourcepath="M2_REPO/junit/junit/4.4/junit-4.4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/apache-log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14.jar" sourcepath="M2_REPO/log4j/log4j/1.2.14/log4j-1.2.14-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/mail/mail/1.4/mail-1.4.jar" sourcepath="M2_REPO/javax/mail/mail/1.4/mail-1.4-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/qdox/qdox/1.6/qdox-1.6.jar" sourcepath="M2_REPO/qdox/qdox/1.6/qdox-1.6-sources.jar"/>
+  <classpathentry kind="var" path="M2_REPO/quartz/quartz/1.6.0/quartz-1.6.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/javax/xml/soap/saaj-api/1.3/saaj-api-1.3.jar"/>
+  <classpathentry kind="var" path="M2_REPO/trove/trove/1.0.2/trove-1.0.2.jar"/>
+  <classpathentry kind="var" path="M2_REPO/apache-slide/webdavlib/2.0/webdavlib-2.0.jar"/>
+  <classpathentry kind="var" path="M2_REPO/apache-xerces/xercesImpl/2.7.1/xercesImpl-2.7.1.jar"/>
+  <classpathentry kind="var" path="M2_REPO/apache-xerces/xml-apis/2.7.1/xml-apis-2.7.1.jar"/>
+</classpath>
\ No newline at end of file

Modified: projects/ejb3/trunk/core/.project
===================================================================
--- projects/ejb3/trunk/core/.project	2008-05-14 22:32:05 UTC (rev 73398)
+++ projects/ejb3/trunk/core/.project	2008-05-14 22:47:19 UTC (rev 73399)
@@ -1,22 +1,13 @@
 <projectDescription>
-	<name>jboss-ejb3-core</name>
-	<comment>JBoss EJB 3.0 Core</comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.maven.ide.eclipse.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.maven.ide.eclipse.maven2Nature</nature>
-	</natures>
-</projectDescription>
+  <name>jboss-ejb3-core</name>
+  <comment>JBoss EJB 3.0 Core</comment>
+  <projects/>
+  <buildSpec>
+    <buildCommand>
+      <name>org.eclipse.jdt.core.javabuilder</name>
+    </buildCommand>
+  </buildSpec>
+  <natures>
+    <nature>org.eclipse.jdt.core.javanature</nature>
+  </natures>
+</projectDescription>
\ No newline at end of file

Modified: projects/ejb3/trunk/core/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- projects/ejb3/trunk/core/.settings/org.eclipse.jdt.core.prefs	2008-05-14 22:32:05 UTC (rev 73398)
+++ projects/ejb3/trunk/core/.settings/org.eclipse.jdt.core.prefs	2008-05-14 22:47:19 UTC (rev 73399)
@@ -1,4 +1,4 @@
-#Wed Apr 23 16:07:04 GMT-05:00 2008
+#Wed May 14 18:44:22 EDT 2008
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.source=1.5

Modified: projects/ejb3/trunk/core/pom.xml
===================================================================
--- projects/ejb3/trunk/core/pom.xml	2008-05-14 22:32:05 UTC (rev 73398)
+++ projects/ejb3/trunk/core/pom.xml	2008-05-14 22:47:19 UTC (rev 73399)
@@ -440,6 +440,12 @@
       <artifactId>jboss-ejb3-cache</artifactId>
       <version>0.13.0</version>
     </dependency>
+    
+    <dependency>
+      <groupId>org.jboss.ejb3</groupId>
+      <artifactId>jboss-ejb3-common</artifactId>
+      <version>0.1.0-SNAPSHOT</version>
+    </dependency>
 
     <dependency>
       <groupId>org.jboss.ejb3</groupId>

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3Deployment.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3Deployment.java	2008-05-14 22:32:05 UTC (rev 73398)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3Deployment.java	2008-05-14 22:47:19 UTC (rev 73399)
@@ -21,11 +21,31 @@
  */
 package org.jboss.ejb3;
 
+import java.io.BufferedInputStream;
+import java.io.DataInputStream;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
 import javassist.bytecode.ClassFile;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import javax.naming.InitialContext;
+import javax.naming.NameNotFoundException;
+import javax.naming.NamingException;
+import javax.persistence.Entity;
+import javax.security.jacc.PolicyConfiguration;
+
 import org.hibernate.ejb.packaging.PersistenceMetadata;
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.ejb3.cache.CacheFactoryRegistry;
 import org.jboss.ejb3.cache.persistence.PersistenceManagerFactoryRegistry;
+import org.jboss.ejb3.common.lang.ClassHelper;
 import org.jboss.ejb3.enc.EjbModulePersistenceUnitResolver;
 import org.jboss.ejb3.enc.MessageDestinationResolver;
 import org.jboss.ejb3.entity.PersistenceUnitDeployment;
@@ -34,7 +54,6 @@
 import org.jboss.ejb3.javaee.JavaEEComponent;
 import org.jboss.ejb3.javaee.JavaEEComponentHelper;
 import org.jboss.ejb3.javaee.JavaEEModule;
-import org.jboss.ejb3.lang.ClassHelper;
 import org.jboss.ejb3.metadata.JBossSessionGenericWrapper;
 import org.jboss.ejb3.metadata.jpa.spec.PersistenceUnitMetaData;
 import org.jboss.ejb3.metadata.jpa.spec.PersistenceUnitsMetaData;
@@ -42,23 +61,16 @@
 import org.jboss.ejb3.proxy.factory.ProxyFactoryHelper;
 import org.jboss.ejb3.proxy.factory.RemoteProxyFactoryRegistry;
 import org.jboss.logging.Logger;
-import org.jboss.metadata.ejb.jboss.*;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossGenericBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanGenericWrapper;
+import org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationsMetaData;
 import org.jboss.system.ServiceMBeanSupport;
 import org.jboss.virtual.VirtualFile;
 
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import javax.naming.InitialContext;
-import javax.naming.NameNotFoundException;
-import javax.naming.NamingException;
-import javax.persistence.Entity;
-import javax.security.jacc.PolicyConfiguration;
-import java.io.BufferedInputStream;
-import java.io.DataInputStream;
-import java.io.InputStream;
-import java.util.*;
-
 /**
  * An EjbModule represents a collection of beans that are deployed as a unit.
  *

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3DescriptorHandler.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3DescriptorHandler.java	2008-05-14 22:32:05 UTC (rev 73398)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/Ejb3DescriptorHandler.java	2008-05-14 22:47:19 UTC (rev 73399)
@@ -131,8 +131,8 @@
 import org.jboss.ejb3.annotation.impl.TransactionAttributeImpl;
 import org.jboss.ejb3.annotation.impl.TransactionManagementImpl;
 import org.jboss.ejb3.annotation.impl.TransactionTimeoutImpl;
+import org.jboss.ejb3.common.lang.ClassHelper;
 import org.jboss.ejb3.interceptor.InterceptorInfoRepository;
-import org.jboss.ejb3.lang.ClassHelper;
 import org.jboss.ejb3.mdb.ConsumerContainer;
 import org.jboss.ejb3.mdb.MDB;
 import org.jboss.ejb3.proxy.factory.ProxyFactoryHelper;

Deleted: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/lang/ClassHelper.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/lang/ClassHelper.java	2008-05-14 22:32:05 UTC (rev 73398)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/lang/ClassHelper.java	2008-05-14 22:47:19 UTC (rev 73399)
@@ -1,194 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2007, Red Hat Middleware LLC, and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ejb3.lang;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * Usefull methods for classes.
- *
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision$
- */
-public class ClassHelper
-{
-   /**
-    * Casts an object to the class or interface represented
-    * by the targetClass <tt>Class</tt> object.
-    * The ClassCastException thrown is more descriptive than
-    * the original.
-    *
-    * @param obj the object to be cast
-    * @return the object after casting, or null if obj is null
-    *
-    * @throws ClassCastException if the object is not
-    * null and is not assignable to the type T.
-    */
-   public static <T> T cast(Class<T> targetClass, Object obj)
-   {
-      try
-      {
-         return targetClass.cast(obj);
-      }
-      catch(ClassCastException e)
-      {
-         assert obj != null : "a null can always be cast, it should never throw a ClassCastException";
-         throw new ClassCastException("Unable to cast " + obj.getClass() + " to " + targetClass);
-      }
-   }
-   
-   /**
-    * @see Class#argumentTypesToString
-    */
-   private static String argumentTypesToString(Class<?>[] argTypes)
-   {
-      StringBuilder buf = new StringBuilder();
-      buf.append("(");
-      if (argTypes != null)
-      {
-         for (int i = 0; i < argTypes.length; i++)
-         {
-            if (i > 0)
-            {
-               buf.append(", ");
-            }
-            Class<?> c = argTypes[i];
-            buf.append((c == null) ? "null" : c.getName());
-         }
-      }
-      buf.append(")");
-      return buf.toString();
-   }
-
-   private static Method findPrivateMethod(Class<?> target, String methodName, Class<?>... paramTypes)
-   {
-      // Top of the world
-      if(target == null)
-         return null;
-      
-      // TODO: what is faster? scan or catch exception?
-      for(Method method : target.getDeclaredMethods())
-      {
-         if(method.getName().equals(methodName))
-         {
-            if(paramTypes == null)
-               return method;
-            
-            if(Arrays.equals(method.getParameterTypes(), paramTypes))
-               return method;
-         }
-      }
-      
-      return findPrivateMethod(target.getSuperclass(), methodName, paramTypes);
-   }
-   
-   /**
-    * Find all methods with a specific name on a class and it's super classes
-    * regardless of parameter signature.
-    * 
-    * @param cls            the class to scan
-    * @param methodName     the name of the methods to find
-    * @return               a list of methods found, or empty
-    */
-   public static List<Method> getAllMethodsByName(Class<?> cls, String methodName)
-   {
-      List<Method> methods = new ArrayList<Method>();
-      populateWithMethodsByName(methods, cls, methodName);
-      return methods;
-   }
-   
-   /**
-    * Find all methods starting with the specified prefix on the specified
-    * class
-    * 
-    * @param clazz
-    * @param methodNamePrefix
-    * @return
-    */
-   public static List<Method> getAllMethodsByPrefix(Class<?> clazz, String methodNamePrefix)
-   {
-      List<Method> methods = new ArrayList<Method>();
-      ClassHelper.populateWithMethodsByPrefix(methods, clazz, methodNamePrefix);
-      return methods;
-   }
-   
-   /**
-    * Returns the <code>Method</code> with the given attributes of either this class
-    * or one of it's super classes.
-    * 
-    * TODO: return type specifics are not considered
-    * FIXME: rename method (it must return all modifiers)
-    * 
-    * @param cls            class to scan
-    * @param methodName     the name of the method
-    * @param paramTypes     the parameter types
-    * @return               the <code>Method</code> matching the method name and parameters
-    * @throws NoSuchMethodException if no method can be found
-    */
-   public static Method getPrivateMethod(Class<?> cls, String methodName, Class<?>... paramTypes) throws NoSuchMethodException
-   {
-      assert cls != null : "cls is null";
-      assert methodName != null : "methodName is null";
-      
-      Method result = findPrivateMethod(cls, methodName, paramTypes);
-      if(result == null)
-         throw new NoSuchMethodException(cls.getName() + "." + methodName + argumentTypesToString(paramTypes));
-      
-      return result;
-   }
-   
-   private static void populateWithMethodsByName(List<Method> methods, Class<?> cls, String methodName)
-   {
-      // Top of the world
-      if(cls == null)
-         return;
-      
-      for(Method method : cls.getDeclaredMethods())
-      {
-         if(method.getName().equals(methodName))
-            methods.add(method);
-      }
-      
-      populateWithMethodsByName(methods, cls.getSuperclass(), methodName);
-   }
-   
-   private static void populateWithMethodsByPrefix(List<Method> methods, Class<?> clazz, String methodNamePrefix)
-   {
-      // Exit Condition
-      if (clazz == null)
-      {
-         return;
-      }
-
-      // For all declared methods
-      for (Method method : clazz.getDeclaredMethods())
-      {
-         if (method.getName().startsWith(methodNamePrefix))
-            methods.add(method);
-      }
-
-      populateWithMethodsByPrefix(methods, clazz.getSuperclass(), methodNamePrefix);
-   }
-}

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryHelper.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryHelper.java	2008-05-14 22:32:05 UTC (rev 73398)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/proxy/factory/ProxyFactoryHelper.java	2008-05-14 22:47:19 UTC (rev 73399)
@@ -56,8 +56,8 @@
 import org.jboss.ejb3.annotation.RemoteHomeBinding;
 import org.jboss.ejb3.annotation.impl.LocalImpl;
 import org.jboss.ejb3.annotation.impl.RemoteImpl;
+import org.jboss.ejb3.common.lang.ClassHelper;
 import org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy;
-import org.jboss.ejb3.lang.ClassHelper;
 import org.jboss.ejb3.service.ServiceContainer;
 import org.jboss.ejb3.session.SessionContainer;
 import org.jboss.ejb3.stateful.StatefulContainer;




More information about the jboss-cvs-commits mailing list