[jboss-cvs] JBossAS SVN: r87594 - in projects/jboss-cl/branches/Branch_2_0: build and 24 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Apr 20 15:57:27 EDT 2009


Author: alesj
Date: 2009-04-20 15:57:26 -0400 (Mon, 20 Apr 2009)
New Revision: 87594

Added:
   projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/translator/
   projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/translator/ClassFileTransformer2Translator.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/translator/TranslatorUtils.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/TransformTestSuite.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/AuthorTranslator.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/JavassistTranslator.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/LocaleTranslator.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/MethodHelper.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/MixedTester.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/PolicyTester.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/SystemTester.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/MixedTransformUnitTestCase.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/PolicyTransformUnitTestCase.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/SystemTransformUnitTestCase.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/TransformTest.java
   projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/classes/otherpackage/
   projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/classes/otherpackage/GeneratedClass.class
   projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/test/GeneratedClassesUnitTestCase.xml
   projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/plugins/dependency/
   projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/plugins/dependency/DefaultGlobalCapabilitiesProvider.java
   projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/GlobalCapabilitiesProvider.java
   projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/ModuleRegistry.java
Removed:
   projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/translator/ClassFileTransformer2Translator.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/translator/TranslatorUtils.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/TransformTestSuite.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/AuthorTranslator.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/JavassistTranslator.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/LocaleTranslator.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/MethodHelper.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/MixedTester.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/PolicyTester.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/SystemTester.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/MixedTransformUnitTestCase.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/PolicyTransformUnitTestCase.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/SystemTransformUnitTestCase.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/TransformTest.java
   projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/classes/otherpackage/GeneratedClass.class
   projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/plugins/dependency/DefaultGlobalCapabilitiesProvider.java
Modified:
   projects/jboss-cl/branches/Branch_2_0/
   projects/jboss-cl/branches/Branch_2_0/build/
   projects/jboss-cl/branches/Branch_2_0/classloader/pom.xml
   projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderSystem.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/base/BaseClassLoaderPolicy.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/ClassLoaderAllTestSuite.java
   projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/java/org/jboss/classloading/spi/vfs/metadata/VFSClassLoaderFactory10.java
   projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/resources/schema/jboss-classloading-1.0.xsd
   projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/ClassLoadingVFSTestSuite.java
   projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/GeneratedClassesUnitTestCase.java
   projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/ManagedObjectVFSClassLoaderFactoryUnitTestCase.java
   projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/xml/test/NoopClassLoaderFactoryXMLUnitTestCase.java
   projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/Common.xml
   projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ExportImportMixed.xml
   projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/ClassLoading.java
   projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/Domain.java
   projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/Module.java
   projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/CapabilitiesMetaData.java
   projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData10.java
   projects/jboss-cl/branches/Branch_2_0/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingMetaDataUnitTestCase.java
   projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ExportImportMixed.xml
   projects/jboss-cl/branches/Branch_2_0/pom.xml
Log:
Merge with trunk


Property changes on: projects/jboss-cl/branches/Branch_2_0
___________________________________________________________________
Name: svn:ignore
   - jboss-cl-aggregator.iws
jboss-cl-aggregator.ipr
jboss-cl-aggregator.iml
.classpath
.project

   + jboss-cl-aggregator.iws
jboss-cl-aggregator.ipr
jboss-cl-aggregator.iml
.classpath
.project
jboss-cl-parent.ipr
jboss-cl-parent.iml
jboss-cl-parent.iws



Property changes on: projects/jboss-cl/branches/Branch_2_0/build
___________________________________________________________________
Name: svn:ignore
   - target

   + target
jboss-cl.iml


Modified: projects/jboss-cl/branches/Branch_2_0/classloader/pom.xml
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/pom.xml	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/pom.xml	2009-04-20 19:57:26 UTC (rev 87594)
@@ -83,5 +83,11 @@
       <optional>true</optional>
     </dependency>
     
+    <dependency>
+      <groupId>javassist</groupId>
+      <artifactId>javassist</artifactId>
+      <optional>true</optional>
+    </dependency>
+
   </dependencies>  
 </project>
\ No newline at end of file

Modified: projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderSystem.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderSystem.java	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderSystem.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -30,6 +30,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.Collections;
 
 import javax.management.MBeanRegistration;
 import javax.management.MBeanServer;
@@ -38,6 +39,7 @@
 
 import org.jboss.classloader.plugins.system.ClassLoaderSystemBuilder;
 import org.jboss.classloader.spi.base.BaseClassLoaderSystem;
+import org.jboss.classloader.spi.translator.TranslatorUtils;
 import org.jboss.logging.Logger;
 import org.jboss.util.loading.Translator;
 
@@ -45,6 +47,7 @@
  * ClassLoaderSystem.
  * 
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
  * @version $Revision: 1.1 $
  */
 public abstract class ClassLoaderSystem extends BaseClassLoaderSystem implements ClassLoaderSystemMBean, MBeanRegistration
@@ -64,8 +67,8 @@
    /** The registered domains by name */
    private Map<String, ClassLoaderDomain> registeredDomains = new HashMap<String, ClassLoaderDomain>();
 
-   /** Any translator */
-   private Translator translator;
+   /** Any translators */
+   private List<Translator> translators;
    
    /** Whether the system is shutdown */
    private boolean shutdown = false;
@@ -514,29 +517,39 @@
     * Get the translator.
     * 
     * @return the translator.
+    * @deprecated use translator list
     */
+   @Deprecated
    public Translator getTranslator()
    {
-      return translator;
+      if (translators == null || translators.isEmpty())
+         return null;
+
+      return translators.get(0);
    }
 
    /**
     * Set the translator.
     * 
     * @param translator the translator.
+    * @deprecated use translator list
     */
+   @Deprecated
    public void setTranslator(Translator translator)
    {
       log.debug(this + " set translator to " + translator);
-      this.translator = translator;
+
+      if (translator != null)
+         translators = Collections.singletonList(translator);
+      else
+         translators = null;
    }
 
    @Override
    protected byte[] transform(ClassLoader classLoader, String className, byte[] byteCode, ProtectionDomain protectionDomain) throws Exception
    {
-      if (translator != null)
-         return translator.transform(classLoader, className, null, protectionDomain, byteCode);
-      return super.transform(classLoader, className, byteCode, protectionDomain);
+      byte[] result = TranslatorUtils.applyTranslatorsOnTransform(translators, classLoader, className, byteCode, protectionDomain);
+      return super.transform(classLoader, className, result, protectionDomain);
    }
 
    @Override
@@ -544,8 +557,7 @@
    {
       try
       {
-         if (translator != null)
-            translator.unregisterClassLoader(classLoader);
+         TranslatorUtils.applyTranslatorsAtUnregister(translators, classLoader);
       }
       catch (Throwable t)
       {
@@ -681,4 +693,60 @@
          builder.append("SHUTDOWN! ");
       super.toLongString(builder);
    }
+
+
+   /**
+    * Get the policy's translators.
+    *
+    * @return the translators
+    */
+   public List<Translator> getTranslators()
+   {
+      if (translators == null || translators.isEmpty())
+         return Collections.emptyList();
+      else
+         return Collections.unmodifiableList(translators);
+   }
+
+   /**
+    * Set the translators.
+    *
+    * @param translators the translators
+    */
+   public synchronized void setTranslators(List<Translator> translators)
+   {
+      this.translators = translators;
+   }
+
+   /**
+    * Add the translator.
+    *
+    * @param translator the translator to add
+    * @throws IllegalArgumentException for null translator
+    */
+   public synchronized void addTranslator(Translator translator)
+   {
+      if (translator == null)
+         throw new IllegalArgumentException("Null translator");
+
+      if (translators == null)
+         translators = new ArrayList<Translator>();
+
+      translators.add(translator);
+   }
+
+   /**
+    * Remove the translator.
+    *
+    * @param translator the translator to remove
+    * @throws IllegalArgumentException for null translator
+    */
+   public synchronized void removeTranslator(Translator translator)
+   {
+      if (translator == null)
+         throw new IllegalArgumentException("Null translator");
+
+      if (translators != null)
+         translators.remove(translator);
+   }
 }

Modified: projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/base/BaseClassLoaderPolicy.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/base/BaseClassLoaderPolicy.java	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/base/BaseClassLoaderPolicy.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -24,13 +24,16 @@
 import java.security.AccessControlContext;
 import java.security.AccessController;
 import java.security.ProtectionDomain;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
-
 import javax.management.ObjectName;
 
 import org.jboss.classloader.spi.ClassLoaderDomain;
 import org.jboss.classloader.spi.DelegateLoader;
+import org.jboss.classloader.spi.translator.TranslatorUtils;
 import org.jboss.logging.Logger;
+import org.jboss.util.loading.Translator;
 
 /**
  * Base ClassLoader policy.<p>
@@ -39,6 +42,7 @@
  * package access to the protected methods.
  * 
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
  * @version $Revision: 1.1 $
  */
 public abstract class BaseClassLoaderPolicy
@@ -54,7 +58,10 @@
 
    /** The access control context for this policy */
    private AccessControlContext access;
