[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