[jboss-cvs] JBossAS SVN: r98088 - in projects/jboss-deployers/branches/vfs3: deployers-client-spi/src/main/java/org/jboss/deployers/spi/deployer and 107 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Dec 21 11:03:25 EST 2009
Author: johnbailey
Date: 2009-12-21 11:03:14 -0500 (Mon, 21 Dec 2009)
New Revision: 98088
Added:
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/support/InterceptionClassLoaderSystem.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/support/TestDeployerAdapter.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerRequiredInputsUnitTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/support/SMDParsingDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/AbstractServiceTest.java
projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceDeploymentRegistryTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/CollectionNameIgnoreMechanism.java
projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/PatternNameIgnoreMechanism.java
projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/matchers/NameIgnoreMechanism.java
projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/DeploymentRegistry.java
projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractDeploymentRegistry.java
projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/helpers/BeanMetaDataDeployerPlugin.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/KernelControllerContextComparator.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/AnnotationRepositoryDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/FilteredAnnotationRepositoryDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/JavassistAnnotationRepositoryDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/util/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/util/ClasspathUtils.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NoopBeanMetaDataDeployerPlugin.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NotUndeployingSpecialBeanMetaDataDeployerPlugin.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/SpecialBeanMetaDataDeployerPlugin.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/TriggerSpecialBeanMetaDataDeployerPlugin.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/UndeployingSpecialBeanMetaDataDeployerPlugin.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeanMetaDataDeployerPluginTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeansDeploymentRegistryUnitTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/support/NIMDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/test/NameIgnoreMechanismTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/ReflectTestSuite.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/MockWarClassLoaderDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/PoolFactoryInitializer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/crm/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/crm/CrmFacade.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/BusinessInterface.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/MySLSBean.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ext/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ext/External.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jar/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jar/PlainJavaBean.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jsf/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jsf/JsfBean.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/service/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/service/SomeMBean.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/tif/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/tif/TIFTester.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ui/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ui/UIBean.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/util/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/util/SomeUtil.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/web/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/web/AnyServlet.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTest.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ReflectTest.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/TypeInfoTest.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/dependency/basic/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/dependency/basic/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/dependency/basic/META-INF/jboss-dependency.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/empty.txt
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/fst.txt
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/qwert.tmp
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/snd.txt
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF/clmd-beans.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF/jboss-classloading.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/application.properties
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/jboss-classloading.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/manifest/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/manifest/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/manifest/META-INF/MANIFEST.MF
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war1/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war1/WEB-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war1/WEB-INF/jboss-classloading.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war2/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war2/WEB-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war2/WEB-INF/jboss-classloading.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/earutil/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/earutil/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/earutil/META-INF/application.properties
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF/MANIFEST.MF
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF/ejb-jar.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/jarinear/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/jarinear/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/jarinear/META-INF/application.properties
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/module/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/module/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/module/META-INF/anys-beans.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/sar/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/sar/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/sar/META-INF/jboss-service.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/simple/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/simple/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/simple/META-INF/application.properties
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/tif/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/tif/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/tif/META-INF/tif-beans.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/warinear/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/warinear/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/warinear/META-INF/application.properties
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/web/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/web/WEB-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/web/WEB-INF/web.xml
Removed:
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/AbstractElement.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/ClassElement.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/ClassSignaturePair.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/CommitElement.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/DefaultAnnotationEnvironment.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/DefaultElement.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/EnvPutList.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/FilteredGenericAnnotationDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/GenericAnnotationResourceVisitor.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/ParametersElement.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/ScopedGenericAnnotationDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/WeakClassLoaderHolder.java
projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/annotations/AnnotationEnvironment.java
projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/annotations/Element.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/Refcountable.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/AnnotationEnvironmentDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/FilteredAnnotationEnvironmentDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/ScopedAnnotationEnvironmentDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/util/ClasspathUtils.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/ReflectTestSuite.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/MockWarClassLoaderDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/PoolFactoryInitializer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/crm/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/crm/CrmFacade.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/BusinessInterface.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/MySLSBean.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ext/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ext/External.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jar/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jar/PlainJavaBean.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jsf/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jsf/JsfBean.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/service/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/service/SomeMBean.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/tif/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/tif/TIFTester.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ui/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ui/UIBean.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/util/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/util/SomeUtil.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/web/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/web/AnyServlet.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTest.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ReflectTest.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/TypeInfoTest.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/dependency/basic/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/dependency/basic/META-INF/jboss-dependency.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/empty.txt
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/fst.txt
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/qwert.tmp
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/snd.txt
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF/clmd-beans.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF/jboss-classloading.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/application.properties
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/jboss-classloading.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/manifest/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/manifest/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/manifest/META-INF/MANIFEST.MF
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war1/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war1/WEB-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war1/WEB-INF/jboss-classloading.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war2/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war2/WEB-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war2/WEB-INF/jboss-classloading.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/earutil/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/earutil/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/earutil/META-INF/application.properties
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF/MANIFEST.MF
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF/ejb-jar.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/jarinear/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/jarinear/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/jarinear/META-INF/application.properties
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/module/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/module/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/module/META-INF/anys-beans.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/sar/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/sar/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/sar/META-INF/jboss-service.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/simple/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/simple/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/simple/META-INF/application.properties
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/tif/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/tif/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/tif/META-INF/tif-beans.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/warinear/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/warinear/META-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/warinear/META-INF/application.properties
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/web/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/web/WEB-INF/
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/web/WEB-INF/web.xml
Modified:
projects/jboss-deployers/branches/vfs3/deployers-client-spi/src/main/java/org/jboss/deployers/spi/deployer/DeploymentStages.java
projects/jboss-deployers/branches/vfs3/deployers-impl/pom.xml
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/GenericAnnotationDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractClassLoaderDescribeDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractLevelClassLoaderSystemDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/deployers/DeployerWrapper.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/deployers/DeployersImpl.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/main/MainDeployerImpl.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/managed/DefaultManagedDeploymentCreator.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DominoOrdering.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/Dots.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SetDots.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/support/InterceptionClassLoaderSystemDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/test/AnnotationEnvKeepTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/test/AnnotationEnvTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/test/AnnotationsTest.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/SubDeploymentMockClassLoaderUnitTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/DeployersDeployerTestSuite.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerFlowUnitTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerRequiredStageUnitTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-jmx/src/main/java/org/jboss/system/deployers/ServiceDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/DeployersTestSuite.java
projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceUnitNameTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-spi/pom.xml
projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/Deployer.java
projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/Deployers.java
projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractAllInputDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractAnnotationDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractParsingDeployerWithOutput.java
projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractRealDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/managed/ManagedDeploymentCreator.java
projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/pom.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/AbstractVFSParsingDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/CandidateAnnotationsCallback.java
projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/helpers/AbstractStructureDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/pom.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/BeanMetaDataDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/DeploymentUnitClassPath.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/classloader/VFSDeploymentClassLoaderPolicyModule.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/AbstractVFSStructureDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/BootstrapDeployersTestDelegate.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/DeployersVFSTestSuite.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/annotations/test/AbstractAnnotationsScanningUnitTest.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/classloader/test/ManagedObjectClassLoadingParserUnitTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/dependency/test/DependenciesTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/AbstractDeployerUnitTest.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/BeanDeployerTestSuite.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeanScanningUnitTestCase.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/VFSMatchersTestSuite.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/support/FeedbackDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/bootstrap/bootstrap.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/annotations/test/AnnotationsScanningUnitTestCase.xml
projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/annotations/test/AnnotationsScanningWithMetaDataUnitTestCase.xml
projects/jboss-deployers/branches/vfs3/pom.xml
Log:
Merged in changes from jboss-deployers trunk to VFS3 integration. This branch was getting very out of date with the trunk
Modified: projects/jboss-deployers/branches/vfs3/deployers-client-spi/src/main/java/org/jboss/deployers/spi/deployer/DeploymentStages.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-client-spi/src/main/java/org/jboss/deployers/spi/deployer/DeploymentStages.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-client-spi/src/main/java/org/jboss/deployers/spi/deployer/DeploymentStages.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -25,6 +25,7 @@
* The Standard DeploymentStages.
*
* @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 interface DeploymentStages
@@ -32,8 +33,11 @@
/** The not installed stage - nothing is done here */
DeploymentStage NOT_INSTALLED = new DeploymentStage("Not Installed");
+ /** The pre parse stage - where pre parsing stuff can be prepared; altDD, ignore, ... */
+ DeploymentStage PRE_PARSE = new DeploymentStage("PreParse", NOT_INSTALLED);
+
/** The parse stage - where metadata is read */
- DeploymentStage PARSE = new DeploymentStage("Parse", NOT_INSTALLED);
+ DeploymentStage PARSE = new DeploymentStage("Parse", PRE_PARSE);
/** The post parse stage - where metadata can be fixed up */
DeploymentStage POST_PARSE = new DeploymentStage("PostParse", PARSE);
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/pom.xml
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/pom.xml 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/pom.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -151,6 +151,40 @@
</exclusions>
</dependency>
<dependency>
+ <groupId>org.jboss.mcann</groupId>
+ <artifactId>mcann-core</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss.vfs</groupId>
+ <artifactId>jboss-vfs</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-reflect</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.man</groupId>
+ <artifactId>jboss-managed</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.man</groupId>
+ <artifactId>jboss-metatype</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.kernel</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.cl</groupId>
+ <artifactId>jboss-classloading</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
</dependency>
Deleted: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/AbstractElement.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/AbstractElement.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/AbstractElement.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,123 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.plugins.annotations;
-
-import java.lang.annotation.Annotation;
-import java.lang.ref.SoftReference;
-import java.lang.reflect.AnnotatedElement;
-
-import org.jboss.deployers.spi.annotations.Element;
-
-/**
- * Abstract annotations element.
- *
- * @param <A> the annotation type
- * @param <M> the annotated element type
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public abstract class AbstractElement<A extends Annotation, M extends AnnotatedElement> extends WeakClassLoaderHolder implements Element<A, M>
-{
- protected String className;
- protected Class<A> annClass;
- private A annotation;
-
- private SoftReference<Class<?>> classRef;
-
- public AbstractElement(ClassLoader classLoader, String className, Class<A> annClass, A annotation)
- {
- super(classLoader);
-
- if (className == null)
- throw new IllegalArgumentException("Null className");
- if (annClass == null)
- throw new IllegalArgumentException("Null annotation class");
-
- this.className = className;
- this.annClass = annClass;
- this.annotation = annotation;
- }
-
- public String getOwnerClassName()
- {
- return className;
- }
-
- public Class<?> getOwner()
- {
- if (classRef != null)
- {
- Class<?> clazz = classRef.get();
- if (clazz != null)
- return clazz;
- }
-
- Class<?> clazz = loadClass(className);
- classRef = new SoftReference<Class<?>>(clazz);
- return clazz;
- }
-
- public A getAnnotation()
- {
- if (annotation == null)
- annotation = readAnnotation();
-
- return annotation;
- }
-
- /**
- * Read the annotation.
- *
- * @return the read annotation
- */
- protected A readAnnotation()
- {
- AnnotatedElement annotatedElement = getAnnotatedElement();
- return annotatedElement.getAnnotation(annClass);
- }
-
- public int getHashCode()
- {
- int hash = className.hashCode();
- hash += 7 * annClass.hashCode();
- if (annotation != null)
- hash += 11 * annotation.hashCode();
- return hash;
- }
-
- public boolean equals(Object obj)
- {
- if (obj == null || getClass().equals(obj.getClass()) == false)
- return false;
-
- AbstractElement<?, ?> ae = AbstractElement.class.cast(obj);
- if (className.equals(ae.className) == false)
- return false;
- if (annClass.equals(ae.annClass) == false)
- return false;
-
- // we don't check annotation
- // since I doubt classname + annClass + signature + aoClass is not enough
- // the only way this could happen is probably if class was diff version - diff annotation values
-
- return true;
- }
-}
\ No newline at end of file
Deleted: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/ClassElement.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/ClassElement.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/ClassElement.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,47 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.plugins.annotations;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.AnnotatedElement;
-
-/**
- * Class annotations element.
- *
- * @param <A> the annotation type
- * @param <M> the annotated element type
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class ClassElement<A extends Annotation, M extends AnnotatedElement> extends AbstractElement<A, M>
-{
- public ClassElement(ClassLoader classLoader, String className, Class<A> annClass, A annotation)
- {
- super(classLoader, className, annClass, annotation);
- }
-
- @SuppressWarnings("unchecked")
- public M getAnnotatedElement()
- {
- AnnotatedElement em = getOwner();
- return (M)em;
- }
-}
\ No newline at end of file
Deleted: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/ClassSignaturePair.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/ClassSignaturePair.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/ClassSignaturePair.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,108 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.plugins.annotations;
-
-import java.lang.annotation.Annotation;
-
-import org.jboss.metadata.spi.signature.Signature;
-import org.jboss.util.JBossObject;
-
-/**
- * Class name and signature pair.
- * With those two we can re-create annotation value.
- *
- * If the keepAnnotations flag is on in DefaultAnnotationEnvironment
- * we cache the annotation value from GenericAnnotationResourceVisitor.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class ClassSignaturePair extends JBossObject
-{
- private String className;
- private Signature signature;
- private Annotation annotation;
-
- public ClassSignaturePair(String className, Signature signature)
- {
- this(className, signature, null);
- }
-
- public ClassSignaturePair(String className, Signature signature, Annotation annotation)
- {
- if (className == null)
- throw new IllegalArgumentException("Null class name");
-
- this.className = className;
- this.signature = signature;
- this.annotation = annotation;
- }
-
- /**
- * Get the classname.
- *
- * @return the classname
- */
- public String getClassName()
- {
- return className;
- }
-
- /**
- * Get the signature.
- *
- * @return the signature
- */
- public Signature getSignature()
- {
- return signature;
- }
-
- /**
- * Get the annotation.
- *
- * @return the annotation
- */
- public Annotation getAnnotation()
- {
- return annotation;
- }
-
- protected int getHashCode()
- {
- int hash = className.hashCode();
- if (signature != null)
- hash += 7 * signature.hashCode();
- return hash;
- }
-
- public boolean equals(Object obj)
- {
- if (obj instanceof ClassSignaturePair == false)
- return false;
-
- ClassSignaturePair csPair = (ClassSignaturePair)obj;
- if (className.equals(csPair.getClassName()))
- return equals(signature, csPair.getSignature());
- else
- return false;
- }
-}
Deleted: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/CommitElement.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/CommitElement.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/CommitElement.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,91 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.plugins.annotations;
-
-import java.lang.annotation.Annotation;
-import java.lang.annotation.ElementType;
-
-import org.jboss.metadata.spi.signature.Signature;
-
-/**
- * Gathering annotation information.
- *
- * Only push all this info into AnnotationEnvironment if
- * complete lookup was successful.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-class CommitElement
-{
- private Annotation annotation;
- private ElementType type;
- private String className;
- private Signature signature;
-
- CommitElement(Annotation annotation, ElementType type, String className, Signature signature)
- {
- this.annotation = annotation;
- this.type = type;
- this.className = className;
- this.signature = signature;
- }
-
- /**
- * Get the annotation.
- *
- * @return the annotation
- */
- public Annotation getAnnotation()
- {
- return annotation;
- }
-
- /**
- * Get element type.
- *
- * @return the element type
- */
- public ElementType getType()
- {
- return type;
- }
-
- /**
- * Get class name.
- *
- * @return the class name
- */
- public String getClassName()
- {
- return className;
- }
-
- /**
- * Get signature.
- *
- * @return the signature
- */
- public Signature getSignature()
- {
- return signature;
- }
-}
\ No newline at end of file
Deleted: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/DefaultAnnotationEnvironment.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/DefaultAnnotationEnvironment.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/DefaultAnnotationEnvironment.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,277 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.plugins.annotations;
-
-import java.io.Serializable;
-import java.lang.annotation.Annotation;
-import java.lang.annotation.ElementType;
-import java.lang.reflect.AnnotatedElement;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.jboss.deployers.spi.annotations.AnnotationEnvironment;
-import org.jboss.deployers.spi.annotations.Element;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.spi.signature.Signature;
-import org.jboss.util.collection.CollectionsFactory;
-
-/**
- * DefaultAnnotationEnvironment.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class DefaultAnnotationEnvironment extends WeakClassLoaderHolder implements AnnotationEnvironment, Serializable
-{
- /** The serial version UID */
- private static final long serialVersionUID = 1L;
- /** The log */
- private static final Logger log = Logger.getLogger(DefaultAnnotationEnvironment.class);
- /** The info map */
- private transient Map<Class<? extends Annotation>, Map<ElementType, Set<ClassSignaturePair>>> env;
- /** The checked class names */
- private transient Set<String> checkedClassNames;
- /** Should we keep the annotation */
- private boolean keepAnnotations;
-
- public DefaultAnnotationEnvironment(ClassLoader classLoader)
- {
- super(classLoader);
- env = new HashMap<Class<? extends Annotation>, Map<ElementType, Set<ClassSignaturePair>>>();
- checkedClassNames = new HashSet<String>();
- }
-
- /**
- * Set the keep annotations flag.
- *
- * @param keepAnnotations the keep annotations flag
- */
- public void setKeepAnnotations(boolean keepAnnotations)
- {
- this.keepAnnotations = keepAnnotations;
- }
-
- /**
- * Get env map.
- *
- * @return the env map
- */
- protected Map<Class<? extends Annotation>, Map<ElementType, Set<ClassSignaturePair>>> getEnv()
- {
- if (env == null)
- throw new IllegalArgumentException("Null env, previously serialized?");
-
- return env;
- }
-
- /**
- * Was class name already checked.
- *
- * @param className the class name
- * @return true if already checked, false otherwise
- */
- boolean isAlreadyChecked(String className)
- {
- return checkedClassNames.contains(className);
- }
-
- /**
- * Put the annotation info.
- *
- * @param annotation the annotation
- * @param type the annotation type
- * @param className the class name
- * @param signature the signature
- */
- void putAnnotation(Annotation annotation, ElementType type, String className, Signature signature)
- {
- Class<? extends Annotation> annClass = annotation.annotationType();
-
- if (log.isTraceEnabled())
- log.trace("Adding annotation @" + annClass.getSimpleName() + " for " + className + " at type " + type + ", signature: " + signature);
-
- // add to checked
- checkedClassNames.add(className);
-
- Map<Class<? extends Annotation>, Map<ElementType, Set<ClassSignaturePair>>> env = getEnv();
-
- Map<ElementType, Set<ClassSignaturePair>> elements = env.get(annClass);
- if (elements == null)
- {
- elements = new HashMap<ElementType, Set<ClassSignaturePair>>();
- env.put(annClass, elements);
- }
-
- Set<ClassSignaturePair> classes = elements.get(type);
- if (classes == null)
- {
- classes = CollectionsFactory.createLazySet();
- elements.put(type, classes);
- }
-
- ClassSignaturePair pair;
- if (keepAnnotations)
- pair = new ClassSignaturePair(className, signature, annotation);
- else
- pair = new ClassSignaturePair(className, signature);
- classes.add(pair);
- }
-
- /**
- * Get matching cs pairs.
- *
- * @param annClass the annotation class
- * @param type the annotation type
- * @return class names
- */
- protected Set<ClassSignaturePair> getCSPairs(Class<? extends Annotation> annClass, ElementType type)
- {
- Set<ClassSignaturePair> pairs = null;
-
- Map<ElementType, Set<ClassSignaturePair>> elements = getEnv().get(annClass);
- if (elements != null)
- pairs = elements.get(type);
-
- return (pairs != null) ? pairs : Collections.<ClassSignaturePair>emptySet();
- }
-
- /**
- * Transform class names into classes.
- *
- * @param <A> the annotation type
- * @param <M> the annotated element type
- * @param type the annotation type
- * @param annClass the annotation class
- * @param aoClass the ao class
- * @return classes
- */
- protected <A extends Annotation, M extends AnnotatedElement> Set<Element<A, M>> transformToElements(
- ElementType type,
- Class<A> annClass,
- Class<M> aoClass
- )
- {
- Set<ClassSignaturePair> pairs = getCSPairs(annClass, type);
- if (pairs.isEmpty())
- return Collections.emptySet();
-
- ClassLoader classLoader = getClassLoader();
- Set<Element<A, M>> elements = new HashSet<Element<A, M>>();
- for (ClassSignaturePair pair : pairs)
- {
- String className = pair.getClassName();
- A annotation = annClass.cast(pair.getAnnotation());
-
- Element<A, M> element;
- if (type == ElementType.TYPE)
- element = new ClassElement<A, M>(classLoader, className, annClass, annotation);
- else if (type == ElementType.PARAMETER)
- element = new ParametersElement<A,M>(classLoader, className, pair.getSignature(), annClass, annotation, aoClass);
- else
- element = new DefaultElement<A,M>(classLoader, className, pair.getSignature(), annClass, annotation, aoClass);
- elements.add(element);
- }
- return elements;
- }
-
- public boolean hasClassAnnotatedWith(Class<? extends Annotation> annotation)
- {
- return getCSPairs(annotation, ElementType.TYPE).isEmpty() == false;
- }
-
- @SuppressWarnings("unchecked")
- public <A extends Annotation> Set<Element<A, Class<?>>> classIsAnnotatedWith(Class<A> annotation)
- {
- return (Set) transformToElements(ElementType.TYPE, annotation, Class.class);
- }
-
- @SuppressWarnings("unchecked")
- public <A extends Annotation> Set<Element<A, Constructor<?>>> classHasConstructorAnnotatedWith(Class<A> annotation)
- {
- return (Set) transformToElements(ElementType.CONSTRUCTOR, annotation, Constructor.class);
- }
-
- public <A extends Annotation> Set<Element<A, Field>> classHasFieldAnnotatedWith(Class<A> annotation)
- {
- return transformToElements(ElementType.FIELD, annotation, Field.class);
- }
-
- public <A extends Annotation> Set<Element<A, Method>> classHasMethodAnnotatedWith(Class<A> annotation)
- {
- return transformToElements(ElementType.METHOD, annotation, Method.class);
- }
-
- public <A extends Annotation> Set<Element<A, AnnotatedElement>> classHasParameterAnnotatedWith(Class<A> annotation)
- {
- return transformToElements(ElementType.PARAMETER, annotation, AnnotatedElement.class);
- }
-
- /**
- * Load the annotation class.
- *
- * @param annotationName the annoation class name
- * @return annotation class
- */
- @SuppressWarnings("unchecked")
- protected Class<Annotation> getAnnotationClass(String annotationName)
- {
- Class<?> clazz = loadClass(annotationName);
- if (Annotation.class.isAssignableFrom(clazz) == false)
- throw new IllegalArgumentException("Annotation name " + annotationName + " doesn't extend Annotation class.");
- return (Class<Annotation>)clazz;
- }
-
- public boolean hasClassAnnotatedWith(String annotationName)
- {
- return hasClassAnnotatedWith(getAnnotationClass(annotationName));
- }
-
- public Set<Element<Annotation, Class<?>>> classIsAnnotatedWith(String annotationName)
- {
- return classIsAnnotatedWith(getAnnotationClass(annotationName));
- }
-
- public Set<Element<Annotation, Constructor<?>>> classHasConstructorAnnotatedWith(String annotationName)
- {
- return classHasConstructorAnnotatedWith(getAnnotationClass(annotationName));
- }
-
- public Set<Element<Annotation, Field>> classHasFieldAnnotatedWith(String annotationName)
- {
- return classHasFieldAnnotatedWith(getAnnotationClass(annotationName));
- }
-
- public Set<Element<Annotation, Method>> classHasMethodAnnotatedWith(String annotationName)
- {
- return classHasMethodAnnotatedWith(getAnnotationClass(annotationName));
- }
-
- public Set<Element<Annotation, AnnotatedElement>> classHasParameterAnnotatedWith(String annotationName)
- {
- return classHasParameterAnnotatedWith(getAnnotationClass(annotationName));
- }
-}
Deleted: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/DefaultElement.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/DefaultElement.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/DefaultElement.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,120 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.plugins.annotations;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.AnnotatedElement;
-
-import org.jboss.metadata.spi.signature.ConstructorParametersSignature;
-import org.jboss.metadata.spi.signature.ConstructorSignature;
-import org.jboss.metadata.spi.signature.FieldSignature;
-import org.jboss.metadata.spi.signature.MethodParametersSignature;
-import org.jboss.metadata.spi.signature.MethodSignature;
-import org.jboss.metadata.spi.signature.Signature;
-import org.jboss.reflect.plugins.introspection.ReflectionUtils;
-
-/**
- * Default annotations element.
- *
- * @param <A> the annotation type
- * @param <M> the annotated element type
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class DefaultElement<A extends Annotation, M extends AnnotatedElement> extends AbstractElement<A, M>
-{
- protected Signature signature;
- protected Class<M> aoClass;
-
- public DefaultElement(ClassLoader classLoader, String className, Signature signature, Class<A> annClass, A annotation, Class<M> aoClass)
- {
- super(classLoader, className, annClass, annotation);
-
- if (signature == null)
- throw new IllegalArgumentException("Null signature");
- if (aoClass == null)
- throw new IllegalArgumentException("Null ao class");
-
- this.signature = signature;
- this.aoClass = aoClass;
- }
-
- public M getAnnotatedElement()
- {
- AnnotatedElement result = null;
-
- Class<?> clazz = getOwner();
- if (signature instanceof ConstructorSignature || signature instanceof ConstructorParametersSignature)
- {
- try
- {
- result = clazz.getConstructor(signature.getParametersTypes(clazz));
- }
- catch (NoSuchMethodException ignored)
- {
- }
- }
- else if (signature instanceof MethodSignature || signature instanceof MethodParametersSignature)
- {
- try
- {
- result = clazz.getMethod(signature.getName(), signature.getParametersTypes(clazz));
- }
- catch (NoSuchMethodException ignored)
- {
- }
- }
- else if (signature instanceof FieldSignature)
- {
- result = ReflectionUtils.findField(clazz, signature.getName());
- }
-
- if (result == null)
- throw new IllegalArgumentException("Expected accessible object " + className + "." + signature);
- if (aoClass.isInstance(result) == false)
- throw new IllegalArgumentException("Expected accessible object " + className + "." + signature + " of type " + aoClass);
-
- return aoClass.cast(result);
- }
-
- public int getHashCode()
- {
- int hash = super.getHashCode();
- hash += 19 * signature.hashCode();
- hash += 37 * aoClass.hashCode();
- return hash;
- }
-
- @SuppressWarnings({"EqualsWhichDoesntCheckParameterClass"})
- public boolean equals(Object obj)
- {
- if (super.equals(obj) == false)
- return false;
-
- DefaultElement<?, ?> de = DefaultElement.class.cast(obj);
- if (aoClass.equals(de.aoClass) == false)
- return false;
- if (signature.equals(de.signature) == false)
- return false;
-
- return true;
- }
-}
Deleted: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/EnvPutList.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/EnvPutList.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/EnvPutList.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,57 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.plugins.annotations;
-
-import java.util.AbstractList;
-
-/**
- * Put elements directly into env
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-class EnvPutList extends AbstractList<CommitElement>
-{
- private DefaultAnnotationEnvironment env;
-
- EnvPutList(DefaultAnnotationEnvironment env)
- {
- if (env == null)
- throw new IllegalArgumentException("Null env.");
- this.env = env;
- }
-
- public boolean add(CommitElement ce)
- {
- env.putAnnotation(ce.getAnnotation(), ce.getType(), ce.getClassName(), ce.getSignature());
- return true;
- }
-
- public CommitElement get(int index)
- {
- throw new UnsupportedOperationException("Should not be invoked.");
- }
-
- public int size()
- {
- return 0;
- }
-}
\ No newline at end of file
Deleted: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/FilteredGenericAnnotationDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/FilteredGenericAnnotationDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/FilteredGenericAnnotationDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,99 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.plugins.annotations;
-
-import org.jboss.classloading.spi.visitor.ResourceFilter;
-import org.jboss.classloading.spi.dependency.Module;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-
-/**
- * Filtered generic annotation scanner deployer.
- *
- * It first checks if there are some filters present
- * in deployment unit as attachment,
- * else falls back to deployers filters.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class FilteredGenericAnnotationDeployer extends ScopedGenericAnnotationDeployer
-{
- private ResourceFilter resourceFilter;
- private ResourceFilter recurseFilter;
-
- /**
- * Get filter.
- * Try attachment first, then deployer's filter.
- *
- * @param <T> the expected class type
- * @param unit the deployment unit
- * @param expectedClass the expected class
- * @param suffix the suffix
- * @param defaultValue the default value
- * @return found filter or null
- */
- protected <T> T getFilter(DeploymentUnit unit, Class<T> expectedClass, String suffix, T defaultValue)
- {
- String name = expectedClass.getName() + "." + (suffix != null ? suffix : "");
- T result = unit.getAttachment(name, expectedClass);
- if (result == null)
- result = defaultValue;
- return result;
- }
-
- /**
- * We look for filter attachments:
- * * org.jboss.classloading.spi.visitor.ResourceFilter.resource - plain resource filter
- * * org.jboss.classloading.spi.visitor.ResourceFilter.recurse - recurse resource filter
- *
- * @param unit the deployment unit
- * @param module the underlying module
- * @param visitor the current generic annotation resource visitor
- */
- protected void visitModule(DeploymentUnit unit, Module module, GenericAnnotationResourceVisitor visitor)
- {
- ResourceFilter filter = getFilter(unit, ResourceFilter.class, "resource", resourceFilter);
- if (filter == null)
- filter = visitor.getFilter();
- ResourceFilter recurse = getFilter(unit, ResourceFilter.class, "recurse", recurseFilter);
- module.visit(visitor, filter, recurse, getUrls(unit));
- }
-
- /**
- * Set resource filter.
- *
- * @param resourceFilter the resource filter
- */
- public void setResourceFilter(ResourceFilter resourceFilter)
- {
- this.resourceFilter = resourceFilter;
- }
-
- /**
- * Set recurse filter.
- *
- * @param recurseFilter the recurse filter
- */
- public void setRecurseFilter(ResourceFilter recurseFilter)
- {
- this.recurseFilter = recurseFilter;
- }
-}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/GenericAnnotationDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/GenericAnnotationDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/GenericAnnotationDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -21,17 +21,15 @@
*/
package org.jboss.deployers.plugins.annotations;
-import java.net.URL;
-
-import javassist.ClassPath;
-import javassist.ClassPool;
-import javassist.LoaderClassPath;
import org.jboss.classloading.spi.dependency.Module;
import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.annotations.AnnotationEnvironment;
import org.jboss.deployers.spi.deployer.DeploymentStages;
import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.mcann.AnnotationRepository;
+import org.jboss.mcann.repository.Configuration;
+import org.jboss.mcann.scanner.DefaultAnnotationScanner;
+import org.jboss.mcann.scanner.ModuleAnnotationScanner;
/**
* Generic annotation scanner deployer.
@@ -40,129 +38,39 @@
*/
public class GenericAnnotationDeployer extends AbstractSimpleRealDeployer<Module>
{
- private boolean forceAnnotations;
- private boolean keepAnnotations;
- private boolean checkInterfaces;
+ private Configuration configuration;
public GenericAnnotationDeployer()
{
super(Module.class);
setStage(DeploymentStages.POST_CLASSLOADER);
- setOutput(AnnotationEnvironment.class);
- checkInterfaces = true;
+ setOutput(AnnotationRepository.class);
}
- /**
- * Should we force all annotations to be available.
- *
- * @param forceAnnotations the force annotations flag
- */
- public void setForceAnnotations(boolean forceAnnotations)
+ public void deploy(DeploymentUnit unit, Module deployment) throws DeploymentException
{
- this.forceAnnotations = forceAnnotations;
+ try
+ {
+ DefaultAnnotationScanner scanner = new ModuleAnnotationScanner(deployment);
+ if (configuration != null)
+ scanner.setConfiguration(configuration);
+
+ AnnotationRepository repository = scanner.scan(unit.getClassLoader());
+ unit.addAttachment(AnnotationRepository.class, repository);
+ }
+ catch (Exception e)
+ {
+ throw DeploymentException.rethrowAsDeploymentException("Cannot create AR", e);
+ }
}
/**
- * Set the keep annotations flag.
+ * Set configuration.
*
- * @param keepAnnotations the keep annotations flag
+ * @param configuration the configuration creator
*/
- public void setKeepAnnotations(boolean keepAnnotations)
+ public void setConfiguration(Configuration configuration)
{
- this.keepAnnotations = keepAnnotations;
+ this.configuration = configuration;
}
-
- /**
- * Should we check interfaces for annotations as well.
- *
- * @param checkInterfaces the check interfaces flag
- */
- public void setCheckInterfaces(boolean checkInterfaces)
- {
- this.checkInterfaces = checkInterfaces;
- }
-
- /**
- * Create GenericAnnotationResourceVisitor.
- *
- * Can be used change existing GARV's filter.
- * Or determin if we need to force/keep annotations.
- *
- * @param unit the deployment unit
- * @param pool the class pool
- * @param classLoader the classloader
- * @return new generic annotation visitor
- */
- protected GenericAnnotationResourceVisitor createGenericAnnotationResourceVisitor(DeploymentUnit unit, ClassPool pool, ClassLoader classLoader)
- {
- GenericAnnotationResourceVisitor visitor = new GenericAnnotationResourceVisitor(pool, classLoader);
- visitor.setForceAnnotations(forceAnnotations);
- visitor.setKeepAnnotations(keepAnnotations);
- visitor.setCheckInterfaces(checkInterfaces);
- return visitor;
- }
-
- /**
- * Create class pool.
- *
- * @param classLoader the class loader
- * @return javassist class pool
- */
- protected ClassPool createClassPool(ClassLoader classLoader)
- {
- ClassPool pool = new ClassPool();
- ClassPath classPath = new LoaderClassPath(classLoader);
- pool.insertClassPath(classPath);
- return pool;
- }
-
- /**
- * Visit module.
- *
- * Util method to add some behavior to Module
- * before we visit it.
- *
- * @param unit the deployment unit
- * @param module the module
- * @param visitor the resource visitor
- */
- protected void visitModule(DeploymentUnit unit, Module module, GenericAnnotationResourceVisitor visitor)
- {
- module.visit(visitor, null, null, getUrls(unit));
- }
-
- /**
- * Get the new root urls.
- *
- * @param unit the deployment unit
- * @return the new root urls
- */
- protected URL[] getUrls(DeploymentUnit unit)
- {
- return null;
- }
-
- public void deploy(DeploymentUnit unit, Module module) throws DeploymentException
- {
- if (log.isTraceEnabled())
- log.trace("Creating AnnotationEnvironment for " + unit.getName() + ", module: " + module + ", force annotations: " + forceAnnotations);
-
- ClassLoader classLoader = unit.getClassLoader();
- ClassPool pool = createClassPool(classLoader);
- GenericAnnotationResourceVisitor visitor = createGenericAnnotationResourceVisitor(unit, pool, classLoader);
-
- // something in javassist uses TCL
- ClassLoader tcl = Thread.currentThread().getContextClassLoader();
- Thread.currentThread().setContextClassLoader(classLoader);
- try
- {
- visitModule(unit, module, visitor);
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(tcl);
- }
-
- unit.addAttachment(AnnotationEnvironment.class, visitor.getEnv());
- }
}
Deleted: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/GenericAnnotationResourceVisitor.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/GenericAnnotationResourceVisitor.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/GenericAnnotationResourceVisitor.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,369 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.plugins.annotations;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.annotation.Annotation;
-import java.lang.annotation.ElementType;
-import java.util.List;
-import java.util.ArrayList;
-
-import javassist.ClassPool;
-import javassist.CtBehavior;
-import javassist.CtClass;
-import javassist.CtConstructor;
-import javassist.CtMember;
-import javassist.CtMethod;
-import javassist.NotFoundException;
-import org.jboss.classloading.spi.visitor.ClassFilter;
-import org.jboss.classloading.spi.visitor.ResourceContext;
-import org.jboss.classloading.spi.visitor.ResourceFilter;
-import org.jboss.classloading.spi.visitor.ResourceVisitor;
-import org.jboss.deployers.spi.annotations.AnnotationEnvironment;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.spi.signature.Signature;
-import org.jboss.metadata.spi.signature.javassist.JavassistConstructorParametersSignature;
-import org.jboss.metadata.spi.signature.javassist.JavassistMethodParametersSignature;
-import org.jboss.metadata.spi.signature.javassist.JavassistSignatureFactory;
-
-/**
- * Generic annotation scanner deployer.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class GenericAnnotationResourceVisitor implements ResourceVisitor
-{
- private static final Logger log = Logger.getLogger(GenericAnnotationResourceVisitor.class);
-
- private ResourceFilter resourceFilter = ClassFilter.INSTANCE;
- private ClassPool pool;
- private boolean forceAnnotations;
- private boolean checkSuper;
- private boolean checkInterfaces = true;
- private DefaultAnnotationEnvironment env;
- private CtClass objectCtClass;
-
- public GenericAnnotationResourceVisitor(ClassLoader classLoader)
- {
- this(ClassPool.getDefault(), classLoader);
- }
-
- public GenericAnnotationResourceVisitor(ClassPool pool, ClassLoader classLoader)
- {
- if (pool == null)
- throw new IllegalArgumentException("Null pool");
- if (classLoader == null)
- throw new IllegalArgumentException("Null classloader");
-
- this.pool = pool;
- this.env = new DefaultAnnotationEnvironment(classLoader);
- this.objectCtClass = pool.makeClass(Object.class.getName());
- }
-
- public ResourceFilter getFilter()
- {
- return resourceFilter;
- }
-
- public void visit(ResourceContext resource)
- {
- try
- {
- InputStream stream = resource.getInputStream();
- if (stream == null)
- throw new IllegalArgumentException("Null resource input stream: " + resource);
-
- try
- {
- CtClass ctClass = pool.makeClass(stream);
- try
- {
- List<CommitElement> commit = createCommitList();
- handleCtClass(ctClass, commit);
- if (commit.isEmpty() == false)
- {
- for (CommitElement ce : commit)
- {
- env.putAnnotation(ce.getAnnotation(), ce.getType(), ce.getClassName(), ce.getSignature());
- }
- }
- }
- finally
- {
- ctClass.detach();
- }
- }
- finally
- {
- try
- {
- stream.close();
- }
- catch (IOException ignored)
- {
- }
- }
- }
- catch (ClassNotFoundException e)
- {
- if (forceAnnotations)
- throw new RuntimeException(e);
-
- logThrowable(resource, e);
- }
- catch (Throwable t)
- {
- logThrowable(resource, t);
- }
- }
-
- /**
- * Create commit list.
- *
- * @return the commit list
- */
- protected List<CommitElement> createCommitList()
- {
- return forceAnnotations ? new EnvPutList(env) : new ArrayList<CommitElement>();
- }
-
- /**
- * Log throwable.
- *
- * @param resource the resource we're visiting
- * @param t the throwable
- */
- protected void logThrowable(ResourceContext resource, Throwable t)
- {
- if (log.isTraceEnabled())
- log.trace("Exception reading resource: " + resource.getResourceName(), t);
- }
-
- /**
- * Handle CtClass for annotations.
- *
- * @param ctClass the ct class instance
- * @param commit the commit list
- * @throws ClassNotFoundException for any annotations lookup problems
- * @throws NotFoundException for any annotations lookup problems
- */
- protected void handleCtClass(CtClass ctClass, List<CommitElement> commit) throws ClassNotFoundException, NotFoundException
- {
- if (ctClass == null || objectCtClass.equals(ctClass))
- return;
-
- String className = ctClass.getName();
- if (env.isAlreadyChecked(className))
- {
- if (log.isTraceEnabled())
- log.trace("Skipping already checked class name: " + className);
- return;
- }
-
- if (checkInterfaces == false && ctClass.isInterface())
- {
- if (log.isTraceEnabled())
- log.trace("Skipping interface: " + className);
- return;
- }
-
- if (log.isTraceEnabled())
- log.trace("Scanning class " + className + " for annotations");
-
- Object[] annotations = forceAnnotations ? ctClass.getAnnotations() : ctClass.getAvailableAnnotations();
- handleAnnotations(ElementType.TYPE, (Signature)null, annotations, className, commit);
-
- handleCtMembers(ElementType.CONSTRUCTOR, ctClass.getDeclaredConstructors(), className, commit);
- handleCtMembers(ElementType.METHOD, ctClass.getDeclaredMethods(), className, commit);
- handleCtMembers(ElementType.FIELD, ctClass.getDeclaredFields(), className, commit);
-
- if (checkSuper)
- {
- if (checkInterfaces)
- {
- // interfaces
- CtClass[] interfaces = ctClass.getInterfaces();
- if (interfaces != null && interfaces.length > 0)
- {
- for (CtClass intf : interfaces)
- handleCtClass(intf, commit);
- }
- }
- // super class
- handleCtClass(ctClass.getSuperclass(), commit);
- }
- }
-
- /**
- * Handle CtMembers for annotations.
- *
- * @param type where we found the annotations
- * @param members the ct member instances
- * @param className the className
- * @param commit the commit list
- * @throws ClassNotFoundException for any annotations lookup problems
- */
- protected void handleCtMembers(ElementType type, CtMember[] members, String className, List<CommitElement> commit) throws ClassNotFoundException
- {
- if (members != null && members.length > 0)
- {
- for (CtMember member : members)
- {
- Object[] annotations = forceAnnotations ? member.getAnnotations() : member.getAvailableAnnotations();
- handleAnnotations(type, member, annotations, className, commit);
- if (member instanceof CtBehavior)
- {
- CtBehavior behavior = (CtBehavior)member;
- Object[][] paramAnnotations = forceAnnotations ? behavior.getParameterAnnotations() : behavior.getAvailableParameterAnnotations();
- for (int index = 0; index < paramAnnotations.length; index++)
- {
- handleAnnotations(ElementType.PARAMETER, getBehaviorSignature(behavior, index), paramAnnotations[index], className, commit);
- }
- }
- }
- }
- }
-
- /**
- * Get parameters signature.
- *
- * @param behavior the ct behavior
- * @param index the index
- * @return parameters signature
- * @throws ClassNotFoundException for any error
- */
- protected static Signature getBehaviorSignature(CtBehavior behavior, int index) throws ClassNotFoundException
- {
- try
- {
- if (behavior instanceof CtConstructor)
- return new JavassistConstructorParametersSignature((CtConstructor)behavior, index);
- else if (behavior instanceof CtMethod)
- return new JavassistMethodParametersSignature((CtMethod)behavior, index);
- else
- throw new IllegalArgumentException("Unknown ct behavior: " + behavior);
- }
- catch (NotFoundException e)
- {
- throw new ClassNotFoundException("Exception creating signature: " + behavior, e);
- }
- }
-
- /**
- * Handle annotations.
- *
- * @param type where we found the annotations
- * @param member the ct member
- * @param annotations the actual annotations
- * @param className the className
- * @param commit the commit list
- */
- protected static void handleAnnotations(ElementType type, CtMember member, Object[] annotations, String className, List<CommitElement> commit)
- {
- Signature signature = null;
- if (member != null)
- signature = JavassistSignatureFactory.getSignature(member);
- handleAnnotations(type, signature, annotations, className, commit);
- }
-
- /**
- * Handle annotations.
- *
- * @param type where we found the annotations
- * @param signature the signature
- * @param annotations the actual annotations
- * @param className the className
- * @param commit the commit list
- */
- protected static void handleAnnotations(ElementType type, Signature signature, Object[] annotations, String className, List<CommitElement> commit)
- {
- if (annotations != null && annotations.length > 0)
- {
- for (Object annObject : annotations)
- {
- Annotation annotation = Annotation.class.cast(annObject);
- commit.add(new CommitElement(annotation, type, className, signature));
- }
- }
- }
-
- /**
- * Set the resource filter.
- *
- * @param resourceFilter the resource filter
- */
- public void setResourceFilter(ResourceFilter resourceFilter)
- {
- this.resourceFilter = resourceFilter;
- }
-
- /**
- * Should we force all annotations to be available.
- *
- * @param forceAnnotations the force annotations flag
- */
- public void setForceAnnotations(boolean forceAnnotations)
- {
- this.forceAnnotations = forceAnnotations;
- }
-
- /**
- * Set the keep annotations flag.
- *
- * @param keepAnnotations the keep annotations flag
- */
- public void setKeepAnnotations(boolean keepAnnotations)
- {
- env.setKeepAnnotations(keepAnnotations);
- }
-
- /**
- * Should we check super class for annotations as well.
- *
- * @param checkSuper the check super flag
- */
- public void setCheckSuper(boolean checkSuper)
- {
- this.checkSuper = checkSuper;
- }
-
- /**
- * Should we check interfaces for annotations as well.
- *
- * @param checkInterfaces the check interfaces flag
- */
- public void setCheckInterfaces(boolean checkInterfaces)
- {
- this.checkInterfaces = checkInterfaces;
- }
-
- /**
- * Get the built environment.
- *
- * @return the annoattion environment
- */
- public AnnotationEnvironment getEnv()
- {
- return env;
- }
-}
\ No newline at end of file
Deleted: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/ParametersElement.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/ParametersElement.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/ParametersElement.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,88 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.plugins.annotations;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.AnnotatedElement;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.util.Arrays;
-
-import org.jboss.metadata.spi.signature.ConstructorParametersSignature;
-import org.jboss.metadata.spi.signature.MethodParametersSignature;
-import org.jboss.metadata.spi.signature.Signature;
-
-/**
- * Parameters annotations element.
- *
- * @param <A> the annotation type
- * @param <M> the annotated element type
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class ParametersElement<A extends Annotation, M extends AnnotatedElement> extends DefaultElement<A, M>
-{
- public ParametersElement(ClassLoader classLoader, String className, Signature signature, Class<A> annClass, A annotation, Class<M> aoClass)
- {
- super(classLoader, className, signature, annClass, annotation, aoClass);
- }
-
- protected A readAnnotation()
- {
- Annotation[] annotations = null;
- Class<?> clazz = getOwner();
- if (signature instanceof ConstructorParametersSignature)
- {
- ConstructorParametersSignature cps = (ConstructorParametersSignature)signature;
- try
- {
- Constructor<?> constructor = clazz.getConstructor(signature.getParametersTypes(clazz));
- annotations = constructor.getParameterAnnotations()[cps.getParam()];
- }
- catch (NoSuchMethodException ignored)
- {
- }
- }
- else if (signature instanceof MethodParametersSignature)
- {
- MethodParametersSignature mps = (MethodParametersSignature)signature;
- try
- {
- Method method = clazz.getMethod(signature.getName(), signature.getParametersTypes(clazz));
- annotations = method.getParameterAnnotations()[mps.getParam()];
- }
- catch (NoSuchMethodException ignored)
- {
- }
- }
-
- if (annotations == null || annotations.length == 0)
- throw new IllegalArgumentException("Expected annotations " + className + "." + signature);
-
- for(Annotation annotation : annotations)
- {
- if (annClass.equals(annotation.annotationType()))
- return annClass.cast(annotation);
- }
-
- throw new IllegalArgumentException("No matching annotation: " + Arrays.asList(annotations));
- }
-}
\ No newline at end of file
Deleted: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/ScopedGenericAnnotationDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/ScopedGenericAnnotationDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/ScopedGenericAnnotationDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,62 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.plugins.annotations;
-
-import javassist.scopedpool.ScopedClassPoolRepository;
-import javassist.ClassPool;
-
-/**
- * Scoped generic annotation deployer.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class ScopedGenericAnnotationDeployer extends GenericAnnotationDeployer
-{
- private ScopedClassPoolRepository repository;
-
- public ScopedGenericAnnotationDeployer()
- {
- }
-
- public ScopedGenericAnnotationDeployer(ScopedClassPoolRepository repository)
- {
- this.repository = repository;
- }
-
- /**
- * Set scoped class pool repository.
- *
- * @param repository the scoped class pool repository
- */
- public void setRepository(ScopedClassPoolRepository repository)
- {
- this.repository = repository;
- }
-
- protected ClassPool createClassPool(ClassLoader classLoader)
- {
- if (repository != null)
- return repository.findClassPool(classLoader);
-
- return super.createClassPool(classLoader);
- }
-}
\ No newline at end of file
Deleted: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/WeakClassLoaderHolder.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/WeakClassLoaderHolder.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/annotations/WeakClassLoaderHolder.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,79 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.plugins.annotations;
-
-import java.lang.ref.WeakReference;
-
-import org.jboss.util.JBossObject;
-
-/**
- * ClassLoader holder helper.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-abstract class WeakClassLoaderHolder extends JBossObject
-{
- private transient WeakReference<ClassLoader> clRef;
-
- public WeakClassLoaderHolder(ClassLoader classLoader)
- {
- if (classLoader == null)
- throw new IllegalArgumentException("Null classloader");
-
- clRef = new WeakReference<ClassLoader>(classLoader);
- }
-
- /**
- * Get the classloader from weak ref.
- *
- * @return the classloader
- */
- protected ClassLoader getClassLoader()
- {
- if (clRef == null)
- throw new IllegalArgumentException("Null classloader ref, previously serialized?");
-
- ClassLoader classLoader = clRef.get();
- if (classLoader == null)
- throw new IllegalArgumentException("ClassLoader was already garbage collected.");
-
- return classLoader;
- }
-
- /**
- * Load class from class name.
- *
- * @param className the class name
- * @return loaded class
- */
- protected Class<?> loadClass(String className)
- {
- try
- {
- return Class.forName(className, false, getClassLoader());
- }
- catch (ClassNotFoundException e)
- {
- throw new RuntimeException(e);
- }
- }
-}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractClassLoaderDescribeDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractClassLoaderDescribeDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractClassLoaderDescribeDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -93,14 +93,21 @@
// For non top level classloaders, we need to control the domain
// since the parent is the deployment classloader
String unitName = unit.getName();
- if (deployment.getParentDomain() == null)
+ if (deployment.isTopLevelClassLoader() == false)
{
- deployment.setDomain(unitName);
- log.debug("Will use synthetic domain for classloader of subdeployment: " + unitName);
+ if (deployment.getParentDomain() == null)
+ {
+ deployment.setDomain(unitName);
+ log.debug("Will use synthetic domain for classloader of subdeployment: " + unitName);
+ }
+ else
+ {
+ log.debug("Will create top level classloader for subdeployment: " + unitName);
+ }
}
else
{
- log.debug("Will create top level classloader for subdeployment: " + unitName);
+ log.debug("Asked to create top level classloader for subdeployment: " + unitName);
}
}
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractLevelClassLoaderSystemDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractLevelClassLoaderSystemDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/classloading/AbstractLevelClassLoaderSystemDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -26,6 +26,7 @@
import org.jboss.classloading.spi.dependency.ClassLoading;
import org.jboss.classloading.spi.dependency.Module;
import org.jboss.classloading.spi.dependency.policy.ClassLoaderPolicyModule;
+import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
import org.jboss.deployers.spi.deployer.helpers.AbstractClassLoaderDeployer;
import org.jboss.deployers.structure.spi.DeploymentUnit;
@@ -114,7 +115,12 @@
throw new IllegalStateException("Module is not an instance of " + ClassLoaderPolicyModule.class.getName() + " actual=" + module.getClass().getName());
ClassLoaderPolicyModule classLoaderPolicyModule = (ClassLoaderPolicyModule) module;
- if (unit.isTopLevel() || module.getParentDomainName() != null)
+ boolean explicitTopLevel = false;
+ ClassLoadingMetaData clmd = unit.getAttachment(ClassLoadingMetaData.class);
+ if (clmd != null && clmd.isTopLevelClassLoader())
+ explicitTopLevel = true;
+
+ if (unit.isTopLevel() || module.getParentDomainName() != null || explicitTopLevel)
{
// Top level, just create the classloader
return classLoaderPolicyModule.registerClassLoaderPolicy(system);
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/deployers/DeployerWrapper.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/deployers/DeployerWrapper.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/deployers/DeployerWrapper.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -140,6 +140,14 @@
return result;
}
+ public Set<String> getRequiredInputs()
+ {
+ Set<String> result = deployer.getRequiredInputs();
+ if (result == null)
+ return Collections.emptySet();
+ return result;
+ }
+
public Set<String> getOutputs()
{
Set<String> result = deployer.getOutputs();
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/deployers/DeployersImpl.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/deployers/DeployersImpl.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/deployers/DeployersImpl.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -164,6 +164,7 @@
// Add the standard stages
addDeploymentStage(DeploymentStages.NOT_INSTALLED);
+ addDeploymentStage(DeploymentStages.PRE_PARSE);
addDeploymentStage(DeploymentStages.PARSE);
addDeploymentStage(DeploymentStages.POST_PARSE);
addDeploymentStage(DeploymentStages.PRE_DESCRIBE);
@@ -512,8 +513,7 @@
}
}
- public Map<String, ManagedObject> getManagedObjects(DeploymentContext context)
- throws DeploymentException
+ public Map<String, ManagedObject> getManagedObjects(DeploymentContext context) throws DeploymentException
{
if (context == null)
throw new IllegalArgumentException("Null context");
@@ -1688,9 +1688,21 @@
{
// No attachment for the input type
Class<?> input = deployer.getInput();
- if (input != null && unit.getAttachment(input) == null)
+ if (input != null && unit.isAttachmentPresent(input) == false)
return false;
}
+
+ // Check explicitly required inputs - short circut here instead of in the deployer
+ Set<String> requiredInputs = deployer.getRequiredInputs();
+ if (requiredInputs != null && requiredInputs.isEmpty() == false)
+ {
+ for (String requiredInput : requiredInputs)
+ {
+ if (unit.isAttachmentPresent(requiredInput) == false)
+ return false;
+ }
+ }
+
return true;
}
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/main/MainDeployerImpl.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/main/MainDeployerImpl.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/main/MainDeployerImpl.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -47,7 +47,6 @@
import org.jboss.deployers.structure.spi.DeploymentContext;
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.deployers.structure.spi.StructuralDeployers;
-import org.jboss.deployers.structure.spi.helpers.RevertedDeploymentContextComparator;
import org.jboss.deployers.structure.spi.main.MainDeployerInternals;
import org.jboss.deployers.structure.spi.main.MainDeployerStructure;
import org.jboss.logging.Logger;
@@ -104,7 +103,6 @@
/** The top deployment context comparator */
private Comparator<DeploymentContext> comparator;
- private Comparator<DeploymentContext> reverted;
/** The re-deployments */
private final Map<String, Deployment> toRedeploy = Collections.synchronizedMap(new LinkedHashMap<String, Deployment>());
@@ -120,7 +118,6 @@
throw new IllegalArgumentException("Null comparator");
this.comparator = comparator;
- this.reverted = new RevertedDeploymentContextComparator(comparator);
}
/**
@@ -647,9 +644,9 @@
// Undeploy in reverse order (subdeployments first)
undeployContexts = new ArrayList<DeploymentContext>(undeploy);
undeploy.clear();
- Collections.reverse(undeployContexts);
- if (reverted != null)
- Collections.sort(undeployContexts, reverted);
+ // order as it was deployed, Deployers::process will revert it
+ if (comparator != null)
+ Collections.sort(undeployContexts, comparator);
}
if (undeployContexts != null)
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/managed/DefaultManagedDeploymentCreator.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/managed/DefaultManagedDeploymentCreator.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/managed/DefaultManagedDeploymentCreator.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -27,7 +27,6 @@
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.managed.api.ManagedDeployment;
import org.jboss.managed.api.ManagedObject;
-import org.jboss.managed.api.ManagedDeployment.DeploymentPhase;
import org.jboss.managed.plugins.ManagedDeploymentImpl;
/**
@@ -36,20 +35,10 @@
* @author Scott.Stark at jboss.org
* @version $Revision$
*/
-public class DefaultManagedDeploymentCreator
- implements ManagedDeploymentCreator
+public class DefaultManagedDeploymentCreator implements ManagedDeploymentCreator
{
- public ManagedDeployment build(DeploymentUnit unit,
- Map<String, ManagedObject> unitMOs,
- ManagedDeployment parent)
+ public ManagedDeployment build(DeploymentUnit unit, Map<String, ManagedObject> unitMOs, ManagedDeployment parent)
{
- DeploymentPhase phase = unit.getAttachment(DeploymentPhase.class);
- if( phase == null )
- phase = DeploymentPhase.APPLICATION;
- ManagedDeployment md = new ManagedDeploymentImpl(unit.getName(), unit.getSimpleName(),
- phase, parent, unitMOs);
-
- return md;
+ return new ManagedDeploymentImpl(unit.getName(), unit.getSimpleName(), parent, unitMOs);
}
-
}
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DominoOrdering.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DominoOrdering.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/DominoOrdering.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -70,24 +70,24 @@
Dots oneTail = one.getTail();
Dots twoHead = two.getHead();
Dots twoTail = two.getTail();
- boolean fstXsnd = oneTail.match(twoHead);
- boolean sndXfst = twoTail.match(oneHead);
+ int fstXsnd = oneTail.intersect(twoHead);
+ int sndXfst = twoTail.intersect(oneHead);
int relation = 0;
- if (fstXsnd && sndXfst)
+ if (fstXsnd > 0 && sndXfst > 0)
{
// pass-through deployers
- if (oneHead.match(twoHead) && oneTail.match(twoTail))
+ if (oneHead.intersect(twoHead) > 0 && oneTail.intersect(twoTail) > 0)
{
- // lets try do do more exact match
+ // lets try to do more exact match
// although we should aviod singe dimension checks
// which are already part of match() check
- // in order not to break comparator comparison
- if (twoHead.dimension() > 1 && oneTail.dimension() >= twoHead.dimension() && oneTail.contains(twoHead))
- relation = -1;
- else if (oneHead.dimension() > 1 && twoTail.dimension() >= oneHead.dimension() && twoTail.contains(oneHead))
- relation = 1;
- else
- relation = COMPARATOR.compare(one, two);
+ int thXot = (oneTail.dimension() > 1 && twoHead.dimension() > 1) ? twoHead.intersect(oneTail) : 1;
+ int before = Math.max(fstXsnd, thXot);
+ int ohXtt = (oneHead.dimension() > 1 && twoTail.dimension() > 1) ? oneHead.intersect(twoTail) : 1;
+ int after = Math.max(sndXfst, ohXtt);
+ relation = after - before; // do we have some more exact match?
+
+ // make name compare lazy - might already be fixed with transitive order
}
else
{
@@ -97,7 +97,7 @@
}
else
{
- relation = fstXsnd ? -1 : (sndXfst ? 1 : 0);
+ relation = fstXsnd > 0 ? -1 : (sndXfst > 0 ? 1 : 0);
}
if (relation == 0)
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/Dots.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/Dots.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/Dots.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -37,23 +37,16 @@
T getValue();
/**
- * Do this dots match with the param dots.
+ * Return the dimension of intersection.
+ * For strict domino that matches this would be one,
+ * in our case is the size of intersection set.
*
* @param dots the dots
- * @return true if these dots match param dots
+ * @return the intersection dimension
*/
- boolean match(Dots<T> dots);
+ int intersect(Dots<T> dots);
/**
- * Do this dots contain the param dots.
- * In most cases this should be te same as a match.
- *
- * @param dots the dots
- * @return true if these dots contain param dots
- */
- boolean contains(Dots<T> dots);
-
- /**
* The dimension of different dots.
* For strict domino dots this would be one,
* in our string set case this is the size of the set.
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SetDots.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SetDots.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/main/java/org/jboss/deployers/plugins/sort/SetDots.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -46,26 +46,12 @@
return set;
}
- public boolean match(Dots<Set<V>> containable)
+ public int intersect(Dots<Set<V>> containable)
{
- if (set.isEmpty() == false)
- {
- for(V value : containable.getValue())
- {
- if (set.contains(value))
- {
- return true;
- }
- }
- }
- return false;
- }
-
- public boolean contains(Dots<Set<V>> containable)
- {
Set<V> otherSet = containable.getValue();
Set<V> copy = new HashSet<V>(otherSet);
- return copy.retainAll(set) == false;
+ copy.retainAll(set);
+ return copy.size();
}
public int dimension()
Copied: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/support/InterceptionClassLoaderSystem.java (from rev 98000, projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/support/InterceptionClassLoaderSystem.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/support/InterceptionClassLoaderSystem.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/support/InterceptionClassLoaderSystem.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2007, 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.deployers.annotations.support;
+
+import org.jboss.classloader.plugins.system.DefaultClassLoaderSystem;
+import org.jboss.classloader.spi.ClassLoaderDomain;
+import org.jboss.classloader.spi.ClassLoaderPolicy;
+
+/**
+ * InterceptionClassLoaderSystemDeployer.
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public class InterceptionClassLoaderSystem extends DefaultClassLoaderSystem
+{
+ @Override
+ public ClassLoader registerClassLoaderPolicy(ClassLoaderDomain domain, ClassLoaderPolicy policy)
+ {
+ return wrapClassLoader(super.registerClassLoaderPolicy(domain, policy));
+ }
+
+ protected ClassLoader wrapClassLoader(ClassLoader loader)
+ {
+ return new InterceptionClassLoader(loader);
+ }
+}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/support/InterceptionClassLoaderSystemDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/support/InterceptionClassLoaderSystemDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/support/InterceptionClassLoaderSystemDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -34,12 +34,6 @@
*/
public class InterceptionClassLoaderSystemDeployer extends AbstractLevelClassLoaderSystemDeployer
{
- public ClassLoader createClassLoader(DeploymentUnit unit) throws Exception
- {
- ClassLoader loader = super.createClassLoader(unit);
- return new InterceptionClassLoader(loader);
- }
-
@Override
public void removeClassLoader(DeploymentUnit unit) throws Exception
{
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/test/AnnotationEnvKeepTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/test/AnnotationEnvKeepTestCase.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/test/AnnotationEnvKeepTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -22,8 +22,7 @@
package org.jboss.test.deployers.annotations.test;
import junit.framework.Test;
-import org.jboss.deployers.spi.deployer.Deployer;
-import org.jboss.deployers.plugins.annotations.GenericAnnotationDeployer;
+import org.jboss.mcann.repository.AbstractSettings;
/**
* AnnotationEnvKeepTestCase.
@@ -43,10 +42,10 @@
return suite(AnnotationEnvKeepTestCase.class);
}
- protected Deployer createGenericAnnotationDeployer()
+ @Override
+ protected void applySettings(AbstractSettings settings)
{
- GenericAnnotationDeployer deployer = new GenericAnnotationDeployer();
- deployer.setKeepAnnotations(true);
- return deployer;
+ super.applySettings(settings);
+ settings.setKeepAnnotations(true);
}
}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/test/AnnotationEnvTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/test/AnnotationEnvTestCase.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/test/AnnotationEnvTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -32,9 +32,9 @@
import org.jboss.classloader.plugins.ClassLoaderUtils;
import org.jboss.deployers.client.spi.DeployerClient;
import org.jboss.deployers.client.spi.Deployment;
-import org.jboss.deployers.spi.annotations.AnnotationEnvironment;
-import org.jboss.deployers.spi.annotations.Element;
import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.mcann.AnnotationRepository;
+import org.jboss.mcann.Element;
import org.jboss.test.deployers.annotations.support.AnnotationsHolder;
import org.jboss.test.deployers.annotations.support.TestAnnotation;
@@ -66,7 +66,8 @@
deployment.getName(),
null,
ClassLoaderUtils.classNameToPath("org.jboss.test.deployers.annotations.support.AnnotationsHolder"),
- ClassLoaderUtils.classNameToPath("org.jboss.test.deployers.annotations.support.TestAnnotation")
+ ClassLoaderUtils.classNameToPath("org.jboss.test.deployers.annotations.support.TestAnnotation"),
+ ClassLoaderUtils.classNameToPath("org.jboss.reflect.plugins.javassist.JavassistMethod")
);
DeploymentUnit unit = assertDeploy(deployer, deployment);
@@ -79,7 +80,7 @@
// annotations are loaded, OK?
assertLoaded(unit, "org.jboss.test.deployers.annotations.support.TestAnnotation");
- AnnotationEnvironment env = getAnnotationEnvironment(unit);
+ AnnotationRepository env = getAnnotationRepository(unit);
Set<Element<TestAnnotation, Class<?>>> classes = env.classIsAnnotatedWith(taClass);
assertNotNull(classes);
assertEquals(1, classes.size());
@@ -143,7 +144,8 @@
deployment.getName(),
null,
ClassLoaderUtils.classNameToPath("org.jboss.test.deployers.annotations.support.AnnotationsHolder"),
- ClassLoaderUtils.classNameToPath("org.jboss.test.deployers.annotations.support.TestAnnotation")
+ ClassLoaderUtils.classNameToPath("org.jboss.test.deployers.annotations.support.TestAnnotation"),
+ ClassLoaderUtils.classNameToPath("org.jboss.reflect.plugins.javassist.JavassistMethod")
);
DeploymentUnit unit = assertDeploy(deployer, deployment);
@@ -155,7 +157,7 @@
// annotations are loaded, OK?
assertLoaded(unit, "org.jboss.test.deployers.annotations.support.TestAnnotation");
- AnnotationEnvironment env = getAnnotationEnvironment(unit);
+ AnnotationRepository env = getAnnotationRepository(unit);
Set<Element<Annotation, Class<?>>> classes = env.classIsAnnotatedWith(annotationName);
assertNotNull(classes);
assertEquals(1, classes.size());
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/test/AnnotationsTest.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/test/AnnotationsTest.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/annotations/test/AnnotationsTest.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -25,9 +25,11 @@
import java.lang.reflect.AnnotatedElement;
import java.util.Set;
-import org.jboss.classloader.plugins.system.DefaultClassLoaderSystem;
+import org.jboss.classloader.plugins.filter.CombiningClassFilter;
import org.jboss.classloader.spi.ClassLoaderSystem;
import org.jboss.classloader.spi.ParentPolicy;
+import org.jboss.classloader.spi.filter.ClassFilter;
+import org.jboss.classloader.spi.filter.PackageClassFilter;
import org.jboss.classloading.spi.dependency.ClassLoading;
import org.jboss.classloading.spi.dependency.policy.mock.MockClassLoadingMetaData;
import org.jboss.classloading.spi.metadata.CapabilitiesMetaData;
@@ -38,18 +40,24 @@
import org.jboss.deployers.client.spi.DeployerClient;
import org.jboss.deployers.plugins.annotations.GenericAnnotationDeployer;
import org.jboss.deployers.plugins.classloading.AbstractClassLoaderDescribeDeployer;
-import org.jboss.deployers.spi.annotations.AnnotationEnvironment;
-import org.jboss.deployers.spi.annotations.Element;
import org.jboss.deployers.spi.attachments.Attachments;
import org.jboss.deployers.spi.attachments.MutableAttachments;
import org.jboss.deployers.spi.attachments.PredeterminedManagedObjectAttachments;
import org.jboss.deployers.spi.deployer.Deployer;
import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.mcann.AnnotationRepository;
+import org.jboss.mcann.Element;
+import org.jboss.mcann.repository.AbstractSettings;
+import org.jboss.mcann.repository.javassist.JavassistConfiguration;
import org.jboss.test.deployers.AbstractDeployerTest;
import org.jboss.test.deployers.annotations.support.InterceptionClassLoader;
+import org.jboss.test.deployers.annotations.support.InterceptionClassLoaderSystem;
import org.jboss.test.deployers.annotations.support.InterceptionClassLoaderSystemDeployer;
import org.jboss.test.deployers.classloading.support.MockClassLoaderDescribeDeployer;
+import org.jboss.classloader.plugins.filter.NothingClassFilter;
+import org.jboss.classloader.plugins.filter.JavaOnlyClassFilter;
+
/**
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
@@ -114,9 +122,9 @@
mutable.addAttachment(ClassLoadingMetaData.class, md);
}
- protected AnnotationEnvironment getAnnotationEnvironment(Attachments attachments)
+ protected AnnotationRepository getAnnotationRepository(Attachments attachments)
{
- AnnotationEnvironment env = attachments.getAttachment(AnnotationEnvironment.class);
+ AnnotationRepository env = attachments.getAttachment(AnnotationRepository.class);
assertNotNull(env);
return env;
}
@@ -154,14 +162,18 @@
InterceptionClassLoader icl = (InterceptionClassLoader)cl;
Set<String> loaded = icl.getLoaded();
assertNotNull(loaded);
- assertEquals(loaded.contains(className), checkFlag);
+ assertEquals(checkFlag, loaded.contains(className));
}
protected DeployerClient getMainDeployer(Deployer... deployers)
{
ClassLoading classLoading = new ClassLoading();
- ClassLoaderSystem system = new DefaultClassLoaderSystem();
- system.getDefaultDomain().setParentPolicy(ParentPolicy.BEFORE_BUT_JAVA_ONLY);
+ ClassLoaderSystem system = new InterceptionClassLoaderSystem();
+ // we need to see javassist
+ ClassFilter javassistFilter = new PackageClassFilter(new String[]{"org.jboss.reflect.plugins.javassist"});
+ ClassFilter before = new CombiningClassFilter(false, new ClassFilter[]{JavaOnlyClassFilter.INSTANCE, javassistFilter});
+ ParentPolicy parentPolicy = new ParentPolicy(before, NothingClassFilter.INSTANCE);
+ system.getDefaultDomain().setParentPolicy(parentPolicy);
deployer1 = new MockClassLoaderDescribeDeployer();
deployer1.setClassLoading(classLoading);
@@ -187,6 +199,15 @@
protected Deployer createGenericAnnotationDeployer()
{
- return new GenericAnnotationDeployer();
+ GenericAnnotationDeployer deployer = new GenericAnnotationDeployer();
+ final JavassistConfiguration configuration = new JavassistConfiguration();
+ applySettings(configuration);
+ deployer.setConfiguration(configuration);
+ return deployer;
}
+
+ protected void applySettings(AbstractSettings settings)
+ {
+ settings.setForceAnnotations(true);
+ }
}
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/SubDeploymentMockClassLoaderUnitTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/SubDeploymentMockClassLoaderUnitTestCase.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/classloading/test/SubDeploymentMockClassLoaderUnitTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -183,6 +183,42 @@
assertEquals(Arrays.asList("top/sub", "top"), deployer2.undeployed);
}
+ public void testSubDeploymentClassLoaderSpecifiedTopLevel() throws Exception
+ {
+ DeployerClient deployer = getMainDeployer();
+
+ Deployment deployment = createSimpleDeployment("top");
+ ClassLoadingMetaData top = addClassLoadingMetaData(deployment, "top", null, A.class);
+ top.setImportAll(true);
+
+ ContextInfo sub = addChild(deployment, "sub");
+ ClassLoadingMetaData topSub = addClassLoadingMetaData(sub, "top/sub", null, false, B.class);
+ topSub.setDomain(ClassLoaderSystem.DEFAULT_DOMAIN_NAME);
+ topSub.setTopLevelClassLoader(true);
+ topSub.setImportAll(true);
+
+ DeploymentUnit unit = assertDeploy(deployer, deployment);
+
+ assertEquals(Arrays.asList("top", "top/sub"), deployer2.deployed);
+ assertEquals(NONE, deployer2.undeployed);
+
+ ClassLoader cl = unit.getClassLoader();
+
+ DeploymentUnit subDeployment = assertChild(unit, "top/sub");
+ ClassLoader clSub = subDeployment.getClassLoader();
+
+ assertLoadClass(cl, A.class);
+ assertLoadClass(cl, B.class, clSub);
+ assertLoadClass(clSub, A.class, cl);
+ assertLoadClass(clSub, B.class);
+
+ assertUndeploy(deployer, deployment);
+ assertNoDomain("top/sub");
+
+ assertEquals(Arrays.asList("top", "top/sub"), deployer2.deployed);
+ assertEquals(Arrays.asList("top/sub", "top"), deployer2.undeployed);
+ }
+
public void testMultipleSubDeploymentClassLoader() throws Exception
{
DeployerClient deployer = getMainDeployer();
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/DeployersDeployerTestSuite.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/DeployersDeployerTestSuite.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/DeployersDeployerTestSuite.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -25,24 +25,26 @@
import junit.framework.TestSuite;
import junit.textui.TestRunner;
+import org.jboss.test.deployers.deployer.helpers.test.ExactAttachmentDeployerWithVisitorTestCase;
import org.jboss.test.deployers.deployer.test.ComponentUnitTestCase;
import org.jboss.test.deployers.deployer.test.DeployerClassLoaderUnitTestCase;
import org.jboss.test.deployers.deployer.test.DeployerContextClassLoaderUnitTestCase;
import org.jboss.test.deployers.deployer.test.DeployerFlowUnitTestCase;
import org.jboss.test.deployers.deployer.test.DeployerOrderingUnitTestCase;
import org.jboss.test.deployers.deployer.test.DeployerProtocolUnitTestCase;
+import org.jboss.test.deployers.deployer.test.DeployerRequiredInputsUnitTestCase;
import org.jboss.test.deployers.deployer.test.DeployerRequiredStageUnitTestCase;
import org.jboss.test.deployers.deployer.test.DeployerWidthFirstUnitTestCase;
import org.jboss.test.deployers.deployer.test.DeployersImplUnitTestCase;
import org.jboss.test.deployers.deployer.test.HeuristicAllOrNothingUnitTestCase;
import org.jboss.test.deployers.deployer.test.HeuristicRussionDollUnitTestCase;
import org.jboss.test.deployers.deployer.test.MultipleComponentTypeUnitTestCase;
-import org.jboss.test.deployers.deployer.helpers.test.ExactAttachmentDeployerWithVisitorTestCase;
/**
* Deployers Deployer Test Suite.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
* @version $Revision: 37459 $
*/
public class DeployersDeployerTestSuite extends TestSuite
@@ -68,6 +70,7 @@
suite.addTest(HeuristicRussionDollUnitTestCase.suite());
suite.addTest(DeployerContextClassLoaderUnitTestCase.suite());
suite.addTest(DeployerRequiredStageUnitTestCase.suite());
+ suite.addTest(DeployerRequiredInputsUnitTestCase.suite());
// helper deployers
suite.addTest(ExactAttachmentDeployerWithVisitorTestCase.suite());
Copied: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/support/TestDeployerAdapter.java (from rev 98000, projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/support/TestDeployerAdapter.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/support/TestDeployerAdapter.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/support/TestDeployerAdapter.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,36 @@
+/**
+ *
+ */
+package org.jboss.test.deployers.deployer.support;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * Deployer adapter.
+ * @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
+ */
+public final class TestDeployerAdapter extends AbstractDeployer
+{
+
+ final String name;
+
+ public TestDeployerAdapter( final String name )
+ {
+ super();
+ this.name = name;
+ }
+
+ public void deploy(DeploymentUnit unit) throws DeploymentException
+ {
+ // NOOP
+ }
+
+ @Override
+ public String toString()
+ {
+ return super.toString() + "-" + this.name;
+ }
+
+}
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerFlowUnitTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerFlowUnitTestCase.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerFlowUnitTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -25,13 +25,17 @@
import junit.framework.TestSuite;
import org.jboss.deployers.client.spi.DeployerClient;
import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
import org.jboss.test.deployers.AbstractDeployerTest;
+import org.jboss.test.deployers.deployer.support.TestDeployerAdapter;
import org.jboss.test.deployers.deployer.support.TestFlowDeployer;
/**
* DeployerOrderingUnitTestCase.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
* @version $Revision: 1.1 $
*/
public class DeployerFlowUnitTestCase extends AbstractDeployerTest
@@ -939,4 +943,1029 @@
main.removeDeployment(deployment);
main.process();
}
+
+ public void testDeployersOrder1() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+
+ TestFlowDeployer deployer6 = new TestFlowDeployer( "6" );
+ deployer6.setInputs( "a11", "a12", "a13", "a14", "a33" );
+ addDeployer(main, deployer6);
+
+ TestFlowDeployer deployer5 = new TestFlowDeployer( "5" );
+ deployer5.setInputs( "a21", "a33", "a41" );
+ deployer5.setOutputs( "a33", "a51", "a52" );
+ addDeployer(main, deployer5);
+
+ TestFlowDeployer deployer4 = new TestFlowDeployer( "4" );
+ deployer4.setInputs( "a14", "a33" );
+ deployer4.setOutputs( "a14", "a33", "a41" );
+ addDeployer( main, deployer4 );
+
+ TestFlowDeployer deployer3 = new TestFlowDeployer( "3" );
+ deployer3.setInputs( "a13", "a21" );
+ deployer3.setOutputs( "a32", "a33" );
+ addDeployer( main, deployer3 );
+
+ TestFlowDeployer deployer2 = new TestFlowDeployer( "2" );
+ deployer2.setInputs( "a11", "a12" );
+ deployer2.setOutputs( "a12", "a21", "a22" );
+ addDeployer( main, deployer2 );
+
+ TestFlowDeployer deployer1 = new TestFlowDeployer( "1" );
+ deployer1.setOutputs( "a11", "a12", "a13", "a14" );
+ addDeployer( main, deployer1 );
+
+ Deployment deployment = createSimpleDeployment( "deployersOrderTest" );
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(4, deployer4.getDeployOrder());
+ assertEquals(5, deployer5.getDeployOrder());
+ assertEquals(6, deployer6.getDeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+ assertEquals(-1, deployer4.getUndeployOrder());
+ assertEquals(-1, deployer5.getUndeployOrder());
+ assertEquals(-1, deployer6.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(4, deployer4.getDeployOrder());
+ assertEquals(5, deployer5.getDeployOrder());
+ assertEquals(6, deployer6.getDeployOrder());
+ assertEquals(12, deployer1.getUndeployOrder());
+ assertEquals(11, deployer2.getUndeployOrder());
+ assertEquals(10, deployer3.getUndeployOrder());
+ assertEquals(9, deployer4.getUndeployOrder());
+ assertEquals(8, deployer5.getUndeployOrder());
+ assertEquals(7, deployer6.getUndeployOrder());
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(13, deployer1.getDeployOrder());
+ assertEquals(14, deployer2.getDeployOrder());
+ assertEquals(15, deployer3.getDeployOrder());
+ assertEquals(16, deployer4.getDeployOrder());
+ assertEquals(17, deployer5.getDeployOrder());
+ assertEquals(18, deployer6.getDeployOrder());
+ assertEquals(12, deployer1.getUndeployOrder());
+ assertEquals(11, deployer2.getUndeployOrder());
+ assertEquals(10, deployer3.getUndeployOrder());
+ assertEquals(9, deployer4.getUndeployOrder());
+ assertEquals(8, deployer5.getUndeployOrder());
+ assertEquals(7, deployer6.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+ }
+
+ public void testRemovingOverlapping() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+
+ // "1", "2", "3", "4" and "6" are provided by deployers in different stage
+ TestFlowDeployer deployer1 = new TestFlowDeployer( "WSEJBAdapterDeployer" );
+ deployer1.setInputs( "1", "2", "3", "4" );
+ deployer1.setOutputs( "5" );
+ addDeployer(main, deployer1);
+
+ TestFlowDeployer deployer2 = new TestFlowDeployer( "WSTypeDeployer" );
+ deployer2.setInputs( "5", "4", "6" ); // note 6 is both input and output
+ deployer2.setOutputs( "6", "7" );
+ addDeployer(main, deployer2);
+
+ TestFlowDeployer deployer3 = new TestFlowDeployer( "WSDeploymentDeployer" );
+ deployer3.setInputs( "6", "7" ); // note 6 is both input and output
+ deployer3.setOutputs( "8", "6" );
+ addDeployer( main, deployer3 );
+
+ TestFlowDeployer deployer4 = new TestFlowDeployer( "WSDeploymentAspectDeployer" );
+ deployer4.setInputs( "6", "7", "8" ); // note 6 is both input and output
+ deployer4.setOutputs( "9", "6", "0" );
+ addDeployer( main, deployer4 );
+
+ Deployment deployment = createSimpleDeployment( "deployersOrderTest" );
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(4, deployer4.getDeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+ assertEquals(-1, deployer4.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(4, deployer4.getDeployOrder());
+ assertEquals(8, deployer1.getUndeployOrder());
+ assertEquals(7, deployer2.getUndeployOrder());
+ assertEquals(6, deployer3.getUndeployOrder());
+ assertEquals(5, deployer4.getUndeployOrder());
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(9, deployer1.getDeployOrder());
+ assertEquals(10, deployer2.getDeployOrder());
+ assertEquals(11, deployer3.getDeployOrder());
+ assertEquals(12, deployer4.getDeployOrder());
+ assertEquals(8, deployer1.getUndeployOrder());
+ assertEquals(7, deployer2.getUndeployOrder());
+ assertEquals(6, deployer3.getUndeployOrder());
+ assertEquals(5, deployer4.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+ }
+
+ public void testPartialOverlapping() throws Exception
+ {
+ DeployerClient main = createMainDeployer();
+
+ // "1", "2", are provided by other preceding deployers
+ TestFlowDeployer deployer1 = new TestFlowDeployer( "Deployer" );
+ deployer1.setInputs( "1", "2" );
+ deployer1.setOutputs( "3", "5", "2", "4" );
+ addDeployer(main, deployer1);
+
+ TestFlowDeployer deployer2 = new TestFlowDeployer( "Deployer" );
+ deployer2.setInputs( "1", "5", "2" ); // depends on 5 (output of deployer1)
+ deployer2.setOutputs( "6", "2", "4" );
+ addDeployer(main, deployer2);
+
+ TestFlowDeployer deployer3 = new TestFlowDeployer( "Deployer" );
+ deployer3.setInputs( "6", "1", "5", "2" ); // depends on 6 (output of deployer2) and 5 (output of deployer1)
+ deployer3.setOutputs( "7", "2", "4" );
+ addDeployer( main, deployer3 );
+
+ TestFlowDeployer deployer4 = new TestFlowDeployer( "Deployer" );
+ deployer4.setInputs( "1", "2", "4" ); // depends on 4 (output of deployer1, deployer2 and deployer3)
+ deployer4.setOutputs( "8", "2" );
+ addDeployer( main, deployer4 );
+
+ Deployment deployment = createSimpleDeployment( "deployersOrderTest" );
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(4, deployer4.getDeployOrder());
+ assertEquals(-1, deployer1.getUndeployOrder());
+ assertEquals(-1, deployer2.getUndeployOrder());
+ assertEquals(-1, deployer3.getUndeployOrder());
+ assertEquals(-1, deployer4.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+
+ assertEquals(1, deployer1.getDeployOrder());
+ assertEquals(2, deployer2.getDeployOrder());
+ assertEquals(3, deployer3.getDeployOrder());
+ assertEquals(4, deployer4.getDeployOrder());
+ assertEquals(8, deployer1.getUndeployOrder());
+ assertEquals(7, deployer2.getUndeployOrder());
+ assertEquals(6, deployer3.getUndeployOrder());
+ assertEquals(5, deployer4.getUndeployOrder());
+
+ main.addDeployment(deployment);
+ main.process();
+
+ assertEquals(9, deployer1.getDeployOrder());
+ assertEquals(10, deployer2.getDeployOrder());
+ assertEquals(11, deployer3.getDeployOrder());
+ assertEquals(12, deployer4.getDeployOrder());
+ assertEquals(8, deployer1.getUndeployOrder());
+ assertEquals(7, deployer2.getUndeployOrder());
+ assertEquals(6, deployer3.getUndeployOrder());
+ assertEquals(5, deployer4.getUndeployOrder());
+
+ main.removeDeployment(deployment);
+ main.process();
+ }
+
+ public void testRealWorldAS6DeployersScenario() throws Exception
+ {
+ // THIS IS REAL WORLD SCENARIO - AS deployers with their dependencies
+ DeployerClient main = createMainDeployer();
+ AbstractDeployer deployer = null;
+ long start = System.currentTimeMillis();
+
+ // PARSE
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.BeanDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.kernel.spi.deployment.KernelDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.annotations.ScanningMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.deployers.spi.annotations.ScanningMetaData", "org.jboss.deployers.plugins.annotations.AbstractScanningMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.dependency.AliasesParserDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.deployers.vfs.plugins.dependency.DeploymentAliases" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.dependency.DependenciesParserDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.deployers.vfs.plugins.dependency.DependenciesMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.hibernate.deployers.metadata.HibernateMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.xnio.metadata.XnioMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.security.microcontainer.beans.metadata.SecurityPolicyMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.logging.metadata.LoggingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.threads.metadata.ThreadsMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.aop.microcontainer.beans.metadata.AOPDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.AppParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.ear.spec.EarMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.JBossAppParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.AppClientParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.client.spec.ApplicationClientMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.JBossClientParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setInputs( "org.jboss.metadata.client.spec.ApplicationClientMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.client.jboss.JBossClientMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.PersistenceUnitParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.jpa.spec.PersistenceMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.jpa.deployers.PersistenceParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.jpa.spec.PersistenceMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.resource.deployers.ManagedConnectionFactoryParserDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.resource.deployers.RARParserDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.resource.metadata.RARDeploymentMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.security.deployers.AclConfigParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.security.acl.config.ACLConfiguration" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.security.deployers.XacmlConfigParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "javax.xml.bind.JAXBElement" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.system.deployers.SARDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.system.metadata.ServiceDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.varia.deployment.LegacyBeanShellDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.varia.deployment.BeanShellScript" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDescriptorDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.aop.asintegration.jboss5.AOPAnnotationMetaDataParserDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.aop.microcontainer.beans.metadata.AOPDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.EARContentsDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.WebAppParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.web.spec.WebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.WebAppFragmentParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.web.spec.WebFragmentMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.TldParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.web.spec.TldMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.JBossWebAppParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setInputs( "org.jboss.metadata.web.spec.WebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.EjbParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setOutputs( "org.jboss.metadata.ejb.spec.EjbJarMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.JBossEjbParsingDeployer" );
+ deployer.setStage(DeploymentStages.PARSE);
+ deployer.setInputs( "org.jboss.metadata.ejb.spec.EjbJarMetaData" );
+ deployer.setOutputs( "standardjboss.xml", "org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ApplicationMetaData" );
+ addDeployer(main, deployer);
+
+ // POST_PARSE
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.dependency.DependenciesMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.deployers.vfs.plugins.dependency.DependenciesMetaData" );
+ deployer.setOutputs( "org.jboss.deployers.vfs.plugins.dependency.DeploymentDependencies" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.dependency.DeploymentAliasesDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.deployers.vfs.plugins.dependency.DeploymentAliases" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.dependency.DeploymentDependencyDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.deployers.vfs.plugins.dependency.DeploymentDependencies" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.EarClassLoaderDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.EjbClassLoaderDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.LegacyWebXmlLessDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.metadata.web.spec.WebMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.resource.deployers.ManagedConnectionFactoryClassLoaderDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.system.deployers.ServiceClassLoaderDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.system.metadata.ServiceDeployment" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.web.tomcat.service.deployers.ClusteringDefaultsDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.web.tomcat.service.deployers.WarClassLoaderDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.metadata.PostJBossMetadataDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.metadata.PostJBossWebMetadataDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.metadata.WeldFilesDeployer" );
+ deployer.setStage(DeploymentStages.POST_PARSE);
+ deployer.setInputs( "org.jboss.weld.integration.deployer.ext.JBossWeldMetaData" );
+ deployer.setOutputs( "WELD_FILES", "WELD_CLASSPATH" );
+ addDeployer(main, deployer);
+
+ // PRE_DESCRIBE
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.plugins.classloading.ClassLoadingDefaultDeployer" );
+ deployer.setStage(DeploymentStages.PRE_DESCRIBE);
+ deployer.setInputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ // DESCRIBE
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.classloader.InMemoryClassesDeployer" );
+ deployer.setStage(DeploymentStages.DESCRIBE);
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.seam.integration.microcontainer.deployers.SeamWebUrlIntegrationDeployer" );
+ deployer.setStage(DeploymentStages.DESCRIBE);
+ deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.cl.WeldFacesIntegrationDeployer" );
+ deployer.setStage(DeploymentStages.DESCRIBE);
+ deployer.setInputs( "WELD_FILES" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderClassPathDeployer" );
+ deployer.setStage(DeploymentStages.DESCRIBE);
+ deployer.setInputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderDescribeDeployer" );
+ deployer.setStage(DeploymentStages.DESCRIBE);
+ deployer.setInputs( "org.jboss.classloading.spi.metadata.ClassLoadingMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.dependency.Module" );
+ addDeployer(main, deployer);
+
+ // CLASSLOADER
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer" );
+ deployer.setStage(DeploymentStages.CLASSLOADER);
+ deployer.setInputs( "org.jboss.deployers.structure.spi.ClassLoaderFactory" );
+ deployer.setOutputs( "java.lang.ClassLoader" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.aop.asintegration.jboss5.AOPClassLoaderDeployer" );
+ deployer.setStage(DeploymentStages.CLASSLOADER);
+ deployer.setInputs( "java.lang.ClassLoader" );
+ addDeployer(main, deployer);
+
+ // POST_CLASSLOADER
+
+ deployer = new TestDeployerAdapter( "org.jboss.aop.asintegration.jboss5.AOPDeploymentAopMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.aop.microcontainer.beans.metadata.AOPDeployment" );
+ deployer.setOutputs( "org.jboss.aop.asintegration.jboss5.AopMetaDataDeployerOutput" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.aop.asintegration.jboss5.BeansDeploymentAopMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.kernel.spi.deployment.KernelDeployment" );
+ deployer.setOutputs( "org.jboss.aop.asintegration.jboss5.AopMetaDataDeployerOutput" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.EarLibExcludeDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
+ deployer.setOutputs( "org.jboss.classloading.spi.visitor.ResourceFilter.recurse" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.plugins.annotations.FilteredAnnotationEnvironmentDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.deployers.spi.annotations.ScanningMetaData", "org.jboss.classloading.spi.visitor.ResourceFilter.resource", "org.jboss.classloading.spi.dependency.Module", "org.jboss.classloading.spi.visitor.ResourceFilter.recurse" );
+ deployer.setOutputs( "org.jboss.deployers.spi.annotations.AnnotationEnvironment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.EarSecurityDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
+ deployer.setOutputs( "jboss.jacc", "org.jboss.system.metadata.ServiceMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.OptAnnotationMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.metadata.web.spec.WebMetaData", "org.jboss.metadata.client.spec.ApplicationClientMetaData", "org.jboss.deployers.spi.annotations.AnnotationEnvironment", "org.jboss.metadata.ejb.spec.EjbJarMetaData" );
+ deployer.setOutputs( "annotated.org.jboss.metadata.web.spec.WebMetaData", "annotated.org.jboss.metadata.ejb.spec.EjbJarMetaData", "annotated.org.jboss.metadata.client.spec.ApplicationClientMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb.deployers.MergedJBossMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "annotated.org.jboss.metadata.ejb.spec.EjbJarMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.spec.EjbJarMetaData" );
+ deployer.setOutputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.MergedJBossClientMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.metadata.client.jboss.JBossClientMetaData", "annotated.org.jboss.metadata.client.spec.ApplicationClientMetaData", "org.jboss.metadata.client.spec.ApplicationClientMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.client.jboss.JBossClientMetaData", "merged.org.jboss.metadata.client.jboss.JBossClientMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ha.framework.server.deployers.Ejb2HAPartitionDependencyDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ha.framework.server.deployers.Ejb3HAPartitionDependencyDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb.deployers.StandardJBossMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "standardjboss.xml", "merged.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "raw.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.Ejb3MetadataProcessingDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "processed.org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.EjbMetadataJndiPolicyDecoratorDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "processed.org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "EjbMetadataJndiPolicyDecoratorDeployer" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.metadata.PostWebMetadataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "merged.org.jboss.metadata.web.jboss.JBossWebMetaData", "WELD_FILES", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.metadata.WeldEjbInterceptorMetadataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "WELD_FILES", "merged.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb.deployers.EjbSecurityDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "merged.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "jboss.jacc", "org.jboss.system.metadata.ServiceMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.web.deployers.WarAnnotationMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.metadata.web.spec.WebMetaData" );
+ deployer.setOutputs( "annotated.org.jboss.metadata.web.spec.WebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.web.deployers.MergedJBossWebMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "annotated.org.jboss.metadata.web.spec.WebMetaData", "org.jboss.metadata.web.spec.WebMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "overlays.org.jboss.metadata.web.spec.WebMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData", "order.org.jboss.metadata.web.spec.WebMetaData", "localscis.org.jboss.metadata.web.spec.WebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployment.MappedReferenceMetaDataResolverDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.metadata.client.jboss.JBossClientMetaData", "org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.deployment.spi.DeploymentEndpointResolver" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.web.deployers.ServletContainerInitializerDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "order.org.jboss.metadata.web.spec.WebMetaData", "localscis.org.jboss.metadata.web.spec.WebMetaData" );
+ deployer.setOutputs( "sci.org.jboss.metadata.web.spec.WebMetaData", "sci.handlestypes.org.jboss.metadata.web.spec.WebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.web.deployers.WarSecurityDeployer" );
+ deployer.setStage(DeploymentStages.POST_CLASSLOADER);
+ deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jboss.jacc", "org.jboss.system.metadata.ServiceMetaData" );
+ addDeployer(main, deployer);
+
+ // PRE_REAL
+
+ deployer = new TestDeployerAdapter( "org.jboss.beanvalidation.deployers.ValidatorFactoryDeployer" );
+ deployer.setStage(DeploymentStages.PRE_REAL);
+ deployer.setOutputs( "javax.validation.ValidatorFactory" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.Ejb3DependenciesDeployer" );
+ deployer.setStage(DeploymentStages.PRE_REAL);
+ deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "org.jboss.deployers.vfs.plugins.dependency.DependenciesMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.system.server.profileservice.persistence.deployer.ProfileServicePersistenceDeployer" );
+ deployer.setStage(DeploymentStages.PRE_REAL);
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.env.EjbServicesDeployer" );
+ deployer.setStage(DeploymentStages.PRE_REAL);
+ deployer.setInputs( "WELD_FILES", "org.jboss.weld.integration.deployer.env.BootstrapInfo" );
+ deployer.setOutputs( "BootstrapInfoEJB_SERVICES", "org.jboss.weld.integration.deployer.env.BootstrapInfo" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.env.WeldDiscoveryDeployer" );
+ deployer.setStage(DeploymentStages.PRE_REAL);
+ deployer.setInputs( "org.jboss.weld.integration.deployer.ext.JBossWeldMetaData", "WELD_FILES", "WELD_CLASSPATH" );
+ deployer.setOutputs( "org.jboss.weld.integration.deployer.env.WeldDiscoveryEnvironment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.env.FlatDeploymentDeployer" );
+ deployer.setStage(DeploymentStages.PRE_REAL);
+ deployer.setInputs( "WELD_FILES", "org.jboss.weld.integration.deployer.env.BootstrapInfo", "org.jboss.weld.integration.deployer.env.WeldDiscoveryEnvironment", "BootstrapInfoEJB_SERVICES" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData", "org.jboss.weld.integration.deployer.env.BootstrapInfo", "BootstrapInfoDEPLOYMENT" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.weld.integration.deployer.env.WeldBootstrapDeployer" );
+ deployer.setStage(DeploymentStages.PRE_REAL);
+ deployer.setInputs( "javax.validation.ValidatorFactory", "WELD_FILES", "org.jboss.weld.integration.deployer.env.BootstrapInfo" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ // REAL
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataFactoryDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.threads.metadata.ThreadsMetaData" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataFactoryDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.logging.metadata.LoggingMetaData" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataFactoryDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.xnio.metadata.XnioMetaData" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb.deployers.CreateDestinationDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.system.metadata.ServiceMetaData", "org.jboss.kernel.spi.deployment.KernelDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb.deployers.EjbDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "org.jboss.ejb.deployers.EjbDeployment", "org.jboss.system.metadata.ServiceMetaData", "org.jboss.kernel.spi.deployment.KernelDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.Ejb3ClientDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.client.jboss.JBossClientMetaData" );
+ deployer.setOutputs( "org.jboss.ejb3.clientmodule.ClientENCInjectionContainer", "org.jboss.kernel.spi.deployment.KernelDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.deployers.Ejb3Deployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData", "processed.org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "org.jboss.ejb3.Ejb3Deployment", "org.jboss.kernel.spi.deployment.KernelDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.AliasDeploymentDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.kernel.spi.deployment.KernelDeployment", "org.jboss.beans.metadata.spi.NamedAliasMetaData" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.NamedAliasMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.endpoint.deployers.EJB3EndpointDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.ejb3.metrics.deployer.Ejb3MetricsDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.ejb3.Ejb3Deployment" );
+ deployer.setOutputs( "org.jboss.ejb3.metrics.deployer.Ejb3MetricsDeployer" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.hibernate.deployers.HibernateDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.hibernate.deployers.metadata.HibernateMetaData" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.jpa.deployers.PersistenceDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.jpa.spec.PersistenceMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.jpa.spec.PersistenceUnitMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.jpa.deployers.PersistenceUnitDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.jpa.spec.PersistenceUnitMetaData" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.beans.metadata.spi.BeanMetaData", "org.jboss.kernel.spi.deployment.KernelDeployment" );
+ deployer.setOutputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.beans.metadata.spi.BeanMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.deployers.vfs.deployer.kernel.DeploymentAliasMetaDataDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.beans.metadata.spi.BeanMetaData", "org.jboss.beans.metadata.spi.NamedAliasMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.EarModuleJSR77Deployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.ear.jboss.JBossAppMetaData" );
+ deployer.setOutputs( "javax.management.ObjectName" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.EjbModuleJSR77Deployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.ejb.jboss.JBossMetaData" );
+ deployer.setOutputs( "javax.management.ObjectName" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.JCAResourceJSR77Deployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup" );
+ deployer.setOutputs( "javax.management.ObjectName" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.RarModuleJSR77Deployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.resource.metadata.RARDeploymentMetaData" );
+ deployer.setOutputs( "javax.management.ObjectName" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.resource.deployers.ManagedConnectionFactoryDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup" );
+ deployer.setOutputs( "org.jboss.system.metadata.ServiceDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.ServiceModuleJSR77Deployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.system.metadata.ServiceDeployment" );
+ deployer.setOutputs( "javax.management.ObjectName" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.resource.deployers.RARDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.resource.metadata.RARDeploymentMetaData" );
+ deployer.setOutputs( "org.jboss.system.metadata.ServiceMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.varia.deployment.LegacyBeanShellScriptDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.varia.deployment.BeanShellScript" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSEJBAdapterDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.ejb3.Ejb3Deployment", "merged.org.jboss.metadata.ejb.jboss.JBossMetaData", "org.jboss.ejb.deployers.EjbDeployment", "org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData" );
+ deployer.setOutputs( "org.jboss.wsf.spi.deployment.integration.WebServiceDeployment" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSTypeDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.integration.WebServiceDeployment", "org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "org.jboss.wsf.spi.deployment.Deployment$DeploymentType" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "org.jboss.wsf.spi.deployment.Deployment$DeploymentType" );
+ deployer.setOutputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.EndpointMetrics", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.VFSRoot", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata", "jbossws.VirtualHosts" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.ContextRoot", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.ContextRoot", "org.jboss.wsf.spi.deployment.Deployment", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.URLPattern", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.URLPattern", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.EndpointAddress", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.URLPattern", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.EndpointName", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.EndpointName", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.RegisteredEndpoint", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.URLPattern", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.VirtualHosts" );
+ deployer.setOutputs( "jbossws.WebMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.StackEndpointHandler", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.JAXBIntros", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.JAXBIntros", "jbossws.VFSRoot", "jbossws.URLPattern", "org.jboss.wsf.spi.deployment.Deployment", "jbossws.ContainerMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.UnifiedMetaDataModel", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.UnifiedMetaDataModel", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.JAXBIntros", "jbossws.UnifiedMetaDataModel", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.PublishedContract", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.UnifiedMetaDataModel", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.InitializedMetaDataModel", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.UnifiedMetaDataModel", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.StackEndpointHandler", "jbossws.UnifiedMetaDataModel", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.StackDescriptor", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.ContextProperties", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.WebMetaData", "org.jboss.wsf.spi.deployment.Deployment", "jbossws.StackDescriptor", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.ContextProperties" );
+ deployer.setOutputs( "jbossws.WebMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.WebMetaData", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.JACCPermisions", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.WebMetaData", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.InjectionMetaData", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "jbossws.RegisteredEndpoint", "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "jbossws.EndpointRecordProcessors", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.webservices.integration.deployers.WSDeploymentAspectDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.wsf.spi.deployment.Deployment", "org.jboss.metadata.web.jboss.JBossWebMetaData", "jbossws.metadata" );
+ deployer.setOutputs( "jbossws.LifecycleHandler", "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.WebModuleJSR77Deployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "javax.management.ObjectName" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.web.tomcat.service.deployers.TomcatDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.metadata.web.jboss.JBossWebMetaData" );
+ deployer.setOutputs( "org.jboss.web.deployers.WarDeployment", "org.jboss.system.metadata.ServiceMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.system.deployers.ServiceDeploymentDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.system.metadata.ServiceDeployment", "org.jboss.system.metadata.ServiceMetaData" );
+ deployer.setOutputs( "org.jboss.system.metadata.ServiceMetaData" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.management.j2ee.deployers.JMSResourceJSR77Deployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.system.metadata.ServiceMetaData" );
+ deployer.setOutputs( "javax.management.ObjectName" );
+ addDeployer(main, deployer);
+
+ deployer = new TestDeployerAdapter( "org.jboss.system.deployers.ServiceDeployer" );
+ deployer.setStage(DeploymentStages.REAL);
+ deployer.setInputs( "org.jboss.system.metadata.ServiceMetaData" );
+ addDeployer(main, deployer);
+
+ long end = System.currentTimeMillis();
+ System.out.println("---------------------------------------------------------");
+ System.out.println( "Domino sorting took: " + (end - start) + " milliseconds" );
+ System.out.println("---------------------------------------------------------");
+ }
+
}
Copied: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerRequiredInputsUnitTestCase.java (from rev 98000, projects/jboss-deployers/trunk/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerRequiredInputsUnitTestCase.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerRequiredInputsUnitTestCase.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerRequiredInputsUnitTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,97 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2009, Red Hat Middleware LLC, and individual contributors
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.deployers.deployer.test;
+
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.Set;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jboss.deployers.client.spi.DeployerClient;
+import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.spi.attachments.MutableAttachments;
+import org.jboss.deployers.spi.deployer.DeploymentStage;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.test.deployers.AbstractDeployerTest;
+import org.jboss.test.deployers.deployer.support.TestSimpleDeployer;
+
+/**
+ * DeployerRequiredInputsUnitTestCase.
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public class DeployerRequiredInputsUnitTestCase extends AbstractDeployerTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(DeployerRequiredInputsUnitTestCase.class);
+ }
+
+ public DeployerRequiredInputsUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testRequiredState() throws Exception
+ {
+ TestSimpleDeployer missing = new TestSimpleDeployer();
+ missing.addRequiredInput(Calendar.class); // I guess no calendar is present :-)
+ assertTrue(missing.getInputs().contains(Calendar.class.getName()));
+
+ TestSimpleDeployer all = new TestSimpleDeployer();
+ all.addRequiredInput(DeploymentStage.class.getName());
+ assertTrue(all.getInputs().contains(DeploymentStage.class.getName()));
+
+ TestSimpleDeployer empty = new TestSimpleDeployer();
+
+ DeployerClient main = createMainDeployer(missing, all, empty);
+
+ String name = "simple";
+ Deployment deployment = createSimpleDeployment(name);
+
+ MutableAttachments attachments = (MutableAttachments) deployment.getPredeterminedManagedObjects();
+ attachments.addAttachment(DeploymentStage.class, DeploymentStages.DESCRIBE);
+
+ Set<String> singleton;
+ main.deploy(deployment);
+ try
+ {
+ DeploymentUnit unit = getDeploymentUnit(main, name);
+ singleton = Collections.singleton(unit.getName());
+
+ assertEmpty(missing.getDeployedUnits());
+ assertEquals(singleton, all.getDeployedUnits());
+ assertEquals(singleton, empty.getDeployedUnits());
+ }
+ finally
+ {
+ main.undeploy(deployment);
+ }
+
+ assertEmpty(missing.getUndeployedUnits());
+ assertEquals(singleton, all.getUndeployedUnits());
+ assertEquals(singleton, empty.getUndeployedUnits());
+ }
+}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerRequiredStageUnitTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerRequiredStageUnitTestCase.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-impl/src/test/java/org/jboss/test/deployers/deployer/test/DeployerRequiredStageUnitTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -62,15 +62,22 @@
Deployment deployment = createSimpleDeployment(name);
MutableAttachments attachments = (MutableAttachments) deployment.getPredeterminedManagedObjects();
attachments.addAttachment(DeploymentStage.class, DeploymentStages.DESCRIBE);
+
main.deploy(deployment);
+ try
+ {
+ DeploymentUnit unit = getDeploymentUnit(main, name);
- DeploymentUnit unit = getDeploymentUnit(main, name);
-
- assertEquals(DeploymentStages.DESCRIBE, unit.getRequiredStage());
- assertEquals(DeploymentStages.DESCRIBE, main.getDeploymentStage(name));
-
- main.change(name, DeploymentStages.INSTALLED);
- assertEquals(DeploymentStages.INSTALLED, unit.getRequiredStage());
- assertEquals(DeploymentStages.INSTALLED, main.getDeploymentStage(name));
+ assertEquals(DeploymentStages.DESCRIBE, unit.getRequiredStage());
+ assertEquals(DeploymentStages.DESCRIBE, main.getDeploymentStage(name));
+
+ main.change(name, DeploymentStages.INSTALLED);
+ assertEquals(DeploymentStages.INSTALLED, unit.getRequiredStage());
+ assertEquals(DeploymentStages.INSTALLED, main.getDeploymentStage(name));
+ }
+ finally
+ {
+ main.undeploy(deployment);
+ }
}
}
Modified: projects/jboss-deployers/branches/vfs3/deployers-jmx/src/main/java/org/jboss/system/deployers/ServiceDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-jmx/src/main/java/org/jboss/system/deployers/ServiceDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-jmx/src/main/java/org/jboss/system/deployers/ServiceDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -24,9 +24,12 @@
import javax.management.ObjectName;
import org.jboss.classloading.spi.RealClassLoader;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.dependency.spi.ControllerContext;
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.kernel.Kernel;
import org.jboss.mx.util.ObjectNameFactory;
import org.jboss.system.ServiceContext;
import org.jboss.system.ServiceController;
@@ -112,6 +115,10 @@
remove(name);
throw t;
}
+
+ ControllerContext serviceContext = getControllerContext(name);
+ if (serviceContext != null)
+ putContext(serviceContext, unit.getParent()); // we're component, use parent
}
catch (Throwable t)
{
@@ -120,6 +127,20 @@
}
/**
+ * Get service's controller context.
+ *
+ * @param name the service's object name
+ * @return the context
+ */
+ protected ControllerContext getControllerContext(ObjectName name)
+ {
+ Kernel kernel = controller.getKernel();
+ Controller controller = kernel.getController();
+ String canonicalName = name.getCanonicalName(); // too impl detail?
+ return controller.getContext(canonicalName, null);
+ }
+
+ /**
* Find first RealClassLoader instance
* and return its ObjectName.
* If none is found return defaultClassloader.
@@ -144,6 +165,11 @@
public void undeploy(DeploymentUnit unit, ServiceMetaData deployment)
{
ObjectName name = deployment.getObjectName();
+
+ ControllerContext serviceContext = getControllerContext(name);
+ if (serviceContext != null)
+ removeContext(serviceContext, unit.getParent());
+
ServiceContext context = controller.getServiceContext(name);
if (context != null)
{
Copied: projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/support/SMDParsingDeployer.java (from rev 98000, projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/support/SMDParsingDeployer.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/support/SMDParsingDeployer.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/support/SMDParsingDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,73 @@
+/*
+ * 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.system.deployers.support;
+
+import java.util.Collections;
+import java.util.Set;
+
+import org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.system.metadata.ServiceDeployment;
+import org.jboss.system.metadata.ServiceMetaData;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class SMDParsingDeployer extends AbstractParsingDeployerWithOutput<ServiceDeployment>
+{
+ private ServiceMetaData smd;
+
+ public SMDParsingDeployer(ServiceMetaData smd)
+ {
+ super(ServiceDeployment.class);
+ this.smd = smd;
+ }
+
+ protected ServiceDeployment getServiceDeployment() throws Exception
+ {
+ ServiceDeployment serviceDeployment = new ServiceDeployment();
+ serviceDeployment.setServices(Collections.singletonList(smd));
+ return serviceDeployment;
+ }
+
+ @Override
+ protected ServiceDeployment parse(DeploymentUnit arg0, Set<String> arg1, ServiceDeployment arg2) throws Exception
+ {
+ return getServiceDeployment();
+ }
+
+ @Override
+ protected ServiceDeployment parse(DeploymentUnit arg0, Set<String> arg1, String arg2, ServiceDeployment arg3) throws Exception
+ {
+ return getServiceDeployment();
+ }
+
+ protected ServiceDeployment parse(DeploymentUnit deploymentUnit, String s, ServiceDeployment deployment) throws Exception
+ {
+ return getServiceDeployment();
+ }
+
+ protected ServiceDeployment parse(DeploymentUnit deploymentUnit, String s, String s1, ServiceDeployment deployment) throws Exception
+ {
+ return getServiceDeployment();
+ }
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/AbstractServiceTest.java (from rev 98000, projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/AbstractServiceTest.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/AbstractServiceTest.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/AbstractServiceTest.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,225 @@
+/*
+ * 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.system.deployers.test;
+
+import java.lang.reflect.Method;
+
+import javax.management.MBeanServer;
+import javax.management.MBeanServerFactory;
+import javax.management.ObjectName;
+
+import org.jboss.dependency.spi.Controller;
+import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.plugins.deployers.DeployersImpl;
+import org.jboss.deployers.plugins.main.MainDeployerImpl;
+import org.jboss.deployers.spi.deployer.Deployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.structure.spi.StructuralDeployers;
+import org.jboss.deployers.structure.spi.DeploymentRegistry;
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
+import org.jboss.mx.server.ServerConstants;
+import org.jboss.mx.util.MBeanServerLocator;
+import org.jboss.system.ServiceController;
+import org.jboss.system.deployers.ServiceDeployer;
+import org.jboss.system.deployers.ServiceDeploymentDeployer;
+import org.jboss.system.metadata.ServiceMetaData;
+import org.jboss.test.AbstractSystemTest;
+import org.jboss.test.AbstractTestDelegate;
+import org.jboss.test.system.deployers.support.CLDeployer;
+import org.jboss.test.system.deployers.support.JmxCL;
+import org.jboss.test.system.deployers.support.SMDParsingDeployer;
+
+/**
+ * Abstract service/jmx test.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public abstract class AbstractServiceTest extends AbstractSystemTest
+{
+ protected Controller controller;
+ protected ServiceController serviceController;
+ protected MainDeployerImpl main;
+
+ protected AbstractServiceTest(String name)
+ {
+ super(name);
+ }
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ MBeanServer mbeanServer = createMBeanServer();
+ try
+ {
+ BasicBootstrap bootstrap = new BasicBootstrap();
+ bootstrap.run();
+ Kernel kernel = bootstrap.getKernel();
+ controller = kernel.getController();
+
+ serviceController = new ServiceController();
+ ObjectName objectName = new ObjectName("jboss.system:service=ServiceController");
+ serviceController.setKernel(kernel);
+ serviceController.setMBeanServer(mbeanServer);
+ mbeanServer.registerMBean(serviceController, objectName);
+
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ ObjectName clON = new ObjectName("jboss:service=defaultClassLoader");
+ mbeanServer.registerMBean(new JmxCL(loader), clON);
+
+ MainDeployerImpl mainDeployer = new MainDeployerImpl();
+ DeployersImpl deployersImpl = new DeployersImpl(controller);
+ mainDeployer.setDeployers(deployersImpl);
+
+ // default deployers
+ ServiceDeployer serviceDeployer = new ServiceDeployer(serviceController);
+ serviceDeployer.setDeploymentRegistry(getRegistry());
+ deployersImpl.addDeployer(serviceDeployer);
+ deployersImpl.addDeployer(new ServiceDeploymentDeployer());
+ deployersImpl.addDeployer(new CLDeployer());
+
+ main = mainDeployer;
+ }
+ catch (Exception e)
+ {
+ cleanup(mbeanServer);
+
+ super.tearDown();
+
+ throw e;
+ }
+ }
+
+ protected DeploymentRegistry getRegistry()
+ {
+ return null;
+ }
+
+ private void cleanup(MBeanServer mbeanServer)
+ {
+ try
+ {
+ ObjectName objectName = new ObjectName("jboss.system:service=ServiceController");
+ mbeanServer.unregisterMBean(objectName);
+
+ ObjectName clON = new ObjectName("jboss:service=defaultClassLoader");
+ mbeanServer.unregisterMBean(clON);
+ }
+ catch (Exception ignored)
+ {
+ }
+ finally
+ {
+ controller = null;
+ serviceController = null;
+ main = null;
+
+ MBeanServerLocator.setJBoss(null);
+ if (MBeanServerFactory.findMBeanServer("JBoss").isEmpty() == false)
+ MBeanServerFactory.releaseMBeanServer(mbeanServer);
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ try
+ {
+ MBeanServer mbeanServer = MBeanServerLocator.locateJBoss();
+
+ cleanup(mbeanServer);
+ }
+ finally
+ {
+ super.tearDown();
+ }
+ }
+
+ protected void setStructureDeployer(StructuralDeployers deployers)
+ {
+ main.setStructuralDeployers(deployers);
+ }
+
+ protected void addDeployers(Deployer... deployers)
+ {
+ if (deployers != null)
+ {
+ DeployersImpl dc = (DeployersImpl)main.getDeployers();
+ for (Deployer deployer : deployers)
+ dc.addDeployer(deployer);
+ }
+ }
+
+ protected DeploymentUnit deploy(Deployment deployment) throws Exception
+ {
+ main.addDeployment(deployment);
+ main.process();
+ main.checkComplete();
+ return main.getDeploymentUnit(deployment.getName());
+ }
+
+ protected void undeploy(Deployment deployment) throws Exception
+ {
+ main.removeDeployment(deployment);
+ main.process();
+ main.checkComplete();
+ }
+
+ protected void addServiceMetaData(ServiceMetaData smd)
+ {
+ SMDParsingDeployer deployer = new SMDParsingDeployer(smd);
+ addDeployers(deployer);
+ }
+
+ private MBeanServer createMBeanServer() throws Exception
+ {
+ MBeanServer server;
+
+ String builder = System.getProperty(ServerConstants.MBEAN_SERVER_BUILDER_CLASS_PROPERTY, ServerConstants.DEFAULT_MBEAN_SERVER_BUILDER_CLASS);
+ System.setProperty(ServerConstants.MBEAN_SERVER_BUILDER_CLASS_PROPERTY, builder);
+
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ Class<?> clazz = cl.loadClass("java.lang.management.ManagementFactory");
+ Method method = clazz.getMethod("getPlatformMBeanServer");
+ Object[] args = null;
+ server = (MBeanServer)method.invoke(null, args);
+ // Tell the MBeanServerLocator to point to this mbeanServer
+ MBeanServerLocator.setJBoss(server);
+ return server;
+ }
+
+ /**
+ * Default setup with security manager enabled
+ *
+ * @param clazz the class
+ * @return the delegate
+ * @throws Exception for any error
+ */
+ public static AbstractTestDelegate getDelegate(Class<?> clazz) throws Exception
+ {
+ AbstractTestDelegate delegate = new AbstractTestDelegate(clazz);
+ delegate.enableSecurity = false; // security
+ return delegate;
+ }
+}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/DeployersTestSuite.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/DeployersTestSuite.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/DeployersTestSuite.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -42,6 +42,7 @@
TestSuite suite = new TestSuite("Deployers Tests");
suite.addTest(ServiceUnitNameTestCase.suite());
+ suite.addTest(ServiceDeploymentRegistryTestCase.suite());
return suite;
}
Copied: projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceDeploymentRegistryTestCase.java (from rev 98000, projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceDeploymentRegistryTestCase.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceDeploymentRegistryTestCase.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceDeploymentRegistryTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,104 @@
+/*
+ * 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.system.deployers.test;
+
+import java.util.Collections;
+
+import javax.management.ObjectName;
+
+import junit.framework.Test;
+
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.deployers.client.plugins.deployment.AbstractDeployment;
+import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.structure.spi.DeploymentContext;
+import org.jboss.deployers.structure.spi.DeploymentRegistry;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.structure.spi.StructuralDeployers;
+import org.jboss.deployers.structure.spi.helpers.AbstractDeploymentContext;
+import org.jboss.deployers.structure.spi.helpers.AbstractDeploymentRegistry;
+import org.jboss.system.metadata.ServiceConstructorMetaData;
+import org.jboss.system.metadata.ServiceMetaData;
+import org.jboss.test.system.deployers.support.Tester;
+
+/**
+ * Test component name usage.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class ServiceDeploymentRegistryTestCase extends AbstractServiceTest
+{
+ private DeploymentRegistry registry = new AbstractDeploymentRegistry();
+
+ public ServiceDeploymentRegistryTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return suite(ServiceDeploymentRegistryTestCase.class);
+ }
+
+ @Override
+ protected DeploymentRegistry getRegistry()
+ {
+ return registry;
+ }
+
+ public void testDeploymentRegistry() throws Exception
+ {
+ ServiceMetaData metaData = new ServiceMetaData();
+ ObjectName objectName = new ObjectName("jboss.system:service=Tester");
+ metaData.setObjectName(objectName);
+ metaData.setCode(Tester.class.getName());
+ metaData.setConstructor(new ServiceConstructorMetaData());
+ addServiceMetaData(metaData);
+
+ setStructureDeployer(new StructuralDeployers()
+ {
+ public DeploymentContext determineStructure(Deployment deployment) throws DeploymentException
+ {
+ return new AbstractDeploymentContext("SMD", "");
+ }
+ });
+
+ ControllerContext context = null;
+ Deployment deployment = new AbstractDeployment("SMD");
+ DeploymentUnit unit = deploy(deployment);
+ try
+ {
+ context = controller.getInstalledContext(objectName.getCanonicalName());
+ assertNotNull(context);
+ assertSame(unit, registry.getDeployment(context));
+ assertEquals(Collections.singleton(context), registry.getContexts(unit));
+ }
+ finally
+ {
+ undeploy(deployment);
+
+ assertNull(registry.getDeployment(context));
+ assertEmpty(registry.getContexts(unit));
+ }
+ }
+}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceUnitNameTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceUnitNameTestCase.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceUnitNameTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -21,42 +21,22 @@
*/
package org.jboss.test.system.deployers.test;
-import java.lang.reflect.Method;
import java.util.Collections;
-import java.util.Set;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
import javax.management.ObjectName;
import junit.framework.Test;
-import org.jboss.dependency.plugins.AbstractController;
import org.jboss.deployers.client.plugins.deployment.AbstractDeployment;
import org.jboss.deployers.client.spi.Deployment;
import org.jboss.deployers.client.spi.IncompleteDeploymentException;
-import org.jboss.deployers.plugins.deployers.DeployersImpl;
-import org.jboss.deployers.plugins.main.MainDeployerImpl;
import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput;
import org.jboss.deployers.structure.spi.DeploymentContext;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.deployers.structure.spi.StructuralDeployers;
import org.jboss.deployers.structure.spi.helpers.AbstractDeploymentContext;
-import org.jboss.kernel.Kernel;
-import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
-import org.jboss.mx.server.ServerConstants;
-import org.jboss.mx.util.MBeanServerLocator;
-import org.jboss.system.ServiceController;
-import org.jboss.system.deployers.ServiceDeployer;
-import org.jboss.system.deployers.ServiceDeploymentDeployer;
import org.jboss.system.metadata.ServiceConstructorMetaData;
import org.jboss.system.metadata.ServiceDependencyMetaData;
-import org.jboss.system.metadata.ServiceDeployment;
import org.jboss.system.metadata.ServiceMetaData;
-import org.jboss.test.AbstractSystemTest;
-import org.jboss.test.system.deployers.support.CLDeployer;
-import org.jboss.test.system.deployers.support.JmxCL;
import org.jboss.test.system.deployers.support.Tester;
/**
@@ -64,7 +44,7 @@
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
-public class ServiceUnitNameTestCase extends AbstractSystemTest
+public class ServiceUnitNameTestCase extends AbstractServiceTest
{
public ServiceUnitNameTestCase(String name)
{
@@ -78,129 +58,36 @@
public void testServiceDeployerComponentName() throws Exception
{
- SecurityManager sm = suspendSecurity();
- try
+ ServiceMetaData metaData = new ServiceMetaData();
+ metaData.setObjectName(new ObjectName("jboss.system:service=Tester"));
+ metaData.setCode(Tester.class.getName());
+ metaData.setConstructor(new ServiceConstructorMetaData());
+ ServiceDependencyMetaData o = new ServiceDependencyMetaData();
+ o.setIDependOn("somenonexistant");
+ metaData.setDependencies(Collections.singletonList(o));
+ addServiceMetaData(metaData);
+
+ setStructureDeployer(new StructuralDeployers()
{
- MBeanServer mbeanServer = createMBeanServer("jboss");
- try
+ public DeploymentContext determineStructure(Deployment deployment) throws DeploymentException
{
- ServiceController serviceController = new ServiceController();
- ObjectName objectName = new ObjectName("jboss.system:service=ServiceController");
- mbeanServer.registerMBean(serviceController, objectName);
- try
- {
- ClassLoader loader = Thread.currentThread().getContextClassLoader();
- mbeanServer.registerMBean(new JmxCL(loader), new ObjectName("jboss:service=defaultClassLoader"));
-
- BasicBootstrap bootstrap = new BasicBootstrap();
- bootstrap.run();
- Kernel kernel = bootstrap.getKernel();
- AbstractController controller = (AbstractController)kernel.getController();
-
- serviceController.setMBeanServer(mbeanServer);
- serviceController.setKernel(kernel);
-
- MainDeployerImpl mainDeployer = new MainDeployerImpl();
- mainDeployer.setStructuralDeployers(new StructuralDeployers()
- {
- public DeploymentContext determineStructure(Deployment deployment) throws DeploymentException
- {
- return new AbstractDeploymentContext("SMD", "");
- }
- });
- DeployersImpl deployersImpl = new DeployersImpl(controller);
- deployersImpl.addDeployer(new ServiceDeployer(serviceController));
- deployersImpl.addDeployer(new ServiceDeploymentDeployer());
- deployersImpl.addDeployer(new CLDeployer());
- deployersImpl.addDeployer(new SMDParsingDeployer());
- mainDeployer.setDeployers(deployersImpl);
-
- Deployment deployment = new AbstractDeployment("SMD");
- mainDeployer.addDeployment(deployment);
- mainDeployer.process();
-
- mainDeployer.checkComplete(deployment);
- fail("Should not be here");
- }
- catch (Exception e)
- {
- assertInstanceOf(e, IncompleteDeploymentException.class);
- }
- finally
- {
- mbeanServer.unregisterMBean(objectName);
- }
+ return new AbstractDeploymentContext("SMD", "");
}
- finally
- {
- MBeanServerFactory.releaseMBeanServer(mbeanServer);
- }
- }
- finally
- {
- resumeSecurity(sm);
- }
- }
+ });
- private class SMDParsingDeployer extends AbstractParsingDeployerWithOutput<ServiceDeployment>
- {
- public SMDParsingDeployer()
+ Deployment deployment = new AbstractDeployment("SMD");
+ try
{
- super(ServiceDeployment.class);
+ deploy(deployment);
+ fail("Should not be here");
}
-
- protected ServiceDeployment getServiceDeployment() throws Exception
+ catch (Exception e)
{
- ServiceMetaData metaData = new ServiceMetaData();
- metaData.setObjectName(new ObjectName("jboss.system:service=Tester"));
- metaData.setCode(Tester.class.getName());
- metaData.setConstructor(new ServiceConstructorMetaData());
- ServiceDependencyMetaData o = new ServiceDependencyMetaData();
- o.setIDependOn("somenonexistant");
- metaData.setDependencies(Collections.singletonList(o));
-
- ServiceDeployment serviceDeployment = new ServiceDeployment();
- serviceDeployment.setServices(Collections.singletonList(metaData));
- return serviceDeployment;
+ assertInstanceOf(e, IncompleteDeploymentException.class);
}
-
- @Override
- protected ServiceDeployment parse(DeploymentUnit arg0, Set<String> arg1, ServiceDeployment arg2) throws Exception
+ finally
{
- return getServiceDeployment();
+ undeploy(deployment);
}
-
- @Override
- protected ServiceDeployment parse(DeploymentUnit arg0, Set<String> arg1, String arg2, ServiceDeployment arg3) throws Exception
- {
- return getServiceDeployment();
- }
-
- protected ServiceDeployment parse(DeploymentUnit deploymentUnit, String s, ServiceDeployment deployment) throws Exception
- {
- return getServiceDeployment();
- }
-
- protected ServiceDeployment parse(DeploymentUnit deploymentUnit, String s, String s1, ServiceDeployment deployment) throws Exception
- {
- return getServiceDeployment();
- }
}
-
- private MBeanServer createMBeanServer(String domain) throws Exception
- {
- MBeanServer server;
-
- String builder = System.getProperty(ServerConstants.MBEAN_SERVER_BUILDER_CLASS_PROPERTY, ServerConstants.DEFAULT_MBEAN_SERVER_BUILDER_CLASS);
- System.setProperty(ServerConstants.MBEAN_SERVER_BUILDER_CLASS_PROPERTY, builder);
-
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
- Class<?> clazz = cl.loadClass("java.lang.management.ManagementFactory");
- Method method = clazz.getMethod("getPlatformMBeanServer");
- Object[] args = null;
- server = (MBeanServer)method.invoke(null, args);
- // Tell the MBeanServerLocator to point to this mbeanServer
- MBeanServerLocator.setJBoss(server);
- return server;
- }
}
Modified: projects/jboss-deployers/branches/vfs3/deployers-spi/pom.xml
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-spi/pom.xml 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-spi/pom.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -17,5 +17,39 @@
<groupId>org.jboss.deployers</groupId>
<artifactId>jboss-deployers-structure-spi</artifactId>
</dependency>
- </dependencies>
+ <dependency>
+ <groupId>org.jboss.mcann</groupId>
+ <artifactId>mcann-core</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss.vfs</groupId>
+ <artifactId>jboss-vfs</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-reflect</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.man</groupId>
+ <artifactId>jboss-managed</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.man</groupId>
+ <artifactId>jboss-metatype</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.kernel</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.cl</groupId>
+ <artifactId>jboss-classloading</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ </dependencies>
</project>
\ No newline at end of file
Deleted: projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/annotations/AnnotationEnvironment.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/annotations/AnnotationEnvironment.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/annotations/AnnotationEnvironment.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,160 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.spi.annotations;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.AnnotatedElement;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.Set;
-
-/**
- * Information holder about annotation processing.
- *
- * Implementations should delay the actual class loading
- * until it's absolutely necessary.
- *
- * All methods that have annotation name as parameter
- * will use unit's classloader to load the actual annotation class.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public interface AnnotationEnvironment
-{
- /**
- * Does this annotation environment contain a class
- * which is annotated with annotation parameter.
- * This only applies to annotations for ElementType.TYPE level.
- *
- * This method should be used if we have no intention
- * to do real lookup of annotated classes, but we're
- * only interested in existance of the annotation.
- * e.g. deployment unit contains @Stateful EJBs
- *
- * @param annotation the annotation we're querying for
- * @return true if there exists a class with annotation param
- * @see #hasClassAnnotatedWith(Class annotation)
- */
- boolean hasClassAnnotatedWith(Class<? extends Annotation> annotation);
-
- /**
- * Does this annotation environment contain a class
- * which is annotated with annotation parameter.
- * This only applies to annotations for ElementType.TYPE level.
- *
- * This method should be used if we have no intention
- * to do real lookup of annotated classes, but we're
- * only interested in existance of the annotation.
- * e.g. deployment unit contains @Stateful EJBs
- *
- * @param annotationName the annotation name we're querying for
- * @return true if there exists a class with annotation param
- * @see #hasClassAnnotatedWith(Class annotation)
- */
- boolean hasClassAnnotatedWith(String annotationName);
-
- /**
- * Get all classes annotated with annotation param.
- *
- * @param <A> the annotation type
- * @param annotation the annotation we're querying for
- * @return set of matching classes
- */
- <A extends Annotation> Set<Element<A, Class<?>>> classIsAnnotatedWith(Class<A> annotation);
-
- /**
- * Get all classes annotated with annotation param.
- *
- * @param annotationName the annotation name we're querying for
- * @return set of matching classes
- */
- Set<Element<Annotation, Class<?>>> classIsAnnotatedWith(String annotationName);
-
- /**
- * Get all classes who have some constructor annotated with annotation param.
- *
- * @param <A> the annotation type
- * @param annotation the annotation we're querying for
- * @return set of matching classes
- */
- <A extends Annotation> Set<Element<A, Constructor<?>>> classHasConstructorAnnotatedWith(Class<A> annotation);
-
- /**
- * Get all classes who have some constructor annotated with annotation param.
- *
- * @param annotationName the annotation name we're querying for
- * @return set of matching classes
- */
- Set<Element<Annotation, Constructor<?>>> classHasConstructorAnnotatedWith(String annotationName);
-
- /**
- * Get all classes who have some field annotated with annotation param.
- *
- * @param <A> the annotation type
- * @param annotation the annotation we're querying for
- * @return set of matching classes
- */
- <A extends Annotation> Set<Element<A, Field>> classHasFieldAnnotatedWith(Class<A> annotation);
-
- /**
- * Get all classes who have some field annotated with annotation param.
- *
- * @param annotationName the annotation name we're querying for
- * @return set of matching classes
- */
- Set<Element<Annotation, Field>> classHasFieldAnnotatedWith(String annotationName);
-
- /**
- * Get all classes who have some method annotated with annotation param.
- *
- * @param <A> the annotation type
- * @param annotation the annotation we're querying for
- * @return set of matching classes
- */
- <A extends Annotation> Set<Element<A, Method>> classHasMethodAnnotatedWith(Class<A> annotation);
-
- /**
- * Get all classes who have some method annotated with annotation param.
- *
- * @param annotationName the annotation name we're querying for
- * @return set of matching classes
- */
- Set<Element<Annotation, Method>> classHasMethodAnnotatedWith(String annotationName);
-
- /**
- * Get all classes who have some method's/constructor's parameter annotated with annotation param.
- *
- * @param <A> the annotation type
- * @param annotation the annotation we're querying for
- * @return set of matching classes
- */
- <A extends Annotation> Set<Element<A, AnnotatedElement>> classHasParameterAnnotatedWith(Class<A> annotation);
-
- /**
- * Get all classes who have some method's/constructor's parameter annotated with annotation param.
- *
- * @param annotationName the annotation name we're querying for
- * @return set of matching classes
- */
- Set<Element<Annotation, AnnotatedElement>> classHasParameterAnnotatedWith(String annotationName);
-}
Deleted: projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/annotations/Element.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/annotations/Element.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/annotations/Element.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,65 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.spi.annotations;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.AnnotatedElement;
-
-/**
- * Annotation holder element.
- *
- * @param <A> exact annotation type
- * @param <M> exact annotated element type
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public interface Element<A extends Annotation, M extends AnnotatedElement>
-{
- /**
- * Get the owner class name.
- *
- * Until we hit getOwner method the class should not be loaded.
- *
- * @return the owner classname
- */
- String getOwnerClassName();
-
- /**
- * Get the annotation owner class.
- *
- * @return the annotation owner class
- */
- Class<?> getOwner();
-
- /**
- * Get the annotation instance.
- *
- * @return the annotation instance
- */
- A getAnnotation();
-
- /**
- * Get the annotated element that holds the annotation.
- *
- * @return the annotated element instance
- */
- M getAnnotatedElement();
-}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/Deployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/Deployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/Deployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -64,14 +64,20 @@
boolean isWantComponents();
/**
- * Whether we want all inputs
+ * Whether we want all inputs.
*
* @return true for all inputs
*/
boolean isAllInputs();
/**
- * Get the input for this deployer
+ * Get the input for this deployer.
+ *
+ * Most deployers operate on a single attachment,
+ * if you need multiple inputs use required inputs.
+ *
+ * By default we require this input,
+ * if you wanna make this optional set all-inputs to true.
*
* @return the input type
*/
@@ -85,13 +91,32 @@
Class<?> getOutput();
/**
- * Get the input for this deployer
+ * Get the input for this deployer.
+ *
+ * This is set is mostly meant to help with
+ * natural order based on inputs/outputs.
+ *
+ * If you want to veto your deployer based on inputs,
+ * you should use required inputs.
+ *
+ * Every required input is of course also a plain input.
*
* @return the inputs
*/
Set<String> getInputs();
/**
+ * Get the required input for this deployer.
+ *
+ * This represents a set of required inputs,
+ * if one of them is missing, we veto deployer as not relevant
+ * for that deployment, hence it doesn't participate in deployment lifecycle.
+ *
+ * @return the required inputs
+ */
+ Set<String> getRequiredInputs();
+
+ /**
* Get the outputs for this deployer
*
* @return the outputs
Modified: projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/Deployers.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/Deployers.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/Deployers.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -49,6 +49,8 @@
/**
* Process deployment
+ *
+ * Note: the undeploy list must be undeployed in reverse order.
*
* @param deploy the deployments to deploy
* @param undeploy the deployments to remove
Modified: projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractAllInputDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractAllInputDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractAllInputDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -113,14 +113,12 @@
*/
public void addOptionalInput(String input)
{
- if (input == null)
- throw new IllegalArgumentException("Null input");
+ addInput(input); // this already checks for null
if (optionalInputs == null)
optionalInputs = CollectionsFactory.createLazySet();
optionalInputs.add(input);
- addInput(input);
}
/**
Modified: projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractAnnotationDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractAnnotationDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractAnnotationDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -25,23 +25,23 @@
import java.util.Set;
import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.annotations.AnnotationEnvironment;
-import org.jboss.deployers.spi.annotations.Element;
import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.mcann.AnnotationRepository;
+import org.jboss.mcann.Element;
/**
* AbstractComponentDeployer.
*
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
*/
-public class AbstractAnnotationDeployer extends AbstractSimpleRealDeployer<AnnotationEnvironment>
+public class AbstractAnnotationDeployer extends AbstractSimpleRealDeployer<AnnotationRepository>
{
/** The annotation processors */
private AnnotationProcessor<?, ?>[] processors;
public AbstractAnnotationDeployer(AnnotationProcessor<?, ?>... processors)
{
- super(AnnotationEnvironment.class);
+ super(AnnotationRepository.class);
if (processors != null && processors.length > 0)
{
this.processors = processors;
@@ -56,7 +56,7 @@
}
@SuppressWarnings("unchecked")
- public void deploy(DeploymentUnit unit, AnnotationEnvironment deployment) throws DeploymentException
+ public void deploy(DeploymentUnit unit, AnnotationRepository deployment) throws DeploymentException
{
for (AnnotationProcessor processor : processors)
{
Modified: projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -68,6 +68,9 @@
/** The input name */
private Set<String> inputs;
+ /** The required input name */
+ private Set<String> requiredInputs;
+
/** The output name */
private Set<String> outputs;
@@ -212,7 +215,32 @@
this.inputs = inputs;
}
+ public Set<String> getRequiredInputs()
+ {
+ return requiredInputs;
+ }
+
/**
+ * Set the required inputs.
+ *
+ * @param requiredInputs the required inputs .
+ */
+ public void setRequiredInputs(Set<String> requiredInputs)
+ {
+ if (requiredInputs != null)
+ {
+ for (String requiredInput : requiredInputs)
+ {
+ addRequiredInput(requiredInput);
+ }
+ }
+ else
+ {
+ this.requiredInputs = null;
+ }
+ }
+
+ /**
* Set the inputs.
*
* @param inputs the inputs.
@@ -287,6 +315,34 @@
addInput(input.getName());
}
+ /**
+ * Add a required input
+ *
+ * @param requiredInput the required input
+ */
+ public void addRequiredInput(String requiredInput)
+ {
+ addInput(requiredInput);
+
+ if (requiredInputs == null)
+ requiredInputs = new HashSet<String>();
+
+ requiredInputs.add(requiredInput);
+ }
+
+ /**
+ * Add a required input input
+ *
+ * @param requiredInput the required input
+ */
+ public void addRequiredInput(Class<?> requiredInput)
+ {
+ if (requiredInput == null)
+ throw new IllegalArgumentException("Null required input");
+
+ addRequiredInput(requiredInput.getName());
+ }
+
public Set<String> getOutputs()
{
return outputs;
Modified: projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractParsingDeployerWithOutput.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractParsingDeployerWithOutput.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractParsingDeployerWithOutput.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -26,6 +26,7 @@
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.deployer.matchers.JarExtensionProvider;
+import org.jboss.deployers.spi.deployer.matchers.NameIgnoreMechanism;
import org.jboss.deployers.structure.spi.DeploymentUnit;
/**
@@ -37,8 +38,7 @@
* @author Scott.Stark at jboss.org
* @version $Revision: 1.1 $
*/
-public abstract class AbstractParsingDeployerWithOutput<T> extends AbstractParsingDeployer
- implements JarExtensionProvider
+public abstract class AbstractParsingDeployerWithOutput<T> extends AbstractParsingDeployer implements JarExtensionProvider
{
/** The metadata file names */
private Set<String> names;
@@ -371,6 +371,19 @@
}
/**
+ * Ignore name.
+ *
+ * @param unit the unit
+ * @param name the name
+ * @return true if we should ignore the name, false otherwise
+ */
+ protected boolean ignoreName(DeploymentUnit unit, String name)
+ {
+ NameIgnoreMechanism mechanism = unit.getAttachment(NameIgnoreMechanism.class);
+ return mechanism != null && mechanism.ignore(unit, name);
+ }
+
+ /**
* Parse an exact file name
*
* @param unit the unit
Modified: projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractRealDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractRealDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/AbstractRealDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -21,8 +21,10 @@
*/
package org.jboss.deployers.spi.deployer.helpers;
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.deployer.DeploymentStages;
-import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.structure.spi.DeploymentRegistry;
import org.jboss.deployers.structure.spi.DeploymentUnit;
/**
@@ -37,6 +39,9 @@
/** Use unit name for controller context name */
private boolean useUnitName;
+ /** The controller context to deployment unit mapping */
+ private DeploymentRegistry registry;
+
/**
* Create a new AbstractRealDeployer.
*/
@@ -123,6 +128,30 @@
}
/**
+ * Put context to deployment mapping.
+ *
+ * @param context the context
+ * @param unit the deployment
+ * @return previous mapping value
+ */
+ protected DeploymentUnit putContext(ControllerContext context, DeploymentUnit unit)
+ {
+ return (registry != null) ? registry.putContext(context, unit) : null;
+ }
+
+ /**
+ * Remove context to deployment mapping.
+ *
+ * @param context the context
+ * @param unit the deployment
+ * @return is previous mapping value same as unit param
+ */
+ protected DeploymentUnit removeContext(ControllerContext context, DeploymentUnit unit)
+ {
+ return (registry != null) ? registry.removeContext(context, unit) : null;
+ }
+
+ /**
* Should we use unit name for controller context name.
*
* @return true if usage is allowed
@@ -141,4 +170,14 @@
{
this.useUnitName = useUnitName;
}
+
+ /**
+ * Set the context to deployment mapping.
+ *
+ * @param registry the registry
+ */
+ public void setDeploymentRegistry(DeploymentRegistry registry)
+ {
+ this.registry = registry;
+ }
}
Copied: projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/CollectionNameIgnoreMechanism.java (from rev 98000, projects/jboss-deployers/trunk/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/CollectionNameIgnoreMechanism.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/CollectionNameIgnoreMechanism.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/CollectionNameIgnoreMechanism.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,47 @@
+/*
+ * 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.deployers.spi.deployer.helpers;
+
+import java.util.Collection;
+
+import org.jboss.deployers.spi.deployer.matchers.NameIgnoreMechanism;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * Ignore a collection of names.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class CollectionNameIgnoreMechanism implements NameIgnoreMechanism
+{
+ private Collection<String> ignored;
+
+ public CollectionNameIgnoreMechanism(Collection<String> ignored)
+ {
+ this.ignored = ignored;
+ }
+
+ public boolean ignore(DeploymentUnit unit, String name)
+ {
+ return ignored != null && ignored.contains(name);
+ }
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/PatternNameIgnoreMechanism.java (from rev 98000, projects/jboss-deployers/trunk/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/PatternNameIgnoreMechanism.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/PatternNameIgnoreMechanism.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/helpers/PatternNameIgnoreMechanism.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,64 @@
+/*
+ * 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.deployers.spi.deployer.helpers;
+
+import java.util.regex.Pattern;
+import java.util.regex.Matcher;
+
+import org.jboss.deployers.spi.deployer.matchers.NameIgnoreMechanism;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * Ignore a pattern.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class PatternNameIgnoreMechanism implements NameIgnoreMechanism
+{
+ private Pattern ignored;
+ private boolean match;
+
+ public PatternNameIgnoreMechanism(String regexp)
+ {
+ if (regexp == null)
+ throw new IllegalArgumentException("Null regexp");
+
+ ignored = Pattern.compile(regexp);
+ }
+
+ public boolean ignore(DeploymentUnit unit, String name)
+ {
+ Matcher matcher = ignored.matcher(name);
+ return (match) ? matcher.matches() : matcher.find();
+ }
+
+ /**
+ * Do we use match.
+ * by default find is used.
+ *
+ * @param match the match flag
+ */
+ public void setMatch(boolean match)
+ {
+ this.match = match;
+ }
+}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/managed/ManagedDeploymentCreator.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/managed/ManagedDeploymentCreator.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/managed/ManagedDeploymentCreator.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -47,6 +47,5 @@
* @param parent - the parent
* @return the managed deployment
*/
- public ManagedDeployment build(DeploymentUnit unit, Map<String, ManagedObject> unitMOs,
- ManagedDeployment parent);
+ public ManagedDeployment build(DeploymentUnit unit, Map<String, ManagedObject> unitMOs, ManagedDeployment parent);
}
Copied: projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/matchers/NameIgnoreMechanism.java (from rev 98000, projects/jboss-deployers/trunk/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/matchers/NameIgnoreMechanism.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/matchers/NameIgnoreMechanism.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-spi/src/main/java/org/jboss/deployers/spi/deployer/matchers/NameIgnoreMechanism.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,41 @@
+/*
+ * 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.deployers.spi.deployer.matchers;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * Name ignore mechanism.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public interface NameIgnoreMechanism
+{
+ /**
+ * Do we ignore this file name.
+ *
+ * @param unit the deployment unit
+ * @param name the name to check
+ * @return true if we should ignore this name, false otherwise
+ */
+ boolean ignore(DeploymentUnit unit, String name);
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/DeploymentRegistry.java (from rev 98000, projects/jboss-deployers/trunk/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/DeploymentRegistry.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/DeploymentRegistry.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/DeploymentRegistry.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -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.deployers.structure.spi;
+
+import java.util.Set;
+
+import org.jboss.dependency.spi.ControllerContext;
+
+/**
+ * This registry keeps a track of deployment's context.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public interface DeploymentRegistry
+{
+ /**
+ * Put context to deployment mapping.
+ *
+ * @param context the context
+ * @param unit the deployment
+ * @return previous mapping value
+ */
+ DeploymentUnit putContext(ControllerContext context, DeploymentUnit unit);
+
+ /**
+ * Remove context to deployment mapping.
+ *
+ * @param context the context
+ * @param unit the deployment
+ * @return previous mapping value
+ */
+ DeploymentUnit removeContext(ControllerContext context, DeploymentUnit unit);
+
+ /**
+ * Get owner deployment for context.
+ *
+ * @param context the context
+ * @return owning deployment unit
+ */
+ DeploymentUnit getDeployment(ControllerContext context);
+
+ /**
+ * Get contexts owned by deployment unit.
+ *
+ * @param unit the deployment unit
+ * @return set of contexts
+ */
+ Set<ControllerContext> getContexts(DeploymentUnit unit);
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractDeploymentRegistry.java (from rev 98000, projects/jboss-deployers/trunk/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractDeploymentRegistry.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractDeploymentRegistry.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-structure-spi/src/main/java/org/jboss/deployers/structure/spi/helpers/AbstractDeploymentRegistry.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,125 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.deployers.structure.spi.helpers;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
+
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.deployers.structure.spi.DeploymentRegistry;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * Simple deployment registry
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public class AbstractDeploymentRegistry implements DeploymentRegistry
+{
+ /** The read/write lock */
+ private final ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
+
+ /** The context 2 deployment mapping */
+ private final Map<ControllerContext, DeploymentUnit> contextMapping = new ConcurrentHashMap<ControllerContext, DeploymentUnit>();
+
+ /** The deployment 2 context mapping */
+ private final Map<DeploymentUnit, Set<ControllerContext>> deploymentMapping = new HashMap<DeploymentUnit, Set<ControllerContext>>();
+
+ private void check(ControllerContext context, DeploymentUnit unit)
+ {
+ if (context == null || unit == null)
+ throw new IllegalArgumentException("Null context or unit: context=" + context + ", unit=" + unit);
+ }
+
+ public DeploymentUnit putContext(ControllerContext context, DeploymentUnit unit)
+ {
+ check(context, unit);
+ lock.writeLock().lock();
+ try
+ {
+ Set<ControllerContext> contexts = deploymentMapping.get(unit);
+ if (contexts == null)
+ {
+ contexts = new HashSet<ControllerContext>();
+ deploymentMapping.put(unit, contexts);
+ }
+ contexts.add(context);
+ }
+ finally
+ {
+ lock.writeLock().unlock();
+ }
+ return contextMapping.put(context, unit);
+ }
+
+ public DeploymentUnit removeContext(ControllerContext context, DeploymentUnit unit)
+ {
+ check(context, unit);
+ lock.writeLock().lock();
+ try
+ {
+ Set<ControllerContext> contexts = deploymentMapping.get(unit);
+ if (contexts != null)
+ {
+ contexts.remove(context);
+
+ if (contexts.isEmpty())
+ deploymentMapping.remove(unit);
+ }
+ }
+ finally
+ {
+ lock.writeLock().unlock();
+ }
+ return contextMapping.remove(context);
+ }
+
+ public DeploymentUnit getDeployment(ControllerContext context)
+ {
+ if (context == null)
+ throw new IllegalArgumentException("Null context");
+
+ return contextMapping.get(context);
+ }
+
+ public Set<ControllerContext> getContexts(DeploymentUnit unit)
+ {
+ if (unit == null)
+ throw new IllegalArgumentException("Null deployment unit");
+
+ lock.readLock().lock();
+ try
+ {
+ Set<ControllerContext> contexts = deploymentMapping.get(unit);
+ return (contexts != null) ? new HashSet<ControllerContext>(contexts) : Collections.<ControllerContext>emptySet();
+ }
+ finally
+ {
+ lock.readLock().unlock();
+ }
+ }
+}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/pom.xml
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/pom.xml 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/pom.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -46,6 +46,40 @@
<artifactId>jboss-kernel</artifactId>
</dependency>
<dependency>
+ <groupId>org.jboss.mcann</groupId>
+ <artifactId>mcann-core</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss.vfs</groupId>
+ <artifactId>jboss-vfs</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-reflect</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.man</groupId>
+ <artifactId>jboss-managed</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.man</groupId>
+ <artifactId>jboss-metatype</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.kernel</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.cl</groupId>
+ <artifactId>jboss-classloading</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
<groupId>org.jboss.cl</groupId>
<artifactId>jboss-classloading-vfs</artifactId>
<exclusions>
@@ -112,7 +146,73 @@
<artifactId>jboss-classloading</artifactId>
</exclusion>
</exclusions>
- </dependency>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-reflect</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.man</groupId>
+ <artifactId>jboss-managed</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-reflect</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-mdr</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.man</groupId>
+ <artifactId>jboss-metatype</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-reflect</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-mdr</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.mcann</groupId>
+ <artifactId>mcann-core</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss.vfs</groupId>
+ <artifactId>jboss-vfs</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-reflect</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.man</groupId>
+ <artifactId>jboss-managed</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.man</groupId>
+ <artifactId>jboss-metatype</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.kernel</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.cl</groupId>
+ <artifactId>jboss-classloading</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<!-- Test dependencies -->
<dependency>
<groupId>org.jboss.deployers</groupId>
@@ -189,5 +289,10 @@
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
- </dependencies>
+ <dependency>
+ <groupId>org.jboss.classpool</groupId>
+ <artifactId>jboss-classpool-jbosscl</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
</project>
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/Refcountable.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/Refcountable.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/Refcountable.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,91 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2009, 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.deployers.vfs;
-
-import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
-import java.io.Closeable;
-import java.io.IOException;
-
-public abstract class Refcountable<T> implements Closeable
-{
- private final T resource;
- private volatile int cnt;
-
- private static final AtomicIntegerFieldUpdater<Refcountable> cntUpdater = AtomicIntegerFieldUpdater.newUpdater(Refcountable.class, "cnt");
-
- private static final int CLOSED_VAL = -0x40000000;
-
- protected Refcountable(T resource)
- {
- this.resource = resource;
- }
-
- public interface Handle<T> extends Closeable
- {
- T get();
- }
-
- public final void close() throws IOException
- {
- if (cntUpdater.getAndSet(this, CLOSED_VAL) >= 0) {
- closeAction();
- }
- }
-
- public final Handle<T> getHandle() throws IOException {
- if (cntUpdater.getAndIncrement(this) < 0) {
- cntUpdater.getAndDecrement(this);
- throw new IOException("Resource is already closed");
- } else {
- return new HandleImpl<T>(this);
- }
- }
-
- protected abstract void closeAction() throws IOException;
-
- private static final class HandleImpl<T> implements Handle<T>
- {
- private final Refcountable<T> refcountable;
- private volatile int closed = 0;
-
- private static final AtomicIntegerFieldUpdater<HandleImpl> closedUpdater = AtomicIntegerFieldUpdater.newUpdater(HandleImpl.class, "closed");
-
- private HandleImpl(Refcountable<T> refcountable)
- {
- this.refcountable = refcountable;
- }
-
- public T get()
- {
- return refcountable.resource;
- }
-
- public void close() throws IOException
- {
- if (closedUpdater.compareAndSet(this, 0, 1) && 0 == cntUpdater.decrementAndGet(refcountable) && cntUpdater.compareAndSet(refcountable, 0, CLOSED_VAL)) {
- // we caused the resource to close
- refcountable.closeAction();
- }
- }
- }
-}
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/BeanMetaDataDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/BeanMetaDataDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/BeanMetaDataDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -21,7 +21,13 @@
*/
package org.jboss.deployers.vfs.deployer.kernel;
-import java.util.Collection;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.locks.ReadWriteLock;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
import org.jboss.beans.metadata.plugins.AbstractClassLoaderMetaData;
import org.jboss.beans.metadata.plugins.AbstractValueMetaData;
@@ -30,14 +36,14 @@
import org.jboss.beans.metadata.spi.ValueMetaData;
import org.jboss.dependency.spi.Controller;
import org.jboss.dependency.spi.ScopeInfo;
+import org.jboss.dependency.spi.ControllerContext;
import org.jboss.deployers.spi.DeploymentException;
import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.deployer.helpers.BeanMetaDataDeployerPlugin;
import org.jboss.kernel.Kernel;
import org.jboss.kernel.plugins.dependency.AbstractKernelControllerContext;
import org.jboss.kernel.spi.dependency.KernelControllerContext;
-import org.jboss.metadata.spi.scope.Scope;
-import org.jboss.metadata.spi.scope.ScopeKey;
/**
* BeanMetaDataDeployer.<p>
@@ -46,6 +52,7 @@
* type {@link org.jboss.beans.metadata.spi.BeanMetaData}.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
* @version $Revision: 1.1 $
*/
public class BeanMetaDataDeployer extends AbstractSimpleRealDeployer<BeanMetaData>
@@ -53,6 +60,14 @@
/** The controller */
private Controller controller;
+ /** List of bean metadata plugins */
+ private List<BeanMetaDataDeployerPlugin> plugins = new ArrayList<BeanMetaDataDeployerPlugin>();
+
+ private ReadWriteLock lock = new ReentrantReadWriteLock();
+
+ /** Records which plugin was used to deploy a context */
+ private Map<String, BeanMetaDataDeployerPlugin> deployedWithPlugin = new ConcurrentHashMap<String, BeanMetaDataDeployerPlugin>();
+
/**
* Create a new BeanDeployer.
*
@@ -94,6 +109,49 @@
setUseUnitName(true);
}
+ /**
+ * Incallback for the controller context creators
+ *
+ * @param creator The controller context creator to be added
+ */
+ public void addControllerContextCreator(BeanMetaDataDeployerPlugin creator)
+ {
+ if (creator == null)
+ return;
+
+ lock.writeLock().lock();
+ try
+ {
+ plugins.add(creator);
+ Collections.sort(plugins, KernelControllerContextComparator.getInstance());
+ }
+ finally
+ {
+ lock.writeLock().unlock();
+ }
+ }
+
+ /**
+ * Uncallback for the controller context creators
+ *
+ * @param creator The controller context creator to be removed
+ */
+ public void removeControllerContextCreator(BeanMetaDataDeployerPlugin creator)
+ {
+ if (creator == null)
+ return;
+
+ lock.writeLock().lock();
+ try
+ {
+ plugins.remove(creator);
+ }
+ finally
+ {
+ lock.writeLock().unlock();
+ }
+ }
+
@Override
public void deploy(DeploymentUnit unit, BeanMetaData deployment) throws DeploymentException
{
@@ -112,13 +170,15 @@
log.debug("Unable to retrieve classloader for deployment: " + unit.getName() + " reason=" + e.toString());
}
}
- KernelControllerContext context = new AbstractKernelControllerContext(null, deployment, null);
+ KernelControllerContext context = createControllerContext(unit, deployment);
ScopeInfo scopeInfo = context.getScopeInfo();
scopeInfo.setScope(unit.getScope());
scopeInfo.setMutableScope(unit.getMutableScope());
+
try
{
controller.install(context);
+ putContext(context, unit.getParent()); // we're a component, use parent
}
catch (Throwable t)
{
@@ -127,32 +187,47 @@
}
/**
- * Merge scope keys.
- *
- * @param contextKey the context key
- * @param unitKey the unit key
- * @deprecated no longer in use
+ * Creates a kernel controller context using the controller context creators in controllerContextCreators.
+ * The first controller context creator that returns a context is used. If no matching controller context
+ * creator is found, a plain KernelControllerContext is created.
+ * @param unit The deployment unit
+ * @param deployment The bean metadata being deployed
+ * @return the created KernelControllerContext
*/
- @Deprecated
- protected static void mergeScopes(ScopeKey contextKey, ScopeKey unitKey)
+ protected KernelControllerContext createControllerContext(DeploymentUnit unit, BeanMetaData deployment)
{
- if (contextKey == null)
- return;
- if (unitKey == null)
- return;
-
- Collection<Scope> unitScopes = unitKey.getScopes();
- if (unitScopes == null || unitScopes.isEmpty())
- return;
-
- for (Scope scope : unitScopes)
- contextKey.addScope(scope);
+ if (plugins.size() > 0)
+ {
+ lock.readLock().lock();
+ try
+ {
+ for (BeanMetaDataDeployerPlugin plugin : plugins)
+ {
+ KernelControllerContext context = plugin.createContext(controller, unit, deployment);
+ if (context != null)
+ {
+ deployedWithPlugin.put(deployment.getName(), plugin);
+ return context;
+ }
+ }
+ }
+ finally
+ {
+ lock.readLock().unlock();
+ }
+ }
+ return new AbstractKernelControllerContext(null, deployment, null);
}
@Override
public void undeploy(DeploymentUnit unit, BeanMetaData deployment)
{
- controller.uninstall(deployment.getName());
+ BeanMetaDataDeployerPlugin plugin = deployedWithPlugin.remove(deployment.getName());
+ if (plugin == null || plugin.uninstallContext(controller, unit, deployment) == false)
+ {
+ ControllerContext context = controller.uninstall(deployment.getName());
+ removeContext(context, unit.getParent());
+ }
// Remove any classloader metadata we added (not necessary if we clone above)
ClassLoaderMetaData classLoader = deployment.getClassLoader();
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/KernelControllerContextComparator.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/KernelControllerContextComparator.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/KernelControllerContextComparator.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/deployer/kernel/KernelControllerContextComparator.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,46 @@
+package org.jboss.deployers.vfs.deployer.kernel;
+
+import java.util.Comparator;
+
+import org.jboss.deployers.vfs.spi.deployer.helpers.BeanMetaDataDeployerPlugin;
+
+/**
+ * Singleton comparator to compare KernelControllerContextCreators by their relative order
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class KernelControllerContextComparator implements Comparator<BeanMetaDataDeployerPlugin>
+{
+ /** Singleton instance*/
+ private static final KernelControllerContextComparator INSTANCE = new KernelControllerContextComparator();
+
+ private KernelControllerContextComparator()
+ {
+ }
+
+ /**
+ * Get the singleton
+ * @return the singleton KernelControllerContextComparator
+ */
+ public static KernelControllerContextComparator getInstance()
+ {
+ return INSTANCE;
+ }
+
+ /**
+ * Compares two KernelControllerContextCreators' relative orders
+ * @param o1 The first KernelContextCreator
+ * @param o1 The second KernelContextCreator
+ * @return An integer as per the {@link Comparator#compare(Object, Object)} contract
+ */
+ public int compare(BeanMetaDataDeployerPlugin o1, BeanMetaDataDeployerPlugin o2)
+ {
+ if (o1.getRelativeOrder() < o2.getRelativeOrder())
+ return -1;
+ if (o1.getRelativeOrder() > o2.getRelativeOrder())
+ return 1;
+
+ return 0;
+ }
+}
\ No newline at end of file
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/AnnotationEnvironmentDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/AnnotationEnvironmentDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/AnnotationEnvironmentDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,253 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.vfs.plugins.annotations;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import javassist.ClassPath;
-import javassist.ClassPool;
-import javassist.LoaderClassPath;
-import org.jboss.classloading.spi.dependency.Module;
-import org.jboss.deployers.plugins.annotations.GenericAnnotationResourceVisitor;
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.annotations.AnnotationEnvironment;
-import org.jboss.deployers.spi.annotations.ScanningMetaData;
-import org.jboss.deployers.spi.deployer.DeploymentStages;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.vfs.spi.deployer.AbstractOptionalVFSRealDeployer;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnitFilter;
-import org.jboss.vfs.VirtualFile;
-
-/**
- * A POST_CLASSLOADER deployer which creates AnnotationEnvironment for sub-deployments.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class AnnotationEnvironmentDeployer extends AbstractOptionalVFSRealDeployer<Module>
-{
- private boolean forceAnnotations;
- private boolean keepAnnotations;
- private boolean checkInterfaces;
-
- private VFSDeploymentUnitFilter filter;
-
- public AnnotationEnvironmentDeployer()
- {
- super(Module.class);
- setStage(DeploymentStages.POST_CLASSLOADER);
- addInput(ScanningMetaData.class);
- setOutput(AnnotationEnvironment.class);
- checkInterfaces = true;
- }
-
- /**
- * Should we force all annotations to be available.
- *
- * @param forceAnnotations the force annotations flag
- */
- public void setForceAnnotations(boolean forceAnnotations)
- {
- this.forceAnnotations = forceAnnotations;
- }
-
- /**
- * Set the keep annotations flag.
- *
- * @param keepAnnotations the keep annotations flag
- */
- public void setKeepAnnotations(boolean keepAnnotations)
- {
- this.keepAnnotations = keepAnnotations;
- }
-
- /**
- * Should we check interfaces for annotations as well.
- *
- * @param checkInterfaces the check interfaces flag
- */
- public void setCheckInterfaces(boolean checkInterfaces)
- {
- this.checkInterfaces = checkInterfaces;
- }
-
- /**
- * Set vfs deployment filter.
- *
- * @param filter the vfs deployment filter.
- */
- public void setFilter(VFSDeploymentUnitFilter filter)
- {
- this.filter = filter;
- }
-
- /**
- * Create GenericAnnotationResourceVisitor.
- *
- * Can be used change existing GARV's filter.
- * Or determin if we need to force/keep annotations.
- *
- * @param unit the deployment unit
- * @param pool the class pool
- * @param classLoader the classloader
- * @return new generic annotation visitor
- */
- protected GenericAnnotationResourceVisitor createGenericAnnotationResourceVisitor(DeploymentUnit unit, ClassPool pool, ClassLoader classLoader)
- {
- GenericAnnotationResourceVisitor visitor = new GenericAnnotationResourceVisitor(pool, classLoader);
- visitor.setForceAnnotations(forceAnnotations);
- visitor.setKeepAnnotations(keepAnnotations);
- visitor.setCheckInterfaces(checkInterfaces);
- return visitor;
- }
-
- /**
- * Create class pool.
- *
- * @param classLoader the class loader
- * @return javassist class pool
- */
- @Deprecated
- protected ClassPool createClassPool(ClassLoader classLoader)
- {
- ClassPool pool = new ClassPool();
- ClassPath classPath = new LoaderClassPath(classLoader);
- pool.insertClassPath(classPath);
- return pool;
- }
-
- /**
- * Create class pool.
- *
- * @param unit the deployment unit
- * @return javassist class pool
- */
- protected ClassPool createClassPool(VFSDeploymentUnit unit)
- {
- ClassPool pool = new ClassPool();
- ClassPath deploymentPath = new DeploymentUnitClassPath(unit);
- pool.appendClassPath(deploymentPath);
- // fall back to classloader classpath
- ClassPath classPath = new LoaderClassPath(unit.getClassLoader());
- pool.appendClassPath(classPath);
- return pool;
- }
-
- /**
- * Visit module.
- *
- * Util method to add some behavior to Module
- * before we visit it.
- *
- * @param unit the deployment unit
- * @param module the module
- * @param visitor the resource visitor
- * @throws DeploymentException for any error
- */
- protected void visitModule(VFSDeploymentUnit unit, Module module, GenericAnnotationResourceVisitor visitor) throws DeploymentException
- {
- try
- {
- module.visit(visitor, visitor.getFilter(), null, getUrls(unit));
- }
- catch (Exception e)
- {
- throw DeploymentException.rethrowAsDeploymentException("Exception visiting module", e);
- }
- }
-
- /**
- * Get the matching urls.
- *
- * @param unit the deployment unit
- * @return matching urls
- * @throws Exception for any error
- */
- protected URL[] getUrls(VFSDeploymentUnit unit) throws Exception
- {
- List<VirtualFile> classpath = unit.getClassPath();
- if (classpath != null && classpath.isEmpty() == false)
- {
- List<URL> urls = new ArrayList<URL>();
- VirtualFile root = unit.getRoot();
- for (VirtualFile cp : classpath)
- {
- VirtualFile check = cp;
- while(check != null && check.equals(root) == false)
- check = check.getParent();
-
- if (check != null)
- urls.add(cp.toURL());
- }
- if (urls.isEmpty() == false)
- {
- if (log.isTraceEnabled())
- log.trace("Explicit urls: " + urls);
-
- return urls.toArray(new URL[urls.size()]);
- }
- }
- return new URL[0];
- }
-
- public void deploy(VFSDeploymentUnit unit, Module module) throws DeploymentException
- {
- // running this deployer is costly, check if it should be run
- if (filter != null && filter.accepts(unit) == false)
- return;
-
- if (module == null)
- {
- VFSDeploymentUnit parent = unit.getParent();
- while(parent != null && module == null)
- {
- module = parent.getAttachment(Module.class);
- parent = parent.getParent();
- }
- if (module == null)
- throw new IllegalArgumentException("No module in deployment unit's hierarchy: " + unit.getName());
- }
-
- if (log.isTraceEnabled())
- log.trace("Creating AnnotationEnvironment for " + unit.getName() + ", module: " + module + ", force annotations: " + forceAnnotations);
-
- ClassLoader classLoader = unit.getClassLoader();
- ClassPool pool = createClassPool(unit);
- GenericAnnotationResourceVisitor visitor = createGenericAnnotationResourceVisitor(unit, pool, classLoader);
-
- // something in javassist uses TCL
- ClassLoader tcl = Thread.currentThread().getContextClassLoader();
- Thread.currentThread().setContextClassLoader(classLoader);
- try
- {
- visitModule(unit, module, visitor);
- }
- finally
- {
- Thread.currentThread().setContextClassLoader(tcl);
- }
-
- unit.addAttachment(AnnotationEnvironment.class, visitor.getEnv());
- }
-}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/AnnotationRepositoryDeployer.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/AnnotationRepositoryDeployer.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/AnnotationRepositoryDeployer.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/AnnotationRepositoryDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,156 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.deployers.vfs.plugins.annotations;
+
+import java.net.URL;
+
+import org.jboss.classloading.spi.dependency.Module;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.annotations.ScanningMetaData;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.vfs.plugins.util.ClasspathUtils;
+import org.jboss.deployers.vfs.spi.deployer.AbstractOptionalVFSRealDeployer;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnitFilter;
+import org.jboss.mcann.AnnotationRepository;
+import org.jboss.mcann.repository.Configuration;
+import org.jboss.mcann.repository.DefaultConfiguration;
+import org.jboss.mcann.repository.AbstractSettings;
+import org.jboss.mcann.repository.AbstractConfiguration;
+import org.jboss.mcann.scanner.DefaultAnnotationScanner;
+import org.jboss.mcann.scanner.ModuleAnnotationScanner;
+
+/**
+ * A POST_CLASSLOADER deployer which creates AnnotationRepository for sub-deployments.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class AnnotationRepositoryDeployer extends AbstractOptionalVFSRealDeployer<Module>
+{
+ private Configuration configuration;
+ private VFSDeploymentUnitFilter filter;
+
+ public AnnotationRepositoryDeployer()
+ {
+ super(Module.class);
+ setStage(DeploymentStages.POST_CLASSLOADER);
+ addInput(ScanningMetaData.class);
+ addInput(AnnotationRepository.class);
+ setOutput(AnnotationRepository.class);
+ }
+
+ /**
+ * Set configuration.
+ *
+ * @param configuration the configuration
+ */
+ public void setConfiguration(Configuration configuration)
+ {
+ this.configuration = configuration;
+ }
+
+ /**
+ * Set vfs deployment filter.
+ *
+ * @param filter the vfs deployment filter.
+ */
+ public void setFilter(VFSDeploymentUnitFilter filter)
+ {
+ this.filter = filter;
+ }
+
+ /**
+ * Visit module.
+ *
+ * Util method to add some behavior to Module
+ * before we visit it.
+ *
+ * @param unit the deployment unit
+ * @param module the module
+ * @throws DeploymentException for any error
+ */
+ protected void visitModule(VFSDeploymentUnit unit, Module module) throws DeploymentException
+ {
+ try
+ {
+ URL[] urls = ClasspathUtils.getUrls(unit);
+ DefaultAnnotationScanner scanner = new ModuleAnnotationScanner(module);
+
+ AbstractConfiguration config = new DefaultConfiguration();
+ configureScanner(unit, scanner, config);
+ if (configuration != null)
+ config.merge(configuration); // override with custom config
+ scanner.setConfiguration(config);
+
+ AnnotationRepository repository = scanner.scan(unit.getClassLoader(), urls);
+ unit.addAttachment(AnnotationRepository.class, repository);
+ }
+ catch (Exception e)
+ {
+ throw DeploymentException.rethrowAsDeploymentException("Exception visiting module", e);
+ }
+ }
+
+ protected AbstractConfiguration createConfiguration(VFSDeploymentUnit unit)
+ {
+ return new DefaultConfiguration();
+ }
+
+ /**
+ * Configure scanner.
+ *
+ * @param unit the deployment unit
+ * @param scanner the annotation scanner
+ * @param settings the settings
+ */
+ protected void configureScanner(VFSDeploymentUnit unit, DefaultAnnotationScanner scanner, AbstractSettings settings)
+ {
+ }
+
+ public void deploy(VFSDeploymentUnit unit, Module module) throws DeploymentException
+ {
+ // we already used McAnn or some other mechanism to create repo
+ if (unit.isAttachmentPresent(AnnotationRepository.class))
+ return;
+
+ // running this deployer is costly, check if it should be run
+ if (filter != null && filter.accepts(unit) == false)
+ return;
+
+ if (module == null)
+ {
+ VFSDeploymentUnit parent = unit.getParent();
+ while(parent != null && module == null)
+ {
+ module = parent.getAttachment(Module.class);
+ parent = parent.getParent();
+ }
+ if (module == null)
+ throw new IllegalArgumentException("No module in deployment unit's hierarchy: " + unit.getName());
+ }
+
+ if (log.isTraceEnabled())
+ log.trace("Creating AnnotationRepository for " + unit.getName() + ", module: " + module + ", configuration: " + configuration);
+
+ visitModule(unit, module);
+ }
+}
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/DeploymentUnitClassPath.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/DeploymentUnitClassPath.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/DeploymentUnitClassPath.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -35,6 +35,7 @@
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
import org.jboss.util.collection.SoftValueHashMap;
import org.jboss.vfs.VirtualFile;
+import org.jboss.classloader.plugins.filter.JavaOnlyClassFilter;
/**
* Javassist ClassPath impl based on deployment unit
@@ -47,7 +48,7 @@
@SuppressWarnings("unchecked")
private Map<String, VirtualFile> cache = Collections.synchronizedMap(new SoftValueHashMap());
/** By default exclude jdk classes */
- private ClassFilter excludeFilter = ClassFilter.JAVA_ONLY;
+ private ClassFilter excludeFilter = JavaOnlyClassFilter.INSTANCE;
public DeploymentUnitClassPath(VFSDeploymentUnit unit)
{
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/FilteredAnnotationEnvironmentDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/FilteredAnnotationEnvironmentDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/FilteredAnnotationEnvironmentDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,115 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.vfs.plugins.annotations;
-
-import org.jboss.classloading.spi.dependency.Module;
-import org.jboss.classloading.spi.visitor.ResourceFilter;
-import org.jboss.deployers.plugins.annotations.GenericAnnotationResourceVisitor;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.deployers.spi.DeploymentException;
-
-/**
- * Filtered annotation environment deployer.
- *
- * It first checks if there are some filters present
- * in deployment unit as attachment,
- * else falls back to deployers filters.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class FilteredAnnotationEnvironmentDeployer extends ScopedAnnotationEnvironmentDeployer
-{
- private ResourceFilter resourceFilter;
- private ResourceFilter recurseFilter;
-
- public FilteredAnnotationEnvironmentDeployer()
- {
- addInput(ResourceFilter.class.getName() + ".resource");
- addInput(ResourceFilter.class.getName() + ".recurse");
- }
-
- /**
- * Get filter.
- * Try attachment first, then deployer's filter.
- *
- * @param <T> the expected class type
- * @param unit the deployment unit
- * @param expectedClass the expected class
- * @param suffix the suffix
- * @param defaultValue the default value
- * @return found filter or null
- */
- protected <T> T getFilter(DeploymentUnit unit, Class<T> expectedClass, String suffix, T defaultValue)
- {
- String name = expectedClass.getName() + "." + (suffix != null ? suffix : "");
- T result = unit.getAttachment(name, expectedClass);
- if (result == null)
- result = defaultValue;
- return result;
- }
-
- /**
- * We look for filter attachments:
- * * org.jboss.classloading.spi.visitor.ResourceFilter.resource - plain resource filter
- * * org.jboss.classloading.spi.visitor.ResourceFilter.recurse - recurse resource filter
- *
- * @param unit the deployment unit
- * @param module the underlying module
- * @param visitor the current generic annotation resource visitor
- */
- protected void visitModule(VFSDeploymentUnit unit, Module module, GenericAnnotationResourceVisitor visitor) throws DeploymentException
- {
- ResourceFilter filter = getFilter(unit, ResourceFilter.class, "resource", resourceFilter);
- if (filter == null)
- filter = visitor.getFilter();
- ResourceFilter recurse = getFilter(unit, ResourceFilter.class, "recurse", recurseFilter);
- try
- {
- module.visit(visitor, filter, recurse, getUrls(unit));
- }
- catch (Exception e)
- {
- throw DeploymentException.rethrowAsDeploymentException("Exception visiting module", e);
- }
- }
-
- /**
- * Set resource filter.
- *
- * @param resourceFilter the resource filter
- */
- public void setResourceFilter(ResourceFilter resourceFilter)
- {
- this.resourceFilter = resourceFilter;
- }
-
- /**
- * Set recurse filter.
- *
- * @param recurseFilter the recurse filter
- */
- public void setRecurseFilter(ResourceFilter recurseFilter)
- {
- this.recurseFilter = recurseFilter;
- }
-}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/FilteredAnnotationRepositoryDeployer.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/FilteredAnnotationRepositoryDeployer.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/FilteredAnnotationRepositoryDeployer.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/FilteredAnnotationRepositoryDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,116 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.deployers.vfs.plugins.annotations;
+
+import org.jboss.classloading.spi.visitor.ResourceFilter;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.mcann.repository.AbstractSettings;
+import org.jboss.mcann.repository.AbstractConfiguration;
+import org.jboss.mcann.scanner.DefaultAnnotationScanner;
+
+/**
+ * Filtered annotation environment deployer.
+ *
+ * It first checks if there are some filters present
+ * in deployment unit as attachment,
+ * else falls back to deployers filters.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class FilteredAnnotationRepositoryDeployer extends AnnotationRepositoryDeployer
+{
+ private ResourceFilter resourceFilter;
+ private ResourceFilter recurseFilter;
+
+ public FilteredAnnotationRepositoryDeployer()
+ {
+ addInput(ResourceFilter.class.getName() + ".resource");
+ addInput(ResourceFilter.class.getName() + ".recurse");
+ }
+
+ /**
+ * Try attachment first, then default value.
+ *
+ * @param <T> the expected class type
+ * @param unit the deployment unit
+ * @param expectedClass the expected class
+ * @param suffix the suffix
+ * @param defaultValue the default value
+ * @return attchment or default value
+ */
+ protected <T> T getAttachment(DeploymentUnit unit, Class<T> expectedClass, String suffix, T defaultValue)
+ {
+ String name = expectedClass.getName() + (suffix != null ? ("." + suffix) : "");
+ T result = unit.getAttachment(name, expectedClass);
+ if (result == null)
+ result = defaultValue;
+ return result;
+ }
+
+ @Override
+ protected AbstractConfiguration createConfiguration(VFSDeploymentUnit unit)
+ {
+ return getAttachment(unit, AbstractConfiguration.class, null, super.createConfiguration(unit));
+ }
+
+ /**
+ * We look for filter attachments:
+ * * org.jboss.classloading.spi.visitor.ResourceFilter.resource - plain resource filter
+ * * org.jboss.classloading.spi.visitor.ResourceFilter.recurse - recurse resource filter
+ *
+ * @param unit the deployment unit
+ * @param scanner the annotation scanner
+ * @param settings the settings
+ */
+ @Override
+ protected void configureScanner(VFSDeploymentUnit unit, DefaultAnnotationScanner scanner, AbstractSettings settings)
+ {
+ super.configureScanner(unit, scanner, settings);
+
+ ResourceFilter filter = getAttachment(unit, ResourceFilter.class, "resource", resourceFilter);
+ settings.setResourceFilter(filter);
+
+ ResourceFilter recurse = getAttachment(unit, ResourceFilter.class, "recurse", recurseFilter);
+ scanner.setRecurseFilter(recurse);
+ }
+
+ /**
+ * Set resource filter.
+ *
+ * @param resourceFilter the resource filter
+ */
+ public void setResourceFilter(ResourceFilter resourceFilter)
+ {
+ this.resourceFilter = resourceFilter;
+ }
+
+ /**
+ * Set recurse filter.
+ *
+ * @param recurseFilter the recurse filter
+ */
+ public void setRecurseFilter(ResourceFilter recurseFilter)
+ {
+ this.recurseFilter = recurseFilter;
+ }
+}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/JavassistAnnotationRepositoryDeployer.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/JavassistAnnotationRepositoryDeployer.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/JavassistAnnotationRepositoryDeployer.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/JavassistAnnotationRepositoryDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,40 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.deployers.vfs.plugins.annotations;
+
+import org.jboss.mcann.repository.AbstractConfiguration;
+import org.jboss.mcann.repository.javassist.JavassistConfiguration;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+
+/**
+ * Javassist annotation repository deployer.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class JavassistAnnotationRepositoryDeployer extends FilteredAnnotationRepositoryDeployer
+{
+ @Override
+ protected AbstractConfiguration createConfiguration(VFSDeploymentUnit unit)
+ {
+ return new JavassistConfiguration();
+ }
+}
\ No newline at end of file
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/ScopedAnnotationEnvironmentDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/ScopedAnnotationEnvironmentDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/annotations/ScopedAnnotationEnvironmentDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,72 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.deployers.vfs.plugins.annotations;
-
-import javassist.ClassPool;
-import javassist.scopedpool.ScopedClassPoolRepository;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-
-/**
- * Scoped class pool usage annotation environment deployer.
- *
- * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
- */
-public class ScopedAnnotationEnvironmentDeployer extends AnnotationEnvironmentDeployer
-{
- private ScopedClassPoolRepository repository;
-
- public ScopedAnnotationEnvironmentDeployer()
- {
- }
-
- public ScopedAnnotationEnvironmentDeployer(ScopedClassPoolRepository repository)
- {
- this.repository = repository;
- }
-
- /**
- * Set scoped class pool repository.
- *
- * @param repository the scoped class pool repository
- */
- public void setRepository(ScopedClassPoolRepository repository)
- {
- this.repository = repository;
- }
-
- @Deprecated
- protected ClassPool createClassPool(ClassLoader classLoader)
- {
- if (repository != null)
- return repository.findClassPool(classLoader);
-
- return super.createClassPool(classLoader);
- }
-
- protected ClassPool createClassPool(VFSDeploymentUnit unit)
- {
- if (repository != null)
- return repository.findClassPool(unit.getClassLoader());
-
- return super.createClassPool(unit);
- }
-}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/classloader/VFSDeploymentClassLoaderPolicyModule.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/classloader/VFSDeploymentClassLoaderPolicyModule.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/classloader/VFSDeploymentClassLoaderPolicyModule.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -43,6 +43,7 @@
* VFSDeploymentClassLoaderPolicyModule.
*
* @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 class VFSDeploymentClassLoaderPolicyModule extends AbstractDeploymentClassLoaderPolicyModule
@@ -79,6 +80,26 @@
excludedRoots = vfsExcludes.toArray(new VirtualFile[vfsExcludes.size()]);
}
+ /**
+ * Get roots clone.
+ *
+ * @return cloned roots
+ */
+ protected VirtualFile[] getRoots()
+ {
+ return vfsRoots != NO_ROOTS ? vfsRoots.clone() : NO_ROOTS;
+ }
+
+ /**
+ * Get excluded roots clone.
+ *
+ * @return cloned excluded roots
+ */
+ protected VirtualFile[] getExcludedRoots()
+ {
+ return excludedRoots != null ? excludedRoots.clone() : null;
+ }
+
@Override
protected List<Capability> determineCapabilities()
{
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/AbstractVFSStructureDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/AbstractVFSStructureDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/structure/AbstractVFSStructureDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -24,10 +24,7 @@
import java.io.IOException;
import org.jboss.classloader.spi.filter.ClassFilter;
-import org.jboss.classloading.plugins.vfs.VFSResourceVisitor;
import org.jboss.classloading.spi.visitor.ResourceFilter;
-import org.jboss.deployers.plugins.annotations.GenericAnnotationResourceVisitor;
-import org.jboss.deployers.spi.annotations.AnnotationEnvironment;
import org.jboss.deployers.spi.structure.ContextInfo;
import org.jboss.deployers.structure.spi.DeploymentResourceLoader;
import org.jboss.deployers.structure.spi.helpers.DeploymentResourceClassLoader;
@@ -35,6 +32,9 @@
import org.jboss.deployers.vfs.spi.structure.helpers.AbstractStructureDeployer;
import org.jboss.vfs.VirtualFile;
import org.jboss.vfs.util.Automounter;
+import org.jboss.mcann.AnnotationRepository;
+import org.jboss.mcann.repository.Configuration;
+import org.jboss.mcann.scanner.DefaultAnnotationScanner;
/**
* VFS aware structure deployer.
@@ -45,19 +45,28 @@
{
private ClassFilter included;
private ClassFilter excluded;
- private ResourceFilter filter;
private ResourceFilter recurseFilter;
+ private Configuration configuration;
- protected AnnotationEnvironment createAnnotationEnvironment(VirtualFile root)
+ protected AnnotationRepository createAnnotationRepository(VirtualFile root)
{
DeploymentResourceLoader loader = new VFSDeploymentResourceLoaderImpl(root);
ClassLoader classLoader = new DeploymentResourceClassLoader(loader);
- GenericAnnotationResourceVisitor visitor = new GenericAnnotationResourceVisitor(classLoader);
- ResourceFilter filter = this.filter;
- if (filter == null)
- filter = visitor.getFilter();
- VFSResourceVisitor.visit(new VirtualFile[]{root}, null, included, excluded, classLoader, visitor, filter, recurseFilter);
- return visitor.getEnv();
+ DefaultAnnotationScanner scanner = new DefaultAnnotationScanner();
+ scanner.setIncluded(included);
+ scanner.setExcluded(excluded);
+ scanner.setRecurseFilter(recurseFilter);
+ if (configuration != null)
+ scanner.setConfiguration(configuration);
+
+ try
+ {
+ return scanner.scan(classLoader, root.toURL());
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException("Cannot create annotation repository: " + e);
+ }
}
/**
@@ -81,23 +90,23 @@
}
/**
- * Set the filter.
+ * Set the recurse filter.
*
- * @param filter the filter
+ * @param recurseFilter the recurse filter
*/
- public void setFilter(ResourceFilter filter)
+ public void setRecurseFilter(ResourceFilter recurseFilter)
{
- this.filter = filter;
+ this.recurseFilter = recurseFilter;
}
/**
- * Set the recurse filter.
+ * Set configuration.
*
- * @param recurseFilter the recurse filter
+ * @param configuration the configuration
*/
- public void setRecurseFilter(ResourceFilter recurseFilter)
+ public void setConfiguration(Configuration configuration)
{
- this.recurseFilter = recurseFilter;
+ this.configuration = configuration;
}
@Override
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/util (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/util)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/util/ClasspathUtils.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/util/ClasspathUtils.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/util/ClasspathUtils.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,75 +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.deployers.vfs.plugins.util;
-
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.logging.Logger;
-import org.jboss.virtual.VirtualFile;
-
-/**
- * Classpath utils.
- *
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class ClasspathUtils
-{
- /** The log */
- private static final Logger log = Logger.getLogger(ClasspathUtils.class);
-
- /**
- * Get the classpath urls that only belong to the unit.
- *
- * @param unit the deployment unit
- * @return matching urls
- * @throws Exception for any error
- */
- public static URL[] getUrls(VFSDeploymentUnit unit) throws Exception
- {
- List<VirtualFile> classpath = unit.getClassPath();
- if (classpath != null && classpath.isEmpty() == false)
- {
- List<URL> urls = new ArrayList<URL>();
- VirtualFile root = unit.getRoot();
- for (VirtualFile cp : classpath)
- {
- VirtualFile check = cp;
- while(check != null && check.equals(root) == false)
- check = check.getParent();
-
- if (check != null)
- urls.add(cp.toURL());
- }
- if (urls.isEmpty() == false)
- {
- if (log.isTraceEnabled())
- log.trace("Explicit urls: " + urls);
-
- return urls.toArray(new URL[urls.size()]);
- }
- }
- return new URL[0];
- }
-}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/util/ClasspathUtils.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/util/ClasspathUtils.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/util/ClasspathUtils.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/main/java/org/jboss/deployers/vfs/plugins/util/ClasspathUtils.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,75 @@
+/*
+ * 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.deployers.vfs.plugins.util;
+
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.logging.Logger;
+import org.jboss.vfs.VirtualFile;
+
+/**
+ * Classpath utils.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class ClasspathUtils
+{
+ /** The log */
+ private static final Logger log = Logger.getLogger(ClasspathUtils.class);
+
+ /**
+ * Get the classpath urls that only belong to the unit.
+ *
+ * @param unit the deployment unit
+ * @return matching urls
+ * @throws Exception for any error
+ */
+ public static URL[] getUrls(VFSDeploymentUnit unit) throws Exception
+ {
+ List<VirtualFile> classpath = unit.getClassPath();
+ if (classpath != null && classpath.isEmpty() == false)
+ {
+ List<URL> urls = new ArrayList<URL>();
+ VirtualFile root = unit.getRoot();
+ for (VirtualFile cp : classpath)
+ {
+ VirtualFile check = cp;
+ while(check != null && check.equals(root) == false)
+ check = check.getParent();
+
+ if (check != null)
+ urls.add(cp.toURL());
+ }
+ if (urls.isEmpty() == false)
+ {
+ if (log.isTraceEnabled())
+ log.trace("Explicit urls: " + urls);
+
+ return urls.toArray(new URL[urls.size()]);
+ }
+ }
+ return new URL[0];
+ }
+}
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/BootstrapDeployersTestDelegate.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/BootstrapDeployersTestDelegate.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/BootstrapDeployersTestDelegate.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -39,6 +39,7 @@
import org.jboss.test.kernel.junit.MicrocontainerTestDelegate;
import org.jboss.xb.binding.resolver.MutableSchemaResolver;
import org.jboss.xb.binding.sunday.unmarshalling.SingletonSchemaResolverFactory;
+import org.jboss.classloader.plugins.filter.NothingClassFilter;
/**
* BootstrapDeployersTestDelegate.
@@ -91,7 +92,7 @@
}
};
- parentPolicy = new ParentPolicy(classFilter, ClassFilter.NOTHING, "BEFORE");
+ parentPolicy = new ParentPolicy(classFilter, NothingClassFilter.INSTANCE, "BEFORE");
}
public BootstrapDeployersTestDelegate(Class<?> clazz) throws Exception
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/DeployersVFSTestSuite.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/DeployersVFSTestSuite.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/DeployersVFSTestSuite.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -26,8 +26,10 @@
import junit.textui.TestRunner;
import org.jboss.test.deployers.vfs.annotations.AnnotationScanningTestSuite;
import org.jboss.test.deployers.vfs.classloader.ClassLoaderTestSuite;
+import org.jboss.test.deployers.vfs.reflect.ReflectTestSuite;
import org.jboss.test.deployers.vfs.dependency.DependencyTestSuite;
import org.jboss.test.deployers.vfs.deployer.bean.BeanDeployerTestSuite;
+import org.jboss.test.deployers.vfs.deployer.bean.test.BeanMetaDataDeployerPluginTestCase;
import org.jboss.test.deployers.vfs.deployer.facelets.FaceletsTestSuite;
import org.jboss.test.deployers.vfs.deployer.jaxp.JAXPDeployerTestSuite;
import org.jboss.test.deployers.vfs.deployer.merge.MergeDeployerTestSuite;
@@ -39,11 +41,12 @@
import org.jboss.test.deployers.vfs.matchers.VFSMatchersTestSuite;
import org.jboss.test.deployers.vfs.metadata.VFSMetaDataTestSuite;
import org.jboss.test.deployers.vfs.parsing.test.ParsingTestSuite;
+import org.jboss.test.deployers.vfs.redeploy.RedeployTestSuite;
import org.jboss.test.deployers.vfs.structure.VFSStructureTestSuite;
import org.jboss.test.deployers.vfs.structurebuilder.VFSStructureBuilderTestSuite;
import org.jboss.test.deployers.vfs.structureprocessor.VFSStructureProcessorTestSuite;
+import org.jboss.test.deployers.vfs.webbeans.WebBeansTestSuite;
import org.jboss.test.deployers.vfs.xb.JBossXBDeployersTestSuite;
-import org.jboss.test.deployers.vfs.redeploy.RedeployTestSuite;
/**
* Deployers VFS Test Suite.
@@ -83,6 +86,8 @@
suite.addTest(DependencyTestSuite.suite());
suite.addTest(JMXTestSuite.suite());
suite.addTest(RedeployTestSuite.suite());
+ suite.addTest(WebBeansTestSuite.suite()); // now Weld
+ suite.addTest(ReflectTestSuite.suite());
return suite;
}
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/annotations/test/AbstractAnnotationsScanningUnitTest.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/annotations/test/AbstractAnnotationsScanningUnitTest.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/annotations/test/AbstractAnnotationsScanningUnitTest.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -24,9 +24,9 @@
import java.lang.annotation.Annotation;
import java.util.Set;
-import org.jboss.deployers.spi.annotations.AnnotationEnvironment;
-import org.jboss.deployers.spi.annotations.Element;
import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.mcann.AnnotationRepository;
+import org.jboss.mcann.Element;
import org.jboss.test.deployers.BootstrapDeployersTest;
import org.jboss.test.deployers.vfs.annotations.support.NoExtRecurseFilter;
import org.jboss.test.deployers.vfs.annotations.support.ext.External;
@@ -69,7 +69,7 @@
assertEar(unit);
try
{
- AnnotationEnvironment env = unit.getAttachment(AnnotationEnvironment.class);
+ AnnotationRepository env = unit.getAttachment(AnnotationRepository.class);
assertNotNull(env);
Set<Element<Annotation, Class<?>>> annotations = env.classIsAnnotatedWith("org.jboss.test.deployers.vfs.annotations.support.MarkedAnnotation");
assertNotNull(annotations);
@@ -93,20 +93,20 @@
@SuppressWarnings("unchecked")
protected void assertAnnotations(DeploymentUnit unit, int onClass, int onMethod, int onFiled)
{
- AnnotationEnvironment env = unit.getAttachment(AnnotationEnvironment.class);
+ AnnotationRepository env = unit.getAttachment(AnnotationRepository.class);
assertNotNull(env);
Set classes = env.classIsAnnotatedWith("org.jboss.test.deployers.vfs.annotations.support.Marked");
assertNotNull(classes);
- assertEquals(onClass, classes.size());
+ assertEquals(classes.toString(), onClass, classes.size());
Set methods = env.classHasMethodAnnotatedWith("org.jboss.test.deployers.vfs.annotations.support.Marked");
assertNotNull(methods);
- assertEquals(onMethod, methods.size());
+ assertEquals(methods.toString(), onMethod, methods.size());
Set fields = env.classHasFieldAnnotatedWith("org.jboss.test.deployers.vfs.annotations.support.Marked");
assertNotNull(fields);
- assertEquals(onFiled, fields.size());
+ assertEquals(fields.toString(), onFiled, fields.size());
}
protected VirtualFile createTopLevelWithUtil() throws Exception
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/classloader/test/ManagedObjectClassLoadingParserUnitTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/classloader/test/ManagedObjectClassLoadingParserUnitTestCase.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/classloader/test/ManagedObjectClassLoadingParserUnitTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -44,7 +44,7 @@
/**
* ManagedObjectClassLoadingParserUnitTestCase.
- *
+ *
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision: 1.1 $
*/
@@ -62,7 +62,7 @@
{
super(name);
}
-
+
protected ManagedProperty assertManagedProperty(ManagedObject mo, String name, MetaType metaType, MetaValue metaValue)
{
ManagedProperty property = mo.getProperty(name);
@@ -71,7 +71,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);
@@ -93,7 +93,7 @@
assertNotNull(mo);
getLog().debug("ManagedObject: " + mo + " properties=" + mo.getProperties());
- List<String> expectedProperties = Arrays.asList("name", "version", "domain", "parentDomain", "exportAll", "included", "excluded", "excludedExport", "importAll", "parentFirst", "cache", "blackList", "capabilities", "requirements");
+ List<String> expectedProperties = Arrays.asList("name", "version", "domain", "parentDomain", "topLevelClassLoader", "exportAll", "included", "excluded", "excludedExport", "importAll", "parentFirst", "cache", "blackList", "capabilities", "requirements");
Set<String> actualProperties = mo.getPropertyNames();
for (String expected : expectedProperties)
{
@@ -110,6 +110,7 @@
assertManagedProperty(mo, "version", Version.class, Version.DEFAULT_VERSION);
assertManagedProperty(mo, "domain", String.class, null);
assertManagedProperty(mo, "parentDomain", String.class, null);
+ assertManagedProperty(mo, "topLevelClassLoader", boolean.class, false);
assertManagedProperty(mo, "exportAll", ExportAll.class, null);
assertManagedProperty(mo, "included", String.class, null);
assertManagedProperty(mo, "excluded", String.class, null);
@@ -118,7 +119,7 @@
assertManagedProperty(mo, "parentFirst", boolean.class, true);
assertManagedProperty(mo, "capabilities", CapabilitiesMetaData.class, new CapabilitiesMetaData());
assertManagedProperty(mo, "requirements", RequirementsMetaData.class, new RequirementsMetaData());
-
+
}
finally
{
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/dependency/test/DependenciesTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/dependency/test/DependenciesTestCase.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/dependency/test/DependenciesTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -51,6 +51,28 @@
assertEquals(state, context.getState());
}
+ public void testBasicDependency() throws Throwable
+ {
+ DeploymentUnit du = addDeployment("/dependency", "basic");
+ try
+ {
+ assertDeployment(du, ControllerState.PRE_INSTALL);
+ DeploymentUnit tmDU = assertDeploy("/dependency", "support");
+ try
+ {
+ assertDeployment(du, ControllerState.INSTALLED);
+ }
+ finally
+ {
+ undeploy(tmDU);
+ }
+ }
+ finally
+ {
+ undeploy(du);
+ }
+ }
+
public void testBeanDependency() throws Throwable
{
DeploymentUnit du = addDeployment("/dependency", "bean");
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/AbstractDeployerUnitTest.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/AbstractDeployerUnitTest.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/AbstractDeployerUnitTest.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -29,7 +29,6 @@
import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
import org.jboss.kernel.spi.dependency.KernelController;
import org.jboss.metadata.spi.repository.MutableMetaDataRepository;
-import org.jboss.test.deployers.AbstractDeployerTest;
/**
* AbstractDeployerUnitTestCase.
@@ -74,8 +73,6 @@
protected Deployers createDeployers()
{
- System.err.println("AbstractDeployerUnitTest.CS: "+getClass().getProtectionDomain().getCodeSource());
- System.err.println("AbstractDeployerTest.CS: "+AbstractDeployerTest.class.getProtectionDomain().getCodeSource());
DeployersImpl deployers = (DeployersImpl) super.createDeployers();
KernelController controller = getController();
MutableMetaDataRepository repository = controller.getKernel().getMetaDataRepository().getMetaDataRepository();
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/BeanDeployerTestSuite.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/BeanDeployerTestSuite.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/BeanDeployerTestSuite.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -31,10 +31,13 @@
import org.jboss.test.deployers.vfs.deployer.bean.test.BeanManagedDeploymentUnitTestCase;
import org.jboss.test.deployers.vfs.deployer.bean.test.BeanMetaDataFactoryDeployerUnitTestCase;
import org.jboss.test.deployers.vfs.deployer.bean.test.BeanScanningUnitTestCase;
+import org.jboss.test.deployers.vfs.deployer.bean.test.BootstrapBeanMetaDataPluginTestCase;
import org.jboss.test.deployers.vfs.deployer.bean.test.BuilderBeansUnitTestCase;
+import org.jboss.test.deployers.vfs.deployer.bean.test.BeanMetaDataDeployerPluginTestCase;
import org.jboss.test.deployers.vfs.deployer.bean.test.KernelDeployerUnitTestCase;
import org.jboss.test.deployers.vfs.deployer.bean.test.KernelScopeUnitTestCase;
import org.jboss.test.deployers.vfs.deployer.bean.test.AutowireAnnotationBeansTestCase;
+import org.jboss.test.deployers.vfs.deployer.bean.test.BeansDeploymentRegistryUnitTestCase;
/**
* BeanDeployerTestSuite.
@@ -65,6 +68,9 @@
suite.addTest(AnnotatedBeansUnitTestCase.suite());
suite.addTest(BuilderBeansUnitTestCase.suite());
suite.addTest(AutowireAnnotationBeansTestCase.suite());
+ suite.addTest(BeanMetaDataDeployerPluginTestCase.suite());
+ suite.addTest(BootstrapBeanMetaDataPluginTestCase.suite());
+ suite.addTest(BeansDeploymentRegistryUnitTestCase.suite());
return suite;
}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NoopBeanMetaDataDeployerPlugin.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NoopBeanMetaDataDeployerPlugin.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NoopBeanMetaDataDeployerPlugin.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NoopBeanMetaDataDeployerPlugin.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,75 @@
+/*
+* 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.test.deployers.vfs.deployer.bean.support;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.deployer.helpers.BeanMetaDataDeployerPlugin;
+import org.jboss.kernel.spi.dependency.KernelControllerContext;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class NoopBeanMetaDataDeployerPlugin implements BeanMetaDataDeployerPlugin
+{
+ private static List<Integer> triggered = new ArrayList<Integer>();
+
+ private int order;
+
+ public NoopBeanMetaDataDeployerPlugin(int order)
+ {
+ this.order = order;
+ }
+
+ public static List<Integer> getTriggered()
+ {
+ return triggered;
+ }
+
+ public KernelControllerContext createContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData)
+ {
+ if (controller == null)
+ throw new IllegalArgumentException("Null controller");
+ if (unit == null)
+ throw new IllegalArgumentException("Null unit");
+ if (beanMetaData == null)
+ throw new IllegalArgumentException("Null beanMetadata");
+ triggered.add(order);
+ return null;
+ }
+
+ public int getRelativeOrder()
+ {
+ return order;
+ }
+
+ public boolean uninstallContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData)
+ {
+ throw new IllegalStateException("Should not be called since NoopBMDDP never creates any deployments");
+ }
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NotUndeployingSpecialBeanMetaDataDeployerPlugin.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NotUndeployingSpecialBeanMetaDataDeployerPlugin.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NotUndeployingSpecialBeanMetaDataDeployerPlugin.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/NotUndeployingSpecialBeanMetaDataDeployerPlugin.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,63 @@
+/*
+* 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.test.deployers.vfs.deployer.bean.support;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class NotUndeployingSpecialBeanMetaDataDeployerPlugin extends SpecialBeanMetaDataDeployerPlugin
+{
+ private List<String> undeployedNames = new ArrayList<String>();
+
+ public NotUndeployingSpecialBeanMetaDataDeployerPlugin()
+ {
+ // FIXME NotUndeployingSpecialControllerContextCreator constructor
+ super();
+ }
+
+ public NotUndeployingSpecialBeanMetaDataDeployerPlugin(int order)
+ {
+ // FIXME NotUndeployingSpecialControllerContextCreator constructor
+ super(order);
+ }
+
+ public boolean uninstallContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData)
+ {
+ undeployedNames.add(beanMetaData.getName());
+ return false;
+ }
+
+ public List<String> getUndeployedNames()
+ {
+ return undeployedNames;
+ }
+
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/SpecialBeanMetaDataDeployerPlugin.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/SpecialBeanMetaDataDeployerPlugin.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/SpecialBeanMetaDataDeployerPlugin.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/SpecialBeanMetaDataDeployerPlugin.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,79 @@
+/*
+* 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.test.deployers.vfs.deployer.bean.support;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.beans.info.spi.BeanInfo;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.deployer.helpers.BeanMetaDataDeployerPlugin;
+import org.jboss.kernel.plugins.dependency.AbstractKernelControllerContext;
+import org.jboss.kernel.spi.dependency.KernelControllerContext;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public abstract class SpecialBeanMetaDataDeployerPlugin implements BeanMetaDataDeployerPlugin
+{
+ public static final String TRIGGER = "TriggerSpecialControllerContextCreator";
+
+ private int order;
+
+ public SpecialBeanMetaDataDeployerPlugin()
+ {
+ this(3);
+ }
+
+ public SpecialBeanMetaDataDeployerPlugin(int order)
+ {
+ this.order = order;
+ }
+
+ public KernelControllerContext createContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData)
+ {
+ if (unit.getAttachment(TRIGGER) != null)
+ return new SpecialControllerContext(null, beanMetaData, null);
+ return null;
+ }
+
+ public static class SpecialControllerContext extends AbstractKernelControllerContext
+ {
+ protected SpecialControllerContext(BeanInfo info, BeanMetaData metaData, Object target)
+ {
+ // FIXME SpecialControllerContext constructor
+ super(info, metaData, target);
+ }
+
+ }
+
+ public int getRelativeOrder()
+ {
+ return order;
+ }
+
+}
+
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/TriggerSpecialBeanMetaDataDeployerPlugin.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/TriggerSpecialBeanMetaDataDeployerPlugin.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/TriggerSpecialBeanMetaDataDeployerPlugin.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/TriggerSpecialBeanMetaDataDeployerPlugin.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -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.test.deployers.vfs.deployer.bean.support;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class TriggerSpecialBeanMetaDataDeployerPlugin extends AbstractRealDeployer
+{
+
+ public TriggerSpecialBeanMetaDataDeployerPlugin()
+ {
+ setStage(DeploymentStages.PRE_REAL);
+ }
+
+ @Override
+ protected void internalDeploy(DeploymentUnit unit) throws DeploymentException
+ {
+ unit.addAttachment(SpecialBeanMetaDataDeployerPlugin.TRIGGER, SpecialBeanMetaDataDeployerPlugin.TRIGGER);
+ }
+
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/UndeployingSpecialBeanMetaDataDeployerPlugin.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/UndeployingSpecialBeanMetaDataDeployerPlugin.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/UndeployingSpecialBeanMetaDataDeployerPlugin.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/support/UndeployingSpecialBeanMetaDataDeployerPlugin.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,62 @@
+/*
+* 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.test.deployers.vfs.deployer.bean.support;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class UndeployingSpecialBeanMetaDataDeployerPlugin extends SpecialBeanMetaDataDeployerPlugin
+{
+ private List<String> undeployedNames = new ArrayList<String>();
+
+ public UndeployingSpecialBeanMetaDataDeployerPlugin()
+ {
+ super();
+ }
+
+ public UndeployingSpecialBeanMetaDataDeployerPlugin(int order)
+ {
+ super(order);
+ }
+
+ public boolean uninstallContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData)
+ {
+ undeployedNames.add(beanMetaData.getName());
+ controller.uninstall(beanMetaData.getName());
+ return false;
+ }
+
+ public List<String> getUndeployedNames()
+ {
+ return undeployedNames;
+ }
+
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeanMetaDataDeployerPluginTestCase.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeanMetaDataDeployerPluginTestCase.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeanMetaDataDeployerPluginTestCase.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeanMetaDataDeployerPluginTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,269 @@
+/*
+* 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.test.deployers.vfs.deployer.bean.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.deployers.vfs.deployer.kernel.BeanDeployer;
+import org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer;
+import org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer;
+import org.jboss.deployers.vfs.spi.client.VFSDeployment;
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.plugins.dependency.AbstractKernelControllerContext;
+import org.jboss.test.deployers.support.TCCLClassLoaderDeployer;
+import org.jboss.test.deployers.vfs.deployer.AbstractDeployerUnitTest;
+import org.jboss.test.deployers.vfs.deployer.bean.support.NoopBeanMetaDataDeployerPlugin;
+import org.jboss.test.deployers.vfs.deployer.bean.support.NotUndeployingSpecialBeanMetaDataDeployerPlugin;
+import org.jboss.test.deployers.vfs.deployer.bean.support.SpecialBeanMetaDataDeployerPlugin;
+import org.jboss.test.deployers.vfs.deployer.bean.support.TriggerSpecialBeanMetaDataDeployerPlugin;
+import org.jboss.test.deployers.vfs.deployer.bean.support.UndeployingSpecialBeanMetaDataDeployerPlugin;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class BeanMetaDataDeployerPluginTestCase extends AbstractDeployerUnitTest
+{
+ BeanMetaDataDeployer beanMetaDataDeployer;
+
+ public static Test suite()
+ {
+ return new TestSuite(BeanMetaDataDeployerPluginTestCase.class);
+ }
+
+ public BeanMetaDataDeployerPluginTestCase(String name) throws Throwable
+ {
+ super(name);
+ }
+
+ @Override
+ protected void addDeployers(Kernel kernel)
+ {
+ BeanDeployer beanDeployer = new BeanDeployer();
+ KernelDeploymentDeployer kernelDeploymentDeployer = new KernelDeploymentDeployer();
+ beanMetaDataDeployer = new BeanMetaDataDeployer(kernel);
+ addDeployer(main, new TCCLClassLoaderDeployer());
+ addDeployer(main, beanDeployer);
+ addDeployer(main, kernelDeploymentDeployer);
+ addDeployer(main, beanMetaDataDeployer);
+ }
+
+ public void testStandardDeployment() throws Exception
+ {
+ VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
+ assertDeploy(context);
+ ControllerContext cc = controller.getInstalledContext("Test");
+ assertNotNull(cc);
+ assertEquals(AbstractKernelControllerContext.class, cc.getClass());
+ assertUndeploy(context);
+ assertNull(controller.getContext("Test", null));
+ }
+
+ public void testNoopControllerContextCreator() throws Throwable
+ {
+ NoopBeanMetaDataDeployerPlugin.getTriggered().clear();
+ NoopBeanMetaDataDeployerPlugin noop = new NoopBeanMetaDataDeployerPlugin(1);
+ beanMetaDataDeployer.addControllerContextCreator(noop);
+ try
+ {
+
+ VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
+ assertDeploy(context);
+
+ assertEquals(1, NoopBeanMetaDataDeployerPlugin.getTriggered().size());
+ assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(1));
+
+ ControllerContext test = controller.getInstalledContext("Test");
+ assertNotNull(test);
+ assertEquals(AbstractKernelControllerContext.class, test.getClass());
+ assertUndeploy(context);
+ assertNull(controller.getContext("Test", null));
+ }
+ finally
+ {
+ beanMetaDataDeployer.removeControllerContextCreator(noop);
+ }
+ }
+
+ public void testSpecialControllerContextCreatorNotTriggered() throws Throwable
+ {
+ NoopBeanMetaDataDeployerPlugin.getTriggered().clear();
+ NoopBeanMetaDataDeployerPlugin noop1 = new NoopBeanMetaDataDeployerPlugin(1);
+ beanMetaDataDeployer.addControllerContextCreator(noop1);
+ NotUndeployingSpecialBeanMetaDataDeployerPlugin special = new NotUndeployingSpecialBeanMetaDataDeployerPlugin(2);
+ beanMetaDataDeployer.addControllerContextCreator(special);
+ NoopBeanMetaDataDeployerPlugin noop2 = new NoopBeanMetaDataDeployerPlugin(3);
+ beanMetaDataDeployer.addControllerContextCreator(noop2);
+ try
+ {
+ VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
+ assertDeploy(context);
+
+ assertEquals(2, NoopBeanMetaDataDeployerPlugin.getTriggered().size());
+ assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(1));
+ assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(3));
+
+ ControllerContext test = controller.getInstalledContext("Test");
+ assertNotNull(test);
+ assertEquals(AbstractKernelControllerContext.class, test.getClass());
+ assertUndeploy(context);
+ assertNull(controller.getContext("Test", null));
+ assertEmpty(special.getUndeployedNames());
+ }
+ finally
+ {
+ beanMetaDataDeployer.removeControllerContextCreator(noop1);
+ beanMetaDataDeployer.removeControllerContextCreator(special);
+ beanMetaDataDeployer.removeControllerContextCreator(noop2);
+ }
+ }
+
+ public void testSpecialControllerContextCreatorTriggeredButNotHandlingUndeploy() throws Throwable
+ {
+ NoopBeanMetaDataDeployerPlugin.getTriggered().clear();
+ addDeployer(main, new TriggerSpecialBeanMetaDataDeployerPlugin());
+
+ NoopBeanMetaDataDeployerPlugin noop1 = new NoopBeanMetaDataDeployerPlugin(1);
+ beanMetaDataDeployer.addControllerContextCreator(noop1);
+ NotUndeployingSpecialBeanMetaDataDeployerPlugin special = new NotUndeployingSpecialBeanMetaDataDeployerPlugin(2);
+ beanMetaDataDeployer.addControllerContextCreator(special);
+ NoopBeanMetaDataDeployerPlugin noop2 = new NoopBeanMetaDataDeployerPlugin(3);
+ beanMetaDataDeployer.addControllerContextCreator(noop2);
+ try
+ {
+ VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
+ assertDeploy(context);
+
+ assertEquals(1, NoopBeanMetaDataDeployerPlugin.getTriggered().size());
+ assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(1));
+ assertFalse(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(3));
+
+ ControllerContext test = controller.getInstalledContext("Test");
+ assertNotNull(test);
+ assertEquals(SpecialBeanMetaDataDeployerPlugin.SpecialControllerContext.class, test.getClass());
+ assertFalse(special.getUndeployedNames().contains("Test"));
+ assertUndeploy(context);
+ assertNull(controller.getContext("Test", null));
+ assertEquals(1, special.getUndeployedNames().size());
+ assertTrue(special.getUndeployedNames().contains("Test"));
+ }
+ finally
+ {
+ beanMetaDataDeployer.removeControllerContextCreator(noop1);
+ beanMetaDataDeployer.removeControllerContextCreator(special);
+ beanMetaDataDeployer.removeControllerContextCreator(noop2);
+ }
+ }
+
+ public void testSpecialControllerContextCreatorTriggeredAndHandlingUndeploy() throws Throwable
+ {
+ NoopBeanMetaDataDeployerPlugin.getTriggered().clear();
+ addDeployer(main, new TriggerSpecialBeanMetaDataDeployerPlugin());
+
+ NoopBeanMetaDataDeployerPlugin noop1 = new NoopBeanMetaDataDeployerPlugin(1);
+ beanMetaDataDeployer.addControllerContextCreator(noop1);
+ UndeployingSpecialBeanMetaDataDeployerPlugin special = new UndeployingSpecialBeanMetaDataDeployerPlugin(2);
+ beanMetaDataDeployer.addControllerContextCreator(special);
+ NoopBeanMetaDataDeployerPlugin noop2 = new NoopBeanMetaDataDeployerPlugin(3);
+ beanMetaDataDeployer.addControllerContextCreator(noop2);
+ try
+ {
+ VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
+ assertDeploy(context);
+
+ assertEquals(1, NoopBeanMetaDataDeployerPlugin.getTriggered().size());
+ assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(1));
+ assertFalse(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(3));
+
+ ControllerContext test = controller.getInstalledContext("Test");
+ assertNotNull(test);
+ assertEquals(SpecialBeanMetaDataDeployerPlugin.SpecialControllerContext.class, test.getClass());
+ assertFalse(special.getUndeployedNames().contains("Test"));
+ assertUndeploy(context);
+ assertNull(controller.getContext("Test", null));
+ assertEquals(1, special.getUndeployedNames().size());
+ assertTrue(special.getUndeployedNames().contains("Test"));
+ }
+ finally
+ {
+ beanMetaDataDeployer.removeControllerContextCreator(noop1);
+ beanMetaDataDeployer.removeControllerContextCreator(special);
+ beanMetaDataDeployer.removeControllerContextCreator(noop2);
+ }
+ }
+
+ public void testControllerContextOrder() throws Throwable
+ {
+ NoopBeanMetaDataDeployerPlugin.getTriggered().clear();
+ NoopBeanMetaDataDeployerPlugin noop6 = new NoopBeanMetaDataDeployerPlugin(6);
+ beanMetaDataDeployer.addControllerContextCreator(noop6);
+ NoopBeanMetaDataDeployerPlugin noop1 = new NoopBeanMetaDataDeployerPlugin(1);
+ beanMetaDataDeployer.addControllerContextCreator(noop1);
+ NoopBeanMetaDataDeployerPlugin noop3 = new NoopBeanMetaDataDeployerPlugin(3);
+ beanMetaDataDeployer.addControllerContextCreator(noop3);
+ NoopBeanMetaDataDeployerPlugin noop4 = new NoopBeanMetaDataDeployerPlugin(4);
+ beanMetaDataDeployer.addControllerContextCreator(noop4);
+ NoopBeanMetaDataDeployerPlugin noop2 = new NoopBeanMetaDataDeployerPlugin(2);
+ beanMetaDataDeployer.addControllerContextCreator(noop2);
+ NoopBeanMetaDataDeployerPlugin noop5 = new NoopBeanMetaDataDeployerPlugin(5);
+ beanMetaDataDeployer.addControllerContextCreator(noop5);
+ try
+ {
+ VFSDeployment context = createDeployment("/bean", "toplevel/my-beans.xml");
+ assertDeploy(context);
+
+ assertEquals(6, NoopBeanMetaDataDeployerPlugin.getTriggered().size());
+ assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(1));
+ assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(2));
+ assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(3));
+ assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(4));
+ assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(5));
+ assertTrue(NoopBeanMetaDataDeployerPlugin.getTriggered().contains(6));
+
+ int last = 0;
+ for (int i : NoopBeanMetaDataDeployerPlugin.getTriggered())
+ {
+ assertTrue(last + 1 == i);
+ last = i;
+ }
+
+ ControllerContext test = controller.getInstalledContext("Test");
+ assertNotNull(test);
+ assertEquals(AbstractKernelControllerContext.class, test.getClass());
+ assertUndeploy(context);
+ assertNull(controller.getContext("Test", null));
+ }
+ finally
+ {
+ beanMetaDataDeployer.removeControllerContextCreator(noop1);
+ beanMetaDataDeployer.removeControllerContextCreator(noop2);
+ beanMetaDataDeployer.removeControllerContextCreator(noop3);
+ beanMetaDataDeployer.removeControllerContextCreator(noop4);
+ beanMetaDataDeployer.removeControllerContextCreator(noop5);
+ beanMetaDataDeployer.removeControllerContextCreator(noop6);
+ }
+
+ }
+}
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeanScanningUnitTestCase.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeanScanningUnitTestCase.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeanScanningUnitTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -48,6 +48,8 @@
import org.jboss.kernel.Kernel;
import org.jboss.kernel.spi.dependency.KernelController;
import org.jboss.test.deployers.vfs.deployer.AbstractDeployerUnitTest;
+import org.jboss.classloader.plugins.filter.JavaOnlyClassFilter;
+import org.jboss.classloader.plugins.filter.NothingClassFilter;
/**
* BeanScanningUnitTestCase.
@@ -94,8 +96,8 @@
ClassLoaderSystem system = new DefaultClassLoaderSystem();
// allow MC annotations, so that both, deployer and tester see the same
ClassFilter mcAnnFilter = new PackageClassFilter(new String[]{"org.jboss.beans.metadata.api.annotations"});
- ClassFilter filter = new CombiningClassFilter(false, new ClassFilter[]{ClassFilter.JAVA_ONLY, mcAnnFilter});
- ParentPolicy policy = new ParentPolicy(filter, ClassFilter.NOTHING);
+ ClassFilter filter = new CombiningClassFilter(false, new ClassFilter[]{JavaOnlyClassFilter.INSTANCE, mcAnnFilter});
+ ParentPolicy policy = new ParentPolicy(filter, NothingClassFilter.INSTANCE);
system.getDefaultDomain().setParentPolicy(policy);
AbstractLevelClassLoaderSystemDeployer clsd = new AbstractLevelClassLoaderSystemDeployer();
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeansDeploymentRegistryUnitTestCase.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeansDeploymentRegistryUnitTestCase.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeansDeploymentRegistryUnitTestCase.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BeansDeploymentRegistryUnitTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,168 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.deployers.vfs.deployer.bean.test;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.spi.attachments.MutableAttachments;
+import org.jboss.deployers.structure.spi.DeploymentRegistry;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.structure.spi.helpers.AbstractDeploymentRegistry;
+import org.jboss.deployers.vfs.deployer.kernel.BeanDeployer;
+import org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer;
+import org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer;
+import org.jboss.deployers.vfs.spi.client.VFSDeployment;
+import org.jboss.kernel.Kernel;
+import org.jboss.test.deployers.support.TCCLClassLoaderDeployer;
+import org.jboss.test.deployers.vfs.deployer.AbstractDeployerUnitTest;
+
+/**
+ * BeansDeploymentRegistryUnitTestCase.
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public class BeansDeploymentRegistryUnitTestCase extends AbstractDeployerUnitTest
+{
+ private DeploymentRegistry registry;
+
+ public static Test suite()
+ {
+ return new TestSuite(BeansDeploymentRegistryUnitTestCase.class);
+ }
+
+ public BeansDeploymentRegistryUnitTestCase(String name) throws Throwable
+ {
+ super(name);
+ }
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ registry = null;
+ super.tearDown();
+ }
+
+ protected void addDeployers(Kernel kernel)
+ {
+ registry = new AbstractDeploymentRegistry();
+
+ BeanDeployer beanDeployer = new BeanDeployer();
+ KernelDeploymentDeployer kernelDeploymentDeployer = new KernelDeploymentDeployer();
+ TCCLClassLoaderDeployer tcclDeployer = new TCCLClassLoaderDeployer();
+ addDeployer(main, beanDeployer);
+ addDeployer(main, kernelDeploymentDeployer);
+ addDeployer(main, tcclDeployer);
+
+ BeanMetaDataDeployer deployer = new BeanMetaDataDeployer(kernel.getController());
+ deployer.setDeploymentRegistry(registry);
+ addDeployer(main, deployer);
+ }
+
+ public void testSuccessfulDeployment() throws Throwable
+ {
+ ControllerContext c1 = null;
+ ControllerContext c2 = null;
+ DeploymentUnit unit = null;
+
+ VFSDeployment deployment = createDeployment("/bean/multiple", "test.jar");
+ assertDeploy(deployment);
+ try
+ {
+ c1 = controller.getInstalledContext("Test1");
+ c2 = controller.getInstalledContext("Test2");
+ unit = assertDeploymentUnit(main, deployment.getName());
+
+ Set<ControllerContext> contexts = new HashSet<ControllerContext>();
+ contexts.add(c1);
+ contexts.add(c2);
+
+ assertEquals(contexts, registry.getContexts(unit));
+ assertSame(unit, registry.getDeployment(c1));
+ assertSame(unit, registry.getDeployment(c2));
+ }
+ finally
+ {
+ assertUndeploy(deployment);
+
+ assertEmpty(registry.getContexts(unit));
+ assertNull(registry.getDeployment(c1));
+ assertNull(registry.getDeployment(c2));
+ }
+ }
+
+ public void testFailedDeployment() throws Throwable
+ {
+ ControllerContext c1 = null;
+ ControllerContext c2 = null;
+ DeploymentUnit unit = null;
+
+ VFSDeployment deployment = createDeployment("/bean/multiple", "test.jar");
+ assertDeploy(deployment);
+ try
+ {
+ c1 = controller.getInstalledContext("Test1");
+ c2 = controller.getInstalledContext("Test2");
+ unit = assertDeploymentUnit(main, deployment.getName());
+
+ Set<ControllerContext> contexts = new HashSet<ControllerContext>();
+ contexts.add(c1);
+ contexts.add(c2);
+
+ assertEquals(contexts, registry.getContexts(unit));
+ assertSame(unit, registry.getDeployment(c1));
+ assertSame(unit, registry.getDeployment(c2));
+
+ Deployment failed = createSimpleDeployment("failed");
+ BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder("Foo", Object.class.getName());
+ builder.addAlias("Test1");
+ ((MutableAttachments)failed.getPredeterminedManagedObjects()).addAttachment(BeanMetaData.class, builder.getBeanMetaData());
+
+ try
+ {
+ DeploymentUnit du = addDeployment(main, failed);
+ ControllerContext foo = controller.getInstalledContext("Foo");
+ assertNull(foo);
+ assertEmpty(registry.getContexts(du));
+ }
+ finally
+ {
+ assertUndeploy(failed);
+ }
+ }
+ finally
+ {
+ assertUndeploy(deployment);
+
+ assertEmpty(registry.getContexts(unit));
+ assertNull(registry.getDeployment(c1));
+ assertNull(registry.getDeployment(c2));
+ }
+ }
+}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,65 @@
+/*
+* 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.test.deployers.vfs.deployer.bean.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.test.deployers.BootstrapDeployersTest;
+import org.jboss.test.deployers.vfs.deployer.bean.support.SpecialBeanMetaDataDeployerPlugin;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class BootstrapBeanMetaDataPluginTestCase extends BootstrapDeployersTest
+{
+ public BootstrapBeanMetaDataPluginTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return new TestSuite(BootstrapBeanMetaDataPluginTestCase.class);
+ }
+
+ public void testSpecialControllerContextCreatorTriggered() throws Throwable
+ {
+ VFSDeploymentUnit unit = null;
+ try
+ {
+ unit = assertDeploy("/bean", "toplevel/my-beans.xml");
+
+ ControllerContext test = getControllerContext("Test");
+ assertNotNull(test);
+ assertEquals(SpecialBeanMetaDataDeployerPlugin.SpecialControllerContext.class, test.getClass());
+ }
+ finally
+ {
+ undeploy(unit);
+ }
+ }
+}
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/VFSMatchersTestSuite.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/VFSMatchersTestSuite.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/VFSMatchersTestSuite.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -26,6 +26,7 @@
import junit.textui.TestRunner;
import org.jboss.test.deployers.vfs.matchers.test.FileMatchersTestCase;
import org.jboss.test.deployers.vfs.matchers.test.JarExtensionsTestCase;
+import org.jboss.test.deployers.vfs.matchers.test.NameIgnoreMechanismTestCase;
/**
* Matchers test suite.
@@ -45,6 +46,7 @@
suite.addTest(FileMatchersTestCase.suite());
suite.addTest(JarExtensionsTestCase.suite());
+ suite.addTest(NameIgnoreMechanismTestCase.suite());
return suite;
}
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/support/FeedbackDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/support/FeedbackDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/support/FeedbackDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -23,6 +23,7 @@
import java.util.Set;
import java.util.TreeSet;
+import java.util.List;
import org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
@@ -33,11 +34,11 @@
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
-public abstract class FeedbackDeployer extends AbstractVFSParsingDeployer<Object>
+public class FeedbackDeployer extends AbstractVFSParsingDeployer<Object>
{
private Set<String> files = new TreeSet<String>();
- protected FeedbackDeployer()
+ public FeedbackDeployer()
{
super(Object.class);
}
@@ -52,4 +53,14 @@
{
return files;
}
+
+ @Override
+ protected Object mergeFiles(VFSDeploymentUnit unit, Object root, List<VirtualFile> files, Set<String> missingFiles) throws Exception
+ {
+ for (VirtualFile file : files)
+ {
+ parse(unit, file, root);
+ }
+ return null;
+ }
}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/support/NIMDeployer.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/support/NIMDeployer.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/support/NIMDeployer.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/support/NIMDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,47 @@
+/*
+ * 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.deployers.vfs.matchers.support;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
+import org.jboss.deployers.spi.deployer.matchers.NameIgnoreMechanism;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class NIMDeployer extends AbstractDeployer
+{
+ private NameIgnoreMechanism mechanism;
+
+ public NIMDeployer(NameIgnoreMechanism mechanism)
+ {
+ setStage(DeploymentStages.PRE_PARSE);
+ this.mechanism = mechanism;
+ }
+
+ public void deploy(DeploymentUnit unit) throws DeploymentException
+ {
+ unit.addAttachment(NameIgnoreMechanism.class, mechanism);
+ }
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/test/NameIgnoreMechanismTestCase.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/test/NameIgnoreMechanismTestCase.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/test/NameIgnoreMechanismTestCase.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/matchers/test/NameIgnoreMechanismTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,114 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.deployers.vfs.matchers.test;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+
+import junit.framework.Test;
+import org.jboss.deployers.client.spi.DeployerClient;
+import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.spi.deployer.helpers.CollectionNameIgnoreMechanism;
+import org.jboss.deployers.vfs.plugins.structure.jar.JARStructure;
+import org.jboss.test.deployers.BaseDeployersVFSTest;
+import org.jboss.test.deployers.vfs.matchers.support.FeedbackDeployer;
+import org.jboss.test.deployers.vfs.matchers.support.NIMDeployer;
+
+/**
+ * Name ignore mechanism tests.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class NameIgnoreMechanismTestCase extends BaseDeployersVFSTest
+{
+ public NameIgnoreMechanismTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return suite(NameIgnoreMechanismTestCase.class);
+ }
+
+ protected void testNameIgnoreMechanism(FeedbackDeployer fbd, int size) throws Throwable
+ {
+ NIMDeployer nimd = new NIMDeployer(new CollectionNameIgnoreMechanism(Collections.singleton("fst.txt")));
+
+ DeployerClient main = createMainDeployer(fbd, nimd);
+ addStructureDeployer(main, new JARStructure());
+
+ Deployment deployment = createDeployment("/matchers", "ignore");
+ main.deploy(deployment);
+
+ assertEquals(size, fbd.getFiles().size());
+ assertFalse(fbd.getFiles().contains("fst.txt"));
+ }
+
+ public void testSingleNameNoSuffix() throws Throwable
+ {
+ FeedbackDeployer fbd1 = new FeedbackDeployer();
+ fbd1.setName("empty.txt");
+ FeedbackDeployer fbd2 = new FeedbackDeployer();
+ fbd2.setName("fst.txt");
+ NIMDeployer nimd = new NIMDeployer(new CollectionNameIgnoreMechanism(Collections.singleton("fst.txt")));
+
+ DeployerClient main = createMainDeployer(fbd1, fbd2, nimd);
+ addStructureDeployer(main, new JARStructure());
+
+ Deployment deployment = createDeployment("/matchers", "ignore");
+ main.deploy(deployment);
+
+ assertFalse(fbd1.getFiles().isEmpty());
+ assertEmpty(fbd2.getFiles());
+ }
+
+ public void testMultipleNamesNoSuffix() throws Throwable
+ {
+ FeedbackDeployer fbd = new FeedbackDeployer();
+ Set<String> names = new HashSet<String>(Arrays.asList("empty.txt", "fst.txt", "snd.txt"));
+ fbd.setNames(names);
+
+ testNameIgnoreMechanism(fbd, 2);
+ }
+
+ public void testNoNameJustSuffix() throws Throwable
+ {
+ FeedbackDeployer fbd = new FeedbackDeployer();
+ fbd.setSuffix(".txt");
+ fbd.setAllowMultipleFiles(true);
+
+ testNameIgnoreMechanism(fbd, 2);
+ }
+
+ public void testNamesWithSuffix() throws Throwable
+ {
+ FeedbackDeployer fbd = new FeedbackDeployer();
+ Set<String> names = new HashSet<String>(Arrays.asList("empty.txt", "fst.txt", "snd.txt"));
+ fbd.setNames(names);
+ fbd.setSuffix(".tmp");
+
+ testNameIgnoreMechanism(fbd, 3);
+ }
+}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/ReflectTestSuite.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/ReflectTestSuite.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/ReflectTestSuite.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -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.test.deployers.vfs.reflect;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
-import org.jboss.test.deployers.vfs.reflect.test.ClassPoolTestCase;
-import org.jboss.test.deployers.vfs.reflect.test.IntrospectionTypeInfoTestCase;
-import org.jboss.test.deployers.vfs.reflect.test.JavassistTypeInfoTestCase;
-
-/**
- * Reflect test suite.
- *
- * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class ReflectTestSuite extends TestSuite
-{
- public static void main(String[] args)
- {
- TestRunner.run(suite());
- }
-
- public static Test suite()
- {
- TestSuite suite = new TestSuite("VFS ReflectTests");
-
- suite.addTest(ClassPoolTestCase.suite());
- suite.addTest(IntrospectionTypeInfoTestCase.suite());
- suite.addTest(JavassistTypeInfoTestCase.suite());
-
- return suite;
- }
-}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/ReflectTestSuite.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/ReflectTestSuite.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/ReflectTestSuite.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/ReflectTestSuite.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -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.test.deployers.vfs.reflect;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+import org.jboss.test.deployers.vfs.reflect.test.ClassPoolTestCase;
+import org.jboss.test.deployers.vfs.reflect.test.IntrospectionTypeInfoTestCase;
+import org.jboss.test.deployers.vfs.reflect.test.JavassistTypeInfoTestCase;
+
+/**
+ * Reflect test suite.
+ *
+ * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class ReflectTestSuite extends TestSuite
+{
+ public static void main(String[] args)
+ {
+ TestRunner.run(suite());
+ }
+
+ public static Test suite()
+ {
+ TestSuite suite = new TestSuite("VFS ReflectTests");
+
+ suite.addTest(ClassPoolTestCase.suite());
+ suite.addTest(IntrospectionTypeInfoTestCase.suite());
+ suite.addTest(JavassistTypeInfoTestCase.suite());
+
+ return suite;
+ }
+}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/MockWarClassLoaderDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/MockWarClassLoaderDeployer.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/MockWarClassLoaderDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,109 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.deployers.vfs.reflect.support;
-
-import org.jboss.classloader.spi.filter.ClassFilter;
-import org.jboss.classloader.spi.filter.RecursivePackageClassFilter;
-import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
-import org.jboss.classloading.spi.metadata.ExportAll;
-import org.jboss.classloading.spi.version.Version;
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.deployer.DeploymentStages;
-import org.jboss.deployers.vfs.spi.deployer.AbstractVFSRealDeployer;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-
-/**
- * MockWarClassLoaderDeployer based on WarClassLoaderDeployer.
- *
- * @author Scott.Stark at jboss.org
- * @author adrian at jboss.org
- * @author ales.justin at jboss.org
- * @author <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
- */
-public class MockWarClassLoaderDeployer extends AbstractVFSRealDeployer
-{
- /** The parent class loader first model flag */
- private boolean java2ClassLoadingCompliance = false;
-
- /** Package names that should be ignored for class loading */
- private String filteredPackages;
-
- /**
- * Create a new WarClassLoaderDeployer.
- */
- public MockWarClassLoaderDeployer()
- {
- setStage(DeploymentStages.POST_PARSE);
- addInput(ClassLoadingMetaData.class);
- setOutput(ClassLoadingMetaData.class);
- }
-
- public boolean isJava2ClassLoadingCompliance()
- {
- return java2ClassLoadingCompliance;
- }
-
- public void setJava2ClassLoadingCompliance(boolean flag)
- {
- this.java2ClassLoadingCompliance = flag;
- }
-
- public String getFilteredPackages()
- {
- return filteredPackages;
- }
- public void setFilteredPackages(String pkgs)
- {
- this.filteredPackages = pkgs;
- }
-
- public void deploy(VFSDeploymentUnit unit) throws DeploymentException
- {
- // ignore if it already has classloading or not war deployment
- if (unit.getSimpleName().endsWith(".war") == false || unit.isAttachmentPresent(ClassLoadingMetaData.class))
- return;
-
- // The default domain name is the unit name
- String domainName = unit.getName();
-
- // The default classloading compliance is on the deployer
- boolean j2seClassLoadingCompliance = java2ClassLoadingCompliance;
-
- // Create a classloading metadata
- // NOTE: Don't explicitly set the parentDomain otherwise it will create a top level classloader
- // for subdeployments rather than a classloader hanging off the main deployment's classloader
- ClassLoadingMetaData classLoadingMetaData = new ClassLoadingMetaData();
- classLoadingMetaData.setName(unit.getName());
- classLoadingMetaData.setDomain(domainName);
- classLoadingMetaData.setExportAll(ExportAll.NON_EMPTY);
- classLoadingMetaData.setImportAll(true);
- classLoadingMetaData.setVersion(Version.DEFAULT_VERSION);
- classLoadingMetaData.setJ2seClassLoadingCompliance(j2seClassLoadingCompliance);
- ClassFilter filter;
- if (filteredPackages != null)
- {
- filter = RecursivePackageClassFilter.createRecursivePackageClassFilterFromString(filteredPackages);
- classLoadingMetaData.setExcluded(filter);
- }
- unit.addAttachment(ClassLoadingMetaData.class, classLoadingMetaData);
- }
-}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/MockWarClassLoaderDeployer.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/MockWarClassLoaderDeployer.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/MockWarClassLoaderDeployer.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/MockWarClassLoaderDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,109 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.deployers.vfs.reflect.support;
+
+import org.jboss.classloader.spi.filter.ClassFilter;
+import org.jboss.classloader.spi.filter.RecursivePackageClassFilter;
+import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
+import org.jboss.classloading.spi.metadata.ExportAll;
+import org.jboss.classloading.spi.version.Version;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.vfs.spi.deployer.AbstractVFSRealDeployer;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+
+/**
+ * MockWarClassLoaderDeployer based on WarClassLoaderDeployer.
+ *
+ * @author Scott.Stark at jboss.org
+ * @author adrian at jboss.org
+ * @author ales.justin at jboss.org
+ * @author <a href="flavia.rainone at jboss.com">Flavia Rainone</a>
+ */
+public class MockWarClassLoaderDeployer extends AbstractVFSRealDeployer
+{
+ /** The parent class loader first model flag */
+ private boolean java2ClassLoadingCompliance = false;
+
+ /** Package names that should be ignored for class loading */
+ private String filteredPackages;
+
+ /**
+ * Create a new WarClassLoaderDeployer.
+ */
+ public MockWarClassLoaderDeployer()
+ {
+ setStage(DeploymentStages.POST_PARSE);
+ addInput(ClassLoadingMetaData.class);
+ setOutput(ClassLoadingMetaData.class);
+ }
+
+ public boolean isJava2ClassLoadingCompliance()
+ {
+ return java2ClassLoadingCompliance;
+ }
+
+ public void setJava2ClassLoadingCompliance(boolean flag)
+ {
+ this.java2ClassLoadingCompliance = flag;
+ }
+
+ public String getFilteredPackages()
+ {
+ return filteredPackages;
+ }
+ public void setFilteredPackages(String pkgs)
+ {
+ this.filteredPackages = pkgs;
+ }
+
+ public void deploy(VFSDeploymentUnit unit) throws DeploymentException
+ {
+ // ignore if it already has classloading or not war deployment
+ if (unit.getSimpleName().endsWith(".war") == false || unit.isAttachmentPresent(ClassLoadingMetaData.class))
+ return;
+
+ // The default domain name is the unit name
+ String domainName = unit.getName();
+
+ // The default classloading compliance is on the deployer
+ boolean j2seClassLoadingCompliance = java2ClassLoadingCompliance;
+
+ // Create a classloading metadata
+ // NOTE: Don't explicitly set the parentDomain otherwise it will create a top level classloader
+ // for subdeployments rather than a classloader hanging off the main deployment's classloader
+ ClassLoadingMetaData classLoadingMetaData = new ClassLoadingMetaData();
+ classLoadingMetaData.setName(unit.getName());
+ classLoadingMetaData.setDomain(domainName);
+ classLoadingMetaData.setExportAll(ExportAll.NON_EMPTY);
+ classLoadingMetaData.setImportAll(true);
+ classLoadingMetaData.setVersion(Version.DEFAULT_VERSION);
+ classLoadingMetaData.setJ2seClassLoadingCompliance(j2seClassLoadingCompliance);
+ ClassFilter filter;
+ if (filteredPackages != null)
+ {
+ filter = RecursivePackageClassFilter.createRecursivePackageClassFilterFromString(filteredPackages);
+ classLoadingMetaData.setExcluded(filter);
+ }
+ unit.addAttachment(ClassLoadingMetaData.class, classLoadingMetaData);
+ }
+}
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/PoolFactoryInitializer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/PoolFactoryInitializer.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/PoolFactoryInitializer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,56 +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.deployers.vfs.reflect.support;
-
-import javassist.scopedpool.ScopedClassPoolRepository;
-
-import org.jboss.reflect.plugins.javassist.JavassistTypeInfoFactoryImpl;
-import org.jboss.reflect.plugins.javassist.classpool.ClassPoolFactory;
-import org.jboss.reflect.plugins.javassist.classpool.DefaultClassPoolFactory;
-import org.jboss.reflect.plugins.javassist.classpool.RepositoryClassPoolFactory;
-
-/**
- * Initializes the pool factory.
- *
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
- */
-public class PoolFactoryInitializer
-{
- private ScopedClassPoolRepository poolRepository;
-
- public PoolFactoryInitializer(ScopedClassPoolRepository repository)
- {
- this.poolRepository = repository;
- }
-
- public void start()
- {
- ClassPoolFactory classPoolFactory = new RepositoryClassPoolFactory(poolRepository);
- JavassistTypeInfoFactoryImpl.setPoolFactory(classPoolFactory);
- }
-
- public void stop()
- {
- JavassistTypeInfoFactoryImpl.setPoolFactory(DefaultClassPoolFactory.getInstance());
- }
-}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/PoolFactoryInitializer.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/PoolFactoryInitializer.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/PoolFactoryInitializer.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/PoolFactoryInitializer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,56 @@
+/*
+ * 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.deployers.vfs.reflect.support;
+
+import javassist.scopedpool.ScopedClassPoolRepository;
+
+import org.jboss.reflect.plugins.javassist.JavassistTypeInfoFactoryImpl;
+import org.jboss.reflect.plugins.javassist.classpool.ClassPoolFactory;
+import org.jboss.reflect.plugins.javassist.classpool.DefaultClassPoolFactory;
+import org.jboss.reflect.plugins.javassist.classpool.RepositoryClassPoolFactory;
+
+/**
+ * Initializes the pool factory.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
+ */
+public class PoolFactoryInitializer
+{
+ private ScopedClassPoolRepository poolRepository;
+
+ public PoolFactoryInitializer(ScopedClassPoolRepository repository)
+ {
+ this.poolRepository = repository;
+ }
+
+ public void start()
+ {
+ ClassPoolFactory classPoolFactory = new RepositoryClassPoolFactory(poolRepository);
+ JavassistTypeInfoFactoryImpl.setPoolFactory(classPoolFactory);
+ }
+
+ public void stop()
+ {
+ JavassistTypeInfoFactoryImpl.setPoolFactory(DefaultClassPoolFactory.getInstance());
+ }
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/crm (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/crm)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/crm/CrmFacade.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/crm/CrmFacade.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/crm/CrmFacade.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,33 +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.deployers.vfs.reflect.support.crm;
-
-/**
- *
- * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
- *
- * @version $Revision$
- */
-public class CrmFacade
-{
-
-}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/crm/CrmFacade.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/crm/CrmFacade.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/crm/CrmFacade.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/crm/CrmFacade.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,33 @@
+/*
+ * 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.deployers.vfs.reflect.support.crm;
+
+/**
+ *
+ * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
+ *
+ * @version $Revision$
+ */
+public class CrmFacade
+{
+
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/BusinessInterface.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/BusinessInterface.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/BusinessInterface.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,32 +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.deployers.vfs.reflect.support.ejb;
-
-/**
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- *
- * @version $Revision$
- */
-public interface BusinessInterface
-{
- int add(int x, int y);
-}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/BusinessInterface.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/BusinessInterface.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/BusinessInterface.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/BusinessInterface.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,32 @@
+/*
+ * 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.deployers.vfs.reflect.support.ejb;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ *
+ * @version $Revision$
+ */
+public interface BusinessInterface
+{
+ int add(int x, int y);
+}
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/MySLSBean.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/MySLSBean.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/MySLSBean.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -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.deployers.vfs.reflect.support.ejb;
-
-/**
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- *
- * @version $Revision$
- */
-public class MySLSBean implements BusinessInterface
-{
- public int add(int x, int y)
- {
- return x + y;
- }
-}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/MySLSBean.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/MySLSBean.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/MySLSBean.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ejb/MySLSBean.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -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.deployers.vfs.reflect.support.ejb;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ *
+ * @version $Revision$
+ */
+public class MySLSBean implements BusinessInterface
+{
+ public int add(int x, int y)
+ {
+ return x + y;
+ }
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ext (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ext)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ext/External.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ext/External.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ext/External.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,31 +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.deployers.vfs.reflect.support.ext;
-
-/**
- * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
- *
- * @version $Revision$
- */
-public class External
-{
-}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ext/External.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ext/External.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ext/External.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ext/External.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,31 @@
+/*
+ * 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.deployers.vfs.reflect.support.ext;
+
+/**
+ * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
+ *
+ * @version $Revision$
+ */
+public class External
+{
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jar (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jar)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jar/PlainJavaBean.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jar/PlainJavaBean.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jar/PlainJavaBean.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,31 +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.deployers.vfs.reflect.support.jar;
-
-/**
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- *
- * @version $Revision$
- */
-public class PlainJavaBean
-{
-}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jar/PlainJavaBean.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jar/PlainJavaBean.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jar/PlainJavaBean.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jar/PlainJavaBean.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,31 @@
+/*
+ * 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.deployers.vfs.reflect.support.jar;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ *
+ * @version $Revision$
+ */
+public class PlainJavaBean
+{
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jsf (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jsf)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jsf/JsfBean.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jsf/JsfBean.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jsf/JsfBean.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,34 +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.deployers.vfs.reflect.support.jsf;
-
-
-/**
- *
- * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
- *
- * @version $Revision$
- */
-public class JsfBean
-{
-
-}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jsf/JsfBean.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jsf/JsfBean.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jsf/JsfBean.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/jsf/JsfBean.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,34 @@
+/*
+ * 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.deployers.vfs.reflect.support.jsf;
+
+
+/**
+ *
+ * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
+ *
+ * @version $Revision$
+ */
+public class JsfBean
+{
+
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/service (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/service)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/service/SomeMBean.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/service/SomeMBean.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/service/SomeMBean.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,33 +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.deployers.vfs.reflect.support.service;
-
-/**
- *
- * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
- *
- * @version $Revision$
- */
-public class SomeMBean
-{
-
-}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/service/SomeMBean.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/service/SomeMBean.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/service/SomeMBean.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/service/SomeMBean.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,33 @@
+/*
+ * 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.deployers.vfs.reflect.support.service;
+
+/**
+ *
+ * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
+ *
+ * @version $Revision$
+ */
+public class SomeMBean
+{
+
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/tif (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/tif)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/tif/TIFTester.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/tif/TIFTester.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/tif/TIFTester.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -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.deployers.vfs.reflect.support.tif;
-
-import org.jboss.test.deployers.vfs.reflect.support.web.AnyServlet;
-
-/**
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- */
-public class TIFTester
-{
- public AnyServlet getAnys()
- {
- return new AnyServlet();
- }
-}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/tif/TIFTester.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/tif/TIFTester.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/tif/TIFTester.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/tif/TIFTester.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -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.deployers.vfs.reflect.support.tif;
+
+import org.jboss.test.deployers.vfs.reflect.support.web.AnyServlet;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class TIFTester
+{
+ public AnyServlet getAnys()
+ {
+ return new AnyServlet();
+ }
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ui (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ui)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ui/UIBean.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ui/UIBean.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ui/UIBean.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,33 +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.deployers.vfs.reflect.support.ui;
-
-/**
- *
- * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
- *
- * @version $Revision$
- */
-public class UIBean
-{
-
-}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ui/UIBean.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ui/UIBean.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ui/UIBean.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/ui/UIBean.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,33 @@
+/*
+ * 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.deployers.vfs.reflect.support.ui;
+
+/**
+ *
+ * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
+ *
+ * @version $Revision$
+ */
+public class UIBean
+{
+
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/util (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/util)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/util/SomeUtil.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/util/SomeUtil.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/util/SomeUtil.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,31 +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.deployers.vfs.reflect.support.util;
-
-/**
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- *
- * @version $Revision$
- */
-public class SomeUtil
-{
-}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/util/SomeUtil.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/util/SomeUtil.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/util/SomeUtil.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/util/SomeUtil.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,31 @@
+/*
+ * 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.deployers.vfs.reflect.support.util;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ *
+ * @version $Revision$
+ */
+public class SomeUtil
+{
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/web (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/web)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/web/AnyServlet.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/web/AnyServlet.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/web/AnyServlet.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,38 +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.deployers.vfs.reflect.support.web;
-
-import org.jboss.test.deployers.vfs.reflect.support.jar.PlainJavaBean;
-
-/**
- *
- * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
- *
- * @version $Revision$
- */
-public class AnyServlet
-{
- public PlainJavaBean getBean()
- {
- return new PlainJavaBean();
- }
-}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/web/AnyServlet.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/web/AnyServlet.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/web/AnyServlet.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/support/web/AnyServlet.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,38 @@
+/*
+ * 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.deployers.vfs.reflect.support.web;
+
+import org.jboss.test.deployers.vfs.reflect.support.jar.PlainJavaBean;
+
+/**
+ *
+ * @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
+ *
+ * @version $Revision$
+ */
+public class AnyServlet
+{
+ public PlainJavaBean getBean()
+ {
+ return new PlainJavaBean();
+ }
+}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTest.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTest.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTest.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,176 +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.deployers.vfs.reflect.test;
-
-import java.util.Map;
-
-import javassist.ClassPool;
-import javassist.CtClass;
-import javassist.CtMethod;
-import javassist.scopedpool.ScopedClassPoolRepository;
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.reflect.plugins.javassist.JavassistTypeInfoFactory;
-import org.jboss.reflect.spi.TypeInfoFactory;
-import org.jboss.test.deployers.vfs.reflect.support.jar.PlainJavaBean;
-import org.jboss.test.deployers.vfs.reflect.support.web.AnyServlet;
-import org.jboss.virtual.VirtualFile;
-
-/**
- * Abstract test for ClassPool.
- *
- * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- *
- * @version $Revision$
- */
-public abstract class ClassPoolTest extends ReflectTest
-{
- protected ScopedClassPoolRepository classPoolRepository = null;
-
- protected ClassPoolTest(String name)
- {
- super(name);
- }
-
- @Override
- public void setUp() throws Exception
- {
- super.setUp();
- classPoolRepository = (ScopedClassPoolRepository) getBean("ClassPoolRepository");
- assertNotNull(classPoolRepository);
- }
-
- @Override
- protected void tearDown() throws Exception
- {
- classPoolRepository = null;
- super.tearDown();
- }
-
- protected TypeInfoFactory createTypeInfoFactory()
- {
- return new JavassistTypeInfoFactory();
- }
-
- protected void assertReflect(VirtualFile file, Map<Class<?>, String> classes) throws Exception
- {
- DeploymentUnit unit = assertDeploy(file);
- try
- {
- for (Map.Entry<Class<?>, String> entry : classes.entrySet())
- {
- DeploymentUnit du = getDeploymentUnit(unit, entry.getValue());
- ClassLoader classLoader = getClassLoader(du);
- Class<?> clazz = entry.getKey();
- String className = clazz.getName();
- // sanity check
- Class<?> loadedClass = assertLoadClass(className, classLoader);
- ClassPool classPool = classPoolRepository.registerClassLoader(classLoader);
- assertNotNull("ClassPool for " + classLoader + " is null", classPool);
- CtClass ctClass = classPool.getCtClass(className);
- assertNotNull("Class" + className + " retrieved from pool " + classPool + " is null", ctClass);
- assertEquals(className, clazz.getName());
- ClassLoader cl = ctClass.getClassPool().getClassLoader();
- assertEquals("Class has been loaded by the wrong class loader: " + clazz.getName(), loadedClass.getClassLoader(), cl);
- }
- }
- finally
- {
- undeploy(unit);
- }
- }
-
- protected void assertSimpleHierarchy(ClassLoader topCL, ClassLoader childCL) throws Exception
- {
- ClassPool classPool = classPoolRepository.registerClassLoader(childCL);
- CtClass ctClass = classPool.getCtClass(AnyServlet.class.getName());
- CtMethod ctMethod = ctClass.getDeclaredMethod("getBean");
- assertNotNull("No such 'getBean' method on " + ctClass, ctMethod);
-
- CtClass returnCtClass = ctMethod.getReturnType();
- classPool = classPoolRepository.registerClassLoader(topCL);
- CtClass returnCtClass2 = classPool.getCtClass(PlainJavaBean.class.getName());
- assertSame(returnCtClass, returnCtClass2);
- }
-
- protected void assertNonDeploymentModule(ClassLoader cl, Class<?> anysClass) throws Exception
- {
- ClassPool classPool = classPoolRepository.registerClassLoader(cl);
- CtClass asClass = classPool.getCtClass(anysClass.getName());
- CtClass pjbClass = classPool.getCtClass(PlainJavaBean.class.getName());
- CtClass rtClass = asClass.getDeclaredMethod("getBean").getReturnType();
- assertEquals(pjbClass, rtClass);
- }
-
- protected void assertNonDeploymentModule(ClassLoader cl, Class<?> anysClass, Class<?> tifClass) throws Exception
- {
- ClassPool classPool = classPoolRepository.registerClassLoader(cl);
- ClassPool tifClassPool = classPoolRepository.registerClassLoader(tifClass.getClassLoader());
- ClassPool anysClassPool = classPoolRepository.registerClassLoader(anysClass.getClassLoader());
-
- CtClass tifCtClass = tifClassPool.getCtClass(tifClass.getName());
- CtClass tifRT = tifCtClass.getDeclaredMethod("getAnys").getReturnType();
- CtClass asCtClass = anysClassPool.getCtClass(anysClass.getName());
- assertEquals(tifRT, asCtClass);
-
- CtClass pjbCtClass = classPool.getCtClass(PlainJavaBean.class.getName());
- CtClass rtL = asCtClass.getDeclaredMethod("getBean").getReturnType();
- assertEquals(pjbCtClass, rtL);
- }
-
- protected void assertIsolated(ClassLoader cl1, ClassLoader cl2, Class<?> clazz1, Class<?> clazz2) throws Exception
- {
- ClassPool classPool1 = classPoolRepository.registerClassLoader(cl1);
- ClassPool classPool2 = classPoolRepository.registerClassLoader(cl2);
-
- CtClass class1 = classPool1.getCtClass(PlainJavaBean.class.getName());
- CtClass class2 = classPool2.getCtClass(PlainJavaBean.class.getName());
- assertNotSame(class1, class2);
-
- ClassPool classPool3 = classPoolRepository.registerClassLoader(clazz1.getClassLoader());
- CtClass class3 = classPool3.getCtClass(clazz1.getName());
- assertEquals(class1, class3);
-
- ClassPool classPool4 = classPoolRepository.registerClassLoader(clazz2.getClassLoader());
- CtClass class4 = classPool4.getCtClass(clazz2.getName());
- assertEquals(class2, class4);
-
- assertNotSame(class3, class4);
- }
-
- protected void assertDomainHierarchy(ClassLoader topCL, ClassLoader leftCL, ClassLoader rightCL) throws Exception
- {
- ClassPool topClassPool = classPoolRepository.registerClassLoader(topCL);
- ClassPool leftClassPool = classPoolRepository.registerClassLoader(leftCL);
- ClassPool rightClassPool = classPoolRepository.registerClassLoader(rightCL);
- CtClass pjbClass = topClassPool.getCtClass(PlainJavaBean.class.getName());
- CtClass asClassL = leftClassPool.getCtClass(AnyServlet.class.getName());
- CtClass asClassR = rightClassPool.getCtClass(AnyServlet.class.getName());
-
- CtClass rtClassL = asClassL.getDeclaredMethod("getBean").getReturnType();
- assertEquals(pjbClass, rtClassL);
-
- CtClass rtClassR = asClassR.getDeclaredMethod("getBean").getReturnType();
- assertEquals(pjbClass, rtClassR);
- }
-}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTest.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTest.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTest.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTest.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,176 @@
+/*
+ * 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.deployers.vfs.reflect.test;
+
+import java.util.Map;
+
+import javassist.ClassPool;
+import javassist.CtClass;
+import javassist.CtMethod;
+import javassist.scopedpool.ScopedClassPoolRepository;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.reflect.plugins.javassist.JavassistTypeInfoFactory;
+import org.jboss.reflect.spi.TypeInfoFactory;
+import org.jboss.test.deployers.vfs.reflect.support.jar.PlainJavaBean;
+import org.jboss.test.deployers.vfs.reflect.support.web.AnyServlet;
+import org.jboss.vfs.VirtualFile;
+
+/**
+ * Abstract test for ClassPool.
+ *
+ * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ *
+ * @version $Revision$
+ */
+public abstract class ClassPoolTest extends ReflectTest
+{
+ protected ScopedClassPoolRepository classPoolRepository = null;
+
+ protected ClassPoolTest(String name)
+ {
+ super(name);
+ }
+
+ @Override
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ classPoolRepository = (ScopedClassPoolRepository) getBean("ClassPoolRepository");
+ assertNotNull(classPoolRepository);
+ }
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ classPoolRepository = null;
+ super.tearDown();
+ }
+
+ protected TypeInfoFactory createTypeInfoFactory()
+ {
+ return new JavassistTypeInfoFactory();
+ }
+
+ protected void assertReflect(VirtualFile file, Map<Class<?>, String> classes) throws Exception
+ {
+ DeploymentUnit unit = assertDeploy(file);
+ try
+ {
+ for (Map.Entry<Class<?>, String> entry : classes.entrySet())
+ {
+ DeploymentUnit du = getDeploymentUnit(unit, entry.getValue());
+ ClassLoader classLoader = getClassLoader(du);
+ Class<?> clazz = entry.getKey();
+ String className = clazz.getName();
+ // sanity check
+ Class<?> loadedClass = assertLoadClass(className, classLoader);
+ ClassPool classPool = classPoolRepository.registerClassLoader(classLoader);
+ assertNotNull("ClassPool for " + classLoader + " is null", classPool);
+ CtClass ctClass = classPool.getCtClass(className);
+ assertNotNull("Class" + className + " retrieved from pool " + classPool + " is null", ctClass);
+ assertEquals(className, clazz.getName());
+ ClassLoader cl = ctClass.getClassPool().getClassLoader();
+ assertEquals("Class has been loaded by the wrong class loader: " + clazz.getName(), loadedClass.getClassLoader(), cl);
+ }
+ }
+ finally
+ {
+ undeploy(unit);
+ }
+ }
+
+ protected void assertSimpleHierarchy(ClassLoader topCL, ClassLoader childCL) throws Exception
+ {
+ ClassPool classPool = classPoolRepository.registerClassLoader(childCL);
+ CtClass ctClass = classPool.getCtClass(AnyServlet.class.getName());
+ CtMethod ctMethod = ctClass.getDeclaredMethod("getBean");
+ assertNotNull("No such 'getBean' method on " + ctClass, ctMethod);
+
+ CtClass returnCtClass = ctMethod.getReturnType();
+ classPool = classPoolRepository.registerClassLoader(topCL);
+ CtClass returnCtClass2 = classPool.getCtClass(PlainJavaBean.class.getName());
+ assertSame(returnCtClass, returnCtClass2);
+ }
+
+ protected void assertNonDeploymentModule(ClassLoader cl, Class<?> anysClass) throws Exception
+ {
+ ClassPool classPool = classPoolRepository.registerClassLoader(cl);
+ CtClass asClass = classPool.getCtClass(anysClass.getName());
+ CtClass pjbClass = classPool.getCtClass(PlainJavaBean.class.getName());
+ CtClass rtClass = asClass.getDeclaredMethod("getBean").getReturnType();
+ assertEquals(pjbClass, rtClass);
+ }
+
+ protected void assertNonDeploymentModule(ClassLoader cl, Class<?> anysClass, Class<?> tifClass) throws Exception
+ {
+ ClassPool classPool = classPoolRepository.registerClassLoader(cl);
+ ClassPool tifClassPool = classPoolRepository.registerClassLoader(tifClass.getClassLoader());
+ ClassPool anysClassPool = classPoolRepository.registerClassLoader(anysClass.getClassLoader());
+
+ CtClass tifCtClass = tifClassPool.getCtClass(tifClass.getName());
+ CtClass tifRT = tifCtClass.getDeclaredMethod("getAnys").getReturnType();
+ CtClass asCtClass = anysClassPool.getCtClass(anysClass.getName());
+ assertEquals(tifRT, asCtClass);
+
+ CtClass pjbCtClass = classPool.getCtClass(PlainJavaBean.class.getName());
+ CtClass rtL = asCtClass.getDeclaredMethod("getBean").getReturnType();
+ assertEquals(pjbCtClass, rtL);
+ }
+
+ protected void assertIsolated(ClassLoader cl1, ClassLoader cl2, Class<?> clazz1, Class<?> clazz2) throws Exception
+ {
+ ClassPool classPool1 = classPoolRepository.registerClassLoader(cl1);
+ ClassPool classPool2 = classPoolRepository.registerClassLoader(cl2);
+
+ CtClass class1 = classPool1.getCtClass(PlainJavaBean.class.getName());
+ CtClass class2 = classPool2.getCtClass(PlainJavaBean.class.getName());
+ assertNotSame(class1, class2);
+
+ ClassPool classPool3 = classPoolRepository.registerClassLoader(clazz1.getClassLoader());
+ CtClass class3 = classPool3.getCtClass(clazz1.getName());
+ assertEquals(class1, class3);
+
+ ClassPool classPool4 = classPoolRepository.registerClassLoader(clazz2.getClassLoader());
+ CtClass class4 = classPool4.getCtClass(clazz2.getName());
+ assertEquals(class2, class4);
+
+ assertNotSame(class3, class4);
+ }
+
+ protected void assertDomainHierarchy(ClassLoader topCL, ClassLoader leftCL, ClassLoader rightCL) throws Exception
+ {
+ ClassPool topClassPool = classPoolRepository.registerClassLoader(topCL);
+ ClassPool leftClassPool = classPoolRepository.registerClassLoader(leftCL);
+ ClassPool rightClassPool = classPoolRepository.registerClassLoader(rightCL);
+ CtClass pjbClass = topClassPool.getCtClass(PlainJavaBean.class.getName());
+ CtClass asClassL = leftClassPool.getCtClass(AnyServlet.class.getName());
+ CtClass asClassR = rightClassPool.getCtClass(AnyServlet.class.getName());
+
+ CtClass rtClassL = asClassL.getDeclaredMethod("getBean").getReturnType();
+ assertEquals(pjbClass, rtClassL);
+
+ CtClass rtClassR = asClassR.getDeclaredMethod("getBean").getReturnType();
+ assertEquals(pjbClass, rtClassR);
+ }
+}
\ No newline at end of file
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,45 +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.deployers.vfs.reflect.test;
-
-import junit.framework.Test;
-
-/**
- * Test case for ClassPool.
- *
- * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- *
- * @version $Revision$
- */
-public class ClassPoolTestCase extends ClassPoolTest
-{
- public ClassPoolTestCase(String name)
- {
- super(name);
- }
-
- public static Test suite()
- {
- return suite(ClassPoolTestCase.class);
- }
-}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,45 @@
+/*
+ * 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.deployers.vfs.reflect.test;
+
+import junit.framework.Test;
+
+/**
+ * Test case for ClassPool.
+ *
+ * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ *
+ * @version $Revision$
+ */
+public class ClassPoolTestCase extends ClassPoolTest
+{
+ public ClassPoolTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return suite(ClassPoolTestCase.class);
+ }
+}
\ No newline at end of file
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,51 +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.deployers.vfs.reflect.test;
-
-import junit.framework.Test;
-import org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactory;
-import org.jboss.reflect.spi.TypeInfoFactory;
-
-/**
- * Introspection test case for TypeInfo.
- *
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- *
- * @version $Revision: 95613 $
- */
-public class IntrospectionTypeInfoTestCase extends TypeInfoTest
-{
- public IntrospectionTypeInfoTestCase(String name)
- {
- super(name);
- }
-
- public static Test suite()
- {
- return suite(IntrospectionTypeInfoTestCase.class);
- }
-
- protected TypeInfoFactory createTypeInfoFactory()
- {
- return new IntrospectionTypeInfoFactory();
- }
-}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,51 @@
+/*
+ * 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.deployers.vfs.reflect.test;
+
+import junit.framework.Test;
+import org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactory;
+import org.jboss.reflect.spi.TypeInfoFactory;
+
+/**
+ * Introspection test case for TypeInfo.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ *
+ * @version $Revision: 95613 $
+ */
+public class IntrospectionTypeInfoTestCase extends TypeInfoTest
+{
+ public IntrospectionTypeInfoTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return suite(IntrospectionTypeInfoTestCase.class);
+ }
+
+ protected TypeInfoFactory createTypeInfoFactory()
+ {
+ return new IntrospectionTypeInfoFactory();
+ }
+}
\ No newline at end of file
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,52 +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.deployers.vfs.reflect.test;
-
-import junit.framework.Test;
-
-import org.jboss.reflect.plugins.javassist.JavassistTypeInfoFactory;
-import org.jboss.reflect.spi.TypeInfoFactory;
-
-/**
- * Javassist test case for TypeInfo.
- *
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- *
- * @version $Revision: 95613 $
- */
-public class JavassistTypeInfoTestCase extends TypeInfoTest
-{
- public JavassistTypeInfoTestCase(String name)
- {
- super(name);
- }
-
- public static Test suite()
- {
- return suite(JavassistTypeInfoTestCase.class);
- }
-
- protected TypeInfoFactory createTypeInfoFactory()
- {
- return new JavassistTypeInfoFactory();
- }
-}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,52 @@
+/*
+ * 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.deployers.vfs.reflect.test;
+
+import junit.framework.Test;
+
+import org.jboss.reflect.plugins.javassist.JavassistTypeInfoFactory;
+import org.jboss.reflect.spi.TypeInfoFactory;
+
+/**
+ * Javassist test case for TypeInfo.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ *
+ * @version $Revision: 95613 $
+ */
+public class JavassistTypeInfoTestCase extends TypeInfoTest
+{
+ public JavassistTypeInfoTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return suite(JavassistTypeInfoTestCase.class);
+ }
+
+ protected TypeInfoFactory createTypeInfoFactory()
+ {
+ return new JavassistTypeInfoFactory();
+ }
+}
\ No newline at end of file
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ReflectTest.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ReflectTest.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ReflectTest.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,568 +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.deployers.vfs.reflect.test;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.Collections;
-import java.net.URL;
-
-import org.jboss.classloader.plugins.jdk.AbstractJDKChecker;
-import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
-import org.jboss.classloading.spi.metadata.ExportAll;
-import org.jboss.classloading.spi.version.Version;
-import org.jboss.deployers.client.spi.Deployment;
-import org.jboss.deployers.client.spi.DeployerClient;
-import org.jboss.deployers.spi.attachments.MutableAttachments;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataFactoryVisitor;
-import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
-import org.jboss.reflect.spi.ClassInfo;
-import org.jboss.reflect.spi.MethodInfo;
-import org.jboss.reflect.spi.TypeInfo;
-import org.jboss.reflect.spi.TypeInfoFactory;
-import org.jboss.test.deployers.BootstrapDeployersTest;
-import org.jboss.test.deployers.vfs.reflect.support.crm.CrmFacade;
-import org.jboss.test.deployers.vfs.reflect.support.ejb.MySLSBean;
-import org.jboss.test.deployers.vfs.reflect.support.ext.External;
-import org.jboss.test.deployers.vfs.reflect.support.jar.PlainJavaBean;
-import org.jboss.test.deployers.vfs.reflect.support.jsf.JsfBean;
-import org.jboss.test.deployers.vfs.reflect.support.service.SomeMBean;
-import org.jboss.test.deployers.vfs.reflect.support.ui.UIBean;
-import org.jboss.test.deployers.vfs.reflect.support.util.SomeUtil;
-import org.jboss.test.deployers.vfs.reflect.support.web.AnyServlet;
-import org.jboss.virtual.AssembledDirectory;
-import org.jboss.virtual.VirtualFile;
-
-/**
- * Abstract test for Reflect.
- *
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- *
- * @version $Revision$
- */
-public abstract class ReflectTest extends BootstrapDeployersTest
-{
- protected ReflectTest(String name)
- {
- super(name);
- }
-
- @Override
- protected void setUp() throws Exception
- {
- // excluding class that knows hot to load from system classloader
- Set<Class<?>> excluded = AbstractJDKChecker.getExcluded();
- excluded.add(BeanMetaDataFactoryVisitor.class);
-
- super.setUp();
- }
-
- @Override
- protected void tearDown() throws Exception
- {
- super.tearDown();
-
- // reverting exclusion performed on setUp
- Set<Class<?>> excluded = AbstractJDKChecker.getExcluded();
- excluded.remove(BeanMetaDataFactoryVisitor.class);
- }
-
- public void testJar() throws Exception
- {
- AssembledDirectory directory = createJar();
- assertReflect(directory, PlainJavaBean.class);
- }
-
- public void testEjbJar() throws Exception
- {
- AssembledDirectory directory = createEjbJar();
- assertReflect(directory, MySLSBean.class);
- }
-
- public void testWar() throws Exception
- {
- AssembledDirectory directory = createWar();
- assertReflect(directory, AnyServlet.class);
- }
-
- public void testSar() throws Exception
- {
- AssembledDirectory directory = createSar();
- assertReflect(directory, SomeMBean.class);
- }
-
- public void testBasicEar() throws Exception
- {
- AssembledDirectory directory = createBasicEar();
- Map<Class<?>, String> classes = new HashMap<Class<?>, String>();
- classes.put(SomeUtil.class, null);
- classes.put(PlainJavaBean.class, null);
- classes.put(MySLSBean.class, null);
- classes.put(AnyServlet.class, "simple.war");
- classes.put(UIBean.class, "simple.war");
- classes.put(JsfBean.class, "jsfapp.war");
- classes.put(CrmFacade.class, "jsfapp.war");
- classes.put(SomeMBean.class, null);
- assertReflect(directory, classes);
- }
-
- public void testTopLevelWithUtil() throws Exception
- {
- AssembledDirectory directory = createTopLevelWithUtil("/reflect/earutil");
- assertReflect(directory, SomeUtil.class, External.class);
- }
-
- public void testWarInEar() throws Exception
- {
- AssembledDirectory directory = createWarInEar();
- assertReflect(directory, Collections.<Class<?>, String>singletonMap(AnyServlet.class, "simple.war"));
- }
-
- public void testJarInEar() throws Exception
- {
- AssembledDirectory directory = createJarInEar();
- assertReflect(directory, PlainJavaBean.class);
- }
-
- public void testHierarchyCLUsage() throws Exception
- {
- AssembledDirectory directory = createBasicEar();
- DeploymentUnit unit = assertDeploy(directory);
- try
- {
- ClassLoader topCL = getClassLoader(unit);
- DeploymentUnit child = getDeploymentUnit(unit, "simple.war");
- ClassLoader childCL = getClassLoader(child);
- assertSimpleHierarchy(topCL, childCL);
- }
- finally
- {
- undeploy(unit);
- }
- }
-
- public void testIsolatedJars() throws Exception
- {
- Deployment d1 = createIsolatedDeployment("j1.jar");
- Deployment d2 = createIsolatedDeployment("j2.jar");
- testIsolatedJars(d1, d2);
- }
-
- public void testHierarchyJarsChildFirst() throws Exception
- {
- Deployment d1 = createIsolatedDeployment("j1.jar");
- ClassLoadingMetaData clmd = createDefaultClassLoadingMetaData("j2.jar", "j1.jar_Domain");
- clmd.setJ2seClassLoadingCompliance(false);
- Deployment d2 = createIsolatedDeployment("j2.jar", "j1.jar_Domain", PlainJavaBean.class, clmd);
- testIsolatedJars(d1, d2);
- }
-
- public void testDomainHierarchy() throws Exception
- {
- Deployment top = createIsolatedDeployment("top.jar", null, PlainJavaBean.class);
- Deployment left = createIsolatedDeployment("left.jar", "top.jar_Domain", AnyServlet.class);
- Deployment right = createIsolatedDeployment("right.jar", "top.jar_Domain", AnyServlet.class);
- testDomainHierarchy(top.getName(), left.getName(), right.getName(), top, left, right);
- }
-
- public void testEar2War() throws Exception
- {
- AssembledDirectory ear = createAssembledDirectory("ptd-ear-1.0-SNAPSHOT.ear", "ptd-ear-1.0-SNAPSHOT.ear");
- addPath(ear, "/reflect/ear2war", "META-INF");
- AssembledDirectory lib = ear.mkdir("lib");
- AssembledDirectory common = lib.mkdir("common.jar");
- addPackage(common, PlainJavaBean.class);
-
- AssembledDirectory war1 = ear.mkdir("ptd-jsf-1.0-SNAPSHOT.war");
- AssembledDirectory webinf1 = war1.mkdir("WEB-INF");
- addPath(war1, "/reflect/ear2war/war1/", "WEB-INF");
- AssembledDirectory lib1 = webinf1.mkdir("lib");
- AssembledDirectory wj1 = lib1.mkdir("wj1.jar");
- addPackage(wj1, AnyServlet.class);
- addPath(wj1, "/reflect/ear2war/manifest/", "META-INF");
-
- AssembledDirectory war2 = ear.mkdir("ptd-ws-1.0-SNAPSHOT.war");
- AssembledDirectory webinf2 = war2.mkdir("WEB-INF");
- addPath(war2, "/reflect/ear2war/war2/", "WEB-INF");
- AssembledDirectory lib2 = webinf2.mkdir("lib");
- AssembledDirectory wj2 = lib2.mkdir("wj2.jar");
- addPackage(wj2, AnyServlet.class);
- addPath(wj2, "/reflect/ear2war/manifest/", "META-INF");
-
- Deployment deployment = createVFSDeployment(ear);
- String top = deployment.getName();
- String left = top + "ptd-jsf-1.0-SNAPSHOT.war/";
- String right = top + "ptd-ws-1.0-SNAPSHOT.war/";
- testDomainHierarchy(top, left, right, deployment);
- }
-
- public void testNonDeploymentModule() throws Exception
- {
- URL location = AnyServlet.class.getProtectionDomain().getCodeSource().getLocation();
- System.setProperty("jboss.tests.url", location.toExternalForm());
- try
- {
- AssembledDirectory jar = createJar();
- addPath(jar, "/reflect/module", "META-INF");
-
- Deployment deployment = createVFSDeployment(jar);
- DeployerClient main = getDeployerClient();
- main.deploy(deployment);
- try
- {
- Object anys = assertBean("AnyServlet", Object.class);
- Class<?> anysClass = anys.getClass();
- ClassLoader anysCL = anysClass.getClassLoader();
-
- DeploymentUnit du = getMainDeployerStructure().getDeploymentUnit(deployment.getName(), true);
- ClassLoader cl = getClassLoader(du);
-
- assertNotSame(cl, anysCL);
-
- assertNonDeploymentModule(cl, anysClass);
- }
- finally
- {
- main.undeploy(deployment);
- }
- }
- finally
- {
- System.clearProperty("jboss.tests.url");
- }
- }
-
- public void testHierarchyNonDeploymentModule() throws Exception
- {
- testHierarchy("tif");
- }
-
- public void testClassLoadingMetaDataModule() throws Exception
- {
- testHierarchy("clmd");
- }
-
- //-------------------- helpers --------------------
-
- protected abstract void assertSimpleHierarchy(ClassLoader topCL, ClassLoader childCL) throws Exception;
-
- protected abstract void assertNonDeploymentModule(ClassLoader cl, Class<?> anysClass) throws Exception;
-
- protected abstract void assertNonDeploymentModule(ClassLoader cl, Class<?> anysClass, Class<?> tifClass) throws Exception;
-
- protected abstract void assertIsolated(ClassLoader cl1, ClassLoader cl2, Class<?> clazz1, Class<?> clazz2) throws Exception;
-
- protected abstract void assertDomainHierarchy(ClassLoader topCL, ClassLoader leftCL, ClassLoader rightCL) throws Exception;
-
- protected void testHierarchy(String name) throws Exception
- {
- URL location = AnyServlet.class.getProtectionDomain().getCodeSource().getLocation();
- System.setProperty("jboss.tests.url", location.toExternalForm());
- try
- {
- AssembledDirectory jar = createJar();
- addPath(jar, "/reflect/" + name, "META-INF");
-
- Deployment deployment = createVFSDeployment(jar);
- DeployerClient main = getDeployerClient();
- main.deploy(deployment);
- try
- {
- Object anys = assertBean("AnyServlet", Object.class);
- Class<?> anysClass = anys.getClass();
- ClassLoader anysCL = anysClass.getClassLoader();
-
- Object tif = assertBean("TifTester", Object.class);
- Class<?> tifClass = tif.getClass();
- ClassLoader tifCL = tifClass.getClassLoader();
-
- DeploymentUnit du = getMainDeployerStructure().getDeploymentUnit(deployment.getName(), true);
- ClassLoader cl = getClassLoader(du);
-
- assertNotSame(cl, anysCL);
- assertNotSame(cl, tifCL);
- assertNotSame(anysCL, tifCL);
-
- assertNonDeploymentModule(cl, anysClass, tifClass);
- }
- finally
- {
- main.undeploy(deployment);
- }
- }
- finally
- {
- System.clearProperty("jboss.tests.url");
- }
- }
-
- protected void testIsolatedJars(Deployment d1, Deployment d2) throws Exception
- {
- DeployerClient main = getDeployerClient();
- main.deploy(d1, d2);
- try
- {
- DeploymentUnit du1 = getMainDeployerStructure().getDeploymentUnit(d1.getName(), true);
- DeploymentUnit du2 = getMainDeployerStructure().getDeploymentUnit(d2.getName(), true);
- ClassLoader cl1 = getClassLoader(du1);
- ClassLoader cl2 = getClassLoader(du2);
- assertFalse(cl1.equals(cl2));
- Class<?> clazz1 = assertLoadClass(PlainJavaBean.class.getName(), cl1, cl1);
- Class<?> clazz2 = assertLoadClass(PlainJavaBean.class.getName(), cl2, cl2);
- assertNoClassEquality(clazz1, clazz2);
-
- assertIsolated(cl1, cl2, clazz1, clazz2);
- }
- finally
- {
- main.undeploy(d1, d2);
- }
- }
-
- protected void testDomainHierarchy(String top, String left, String right, Deployment... deployments) throws Exception
- {
- DeployerClient main = getDeployerClient();
- main.deploy(deployments);
- try
- {
- DeploymentUnit duTop = getMainDeployerStructure().getDeploymentUnit(top, true);
- DeploymentUnit duLeft = getMainDeployerStructure().getDeploymentUnit(left, true);
- DeploymentUnit duRight = getMainDeployerStructure().getDeploymentUnit(right, true);
- ClassLoader topCL = getClassLoader(duTop);
- ClassLoader leftCL = getClassLoader(duLeft);
- ClassLoader rightCL = getClassLoader(duRight);
- Class<?> asL = assertLoadClass(AnyServlet.class.getName(), leftCL);
- Class<?> asR = assertLoadClass(AnyServlet.class.getName(), rightCL);
- assertFalse(asL.equals(asR));
- Class<?> pjbL = assertLoadClass(PlainJavaBean.class.getName(), leftCL, topCL);
- Class<?> pjbR = assertLoadClass(PlainJavaBean.class.getName(), rightCL, topCL);
- assertEquals(pjbL, pjbR);
-
- assertDomainHierarchy(topCL, leftCL, rightCL);
- }
- finally
- {
- main.undeploy(deployments);
- }
- }
-
- protected abstract TypeInfoFactory createTypeInfoFactory();
-
- protected TypeInfo assertReturnType(TypeInfo ti, String method)
- {
- ClassInfo ci = assertInstanceOf(ti, ClassInfo.class);
- MethodInfo mi = ci.getDeclaredMethod(method);
- assertNotNull("No such '" + method + "' method on " + ci, mi);
- return mi.getReturnType();
- }
-
- protected void assertReflect(VirtualFile file, Class<?> ... classes) throws Exception
- {
- Map<Class<?>, String> map = new HashMap<Class<?>, String>();
- for (Class<?> clazz : classes)
- {
- map.put(clazz, null);
- }
- assertReflect(file, map);
- }
-
- protected abstract void assertReflect(VirtualFile file, Map<Class<?>, String> classes) throws Exception;
-
- protected void assertEquals(TypeInfo ti1, TypeInfo ti2)
- {
- assertSame(ti1, ti2);
- }
-
- protected void assertNotEquals(TypeInfo ti1, TypeInfo ti2)
- {
- assertNotSame(ti1, ti2);
- }
-
- protected DeploymentUnit getDeploymentUnit(DeploymentUnit parent, String name)
- {
- if (name == null || "".equals(name))
- return parent;
-
- return assertChild(parent, name);
- }
-
- protected AssembledDirectory createJar() throws Exception
- {
- return createJar("simple.jar", PlainJavaBean.class);
- }
-
- protected AssembledDirectory createJar(String name, Class<?> reference) throws Exception
- {
- AssembledDirectory jar = createAssembledDirectory(name, name);
- addPackage(jar, reference);
- return jar;
- }
-
- protected AssembledDirectory createEjbJar() throws Exception
- {
- AssembledDirectory jar = createAssembledDirectory("ejbs.jar", "ejbs.jar");
- addPackage(jar, MySLSBean.class);
-
- addPath(jar, "/reflect/ejb", "META-INF");
- return jar;
- }
-
- protected AssembledDirectory createWar() throws Exception
- {
- AssembledDirectory war = createAssembledDirectory("simple.war", "simple.war");
- AssembledDirectory webinf = war.mkdir("WEB-INF");
- AssembledDirectory classes = webinf.mkdir("classes");
- addPackage(classes, AnyServlet.class);
- addPath(war, "/reflect/web", "WEB-INF");
- return war;
- }
-
- protected AssembledDirectory createSar() throws Exception
- {
- AssembledDirectory sar = createAssembledDirectory("simple.sar", "simple.sar");
- addPackage(sar, SomeMBean.class);
- return sar;
- }
-
- protected AssembledDirectory createBasicEar() throws Exception
- {
- AssembledDirectory ear = createTopLevelWithUtil("/reflect/simple");
-
- AssembledDirectory jar = ear.mkdir("simple.jar");
- addPackage(jar, PlainJavaBean.class);
-
- AssembledDirectory ejbs = ear.mkdir("ejbs.jar");
- addPackage(ejbs, MySLSBean.class);
- addPath(ejbs, "/reflect/ejb", "META-INF");
-
- AssembledDirectory war = ear.mkdir("simple.war");
- AssembledDirectory webinf = war.mkdir("WEB-INF");
- AssembledDirectory classes = webinf.mkdir("classes");
- addPackage(classes, AnyServlet.class);
- addPath(war, "/reflect/web", "WEB-INF");
-
- AssembledDirectory lib = webinf.mkdir("lib");
-
- AssembledDirectory uijar = lib.mkdir("ui.jar");
- addPackage(uijar, UIBean.class);
-
- // another war
- war = ear.mkdir("jsfapp.war");
- webinf = war.mkdir("WEB-INF");
- addPath(war, "/reflect/web", "WEB-INF");
- classes = webinf.mkdir("classes");
- addPackage(classes, JsfBean.class);
-
- lib = webinf.mkdir("lib");
-
- uijar = lib.mkdir("ui_util.jar");
- addPackage(uijar, CrmFacade.class);
-
- // a sar
- AssembledDirectory sar = ear.mkdir("simple.sar");
- addPackage(sar, SomeMBean.class);
- addPath(war, "/reflect/sar", "META-INF");
-
- enableTrace("org.jboss.deployers");
-
- return ear;
- }
-
- protected AssembledDirectory createTopLevelWithUtil(String path) throws Exception
- {
- AssembledDirectory topLevel = createAssembledDirectory("top-level.ear", "top-level.ear");
- addPath(topLevel, path, "META-INF");
-
- AssembledDirectory earLib = topLevel.mkdir("lib");
-
- AssembledDirectory util = earLib.mkdir("util.jar");
- addPackage(util, SomeUtil.class);
-
- AssembledDirectory ext = earLib.mkdir("ext.jar");
- addPackage(ext, External.class);
-
- return topLevel;
- }
-
- protected AssembledDirectory createWarInEar() throws Exception
- {
- AssembledDirectory ear = createAssembledDirectory("war-in-ear.ear", "war-in-ear.ear");
- addPath(ear, "/reflect/warinear", "META-INF");
-
- AssembledDirectory war = ear.mkdir("simple.war");
- AssembledDirectory webinf = war.mkdir("WEB-INF");
- AssembledDirectory classes = webinf.mkdir("classes");
- addPackage(classes, AnyServlet.class);
- addPath(war, "/reflect/web", "WEB-INF");
-
- return ear;
- }
-
- protected AssembledDirectory createJarInEar() throws Exception
- {
- AssembledDirectory ear = createAssembledDirectory("jar-in-ear.ear", "jar-in-ear.ear");
- addPath(ear, "/reflect/jarinear", "META-INF");
-
- AssembledDirectory jar = ear.mkdir("simple.jar");
- addPackage(jar, PlainJavaBean.class);
-
- return ear;
- }
-
- protected Deployment createIsolatedDeployment(String name) throws Exception
- {
- return createIsolatedDeployment(name, null, PlainJavaBean.class);
- }
-
- protected Deployment createIsolatedDeployment(String name, String parentDomain, Class<?> reference) throws Exception
- {
- return createIsolatedDeployment(name, parentDomain, reference, null);
- }
-
- protected Deployment createIsolatedDeployment(String name, String parentDomain, Class<?> reference, ClassLoadingMetaData clmd) throws Exception
- {
- AssembledDirectory jar = createJar(name, reference);
- Deployment deployment = VFSDeploymentFactory.getInstance().createVFSDeployment(jar);
-
- if (clmd == null)
- clmd = createDefaultClassLoadingMetaData(name, parentDomain);
-
- MutableAttachments attachments = (MutableAttachments)deployment.getPredeterminedManagedObjects();
- attachments.addAttachment(ClassLoadingMetaData.class, clmd);
-
- return deployment;
- }
-
- protected ClassLoadingMetaData createDefaultClassLoadingMetaData(String name, String parentDomain)
- {
- ClassLoadingMetaData clmd = new ClassLoadingMetaData();
- if (name != null)
- clmd.setDomain(name + "_Domain");
- clmd.setParentDomain(parentDomain);
- clmd.setImportAll(true);
- clmd.setExportAll(ExportAll.NON_EMPTY);
- clmd.setVersion(Version.DEFAULT_VERSION);
- return clmd;
- }
-}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ReflectTest.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ReflectTest.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ReflectTest.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/ReflectTest.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,546 @@
+/*
+ * 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.deployers.vfs.reflect.test;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import java.util.Collections;
+import java.net.URL;
+
+import org.jboss.classloader.plugins.jdk.AbstractJDKChecker;
+import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
+import org.jboss.classloading.spi.metadata.ExportAll;
+import org.jboss.classloading.spi.version.Version;
+import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.client.spi.DeployerClient;
+import org.jboss.deployers.spi.attachments.MutableAttachments;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataFactoryVisitor;
+import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
+import org.jboss.reflect.spi.ClassInfo;
+import org.jboss.reflect.spi.MethodInfo;
+import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.reflect.spi.TypeInfoFactory;
+import org.jboss.test.deployers.BootstrapDeployersTest;
+import org.jboss.test.deployers.support.AssembledDirectory;
+import org.jboss.test.deployers.vfs.reflect.support.crm.CrmFacade;
+import org.jboss.test.deployers.vfs.reflect.support.ejb.MySLSBean;
+import org.jboss.test.deployers.vfs.reflect.support.ext.External;
+import org.jboss.test.deployers.vfs.reflect.support.jar.PlainJavaBean;
+import org.jboss.test.deployers.vfs.reflect.support.jsf.JsfBean;
+import org.jboss.test.deployers.vfs.reflect.support.service.SomeMBean;
+import org.jboss.test.deployers.vfs.reflect.support.ui.UIBean;
+import org.jboss.test.deployers.vfs.reflect.support.util.SomeUtil;
+import org.jboss.test.deployers.vfs.reflect.support.web.AnyServlet;
+import org.jboss.vfs.VFS;
+import org.jboss.vfs.VirtualFile;
+
+/**
+ * Abstract test for Reflect.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ *
+ * @version $Revision$
+ */
+public abstract class ReflectTest extends BootstrapDeployersTest
+{
+ protected ReflectTest(String name)
+ {
+ super(name);
+ }
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ // excluding class that knows hot to load from system classloader
+ Set<Class<?>> excluded = AbstractJDKChecker.getExcluded();
+ excluded.add(BeanMetaDataFactoryVisitor.class);
+
+ super.setUp();
+ }
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ super.tearDown();
+
+ // reverting exclusion performed on setUp
+ Set<Class<?>> excluded = AbstractJDKChecker.getExcluded();
+ excluded.remove(BeanMetaDataFactoryVisitor.class);
+ }
+
+ public void testJar() throws Exception
+ {
+ VirtualFile directory = createJar();
+ assertReflect(directory, PlainJavaBean.class);
+ }
+
+ public void testEjbJar() throws Exception
+ {
+ VirtualFile directory = createEjbJar();
+ assertReflect(directory, MySLSBean.class);
+ }
+
+ public void testWar() throws Exception
+ {
+ VirtualFile directory = createWar();
+ assertReflect(directory, AnyServlet.class);
+ }
+
+ public void testSar() throws Exception
+ {
+ VirtualFile directory = createSar();
+ assertReflect(directory, SomeMBean.class);
+ }
+
+ public void testBasicEar() throws Exception
+ {
+ VirtualFile directory = createBasicEar();
+ Map<Class<?>, String> classes = new HashMap<Class<?>, String>();
+ classes.put(SomeUtil.class, null);
+ classes.put(PlainJavaBean.class, null);
+ classes.put(MySLSBean.class, null);
+ classes.put(AnyServlet.class, "simple.war");
+ classes.put(UIBean.class, "simple.war");
+ classes.put(JsfBean.class, "jsfapp.war");
+ classes.put(CrmFacade.class, "jsfapp.war");
+ classes.put(SomeMBean.class, null);
+ assertReflect(directory, classes);
+ }
+
+ public void testTopLevelWithUtil() throws Exception
+ {
+ VirtualFile directory = createTopLevelWithUtil("/reflect/earutil");
+ assertReflect(directory, SomeUtil.class, External.class);
+ }
+
+ public void testWarInEar() throws Exception
+ {
+ VirtualFile directory = createWarInEar();
+ assertReflect(directory, Collections.<Class<?>, String>singletonMap(AnyServlet.class, "simple.war"));
+ }
+
+ public void testJarInEar() throws Exception
+ {
+ VirtualFile directory = createJarInEar();
+ assertReflect(directory, PlainJavaBean.class);
+ }
+
+ public void testHierarchyCLUsage() throws Exception
+ {
+ VirtualFile directory = createBasicEar();
+ DeploymentUnit unit = assertDeploy(directory);
+ try
+ {
+ ClassLoader topCL = getClassLoader(unit);
+ DeploymentUnit child = getDeploymentUnit(unit, "simple.war");
+ ClassLoader childCL = getClassLoader(child);
+ assertSimpleHierarchy(topCL, childCL);
+ }
+ finally
+ {
+ undeploy(unit);
+ }
+ }
+
+ public void testIsolatedJars() throws Exception
+ {
+ Deployment d1 = createIsolatedDeployment("j1.jar");
+ Deployment d2 = createIsolatedDeployment("j2.jar");
+ testIsolatedJars(d1, d2);
+ }
+
+ public void testHierarchyJarsChildFirst() throws Exception
+ {
+ Deployment d1 = createIsolatedDeployment("j1.jar");
+ ClassLoadingMetaData clmd = createDefaultClassLoadingMetaData("j2.jar", "j1.jar_Domain");
+ clmd.setJ2seClassLoadingCompliance(false);
+ Deployment d2 = createIsolatedDeployment("j2.jar", "j1.jar_Domain", PlainJavaBean.class, clmd);
+ testIsolatedJars(d1, d2);
+ }
+
+ public void testDomainHierarchy() throws Exception
+ {
+ Deployment top = createIsolatedDeployment("top.jar", null, PlainJavaBean.class);
+ Deployment left = createIsolatedDeployment("left.jar", "top.jar_Domain", AnyServlet.class);
+ Deployment right = createIsolatedDeployment("right.jar", "top.jar_Domain", AnyServlet.class);
+ testDomainHierarchy(top.getName(), left.getName(), right.getName(), top, left, right);
+ }
+
+ public void testEar2War() throws Exception
+ {
+ VirtualFile earFile = VFS.getChild(getName()).getChild("ptd-ear-1.0-SNAPSHOT.ear");
+ createAssembledDirectory(earFile)
+ .addPath(getVirtualFile("/reflect/ear2war"), "META-INF")
+ .addPackage("lib/common.jar", PlainJavaBean.class)
+ .addPath(getVirtualFile("/reflect/ear2war/war1/"), "ptd-jsf-1.0-SNAPSHOT.war/WEB-INF")
+ .addPackage("ptd-jsf-1.0-SNAPSHOT.war/WEB-INF/lib/wj1.jar", AnyServlet.class)
+ .addPath(getVirtualFile("/reflect/ear2war/manifest/"), "ptd-jsf-1.0-SNAPSHOT.war/WEB-INF/lib/wj1.jar/META-INF")
+ .addPath(getVirtualFile("/reflect/ear2war/war2/"), "ptd-ws-1.0-SNAPSHOT.war/WEB-INF")
+ .addPackage("ptd-ws-1.0-SNAPSHOT.war/WEB-INF/lib/wj2.jar", AnyServlet.class)
+ .addPath(getVirtualFile("/reflect/ear2war/manifest/"), "ptd-ws-1.0-SNAPSHOT.war/WEB-INF/lib/wj2.jar/META-INF");
+
+ Deployment deployment = createVFSDeployment(earFile);
+ String top = deployment.getName();
+ String left = top + "ptd-jsf-1.0-SNAPSHOT.war/";
+ String right = top + "ptd-ws-1.0-SNAPSHOT.war/";
+ testDomainHierarchy(top, left, right, deployment);
+ }
+
+ public void testNonDeploymentModule() throws Exception
+ {
+ URL location = AnyServlet.class.getProtectionDomain().getCodeSource().getLocation();
+ System.setProperty("jboss.tests.url", location.toExternalForm());
+ try
+ {
+ VirtualFile jarFile = VFS.getChild(getName()).getChild("simple.jar");
+ createAssembledDirectory(jarFile)
+ .addPackage("", PlainJavaBean.class)
+ .addPath(getVirtualFile("/reflect/module"), "META-INF");
+
+ Deployment deployment = createVFSDeployment(jarFile);
+ DeployerClient main = getDeployerClient();
+ main.deploy(deployment);
+ try
+ {
+ Object anys = assertBean("AnyServlet", Object.class);
+ Class<?> anysClass = anys.getClass();
+ ClassLoader anysCL = anysClass.getClassLoader();
+
+ DeploymentUnit du = getMainDeployerStructure().getDeploymentUnit(deployment.getName(), true);
+ ClassLoader cl = getClassLoader(du);
+
+ assertNotSame(cl, anysCL);
+
+ assertNonDeploymentModule(cl, anysClass);
+ }
+ finally
+ {
+ main.undeploy(deployment);
+ }
+ }
+ finally
+ {
+ System.clearProperty("jboss.tests.url");
+ }
+ }
+
+ public void testHierarchyNonDeploymentModule() throws Exception
+ {
+ testHierarchy("tif");
+ }
+
+ public void testClassLoadingMetaDataModule() throws Exception
+ {
+ testHierarchy("clmd");
+ }
+
+ //-------------------- helpers --------------------
+
+ protected abstract void assertSimpleHierarchy(ClassLoader topCL, ClassLoader childCL) throws Exception;
+
+ protected abstract void assertNonDeploymentModule(ClassLoader cl, Class<?> anysClass) throws Exception;
+
+ protected abstract void assertNonDeploymentModule(ClassLoader cl, Class<?> anysClass, Class<?> tifClass) throws Exception;
+
+ protected abstract void assertIsolated(ClassLoader cl1, ClassLoader cl2, Class<?> clazz1, Class<?> clazz2) throws Exception;
+
+ protected abstract void assertDomainHierarchy(ClassLoader topCL, ClassLoader leftCL, ClassLoader rightCL) throws Exception;
+
+ protected void testHierarchy(String name) throws Exception
+ {
+ URL location = AnyServlet.class.getProtectionDomain().getCodeSource().getLocation();
+ System.setProperty("jboss.tests.url", location.toExternalForm());
+ try
+ {
+ VirtualFile jarFile = VFS.getChild(getName()).getChild("simple.jar");
+ createAssembledDirectory(jarFile)
+ .addPackage("", PlainJavaBean.class)
+ .addPath(getVirtualFile("/reflect/module"), "META-INF")
+ .addPath(getVirtualFile("/reflect/" + name), "META-INF");
+
+ Deployment deployment = createVFSDeployment(jarFile);
+ DeployerClient main = getDeployerClient();
+ main.deploy(deployment);
+ try
+ {
+ Object anys = assertBean("AnyServlet", Object.class);
+ Class<?> anysClass = anys.getClass();
+ ClassLoader anysCL = anysClass.getClassLoader();
+
+ Object tif = assertBean("TifTester", Object.class);
+ Class<?> tifClass = tif.getClass();
+ ClassLoader tifCL = tifClass.getClassLoader();
+
+ DeploymentUnit du = getMainDeployerStructure().getDeploymentUnit(deployment.getName(), true);
+ ClassLoader cl = getClassLoader(du);
+
+ assertNotSame(cl, anysCL);
+ assertNotSame(cl, tifCL);
+ assertNotSame(anysCL, tifCL);
+
+ assertNonDeploymentModule(cl, anysClass, tifClass);
+ }
+ finally
+ {
+ main.undeploy(deployment);
+ }
+ }
+ finally
+ {
+ System.clearProperty("jboss.tests.url");
+ }
+ }
+
+ protected void testIsolatedJars(Deployment d1, Deployment d2) throws Exception
+ {
+ DeployerClient main = getDeployerClient();
+ main.deploy(d1, d2);
+ try
+ {
+ DeploymentUnit du1 = getMainDeployerStructure().getDeploymentUnit(d1.getName(), true);
+ DeploymentUnit du2 = getMainDeployerStructure().getDeploymentUnit(d2.getName(), true);
+ ClassLoader cl1 = getClassLoader(du1);
+ ClassLoader cl2 = getClassLoader(du2);
+ assertFalse(cl1.equals(cl2));
+ Class<?> clazz1 = assertLoadClass(PlainJavaBean.class.getName(), cl1, cl1);
+ Class<?> clazz2 = assertLoadClass(PlainJavaBean.class.getName(), cl2, cl2);
+ assertNoClassEquality(clazz1, clazz2);
+
+ assertIsolated(cl1, cl2, clazz1, clazz2);
+ }
+ finally
+ {
+ main.undeploy(d1, d2);
+ }
+ }
+
+ protected void testDomainHierarchy(String top, String left, String right, Deployment... deployments) throws Exception
+ {
+ DeployerClient main = getDeployerClient();
+ main.deploy(deployments);
+ try
+ {
+ DeploymentUnit duTop = getMainDeployerStructure().getDeploymentUnit(top, true);
+ DeploymentUnit duLeft = getMainDeployerStructure().getDeploymentUnit(left, true);
+ DeploymentUnit duRight = getMainDeployerStructure().getDeploymentUnit(right, true);
+ ClassLoader topCL = getClassLoader(duTop);
+ ClassLoader leftCL = getClassLoader(duLeft);
+ ClassLoader rightCL = getClassLoader(duRight);
+ Class<?> asL = assertLoadClass(AnyServlet.class.getName(), leftCL);
+ Class<?> asR = assertLoadClass(AnyServlet.class.getName(), rightCL);
+ assertFalse(asL.equals(asR));
+ Class<?> pjbL = assertLoadClass(PlainJavaBean.class.getName(), leftCL, topCL);
+ Class<?> pjbR = assertLoadClass(PlainJavaBean.class.getName(), rightCL, topCL);
+ assertEquals(pjbL, pjbR);
+
+ assertDomainHierarchy(topCL, leftCL, rightCL);
+ }
+ finally
+ {
+ main.undeploy(deployments);
+ }
+ }
+
+ protected abstract TypeInfoFactory createTypeInfoFactory();
+
+ protected TypeInfo assertReturnType(TypeInfo ti, String method)
+ {
+ ClassInfo ci = assertInstanceOf(ti, ClassInfo.class);
+ MethodInfo mi = ci.getDeclaredMethod(method);
+ assertNotNull("No such '" + method + "' method on " + ci, mi);
+ return mi.getReturnType();
+ }
+
+ protected void assertReflect(VirtualFile file, Class<?> ... classes) throws Exception
+ {
+ Map<Class<?>, String> map = new HashMap<Class<?>, String>();
+ for (Class<?> clazz : classes)
+ {
+ map.put(clazz, null);
+ }
+ assertReflect(file, map);
+ }
+
+ protected abstract void assertReflect(VirtualFile file, Map<Class<?>, String> classes) throws Exception;
+
+ protected void assertEquals(TypeInfo ti1, TypeInfo ti2)
+ {
+ assertSame(ti1, ti2);
+ }
+
+ protected void assertNotEquals(TypeInfo ti1, TypeInfo ti2)
+ {
+ assertNotSame(ti1, ti2);
+ }
+
+ protected DeploymentUnit getDeploymentUnit(DeploymentUnit parent, String name)
+ {
+ if (name == null || "".equals(name))
+ return parent;
+
+ return assertChild(parent, name);
+ }
+
+ protected VirtualFile createJar() throws Exception
+ {
+ return createJar("simple.jar", PlainJavaBean.class);
+ }
+
+ protected VirtualFile createJar(String name, Class<?> reference) throws Exception
+ {
+ VirtualFile jarFile = VFS.getChild(getName()).getChild(name);
+ createAssembledDirectory(jarFile)
+ .addPackage("", reference);
+ return jarFile;
+ }
+
+ protected VirtualFile createEjbJar() throws Exception
+ {
+ VirtualFile jarFile = VFS.getChild(getName()).getChild("ejbs.jar");
+ createAssembledDirectory(jarFile)
+ .addPackage("", MySLSBean.class)
+ .addPath(getVirtualFile("/reflect/ejb"), "META-INF");
+ return jarFile;
+ }
+
+ protected VirtualFile createWar() throws Exception
+ {
+ VirtualFile warFile = VFS.getChild(getName()).getChild("simple.war");
+ createAssembledDirectory(warFile)
+ .addPackage("WEB-INF/classes", AnyServlet.class)
+ .addPath(getVirtualFile("/reflect/web"), "WEB-INF");
+ return warFile;
+ }
+
+ protected VirtualFile createSar() throws Exception
+ {
+ VirtualFile sarFile = VFS.getChild(getName()).getChild( "simple.sar");
+ createAssembledDirectory(sarFile)
+ .addPackage("", SomeMBean.class);
+ return sarFile;
+ }
+
+ protected VirtualFile createBasicEar() throws Exception
+ {
+ VirtualFile ear = createTopLevelWithUtil("/reflect/simple");
+
+ VirtualFile jarFile = ear.getChild("simple.jar");
+ createAssembledDirectory(jarFile)
+ .addPackage("", PlainJavaBean.class);
+
+ VirtualFile ejbsFile = ear.getChild("ejbs.jar");
+ createAssembledDirectory(ejbsFile)
+ .addPackage("", MySLSBean.class)
+ .addPath(getVirtualFile("/reflect/ejb"), "META-INF");
+
+
+ VirtualFile warFile = ear.getChild("simple.war");
+ createAssembledDirectory(warFile)
+ .addPackage("WEB-INF/classes", AnyServlet.class)
+ .addPath(getVirtualFile("/reflect/web"), "WEB-INF")
+ .addPackage("WEB-INF/lib/ui.jar", UIBean.class);
+
+ // another war
+ warFile = ear.getChild("jsfapp.war");
+ createAssembledDirectory(warFile)
+ .addPath(getVirtualFile("/reflect/web"), "WEB-INF")
+ .addPackage("WEB-INF/classes", JsfBean.class)
+ .addPackage("WEB-INF/lib/ui_util.jar", CrmFacade.class);
+
+ // a sar
+ VirtualFile sarFile = ear.getChild("simple.sar");
+ createAssembledDirectory(sarFile)
+ .addPackage("", SomeMBean.class)
+ .addPath(getVirtualFile("/reflect/sar"), "META-INF");
+
+ enableTrace("org.jboss.deployers");
+
+ return ear;
+ }
+
+ protected VirtualFile createTopLevelWithUtil(String path) throws Exception
+ {
+ VirtualFile earFile = VFS.getChild(getName()).getChild("top-level.ear");
+ createAssembledDirectory(earFile)
+ .addPath(getVirtualFile(path), "META-INF")
+ .addPackage("lib/util.jar", SomeUtil.class)
+ .addPackage("lib/ext.jar", External.class);
+ return earFile;
+ }
+
+ protected VirtualFile createWarInEar() throws Exception
+ {
+ VirtualFile earFile = VFS.getChild(getName()).getChild("war-in-ear.ear");
+ createAssembledDirectory(earFile)
+ .addPath(getVirtualFile("/reflect/warinear"), "META-INF")
+ .addPackage("simple.war/WEB-INF/classes", AnyServlet.class)
+ .addPath(getVirtualFile("/reflect/web"), "simple.war/WEB-INF");
+ return earFile;
+ }
+
+ protected VirtualFile createJarInEar() throws Exception
+ {
+ VirtualFile earFile = VFS.getChild(getName()).getChild("jar-in-ear.ear");
+ createAssembledDirectory(earFile)
+ .addPath(getVirtualFile("/reflect/jarinear"), "META-INF")
+ .addPackage("simple.jar", PlainJavaBean.class);
+ return earFile;
+ }
+
+ protected Deployment createIsolatedDeployment(String name) throws Exception
+ {
+ return createIsolatedDeployment(name, null, PlainJavaBean.class);
+ }
+
+ protected Deployment createIsolatedDeployment(String name, String parentDomain, Class<?> reference) throws Exception
+ {
+ return createIsolatedDeployment(name, parentDomain, reference, null);
+ }
+
+ protected Deployment createIsolatedDeployment(String name, String parentDomain, Class<?> reference, ClassLoadingMetaData clmd) throws Exception
+ {
+ VirtualFile jar = createJar(name, reference);
+ Deployment deployment = VFSDeploymentFactory.getInstance().createVFSDeployment(jar);
+
+ if (clmd == null)
+ clmd = createDefaultClassLoadingMetaData(name, parentDomain);
+
+ MutableAttachments attachments = (MutableAttachments)deployment.getPredeterminedManagedObjects();
+ attachments.addAttachment(ClassLoadingMetaData.class, clmd);
+
+ return deployment;
+ }
+
+ protected ClassLoadingMetaData createDefaultClassLoadingMetaData(String name, String parentDomain)
+ {
+ ClassLoadingMetaData clmd = new ClassLoadingMetaData();
+ if (name != null)
+ clmd.setDomain(name + "_Domain");
+ clmd.setParentDomain(parentDomain);
+ clmd.setImportAll(true);
+ clmd.setExportAll(ExportAll.NON_EMPTY);
+ clmd.setVersion(Version.DEFAULT_VERSION);
+ return clmd;
+ }
+}
\ No newline at end of file
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/TypeInfoTest.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/TypeInfoTest.java 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/TypeInfoTest.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,138 +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.deployers.vfs.reflect.test;
-
-import java.util.Map;
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.reflect.spi.TypeInfo;
-import org.jboss.reflect.spi.TypeInfoFactory;
-import org.jboss.virtual.VirtualFile;
-import org.jboss.test.deployers.vfs.reflect.support.web.AnyServlet;
-import org.jboss.test.deployers.vfs.reflect.support.jar.PlainJavaBean;
-
-/**
- * Test case for TypeInfo.
- *
- * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
- * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
- *
- * @version $Revision$
- */
-public abstract class TypeInfoTest extends ReflectTest
-{
- public TypeInfoTest(String name)
- {
- super(name);
- }
-
- protected void assertReflect(VirtualFile file, Map<Class<?>, String> classes) throws Exception
- {
- DeploymentUnit unit = assertDeploy(file);
- try
- {
- TypeInfoFactory typeInfoFactory = createTypeInfoFactory();
- for (Map.Entry<Class<?>, String> entry : classes.entrySet())
- {
- DeploymentUnit du = getDeploymentUnit(unit, entry.getValue());
- ClassLoader classLoader = getClassLoader(du);
- Class<?> clazz = entry.getKey();
- String className = clazz.getName();
- assertLoadClass(className, classLoader);
- TypeInfo typeInfo = typeInfoFactory.getTypeInfo(className, classLoader);
- assertEquals(className, typeInfo.getName());
- ClassLoader cl = typeInfo.getClassLoader();
- assertEquals(classLoader, cl);
- }
- }
- finally
- {
- undeploy(unit);
- }
- }
-
- protected void assertSimpleHierarchy(ClassLoader topCL, ClassLoader childCL) throws Exception
- {
- TypeInfoFactory typeInfoFactory = createTypeInfoFactory();
-
- TypeInfo ti = typeInfoFactory.getTypeInfo(AnyServlet.class.getName(), childCL);
- TypeInfo rt = assertReturnType(ti, "getBean");
- TypeInfo cti = typeInfoFactory.getTypeInfo(PlainJavaBean.class.getName(), topCL);
- assertEquals(rt, cti);
- }
-
- protected void assertNonDeploymentModule(ClassLoader cl, Class<?> anysClass) throws Exception
- {
- TypeInfoFactory factory = createTypeInfoFactory();
-
- TypeInfo asTIL = factory.getTypeInfo(anysClass);
- TypeInfo pjbTI = factory.getTypeInfo(PlainJavaBean.class.getName(), cl);
- TypeInfo rtL = assertReturnType(asTIL, "getBean");
- assertEquals(pjbTI, rtL);
- }
-
- protected void assertNonDeploymentModule(ClassLoader cl, Class<?> anysClass, Class<?> tifClass) throws Exception
- {
- TypeInfoFactory factory = createTypeInfoFactory();
-
- TypeInfo tifTIL = factory.getTypeInfo(tifClass);
- TypeInfo tifRT = assertReturnType(tifTIL, "getAnys");
- TypeInfo asTIL = factory.getTypeInfo(anysClass);
- assertEquals(tifRT, asTIL);
-
- TypeInfo pjbTI = factory.getTypeInfo(PlainJavaBean.class.getName(), cl);
- TypeInfo rtL = assertReturnType(asTIL, "getBean");
- assertEquals(pjbTI, rtL);
- }
-
- protected void assertIsolated(ClassLoader cl1, ClassLoader cl2, Class<?> clazz1, Class<?> clazz2) throws Exception
- {
- TypeInfoFactory factory = createTypeInfoFactory();
-
- TypeInfo ti1 = factory.getTypeInfo(PlainJavaBean.class.getName(), cl1);
- TypeInfo ti2 = factory.getTypeInfo(PlainJavaBean.class.getName(), cl2);
- assertNotEquals(ti1, ti2);
-
- TypeInfo ti3 = factory.getTypeInfo(clazz1);
- assertEquals(ti1, ti3);
-
- TypeInfo ti4 = factory.getTypeInfo(clazz2);
- assertEquals(ti2, ti4);
-
- assertNotEquals(ti3, ti4);
- }
-
- protected void assertDomainHierarchy(ClassLoader topCL, ClassLoader leftCL, ClassLoader rightCL) throws Exception
- {
- TypeInfoFactory factory = createTypeInfoFactory();
-
- TypeInfo pjbTI = factory.getTypeInfo(PlainJavaBean.class.getName(), topCL);
- TypeInfo asTIL = factory.getTypeInfo(AnyServlet.class.getName(), leftCL);
- TypeInfo asTIR = factory.getTypeInfo(AnyServlet.class.getName(), rightCL);
-
- TypeInfo rtL = assertReturnType(asTIL, "getBean");
- assertEquals(pjbTI, rtL);
-
- TypeInfo rtR = assertReturnType(asTIR, "getBean");
- assertEquals(pjbTI, rtR);
- }
-}
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/TypeInfoTest.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/TypeInfoTest.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/TypeInfoTest.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/reflect/test/TypeInfoTest.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,138 @@
+/*
+ * 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.deployers.vfs.reflect.test;
+
+import java.util.Map;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.reflect.spi.TypeInfoFactory;
+import org.jboss.vfs.VirtualFile;
+import org.jboss.test.deployers.vfs.reflect.support.web.AnyServlet;
+import org.jboss.test.deployers.vfs.reflect.support.jar.PlainJavaBean;
+
+/**
+ * Test case for TypeInfo.
+ *
+ * @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ *
+ * @version $Revision$
+ */
+public abstract class TypeInfoTest extends ReflectTest
+{
+ public TypeInfoTest(String name)
+ {
+ super(name);
+ }
+
+ protected void assertReflect(VirtualFile file, Map<Class<?>, String> classes) throws Exception
+ {
+ DeploymentUnit unit = assertDeploy(file);
+ try
+ {
+ TypeInfoFactory typeInfoFactory = createTypeInfoFactory();
+ for (Map.Entry<Class<?>, String> entry : classes.entrySet())
+ {
+ DeploymentUnit du = getDeploymentUnit(unit, entry.getValue());
+ ClassLoader classLoader = getClassLoader(du);
+ Class<?> clazz = entry.getKey();
+ String className = clazz.getName();
+ assertLoadClass(className, classLoader);
+ TypeInfo typeInfo = typeInfoFactory.getTypeInfo(className, classLoader);
+ assertEquals(className, typeInfo.getName());
+ ClassLoader cl = typeInfo.getClassLoader();
+ assertEquals(classLoader, cl);
+ }
+ }
+ finally
+ {
+ undeploy(unit);
+ }
+ }
+
+ protected void assertSimpleHierarchy(ClassLoader topCL, ClassLoader childCL) throws Exception
+ {
+ TypeInfoFactory typeInfoFactory = createTypeInfoFactory();
+
+ TypeInfo ti = typeInfoFactory.getTypeInfo(AnyServlet.class.getName(), childCL);
+ TypeInfo rt = assertReturnType(ti, "getBean");
+ TypeInfo cti = typeInfoFactory.getTypeInfo(PlainJavaBean.class.getName(), topCL);
+ assertEquals(rt, cti);
+ }
+
+ protected void assertNonDeploymentModule(ClassLoader cl, Class<?> anysClass) throws Exception
+ {
+ TypeInfoFactory factory = createTypeInfoFactory();
+
+ TypeInfo asTIL = factory.getTypeInfo(anysClass);
+ TypeInfo pjbTI = factory.getTypeInfo(PlainJavaBean.class.getName(), cl);
+ TypeInfo rtL = assertReturnType(asTIL, "getBean");
+ assertEquals(pjbTI, rtL);
+ }
+
+ protected void assertNonDeploymentModule(ClassLoader cl, Class<?> anysClass, Class<?> tifClass) throws Exception
+ {
+ TypeInfoFactory factory = createTypeInfoFactory();
+
+ TypeInfo tifTIL = factory.getTypeInfo(tifClass);
+ TypeInfo tifRT = assertReturnType(tifTIL, "getAnys");
+ TypeInfo asTIL = factory.getTypeInfo(anysClass);
+ assertEquals(tifRT, asTIL);
+
+ TypeInfo pjbTI = factory.getTypeInfo(PlainJavaBean.class.getName(), cl);
+ TypeInfo rtL = assertReturnType(asTIL, "getBean");
+ assertEquals(pjbTI, rtL);
+ }
+
+ protected void assertIsolated(ClassLoader cl1, ClassLoader cl2, Class<?> clazz1, Class<?> clazz2) throws Exception
+ {
+ TypeInfoFactory factory = createTypeInfoFactory();
+
+ TypeInfo ti1 = factory.getTypeInfo(PlainJavaBean.class.getName(), cl1);
+ TypeInfo ti2 = factory.getTypeInfo(PlainJavaBean.class.getName(), cl2);
+ assertNotEquals(ti1, ti2);
+
+ TypeInfo ti3 = factory.getTypeInfo(clazz1);
+ assertEquals(ti1, ti3);
+
+ TypeInfo ti4 = factory.getTypeInfo(clazz2);
+ assertEquals(ti2, ti4);
+
+ assertNotEquals(ti3, ti4);
+ }
+
+ protected void assertDomainHierarchy(ClassLoader topCL, ClassLoader leftCL, ClassLoader rightCL) throws Exception
+ {
+ TypeInfoFactory factory = createTypeInfoFactory();
+
+ TypeInfo pjbTI = factory.getTypeInfo(PlainJavaBean.class.getName(), topCL);
+ TypeInfo asTIL = factory.getTypeInfo(AnyServlet.class.getName(), leftCL);
+ TypeInfo asTIR = factory.getTypeInfo(AnyServlet.class.getName(), rightCL);
+
+ TypeInfo rtL = assertReturnType(asTIL, "getBean");
+ assertEquals(pjbTI, rtL);
+
+ TypeInfo rtR = assertReturnType(asTIR, "getBean");
+ assertEquals(pjbTI, rtR);
+ }
+}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/java/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -33,7 +33,6 @@
import java.util.jar.Manifest;
import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.annotations.AnnotationEnvironment;
import org.jboss.deployers.spi.structure.ContextInfo;
import org.jboss.deployers.vfs.plugins.structure.AbstractVFSArchiveStructureDeployer;
import org.jboss.deployers.vfs.spi.structure.CandidateAnnotationsCallback;
@@ -43,6 +42,7 @@
import org.jboss.vfs.VirtualFile;
import org.jboss.vfs.VirtualFileFilter;
import org.jboss.vfs.util.SuffixMatchFilter;
+import org.jboss.mcann.AnnotationRepository;
/**
* A mock ear structure deployer that illustrates concepts involved with an ear
@@ -357,7 +357,7 @@
map.put(Servlet.class, J2eeModuleMetaData.WEB);
}
- public void executeCallback(VirtualFile root, StructureContext currentContext, AnnotationEnvironment env, Class<? extends Annotation> annotationClass)
+ public void executeCallback(VirtualFile root, StructureContext currentContext, AnnotationRepository env, Class<? extends Annotation> annotationClass)
{
if (result == null)
{
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/bootstrap/bootstrap.xml
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/bootstrap/bootstrap.xml 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/bootstrap/bootstrap.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -85,6 +85,9 @@
<bean name="KernelDeploymentDeployer" class="org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer"/>
<bean name="BeanMetaDataDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer">
<constructor><parameter class="org.jboss.dependency.spi.Controller"><inject bean="jboss.kernel:service=KernelController"/></parameter></constructor>
+ <!-- Accept any implementor of KernelControllerContextCreator -->
+ <incallback method="addControllerContextCreator"/>
+ <uncallback method="removeControllerContextCreator"/>
</bean>
<!-- VFS ClassLoader -->
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/dependency/basic (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/dependency/basic)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/dependency/basic/META-INF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/dependency/basic/META-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/dependency/basic/META-INF/jboss-dependency.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/dependency/basic/META-INF/jboss-dependency.xml 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/dependency/basic/META-INF/jboss-dependency.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,3 +0,0 @@
-<dependency xmlns="urn:jboss:dependency:1.0">
- <item>Barrier</item>
-</dependency>
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/dependency/basic/META-INF/jboss-dependency.xml (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/dependency/basic/META-INF/jboss-dependency.xml)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/dependency/basic/META-INF/jboss-dependency.xml (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/dependency/basic/META-INF/jboss-dependency.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,3 @@
+<dependency xmlns="urn:jboss:dependency:1.0">
+ <item>Barrier</item>
+</dependency>
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/matchers/ignore)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/matchers/ignore/META-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/empty.txt
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/matchers/ignore/META-INF/empty.txt 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/empty.txt 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1 +0,0 @@
-Empty.
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/empty.txt (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/matchers/ignore/META-INF/empty.txt)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/empty.txt (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/empty.txt 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1 @@
+Empty.
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/fst.txt
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/matchers/ignore/META-INF/fst.txt 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/fst.txt 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1 +0,0 @@
-First.
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/fst.txt (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/matchers/ignore/META-INF/fst.txt)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/fst.txt (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/fst.txt 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1 @@
+First.
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/qwert.tmp
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/matchers/ignore/META-INF/qwert.tmp 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/qwert.tmp 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1 +0,0 @@
-Tmp file.
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/qwert.tmp (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/matchers/ignore/META-INF/qwert.tmp)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/qwert.tmp (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/qwert.tmp 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1 @@
+Tmp file.
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/snd.txt
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/matchers/ignore/META-INF/snd.txt 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/snd.txt 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,2 +0,0 @@
-Second.
-
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/snd.txt (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/matchers/ignore/META-INF/snd.txt)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/snd.txt (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/matchers/ignore/META-INF/snd.txt 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,2 @@
+Second.
+
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/annotations/test/AnnotationsScanningUnitTestCase.xml
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/annotations/test/AnnotationsScanningUnitTestCase.xml 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/annotations/test/AnnotationsScanningUnitTestCase.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -3,7 +3,7 @@
<bean name="EarStructure" class="org.jboss.test.deployers.vfs.structure.ear.support.MockEarStructureDeployer"/>
<bean name="WarStructure" class="org.jboss.deployers.vfs.plugins.structure.war.WARStructure"/>
- <bean name="AnnEnvDeployer" class="org.jboss.deployers.vfs.plugins.annotations.FilteredAnnotationEnvironmentDeployer">
+ <bean name="AnnEnvDeployer" class="org.jboss.deployers.vfs.plugins.annotations.FilteredAnnotationRepositoryDeployer">
<property name="recurseFilter">
<bean class="org.jboss.test.deployers.vfs.annotations.support.NoExtRecurseFilter"/>
</property>
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/annotations/test/AnnotationsScanningWithMetaDataUnitTestCase.xml
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/annotations/test/AnnotationsScanningWithMetaDataUnitTestCase.xml 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/annotations/test/AnnotationsScanningWithMetaDataUnitTestCase.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -5,7 +5,7 @@
<bean name="ScanningMDDeployer" class="org.jboss.deployers.vfs.plugins.annotations.ScanningMetaDataDeployer"/>
- <bean name="AnnEnvDeployer" class="org.jboss.deployers.vfs.plugins.annotations.FilteredAnnotationEnvironmentDeployer">
+ <bean name="AnnEnvDeployer" class="org.jboss.deployers.vfs.plugins.annotations.FilteredAnnotationRepositoryDeployer">
<property name="filter">
<bean class="org.jboss.deployers.vfs.plugins.annotations.ScanningDeploymentUnitFilter"/>
</property>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.xml 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,4 +0,0 @@
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="SpecialControllerContextCreator" class="org.jboss.test.deployers.vfs.deployer.bean.support.NotUndeployingSpecialBeanMetaDataDeployerPlugin"/>
- <bean name="TriggerSpecialControllerContextDeployer" class="org.jboss.test.deployers.vfs.deployer.bean.support.TriggerSpecialBeanMetaDataDeployerPlugin"/>
-</deployment>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.xml (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.xml)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.xml (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/deployer/bean/test/BootstrapBeanMetaDataPluginTestCase.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,4 @@
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <bean name="SpecialControllerContextCreator" class="org.jboss.test.deployers.vfs.deployer.bean.support.NotUndeployingSpecialBeanMetaDataDeployerPlugin"/>
+ <bean name="TriggerSpecialControllerContextDeployer" class="org.jboss.test.deployers.vfs.deployer.bean.support.TriggerSpecialBeanMetaDataDeployerPlugin"/>
+</deployment>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.xml 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,41 +0,0 @@
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <bean name="EarStructure" class="org.jboss.test.deployers.vfs.structure.ear.support.MockEarStructureDeployer"/>
- <bean name="WarStructure" class="org.jboss.test.deployers.vfs.structure.war.support.MockWarStructureDeployer"/>
- <bean name="WarClassLoader" class="org.jboss.test.deployers.vfs.reflect.support.MockWarClassLoaderDeployer"/>
-
- <bean name="ClassLoaderScopingPolicy" class="org.jboss.classpool.plugins.jbosscl.VFSClassLoaderDomainRegistry">
- <constructor factoryMethod="getInstance"/>
- </bean>
-
- <bean name="RegisterModuleCallback" class="org.jboss.classpool.plugins.jbosscl.RegisterModuleCallback">
- <constructor>
- <parameter><inject bean="ClassLoaderScopingPolicy"/></parameter>
- </constructor>
- <install method="addModuleRegistry" bean="ClassLoading" whenRequired="Start">
- <parameter><this/></parameter>
- </install>
- <uninstall method="removeModuleRegistry" bean="ClassLoading" whenRequired="Start">
- <parameter><this/></parameter>
- </uninstall>
- </bean>
-
- <bean name="ClassPoolFactory" class="org.jboss.classpool.plugins.jbosscl.JBossClDelegatingClassPoolFactory">
- <constructor>
- <parameter><inject bean="ClassLoaderScopingPolicy"/></parameter>
- <parameter><inject bean="RegisterModuleCallback"/></parameter>
- </constructor>
- </bean>
-
- <bean name="ClassPoolRepository" class="org.jboss.classpool.plugins.jbosscl.JBossClDelegatingClassPoolRepository">
- <constructor factoryMethod="getInstance"/>
- <property name="classPoolFactory"><inject bean="ClassPoolFactory"/></property>
- </bean>
-
- <bean name="PoolFactoryInitializer" class="org.jboss.test.deployers.vfs.reflect.support.PoolFactoryInitializer">
- <constructor>
- <parameter><inject bean="ClassPoolRepository"/></parameter>
- </constructor>
- </bean>
-
-</deployment>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.xml (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.xml)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.xml (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/ClassPoolTestCase.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,41 @@
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <bean name="EarStructure" class="org.jboss.test.deployers.vfs.structure.ear.support.MockEarStructureDeployer"/>
+ <bean name="WarStructure" class="org.jboss.test.deployers.vfs.structure.war.support.MockWarStructureDeployer"/>
+ <bean name="WarClassLoader" class="org.jboss.test.deployers.vfs.reflect.support.MockWarClassLoaderDeployer"/>
+
+ <bean name="ClassLoaderScopingPolicy" class="org.jboss.classpool.plugins.jbosscl.VFSClassLoaderDomainRegistry">
+ <constructor factoryMethod="getInstance"/>
+ </bean>
+
+ <bean name="RegisterModuleCallback" class="org.jboss.classpool.plugins.jbosscl.RegisterModuleCallback">
+ <constructor>
+ <parameter><inject bean="ClassLoaderScopingPolicy"/></parameter>
+ </constructor>
+ <install method="addModuleRegistry" bean="ClassLoading" whenRequired="Start">
+ <parameter><this/></parameter>
+ </install>
+ <uninstall method="removeModuleRegistry" bean="ClassLoading" whenRequired="Start">
+ <parameter><this/></parameter>
+ </uninstall>
+ </bean>
+
+ <bean name="ClassPoolFactory" class="org.jboss.classpool.plugins.jbosscl.JBossClDelegatingClassPoolFactory">
+ <constructor>
+ <parameter><inject bean="ClassLoaderScopingPolicy"/></parameter>
+ <parameter><inject bean="RegisterModuleCallback"/></parameter>
+ </constructor>
+ </bean>
+
+ <bean name="ClassPoolRepository" class="org.jboss.classpool.plugins.jbosscl.JBossClDelegatingClassPoolRepository">
+ <constructor factoryMethod="getInstance"/>
+ <property name="classPoolFactory"><inject bean="ClassPoolFactory"/></property>
+ </bean>
+
+ <bean name="PoolFactoryInitializer" class="org.jboss.test.deployers.vfs.reflect.support.PoolFactoryInitializer">
+ <constructor>
+ <parameter><inject bean="ClassPoolRepository"/></parameter>
+ </constructor>
+ </bean>
+
+</deployment>
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.xml 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,7 +0,0 @@
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <bean name="EarStructure" class="org.jboss.test.deployers.vfs.structure.ear.support.MockEarStructureDeployer"/>
- <bean name="WarStructure" class="org.jboss.test.deployers.vfs.structure.war.support.MockWarStructureDeployer"/>
- <bean name="WarClassLoader" class="org.jboss.test.deployers.vfs.reflect.support.MockWarClassLoaderDeployer"/>
-
-</deployment>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.xml (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.xml)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.xml (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/IntrospectionTypeInfoTestCase.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,7 @@
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <bean name="EarStructure" class="org.jboss.test.deployers.vfs.structure.ear.support.MockEarStructureDeployer"/>
+ <bean name="WarStructure" class="org.jboss.test.deployers.vfs.structure.war.support.MockWarStructureDeployer"/>
+ <bean name="WarClassLoader" class="org.jboss.test.deployers.vfs.reflect.support.MockWarClassLoaderDeployer"/>
+
+</deployment>
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.xml 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,41 +0,0 @@
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <bean name="EarStructure" class="org.jboss.test.deployers.vfs.structure.ear.support.MockEarStructureDeployer"/>
- <bean name="WarStructure" class="org.jboss.test.deployers.vfs.structure.war.support.MockWarStructureDeployer"/>
- <bean name="WarClassLoader" class="org.jboss.test.deployers.vfs.reflect.support.MockWarClassLoaderDeployer"/>
-
- <bean name="ClassLoaderScopingPolicy" class="org.jboss.classpool.plugins.jbosscl.VFSClassLoaderDomainRegistry">
- <constructor factoryMethod="getInstance"/>
- </bean>
-
- <bean name="RegisterModuleCallback" class="org.jboss.classpool.plugins.jbosscl.RegisterModuleCallback">
- <constructor>
- <parameter><inject bean="ClassLoaderScopingPolicy"/></parameter>
- </constructor>
- <install method="addModuleRegistry" bean="ClassLoading" whenRequired="Start">
- <parameter><this/></parameter>
- </install>
- <uninstall method="removeModuleRegistry" bean="ClassLoading" whenRequired="Start">
- <parameter><this/></parameter>
- </uninstall>
- </bean>
-
- <bean name="ClassPoolFactory" class="org.jboss.classpool.plugins.jbosscl.JBossClDelegatingClassPoolFactory">
- <constructor>
- <parameter><inject bean="ClassLoaderScopingPolicy"/></parameter>
- <parameter><inject bean="RegisterModuleCallback"/></parameter>
- </constructor>
- </bean>
-
- <bean name="ClassPoolRepository" class="org.jboss.classpool.plugins.jbosscl.JBossClDelegatingClassPoolRepository">
- <constructor factoryMethod="getInstance"/>
- <property name="classPoolFactory"><inject bean="ClassPoolFactory"/></property>
- </bean>
-
- <bean name="PoolFactoryInitializer" class="org.jboss.test.deployers.vfs.reflect.support.PoolFactoryInitializer">
- <constructor>
- <parameter><inject bean="ClassPoolRepository"/></parameter>
- </constructor>
- </bean>
-
-</deployment>
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.xml (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.xml)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.xml (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/org/jboss/test/deployers/vfs/reflect/test/JavassistTypeInfoTestCase.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,41 @@
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <bean name="EarStructure" class="org.jboss.test.deployers.vfs.structure.ear.support.MockEarStructureDeployer"/>
+ <bean name="WarStructure" class="org.jboss.test.deployers.vfs.structure.war.support.MockWarStructureDeployer"/>
+ <bean name="WarClassLoader" class="org.jboss.test.deployers.vfs.reflect.support.MockWarClassLoaderDeployer"/>
+
+ <bean name="ClassLoaderScopingPolicy" class="org.jboss.classpool.plugins.jbosscl.VFSClassLoaderDomainRegistry">
+ <constructor factoryMethod="getInstance"/>
+ </bean>
+
+ <bean name="RegisterModuleCallback" class="org.jboss.classpool.plugins.jbosscl.RegisterModuleCallback">
+ <constructor>
+ <parameter><inject bean="ClassLoaderScopingPolicy"/></parameter>
+ </constructor>
+ <install method="addModuleRegistry" bean="ClassLoading" whenRequired="Start">
+ <parameter><this/></parameter>
+ </install>
+ <uninstall method="removeModuleRegistry" bean="ClassLoading" whenRequired="Start">
+ <parameter><this/></parameter>
+ </uninstall>
+ </bean>
+
+ <bean name="ClassPoolFactory" class="org.jboss.classpool.plugins.jbosscl.JBossClDelegatingClassPoolFactory">
+ <constructor>
+ <parameter><inject bean="ClassLoaderScopingPolicy"/></parameter>
+ <parameter><inject bean="RegisterModuleCallback"/></parameter>
+ </constructor>
+ </bean>
+
+ <bean name="ClassPoolRepository" class="org.jboss.classpool.plugins.jbosscl.JBossClDelegatingClassPoolRepository">
+ <constructor factoryMethod="getInstance"/>
+ <property name="classPoolFactory"><inject bean="ClassPoolFactory"/></property>
+ </bean>
+
+ <bean name="PoolFactoryInitializer" class="org.jboss.test.deployers.vfs.reflect.support.PoolFactoryInitializer">
+ <constructor>
+ <parameter><inject bean="ClassPoolRepository"/></parameter>
+ </constructor>
+ </bean>
+
+</deployment>
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/clmd)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/clmd/META-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF/clmd-beans.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/clmd/META-INF/clmd-beans.xml 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF/clmd-beans.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <classloader name="anys-classloader" xmlns="urn:jboss:classloader:1.0">
- <requirements>
- <package name="org.jboss.test.deployers.vfs.reflect.support.jar"/>
- </requirements>
- <capabilities>
- <package name="org.jboss.test.deployers.vfs.reflect.support.web"/>
- </capabilities>
- <root>${jboss.tests.url}</root>
- </classloader>
-
- <classloader name="tif-classloader" xmlns="urn:jboss:classloader:1.0">
- <requirements>
- <package name="org.jboss.test.deployers.vfs.reflect.support.web"/>
- </requirements>
- <capabilities>
- <package name="org.jboss.test.deployers.vfs.reflect.support.tif"/>
- </capabilities>
- <root>${jboss.tests.url}</root>
- </classloader>
-
- <bean name="AnyServlet" class="org.jboss.test.deployers.vfs.reflect.support.web.AnyServlet">
- <classloader><inject bean="anys-classloader:0.0.0"/></classloader>
- </bean>
-
- <bean name="TifTester" class="org.jboss.test.deployers.vfs.reflect.support.tif.TIFTester">
- <classloader><inject bean="tif-classloader:0.0.0"/></classloader>
- </bean>
-
-</deployment>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF/clmd-beans.xml (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/clmd/META-INF/clmd-beans.xml)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF/clmd-beans.xml (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF/clmd-beans.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <classloader name="anys-classloader" xmlns="urn:jboss:classloader:1.0">
+ <requirements>
+ <package name="org.jboss.test.deployers.vfs.reflect.support.jar"/>
+ </requirements>
+ <capabilities>
+ <package name="org.jboss.test.deployers.vfs.reflect.support.web"/>
+ </capabilities>
+ <root>${jboss.tests.url}</root>
+ </classloader>
+
+ <classloader name="tif-classloader" xmlns="urn:jboss:classloader:1.0">
+ <requirements>
+ <package name="org.jboss.test.deployers.vfs.reflect.support.web"/>
+ </requirements>
+ <capabilities>
+ <package name="org.jboss.test.deployers.vfs.reflect.support.tif"/>
+ </capabilities>
+ <root>${jboss.tests.url}</root>
+ </classloader>
+
+ <bean name="AnyServlet" class="org.jboss.test.deployers.vfs.reflect.support.web.AnyServlet">
+ <classloader><inject bean="anys-classloader:0.0.0"/></classloader>
+ </bean>
+
+ <bean name="TifTester" class="org.jboss.test.deployers.vfs.reflect.support.tif.TIFTester">
+ <classloader><inject bean="tif-classloader:0.0.0"/></classloader>
+ </bean>
+
+</deployment>
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF/jboss-classloading.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/clmd/META-INF/jboss-classloading.xml 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF/jboss-classloading.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,5 +0,0 @@
-<classloading xmlns="urn:jboss:classloading:1.0">
- <capabilities>
- <package name="org.jboss.test.deployers.vfs.reflect.support.jar"/>
- </capabilities>
-</classloading>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF/jboss-classloading.xml (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/clmd/META-INF/jboss-classloading.xml)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF/jboss-classloading.xml (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/clmd/META-INF/jboss-classloading.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,5 @@
+<classloading xmlns="urn:jboss:classloading:1.0">
+ <capabilities>
+ <package name="org.jboss.test.deployers.vfs.reflect.support.jar"/>
+ </capabilities>
+</classloading>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/META-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/application.properties
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/application.properties 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/application.properties 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,2 +0,0 @@
-jsf-module=ptd-jsf-1.0-SNAPSHOT.war
-ws-module=ptd-ws-1.0-SNAPSHOT.war
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/application.properties (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/application.properties)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/application.properties (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/application.properties 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,2 @@
+jsf-module=ptd-jsf-1.0-SNAPSHOT.war
+ws-module=ptd-ws-1.0-SNAPSHOT.war
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/jboss-classloading.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/jboss-classloading.xml 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/jboss-classloading.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,6 +0,0 @@
-<classloading xmlns="urn:jboss:classloading:1.0"
- name="ptd-ear-1.0-SNAPSHOT.ear"
- domain="ptd-ear-1.0-SNAPSHOT.ear"
- export-all="NON_EMPTY"
- import-all="true"
- parent-first="false"/>
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/jboss-classloading.xml (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/jboss-classloading.xml)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/jboss-classloading.xml (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/META-INF/jboss-classloading.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,6 @@
+<classloading xmlns="urn:jboss:classloading:1.0"
+ name="ptd-ear-1.0-SNAPSHOT.ear"
+ domain="ptd-ear-1.0-SNAPSHOT.ear"
+ export-all="NON_EMPTY"
+ import-all="true"
+ parent-first="false"/>
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/manifest (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/manifest)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/manifest/META-INF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/manifest/META-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/manifest/META-INF/MANIFEST.MF
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/manifest/META-INF/MANIFEST.MF 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/manifest/META-INF/MANIFEST.MF 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,4 +0,0 @@
-Manifest-Version: 1.0
-Created-By: alesj
-Class-Path: ../../../lib/common.jar
-
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/manifest/META-INF/MANIFEST.MF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/manifest/META-INF/MANIFEST.MF)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/manifest/META-INF/MANIFEST.MF (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/manifest/META-INF/MANIFEST.MF 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,4 @@
+Manifest-Version: 1.0
+Created-By: alesj
+Class-Path: ../../../lib/common.jar
+
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war1 (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/war1)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war1/WEB-INF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/war1/WEB-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war1/WEB-INF/jboss-classloading.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/war1/WEB-INF/jboss-classloading.xml 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war1/WEB-INF/jboss-classloading.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,7 +0,0 @@
-<classloading xmlns="urn:jboss:classloading:1.0"
- name="ptd-jsf-1.0-SNAPSHOT.war"
- domain="ptd-jsf-1.0-SNAPSHOT.war"
- parent-domain="ptd-ear-1.0-SNAPSHOT.ear"
- export-all="NON_EMPTY"
- import-all="true"
- parent-first="true"/>
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war1/WEB-INF/jboss-classloading.xml (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/war1/WEB-INF/jboss-classloading.xml)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war1/WEB-INF/jboss-classloading.xml (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war1/WEB-INF/jboss-classloading.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,7 @@
+<classloading xmlns="urn:jboss:classloading:1.0"
+ name="ptd-jsf-1.0-SNAPSHOT.war"
+ domain="ptd-jsf-1.0-SNAPSHOT.war"
+ parent-domain="ptd-ear-1.0-SNAPSHOT.ear"
+ export-all="NON_EMPTY"
+ import-all="true"
+ parent-first="true"/>
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war2 (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/war2)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war2/WEB-INF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/war2/WEB-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war2/WEB-INF/jboss-classloading.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/war2/WEB-INF/jboss-classloading.xml 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war2/WEB-INF/jboss-classloading.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,7 +0,0 @@
-<classloading xmlns="urn:jboss:classloading:1.0"
- name="ptd-ws-1.0-SNAPSHOT.war"
- domain="ptd-ws-1.0-SNAPSHOT.war"
- parent-domain="ptd-ear-1.0-SNAPSHOT.ear"
- export-all="NON_EMPTY"
- import-all="true"
- parent-first="true"/>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war2/WEB-INF/jboss-classloading.xml (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ear2war/war2/WEB-INF/jboss-classloading.xml)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war2/WEB-INF/jboss-classloading.xml (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ear2war/war2/WEB-INF/jboss-classloading.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,7 @@
+<classloading xmlns="urn:jboss:classloading:1.0"
+ name="ptd-ws-1.0-SNAPSHOT.war"
+ domain="ptd-ws-1.0-SNAPSHOT.war"
+ parent-domain="ptd-ear-1.0-SNAPSHOT.ear"
+ export-all="NON_EMPTY"
+ import-all="true"
+ parent-first="true"/>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/earutil (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/earutil)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/earutil/META-INF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/earutil/META-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/earutil/META-INF/application.properties
===================================================================
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/earutil/META-INF/application.properties (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/earutil/META-INF/application.properties)
===================================================================
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ejb)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ejb/META-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF/MANIFEST.MF
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ejb/META-INF/MANIFEST.MF 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF/MANIFEST.MF 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-Created-By: hand
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF/MANIFEST.MF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ejb/META-INF/MANIFEST.MF)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF/MANIFEST.MF (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF/MANIFEST.MF 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+Created-By: hand
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF/ejb-jar.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ejb/META-INF/ejb-jar.xml 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF/ejb-jar.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,2 +0,0 @@
-<ejb-jar>
-</ejb-jar>
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF/ejb-jar.xml (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/ejb/META-INF/ejb-jar.xml)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF/ejb-jar.xml (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/ejb/META-INF/ejb-jar.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,2 @@
+<ejb-jar>
+</ejb-jar>
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/jarinear (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/jarinear)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/jarinear/META-INF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/jarinear/META-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/jarinear/META-INF/application.properties
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/jarinear/META-INF/application.properties 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/jarinear/META-INF/application.properties 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1 +0,0 @@
-ejb-module=simple.jar
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/jarinear/META-INF/application.properties (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/jarinear/META-INF/application.properties)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/jarinear/META-INF/application.properties (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/jarinear/META-INF/application.properties 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1 @@
+ejb-module=simple.jar
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/module (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/module)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/module/META-INF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/module/META-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/module/META-INF/anys-beans.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/module/META-INF/anys-beans.xml 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/module/META-INF/anys-beans.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <classloader><inject bean="anys-classloader:0.0.0"/></classloader>
-
- <classloader name="anys-classloader" xmlns="urn:jboss:classloader:1.0" import-all="true">
- <capabilities>
- <package name="org.jboss.test.deployers.vfs.reflect.support.web"/>
- </capabilities>
- <root>${jboss.tests.url}</root>
- </classloader>
-
- <bean name="AnyServlet" class="org.jboss.test.deployers.vfs.reflect.support.web.AnyServlet"/>
-
-</deployment>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/module/META-INF/anys-beans.xml (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/module/META-INF/anys-beans.xml)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/module/META-INF/anys-beans.xml (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/module/META-INF/anys-beans.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <classloader><inject bean="anys-classloader:0.0.0"/></classloader>
+
+ <classloader name="anys-classloader" xmlns="urn:jboss:classloader:1.0" import-all="true">
+ <capabilities>
+ <package name="org.jboss.test.deployers.vfs.reflect.support.web"/>
+ </capabilities>
+ <root>${jboss.tests.url}</root>
+ </classloader>
+
+ <bean name="AnyServlet" class="org.jboss.test.deployers.vfs.reflect.support.web.AnyServlet"/>
+
+</deployment>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/sar (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/sar)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/sar/META-INF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/sar/META-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/sar/META-INF/jboss-service.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/sar/META-INF/jboss-service.xml 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/sar/META-INF/jboss-service.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1 +0,0 @@
-<server/>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/sar/META-INF/jboss-service.xml (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/sar/META-INF/jboss-service.xml)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/sar/META-INF/jboss-service.xml (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/sar/META-INF/jboss-service.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1 @@
+<server/>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/simple (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/simple)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/simple/META-INF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/simple/META-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/simple/META-INF/application.properties
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/simple/META-INF/application.properties 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/simple/META-INF/application.properties 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,5 +0,0 @@
-jar-module=simple.jar
-ejb-module=ejbs.jar
-web-module=simple.war
-jsf-module=jsfapp.war
-sar-module=simple.sar
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/simple/META-INF/application.properties (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/simple/META-INF/application.properties)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/simple/META-INF/application.properties (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/simple/META-INF/application.properties 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,5 @@
+jar-module=simple.jar
+ejb-module=ejbs.jar
+web-module=simple.war
+jsf-module=jsfapp.war
+sar-module=simple.sar
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/tif (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/tif)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/tif/META-INF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/tif/META-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/tif/META-INF/tif-beans.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/tif/META-INF/tif-beans.xml 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/tif/META-INF/tif-beans.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <classloader name="anys-classloader" xmlns="urn:jboss:classloader:1.0" import-all="true" domain="Anys" parent-domain="DefaultDomain">
- <capabilities>
- <package name="org.jboss.test.deployers.vfs.reflect.support.web"/>
- </capabilities>
- <root>${jboss.tests.url}</root>
- </classloader>
-
- <classloader name="tif-classloader" xmlns="urn:jboss:classloader:1.0" import-all="true" domain="TIF" parent-domain="Anys">
- <capabilities>
- <package name="org.jboss.test.deployers.vfs.reflect.support.tif"/>
- </capabilities>
- <root>${jboss.tests.url}</root>
- </classloader>
-
- <bean name="AnyServlet" class="org.jboss.test.deployers.vfs.reflect.support.web.AnyServlet">
- <classloader><inject bean="anys-classloader:0.0.0"/></classloader>
- </bean>
-
- <bean name="TifTester" class="org.jboss.test.deployers.vfs.reflect.support.tif.TIFTester">
- <classloader><inject bean="tif-classloader:0.0.0"/></classloader>
- </bean>
-
-</deployment>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/tif/META-INF/tif-beans.xml (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/tif/META-INF/tif-beans.xml)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/tif/META-INF/tif-beans.xml (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/tif/META-INF/tif-beans.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <classloader name="anys-classloader" xmlns="urn:jboss:classloader:1.0" import-all="true" domain="Anys" parent-domain="DefaultDomain">
+ <capabilities>
+ <package name="org.jboss.test.deployers.vfs.reflect.support.web"/>
+ </capabilities>
+ <root>${jboss.tests.url}</root>
+ </classloader>
+
+ <classloader name="tif-classloader" xmlns="urn:jboss:classloader:1.0" import-all="true" domain="TIF" parent-domain="Anys">
+ <capabilities>
+ <package name="org.jboss.test.deployers.vfs.reflect.support.tif"/>
+ </capabilities>
+ <root>${jboss.tests.url}</root>
+ </classloader>
+
+ <bean name="AnyServlet" class="org.jboss.test.deployers.vfs.reflect.support.web.AnyServlet">
+ <classloader><inject bean="anys-classloader:0.0.0"/></classloader>
+ </bean>
+
+ <bean name="TifTester" class="org.jboss.test.deployers.vfs.reflect.support.tif.TIFTester">
+ <classloader><inject bean="tif-classloader:0.0.0"/></classloader>
+ </bean>
+
+</deployment>
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/warinear (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/warinear)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/warinear/META-INF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/warinear/META-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/warinear/META-INF/application.properties
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/warinear/META-INF/application.properties 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/warinear/META-INF/application.properties 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1 +0,0 @@
-web-module=simple.war
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/warinear/META-INF/application.properties (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/warinear/META-INF/application.properties)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/warinear/META-INF/application.properties (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/warinear/META-INF/application.properties 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1 @@
+web-module=simple.war
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/web (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/web)
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/web/WEB-INF (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/web/WEB-INF)
Deleted: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/web/WEB-INF/web.xml
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/web/WEB-INF/web.xml 2009-12-18 19:31:18 UTC (rev 98000)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/web/WEB-INF/web.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -1,2 +0,0 @@
-<web>
-</web>
\ No newline at end of file
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/web/WEB-INF/web.xml (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs/src/test/resources/reflect/web/WEB-INF/web.xml)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/web/WEB-INF/web.xml (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs/src/test/resources/reflect/web/WEB-INF/web.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,2 @@
+<web>
+</web>
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/pom.xml
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/pom.xml 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/pom.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -15,6 +15,16 @@
<dependencies>
<!-- Global dependencies -->
<dependency>
+ <groupId>org.jboss.kernel</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss.kernel</groupId>
+ <artifactId>jboss-dependency</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
<groupId>org.jboss</groupId>
<artifactId>jboss-vfs</artifactId>
<exclusions>
@@ -69,8 +79,42 @@
</exclusions>
</dependency>
<dependency>
+ <groupId>org.jboss.mcann</groupId>
+ <artifactId>mcann-core</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss.vfs</groupId>
+ <artifactId>jboss-vfs</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-reflect</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.man</groupId>
+ <artifactId>jboss-managed</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.man</groupId>
+ <artifactId>jboss-metatype</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.kernel</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss.cl</groupId>
+ <artifactId>jboss-classloading</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
<groupId>stax</groupId>
<artifactId>stax-api</artifactId>
</dependency>
- </dependencies>
+ </dependencies>
</project>
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/AbstractVFSParsingDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/AbstractVFSParsingDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/AbstractVFSParsingDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -190,14 +190,14 @@
@Override
protected T parse(DeploymentUnit unit, String name, T root) throws Exception
{
+ if (ignoreName(unit, name))
+ return null;
+
// Try to find the metadata
VFSDeploymentUnit vfsDeploymentUnit = (VFSDeploymentUnit) unit;
VirtualFile file = getMetadataFile(vfsDeploymentUnit, getOutput(), name, true);
- if(file == null)
- return null;
-
- return parseAndInit(vfsDeploymentUnit, file, root);
+ return (file != null) ? parseAndInit(vfsDeploymentUnit, file, root) : null;
}
protected T parse(DeploymentUnit unit, Set<String> names, T root) throws Exception
@@ -209,17 +209,25 @@
List<VirtualFile> files = new ArrayList<VirtualFile>();
Set<String> missingFiles = new HashSet<String>();
+ Set<String> ignoredFiles = new HashSet<String>();
for (String name : names)
{
- VirtualFile file = getMetadataFile(vfsDeploymentUnit, matchFileToClass(unit, name), name, true);
- if (file != null)
- files.add(file);
+ if (ignoreName(unit, name))
+ {
+ ignoredFiles.add(name);
+ }
else
- missingFiles.add(name);
+ {
+ VirtualFile file = getMetadataFile(vfsDeploymentUnit, matchFileToClass(unit, name), name, true);
+ if (file != null)
+ files.add(file);
+ else
+ missingFiles.add(name);
+ }
}
- if (missingFiles.size() == names.size())
+ if (missingFiles.size() + ignoredFiles.size() == names.size())
return null;
return mergeFiles(vfsDeploymentUnit, root, files, missingFiles);
@@ -232,14 +240,14 @@
// The infrastructure will only check leafs anyway so no need to check here
if (name == null && isIncludeDeploymentFile())
name = unit.getName();
-
+
// Try to find the metadata
VFSDeploymentUnit vfsDeploymentUnit = (VFSDeploymentUnit) unit;
// let's check altDD first
VirtualFile file = getMetadataFile(vfsDeploymentUnit, getOutput(), name, false);
if (file != null)
- return parseAndInit(vfsDeploymentUnit, file, root);
+ return parseAndInit(vfsDeploymentUnit, file, root, true);
// try all name+suffix matches
List<VirtualFile> files = vfsDeploymentUnit.getMetaDataFiles(name, suffix);
@@ -248,7 +256,7 @@
case 0 :
return null;
case 1 :
- return parseAndInit(vfsDeploymentUnit, files.get(0), root);
+ return parseAndInit(vfsDeploymentUnit, files.get(0), root, true);
default :
return handleMultipleFiles(vfsDeploymentUnit, root, files);
}
@@ -265,6 +273,24 @@
*/
protected T parseAndInit(VFSDeploymentUnit unit, VirtualFile file, T root) throws Exception
{
+ return parseAndInit(unit, file, root, false);
+ }
+
+ /**
+ * Parse the file, initialize the result if exists.
+ *
+ * @param unit the deployment unit
+ * @param file the file
+ * @param root the root
+ * @param checkIgnore do we check for ignored names
+ * @return parsed result
+ * @throws Exception for any error
+ */
+ protected T parseAndInit(VFSDeploymentUnit unit, VirtualFile file, T root, boolean checkIgnore) throws Exception
+ {
+ if (checkIgnore && ignoreName(unit, file.getName()))
+ return null;
+
T result = parse(unit, file, root);
if (result != null)
init(unit, result, file);
@@ -280,26 +306,34 @@
List<VirtualFile> files = new ArrayList<VirtualFile>();
Set<String> missingFiles = new HashSet<String>();
+ Set<String> ignoredFiles = new HashSet<String>();
for (String name : names)
{
- // try finding altDD file
- VirtualFile file = getMetadataFile(vfsDeploymentUnit, matchFileToClass(unit, name), name, false);
- if (file == null)
+ if (ignoreName(unit, name))
{
- List<VirtualFile> matched = vfsDeploymentUnit.getMetaDataFiles(name, suffix);
- if (matched != null && matched.isEmpty() == false)
- files.addAll(matched);
- else
- missingFiles.add(name);
+ ignoredFiles.add(name);
}
else
{
- files.add(file);
+ // try finding altDD file
+ VirtualFile file = getMetadataFile(vfsDeploymentUnit, matchFileToClass(unit, name), name, false);
+ if (file == null)
+ {
+ List<VirtualFile> matched = vfsDeploymentUnit.getMetaDataFiles(name, suffix);
+ if (matched != null && matched.isEmpty() == false)
+ files.addAll(matched);
+ else
+ missingFiles.add(name);
+ }
+ else
+ {
+ files.add(file);
+ }
}
}
- if (missingFiles.size() == names.size())
+ if (missingFiles.size() + ignoredFiles.size() == names.size())
return null;
return mergeFiles(vfsDeploymentUnit, root, files, missingFiles);
@@ -337,11 +371,14 @@
for (VirtualFile file : files)
{
- T result = parse(unit, file, root);
- if (result != null)
+ if (ignoreName(unit, file.getName()) == false)
{
- init(unit, result, file);
- unit.addAttachment(file.toURL().toString(), result, getOutput());
+ T result = parse(unit, file, root);
+ if (result != null)
+ {
+ init(unit, result, file);
+ unit.addAttachment(file.toURL().toString(), result, getOutput());
+ }
}
}
Copied: projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/helpers/BeanMetaDataDeployerPlugin.java (from rev 98000, projects/jboss-deployers/trunk/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/helpers/BeanMetaDataDeployerPlugin.java)
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/helpers/BeanMetaDataDeployerPlugin.java (rev 0)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/deployer/helpers/BeanMetaDataDeployerPlugin.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -0,0 +1,68 @@
+/*
+* 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.deployers.vfs.spi.deployer.helpers;
+
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.dependency.spi.Controller;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.kernel.spi.dependency.KernelControllerContext;
+
+/**
+ * Interface used by BeanMetaDataDeployer to create controller contexts for deployment, and
+ * to take care of special needs during undeployment.
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public interface BeanMetaDataDeployerPlugin
+{
+ /**
+ * The relative order of this creator. BeanMetaDataDeployer will try to
+ * create contexts with values first.
+ * @return The relative order
+ */
+ int getRelativeOrder();
+
+ /**
+ * Create a controller context
+ *
+ * @param controller The controller to which the beans will be deployed
+ * @param unit The deployment unit we are deploying
+ * @param beanMetaData The bean metadata we are deploying
+ * @return the created controller context or null if this controller context creator should not handle the creation of the context
+ */
+ KernelControllerContext createContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData);
+
+ /**
+ * Hook to uninstall a context from the controller if it needs special handling on uninstall. The BeanMetaDataDeployer
+ * remembers which KernelContextCreator was used to create a KernelControllerContext and on undeploy will
+ * call this method.
+ *
+ * @param controller The controller containing the context
+ * @param unit The deployment unit we are uninstalling
+ * @param beanMetaData The bean metadata of the context that we are uninstalling. Its name is normally
+ * the same as the name of the context to be uninstalled
+ * @return true if uninstall was handled here, false if we did not do the uninstall (i.e. nothing special
+ * is required for the uninstall, so it should be handled as normal by the BeanMetaDataDeployer)
+ */
+ boolean uninstallContext(Controller controller, DeploymentUnit unit, BeanMetaData beanMetaData);
+}
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/CandidateAnnotationsCallback.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/CandidateAnnotationsCallback.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/CandidateAnnotationsCallback.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -23,7 +23,7 @@
import java.lang.annotation.Annotation;
-import org.jboss.deployers.spi.annotations.AnnotationEnvironment;
+import org.jboss.mcann.AnnotationRepository;
import org.jboss.vfs.VirtualFile;
/**
@@ -41,5 +41,5 @@
* @param env the annotation environment
* @param annotationClass the current annotation class
*/
- void executeCallback(VirtualFile root, StructureContext currentContext, AnnotationEnvironment env, Class<? extends Annotation> annotationClass);
+ void executeCallback(VirtualFile root, StructureContext currentContext, AnnotationRepository env, Class<? extends Annotation> annotationClass);
}
\ No newline at end of file
Modified: projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/helpers/AbstractStructureDeployer.java
===================================================================
--- projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/helpers/AbstractStructureDeployer.java 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/deployers-vfs-spi/src/main/java/org/jboss/deployers/vfs/spi/structure/helpers/AbstractStructureDeployer.java 2009-12-21 16:03:14 UTC (rev 98088)
@@ -28,7 +28,6 @@
import java.util.List;
import java.util.Set;
-import org.jboss.deployers.spi.annotations.AnnotationEnvironment;
import org.jboss.deployers.spi.structure.ClassPathEntry;
import org.jboss.deployers.spi.structure.ContextInfo;
import org.jboss.deployers.spi.structure.StructureMetaData;
@@ -38,6 +37,7 @@
import org.jboss.deployers.vfs.spi.structure.StructureDeployer;
import org.jboss.deployers.vfs.spi.structure.VFSStructuralDeployers;
import org.jboss.logging.Logger;
+import org.jboss.mcann.AnnotationRepository;
import org.jboss.util.collection.CollectionsFactory;
import org.jboss.vfs.VFSUtils;
import org.jboss.vfs.VirtualFile;
@@ -258,12 +258,12 @@
}
/**
- * Create annotation environment
+ * Create annotation repository
*
* @param root the deployment root
- * @return new annotation environment
+ * @return new annotation repository
*/
- protected abstract AnnotationEnvironment createAnnotationEnvironment(VirtualFile root);
+ protected abstract AnnotationRepository createAnnotationRepository(VirtualFile root);
/**
* Check for candidate annotations.
@@ -291,7 +291,7 @@
boolean result = false;
for(VirtualFile root : roots)
{
- AnnotationEnvironment env = createAnnotationEnvironment(root);
+ AnnotationRepository env = createAnnotationRepository(root);
for (Class<? extends Annotation> annotationClass : candidateAnnotations)
{
if (env.hasClassAnnotatedWith(annotationClass))
Modified: projects/jboss-deployers/branches/vfs3/pom.xml
===================================================================
--- projects/jboss-deployers/branches/vfs3/pom.xml 2009-12-21 15:56:16 UTC (rev 98087)
+++ projects/jboss-deployers/branches/vfs3/pom.xml 2009-12-21 16:03:14 UTC (rev 98088)
@@ -22,7 +22,9 @@
<properties>
<version.jboss.vfs>3.0.0.CR1-SNAPSHOT</version.jboss.vfs>
- <version.jboss.man>2.1.1.CR1</version.jboss.man>
+ <version.jboss.reflect>2.2.0-SNAPSHOT</version.jboss.reflect>
+ <version.jboss.classpool>1.0.0-SNAPSHOT</version.jboss.classpool>
+ <version.jboss.man>2.1.1.GA</version.jboss.man>
<version.jboss.mdr>2.0.2.GA</version.jboss.mdr>
<version.jboss.kernel>2.2.0-SNAPSHOT</version.jboss.kernel>
<version.jboss.classloader>2.2.0-SNAPSHOT</version.jboss.classloader>
@@ -30,14 +32,15 @@
<version.jboss.common.core>2.2.14.GA</version.jboss.common.core>
<version.jboss.logging.spi>2.2.0.CR1</version.jboss.logging.spi>
<version.jboss.logging.log4j>2.2.0.CR1</version.jboss.logging.log4j>
- <version.jbossxb>2.0.2-SNAPSHOT</version.jbossxb>
+ <version.jbossxb>2.0.2.Beta2</version.jbossxb>
<version.jboss.aop>2.1.0.CR3</version.jboss.aop>
<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>
+ <version.javassist>3.11.0.GA</version.javassist>
<version.stax.staxapi>1.0</version.stax.staxapi>
<version.ant.junit>1.6.5</version.ant.junit>
- <version.jboss.byteman>1.0.2</version.jboss.byteman>
+ <version.jboss.byteman>1.0.3.CP01</version.jboss.byteman>
+ <version.jboss.mcann>1.0.0-SNAPSHOT</version.jboss.mcann>
</properties>
<modules>
@@ -332,6 +335,21 @@
<version>${version.stax.staxapi}</version>
<optional>true</optional>
</dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-reflect</artifactId>
+ <version>${version.jboss.reflect}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.classpool</groupId>
+ <artifactId>jboss-classpool-jbosscl</artifactId>
+ <version>${version.jboss.classpool}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.mcann</groupId>
+ <artifactId>mcann-core</artifactId>
+ <version>${version.jboss.mcann}</version>
+ </dependency>
<!-- test dependencies -->
<dependency>
<groupId>org.jboss.test</groupId>
More information about the jboss-cvs-commits
mailing list