-   
+
+   /** The translators */
+   private List<Translator> translators;
+
    /**
     * Create a new BaseClassLoaderPolicy.
     * 
@@ -147,10 +154,17 @@
     */
    protected byte[] transform(String className, byte[] byteCode, ProtectionDomain protectionDomain) throws Exception
    {
+      byte[] result = byteCode;
+
       BaseClassLoaderDomain domain = getClassLoaderDomain();
       if (domain != null)
-         return domain.transform(getClassLoader(), className, byteCode, protectionDomain);
-      return byteCode;
+         result = domain.transform(getClassLoader(), className, result, protectionDomain);
+
+      ClassLoader classLoader = getClassLoaderUnchecked();
+      if (classLoader != null)
+         result = TranslatorUtils.applyTranslatorsOnTransform(translators, classLoader, className, result, protectionDomain);
+
+      return result;
    }
 
    /**
@@ -322,6 +336,7 @@
       log.debug(toString() + " shutdown!");
       BaseClassLoader classLoader = this.classLoader;
       this.classLoader = null;
+      TranslatorUtils.applyTranslatorsAtUnregister(translators, classLoader);
       classLoader.shutdownClassLoader();
    }
    
@@ -337,4 +352,59 @@
           domain.clearBlackList(name);
        }
    }
+
+   /**
+    * Get the policy's translators.
+    *
+    * @return the translators
+    */
+   public List<Translator> getTranslators()
+   {
+      if (translators == null || translators.isEmpty())
+         return Collections.emptyList();
+      else
+         return Collections.unmodifiableList(translators);
+   }
+
+   /**
+    * Set the translators.
+    *
+    * @param translators the translators
+    */
+   public synchronized void setTranslators(List<Translator> translators)
+   {
+      this.translators = translators;
+   }
+
+   /**
+    * Add the translator.
+    *
+    * @param translator the translator to add
+    * @throws IllegalArgumentException for null translator
+    */
+   public synchronized void addTranslator(Translator translator)
+   {
+      if (translator == null)
+         throw new IllegalArgumentException("Null translator");
+
+      if (translators == null)
+         translators = new ArrayList<Translator>();
+
+      translators.add(translator);
+   }
+
+   /**
+    * Remove the translator.
+    *
+    * @param translator the translator to remove
+    * @throws IllegalArgumentException for null translator
+    */
+   public synchronized void removeTranslator(Translator translator)
+   {
+      if (translator == null)
+         throw new IllegalArgumentException("Null translator");
+
+      if (translators != null)
+         translators.remove(translator);
+   }
 }

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/translator (from rev 87590, projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/translator)

Deleted: projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/translator/ClassFileTransformer2Translator.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/translator/ClassFileTransformer2Translator.java	2009-04-20 19:30:16 UTC (rev 87590)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/translator/ClassFileTransformer2Translator.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -1,54 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.classloader.spi.translator;
-
-import java.lang.instrument.ClassFileTransformer;
-import java.security.ProtectionDomain;
-
-import org.jboss.util.loading.Translator;
-
-/**
- * ClassFileTransfomer to Translator bridge.
- *
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class ClassFileTransformer2Translator implements Translator
-{
-   private ClassFileTransformer transformer;
-
-   public ClassFileTransformer2Translator(ClassFileTransformer transformer)
-   {
-      if (transformer == null)
-         throw new IllegalArgumentException("Null transformer");
-
-      this.transformer = transformer;
-   }
-
-   public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws Exception
-   {
-      return transformer.transform(loader, className, classBeingRedefined, protectionDomain, classfileBuffer);
-   }
-
-   public void unregisterClassLoader(ClassLoader loader)
-   {
-   }
-}
\ No newline at end of file

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/translator/ClassFileTransformer2Translator.java (from rev 87590, projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/translator/ClassFileTransformer2Translator.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/translator/ClassFileTransformer2Translator.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/translator/ClassFileTransformer2Translator.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,54 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.classloader.spi.translator;
+
+import java.lang.instrument.ClassFileTransformer;
+import java.security.ProtectionDomain;
+
+import org.jboss.util.loading.Translator;
+
+/**
+ * ClassFileTransfomer to Translator bridge.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class ClassFileTransformer2Translator implements Translator
+{
+   private ClassFileTransformer transformer;
+
+   public ClassFileTransformer2Translator(ClassFileTransformer transformer)
+   {
+      if (transformer == null)
+         throw new IllegalArgumentException("Null transformer");
+
+      this.transformer = transformer;
+   }
+
+   public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws Exception
+   {
+      return transformer.transform(loader, className, classBeingRedefined, protectionDomain, classfileBuffer);
+   }
+
+   public void unregisterClassLoader(ClassLoader loader)
+   {
+   }
+}
\ No newline at end of file

Deleted: projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/translator/TranslatorUtils.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/translator/TranslatorUtils.java	2009-04-20 19:30:16 UTC (rev 87590)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/translator/TranslatorUtils.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -1,113 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.classloader.spi.translator;
-
-import java.security.ProtectionDomain;
-import java.util.List;
-import java.util.ListIterator;
-
-import org.jboss.logging.Logger;
-import org.jboss.util.loading.Translator;
-
-/**
- * The translator utils/helper.
- *
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class TranslatorUtils
-{
-   /** The log */
-   private static final Logger log = Logger.getLogger(TranslatorUtils.class);
-
-   /**
-    * Apply transformers on transform.
-    *
-    * @param translators the translators
-    * @param classLoader the classloader
-    * @param className the class name
-    * @param byteCode the byte code
-    * @param protectionDomain the protection domain
-    * @return trabsformed bytes
-    * @throws Exception for any error
-    */
-   public static byte[] applyTranslatorsOnTransform(List<Translator> translators, ClassLoader classLoader, String className, byte[] byteCode, ProtectionDomain protectionDomain) throws Exception
-   {
-      if (translators == null || translators.isEmpty())
-         return byteCode;
-
-      boolean trace = log.isTraceEnabled();
-
-      byte[] result = byteCode;
-      for (Translator translator : translators)
-      {
-         // sanity check
-         if (translator == null)
-         {
-            if (trace)
-               log.trace("Null translator, classLoader: " + classLoader + ", className: " + className);
-
-            continue;
-         }
-
-         result = translator.transform(classLoader, className, null, protectionDomain, result);
-      }
-      return result;
-   }
-
-   /**
-    * Apply translators on classloader unregister / policy shutdown.
-    *
-    * @param translators the translators
-    * @param classLoader the policy's classloader
-    */
-   public static void applyTranslatorsAtUnregister(List<Translator> translators, ClassLoader classLoader)
-   {
-      if (translators != null && translators.isEmpty() == false)
-      {
-         boolean trace = log.isTraceEnabled();
-
-         // go in reverse order
-         ListIterator<Translator> iter = translators.listIterator(translators.size() - 1);
-         while(iter.hasPrevious())
-         {
-            Translator translator = iter.previous();
-            // sanity check
-            if (translator == null)
-            {
-               if (trace)
-                  log.trace("Null translator, classLoader: " + classLoader);
-
-               continue;
-            }
-
-            try
-            {
-               translator.unregisterClassLoader(classLoader);
-            }
-            catch (Exception e)
-            {
-               log.warn("Exception for translator " + translator + " on CL unregister: " + e);
-            }
-         }
-      }
-   }
-}

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/translator/TranslatorUtils.java (from rev 87590, projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/translator/TranslatorUtils.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/translator/TranslatorUtils.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/translator/TranslatorUtils.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,113 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.classloader.spi.translator;
+
+import java.security.ProtectionDomain;
+import java.util.List;
+import java.util.ListIterator;
+
+import org.jboss.logging.Logger;
+import org.jboss.util.loading.Translator;
+
+/**
+ * The translator utils/helper.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class TranslatorUtils
+{
+   /** The log */
+   private static final Logger log = Logger.getLogger(TranslatorUtils.class);
+
+   /**
+    * Apply transformers on transform.
+    *
+    * @param translators the translators
+    * @param classLoader the classloader
+    * @param className the class name
+    * @param byteCode the byte code
+    * @param protectionDomain the protection domain
+    * @return trabsformed bytes
+    * @throws Exception for any error
+    */
+   public static byte[] applyTranslatorsOnTransform(List<Translator> translators, ClassLoader classLoader, String className, byte[] byteCode, ProtectionDomain protectionDomain) throws Exception
+   {
+      if (translators == null || translators.isEmpty())
+         return byteCode;
+
+      boolean trace = log.isTraceEnabled();
+
+      byte[] result = byteCode;
+      for (Translator translator : translators)
+      {
+         // sanity check
+         if (translator == null)
+         {
+            if (trace)
+               log.trace("Null translator, classLoader: " + classLoader + ", className: " + className);
+
+            continue;
+         }
+
+         result = translator.transform(classLoader, className, null, protectionDomain, result);
+      }
+      return result;
+   }
+
+   /**
+    * Apply translators on classloader unregister / policy shutdown.
+    *
+    * @param translators the translators
+    * @param classLoader the policy's classloader
+    */
+   public static void applyTranslatorsAtUnregister(List<Translator> translators, ClassLoader classLoader)
+   {
+      if (translators != null && translators.isEmpty() == false)
+      {
+         boolean trace = log.isTraceEnabled();
+
+         // go in reverse order
+         ListIterator<Translator> iter = translators.listIterator(translators.size() - 1);
+         while(iter.hasPrevious())
+         {
+            Translator translator = iter.previous();
+            // sanity check
+            if (translator == null)
+            {
+               if (trace)
+                  log.trace("Null translator, classLoader: " + classLoader);
+
+               continue;
+            }
+
+            try
+            {
+               translator.unregisterClassLoader(classLoader);
+            }
+            catch (Exception e)
+            {
+               log.warn("Exception for translator " + translator + " on CL unregister: " + e);
+            }
+         }
+      }
+   }
+}

Modified: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/ClassLoaderAllTestSuite.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/ClassLoaderAllTestSuite.java	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/ClassLoaderAllTestSuite.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -24,7 +24,6 @@
 import junit.framework.Test;
 import junit.framework.TestSuite;
 import junit.textui.TestRunner;
-
 import org.jboss.test.classloader.bootstrap.BootstrapTestSuite;
 import org.jboss.test.classloader.delegate.DelegateTestSuite;
 import org.jboss.test.classloader.domain.ClassLoaderDomainTestSuite;
@@ -35,11 +34,13 @@
 import org.jboss.test.classloader.policy.test.ClassLoaderPolicyUnitTestCase;
 import org.jboss.test.classloader.resources.ResourceTestSuite;
 import org.jboss.test.classloader.system.ClassLoaderSystemTestSuite;
+import org.jboss.test.classloader.transform.TransformTestSuite;
 
 /**
  * ClassLoader All Test Suite.
  * 
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
  * @version $Revision: 37459 $
  */
 public class ClassLoaderAllTestSuite extends TestSuite
@@ -73,7 +74,8 @@
       suite.addTest(ResourceTestSuite.suite());
       suite.addTest(JMXTestSuite.suite());
       suite.addTest(JUnitTestSuite.suite());
-      
+      suite.addTest(TransformTestSuite.suite());
+
       return suite;
    }
 }

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform (from rev 87590, projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform)

Deleted: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/TransformTestSuite.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/TransformTestSuite.java	2009-04-20 19:30:16 UTC (rev 87590)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/TransformTestSuite.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -1,63 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
-import org.jboss.test.classloader.transform.test.MixedTransformUnitTestCase;
-import org.jboss.test.classloader.transform.test.PolicyTransformUnitTestCase;
-import org.jboss.test.classloader.transform.test.SystemTransformUnitTestCase;
-
-/**
- * Transform Test Suite.
- *
- * @author <a href="ales.justin at jboss.com">Ales Justin</a>
- */
-public class TransformTestSuite extends TestSuite
-{
-   /**
-    * For running the testsuite from the command line
-    *
-    * @param args the command line args
-    */
-   public static void main(String[] args)
-   {
-      TestRunner.run(suite());
-   }
-
-   /**
-    * Create the testsuite
-    *
-    * @return the testsuite
-    */
-   public static Test suite()
-   {
-      TestSuite suite = new TestSuite("Transform Tests");
-
-      suite.addTest(PolicyTransformUnitTestCase.suite());
-      suite.addTest(SystemTransformUnitTestCase.suite());
-      suite.addTest(MixedTransformUnitTestCase.suite());
-
-      return suite;
-   }
-}

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/TransformTestSuite.java (from rev 87590, projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/TransformTestSuite.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/TransformTestSuite.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/TransformTestSuite.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+import org.jboss.test.classloader.transform.test.MixedTransformUnitTestCase;
+import org.jboss.test.classloader.transform.test.PolicyTransformUnitTestCase;
+import org.jboss.test.classloader.transform.test.SystemTransformUnitTestCase;
+
+/**
+ * Transform Test Suite.
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public class TransformTestSuite extends TestSuite
+{
+   /**
+    * For running the testsuite from the command line
+    *
+    * @param args the command line args
+    */
+   public static void main(String[] args)
+   {
+      TestRunner.run(suite());
+   }
+
+   /**
+    * Create the testsuite
+    *
+    * @return the testsuite
+    */
+   public static Test suite()
+   {
+      TestSuite suite = new TestSuite("Transform Tests");
+
+      suite.addTest(PolicyTransformUnitTestCase.suite());
+      suite.addTest(SystemTransformUnitTestCase.suite());
+      suite.addTest(MixedTransformUnitTestCase.suite());
+
+      return suite;
+   }
+}

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support (from rev 87590, projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/support)

Deleted: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/AuthorTranslator.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/support/AuthorTranslator.java	2009-04-20 19:30:16 UTC (rev 87590)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/AuthorTranslator.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -1,35 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.support;
-
-import javassist.CtClass;
-
-/**
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class AuthorTranslator extends JavassistTranslator
-{
-   protected void addMethods(CtClass ctClass) throws Exception
-   {
-      addMethod(ctClass, "author");
-   }
-}

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/AuthorTranslator.java (from rev 87590, projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/support/AuthorTranslator.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/AuthorTranslator.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/AuthorTranslator.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.support;
+
+import javassist.CtClass;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class AuthorTranslator extends JavassistTranslator
+{
+   protected void addMethods(CtClass ctClass) throws Exception
+   {
+      addMethod(ctClass, "author");
+   }
+}

Deleted: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/JavassistTranslator.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/support/JavassistTranslator.java	2009-04-20 19:30:16 UTC (rev 87590)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/JavassistTranslator.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -1,63 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.support;
-
-import java.security.ProtectionDomain;
-
-import javassist.ClassPool;
-import javassist.CtClass;
-import javassist.CtMethod;
-import javassist.CtNewMethod;
-import org.jboss.util.loading.Translator;
-
-/**
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public abstract class JavassistTranslator implements Translator
-{
-   private ClassPool pool = ClassPool.getDefault();
-
-   public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws Exception
-   {
-      // do not modify MethodHelper
-      if (className.contains("MethodHelper"))
-         return classfileBuffer;
-
-      CtClass ctClass = pool.getCtClass(className);
-      ctClass.defrost();
-      addMethods(ctClass);
-      return ctClass.toBytecode();
-   }
-
-   protected abstract void addMethods(CtClass ctClass) throws Exception;
-
-   protected void addMethod(CtClass ctClass, String methodName) throws Exception
-   {
-      CtMethod body = pool.getCtClass(MethodHelper.class.getName()).getDeclaredMethod(methodName);
-      CtMethod newMethod = CtNewMethod.delegator(body, ctClass);
-      ctClass.addMethod(newMethod);
-   }
-
-   public void unregisterClassLoader(ClassLoader loader)
-   {
-   }
-}
\ No newline at end of file

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/JavassistTranslator.java (from rev 87590, projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/support/JavassistTranslator.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/JavassistTranslator.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/JavassistTranslator.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.support;
+
+import java.security.ProtectionDomain;
+
+import javassist.ClassPool;
+import javassist.CtClass;
+import javassist.CtMethod;
+import javassist.CtNewMethod;
+import org.jboss.util.loading.Translator;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public abstract class JavassistTranslator implements Translator
+{
+   private ClassPool pool = ClassPool.getDefault();
+
+   public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws Exception
+   {
+      // do not modify MethodHelper
+      if (className.contains("MethodHelper"))
+         return classfileBuffer;
+
+      CtClass ctClass = pool.getCtClass(className);
+      ctClass.defrost();
+      addMethods(ctClass);
+      return ctClass.toBytecode();
+   }
+
+   protected abstract void addMethods(CtClass ctClass) throws Exception;
+
+   protected void addMethod(CtClass ctClass, String methodName) throws Exception
+   {
+      CtMethod body = pool.getCtClass(MethodHelper.class.getName()).getDeclaredMethod(methodName);
+      CtMethod newMethod = CtNewMethod.delegator(body, ctClass);
+      ctClass.addMethod(newMethod);
+   }
+
+   public void unregisterClassLoader(ClassLoader loader)
+   {
+   }
+}
\ No newline at end of file

Deleted: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/LocaleTranslator.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/support/LocaleTranslator.java	2009-04-20 19:30:16 UTC (rev 87590)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/LocaleTranslator.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -1,35 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.support;
-
-import javassist.CtClass;
-
-/**
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class LocaleTranslator extends JavassistTranslator
-{
-   protected void addMethods(CtClass ctClass) throws Exception
-   {
-      addMethod(ctClass, "locale");
-   }
-}
\ No newline at end of file

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/LocaleTranslator.java (from rev 87590, projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/support/LocaleTranslator.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/LocaleTranslator.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/LocaleTranslator.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.support;
+
+import javassist.CtClass;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class LocaleTranslator extends JavassistTranslator
+{
+   protected void addMethods(CtClass ctClass) throws Exception
+   {
+      addMethod(ctClass, "locale");
+   }
+}
\ No newline at end of file

Deleted: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/MethodHelper.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/support/MethodHelper.java	2009-04-20 19:30:16 UTC (rev 87590)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/MethodHelper.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -1,40 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.support;
-
-import java.util.Locale;
-
-/**
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class MethodHelper
-{
-   public static String author()
-   {
-      return System.getProperty("user.name", "Ales");     
-   }
-
-   public static Locale locale()
-   {
-      return Locale.getDefault();     
-   }
-}
\ No newline at end of file

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/MethodHelper.java (from rev 87590, projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/support/MethodHelper.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/MethodHelper.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/MethodHelper.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.support;
+
+import java.util.Locale;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class MethodHelper
+{
+   public static String author()
+   {
+      return System.getProperty("user.name", "Ales");     
+   }
+
+   public static Locale locale()
+   {
+      return Locale.getDefault();     
+   }
+}
\ No newline at end of file

Deleted: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/MixedTester.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/support/MixedTester.java	2009-04-20 19:30:16 UTC (rev 87590)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/MixedTester.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -1,29 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.support;
-
-/**
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class MixedTester
-{
-}
\ No newline at end of file

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/MixedTester.java (from rev 87590, projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/support/MixedTester.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/MixedTester.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/MixedTester.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.support;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class MixedTester
+{
+}
\ No newline at end of file

Deleted: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/PolicyTester.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/support/PolicyTester.java	2009-04-20 19:30:16 UTC (rev 87590)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/PolicyTester.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -1,29 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.support;
-
-/**
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class PolicyTester
-{
-}

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/PolicyTester.java (from rev 87590, projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/support/PolicyTester.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/PolicyTester.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/PolicyTester.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.support;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class PolicyTester
+{
+}

Deleted: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/SystemTester.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/support/SystemTester.java	2009-04-20 19:30:16 UTC (rev 87590)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/SystemTester.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -1,29 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.support;
-
-/**
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class SystemTester
-{
-}
\ No newline at end of file

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/SystemTester.java (from rev 87590, projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/support/SystemTester.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/SystemTester.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/support/SystemTester.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,29 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.support;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class SystemTester
+{
+}
\ No newline at end of file

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test (from rev 87590, projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/test)

Deleted: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/MixedTransformUnitTestCase.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/test/MixedTransformUnitTestCase.java	2009-04-20 19:30:16 UTC (rev 87590)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/MixedTransformUnitTestCase.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -1,68 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.test;
-
-import java.lang.reflect.Method;
-
-import junit.framework.Test;
-import org.jboss.classloader.spi.ClassLoaderPolicy;
-import org.jboss.classloader.spi.ClassLoaderSystem;
-import org.jboss.test.classloader.transform.support.AuthorTranslator;
-import org.jboss.test.classloader.transform.support.LocaleTranslator;
-
-/**
- * Mixed transformation tests.
- *
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class MixedTransformUnitTestCase extends TransformTest
-{
-   public MixedTransformUnitTestCase(String name)
-   {
-      super(name);
-   }
-
-   public static Test suite()
-   {
-      return suite(MixedTransformUnitTestCase.class);
-   }
-
-   protected void prepareTransform(ClassLoaderSystem system, ClassLoaderPolicy policy)
-   {
-      policy.addTranslator(new AuthorTranslator());
-      system.addTranslator(new LocaleTranslator());
-   }
-
-   protected String getClassName()
-   {
-      return "org.jboss.test.classloader.transform.support.MixedTester";
-   }
-
-   protected void testInstance(Object instance) throws Exception
-   {
-      Method author = instance.getClass().getDeclaredMethod("author");
-      assertNotNull(author.invoke(instance));
-
-      Method locale = instance.getClass().getDeclaredMethod("locale");
-      assertNotNull(locale.invoke(instance));
-   }
-}
\ No newline at end of file

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/MixedTransformUnitTestCase.java (from rev 87590, projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/test/MixedTransformUnitTestCase.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/MixedTransformUnitTestCase.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/MixedTransformUnitTestCase.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,68 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.test;
+
+import java.lang.reflect.Method;
+
+import junit.framework.Test;
+import org.jboss.classloader.spi.ClassLoaderPolicy;
+import org.jboss.classloader.spi.ClassLoaderSystem;
+import org.jboss.test.classloader.transform.support.AuthorTranslator;
+import org.jboss.test.classloader.transform.support.LocaleTranslator;
+
+/**
+ * Mixed transformation tests.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class MixedTransformUnitTestCase extends TransformTest
+{
+   public MixedTransformUnitTestCase(String name)
+   {
+      super(name);
+   }
+
+   public static Test suite()
+   {
+      return suite(MixedTransformUnitTestCase.class);
+   }
+
+   protected void prepareTransform(ClassLoaderSystem system, ClassLoaderPolicy policy)
+   {
+      policy.addTranslator(new AuthorTranslator());
+      system.addTranslator(new LocaleTranslator());
+   }
+
+   protected String getClassName()
+   {
+      return "org.jboss.test.classloader.transform.support.MixedTester";
+   }
+
+   protected void testInstance(Object instance) throws Exception
+   {
+      Method author = instance.getClass().getDeclaredMethod("author");
+      assertNotNull(author.invoke(instance));
+
+      Method locale = instance.getClass().getDeclaredMethod("locale");
+      assertNotNull(locale.invoke(instance));
+   }
+}
\ No newline at end of file

Deleted: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/PolicyTransformUnitTestCase.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/test/PolicyTransformUnitTestCase.java	2009-04-20 19:30:16 UTC (rev 87590)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/PolicyTransformUnitTestCase.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -1,72 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.test;
-
-import java.lang.reflect.Method;
-
-import junit.framework.Test;
-import org.jboss.classloader.spi.ClassLoaderPolicy;
-import org.jboss.classloader.spi.ClassLoaderSystem;
-import org.jboss.test.classloader.transform.support.AuthorTranslator;
-
-/**
- * Per policy transformation tests.
- *
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class PolicyTransformUnitTestCase extends TransformTest
-{
-   public PolicyTransformUnitTestCase(String name)
-   {
-      super(name);
-   }
-
-   public static Test suite()
-   {
-      return suite(PolicyTransformUnitTestCase.class);
-   }
-
-   protected void prepareTransform(ClassLoaderSystem system, ClassLoaderPolicy policy)
-   {
-      policy.addTranslator(new AuthorTranslator());
-   }
-
-   protected String getClassName()
-   {
-      return "org.jboss.test.classloader.transform.support.PolicyTester";
-   }
-
-   protected void testInstance(Object instance) throws Exception
-   {
-      Method author = instance.getClass().getDeclaredMethod("author");
-      assertNotNull(author.invoke(instance));
-
-      try
-      {
-         instance.getClass().getDeclaredMethod("locale");
-         fail("Should not be here.");
-      }
-      catch (Exception ignored)
-      {
-      }
-   }
-}
\ No newline at end of file

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/PolicyTransformUnitTestCase.java (from rev 87590, projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/test/PolicyTransformUnitTestCase.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/PolicyTransformUnitTestCase.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/PolicyTransformUnitTestCase.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.test;
+
+import java.lang.reflect.Method;
+
+import junit.framework.Test;
+import org.jboss.classloader.spi.ClassLoaderPolicy;
+import org.jboss.classloader.spi.ClassLoaderSystem;
+import org.jboss.test.classloader.transform.support.AuthorTranslator;
+
+/**
+ * Per policy transformation tests.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class PolicyTransformUnitTestCase extends TransformTest
+{
+   public PolicyTransformUnitTestCase(String name)
+   {
+      super(name);
+   }
+
+   public static Test suite()
+   {
+      return suite(PolicyTransformUnitTestCase.class);
+   }
+
+   protected void prepareTransform(ClassLoaderSystem system, ClassLoaderPolicy policy)
+   {
+      policy.addTranslator(new AuthorTranslator());
+   }
+
+   protected String getClassName()
+   {
+      return "org.jboss.test.classloader.transform.support.PolicyTester";
+   }
+
+   protected void testInstance(Object instance) throws Exception
+   {
+      Method author = instance.getClass().getDeclaredMethod("author");
+      assertNotNull(author.invoke(instance));
+
+      try
+      {
+         instance.getClass().getDeclaredMethod("locale");
+         fail("Should not be here.");
+      }
+      catch (Exception ignored)
+      {
+      }
+   }
+}
\ No newline at end of file

Deleted: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/SystemTransformUnitTestCase.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/test/SystemTransformUnitTestCase.java	2009-04-20 19:30:16 UTC (rev 87590)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/SystemTransformUnitTestCase.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -1,72 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.test;
-
-import java.lang.reflect.Method;
-
-import junit.framework.Test;
-import org.jboss.classloader.spi.ClassLoaderPolicy;
-import org.jboss.classloader.spi.ClassLoaderSystem;
-import org.jboss.test.classloader.transform.support.LocaleTranslator;
-
-/**
- * Per system transformation tests.
- *
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class SystemTransformUnitTestCase extends TransformTest
-{
-   public SystemTransformUnitTestCase(String name)
-   {
-      super(name);
-   }
-
-   public static Test suite()
-   {
-      return suite(SystemTransformUnitTestCase.class);
-   }
-
-   protected void prepareTransform(ClassLoaderSystem system, ClassLoaderPolicy policy)
-   {
-      system.addTranslator(new LocaleTranslator());
-   }
-
-   protected String getClassName()
-   {
-      return "org.jboss.test.classloader.transform.support.SystemTester";
-   }
-
-   protected void testInstance(Object instance) throws Exception
-   {
-      try
-      {
-         instance.getClass().getDeclaredMethod("author");
-         fail("Should not be here.");
-      }
-      catch (Exception ignored)
-      {
-      }
-
-      Method locale = instance.getClass().getDeclaredMethod("locale");
-      assertNotNull(locale.invoke(instance));
-   }
-}
\ No newline at end of file

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/SystemTransformUnitTestCase.java (from rev 87590, projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/test/SystemTransformUnitTestCase.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/SystemTransformUnitTestCase.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/SystemTransformUnitTestCase.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.test;
+
+import java.lang.reflect.Method;
+
+import junit.framework.Test;
+import org.jboss.classloader.spi.ClassLoaderPolicy;
+import org.jboss.classloader.spi.ClassLoaderSystem;
+import org.jboss.test.classloader.transform.support.LocaleTranslator;
+
+/**
+ * Per system transformation tests.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class SystemTransformUnitTestCase extends TransformTest
+{
+   public SystemTransformUnitTestCase(String name)
+   {
+      super(name);
+   }
+
+   public static Test suite()
+   {
+      return suite(SystemTransformUnitTestCase.class);
+   }
+
+   protected void prepareTransform(ClassLoaderSystem system, ClassLoaderPolicy policy)
+   {
+      system.addTranslator(new LocaleTranslator());
+   }
+
+   protected String getClassName()
+   {
+      return "org.jboss.test.classloader.transform.support.SystemTester";
+   }
+
+   protected void testInstance(Object instance) throws Exception
+   {
+      try
+      {
+         instance.getClass().getDeclaredMethod("author");
+         fail("Should not be here.");
+      }
+      catch (Exception ignored)
+      {
+      }
+
+      Method locale = instance.getClass().getDeclaredMethod("locale");
+      assertNotNull(locale.invoke(instance));
+   }
+}
\ No newline at end of file

Deleted: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/TransformTest.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/test/TransformTest.java	2009-04-20 19:30:16 UTC (rev 87590)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/TransformTest.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -1,59 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.test;
-
-import org.jboss.classloader.spi.ClassLoaderPolicy;
-import org.jboss.classloader.spi.ClassLoaderSystem;
-import org.jboss.classloader.test.support.MockClassLoaderPolicy;
-import org.jboss.test.classloader.AbstractClassLoaderTest;
-
-/**
- * Transformation tests.
- *
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public abstract class TransformTest extends AbstractClassLoaderTest
-{
-   protected TransformTest(String name)
-   {
-      super(name);
-   }
-
-   public void testTransform() throws Exception
-   {
-      ClassLoaderSystem system = createClassLoaderSystemWithModifiedBootstrap();
-      MockClassLoaderPolicy policy = createMockClassLoaderPolicy();
-      policy.setPaths("org/jboss/test/classloader/transform/support");
-      prepareTransform(system, policy);
-
-      ClassLoader cl = system.registerClassLoaderPolicy(policy);
-      Class<?> clazz = cl.loadClass(getClassName());
-      Object instance = clazz.newInstance();
-      testInstance(instance);
-   }
-
-   protected abstract void prepareTransform(ClassLoaderSystem system, ClassLoaderPolicy policy);
-
-   protected abstract String getClassName();
-
-   protected abstract void testInstance(Object instance) throws Exception;
-}

Copied: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/TransformTest.java (from rev 87590, projects/jboss-cl/trunk/classloader/src/test/java/org/jboss/test/classloader/transform/test/TransformTest.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/TransformTest.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/transform/test/TransformTest.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.test.classloader.transform.test;
+
+import org.jboss.classloader.spi.ClassLoaderPolicy;
+import org.jboss.classloader.spi.ClassLoaderSystem;
+import org.jboss.classloader.test.support.MockClassLoaderPolicy;
+import org.jboss.test.classloader.AbstractClassLoaderTest;
+
+/**
+ * Transformation tests.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public abstract class TransformTest extends AbstractClassLoaderTest
+{
+   protected TransformTest(String name)
+   {
+      super(name);
+   }
+
+   public void testTransform() throws Exception
+   {
+      ClassLoaderSystem system = createClassLoaderSystemWithModifiedBootstrap();
+      MockClassLoaderPolicy policy = createMockClassLoaderPolicy();
+      policy.setPaths("org/jboss/test/classloader/transform/support");
+      prepareTransform(system, policy);
+
+      ClassLoader cl = system.registerClassLoaderPolicy(policy);
+      Class<?> clazz = cl.loadClass(getClassName());
+      Object instance = clazz.newInstance();
+      testInstance(instance);
+   }
+
+   protected abstract void prepareTransform(ClassLoaderSystem system, ClassLoaderPolicy policy);
+
+   protected abstract String getClassName();
+
+   protected abstract void testInstance(Object instance) throws Exception;
+}

Copied: projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/plugins/dependency (from rev 87590, projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/plugins/dependency)

Deleted: projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/plugins/dependency/DefaultGlobalCapabilitiesProvider.java
===================================================================
--- projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/plugins/dependency/DefaultGlobalCapabilitiesProvider.java	2009-04-20 19:30:16 UTC (rev 87590)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/plugins/dependency/DefaultGlobalCapabilitiesProvider.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -1,48 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source.
-* Copyright 2006, Red Hat Middleware LLC, and individual contributors
-* as indicated by the @author tags. See the copyright.txt file 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.classloading.plugins.dependency;
-
-import java.util.List;
-
-import org.jboss.classloading.spi.dependency.GlobalCapabilitiesProvider;
-import org.jboss.classloading.spi.metadata.CapabilitiesMetaData;
-import org.jboss.classloading.spi.metadata.Capability;
-
-/**
- * 
- * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
- * @version $Revision: 1.1 $
- */
-public class DefaultGlobalCapabilitiesProvider implements GlobalCapabilitiesProvider
-{
-   List<Capability> capabilities;
-   
-   public void setGlobalCapabilities(CapabilitiesMetaData capabilitiesMetaData)
-   {
-      capabilities = capabilitiesMetaData.getCapabilities();
-   }
-   
-   public List<Capability> getCapabilities()
-   {
-      return capabilities;
-   }   
-}

Copied: projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/plugins/dependency/DefaultGlobalCapabilitiesProvider.java (from rev 87590, projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/plugins/dependency/DefaultGlobalCapabilitiesProvider.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/plugins/dependency/DefaultGlobalCapabilitiesProvider.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/plugins/dependency/DefaultGlobalCapabilitiesProvider.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,48 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.classloading.plugins.dependency;
+
+import java.util.List;
+
+import org.jboss.classloading.spi.dependency.GlobalCapabilitiesProvider;
+import org.jboss.classloading.spi.metadata.CapabilitiesMetaData;
+import org.jboss.classloading.spi.metadata.Capability;
+
+/**
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultGlobalCapabilitiesProvider implements GlobalCapabilitiesProvider
+{
+   List<Capability> capabilities;
+   
+   public void setGlobalCapabilities(CapabilitiesMetaData capabilitiesMetaData)
+   {
+      capabilities = capabilitiesMetaData.getCapabilities();
+   }
+   
+   public List<Capability> getCapabilities()
+   {
+      return capabilities;
+   }   
+}

Modified: projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/ClassLoading.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/ClassLoading.java	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/ClassLoading.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -21,28 +21,44 @@
  */
 package org.jboss.classloading.spi.dependency;
 
+import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.jboss.classloader.spi.ClassLoaderSystem;
+import org.jboss.classloading.spi.metadata.Capability;
+import org.jboss.logging.Logger;
+import org.jboss.util.collection.ConcurrentSet;
 
 /**
  * ClassLoading.
  *
  * @author <a href="adrian at jboss.org">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
  * @version $Revision: 1.1 $
  */
 public class ClassLoading
 {
+   /** The log */
+   private static final Logger log = Logger.getLogger(ClassLoading.class);
+
    /** An empty default domain */
    private Domain EMPTY_DOMAIN = new Domain(this, ClassLoaderSystem.DEFAULT_DOMAIN_NAME, null, true);
    
    /** The classloading domains by name */
-   private Map<String, Domain> domains = new ConcurrentHashMap<String, Domain>();
-   
+   private final Map<String, Domain> domains = new ConcurrentHashMap<String, Domain>();
+
+   /** The global capabilities provider */
+   private final Set<GlobalCapabilitiesProvider> globalCapabilitiesProviders = new ConcurrentSet<GlobalCapabilitiesProvider>();
+
+   /** The module registries */
+   private final Set<ModuleRegistry> moduleRegistries = new ConcurrentSet<ModuleRegistry>();
+
    /**
     * Add a module
-    * 
+    *
     * @param module the module
     * @throws IllegalArgumentException for a null module
     */
@@ -56,6 +72,32 @@
       String parentDomainName = module.getDeterminedParentDomainName();
       Domain domain = getDomain(domainName, parentDomainName, parentFirst);
       domain.addModule(module);
+
+      Set<ModuleRegistry> added = new HashSet<ModuleRegistry>();
+      try
+      {
+         for (ModuleRegistry mr : moduleRegistries)
+         {
+            mr.addModule(module);
+            added.add(mr);
+         }
+      }
+      catch (Exception e)
+      {
+         for (ModuleRegistry mr : added)
+         {
+            try
+            {
+               mr.removeModule(module);
+            }
+            catch (Exception ignored)
+            {
+            }
+         }
+         module.release();
+
+         throw new IllegalArgumentException("Exception while registering Module.", e);
+      }
    }
    
    /**
@@ -68,10 +110,49 @@
    {
       if (module == null)
          throw new IllegalArgumentException("Null module");
+
+      for (ModuleRegistry mr : moduleRegistries)
+      {
+         try
+         {
+            mr.removeModule(module);
+         }
+         catch (Exception e)
+         {
+            log.warn("Exception unregistering module, registry: " + mr + ", cause: " + e);
+         }
+      }
+
       module.release();
    }
-
+   
    /**
+    * Add a global capabilities provider
+    * @param provider the provider
+    * @throws IllegalArgumentException for a null provider
+    */
+   public void addGlobalCapabilitiesProvider(GlobalCapabilitiesProvider provider)
+   {
+      if (provider == null)
+         throw new IllegalArgumentException("Null global capabilities provider");
+      
+      globalCapabilitiesProviders.add(provider);
+   }
+   
+   /**
+    * Remove a global capabilities provider
+    * @param provider the provider
+    * @throws IllegalArgumentException for a null provider
+    */
+   public void removeGlobalCapabilitiesProvider(GlobalCapabilitiesProvider provider)
+   {
+      if (provider == null)
+         throw new IllegalArgumentException("Null global capabilities provider");
+      
+      globalCapabilitiesProviders.remove(provider);
+   }
+   
+   /**
     * Get or create the domain
     * 
     * @param domainName the domain name
@@ -159,4 +240,47 @@
          return null;
       return module.getClassLoader();
    }
+   
+   /**
+    * Merges the capabilities provided by our global capabilities provider with the passed in capabilities.
+    *
+    * @param capabilities the capabilities list into which we want to add the global capabilities
+    * @return the passed in capabilities with the global capabilities merged in
+    */
+   List<Capability> mergeGlobalCapabilities(List<Capability> capabilities)
+   {
+      if (capabilities == null)
+         throw new IllegalArgumentException("Null capabilities");
+      
+      if (globalCapabilitiesProviders != null && globalCapabilitiesProviders.size() > 0)
+      {
+         for (GlobalCapabilitiesProvider provider : globalCapabilitiesProviders)
+         {
+            capabilities.addAll(provider.getCapabilities());
+         }
+      }
+      return capabilities;
+   }
+
+   /**
+    * Add module registry.
+    *
+    * @param moduleRegistry the module registry
+    * @return see Set#add
+    */
+   public boolean addModuleRegistry(ModuleRegistry moduleRegistry)
+   {
+      return moduleRegistries.add(moduleRegistry);
+   }
+
+   /**
+    * Remove module registry.
+    *
+    * @param moduleRegistry the module registry
+    * @return see Set#remove
+    */
+   public boolean removeModuleRegistry(ModuleRegistry moduleRegistry)
+   {
+      return moduleRegistries.remove(moduleRegistry);
+   }
 }

Modified: projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/Domain.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/Domain.java	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/Domain.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -34,6 +34,7 @@
  * Domain.
  * 
  * @author <a href="adrian at jboss.org">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
  * @version $Revision: 1.1 $
  */
 public class Domain
@@ -175,15 +176,15 @@
          throw new IllegalArgumentException("Null module");
 
       log.debug(this + " remove module " + module);
-      
-      modulesByName.remove(module.getContextName());
-      modules.remove(module);
-      module.setDomain(null);
-      module.removeDependencies();
-      
+
       ClassLoadingSpace space = module.getClassLoadingSpace();
       if (space != null)
          space.split(module);
+
+      module.removeDependencies();
+      modules.remove(module);
+      modulesByName.remove(module.getContextName());
+      module.setDomain(null);
    }
 
    /**
@@ -207,6 +208,17 @@
    }
    
    /**
+    * Merges the capabilities provided by our global capabilities provider with the passed in capabilities.
+    *
+    * @param capabilities the capabilities list into which we want to add the global capabilities
+    * @return the passed in capabilities with the global capabilities merged in
+    */
+   List<Capability> mergeGlobalCapabilities(List<Capability> capabilities)
+   {
+      return classLoading.mergeGlobalCapabilities(capabilities);
+   }
+   
+   /**
     * Resolve a requirement to a module
     * 
     * @param module the module

Copied: projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/GlobalCapabilitiesProvider.java (from rev 87590, projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/dependency/GlobalCapabilitiesProvider.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/GlobalCapabilitiesProvider.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/GlobalCapabilitiesProvider.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,42 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.classloading.spi.dependency;
+
+import java.util.List;
+
+import org.jboss.classloading.spi.metadata.Capability;
+
+/**
+ * Used in ClassLoadings in/uncallback to obtain capabilities that should be
+ * used for all loaders.
+ * 
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public interface GlobalCapabilitiesProvider
+{
+   /**
+    * Gets the global capabilites
+    * @return A list of the global capabilities
+    */
+   List<Capability> getCapabilities();
+}

Modified: projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/Module.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/Module.java	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/Module.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -82,7 +82,7 @@
    
    /** The requirements */
    private List<RequirementDependencyItem> requirementDependencies;
-
+   
    /**
     * Register a classloader for a module
     * 
@@ -355,7 +355,7 @@
    {
       return true;
    }
-
+   
    /**
     * Find the module for a classloader
     * 
@@ -656,6 +656,9 @@
       // Use the defaults
       if (capabilities == null)
          capabilities = defaultCapabilities();
+
+      //Add global capabilities
+      capabilities = checkDomain().mergeGlobalCapabilities(capabilities);
       
       // Cache it
       this.capabilities = capabilities;

Copied: projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/ModuleRegistry.java (from rev 87590, projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/dependency/ModuleRegistry.java)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/ModuleRegistry.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/ModuleRegistry.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.classloading.spi.dependency;
+
+/**
+ * Track Module instances.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public interface ModuleRegistry
+{
+   /**
+    * Add the module.
+    *
+    * @param module the module
+    */
+   void addModule(Module module);
+
+   /**
+    * Remove module.
+    *
+    * @param module the module
+    */
+   void removeModule(Module module);
+}

Modified: projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/CapabilitiesMetaData.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/CapabilitiesMetaData.java	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/CapabilitiesMetaData.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -28,6 +28,7 @@
 import javax.xml.bind.annotation.XmlAnyElement;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
 import org.jboss.classloading.plugins.metadata.ModuleCapability;
@@ -35,22 +36,23 @@
 
 /**
  * CapabilitiesMetaData.
- *
+ * 
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
  * @version $Revision: 1.1 $
  */
 @XmlType(name="capabilities", propOrder= {"capabilities"})
+ at XmlRootElement(name="capabilities", namespace="urn:jboss:classloading:1.0")
 public class CapabilitiesMetaData implements Serializable, Cloneable
 {
    /** The serialVersionUID */
    private static final long serialVersionUID = -7910704924025591308L;
-
+   
    /** The capabilities */
    private List<Capability> capabilities;
 
    /**
     * Get the capabilities.
-    *
+    * 
     * @return the capabilities.
     */
    public List<Capability> getCapabilities()
@@ -60,7 +62,7 @@
 
    /**
     * Set the capabilities.
-    *
+    * 
     * @param capabilities the capabilities.
     */
    @XmlElements
@@ -76,7 +78,7 @@
 
    /**
     * Add a capability
-    *
+    * 
     * @param capability the capability
     * @throws IllegalArgumentException for a null capability
     */
@@ -91,7 +93,7 @@
 
    /**
     * Remove a capability
-    *
+    * 
     * @param capability the capability
     * @throws IllegalArgumentException for a null capability
     */

Modified: projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData10.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData10.java	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData10.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -23,6 +23,7 @@
 
 import javax.xml.bind.annotation.XmlNsForm;
 import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 
 import org.jboss.xb.annotations.JBossXmlSchema;
 
@@ -34,6 +35,7 @@
  */
 @JBossXmlSchema(namespace="urn:jboss:classloading:1.0", elementFormDefault=XmlNsForm.QUALIFIED)
 @XmlRootElement(name="classloading")
+ at XmlType(propOrder = {"requirements", "capabilities"})
 public class ClassLoadingMetaData10 extends ClassLoadingMetaData
 {
    /** The serialVersionUID */

Modified: projects/jboss-cl/branches/Branch_2_0/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingMetaDataUnitTestCase.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingMetaDataUnitTestCase.java	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingMetaDataUnitTestCase.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -44,7 +44,7 @@
 
 /**
  * ManagedObjectClassLoadingMetaDataUnitTestCase.
- * 
+ *
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
  * @version $Revision: 1.1 $
  */
@@ -53,7 +53,7 @@
    private ManagedObjectFactory moFactory = ManagedObjectFactory.getInstance();
    private MetaTypeFactory mtFactory = MetaTypeFactory.getInstance();
    private MetaValueFactory mvFactory = MetaValueFactory.getInstance();
-   
+
    public static Test suite()
    {
       return suite(ManagedObjectClassLoadingMetaDataUnitTestCase.class);
@@ -63,7 +63,7 @@
    {
       super(name);
    }
-   
+
    protected ManagedObject assertManagedObject(ClassLoadingMetaData test)
    {
       ManagedObject result = moFactory.initManagedObject(test, null, null);
@@ -82,7 +82,7 @@
       }
       return result;
    }
-   
+
    protected ManagedProperty assertManagedProperty(ManagedObject mo, String name, MetaType metaType, MetaValue metaValue)
    {
       ManagedProperty property = mo.getProperty(name);
@@ -91,7 +91,7 @@
       assertEquals(metaValue, property.getValue());
       return property;
    }
-   
+
    protected <T> ManagedProperty assertManagedProperty(ManagedObject mo, String name, Class<T> type, T value)
    {
       MetaType metaType = mtFactory.resolve(type);
@@ -101,7 +101,7 @@
          metaValue = mvFactory.create(value);
       return assertManagedProperty(mo, name, metaType, metaValue);
    }
-   
+
    public void testConstructor() throws Exception
    {
       ClassLoadingMetaData test = new ClassLoadingMetaData();
@@ -114,12 +114,12 @@
       assertManagedProperty(mo, "included", String.class, null);
       assertManagedProperty(mo, "excluded", String.class, null);
       assertManagedProperty(mo, "excludedExport", String.class, null);
-      assertManagedProperty(mo, "importAll", Boolean.class, false);
-      assertManagedProperty(mo, "parentFirst", Boolean.class, true);
+      assertManagedProperty(mo, "importAll", boolean.class, false);
+      assertManagedProperty(mo, "parentFirst", boolean.class, true);
       assertManagedProperty(mo, "capabilities", CapabilitiesMetaData.class, new CapabilitiesMetaData());
       assertManagedProperty(mo, "requirements", RequirementsMetaData.class, new RequirementsMetaData());
    }
-   
+
    public void testSetName() throws Exception
    {
       ClassLoadingMetaData test = new ClassLoadingMetaData();
@@ -127,7 +127,7 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "name", String.class, "test");
    }
-   
+
    public void testSetVersion() throws Exception
    {
       ClassLoadingMetaData test = new ClassLoadingMetaData();
@@ -143,7 +143,7 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "domain", String.class, "domain");
    }
-   
+
    public void testSetParentDomain() throws Exception
    {
       ClassLoadingMetaData test = new ClassLoadingMetaData();
@@ -151,7 +151,7 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "parentDomain", String.class, "parentDomain");
    }
-   
+
    public void testSetExportAll() throws Exception
    {
       ClassLoadingMetaData test = new ClassLoadingMetaData();
@@ -159,7 +159,7 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "exportAll", ExportAll.class, ExportAll.ALL);
    }
-   
+
    public void testSetIncludedPackages() throws Exception
    {
       ClassLoadingMetaData test = new ClassLoadingMetaData();
@@ -167,7 +167,7 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "included", String.class, "Included");
    }
-   
+
    public void testSetExcludedPackages() throws Exception
    {
       ClassLoadingMetaData test = new ClassLoadingMetaData();
@@ -175,7 +175,7 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "excluded", String.class, "Excluded");
    }
-   
+
    public void testSetExcludedExportPackages() throws Exception
    {
       ClassLoadingMetaData test = new ClassLoadingMetaData();
@@ -183,39 +183,39 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "excludedExport", String.class, "ExcludedExport");
    }
-   
+
    public void testSetImportAll() throws Exception
    {
       ClassLoadingMetaData test = new ClassLoadingMetaData();
       test.setImportAll(true);
       ManagedObject mo = assertManagedObject(test);
-      assertManagedProperty(mo, "importAll", Boolean.class, true);
+      assertManagedProperty(mo, "importAll", boolean.class, true);
    }
-   
+
    public void testJ2seClassLoadingComplaince() throws Exception
    {
       ClassLoadingMetaData test = new ClassLoadingMetaData();
       test.setJ2seClassLoadingCompliance(false);
       ManagedObject mo = assertManagedObject(test);
-      assertManagedProperty(mo, "parentFirst", Boolean.class, false);
+      assertManagedProperty(mo, "parentFirst", boolean.class, false);
    }
-   
+
    public void testCacheable() throws Exception
    {
       ClassLoadingMetaData test = new ClassLoadingMetaData();
       test.setCacheable(false);
       ManagedObject mo = assertManagedObject(test);
-      assertManagedProperty(mo, "cache", Boolean.class, false);
+      assertManagedProperty(mo, "cache", boolean.class, false);
    }
-   
+
    public void testBlackList() throws Exception
    {
       ClassLoadingMetaData test = new ClassLoadingMetaData();
       test.setBlackListable(false);
       ManagedObject mo = assertManagedObject(test);
-      assertManagedProperty(mo, "blackList", Boolean.class, false);
+      assertManagedProperty(mo, "blackList", boolean.class, false);
    }
-   
+
    public void testCapabilities() throws Exception
    {
       ClassLoadingMetaDataFactory factory = ClassLoadingMetaDataFactory.getInstance();
@@ -225,7 +225,7 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "requirements", RequirementsMetaData.class, test.getRequirements());
    }
-   
+
    public void testRequirements() throws Exception
    {
       ClassLoadingMetaDataFactory factory = ClassLoadingMetaDataFactory.getInstance();

Modified: projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ExportImportMixed.xml
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ExportImportMixed.xml	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ExportImportMixed.xml	2009-04-20 19:57:26 UTC (rev 87594)
@@ -2,16 +2,16 @@
 
 <classloading xmlns="urn:jboss:classloading:1.0"
               name="test">
+   <requirements>
+      <module name="test2" from="2.0.0"/>
+      <package name="test2" from="2.0.0"/>
+      <module name="test1" from="1.0.0"/>
+      <package name="test1" from="1.0.0"/>
+   </requirements>
    <capabilities>
       <module name="test2" version="2.0.0"/>
       <package name="test2" version="2.0.0"/>
       <module name="test1" version="1.0.0"/>
       <package name="test1" version="1.0.0"/>
    </capabilities>
-   <requirements>
-      <module name="test2" from="2.0.0"/>
-      <package name="test2" from="2.0.0"/>
-      <module name="test1" from="1.0.0"/>
-      <package name="test1" from="1.0.0"/>
-   </requirements>
 </classloading>

Modified: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/java/org/jboss/classloading/spi/vfs/metadata/VFSClassLoaderFactory10.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/java/org/jboss/classloading/spi/vfs/metadata/VFSClassLoaderFactory10.java	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/java/org/jboss/classloading/spi/vfs/metadata/VFSClassLoaderFactory10.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -23,6 +23,7 @@
 
 import javax.xml.bind.annotation.XmlNsForm;
 import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
 
 import org.jboss.xb.annotations.JBossXmlSchema;
 
@@ -34,6 +35,7 @@
  */
 @JBossXmlSchema(namespace="urn:jboss:classloader:1.0", elementFormDefault=XmlNsForm.QUALIFIED)
 @XmlRootElement(name="classloader")
+ at XmlType(propOrder = {"requirements", "capabilities", "roots"})
 public class VFSClassLoaderFactory10 extends VFSClassLoaderFactory
 {
    /** The serialVersionUID */

Modified: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/resources/schema/jboss-classloading-1.0.xsd
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/resources/schema/jboss-classloading-1.0.xsd	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/resources/schema/jboss-classloading-1.0.xsd	2009-04-20 19:57:26 UTC (rev 87594)
@@ -25,6 +25,16 @@
       </xsd:annotation>
    </xsd:element>
 
+   <xsd:element name="capabilities" type="capabilities">
+      <xsd:annotation>
+         <xsd:documentation>
+            <![CDATA[
+            The capabilities for use in other schemas
+            ]]>
+         </xsd:documentation>
+      </xsd:annotation>
+   </xsd:element>
+
    <xsd:complexType name="classloadingType">
       <xsd:annotation>
          <xsd:documentation>

Modified: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/ClassLoadingVFSTestSuite.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/ClassLoadingVFSTestSuite.java	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/ClassLoadingVFSTestSuite.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -27,6 +27,7 @@
 
 import org.jboss.test.classloading.vfs.client.test.ClientClassPathUnitTestCase;
 import org.jboss.test.classloading.vfs.metadata.test.DomainUnitTestCase;
+import org.jboss.test.classloading.vfs.metadata.test.GeneratedClassesUnitTestCase;
 import org.jboss.test.classloading.vfs.metadata.test.ImportAllUnitTestCase;
 import org.jboss.test.classloading.vfs.metadata.test.ManagedObjectVFSClassLoaderFactoryUnitTestCase;
 import org.jboss.test.classloading.vfs.metadata.test.ModuleDependencyUnitTestCase;
@@ -83,6 +84,7 @@
       suite.addTest(VFSResourceVisitorUnitTestCase.suite());
       suite.addTest(ClientClassPathUnitTestCase.suite());
       suite.addTest(PackageInfoUnitTestCase.suite());
+      suite.addTest(GeneratedClassesUnitTestCase.suite());
 
       return suite;
    }

Modified: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/GeneratedClassesUnitTestCase.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/GeneratedClassesUnitTestCase.java	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/GeneratedClassesUnitTestCase.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -50,8 +50,8 @@
  */
 public class GeneratedClassesUnitTestCase extends VFSClassLoadingMicrocontainerTest
 {
-   final static GeneratedClassInfo DEFAULT_PACKAGE = new GeneratedClassInfo("DefaultGeneratedClass");
    final static GeneratedClassInfo NEW_PACKAGE  = new GeneratedClassInfo("newpackage.GeneratedClass");
+   final static GeneratedClassInfo OTHER_PACKAGE  = new GeneratedClassInfo("otherpackage.GeneratedClass");
    final static GeneratedClassInfo EXISTING_PACKAGE  = new GeneratedClassInfo("org.jboss.test.classloading.vfs.metadata.support.a.GeneratedClass");
    static
    {
@@ -70,21 +70,20 @@
 
    public void testImportAllGenerateClassInExistingPackage() throws Exception
    {
-      runImportAllGenerateClass(EXISTING_PACKAGE);
+      runImportAllGenerateClass(EXISTING_PACKAGE, true);
    }
    
-   public void testImportAllGenerateClassInDefaultPackage() throws Exception
+   public void testImportAllGenerateClassInGlobalIncludedPackage() throws Exception
    {
-      runImportAllGenerateClass(DEFAULT_PACKAGE);      
+      runImportAllGenerateClass(NEW_PACKAGE, true);
    }
    
-   public void testImportAllGenerateClassInNewPackage() throws Exception
+   public void testImportAllGenerateClassInOtherPackage() throws Exception
    {
-      runImportAllGenerateClass(NEW_PACKAGE);
+      runImportAllGenerateClass(OTHER_PACKAGE, false);
    }
    
-   
-   private void runImportAllGenerateClass(GeneratedClassInfo info) throws Exception
+   private void runImportAllGenerateClass(GeneratedClassInfo info, boolean expectSuccess) throws Exception
    {
       ClassLoadingMetaDataFactory factory = ClassLoadingMetaDataFactory.getInstance();
       String dynamicClassRoot = getDynamicClassRoot();
@@ -93,7 +92,6 @@
       a.getRoots().add(getRoot(A.class));
       a.getRoots().add(dynamicClassRoot);
       a.getCapabilities().addCapability(factory.createPackage(A.class.getPackage().getName()));
-      a.getCapabilities().addCapability(factory.createPackage(info.getPackageName()));
       KernelDeployment depA = install(a);
 
       VFSClassLoaderFactory b = new VFSClassLoaderFactory("b");
@@ -114,8 +112,24 @@
          Class<?> clazz = generateClass(clA, dynamicClassRoot, info);
          Class<?> clazzA = assertLoadClass(info.getClassname(), clA);
          assertSame(clazz, clazzA);
-         Class<?> clazzB = assertLoadClass(info.getClassname(), clB, clA);
-         assertSame(clazz, clazzB);
+         
+         try
+         {
+            Class<?> clazzB = assertLoadClass(info.getClassname(), clB, clA);
+            
+            if (!expectSuccess)
+            {
+               fail("Should not have been able to load " + info.getClassname());
+            }
+            assertSame(clazz, clazzB);
+         }
+         catch(Throwable t)
+         {
+            if (expectSuccess)
+            {
+               fail("Should have been able to load class" + info.getClassname() + " " + t);
+            }
+         }
       }
       finally
       {
@@ -180,6 +194,8 @@
       private void loadClassBytes()
       {
          InputStream in = this.getClass().getClassLoader().getResourceAsStream("classes/" + resourceName);
+         
+         assertNotNull("Could not find inputstream for " + resourceName, in);
          try
          {
             ByteArrayOutputStream out = new ByteArrayOutputStream();

Modified: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/ManagedObjectVFSClassLoaderFactoryUnitTestCase.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/ManagedObjectVFSClassLoaderFactoryUnitTestCase.java	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/ManagedObjectVFSClassLoaderFactoryUnitTestCase.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -46,7 +46,7 @@
 
 /**
  * ManagedObjectVFSClassLoaderFactoryUnitTestCase.
- * 
+ *
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
  * @version $Revision: 1.1 $
  */
@@ -55,7 +55,7 @@
    private ManagedObjectFactory moFactory = ManagedObjectFactory.getInstance();
    private MetaTypeFactory mtFactory = MetaTypeFactory.getInstance();
    private MetaValueFactory mvFactory = MetaValueFactory.getInstance();
-   
+
    public static Test suite()
    {
       return suite(ManagedObjectVFSClassLoaderFactoryUnitTestCase.class);
@@ -65,7 +65,7 @@
    {
       super(name);
    }
-   
+
    protected ManagedObject assertManagedObject(VFSClassLoaderFactory test)
    {
       ManagedObject result = moFactory.initManagedObject(test, null, null);
@@ -84,7 +84,7 @@
       }
       return result;
    }
-   
+
    protected ManagedProperty assertManagedProperty(ManagedObject mo, String name, MetaType metaType, MetaValue metaValue)
    {
       ManagedProperty property = mo.getProperty(name);
@@ -93,7 +93,7 @@
       assertEquals(metaValue, property.getValue());
       return property;
    }
-   
+
    protected ManagedProperty assertManagedProperty(ManagedObject mo, String name, Type type, Object value)
    {
       MetaType metaType = mtFactory.resolve(type);
@@ -103,12 +103,12 @@
          metaValue = mvFactory.create(value, type);
       return assertManagedProperty(mo, name, metaType, metaValue);
    }
-   
+
    protected <T> ManagedProperty assertManagedProperty(ManagedObject mo, String name, Class<T> type, T value)
    {
       return assertManagedProperty(mo, name, (Type) type, value);
    }
-   
+
    public void testConstructor() throws Exception
    {
       VFSClassLoaderFactory test = new VFSClassLoaderFactory();
@@ -121,12 +121,12 @@
       assertManagedProperty(mo, "included", String.class, null);
       assertManagedProperty(mo, "excluded", String.class, null);
       assertManagedProperty(mo, "excludedExport", String.class, null);
-      assertManagedProperty(mo, "importAll", Boolean.class, false);
-      assertManagedProperty(mo, "parentFirst", Boolean.class, true);
+      assertManagedProperty(mo, "importAll", boolean.class, false);
+      assertManagedProperty(mo, "parentFirst", boolean.class, true);
       assertManagedProperty(mo, "capabilities", CapabilitiesMetaData.class, new CapabilitiesMetaData());
       assertManagedProperty(mo, "requirements", RequirementsMetaData.class, new RequirementsMetaData());
    }
-   
+
    public void testSetName() throws Exception
    {
       VFSClassLoaderFactory test = new VFSClassLoaderFactory();
@@ -134,7 +134,7 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "name", String.class, "test");
    }
-   
+
    public void testSetVersion() throws Exception
    {
       VFSClassLoaderFactory test = new VFSClassLoaderFactory();
@@ -142,7 +142,7 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "version", Version.class, Version.parseVersion("1.0.0"));
    }
-   
+
    public void testContext() throws Exception
    {
       VFSClassLoaderFactory test = new VFSClassLoaderFactory();
@@ -158,7 +158,7 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "domain", String.class, "domain");
    }
-   
+
    public void testSetParentDomain() throws Exception
    {
       VFSClassLoaderFactory test = new VFSClassLoaderFactory();
@@ -166,7 +166,7 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "parentDomain", String.class, "parentDomain");
    }
-   
+
    public void testSetExportAll() throws Exception
    {
       VFSClassLoaderFactory test = new VFSClassLoaderFactory();
@@ -174,7 +174,7 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "exportAll", ExportAll.class, ExportAll.ALL);
    }
-   
+
    public void testSetIncludedPackages() throws Exception
    {
       VFSClassLoaderFactory test = new VFSClassLoaderFactory();
@@ -182,7 +182,7 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "included", String.class, "Included");
    }
-   
+
    public void testSetExcludedPackages() throws Exception
    {
       VFSClassLoaderFactory test = new VFSClassLoaderFactory();
@@ -190,7 +190,7 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "excluded", String.class, "Excluded");
    }
-   
+
    public void testSetExcludedExportPackages() throws Exception
    {
       VFSClassLoaderFactory test = new VFSClassLoaderFactory();
@@ -198,39 +198,39 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "excludedExport", String.class, "ExcludedExport");
    }
-   
+
    public void testSetImportAll() throws Exception
    {
       VFSClassLoaderFactory test = new VFSClassLoaderFactory();
       test.setImportAll(true);
       ManagedObject mo = assertManagedObject(test);
-      assertManagedProperty(mo, "importAll", Boolean.class, true);
+      assertManagedProperty(mo, "importAll", boolean.class, true);
    }
-   
+
    public void testJ2seClassLoadingComplaince() throws Exception
    {
       VFSClassLoaderFactory test = new VFSClassLoaderFactory();
       test.setJ2seClassLoadingCompliance(false);
       ManagedObject mo = assertManagedObject(test);
-      assertManagedProperty(mo, "parentFirst", Boolean.class, false);
+      assertManagedProperty(mo, "parentFirst", boolean.class, false);
    }
-   
+
    public void testCacheable() throws Exception
    {
       VFSClassLoaderFactory test = new VFSClassLoaderFactory();
       test.setCacheable(false);
       ManagedObject mo = assertManagedObject(test);
-      assertManagedProperty(mo, "cache", Boolean.class, false);
+      assertManagedProperty(mo, "cache", boolean.class, false);
    }
-   
+
    public void testBlackList() throws Exception
    {
       VFSClassLoaderFactory test = new VFSClassLoaderFactory();
       test.setBlackListable(false);
       ManagedObject mo = assertManagedObject(test);
-      assertManagedProperty(mo, "blackList", Boolean.class, false);
+      assertManagedProperty(mo, "blackList", boolean.class, false);
    }
-   
+
    public void testSetSystem() throws Exception
    {
       VFSClassLoaderFactory test = new VFSClassLoaderFactory();
@@ -238,7 +238,7 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "system", String.class, "test");
    }
-   
+
    public void testSetRoots() throws Exception
    {
       VFSClassLoaderFactory test = new VFSClassLoaderFactory();
@@ -248,9 +248,9 @@
       Field field = getClass().getField("rootsSignature");
       assertManagedProperty(mo, "roots", field.getGenericType(), roots);
    }
-   
+
    public static List<String> rootsSignature;
-   
+
    public void testCapabilities() throws Exception
    {
       ClassLoadingMetaDataFactory factory = ClassLoadingMetaDataFactory.getInstance();
@@ -260,7 +260,7 @@
       ManagedObject mo = assertManagedObject(test);
       assertManagedProperty(mo, "requirements", RequirementsMetaData.class, test.getRequirements());
    }
-   
+
    public void testRequirements() throws Exception
    {
       ClassLoadingMetaDataFactory factory = ClassLoadingMetaDataFactory.getInstance();

Modified: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/xml/test/NoopClassLoaderFactoryXMLUnitTestCase.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/xml/test/NoopClassLoaderFactoryXMLUnitTestCase.java	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/xml/test/NoopClassLoaderFactoryXMLUnitTestCase.java	2009-04-20 19:57:26 UTC (rev 87594)
@@ -22,12 +22,12 @@
 package org.jboss.test.classloading.vfs.metadata.xml.test;
 
 import junit.framework.Test;
+import org.jboss.classloading.spi.vfs.metadata.VFSClassLoaderFactory10;
 import org.jboss.test.classloading.vfs.metadata.xml.AbstractJBossXBTest;
 import org.jboss.test.classloading.vfs.metadata.xml.support.NoopClassLoaderFactory;
-import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
+import org.jboss.xb.binding.resolver.MutableSchemaResolver;
 import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
 import org.jboss.xb.binding.sunday.unmarshalling.SingletonSchemaResolverFactory;
-import org.jboss.classloading.spi.vfs.metadata.VFSClassLoaderFactory10;
 
 /**
  * NoopClassLoaderFactoryXMLUnitTestCase.
@@ -50,9 +50,9 @@
    {
       SingletonSchemaResolverFactory factory = SingletonSchemaResolverFactory.getInstance();
       SchemaBindingResolver resolver = factory.getSchemaBindingResolver();
-      DefaultSchemaResolver dsr = assertInstanceOf(resolver, DefaultSchemaResolver.class);
-      dsr.removeClassBinding("urn:jboss:classloader:1.0");
-      dsr.addClassBinding("urn:jboss:classloader:1.0", clazz);
+      MutableSchemaResolver msr = assertInstanceOf(resolver, MutableSchemaResolver.class);
+      msr.removeLocationToClassMapping("urn:jboss:classloader:1.0");
+      msr.mapLocationToClass("urn:jboss:classloader:1.0", clazz);
    }
 
    @Override

Copied: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/classes/otherpackage (from rev 87590, projects/jboss-cl/trunk/classloading-vfs/src/test/resources/classes/otherpackage)

Deleted: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/classes/otherpackage/GeneratedClass.class
===================================================================
(Binary files differ)

Copied: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/classes/otherpackage/GeneratedClass.class (from rev 87590, projects/jboss-cl/trunk/classloading-vfs/src/test/resources/classes/otherpackage/GeneratedClass.class)
===================================================================
(Binary files differ)

Modified: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/Common.xml
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/Common.xml	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/Common.xml	2009-04-20 19:57:26 UTC (rev 87594)
@@ -8,7 +8,9 @@
 
    <bean name="ClassLoading" class="org.jboss.classloading.spi.dependency.ClassLoading">
       <incallback method="addModule" state="Configured"/>
+      <incallback method="addGlobalCapabilitiesProvider" state="Configured"/>
       <uncallback method="removeModule" state="Configured"/>
+      <uncallback method="removeGlobalCapabilitiesProvider" state="Configured"/>
    </bean>
 
    <bean name="SchemaResolverConfig" class="org.jboss.xb.binding.sunday.unmarshalling.SchemaResolverConfig">
@@ -18,6 +20,10 @@
                <key>urn:jboss:classloader:1.0</key>
                <value>org.jboss.classloading.spi.vfs.metadata.VFSClassLoaderFactory10</value>
             </entry>
+            <entry>
+               <key>urn:jboss:classloading:1.0</key>
+               <value>org.jboss.classloading.spi.metadata.ClassLoadingMetaData10</value>
+            </entry>
          </map>
       </property>
    </bean>

Copied: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/test/GeneratedClassesUnitTestCase.xml (from rev 87590, projects/jboss-cl/trunk/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/test/GeneratedClassesUnitTestCase.xml)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/test/GeneratedClassesUnitTestCase.xml	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/test/GeneratedClassesUnitTestCase.xml	2009-04-20 19:57:26 UTC (rev 87594)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <bean name="DefaultGlobalCapabilitiesProvider" class="org.jboss.classloading.plugins.dependency.DefaultGlobalCapabilitiesProvider">
+      <property name="globalCapabilities">
+	     <capabilities xmlns="urn:jboss:classloading:1.0">
+	        <package name="newpackage"/>
+	     </capabilities>
+	   </property>
+   </bean>
+      
+</deployment>

Modified: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ExportImportMixed.xml
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ExportImportMixed.xml	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ExportImportMixed.xml	2009-04-20 19:57:26 UTC (rev 87594)
@@ -2,16 +2,16 @@
 
 <classloader xmlns="urn:jboss:classloader:1.0"
               name="test">
+   <requirements>
+      <module name="test2" from="2.0.0"/>
+      <package name="test2" from="2.0.0"/>
+      <module name="test1" from="1.0.0"/>
+      <package name="test1" from="1.0.0"/>
+   </requirements>
    <capabilities>
       <module name="test2" version="2.0.0"/>
       <package name="test2" version="2.0.0"/>
       <module name="test1" version="1.0.0"/>
       <package name="test1" version="1.0.0"/>
    </capabilities>
-   <requirements>
-      <module name="test2" from="2.0.0"/>
-      <package name="test2" from="2.0.0"/>
-      <module name="test1" from="1.0.0"/>
-      <package name="test1" from="1.0.0"/>
-   </requirements>
 </classloader>

Modified: projects/jboss-cl/branches/Branch_2_0/pom.xml
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/pom.xml	2009-04-20 19:55:16 UTC (rev 87593)
+++ projects/jboss-cl/branches/Branch_2_0/pom.xml	2009-04-20 19:57:26 UTC (rev 87594)
@@ -28,15 +28,16 @@
   </modules>
   
   <properties>
-    <version.jboss.vfs>2.1.0.GA</version.jboss.vfs>
-    <version.jboss.man>2.0.0.GA</version.jboss.man>
-    <version.jboss.microcontainer>2.0.4.GA</version.jboss.microcontainer>
-    <version.jboss.common.core>2.2.10.GA</version.jboss.common.core>
+    <version.jboss.vfs>2.2.0.M3</version.jboss.vfs>
+    <version.jboss.man>2.1.0.CR8</version.jboss.man>
+    <version.jboss.microcontainer>2.2.0.M1</version.jboss.microcontainer>
+    <version.jboss.common.core>2.2.12.GA</version.jboss.common.core>
     <version.jboss.logging.spi>2.0.5.GA</version.jboss.logging.spi>
     <version.jboss.classloading.spi>5.0.3.GA</version.jboss.classloading.spi>
-    <version.jbossxb>2.0.0.GA</version.jbossxb>
+    <version.jbossxb>2.0.1.CR1</version.jbossxb>
     <version.org.jboss.test>1.1.1.GA</version.org.jboss.test>
     <version.junit>4.4</version.junit>
+    <version.javassist>3.10.0.GA</version.javassist>
   </properties>
 
   <build>
@@ -254,6 +255,13 @@
         <scope>test</scope>
       </dependency>
       
+      <dependency>
+        <groupId>javassist</groupId>
+        <artifactId>javassist</artifactId>
+        <version>${version.javassist}</version>
+        <scope>test</scope>
+      </dependency>
+
     </dependencies>
   </dependencyManagement>
 




More information about the jboss-cvs-commits mailing list