[jboss-cvs] JBossAS SVN: r100922 - in branches/vfs3-int: aspects and 128 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Feb 12 12:13:26 EST 2010


Author: johnbailey
Date: 2010-02-12 12:13:14 -0500 (Fri, 12 Feb 2010)
New Revision: 100922

Added:
   branches/vfs3-int/cluster/src/assembly/examples.xml
   branches/vfs3-int/cluster/src/main/java/org/jboss/ha/singleton/ProfileKeyMetaMapper.java
   branches/vfs3-int/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyDeploymentData.java
   branches/vfs3-int/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyEjbDeployer.java
   branches/vfs3-int/resteasy-int/test/ejb-war/
   branches/vfs3-int/resteasy-int/test/ejb-war/pom.xml
   branches/vfs3-int/resteasy-int/test/ejb-war/src/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResource.java
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResourceBean.java
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF/web.xml
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/index.jsp
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss/EjbTest.java
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources/jndi.properties
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources/log4j.xml
   branches/vfs3-int/resteasy-int/zip/resteasy-ejb-jboss-beans.xml
   branches/vfs3-int/server/src/etc/conf/all/bootstrap/stdio.xml
   branches/vfs3-int/server/src/etc/deploy/admin-console-activator-jboss-beans.xml
   branches/vfs3-int/server/src/etc/deploy/jbossws-console-activator-jboss-beans.xml
   branches/vfs3-int/server/src/etc/deploy/jmx-console-activator-jboss-beans.xml
   branches/vfs3-int/server/src/main/java/org/jboss/deployment/MetaDataTypeFilterFactory.java
   branches/vfs3-int/server/src/main/java/org/jboss/deployment/PUHackDeployer.java
   branches/vfs3-int/server/src/main/java/org/jboss/web/RMICodebaseConfigurer.java
   branches/vfs3-int/server/src/main/java/org/jboss/web/RMICodebaseConfigurerMBean.java
   branches/vfs3-int/system/src/main/java/org/jboss/system/deployers/LegacyPrefixDeploymentContextComparator.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/hasingleton/HASingletonMBeanExample.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/hasingleton/HASingletonMBeanExampleMBean.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/hasingleton/HASingletonPojoExample.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/deployers/LegacyPrefixDeploymentContextComparatorTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/
   branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForQueueCreation.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForTopicCreation.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/unit/
   branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/unit/AutoCreateDestinationForMDBTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/jsf/webapp/ValidatedBean.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/naming/test/NamingProviderURLWriterUnitTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/web/servlets/InjectionServlet.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/web/test/BasicOnDemandWarTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/web/test/OnDemandContextProfileManagerUnitTestCase.java
   branches/vfs3-int/testsuite/src/resources/ejb3/jbpapp3026/
   branches/vfs3-int/testsuite/src/resources/ejb3/jbpapp3026/META-INF/
   branches/vfs3-int/testsuite/src/resources/ejb3/jbpapp3026/META-INF/jboss.xml
   branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/
   branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/ContextDemandListener.java
   branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/DefaultOnDemandContextIntegrator.java
   branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextIntegrator.java
   branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextProfileManager.java
Removed:
   branches/vfs3-int/cluster/src/examples/org/jboss/mq/
   branches/vfs3-int/console/src/assembly/applet.xml
   branches/vfs3-int/console/src/assembly/console-mgr-classes.xml
   branches/vfs3-int/console/src/assembly/console-mgr-sar.xml
   branches/vfs3-int/console/src/assembly/jboss-console-client.xml
   branches/vfs3-int/console/src/assembly/jboss-console.xml
   branches/vfs3-int/console/src/assembly/web-console.xml
   branches/vfs3-int/console/src/main/java/org/jboss/console/manager/
   branches/vfs3-int/console/src/main/java/org/jboss/console/navtree/
   branches/vfs3-int/console/src/main/java/org/jboss/console/plugins/
   branches/vfs3-int/console/src/main/java/org/jboss/console/remote/
   branches/vfs3-int/console/src/main/java/org/jboss/console/util/
   branches/vfs3-int/console/src/resources/console-mgr.sar/
   branches/vfs3-int/console/src/resources/webconsole.war/
   branches/vfs3-int/jmx-remoting/
   branches/vfs3-int/resteasy-int/test/ejb-war/pom.xml
   branches/vfs3-int/resteasy-int/test/ejb-war/src/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResource.java
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResourceBean.java
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF/web.xml
   branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/index.jsp
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss/EjbTest.java
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources/
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources/jndi.properties
   branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources/log4j.xml
   branches/vfs3-int/server/src/main/java/org/jboss/deployment/DeploymentProvidedDeploymentUnitFilter.java
   branches/vfs3-int/system/src/main/java/org/jboss/system/server/profile/basic/
   branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForQueueCreation.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForTopicCreation.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/unit/
   branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/unit/AutoCreateDestinationForMDBTestCase.java
   branches/vfs3-int/testsuite/src/resources/ejb3/jbpapp3026/META-INF/
   branches/vfs3-int/testsuite/src/resources/ejb3/jbpapp3026/META-INF/jboss.xml
   branches/vfs3-int/testsuite/src/resources/jmx/jbosstest-urlscanner-service.xml
   branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/ContextDemandListener.java
   branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/DefaultOnDemandContextIntegrator.java
   branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextIntegrator.java
   branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextProfileManager.java
Modified:
   branches/vfs3-int/
   branches/vfs3-int/aspects/pom.xml
   branches/vfs3-int/build/build-web.xml
   branches/vfs3-int/build/build.xml
   branches/vfs3-int/build/pom.xml
   branches/vfs3-int/client/pom.xml
   branches/vfs3-int/cluster/.classpath
   branches/vfs3-int/cluster/pom.xml
   branches/vfs3-int/cluster/src/main/java/org/jboss/ha/singleton/HASingletonProfileActivator.java
   branches/vfs3-int/cluster/src/main/java/org/jboss/ha/singleton/HASingletonProfileManager.java
   branches/vfs3-int/cluster/src/resources/jgroups/jgroups-channelfactory-stacks.xml
   branches/vfs3-int/component-matrix/pom.xml
   branches/vfs3-int/connector/pom.xml
   branches/vfs3-int/connector/src/main/java/org/jboss/resource/connectionmanager/BaseConnectionManager2.java
   branches/vfs3-int/connector/src/main/java/org/jboss/resource/deployers/ManagedConnectionFactoryDeployer.java
   branches/vfs3-int/connector/src/main/java/org/jboss/resource/deployers/RARParserDeployer.java
   branches/vfs3-int/connector/src/main/java/org/jboss/resource/work/JBossWorkManager.java
   branches/vfs3-int/connector/src/main/java/org/jboss/resource/work/WorkWrapper.java
   branches/vfs3-int/console/pom.xml
   branches/vfs3-int/deployment/pom.xml
   branches/vfs3-int/ejb3/pom.xml
   branches/vfs3-int/ejb3/src/main/java/org/jboss/ejb3/deployers/AppClientParsingDeployer.java
   branches/vfs3-int/ejb3/src/resources/META-INF/ejb3-as-deployers-jboss-beans.xml
   branches/vfs3-int/ejb3/src/resources/META-INF/jpa-deployers-jboss-beans.xml
   branches/vfs3-int/hibernate-int/pom.xml
   branches/vfs3-int/iiop/pom.xml
   branches/vfs3-int/jbossas-jmx-remoting/pom.xml
   branches/vfs3-int/jbossas-remoting/pom.xml
   branches/vfs3-int/main/pom.xml
   branches/vfs3-int/main/src/main/java/org/jboss/Main.java
   branches/vfs3-int/main/src/resources/logging.properties
   branches/vfs3-int/management/pom.xml
   branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/ServiceModule.java
   branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/WebModule.java
   branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/deployers/AbstractJSR77Deployer.java
   branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/deployers/AbstractVFSJSR77Deployer.java
   branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/deployers/ServiceModuleJSR77Deployer.java
   branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/deployers/WebModuleJSR77Deployer.java
   branches/vfs3-int/messaging/pom.xml
   branches/vfs3-int/messaging/src/etc/examples/web-service/build.xml
   branches/vfs3-int/messaging/src/main/java/org/jboss/jms/server/destination/JBossMessagingCreateDestinationFactory.java
   branches/vfs3-int/pom.xml
   branches/vfs3-int/profileservice/pom.xml
   branches/vfs3-int/profileservice/src/main/java/org/jboss/profileservice/web/DebugServlet.java
   branches/vfs3-int/resteasy-int/
   branches/vfs3-int/resteasy-int/jar/
   branches/vfs3-int/resteasy-int/jar/pom.xml
   branches/vfs3-int/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyIntegrationDeployer.java
   branches/vfs3-int/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyScannerDeployer.java
   branches/vfs3-int/resteasy-int/pom.xml
   branches/vfs3-int/resteasy-int/test/application-war/pom.xml
   branches/vfs3-int/resteasy-int/test/pom.xml
   branches/vfs3-int/resteasy-int/test/scanned-war/pom.xml
   branches/vfs3-int/resteasy-int/zip/
   branches/vfs3-int/resteasy-int/zip/assembly.xml
   branches/vfs3-int/resteasy-int/zip/pom.xml
   branches/vfs3-int/security/pom.xml
   branches/vfs3-int/security/src/etc/bin/password_tool.sh
   branches/vfs3-int/security/src/main/java/org/jboss/security/plugins/JaasSecurityDomain.java
   branches/vfs3-int/security/src/main/java/org/jboss/security/plugins/JaasSecurityDomainMBean.java
   branches/vfs3-int/server/.classpath
   branches/vfs3-int/server/pom.xml
   branches/vfs3-int/server/src/etc/conf/all/bootstrap.xml
   branches/vfs3-int/server/src/etc/conf/all/bootstrap/classloader.xml
   branches/vfs3-int/server/src/etc/conf/all/bootstrap/deployers.xml
   branches/vfs3-int/server/src/etc/conf/all/bootstrap/profile.xml
   branches/vfs3-int/server/src/etc/conf/all/jboss-service.xml
   branches/vfs3-int/server/src/etc/conf/default/bootstrap/profile.xml
   branches/vfs3-int/server/src/etc/conf/minimal/bootstrap.xml
   branches/vfs3-int/server/src/etc/conf/standard/jboss-service.xml
   branches/vfs3-int/server/src/etc/deploy/jboss-logging.xml
   branches/vfs3-int/server/src/etc/deploy/legacy-conf-service.xml
   branches/vfs3-int/server/src/etc/deployers/core-naming-jboss-beans.xml
   branches/vfs3-int/server/src/etc/deployers/metadata-deployer-jboss-beans.xml
   branches/vfs3-int/server/src/main/java/org/jboss/deployment/AnnotationMetaDataDeployer.java
   branches/vfs3-int/server/src/main/java/org/jboss/deployment/EARStructure.java
   branches/vfs3-int/server/src/main/java/org/jboss/deployment/EjbParsingDeployer.java
   branches/vfs3-int/server/src/main/java/org/jboss/deployment/WebAppFragmentParsingDeployer.java
   branches/vfs3-int/server/src/main/java/org/jboss/deployment/WebAppParsingDeployer.java
   branches/vfs3-int/server/src/main/java/org/jboss/naming/NamingProviderURLWriter.java
   branches/vfs3-int/system-jmx/pom.xml
   branches/vfs3-int/system/pom.xml
   branches/vfs3-int/system/src/main/java/org/jboss/system/server/profileservice/persistence/deployer/PersistenceModificationChecker.java
   branches/vfs3-int/testsuite/
   branches/vfs3-int/testsuite/.classpath
   branches/vfs3-int/testsuite/build.xml
   branches/vfs3-int/testsuite/imports/sections/cluster.xml
   branches/vfs3-int/testsuite/imports/sections/ejb3.xml
   branches/vfs3-int/testsuite/imports/sections/jmx.xml
   branches/vfs3-int/testsuite/imports/sections/seam.xml
   branches/vfs3-int/testsuite/imports/sections/web.xml
   branches/vfs3-int/testsuite/imports/server-config.xml
   branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/DriverManagerPersistentStoreUnitTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/CacheManagerUnitTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/DRMTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/HASingletonControllerBeanUnitTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/HASingletonElectionPolicyTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/nointerface/AccountManagerBean.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/war/deployment/CounterBeanInWEBINFLibJar.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/war/deployment/CounterDelegateBeanInWarEjbJarXml.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/hibernate/mocks/MockRegionFactory.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/jmx/shutdown/ExitOnShutdown.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/messagedriven/test/SimpleQueueMessageDrivenCreateDestinationUnitTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/messagedriven/test/SimpleTopicMessageDrivenCreateDestinationUnitTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/profileservice/test/JMXMappingUnitTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/profileservice/test/ProfileServiceUnitTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/profileservice/test/SecurityManagedObjectsTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/tm/resource/MTOperation.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/tm/test/MTTransactionManagerUnitTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/web/test/JSFIntegrationUnitTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/web/test/JSPAnnotationENCUnitTestCase.java
   branches/vfs3-int/testsuite/src/main/org/jboss/test/xml/SingletonSchemaBindingResolverUnitTestCase.java
   branches/vfs3-int/testsuite/src/resources/cluster/hasingleton/electionpolicy/ha-electionpolicy-jboss-beans.xml
   branches/vfs3-int/testsuite/src/resources/cluster/hasingleton/ha-singleton-jboss-beans.xml
   branches/vfs3-int/testsuite/src/resources/deployers/seam/booking/jboss-seam-booking.ear
   branches/vfs3-int/testsuite/src/resources/deployers/seam/dvd/jboss-seam-dvd.ear
   branches/vfs3-int/testsuite/src/resources/deployers/seam/numberguess/jboss-seam-numberguess.ear
   branches/vfs3-int/testsuite/src/resources/securitymgr/server.policy
   branches/vfs3-int/testsuite/src/resources/web/jspinjection/nested.jsp
   branches/vfs3-int/tomcat/pom.xml
   branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/security/GenericHeaderAuthenticator.java
   branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java
   branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/DeployerConfig.java
   branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployer.java
   branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
   branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatService.java
   branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/session/ClusteredSession.java
   branches/vfs3-int/tomcat/src/resources/war-deployers-jboss-beans.xml
   branches/vfs3-int/tomcat/src/webapps/ROOT.war/index.html
   branches/vfs3-int/varia/.classpath
   branches/vfs3-int/varia/pom.xml
   branches/vfs3-int/varia/src/main/java/org/jboss/monitor/services/ScriptingListener.java
   branches/vfs3-int/varia/src/resources/logging/logmanager-jboss-beans.xml
   branches/vfs3-int/varia/src/resources/xnio/xnio-jboss-beans.xml
   branches/vfs3-int/webservices/pom.xml
   branches/vfs3-int/webservices/src/assembly/jbossws-jboss60-deployer.xml
   branches/vfs3-int/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSAspectizedDeployersFactory.java
   branches/vfs3-int/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSDeploymentDeployer.java
Log:
Merged changes from trunk -r 99666:100917


Property changes on: branches/vfs3-int
___________________________________________________________________
Name: svn:ignore
   - .git
.metadata
target
bin
*.ipr
*.iws
*.iml
.idea

   + .git
.git
.metadata
target
bin
*.ipr
*.iws
*.iml
.idea
*.patch


Modified: branches/vfs3-int/aspects/pom.xml
===================================================================
--- branches/vfs3-int/aspects/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/aspects/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -14,7 +14,7 @@
   <description>JBoss Application Server (aspects module)</description>
   
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -153,10 +153,6 @@
       <groupId>org.jboss.aop</groupId>
       <artifactId>pluggable-instrumentor</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.jboss.aop</groupId>
-      <artifactId>jrockit-pluggable-instrumentor</artifactId>
-    </dependency>
 
   </dependencies>
   

Modified: branches/vfs3-int/build/build-web.xml
===================================================================
--- branches/vfs3-int/build/build-web.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/build/build-web.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -143,4 +143,8 @@
 
     </target>
 
+    <target name="clean" depends="configure">
+        <delete dir="${web.install.root}" />
+    </target>
+
 </project>

Modified: branches/vfs3-int/build/build.xml
===================================================================
--- branches/vfs3-int/build/build.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/build/build.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -45,11 +45,11 @@
       -  Initialize properties for each dependency in the thirdparty pom 
       -  The properties take the form "groupId:artifactId:packaging"
       -->
+    <maven:pom id="pom.project" file="pom.xml"/>
     <maven:dependencies filesetId="pom.dependencies"
                         versionsId="pom.dependencies.versions"
-                        scopes="compile, runtime"
-                        cacheDependencyRefs="true">
-      <pom file="${dist.pom.file}"/>
+                        scopes="compile, runtime">
+      <pom refid="pom.project"/>
     </maven:dependencies>
 
     <mapper id="remove-versions" classpathref="maven-ant-tasks.classpath"
@@ -62,7 +62,7 @@
   <!-- Configuration                                                      -->
   <!-- ================================================================== -->
 
-  <target name="configure" depends="init">
+  <target name="configure" depends="init-dependencies">
 
     <!-- =================== -->
     <!-- Basic Configuration -->
@@ -79,12 +79,8 @@
     </tstamp>
     <property name="build.id" value="${build.number}"/>-->
 
-    <!-- Version identifiers for the server. -->
-    <xmlproperty file="../pom.xml" prefix="pom"/>
-    
     <!-- Module name(s) & version -->
     <property name="dist.module.name" value="jboss"/>
-    <property name="dist.module.Name" value="JBoss Build"/>
     <property name="dist.module.version" value="${pom.project.version}"/>
     <property name="dist.module.output" value="${basedir}/target"/>
 
@@ -133,11 +129,11 @@
     <property name="install.minimal.deployers" value="${install.minimal}/deployers"/>
     <property name="install.minimal.conf" value="${install.minimal}/conf"/>
 
-    <property name="install.web" value="${install.server}/web"/>
-    <property name="install.web.lib" value="${install.web}/lib"/>
-    <property name="install.web.deploy" value="${install.web}/deploy"/>
-    <property name="install.web.deployers" value="${install.web}/deployers"/>
-    <property name="install.web.conf" value="${install.web}/conf"/>
+    <property name="install.jbossweb" value="${install.server}/jbossweb-standalone"/>
+    <property name="install.jbossweb.lib" value="${install.jbossweb}/lib"/>
+    <property name="install.jbossweb.deploy" value="${install.jbossweb}/deploy"/>
+    <property name="install.jbossweb.deployers" value="${install.jbossweb}/deployers"/>
+    <property name="install.jbossweb.conf" value="${install.jbossweb}/conf"/>
 
     <property name="install.standard" value="${install.server}/standard"/>
     <property name="install.standard.lib" value="${install.standard}/lib"/>
@@ -148,6 +144,7 @@
     <!-- libs shared by the server configurations -->
     <property name="install.common" value="${install.root}/common"/>
     <property name="install.common.lib" value="${install.common}/lib"/>
+    <property name="install.common.deploy" value="${install.common}/deploy"/>
 
     <!-- Configuration for the nightly build and test job -->
     <property name="run.nightly.sleep" value="1"/>
@@ -187,7 +184,6 @@
                    module-server,
                    module-deployment,
                    module-jbossas-remoting,
-                   module-jmx-remoting,
                    module-jbossas-jmx-remoting,
                    module-messaging,
                    module-cluster,
@@ -200,11 +196,12 @@
                    module-ejb3,
                    module-tomcat,
                    module-webservices,
+                   module-resteasy,
                    module-hibernate-int,
                    module-console">
   </target>
   
-  <target name="install" depends="partition-build"
+  <target name="install" depends="partition-build, jboss-all-client"
           description="Install the structure for a release.">
   </target>
 
@@ -253,6 +250,7 @@
       <fileset dir="${install.default.conf}">
         <include name="jndi.properties"/>
         <include name="jboss-log4j.xml"/>
+        <include name="bootstrap/stdio.xml"/>
         <include name="bootstrap/classloader.xml"/>
         <include name="bootstrap/aop.xml"/>
         <include name="bootstrap/jmx.xml"/>
@@ -288,17 +286,16 @@
         <include name="log4j.jar" />
         <include name="jboss-logmanager-log4j.jar" />
         <include name="jboss-threads.jar" />
-        <include name="jboss-stdio.jar" />
       </fileset>
     </copy>
     <copy file="${project.root}/server/target/jboss-as-server-jboss-minimal.jar"
           tofile="${install.minimal.lib}/jboss-minimal.jar"/>
 
     <!-- Build server/web manually -->
-    <mkdir dir="${install.web}"/>
-    <mkdir dir="${install.web.lib}"/>
+    <mkdir dir="${install.jbossweb}"/>
+    <mkdir dir="${install.jbossweb.lib}"/>
     <!-- empty -->
-    <copy todir="${install.web.conf}">
+    <copy todir="${install.jbossweb.conf}">
       <fileset dir="${install.default.conf}">
         <include name="**"/>
     	<!-- Use default config instead
@@ -309,7 +306,7 @@
     	-->
       </fileset>
     </copy>
-    <copy todir="${install.web.deployers}">
+    <copy todir="${install.jbossweb.deployers}">
       <fileset dir="${install.default.deployers}">
         <include name="alias-deployers-jboss-beans.xml"/>
         <include name="core-naming-jboss-beans.xml"/>
@@ -323,7 +320,7 @@
         <include name="jboss-logging.deployer/**"/>
       </fileset>
     </copy>
-    <copy todir="${install.web.deploy}">
+    <copy todir="${install.jbossweb.deploy}">
       <fileset dir="${install.default.deploy}">
         <include name="hsqldb-ds.xml"/>
         <include name="jca-jboss-beans.xml"/>
@@ -331,7 +328,7 @@
         <include name="jboss-local-jdbc.rar"/>
         <include name="jbossweb.sar/**"/>
         <include name="jboss-xa-jdbc.rar"/>
-        <include name="jmx-console.war/**"/>
+        <include name="jmx-console-activator-jboss-beans.xml"/>
         <include name="http-invoker.sar/**"/>
         <include name="ROOT.war/**"/>
         <include name="security/**"/>
@@ -359,6 +356,7 @@
         <exclude name="conf/jndi.properties"/>
         <!-- ORBInitialContextFactory -->
         <include name="deploy/**"/>
+        <!--<exclude name="deploy/admin-console-activator-jboss-beans.xml"/>-->
         <exclude name="deploy/http-invoker.sar/**"/>
         <exclude name="deploy/jmx-remoting.sar/**"/>
         <exclude name="deploy/management/**"/>
@@ -395,61 +393,14 @@
       </fileset>
     </copy>
 
-    <antcall target="jboss-all-client"/>
   </target>
 
-  <target name="jboss-all-client" depends="init"
-      description="Create jar containing client classpath">
+  <target name="jboss-all-client" depends="configure"
+      description="Create jar containing client app classpath">
 
-    <!--Create a jbossall-client.jar containing the classpath for everything a client app needs-->
-
-    <property name="client.jar.dir" location="${install.client}" />
     <property name="jbossall.client.filename" value="jbossall-client.jar"/>
-
-    <fileset id="client.jar.fileset" dir="${client.jar.dir}">
-      <include name="*-client.jar"/>
-      <include name="asm.jar"/>
-      <include name="cglib-2.1.1.jar"/>
-      <include name="jcl-over-slf4j.jar"/>
-      <include name="cdi-api.jar"/>
-      <include name="concurrent.jar"/>
-      <include name="jpa-api.jar"/>
-      <include name="hibernate-annotations.jar"/>
-      <include name="hibernate-commons-annotations.jar"/>
-      <include name="hibernate-core.jar"/>
-      <include name="hibernate-validator.jar"/>      
-      <include name="javax.inject.jar"/>
-      <include name="jboss-annotations-ejb3.jar"/>
-      <include name="jboss-auth.jar"/>
-      <include name="jboss-appclient.jar"/>
-      <include name="jboss-common*.jar"/>
-      <include name="jboss-ejb3-ext-api.jar"/>
-      <include name="jboss-logging*.jar"/>
-      <include name="jboss-interceptor-api.jar"/>
-      <include name="slf4j-api.jar"/>
-      <include name="slf4j-jboss-logging.jar"/>
-      <include name="jboss-deployment.jar"/>
-      <include name="jboss-javaee.jar"/>
-      <include name="jboss-integration.jar"/>
-      <include name="jboss-j2se.jar"/>
-      <include name="jboss-jmx-annotations.jar"/>
-      <include name="jboss-jmx.jar"/>
-      <include name="jboss-remoting.jar"/>
-      <include name="jboss-security-spi.jar"/>
-      <include name="jboss-serialization.jar"/>
-      <include name="jmx-connector-client-factory.jar"/>
-      <include name="namespace.jar"/>
-      <include name="xmlsec.jar"/>
-      <include name="jboss-messaging.jar"/>
-      <include name="jboss-mdr.jar"/>
-      <include name="jboss-deployers-core.jar"/>
-      <include name="jboss-deployers-core-spi.jar"/>
-      <include name="jboss-deployers-client.jar"/>
-      <include name="jboss-deployers-client-spi.jar"/>
-      <include name="jbossjts.jar"/>
-      <include name="jbossjts-integration.jar"/>
-      <include name="jbossjts-jacorb.jar"/>
-      <include name="weld-api.jar"/>
+    
+    <fileset id="client.jar.fileset" dir="${install.client}">
       <!-- client excludes -->
       <exclude name="jbossws-native-client.jar"/>
       <exclude name="${jbossall.client.filename}"/>
@@ -461,12 +412,12 @@
 
     <pathconvert property="client.jar.manifest.classpath" refid="client.jar.classpath"
                  pathsep=" " dirsep="${file.separator}">
-      <map from="${client.jar.dir}${file.separator}" to="" />
+      <map from="${install.client}${file.separator}" to="" />
     </pathconvert>
 
     <pathconvert property="client.jar.files" refid="client.jar.classpath" 
                  pathsep="${line.separator}"  dirsep="${file.separator}">
-      <map from="${client.jar.dir}${file.separator}" to="" />
+      <map from="${install.client}${file.separator}" to="" />
     </pathconvert>
 
     <mkdir dir="${dist.module.output}/temp"/>
@@ -481,13 +432,13 @@
 
     <jar destfile="${install.client}/${jbossall.client.filename}" basedir="${dist.module.output}/temp">
       <manifest>
-        <attribute name="Specification-Title" value="${specification.title}"/>
-        <attribute name="Specification-Version" value="${specification.version}"/>
-        <attribute name="Specification-Vendor" value="${specification.vendor}"/>
-        <attribute name="Implementation-Title" value="${implementation.title}"/>
-        <attribute name="Implementation-Version" value="${implementation.version}"/>
-        <attribute name="Implementation-Vendor" value="${implementation.vendor}"/>
-        <attribute name="Implementation-Vendor-Id" value="${implementation.vendor.id}"/>
+        <attribute name="Specification-Title" value="${pom.project.name}"/>
+        <attribute name="Specification-Version" value="${pom.project.version}"/>
+        <attribute name="Specification-Vendor" value="${pom.project.organization.name}"/>
+        <attribute name="Implementation-Title" value="${pom.project.name}"/>
+        <attribute name="Implementation-Version" value="${pom.project.version}"/>
+        <attribute name="Implementation-Vendor" value="${pom.project.organization.name}"/>
+        <attribute name="Implementation-Vendor-Id" value="${pom.project.groupId}"/>
         <attribute name="Class-Path" value="${client.jar.manifest.classpath}"/>
       </manifest>
     </jar>
@@ -652,31 +603,6 @@
 
   </target>
 
-  <!-- ============ -->
-  <!-- JMX Remoting -->
-  <!-- ============ -->
-
-  <target name="module-jmx-remoting">
-    <property name="jmx-remoting.module.name" value="jmx-remoting"/>
-    <property name="jmx-remoting.module.output" value="${project.root}/${jmx-remoting.module.name}/target"/>
-
-    <!-- Copy the generated libraries -->
-    <mkdir dir="${install.common.lib}"/>
-    <copy file="${jmx-remoting.module.output}/jboss-as-jmx-remoting.jar"
-            tofile="${install.common.lib}/jboss-jmx-remoting.jar" filtering="no" />
-  </target>
-
-  <target name="module-jmx-remoting-all" depends="module-jmx-remoting">
-    <!-- Copy the generated javadocs -->
-    <mkdir dir="${install.api}/${jmx-remoting.module.name}"/>
-    <copy todir="${install.api}/${jmx-remoting.module.name}" filtering="no">
-      <fileset dir="${jmx-remoting.module.output}/api">
-        <include name="**/*"/>
-      </fileset>
-    </copy>
-
-  </target>
-
   <!-- ===================== -->
   <!-- JBoss AS JMX Remoting -->
   <!-- ===================== -->
@@ -1433,8 +1359,9 @@
     </unjar>
 
     <!-- Include the JMX console war unpacked -->
-    <mkdir dir="${install.server}/all/deploy/jmx-console.war"/>
-    <unjar src="${varia.module.output}/jboss-as-varia-jmx-console.war" dest="${install.server}/all/deploy/jmx-console.war"/>
+    <mkdir dir="${install.common.deploy}"/>
+    <mkdir dir="${install.common.deploy}/jmx-console.war"/>
+    <unjar src="${varia.module.output}/jboss-as-varia-jmx-console.war" dest="${install.common.deploy}/jmx-console.war"/>
 
 
     <!-- Include the HTTP invoker service unpacked -->
@@ -1813,14 +1740,16 @@
     <!-- Endorse JBossWS jars on JDK1.6 and above -->
     <copy todir="${install.lib}/endorsed" flatten="true" overwrite="true">
       <fileset refid="org.jboss.ws.native:jbossws-native-factories:jar"/>
+      <fileset refid="javax.xml.ws:jaxws-api:jar"/>
       <mapper refid="remove-versions" />
     </copy>
   </target>
 
   <target name="install-jbossws-to-deploy">
-    <!-- Install JBossWS web console to deploy directory -->
+  	 <!-- Install JBossWS web console to deploy directory -->
+  	 <mkdir dir="${install.common.deploy}"/>
     <unzip src="${org.jboss.ws.native:jbossws-native-management:war}"
-        dest="${install.all.deploy}/jbossws-console.war"
+        dest="${install.common.deploy}/jbossws-console.war"
       />
   </target>
 
@@ -1835,7 +1764,7 @@
       <fileset refid="org.jboss.ws.native:jbossws-native-core:jar"/>
       <fileset refid="org.codehaus.jettison:jettison:jar"/>
       <fileset refid="org.jboss.netty:netty:jar"/>
-      <fileset refid="wscommons-policy:policy:jar"/>
+      <fileset refid="org.apache.ws.policy:wscommons-policy:jar"/>
       <fileset refid="wsdl4j:wsdl4j:jar"/>
       <fileset refid="org.apache:xmlsec:jar"/>
       <mapper refid="remove-versions" />
@@ -1847,16 +1776,6 @@
         <include name="META-INF/**"/>
       </fileset>
     </copy>
-    <copy todir="${install.all.deployers}/jbossws.deployer/META-INF">
-      <fileset dir="${webservices.module.output}/jbossws-native-resources/resources">
-        <include name="standard-*-config.xml"/>
-      </fileset>
-    </copy>
-    <copy todir="${install.all.deployers}/jbossws.deployer" flatten="true" overwrite="true">
-      <fileset refid="org.jboss.ws:jbossws-common:jar"/>
-      <fileset refid="org.jboss.ws:jbossws-framework:jar"/>
-      <mapper refid="remove-versions" />
-    </copy>
   </target>
 
   <target name="module-webservices-all">
@@ -1877,6 +1796,21 @@
     </copy>
   </target>
 
+  <!-- =========== -->
+  <!-- Resteasy    -->
+  <!-- =========== -->
+
+  <target name="module-resteasy">
+    <property name="resteasy.module.name" value="resteasy-int"/>
+    <property name="resteasy.module.output" value="${project.root}/${resteasy.module.name}/zip/target/distribution"/>
+
+    <unzip dest="${install.all.deployers}" 
+             src="${resteasy.module.output}/resteasy-int-all.zip"/>
+  </target>
+
+  <target name="module-resteasy-all">
+  </target>
+
   <!-- ============ -->
   <!-- Hibernate    -->
   <!-- ============ -->
@@ -1944,13 +1878,14 @@
 
     <mkdir dir="${install.common.lib}"/>
     <copy todir="${install.common.lib}" filtering="no">
+      <fileset refid="apache-xalan:xalan:jar"/>
+      <fileset refid="apache-xalan:serializer:jar"/>
       <fileset refid="org.jboss.threads:jboss-threads:jar"/>
       <fileset refid="org.jboss.xnio:xnio-api:jar"/>
       <fileset refid="javax.xml.ws:jaxws-api:jar"/>
       <fileset refid="javax.jws:jsr181-api:jar"/>
       <fileset refid="javax.xml:jaxrpc-api:jar"/>
       <fileset refid="javax.xml.soap:saaj-api:jar"/>
-      <fileset refid="org.jboss.ws.native:jbossws-native-factories:jar"/>
       <fileset refid="org.jboss.ws:jbossws-common:jar"/>
       <fileset refid="org.jboss.ws:jbossws-framework:jar"/>
       <fileset refid="org.jboss.ws:jbossws-spi:jar"/>
@@ -1968,7 +1903,6 @@
       <fileset refid="org.jboss.logging:jboss-logging-log4j:jar"/>
       <fileset refid="org.jboss.logging:jboss-logging-jdk:jar"/>
       <fileset refid="org.jboss.logmanager:jboss-logmanager-log4j:jar"/>
-      <fileset refid="org.jboss.stdio:jboss-stdio:jar"/>
       <fileset refid="quartz:quartz:jar"/>
       <fileset refid="jaxen:jaxen:jar"/>
       <fileset refid="org.jboss.cluster:jboss-ha-client:jar"/>
@@ -2002,7 +1936,8 @@
       <fileset refid="org.jboss.ejb3:jboss-ejb3-metadata:jar"/>
       <fileset refid="org.jboss.ejb3:jboss-ejb3-metadata-deployers:jar"/>
       <fileset refid="org.jboss.ejb3:jboss-ejb3-mc-int:jar"/>
-      <fileset refid="org.jboss.ejb3:jboss-ejb3-nointerface:jar"/>
+      <fileset refid="org.jboss.ejb3.nointerface:jboss-ejb3-nointerface-impl:jar"/>
+      <fileset refid="org.jboss.ejb3.nointerface:jboss-ejb3-nointerface-spi:jar"/>
       <fileset refid="org.jboss.ejb3:jboss-ejb3-proxy-impl:jar"/>
       <fileset refid="org.jboss.ejb3:jboss-ejb3-proxy-spi:jar"/>
       <fileset refid="org.jboss.ejb3:jboss-ejb3-proxy-clustered:jar"/>
@@ -2016,7 +1951,7 @@
       <fileset refid="org.hibernate:hibernate-commons-annotations:jar"/>
       <fileset refid="org.hibernate:hibernate-entitymanager:jar"/>
       <fileset refid="org.hibernate:hibernate-annotations:jar"/>
-      <fileset refid="org.hibernate.java-persistence:jpa-api:jar"/>
+      <fileset refid="org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar"/>
       <fileset refid="org.hibernate:hibernate-validator:jar"/>
       <fileset refid="org.hibernate:hibernate-validator-legacy:jar"/>
       <fileset refid="org.jboss.interceptor:jboss-interceptor-api:jar"/>
@@ -2044,6 +1979,10 @@
       <mapper refid="remove-versions" />
     </copy>
 
+    <!-- Install JBossWS ASIL to common/lib directory -->
+    <copy file="${webservices.module.output}/jboss-as-webservices.jar"
+            tofile="${install.common.lib}/jbossws-jboss60.jar"/>
+
     <copy file="${snmptrapappender:snmpTrapAppender:jar}"
             tofile="${install.common.lib}/log4j-snmp-appender.jar"/>
 
@@ -2077,6 +2016,7 @@
       <fileset refid="org.jboss.logging:jboss-logging-spi:jar"/>
       <fileset refid="org.jboss.logging:jboss-logging-logmanager:jar"/>
       <fileset refid="org.jboss.logmanager:jboss-logmanager:jar"/>
+      <fileset refid="org.jboss.stdio:jboss-stdio:jar"/>
       <fileset refid="org.jboss.integration:jboss-classloading-spi:jar"/>
       <fileset refid="org.jboss.integration:jboss-profileservice-spi:jar"/>
       <fileset refid="org.jboss.classpool:jboss-classpool:jar"/>
@@ -2121,20 +2061,16 @@
       <fileset refid="org.jboss.aop:jboss-aop-asintegration-mc:jar"/>
       <fileset refid="org.jboss.aop:jboss-aop-deployers:jar"/>
       <fileset refid="gnu-getopt:getopt:jar"/>
+      <fileset refid="org.jboss:jbossxb:jar"/>
       <mapper refid="remove-versions" />
     </copy>
-    <!-- 
-        -  Note: this is copied separately because the name (jboss-xml-binding) is 
-        -  hardcoded in the wsconsume scripts.  Once this is changed
-        -  in the scripts, this should be added to the list of lib jars above
-        -->
-    <copy file="${org.jboss:jbossxb:jar}"
-            tofile="${install.lib}/jboss-xml-binding.jar"/>
 
     <!-- Copy the generated client libraries -->
     <mkdir dir="${install.client}"/>
     <copy todir="${install.client}" filtering="no">
       <fileset refid="antlr:antlr:jar"/>
+      <fileset refid="apache-xalan:xalan:jar"/>
+      <fileset refid="apache-xalan:serializer:jar"/>
       <fileset refid="org.apache:xmlsec:jar"/>
       <fileset refid="wsdl4j:wsdl4j:jar"/>
       <fileset refid="javassist:javassist:jar"/>
@@ -2176,7 +2112,6 @@
       <fileset refid="javax.jws:jsr181-api:jar"/>
       <fileset refid="org.jboss.ws.native:jbossws-native-client:jar"/>
       <fileset refid="org.jboss.ws.native:jbossws-native-core:jar"/>
-      <fileset refid="org.jboss.ws.native:jbossws-native-factories:jar"/>
       <fileset refid="javax.xml:jaxrpc-api:jar"/>
       <fileset refid="javax.xml.soap:saaj-api:jar"/>
       <fileset refid="org.jboss.ws:jbossws-common:jar"/>
@@ -2194,11 +2129,13 @@
       <fileset refid="com.sun.xml.stream.buffer:streambuffer:jar"/>
       <fileset refid="trove:trove:jar"/>
       <fileset refid="org.codehaus.woodstox:wstx-lgpl:jar"/>
-      <fileset refid="wscommons-policy:policy:jar"/>
+      <fileset refid="org.apache.ws.policy:wscommons-policy:jar"/>
+      <fileset refid="com.sun.xml.ws:policy:jar"/>
       <fileset refid="org.hibernate:hibernate-core:jar"/>
       <fileset refid="org.hibernate:hibernate-annotations:jar"/>
       <fileset refid="org.hibernate:hibernate-commons-annotations:jar"/>
       <fileset refid="org.hibernate:hibernate-validator:jar"/>
+      <fileset refid="org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar"/>
       <fileset refid="org.jboss.aop:jboss-aop:jar:client"/>
       <fileset refid="org.jboss.ejb3:jboss-ejb3-ext-api:jar"/>
       <!-- For JSR-250 impl -->
@@ -2224,23 +2161,15 @@
       <fileset refid="org.codehaus.jettison:jettison:jar"/>
       <fileset refid="org.jboss.netty:netty:jar"/>
       <fileset refid="org.jboss.weld:weld-api:jar"/>
+      <fileset refid="org.jboss:jbossxb:jar"/>
       <mapper refid="remove-versions" />
     </copy>
-    <!-- 
-        -  Note: this is copied separately because the name (jboss-xml-binding) is 
-        -  hardcoded in the wsconsume scripts.  Once this is changed
-        -  in the scripts, this should be added to the list of client jars above
-        -->
-    <copy file="${org.jboss:jbossxb:jar}"
-            tofile="${install.client}/jboss-xml-binding.jar"/>
 
     <!-- Copy thirdparty code to lib/endorsed -->
     <mkdir dir="${install.lib}/endorsed"/>
     <copy todir="${install.lib}/endorsed" filtering="no">
       <fileset refid="xerces:xercesImpl:jar"/>
       <fileset refid="apache-xerces:resolver:jar"/>
-      <fileset refid="apache-xalan:xalan:jar"/>
-      <fileset refid="apache-xalan:serializer:jar"/>
       <fileset refid="sun-jaxb:jaxb-api:jar"/>
       <fileset refid="javax.activation:activation:jar"/>
       <fileset refid="stax:stax-api:jar"/>
@@ -2311,6 +2240,11 @@
       <fileset file="${org.jboss.weld.integration:weld-jboss-int-deployer-assembly:zip}"/>
     </unzip>
 
+    <!-- Install Admin Console -->
+    <mkdir dir="${install.common.deploy}/admin-console.war"/>
+    <unjar src="${org.jboss.jopr:jopr-embedded-jbas5:war}"
+          dest="${install.common.deploy}/admin-console.war"/>
+
     <!-- Copy varia stuff -->
 
     <!-- Include the juddi sar unpacked -->

Modified: branches/vfs3-int/build/pom.xml
===================================================================
--- branches/vfs3-int/build/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/build/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -113,11 +113,6 @@
     </dependency>
     <dependency>
       <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-jmx-remoting</artifactId>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.jbossas</groupId>
       <artifactId>jboss-as-main</artifactId>
       <optional>true</optional>
     </dependency>
@@ -494,6 +489,11 @@
       <optional>true</optional>
     </dependency>
     <dependency>
+      <groupId>org.jboss.jopr</groupId>
+      <artifactId>jopr-embedded-jbas5</artifactId>
+      <type>war</type>
+    </dependency>
+    <dependency>
       <groupId>org.jboss.logging</groupId>
       <artifactId>jboss-logging-jdk</artifactId>
       <optional>true</optional>
@@ -695,9 +695,14 @@
       <groupId>com.sun.xml.stream.buffer</groupId>
       <artifactId>streambuffer</artifactId>
       <optional>true</optional>
-    </dependency>    
+    </dependency>
     <dependency>
-      <groupId>wscommons-policy</groupId>
+      <groupId>org.apache.ws.policy</groupId>
+      <artifactId>wscommons-policy</artifactId>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>com.sun.xml.ws</groupId>
       <artifactId>policy</artifactId>
       <optional>true</optional>
     </dependency>

Modified: branches/vfs3-int/client/pom.xml
===================================================================
--- branches/vfs3-int/client/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/client/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -21,8 +21,8 @@
     </dependency>
     
     <dependency>
-      <groupId>org.hibernate.java-persistence</groupId>
-      <artifactId>jpa-api</artifactId>
+      <groupId>org.hibernate.javax.persistence</groupId>
+      <artifactId>hibernate-jpa-2.0-api</artifactId>
     </dependency>
 
     <dependency>

Modified: branches/vfs3-int/cluster/.classpath
===================================================================
--- branches/vfs3-int/cluster/.classpath	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/cluster/.classpath	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" output="target/classes" path="src/main/java"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>

Modified: branches/vfs3-int/cluster/pom.xml
===================================================================
--- branches/vfs3-int/cluster/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/cluster/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -16,7 +16,7 @@
   <description>JBoss Application Server (cluster module)</description>
   
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <plugins>
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
@@ -61,6 +61,7 @@
         <artifactId>maven-jar-plugin</artifactId>
         <configuration>
           <excludes>
+            <exclude>org/jboss/**/examples/**</exclude>
             <exclude>org/jboss/mq/**</exclude>
           </excludes>
         </configuration>

Copied: branches/vfs3-int/cluster/src/assembly/examples.xml (from rev 100917, trunk/cluster/src/assembly/examples.xml)
===================================================================
--- branches/vfs3-int/cluster/src/assembly/examples.xml	                        (rev 0)
+++ branches/vfs3-int/cluster/src/assembly/examples.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,16 @@
+<assembly>
+  <id>examples</id>
+  <formats>
+    <format>jar</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>target/classes</directory>
+      <outputDirectory>/</outputDirectory>
+      <includes>
+        <include>org/jboss/ha/**/examples/**</include>
+      </includes>
+    </fileSet>
+  </fileSets>
+</assembly>
\ No newline at end of file

Modified: branches/vfs3-int/cluster/src/main/java/org/jboss/ha/singleton/HASingletonProfileActivator.java
===================================================================
--- branches/vfs3-int/cluster/src/main/java/org/jboss/ha/singleton/HASingletonProfileActivator.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/cluster/src/main/java/org/jboss/ha/singleton/HASingletonProfileActivator.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -28,6 +28,7 @@
 import org.jboss.managed.api.annotation.ManagementProperties;
 import org.jboss.managed.api.annotation.ManagementProperty;
 import org.jboss.managed.api.annotation.ViewUse;
+import org.jboss.metatype.api.annotations.MetaMapping;
 import org.jboss.profileservice.spi.NoSuchProfileException;
 import org.jboss.profileservice.spi.Profile;
 import org.jboss.profileservice.spi.ProfileKey;
@@ -241,6 +242,7 @@
     */
    @ManagementProperty(use={ViewUse.STATISTIC}, description="ProfileKey for the Profile we activate")
    @ManagementObjectID(type="HASingletonProfileActivator")
+   @MetaMapping(ProfileKeyMetaMapper.class)
    public ProfileKey getProfileKey()
    {
       if (this.profileKey == null)

Modified: branches/vfs3-int/cluster/src/main/java/org/jboss/ha/singleton/HASingletonProfileManager.java
===================================================================
--- branches/vfs3-int/cluster/src/main/java/org/jboss/ha/singleton/HASingletonProfileManager.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/cluster/src/main/java/org/jboss/ha/singleton/HASingletonProfileManager.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -33,6 +33,7 @@
 import org.jboss.managed.api.annotation.ManagementProperties;
 import org.jboss.managed.api.annotation.ManagementProperty;
 import org.jboss.managed.api.annotation.ViewUse;
+import org.jboss.metatype.api.annotations.MetaMapping;
 import org.jboss.profileservice.spi.NoSuchProfileException;
 import org.jboss.profileservice.spi.Profile;
 import org.jboss.profileservice.spi.ProfileKey;
@@ -131,6 +132,7 @@
 
    @ManagementProperty(use={ViewUse.STATISTIC}, description="ProfileKey for the Profile we activate")
    @ManagementObjectID(type="HASingletonProfileManager")
+   @MetaMapping(ProfileKeyMetaMapper.class)
    @Override
    public ProfileKey getProfileKey()
    {

Copied: branches/vfs3-int/cluster/src/main/java/org/jboss/ha/singleton/ProfileKeyMetaMapper.java (from rev 100917, trunk/cluster/src/main/java/org/jboss/ha/singleton/ProfileKeyMetaMapper.java)
===================================================================
--- branches/vfs3-int/cluster/src/main/java/org/jboss/ha/singleton/ProfileKeyMetaMapper.java	                        (rev 0)
+++ branches/vfs3-int/cluster/src/main/java/org/jboss/ha/singleton/ProfileKeyMetaMapper.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,79 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2009, Red Hat 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.ha.singleton;
+
+import java.lang.reflect.Type;
+
+import org.jboss.metatype.api.types.MetaType;
+import org.jboss.metatype.api.types.SimpleMetaType;
+import org.jboss.metatype.api.values.MetaValue;
+import org.jboss.metatype.api.values.SimpleValue;
+import org.jboss.metatype.api.values.SimpleValueSupport;
+import org.jboss.metatype.spi.values.MetaMapper;
+import org.jboss.profileservice.spi.ProfileKey;
+
+/**
+ * A ProfileKey -> SimpleValue.STRING meta mapper. We only need the
+ * profile name, since the domain and server information are shared
+ * between all ProfileKeys in a server.
+ * 
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public class ProfileKeyMetaMapper extends MetaMapper<ProfileKey>
+{
+
+   @Override
+   public MetaType getMetaType()
+   {
+      return SimpleMetaType.STRING;
+   }
+   
+   @Override
+   public Type mapToType()
+   {
+      return ProfileKey.class;
+   }
+   
+   @Override
+   public MetaValue createMetaValue(MetaType metaType, ProfileKey key)
+   {
+      if(key == null)
+      {
+         throw new IllegalArgumentException("null profile key");
+      }
+      return SimpleValueSupport.wrap(key.getName());
+   }
+
+   @Override
+   public ProfileKey unwrapMetaValue(MetaValue metaValue)
+   {
+      if(metaValue != null && SimpleMetaType.STRING.equals(metaValue.getMetaType()))
+      {
+         String profileName = String.class.cast(((SimpleValue) metaValue).getValue());
+         return new ProfileKey(profileName);
+      }
+      throw new IllegalStateException("cannot recreate profile key");
+   }
+
+}
+

Modified: branches/vfs3-int/cluster/src/resources/jgroups/jgroups-channelfactory-stacks.xml
===================================================================
--- branches/vfs3-int/cluster/src/resources/jgroups/jgroups-channelfactory-stacks.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/cluster/src/resources/jgroups/jgroups-channelfactory-stacks.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -462,7 +462,7 @@
                  oob_thread_pool.keep_alive_time="5000"
                  oob_thread_pool.queue_enabled="false"
                  oob_thread_pool.rejection_policy="discard"/>
-            <MPING timeout="5000"
+            <MPING timeout="2000"
                mcast_addr="${jboss.partition.udpGroup:228.6.6.6}"
                mcast_port="${jboss.messaging.datachanneludpport:45710}"
                ip_ttl="${jboss.messaging.ipttl:8}"

Modified: branches/vfs3-int/component-matrix/pom.xml
===================================================================
--- branches/vfs3-int/component-matrix/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/component-matrix/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -10,7 +10,7 @@
   <parent>
     <groupId>org.jboss</groupId>
     <artifactId>jboss-parent</artifactId>
-    <version>5-beta-4</version>
+    <version>5-beta-5</version>
   </parent>
 
   <!-- POM Model Version -->
@@ -31,38 +31,34 @@
   <!-- Properties -->
   <properties>
     <version.apache.xalan>2.7.0.patch02-brew</version.apache.xalan>
+    <version.beanvalidation.integration>1.0.0-Beta-1</version.beanvalidation.integration>
+    <version.commons.beanutils>1.8.0</version.commons.beanutils>
+    <version.fastinfoset>1.2.2</version.fastinfoset>
     <version.inject.api>1</version.inject.api>
     <version.interceptor.api>1.1</version.interceptor.api>
     <version.jacorb>2.3.1jboss.patch01-brew</version.jacorb>
     <version.javassist>3.11.0.GA</version.javassist>
     <version.javax.faces>2.0.2-FCS</version.javax.faces>
     <version.javax.validation>1.0.0.GA</version.javax.validation>
+    <version.jaxrpc.api>1.1</version.jaxrpc.api>
+    <version.jaxws.api>2.2</version.jaxws.api>
+    <version.jboss.jaxr>2.0.1</version.jboss.jaxr>
     <version.jboss.jbossts>4.9.0.GA</version.jboss.jbossts>
-    <version.jboss.jaxr>2.0.1</version.jboss.jaxr>
-    <version.sun-jaxws>2.1.7</version.sun-jaxws>
-    <version.sun.jaxb>2.2</version.sun.jaxb>
-    <version.jaxws.api>2.2</version.jaxws.api>
-    <version.jaxrpc.api>1.1</version.jaxrpc.api>
-    <version.saaj.api>1.3</version.saaj.api>
-    <version.jsr181.api>1.0-MR1</version.jsr181.api>
-    <version.jboss.jbossws-spi>1.3.0.Beta1</version.jboss.jbossws-spi>
-    <version.jboss.jbossws-common>1.3.0.Beta1</version.jboss.jbossws-common>
-    <version.jboss.jbossws-framework>3.3.0.Beta1</version.jboss.jbossws-framework>
-    <version.jboss.jbossws>3.3.0.Beta1</version.jboss.jbossws>
-    <version.commons.beanutils>1.8.0</version.commons.beanutils>
-    <version.fastinfoset>1.2.2</version.fastinfoset>
+    <version.jboss.jbossws>3.3.0.Beta3</version.jboss.jbossws>
+    <version.jboss.jbossws-common>1.3.0.Beta2</version.jboss.jbossws-common>
+    <version.jboss.jbossws-framework>3.3.0.Beta2</version.jboss.jbossws-framework>
+    <version.jboss.jbossws-spi>1.3.0.Beta2</version.jboss.jbossws-spi>
     <version.jboss.jms-integration-tests>1.0.1.GA</version.jboss.jms-integration-tests>
-    <version.jboss.messaging>1.4.1.GA</version.jboss.messaging>
-    <version.jboss.web>3.0.0-beta-1</version.jboss.web>
+    <version.jboss.messaging>1.4.6.GA</version.jboss.messaging>
+    <version.jboss.web>3.0.0-beta-2</version.jboss.web>
     <version.jgroups>2.6.13.GA</version.jgroups>
+    <version.jsr181.api>1.0-MR1</version.jsr181.api>
     <version.junit>3.8.2</version.junit>
-    <version.org.hibernate.annotations>3.5.0-Beta-3</version.org.hibernate.annotations>
+    <version.org.hibernate>3.5.0-CR-1</version.org.hibernate>
     <version.org.hibernate.commons.annotations>3.2.0.Beta1</version.org.hibernate.commons.annotations>
-    <version.org.hibernate.java-persistence>2.0-cr-1</version.org.hibernate.java-persistence>
-    <version.org.hibernate.jbosscache>3.5.0-Beta-3</version.org.hibernate.jbosscache>
-    <version.org.hibernate.entity.manager>3.5.0-Beta-3</version.org.hibernate.entity.manager>
+    <version.org.hibernate.entity.manager>3.5.0-CR-1</version.org.hibernate.entity.manager>
+    <version.org.hibernate.javax.persistence>1.0.0-CR-1</version.org.hibernate.javax.persistence>
     <version.org.hibernate.validator>4.0.2.GA</version.org.hibernate.validator>
-    <version.org.hibernate>3.5.0-Beta-3</version.org.hibernate>
     <version.org.jboss.aop>2.1.0-SNAPSHOT</version.org.jboss.aop>
     <version.org.jboss.aspects.currentinvocation>1.0.1</version.org.jboss.aspects.currentinvocation>
     <version.org.jboss.aspects.remoting>1.0.1.GA</version.org.jboss.aspects.remoting>
@@ -81,41 +77,43 @@
     <version.org.jboss.cache.pojo>3.0.0.GA</version.org.jboss.cache.pojo>
     <version.org.jboss.cl>2.2.0-SNAPSHOT</version.org.jboss.cl>
     <version.org.jboss.classpool>1.0.0.Alpha2</version.org.jboss.classpool>
-    <version.org.jboss.cluster.cache.jbc>2.1.1.BETA2</version.org.jboss.cluster.cache.jbc>
+    <version.org.jboss.cluster.cache.jbc>2.1.2.GA</version.org.jboss.cluster.cache.jbc>
     <version.org.jboss.cluster.cache.spi>2.0.0.GA</version.org.jboss.cluster.cache.spi>
     <version.org.jboss.cluster.client>1.1.1.GA</version.org.jboss.cluster.client>
     <version.org.jboss.cluster.server.api>1.1.1.GA</version.org.jboss.cluster.server.api>
     <version.org.jboss.common.core>2.2.17.GA</version.org.jboss.common.core>
     <version.org.jboss.deployers>2.2.0-SNAPSHOT</version.org.jboss.deployers>
-    <version.org.jboss.ejb.api>1.0-alpha-1</version.org.jboss.ejb.api>
-    <version.org.jboss.ejb3.common.client>1.0.1</version.org.jboss.ejb3.common.client>
+    <version.org.jboss.ejb3>1.0.4</version.org.jboss.ejb3>
+    <version.org.jboss.ejb3.common.client>1.0.2</version.org.jboss.ejb3.common.client>
     <version.org.jboss.ejb3.core.client>1.2.1-SNAPSHOT</version.org.jboss.ejb3.core.client>
     <version.org.jboss.ejb3.endpoint.deployer>0.1.4</version.org.jboss.ejb3.endpoint.deployer>
+    <version.org.jboss.ejb3.ext.api>1.1.0</version.org.jboss.ejb3.ext.api>
     <version.org.jboss.ejb3.jpa.int>2.0.0-alpha-1</version.org.jboss.ejb3.jpa.int>
     <version.org.jboss.ejb3.mc.int>1.0.2</version.org.jboss.ejb3.mc.int>
     <version.org.jboss.ejb3.metrics.deployer>1.0.2</version.org.jboss.ejb3.metrics.deployer>
+    <version.org.jboss.ejb3.proxy.clustered.client>1.0.2</version.org.jboss.ejb3.proxy.clustered.client>
     <version.org.jboss.ejb3.proxy.impl.client>1.0.6</version.org.jboss.ejb3.proxy.impl.client>
     <version.org.jboss.ejb3.proxy.spi.client>1.0.0</version.org.jboss.ejb3.proxy.spi.client>
-    <version.org.jboss.ejb3.proxy.clustered.client>1.0.2</version.org.jboss.ejb3.proxy.clustered.client>
     <version.org.jboss.ejb3.security.client>1.0.0</version.org.jboss.ejb3.security.client>
-    <version.org.jboss.ejb3>1.0.1</version.org.jboss.ejb3>
+    <version.org.jboss.ejb.api>1.0-alpha-1</version.org.jboss.ejb.api>
 	<version.org.jboss.integration>6.0.0-SNAPSHOT</version.org.jboss.integration>
     <version.org.jboss.jbossxb>2.0.2.Beta3</version.org.jboss.jbossxb>
+    <version.org.jboss.jopr>1.4.0.Beta1</version.org.jboss.jopr>
     <version.org.jboss.jpa.deployers>1.0.2-SNAPSHOT</version.org.jboss.jpa.deployers>
     <version.org.jboss.jpa.impl>2.0.0</version.org.jboss.jpa.impl>
     <version.org.jboss.jpa.spi>1.0.0</version.org.jboss.jpa.spi>
-    <version.org.jboss.kernel>2.2.0.Alpha2</version.org.jboss.kernel>
+    <version.org.jboss.kernel>2.2.0.Alpha6</version.org.jboss.kernel>
     <version.org.jboss.logging>2.2.0.CR1</version.org.jboss.logging>
+    <version.org.jboss.logging-service-metadata>1.0.0.CR7</version.org.jboss.logging-service-metadata>
     <version.org.jboss.logmanager>1.1.1.GA</version.org.jboss.logmanager>
-    <version.org.jboss.logging-service-metadata>1.0.0.CR5</version.org.jboss.logging-service-metadata>
     <version.org.jboss.man>2.1.1.SP1</version.org.jboss.man>
     <version.org.jboss.mcann>1.0.0-SNAPSHOT</version.org.jboss.mcann>
     <version.org.jboss.mc-int>2.2.0.Alpha2</version.org.jboss.mc-int>
     <version.org.jboss.mdr>2.2.0-SNAPSHOT</version.org.jboss.mdr>
+    <version.org.jboss.metadata.client>2.0.0.Alpha</version.org.jboss.metadata.client>
     <version.org.jboss.metadata.common>2.0.0-SNAPSHOT</version.org.jboss.metadata.common>
-    <version.org.jboss.metadata.client>2.0.0.Alpha</version.org.jboss.metadata.client>
-    <version.org.jboss.metadata.ear>2.0.0.Alpha</version.org.jboss.metadata.ear>
-    <version.org.jboss.metadata.ejb>2.0.0-alpha-5</version.org.jboss.metadata.ejb>
+    <version.org.jboss.metadata.ear>2.0.0.Alpha2</version.org.jboss.metadata.ear>
+    <version.org.jboss.metadata.ejb>2.0.0-alpha-6</version.org.jboss.metadata.ejb>
     <version.org.jboss.metadata.rar>2.0.0.Alpha</version.org.jboss.metadata.rar>
     <version.org.jboss.metadata.war>2.0.0.Alpha13</version.org.jboss.metadata.war>
     <version.org.jboss.mod_cluster>1.1.0.Beta1</version.org.jboss.mod_cluster>
@@ -124,28 +122,32 @@
     <version.org.jboss.reflect>2.2.0.Alpha2</version.org.jboss.reflect>
     <version.org.jboss.reloaded.naming>0.1.0-alpha-2</version.org.jboss.reloaded.naming>
     <version.org.jboss.reloaded.naming.deployers>0.1.0-alpha-2</version.org.jboss.reloaded.naming.deployers>
+    <version.org.jboss.resteasy>2.0-beta-1</version.org.jboss.resteasy>
     <version.org.jboss.remoting>2.5.2.SP2</version.org.jboss.remoting>
     <version.org.jboss.security>2.1.0.20091223</version.org.jboss.security>
+    <version.org.jboss.security.negotiation>2.0.3.SP1</version.org.jboss.security.negotiation>
     <version.org.jboss.service.binding>1.0.0.GA</version.org.jboss.service.binding>
-    <version.org.jboss.stdio>1.0.0.CR1</version.org.jboss.stdio>
-    <version.org.jboss.threads>2.0.0.CR1</version.org.jboss.threads>
+    <version.org.jboss.slf4j>1.0.2.GA</version.org.jboss.slf4j>
+    <version.org.jboss.stdio>1.0.0.CR3</version.org.jboss.stdio>
+    <version.org.jboss.threads>2.0.0.CR3</version.org.jboss.threads>
     <version.org.jboss.vfs>3.0.0.CR1-SNAPSHOT</version.org.jboss.vfs>
-    <version.org.jboss.security.negotiation>2.0.3.SP1</version.org.jboss.security.negotiation>
-    <version.org.jboss.slf4j>1.0.2.GA</version.org.jboss.slf4j>
-    <version.org.jboss.xnio.metadata>1.0.1.GA</version.org.jboss.xnio.metadata>
-    <version.org.jboss.xnio>1.2.1.GA</version.org.jboss.xnio>
+    <version.org.jboss.xnio>2.1.0.CR1</version.org.jboss.xnio>
+    <version.org.jboss.xnio.metadata>2.1.0.CR1</version.org.jboss.xnio.metadata>
     <version.org.slf4j>1.5.6</version.org.slf4j>
     <version.org.springframework>2.5.6</version.org.springframework>
     <version.oswego-concurrent.concurrent>1.3.4-jboss-update1</version.oswego-concurrent.concurrent>
+    <version.saaj.api>1.3</version.saaj.api>
     <version.seam.integration>5.1.0.CR1</version.seam.integration>
-    <version.beanvalidation.integration>1.0.0-Beta-1</version.beanvalidation.integration>
+    <version.spring.integration>1.0.0.CR2</version.spring.integration>
     <version.staxex>2.1.1</version.staxex>
-    <version.streambuffer>0.9</version.streambuffer>
+    <version.streambuffer>1.0</version.streambuffer>
     <version.suffix.org.jboss.javaee>.GA</version.suffix.org.jboss.javaee>
+    <version.sun.jaxb>2.2</version.sun.jaxb>
+    <version.sun-jaxws>2.2</version.sun-jaxws>
+    <version.sun-policy>2.0-b01</version.sun-policy>
+    <version.weld.api>1.0</version.weld.api>
     <version.weld.integration>6.0.0-SNAPSHOT</version.weld.integration>
     <version.xdoclet>1.2.3</version.xdoclet>
-    <version.weld.api>1.0</version.weld.api>
-    <version.spring.integration>1.0.0.CR2</version.spring.integration>
   </properties>
 
   <!-- Build Configuration -->
@@ -1117,18 +1119,6 @@
       </dependency>
       
       <dependency>
-        <groupId>jfree</groupId>
-        <artifactId>jfreechart</artifactId>
-        <version>1.0.2</version>
-      </dependency>
-      
-      <dependency>
-        <groupId>jfree</groupId>
-        <artifactId>jcommon</artifactId>
-        <version>1.0.2</version>
-      </dependency>
-      
-      <dependency>
         <groupId>jgroups</groupId>
         <artifactId>jgroups</artifactId>
         <version>${version.jgroups}</version>
@@ -1269,7 +1259,7 @@
       <dependency>
         <groupId>org.hibernate</groupId>
         <artifactId>hibernate-jbosscache</artifactId>
-        <version>${version.org.hibernate.jbosscache}</version>
+        <version>${version.org.hibernate}</version>
         <exclusions>
           <exclusion>
             <groupId>org.jboss.cache</groupId>
@@ -1281,7 +1271,7 @@
       <dependency>
         <groupId>org.hibernate</groupId>
         <artifactId>hibernate-annotations</artifactId>
-        <version>${version.org.hibernate.annotations}</version>
+        <version>${version.org.hibernate}</version>
         <exclusions>
           <exclusion>
             <groupId>org.hibernate</groupId>
@@ -1317,9 +1307,9 @@
       </dependency>
       
       <dependency>
-        <groupId>org.hibernate.java-persistence</groupId>
-        <artifactId>jpa-api</artifactId>
-        <version>${version.org.hibernate.java-persistence}</version>
+        <groupId>org.hibernate.javax.persistence</groupId>
+        <artifactId>hibernate-jpa-2.0-api</artifactId>
+        <version>${version.org.hibernate.javax.persistence}</version>
       </dependency>
       
       <dependency>
@@ -1402,8 +1392,15 @@
         <artifactId>jboss-integration</artifactId>
         <version>${version.org.jboss.integration}</version>
       </dependency>
-      
+
       <dependency>
+        <groupId>org.jboss.jopr</groupId>
+          <artifactId>jopr-embedded-jbas5</artifactId>
+          <version>${version.org.jboss.jopr}</version>
+          <type>war</type>
+      </dependency>
+
+      <dependency>
         <groupId>org.jboss.metadata</groupId>
         <artifactId>jboss-metadata-common</artifactId>
         <version>${version.org.jboss.metadata.common}</version>
@@ -1412,6 +1409,10 @@
             <groupId>org.jboss</groupId>
             <artifactId>jboss-jaxws</artifactId>
           </exclusion>
+          <exclusion>
+            <groupId>org.hibernate</groupId>
+            <artifactId>ejb3-persistence</artifactId>
+          </exclusion>
         </exclusions>
       </dependency>
       <dependency>
@@ -1852,6 +1853,10 @@
             <groupId>org.jboss.microcontainer</groupId>
             <artifactId>jboss-kernel</artifactId>
           </exclusion>
+          <exclusion>
+            <groupId>org.hibernate</groupId>
+            <artifactId>ejb3-persistence</artifactId>
+          </exclusion>
         </exclusions>
       </dependency>
 
@@ -2178,7 +2183,7 @@
       <dependency>
         <groupId>org.jboss.ejb3</groupId>
         <artifactId>jboss-ejb3-ext-api</artifactId>
-        <version>1.0.0</version>
+	<version>${version.org.jboss.ejb3.ext.api}</version>
       </dependency>
       
       <dependency>
@@ -2626,6 +2631,22 @@
             <groupId>javax.xml.bind</groupId>
             <artifactId>jaxb-api</artifactId>
           </exclusion>
+          <exclusion>
+            <groupId>com.sun.xml.messaging.saaj</groupId>
+            <artifactId>saaj-impl</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>com.sun.xml.stream.buffer</groupId>
+            <artifactId>streambuffer</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>org.jvnet</groupId>
+            <artifactId>mimepull</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>org.glassfish.gmbal</groupId>
+            <artifactId>gmbal-api-only</artifactId>
+          </exclusion>
         </exclusions>
       </dependency>
 
@@ -2636,6 +2657,34 @@
       </dependency>
 
       <dependency>
+        <groupId>com.sun.xml.ws</groupId>
+        <artifactId>policy</artifactId>
+        <version>${version.sun-policy}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>stax</groupId>
+            <artifactId>stax-api</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>com.sun.xml.txw2</groupId>
+            <artifactId>txw2</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>com.sun.istack</groupId>
+            <artifactId>istack-commons-runtime</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>woodstox</groupId>
+            <artifactId>wstx-asl</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+
+      <dependency>
         <groupId>sun-jaxws</groupId>
         <artifactId>stax-ex</artifactId>
         <version>${version.staxex}</version>
@@ -2650,7 +2699,7 @@
       <dependency>
         <groupId>org.jboss.security</groupId>
         <artifactId>jbossxacml</artifactId>
-        <version>2.0.4</version>
+        <version>2.0.5.CR1</version>
         <exclusions>
           <exclusion>
             <groupId>sun-jaf</groupId>
@@ -2672,8 +2721,8 @@
       </dependency>
       
       <dependency>
-        <groupId>wscommons-policy</groupId>
-        <artifactId>policy</artifactId>
+        <groupId>org.apache.ws.policy</groupId>
+        <artifactId>wscommons-policy</artifactId>
         <version>1.0</version>
       </dependency>
       

Modified: branches/vfs3-int/connector/pom.xml
===================================================================
--- branches/vfs3-int/connector/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/connector/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -16,7 +16,7 @@
   <description>JBoss Application Server (connector module)</description>
   
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -200,10 +200,6 @@
     </dependency>
     <dependency>
       <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-log4j</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
       <artifactId>jboss-logging-spi</artifactId>
     </dependency>
     <dependency>
@@ -239,6 +235,14 @@
       <artifactId>jboss-security-spi</artifactId>
     </dependency>
     <dependency>
+      <groupId>org.jboss.stdio</groupId>
+      <artifactId>jboss-stdio</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.jboss.threads</groupId>
+      <artifactId>jboss-threads</artifactId>
+    </dependency>
+    <dependency>
       <groupId>quartz</groupId>
       <artifactId>quartz</artifactId>
     </dependency>

Modified: branches/vfs3-int/connector/src/main/java/org/jboss/resource/connectionmanager/BaseConnectionManager2.java
===================================================================
--- branches/vfs3-int/connector/src/main/java/org/jboss/resource/connectionmanager/BaseConnectionManager2.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/connector/src/main/java/org/jboss/resource/connectionmanager/BaseConnectionManager2.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -56,6 +56,7 @@
 import org.jboss.mx.util.MBeanServerLocator;
 import org.jboss.resource.JBossResourceException;
 import org.jboss.security.SubjectFactory;
+import org.jboss.stdio.LoggingWriter;
 import org.jboss.system.ServiceMBeanSupport;
 import org.jboss.tm.TransactionTimeoutConfiguration;
 import org.jboss.util.NestedRuntimeException;
@@ -327,8 +328,7 @@
 
       // Give it somewhere to tell people things
       String categoryName = poolingStrategy.getManagedConnectionFactory().getClass().getName() + "." + jndiName;
-      Logger log = Logger.getLogger(categoryName);
-      PrintWriter logWriter = new LoggerPluginWriter(log.getLoggerPluginInstance());
+      PrintWriter logWriter = new PrintWriter(new LoggingWriter(categoryName, "INFO"));
       try
       {
          poolingStrategy.getManagedConnectionFactory().setLogWriter(logWriter);

Modified: branches/vfs3-int/connector/src/main/java/org/jboss/resource/deployers/ManagedConnectionFactoryDeployer.java
===================================================================
--- branches/vfs3-int/connector/src/main/java/org/jboss/resource/deployers/ManagedConnectionFactoryDeployer.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/connector/src/main/java/org/jboss/resource/deployers/ManagedConnectionFactoryDeployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -69,6 +69,7 @@
          "securityMetaData",
          "managedConnectionFactoryProperties",
    };
+   
    /**
     * A mapping from the managed property name to the attachment property name.
     */
@@ -109,7 +110,9 @@
    public ManagedConnectionFactoryDeployer()
    {
       super(ManagedConnectionFactoryDeploymentGroup.class);
-      setOutput(ServiceDeployment.class);
+      addOutput(ServiceDeployment.class.getName() + ".JCA");
+      addOutput(ServiceDeployment.class);
+      addOutput(ComponentType.class);
    }
 
    public void setBuilders(List<AbstractBuilder> builders)
@@ -145,7 +148,6 @@
    @Override
    public void deploy(DeploymentUnit unit, ManagedConnectionFactoryDeploymentGroup group) throws DeploymentException
    {
-      
       List<ManagedConnectionFactoryDeploymentMetaData> deployments = group.getDeployments();
       ServiceDeployment serviceDeployment = new ServiceDeployment();
       List<ServiceMetaData> componentServices = new ArrayList<ServiceMetaData>();            
@@ -184,14 +186,9 @@
       }
       
       serviceDeployment.setServices(componentServices);
-      unit.addAttachment(ServiceDeployment.class, serviceDeployment);
+      // we shouldn't override ServiceDeployment - it's reserved for -service.xml files / SARDeployer
+      unit.addAttachment(ServiceDeployment.class.getName() + ".JCA", serviceDeployment, ServiceDeployment.class);
       if( type != null )
          unit.addAttachment(ComponentType.class, type);
    }
-
-   @Override
-   public void undeploy(DeploymentUnit unit, ManagedConnectionFactoryDeploymentGroup deployment)
-   {      
-   }
-
 }

Modified: branches/vfs3-int/connector/src/main/java/org/jboss/resource/deployers/RARParserDeployer.java
===================================================================
--- branches/vfs3-int/connector/src/main/java/org/jboss/resource/deployers/RARParserDeployer.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/connector/src/main/java/org/jboss/resource/deployers/RARParserDeployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -71,6 +71,8 @@
       super(RARDeploymentMetaData.class, getCustomMappings());
       // Enable MO creation of RARDeploymentMetaData
       setBuildManagedObject(true);
+      // for alt-dd usage
+      addInput("org.jboss.metadata.ear.spec.EarMetaData");
    }
 
    protected <U> ObjectModelFactory getObjectModelFactory(Class<U> expectedType, String fileName, U root)

Modified: branches/vfs3-int/connector/src/main/java/org/jboss/resource/work/JBossWorkManager.java
===================================================================
--- branches/vfs3-int/connector/src/main/java/org/jboss/resource/work/JBossWorkManager.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/connector/src/main/java/org/jboss/resource/work/JBossWorkManager.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,6 +1,6 @@
 /*
  * JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2010, 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.
  *
@@ -21,18 +21,25 @@
  */
 package org.jboss.resource.work;
 
-import java.util.concurrent.Executor;
-import org.jboss.system.ServiceMBeanSupport;
-import org.jboss.tm.JBossXATerminator;
-import org.jboss.util.threadpool.Task;
-
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.RejectedExecutionException;
+import java.util.concurrent.TimeUnit;
 import javax.resource.spi.work.ExecutionContext;
 import javax.resource.spi.work.Work;
+import javax.resource.spi.work.WorkCompletedException;
+import javax.resource.spi.work.WorkEvent;
 import javax.resource.spi.work.WorkException;
 import javax.resource.spi.work.WorkListener;
 import javax.resource.spi.work.WorkManager;
+import javax.resource.spi.work.WorkRejectedException;
 import javax.transaction.xa.Xid;
 
+import org.jboss.logging.Logger;
+import org.jboss.threads.BlockingExecutor;
+import org.jboss.threads.ExecutionTimedOutException;
+import org.jboss.tm.JBossXATerminator;
+import org.jboss.system.ServiceMBeanSupport;
+
 /**
  * The work manager implementation
  *
@@ -41,39 +48,46 @@
  */
 public class JBossWorkManager extends ServiceMBeanSupport implements WorkManager, JBossWorkManagerMBean
 {
+   /** The logger */
+   private static Logger log = Logger.getLogger(JBossWorkManager.class);
+   
    /** Whether trace is enabled */
-   private boolean trace = log.isTraceEnabled();
-   
-   /** The thread pool */
-   private Executor executor;
+   private static boolean trace = log.isTraceEnabled();
 
-   /** The xa terminator */
+   /** The executor */
+   private BlockingExecutor executor;
+
+   /** The XA terminator */
    private JBossXATerminator xaTerminator;
 
-    /**
-    * Retrieve the thread pool
-    *
-    * @return the thread pool
+   /**
+    * Constructor
     */
-   public Executor getExecutor()
+   public JBossWorkManager()
    {
+   }
+   
+   /**
+    * Retrieve the executor
+    * @return The executor
+    */
+   public BlockingExecutor getExecutor()
+   {
       return executor;
    }
 
    /**
-    * Set the thread pool
-    *
-    * @param executor the thread pool
+    * Set the executor
+    * @param executor The executor
     */
-   public void setExecutor(Executor executor)
+   public void setExecutor(BlockingExecutor executor)
    {
       this.executor = executor;
    }
 
    /**
     * Get the XATerminator
-    * 
-    * @return the xa terminator
+    * @return The XA terminator
     */
    public JBossXATerminator getXATerminator()
    {
@@ -82,179 +96,314 @@
 
    /**
     * Set the XATerminator
-    * 
-    * @param xaTerminator the xa terminator
+    * @param xaTerminator The XA terminator
     */
    public void setXATerminator(JBossXATerminator xaTerminator)
    {
       this.xaTerminator = xaTerminator;
    }
 
+   /**
+    * Get the work manager instance
+    * @return The instance
+    */
    public WorkManager getInstance()
    {
       return this;
    }
 
-   public void doWork(Work work, long startTimeout, ExecutionContext ctx, WorkListener listener) throws WorkException
-   {
-      if (ctx == null)
-         ctx = new ExecutionContext();
-      WorkWrapper wrapper = new WorkWrapper(this, work, Task.WAIT_FOR_COMPLETE, startTimeout, ctx, listener);
-      importWork(wrapper);
-      executeWork(wrapper);
-      if (wrapper.getWorkException() != null)
-         throw wrapper.getWorkException();
-   }
-
+   /**
+    * {@inheritDoc}
+    */
    public void doWork(Work work) throws WorkException
    {
       doWork(work, WorkManager.INDEFINITE, null, null);
    }
-
-   public long startWork(Work work, long startTimeout, ExecutionContext ctx, WorkListener listener) throws WorkException
+   
+   /**
+    * {@inheritDoc}
+    */
+   public void doWork(Work work,
+                      long startTimeout, 
+                      ExecutionContext execContext, 
+                      WorkListener workListener) 
+      throws WorkException
    {
-      if (ctx == null)
-         ctx = new ExecutionContext();
-      WorkWrapper wrapper = new WorkWrapper(this, work, Task.WAIT_FOR_START, startTimeout, ctx, listener);
-      importWork(wrapper);
-      executeWork(wrapper);
-      if (wrapper.getWorkException() != null)
-         throw wrapper.getWorkException();
-      return wrapper.getBlockedElapsed();
-   }
+      WorkException exception = null;
+      WorkWrapper wrapper = null;
+      try
+      {
+         if (work == null)
+            throw new WorkRejectedException("Work is null");
 
-   public long startWork(Work work) throws WorkException
-   {
-      return startWork(work, WorkManager.INDEFINITE, null, null);
-   }
+         if (startTimeout < 0)
+            throw new WorkRejectedException("StartTimeout is negative: " + startTimeout);
 
-   public void scheduleWork(Work work, long startTimeout, ExecutionContext ctx, WorkListener listener) throws WorkException
-   {
-      if (ctx == null)
-         ctx = new ExecutionContext();
-      WorkWrapper wrapper = new WorkWrapper(this, work, Task.WAIT_NONE, startTimeout, ctx, listener);
-      importWork(wrapper);
-      executeWork(wrapper);
-      if (wrapper.getWorkException() != null)
-         throw wrapper.getWorkException();
-   }
+         if (execContext == null)
+         {
+            execContext = new ExecutionContext();  
+         }
 
-   public void scheduleWork(Work work) throws WorkException
-   {
-      scheduleWork(work, WorkManager.INDEFINITE, null, null);
-   }
+         final CountDownLatch completedLatch = new CountDownLatch(1);
 
-   /**
-    * Import any work
-    * 
-    * @param wrapper the work wrapper
-    * @throws WorkException for any error 
-    */
-   protected void importWork(WorkWrapper wrapper) throws WorkException
-   {
-      trace = log.isTraceEnabled();
-      if (trace)
-         log.trace("Importing work " + wrapper);
-      
-      ExecutionContext ctx = wrapper.getExecutionContext();
-      if (ctx != null)
+         wrapper = new WorkWrapper(this, work, execContext, workListener, null, completedLatch);
+
+         if (workListener != null)
+         {
+            WorkEvent event = new WorkEvent(this, WorkEvent.WORK_ACCEPTED, work, null);
+            workListener.workAccepted(event);
+         }
+
+         BlockingExecutor executor = getExecutor(work);
+
+         if (startTimeout == WorkManager.INDEFINITE)
+         {
+            executor.executeBlocking(wrapper);
+         }
+         else
+         {
+            executor.executeBlocking(wrapper, startTimeout, TimeUnit.MILLISECONDS);
+         }
+
+         completedLatch.await();
+      }
+      catch (ExecutionTimedOutException etoe)
       {
-         Xid xid = ctx.getXid();
-         if (xid != null)
+         exception = new WorkRejectedException(etoe);
+         exception.setErrorCode(WorkRejectedException.START_TIMED_OUT);  
+      }
+      catch (RejectedExecutionException ree)
+      {
+         exception = new WorkRejectedException(ree);
+      }
+      catch (WorkException we)
+      {
+         exception = we;
+      }
+      catch (InterruptedException ie)
+      {
+         Thread.currentThread().interrupt();
+         exception = new WorkRejectedException("Interrupted while requesting permit");
+      }
+      finally
+      {
+         if (exception != null)
          {
-            //JBAS-4002 base value is in seconds as per the API, here we convert to millis
-            long timeout = (ctx.getTransactionTimeout() * 1000);
-            xaTerminator.registerWork(wrapper.getWork(), xid, timeout);
+            if (workListener != null)
+            {
+               WorkEvent event = new WorkEvent(this, WorkEvent.WORK_REJECTED, work, exception);
+               workListener.workRejected(event);
+            }
+
+            throw exception;
          }
+
+         checkWorkCompletionException(wrapper);
       }
-      if (trace)
-         log.trace("Imported work " + wrapper);
    }
    
    /**
-    * Execute the work
-    * 
-    * @param wrapper the work wrapper
-    * @throws WorkException for any error 
+    * {@inheritDoc}
     */
-   protected void executeWork(WorkWrapper wrapper) throws WorkException
+   public long startWork(Work work) throws WorkException
    {
-      if (trace)
-         log.trace("Submitting work to thread pool " + wrapper);
-
-      executor.execute(wrapper);
-
-      if (trace)
-         log.trace("Submitted work to thread pool " + wrapper);
+      return startWork(work, WorkManager.INDEFINITE, null, null);
    }
-
+   
    /**
-    * Start work
-    * 
-    * @param wrapper the work wrapper
-    * @throws WorkException for any error 
+    * {@inheritDoc}
     */
-   protected void startWork(WorkWrapper wrapper) throws WorkException
+   public long startWork(Work work, 
+                         long startTimeout, 
+                         ExecutionContext execContext, 
+                         WorkListener workListener) 
+      throws WorkException
    {
-      if (trace)
-         log.trace("Starting work " + wrapper);
+      WorkException exception = null;
+      WorkWrapper wrapper = null;
+      try
+      {
+         if (work == null)
+            throw new WorkRejectedException("Work is null");
 
-      ExecutionContext ctx = wrapper.getExecutionContext();
-      if (ctx != null)
+         if (startTimeout < 0)
+            throw new WorkRejectedException("StartTimeout is negative: " + startTimeout);
+
+         long started = System.currentTimeMillis();
+
+         if (execContext == null)
+         {
+            execContext = new ExecutionContext();  
+         }
+
+         final CountDownLatch startedLatch = new CountDownLatch(1);
+
+         wrapper = new WorkWrapper(this, work, execContext, workListener, startedLatch, null);
+
+         if (workListener != null)
+         {
+            WorkEvent event = new WorkEvent(this, WorkEvent.WORK_ACCEPTED, work, null);
+            workListener.workAccepted(event);
+         }
+
+         BlockingExecutor executor = getExecutor(work);
+
+         if (startTimeout == WorkManager.INDEFINITE)
+         {
+            executor.executeBlocking(wrapper);
+         }
+         else
+         {
+            executor.executeBlocking(wrapper, startTimeout, TimeUnit.MILLISECONDS);
+         }
+
+         startedLatch.await();
+
+         return System.currentTimeMillis() - started;
+      }
+      catch (ExecutionTimedOutException etoe)
       {
-         Xid xid = ctx.getXid();
-         if (xid != null)
+         exception = new WorkRejectedException(etoe);
+         exception.setErrorCode(WorkRejectedException.START_TIMED_OUT);  
+      }
+      catch (RejectedExecutionException ree)
+      {
+         exception = new WorkRejectedException(ree);
+      }
+      catch (WorkException we)
+      {
+         exception = we;
+      }
+      catch (InterruptedException ie)
+      {
+         Thread.currentThread().interrupt();
+         exception = new WorkRejectedException("Interrupted while requesting permit");
+      }
+      finally
+      {
+         if (exception != null)
          {
-            xaTerminator.startWork(wrapper.getWork(), xid);
+            if (workListener != null)
+            {
+               WorkEvent event = new WorkEvent(this, WorkEvent.WORK_REJECTED, work, exception);
+               workListener.workRejected(event);
+            }
+
+            throw exception;
          }
+
+         checkWorkCompletionException(wrapper);
       }
-      if (trace)
-         log.trace("Started work " + wrapper);
+
+      return WorkManager.UNKNOWN;
    }
-
+   
    /**
-    * End work
-    * 
-    * @param wrapper the work wrapper
+    * {@inheritDoc}
     */
-   protected void endWork(WorkWrapper wrapper)
+   public void scheduleWork(Work work) throws WorkException
    {
-      if (trace)
-         log.trace("Ending work " + wrapper);
+      scheduleWork(work, WorkManager.INDEFINITE, null, null);
+   }
+   
+   /**
+    * {@inheritDoc}
+    */
+   public void scheduleWork(Work work,
+                            long startTimeout, 
+                            ExecutionContext execContext, 
+                            WorkListener workListener) 
+      throws WorkException
+   {
+      WorkException exception = null;
+      WorkWrapper wrapper = null;
+      try
+      {
+         if (work == null)
+            throw new WorkRejectedException("Work is null");
 
-      ExecutionContext ctx = wrapper.getExecutionContext();
-      if (ctx != null)
+         if (startTimeout < 0)
+            throw new WorkRejectedException("StartTimeout is negative: " + startTimeout);
+
+         if (execContext == null)
+         {
+            execContext = new ExecutionContext();  
+         }
+
+         wrapper = new WorkWrapper(this, work, execContext, workListener, null, null);
+
+         if (workListener != null)
+         {
+            WorkEvent event = new WorkEvent(this, WorkEvent.WORK_ACCEPTED, work, null);
+            workListener.workAccepted(event);
+         }
+
+         BlockingExecutor executor = getExecutor(work);
+
+         if (startTimeout == WorkManager.INDEFINITE)
+         {
+            executor.executeBlocking(wrapper);
+         }
+         else
+         {
+            executor.executeBlocking(wrapper, startTimeout, TimeUnit.MILLISECONDS);
+         }
+      }
+      catch (ExecutionTimedOutException etoe)
       {
-         Xid xid = ctx.getXid();
-         if (xid != null)
+         exception = new WorkRejectedException(etoe);
+         exception.setErrorCode(WorkRejectedException.START_TIMED_OUT);  
+      }
+      catch (RejectedExecutionException ree)
+      {
+         exception = new WorkRejectedException(ree);
+      }
+      catch (WorkException we)
+      {
+         exception = we;
+      }
+      catch (InterruptedException ie)
+      {
+         Thread.currentThread().interrupt();
+         exception = new WorkRejectedException("Interrupted while requesting permit");
+      }
+      finally
+      {
+         if (exception != null)
          {
-            xaTerminator.endWork(wrapper.getWork(), xid);
+            if (workListener != null)
+            {
+               WorkEvent event = new WorkEvent(this, WorkEvent.WORK_REJECTED, work, exception);
+               workListener.workRejected(event);
+            }
+
+            throw exception;
          }
+
+         checkWorkCompletionException(wrapper);
       }
-      if (trace)
-         log.trace("Ended work " + wrapper);
    }
 
    /**
-    * Cancel work
-    * 
-    * @param wrapper the work wrapper
+    * Get the executor
+    * @param work The work instance
+    * @return The executor
     */
-   protected void cancelWork(WorkWrapper wrapper)
+   private BlockingExecutor getExecutor(Work work)
    {
-      if (trace)
-         log.trace("Cancel work " + wrapper);
-
-      ExecutionContext ctx = wrapper.getExecutionContext();
-      if (ctx != null)
+      return executor;
+   }
+   
+   /**
+    * Checks work completed status. 
+    * @param wrapper work wrapper instance
+    * @throws {@link WorkException} if work is completed with an exception
+    */
+   private void checkWorkCompletionException(WorkWrapper wrapper) throws WorkException
+   {
+      if (wrapper.getWorkException() != null)
       {
-         Xid xid = ctx.getXid();
-         if (xid != null)
-         {
-            xaTerminator.cancelWork(wrapper.getWork(), xid);
-         }
-      }
-      if (trace)
-         log.trace("Canceled work " + wrapper);
+         throw wrapper.getWorkException();  
+      }      
    }
 }

Modified: branches/vfs3-int/connector/src/main/java/org/jboss/resource/work/WorkWrapper.java
===================================================================
--- branches/vfs3-int/connector/src/main/java/org/jboss/resource/work/WorkWrapper.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/connector/src/main/java/org/jboss/resource/work/WorkWrapper.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,6 +1,6 @@
 /*
  * JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * Copyright 2010, 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.
  *
@@ -21,60 +21,57 @@
  */
 package org.jboss.resource.work;
 
+import java.util.concurrent.CountDownLatch;
+
 import javax.resource.spi.work.ExecutionContext;
 import javax.resource.spi.work.Work;
 import javax.resource.spi.work.WorkCompletedException;
 import javax.resource.spi.work.WorkEvent;
 import javax.resource.spi.work.WorkException;
 import javax.resource.spi.work.WorkListener;
-import javax.resource.spi.work.WorkManager;
 import javax.resource.spi.work.WorkRejectedException;
+import javax.transaction.xa.Xid;
 
 import org.jboss.logging.Logger;
-import org.jboss.util.JBossStringBuilder;
-import org.jboss.util.NestedRuntimeException;
-import org.jboss.util.threadpool.BasicTaskWrapper;
-import org.jboss.util.threadpool.StartTimeoutException;
-import org.jboss.util.threadpool.Task;
 
 /**
  * Wraps the resource adapter's work.
  *
- * @author <a href="mailto:adrian at jboss.org">Adrian Brock</a>
+ * @author <a href="mailto:jesper.pedersen at jboss.org">Jesper Pedersen</a>
  * @version $Revision$
  */
-public class WorkWrapper extends BasicTaskWrapper implements Task
+public class WorkWrapper implements Runnable
 {
    /** The log */
-   private static final Logger log = Logger.getLogger(WorkWrapper.class);
+   private static Logger log = Logger.getLogger(WorkWrapper.class);
 
    /** Whether we are tracing */
-   private boolean trace = log.isTraceEnabled();
+   private static boolean trace = log.isTraceEnabled();
    
    /** The work */
    private Work work;
 
    /** The execution context */
    private ExecutionContext executionContext;
-
+   
    /** the work listener */
-   private WorkListener workListener;
+   private WorkListener workListener;   
 
-   /** The start timeout */
-   private long startTimeout;
-
    /** The work manager */
    private JBossWorkManager workManager;
 
-   /** The wait type */
-   private int waitType;
-
    /** The blocked time */
    private long blockedTime;
 
    /** Any exception */
    private WorkException exception;
 
+   /** Started latch */
+   private CountDownLatch startedLatch;
+
+   /** Completed latch */
+   private CountDownLatch completedLatch;
+
    /**
     * Create a new WorkWrapper
     *
@@ -85,7 +82,12 @@
     * @param workListener the WorkListener
     * @throws IllegalArgumentException for null work, execution context or a negative start timeout
     */
-   public WorkWrapper(JBossWorkManager workManager, Work work, int waitType, long startTimeout, ExecutionContext executionContext, WorkListener workListener)
+   public WorkWrapper(JBossWorkManager workManager, 
+                      Work work, 
+                      ExecutionContext executionContext, 
+                      WorkListener workListener,
+                      CountDownLatch startedLatch,
+                      CountDownLatch completedLatch)
    {
       super();
 
@@ -93,19 +95,15 @@
          throw new IllegalArgumentException("Null work");
       if (executionContext == null)
          throw new IllegalArgumentException("Null execution context");
-      if (startTimeout < 0)
-         throw new IllegalArgumentException("Illegal start timeout: " + startTimeout);
 
       this.workManager = workManager;
       this.work = work;
-      this.waitType = waitType;
-      this.startTimeout = startTimeout;
       this.executionContext = executionContext;
       this.workListener = workListener;
-
-      setTask(this);
+      this.startedLatch = startedLatch;
+      this.completedLatch = completedLatch;
    }
-
+   
    /**
     * Get the work manager
     *
@@ -127,16 +125,6 @@
    }
 
    /**
-    * Retrieve the work listener
-    *
-    * @return the WorkListener
-    */
-   public WorkListener getWorkListener()
-   {
-      return workListener;
-   }
-
-   /**
     * Retrieve the exection context
     *
     * @return the execution context
@@ -147,13 +135,13 @@
    }
 
    /**
-    * Retrieve the time blocked
+    * Retrieve the work listener
     *
-    * @return the blocked time
+    * @return the WorkListener
     */
-   public long getBlockedElapsed()
+   public WorkListener getWorkListener()
    {
-      return blockedTime;
+      return workListener;
    }
    
    /**
@@ -166,173 +154,167 @@
       return exception;
    }
 
-   public int getWaitType()
+   /**
+    * Run
+    */
+   public void run()
    {
-      return waitType;
-   }
+      if (trace)
+         log.trace("Starting work " + this);  
 
-   public int getPriority()
-   {
-      return Thread.NORM_PRIORITY;
-   }
+      try
+      {
+         start();
 
-   public long getStartTimeout()
-   {
-      return startTimeout;
-   }
+         if (startedLatch != null)
+            startedLatch.countDown();
 
-   public long getCompletionTimeout()
-   {
-      // [JBAS-6400] Conversion of seconds to milliseconds
-      return executionContext.getTransactionTimeout() * 1000L;
-   }
+         work.run();
 
-   public void execute()
-   {
-      if (trace)
-         log.trace("Executing work " + this);
-      try
-      {
-         workManager.startWork(this);
+         end();
       }
-      catch (WorkException e)
+      catch (Exception e)
       {
-         taskRejected(new NestedRuntimeException(e));
-         return;
-      }
-      try
-      {
-         work.run();
-      }
+         exception = new WorkCompletedException(e);
+
+         cancel();
+      } 
       finally
       {
-         workManager.endWork(this);
-      }
-      if (trace)
-         log.trace("Executed work " + this);
-   }
+         work.release();
 
-   public void stop()
-   {
-      if (trace)
-         log.trace("Stopping work " + this);
+         if (workListener != null)
+         {
+            WorkEvent event = new WorkEvent(workManager, WorkEvent.WORK_COMPLETED, work, exception);
+            workListener.workCompleted(event);
+         }
 
-      work.release();
-   }
+         if (startedLatch != null)
+         {
+            while (startedLatch.getCount() != 0)
+               startedLatch.countDown();
+         }
 
-   public void accepted(long time)
-   {
-      blockedTime = time;
+         if (completedLatch != null)
+            completedLatch.countDown();
 
-      if (trace)
-         log.trace("Accepted work " + this);
-
-      if (workListener != null)
-      {
-         WorkEvent event = new WorkEvent(workManager, WorkEvent.WORK_ACCEPTED, work, null);
-         workListener.workAccepted(event);
+         if (trace)
+            log.trace("Executed work " + this);  
       }
    }
 
-   public void rejected(long time, Throwable throwable)
+   /**
+    * Start
+    * @throws WorkException for any error 
+    */
+   protected void start() throws WorkException
    {
-      blockedTime = time;
-
       if (trace)
       {
-         if (throwable != null)
-            log.trace("Rejecting work " + this, throwable);
-         else
-            log.trace("Rejecting work " + this);
+         log.trace("Starting work " + this);  
       }
 
-      if (throwable != null)
+      ExecutionContext ctx = getExecutionContext();
+      
+      if (ctx != null)
       {
-         exception = new WorkRejectedException(throwable);
-         if (throwable instanceof StartTimeoutException)
-            exception.setErrorCode(WorkRejectedException.START_TIMED_OUT);
+         Xid xid = ctx.getXid();
+         if (xid != null)
+         {
+            //JBAS-4002 base value is in seconds as per the API, here we convert to millis
+            long timeout = (ctx.getTransactionTimeout() * 1000);
+            workManager.getXATerminator().registerWork(work, xid, timeout);
+         }
       }
       
-      workManager.cancelWork(this);
-      
-      if (workListener != null)
+      if (ctx != null)
       {
-         WorkEvent event = new WorkEvent(workManager, WorkEvent.WORK_ACCEPTED, work, exception);
-         workListener.workRejected(event);
+         Xid xid = ctx.getXid();
+         if (xid != null)
+         {
+            workManager.getXATerminator().startWork(work, xid);
+         }
       }
-   }
 
-   public void started(long time)
-   {
-      if (waitType != WAIT_NONE)
-         blockedTime = time;
-
       if (workListener != null)
       {
          WorkEvent event = new WorkEvent(workManager, WorkEvent.WORK_STARTED, work, null);
          workListener.workStarted(event);
       }
+
+      if (trace)
+      {
+         log.trace("Started work " + this);  
+      }
    }
 
-   public void completed(long time, Throwable throwable)
+   /**
+    * End
+    */
+   protected void end()
    {
-      if (waitType == WAIT_FOR_COMPLETE)
-         blockedTime = time;
+      if (trace)
+      {
+         log.trace("Ending work " + this);  
+      }
 
-      if (throwable != null)
-         exception = new WorkCompletedException(throwable);
+      ExecutionContext ctx = getExecutionContext();
 
+      if (ctx != null)
+      {
+         Xid xid = ctx.getXid();
+         if (xid != null)
+         {
+            workManager.getXATerminator().endWork(work, xid);
+         }
+      }
+
       if (trace)
-         log.trace("Completed work " + this);
+      {
+         log.trace("Ended work " + this);  
+      }
+   }
 
-      if (workListener != null)
+   /**
+    * Cancel
+    */
+   protected void cancel()
+   {
+      if (trace)
+         log.trace("Cancel work " + this);  
+
+      ExecutionContext ctx = getExecutionContext();
+
+      if (ctx != null)
       {
-         WorkEvent event = new WorkEvent(workManager, WorkEvent.WORK_COMPLETED, work, exception);
-         workListener.workCompleted(event);
+         Xid xid = ctx.getXid();
+         if (xid != null)
+         {
+            workManager.getXATerminator().cancelWork(work, xid);
+         }
       }
+
+      if (trace)
+         log.trace("Canceled work " + this);  
    }
    
+   /**
+    * String representation
+    * @return The string
+    */
    public String toString()
    {
-      JBossStringBuilder buffer = new JBossStringBuilder(100);
+      StringBuilder buffer = new StringBuilder(100);
       buffer.append("WorkWrapper@").append(Integer.toHexString(System.identityHashCode(this)));
       buffer.append("[workManger=").append(workManager);
       buffer.append(" work=").append(work);
-      buffer.append(" state=").append(getStateString());
+
       if (executionContext != null && executionContext.getXid() != null)
       {
          buffer.append(" xid=").append(executionContext.getXid());
          buffer.append(" txTimeout=").append(executionContext.getTransactionTimeout());
       }
-      buffer.append(" waitType=");
-      switch (waitType)
-      {
-         case WAIT_NONE:
-         {
-            buffer.append("WAIT_NONE");
-            break;
-         }
-         case WAIT_FOR_START:
-         {
-            buffer.append("WAIT_FOR_START");
-            break;
-         }
-         case WAIT_FOR_COMPLETE:
-         {
-            buffer.append("WAIT_FOR_COMPLETE");
-            break;
-         }
-         default:
-            buffer.append("???");
-      }
-      if (startTimeout != WorkManager.INDEFINITE)
-         buffer.append(" startTimeout=").append(startTimeout);
-      long completionTimeout = getCompletionTimeout();
-      if (completionTimeout != -1)
-         buffer.append(" completionTimeout=").append(completionTimeout);
-      if (blockedTime != 0)
-         buffer.append(" blockTime=").append(blockedTime);
-      buffer.append(" elapsedTime=").append(getElapsedTime());
+
       if (workListener != null)
          buffer.append(" workListener=").append(workListener);
       if (exception != null)

Modified: branches/vfs3-int/console/pom.xml
===================================================================
--- branches/vfs3-int/console/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/console/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -11,12 +11,12 @@
   <groupId>org.jboss.jbossas</groupId>
   <artifactId>jboss-as-console</artifactId>
   <packaging>jar</packaging>
-  <name>JBoss Application Server Console</name>
+  <name>JBoss Application Server Command Line Client</name>
   <url>http://www.jboss.org/jbossas</url>
-  <description>JBoss Application Server (console module)</description>
+  <description>JBoss Application Server (command line client module)</description>
   
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -48,13 +48,7 @@
             <phase>package</phase>
             <configuration>
               <descriptors>
-                <descriptor>src/assembly/applet.xml</descriptor>
-                <descriptor>src/assembly/console-mgr-classes.xml</descriptor>
-                <descriptor>src/assembly/jboss-console.xml</descriptor>
-                <descriptor>src/assembly/jboss-console-client.xml</descriptor>
                 <descriptor>src/assembly/twiddle.xml</descriptor>
-                <descriptor>src/assembly/web-console.xml</descriptor>
-                <descriptor>src/assembly/console-mgr-sar.xml</descriptor>
               </descriptors>
             </configuration>
           </execution>
@@ -100,100 +94,23 @@
   <dependencies>
     <!-- Compile (global dependencies) -->
     <dependency>
-      <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-management</artifactId>
+      <groupId>gnu-getopt</groupId>
+      <artifactId>getopt</artifactId>
     </dependency>
     <dependency>
-      <groupId>jboss.web</groupId>
-      <artifactId>servlet-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>jboss.web</groupId>
-      <artifactId>jsp-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-varia</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>jfree</groupId>
-      <artifactId>jfreechart</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>jfree</groupId>
-      <artifactId>jcommon</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.jboss</groupId>
       <artifactId>jboss-common-core</artifactId>
     </dependency>
     <dependency>
-      <groupId>gnu-getopt</groupId>
-      <artifactId>getopt</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.logging</groupId>
-      <artifactId>jboss-logging-spi</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.mx</groupId>
-      <artifactId>jboss-jmx</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-system-jmx</artifactId>
+      <artifactId>jboss-as-management</artifactId>
     </dependency>
+    <!-- Not a dependency of twiddle but needed to make the thirdparty library
+         built pass?! jboss.web:jsp-api:jar is not defined, otherwise -->
     <dependency>
-      <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-system</artifactId>
+      <groupId>jboss.web</groupId>
+      <artifactId>jsp-api</artifactId>
     </dependency>
-    <dependency>
-      <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-system</artifactId>
-      <classifier>client</classifier>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.mx</groupId>
-      <artifactId>jboss-j2se</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>dom4j</groupId>
-      <artifactId>dom4j</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.beanshell</groupId>
-      <artifactId>bsh</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.aop</groupId>
-      <artifactId>jboss-aop</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.bootstrap</groupId>
-      <artifactId>jboss-bootstrap-spi-as</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-server</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-server</artifactId>
-      <classifier>client</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.security</groupId>
-      <artifactId>jbosssx-client</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>trove</groupId>
-      <artifactId>trove</artifactId>
-    </dependency>
   </dependencies>
   
 </project>

Deleted: branches/vfs3-int/console/src/assembly/applet.xml
===================================================================
--- branches/vfs3-int/console/src/assembly/applet.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/console/src/assembly/applet.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,127 +0,0 @@
-<assembly>
-  <id>applet</id>
-  <formats>
-    <format>jar</format>
-  </formats>
-  <includeBaseDirectory>false</includeBaseDirectory>
-  <fileSets>
-    <fileSet>
-      <directory>target/classes</directory>
-      <outputDirectory>/</outputDirectory>
-      <includes>
-        <include>org/jboss/console/manager/**</include>
-        <include>org/jboss/console/plugins/**</include>
-        <include>org/jboss/console/navtree/**</include>
-        <include>org/jboss/console/remote/**</include>
-        <include>org/jboss/console/manager/navtree/**</include>
-        <include>org/jboss/console/manager/**MBean.*</include>
-      </includes>
-    </fileSet>
-  </fileSets>
-  <dependencySets>
-    <!--<dependencySet>
-      <unpack>true</unpack>
-      <includes>
-        <include>org.jboss.jbossas:jboss-as-server-jmx-rmi-adaptor</include>
-      </includes>
-    </dependencySet>-->
-    <dependencySet>
-      <unpack>true</unpack>
-      <includes>
-        <include>jfree:jfreechart</include>
-        <include>jfree:jcommon</include>
-      </includes>
-    </dependencySet>
-    <dependencySet>
-      <unpack>true</unpack>
-      <includes>
-        <include>org.jboss.jbossas:jboss-as-server:jar:client</include>
-      </includes>
-      <unpackOptions>
-        <includes>
-          <include>org/jboss/invocation/*</include>
-        </includes>
-        <excludes>
-          <exclude>META-INF/INDEX.LIST</exclude>
-        </excludes>
-      </unpackOptions>
-    </dependencySet>
-    <dependencySet>
-      <unpack>true</unpack>
-      <includes>
-        <include>org.jboss.logging:jboss-logging-spi</include>
-        <include>org.jboss.logging:jboss-logging-log4j</include>
-      </includes>
-      <unpackOptions>
-        <includes>
-          <include>org/jboss/logging/**</include>
-        </includes>
-      </unpackOptions>
-    </dependencySet>
-    <dependencySet>
-      <unpack>true</unpack>
-      <includes>
-        <include>org.jboss:jboss-common-core</include>
-      </includes>
-      <unpackOptions>
-        <excludes>
-          <exclude>META-INF/INDEX.LIST</exclude>
-          <exclude>org/jboss/util/property/**</exclude>
-          <exclude>org/jboss/util/propertyeditor/**</exclude>
-          <exclude>org/jboss/util/state/**</exclude>
-          <exclude>org/jboss/util/xml/**</exclude>
-          <exclude>org/jboss/util/collection/**</exclude>
-          <exclude>org/jboss/util/file/**</exclude>
-          <exclude>org/jboss/util/platform/**</exclude>
-          <exclude>org/jboss/util/stream/**</exclude>
-          <exclude>org/jboss/util/timeout/**</exclude>
-          <exclude>org/jboss/util/coerce/**</exclude>
-          <exclude>org/jboss/util/net/**</exclude>
-        </excludes>
-      </unpackOptions>
-    </dependencySet>
-    <dependencySet>
-      <unpack>true</unpack>
-      <includes>
-        <include>org.jboss.jbossas:jboss-as-system:jar:client</include>
-      </includes>
-      <unpackOptions>
-        <excludes>
-          <exclude>META-INF/INDEX.LIST</exclude>
-        </excludes>
-      </unpackOptions>
-    </dependencySet>
-    <dependencySet>
-      <unpack>true</unpack>
-      <includes>
-        <include>org.jboss.naming:jnp-client</include>
-      </includes>
-      <unpackOptions>
-        <excludes>
-          <exclude>META-INF/INDEX.LIST</exclude>
-        </excludes>
-      </unpackOptions>
-    </dependencySet>
-    <dependencySet>
-      <unpack>true</unpack>
-      <includes>
-        <include>org.jboss.mx:jboss-jmx</include>
-      </includes>
-      <unpackOptions>
-        <excludes>
-          <exclude>META-INF/INDEX.LIST</exclude>
-          <exclude>org/jboss/mx/server/**</exclude>
-          <exclude>org/jboss/mx/remote/**</exclude>
-          <exclude>org/jboss/mx/persistence/**</exclude>
-          <exclude>org/jboss/mx/modelmbean/**</exclude>
-          <exclude>org/jboss/mx/metadata/**</exclude>
-          <exclude>org/jboss/mx/loading/**</exclude>
-          <exclude>org/jboss/mx/logging/**</exclude>
-          <exclude>org/jboss/mx/interceptor/**</exclude>
-          <exclude>javax/management/loading/**</exclude>
-          <exclude>javax/management/modelmbean/**</exclude>
-        </excludes>
-      </unpackOptions>
-    </dependencySet>
-  </dependencySets>
-</assembly>
\ No newline at end of file

Deleted: branches/vfs3-int/console/src/assembly/console-mgr-classes.xml
===================================================================
--- branches/vfs3-int/console/src/assembly/console-mgr-classes.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/console/src/assembly/console-mgr-classes.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,20 +0,0 @@
-<assembly>
-  <id>console-mgr-classes</id>
-  <formats>
-    <format>jar</format>
-  </formats>
-  <includeBaseDirectory>false</includeBaseDirectory>
-  <fileSets>
-    <fileSet>
-      <directory>target/classes</directory>
-      <outputDirectory>/</outputDirectory>
-      <includes>
-        <include>org/jboss/console/**</include>
-      </includes>
-      <excludes>
-        <exclude>org/jboss/console/text/**</exclude>
-        <exclude>org/jboss/console/twiddle/**</exclude>
-      </excludes>
-    </fileSet>
-  </fileSets>
-</assembly>
\ No newline at end of file

Deleted: branches/vfs3-int/console/src/assembly/console-mgr-sar.xml
===================================================================
--- branches/vfs3-int/console/src/assembly/console-mgr-sar.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/console/src/assembly/console-mgr-sar.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,31 +0,0 @@
-<assembly>
-  <id>console-mgr-sar</id>
-  <formats>
-    <format>jar</format>
-  </formats>
-  <includeBaseDirectory>false</includeBaseDirectory>
-  <files>
-    <file>
-      <source>target/${project.build.finalName}-console-mgr-classes.jar</source>
-      <outputDirectory>/</outputDirectory>
-      <destName>console-mgr-classes.jar</destName>
-    </file>
-  </files>
-  <fileSets>
-    <fileSet>
-      <directory>src/resources/console-mgr.sar</directory>
-      <outputDirectory>/</outputDirectory>
-      <includes>
-        <include>**</include>
-      </includes>
-    </fileSet>
-  </fileSets>
-  <dependencySets>
-    <dependencySet>
-      <outputFileNameMapping>${artifact.artifactId}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
-      <includes>
-        <include>jfree:*</include>
-      </includes>
-    </dependencySet>
-  </dependencySets>
-</assembly>
\ No newline at end of file

Deleted: branches/vfs3-int/console/src/assembly/jboss-console-client.xml
===================================================================
--- branches/vfs3-int/console/src/assembly/jboss-console-client.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/console/src/assembly/jboss-console-client.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,16 +0,0 @@
-<assembly>
-  <id>jboss-console-client</id>
-  <formats>
-    <format>jar</format>
-  </formats>
-  <includeBaseDirectory>false</includeBaseDirectory>
-  <fileSets>
-    <fileSet>
-      <directory>target/classes</directory>
-      <outputDirectory>/</outputDirectory>
-      <includes>
-        <include>**/*Exception*.class</include>
-      </includes>
-    </fileSet>
-  </fileSets>
-</assembly>
\ No newline at end of file

Deleted: branches/vfs3-int/console/src/assembly/jboss-console.xml
===================================================================
--- branches/vfs3-int/console/src/assembly/jboss-console.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/console/src/assembly/jboss-console.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,16 +0,0 @@
-<assembly>
-  <id>jboss-console</id>
-  <formats>
-    <format>jar</format>
-  </formats>
-  <includeBaseDirectory>false</includeBaseDirectory>
-  <fileSets>
-    <fileSet>
-      <directory>target/classes</directory>
-      <outputDirectory>/</outputDirectory>
-      <includes>
-        <include>org/jboss/console/**</include>
-      </includes>
-    </fileSet>
-  </fileSets>
-</assembly>
\ No newline at end of file

Deleted: branches/vfs3-int/console/src/assembly/web-console.xml
===================================================================
--- branches/vfs3-int/console/src/assembly/web-console.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/console/src/assembly/web-console.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,23 +0,0 @@
-<assembly>
-  <id>web-console</id>
-  <formats>
-    <format>war</format>
-  </formats>
-  <includeBaseDirectory>false</includeBaseDirectory>
-  <fileSets>
-    <fileSet>
-      <directory>src/resources/webconsole.war</directory>
-      <outputDirectory>/</outputDirectory>
-      <includes>
-        <include>**</include>
-      </includes>
-    </fileSet>
-  </fileSets>
-  <files>
-    <file>
-      <source>target/${project.build.finalName}-applet.jar</source>
-      <outputDirectory>/</outputDirectory>
-      <destName>applet.jar</destName>
-    </file>
-  </files>
-</assembly>
\ No newline at end of file

Modified: branches/vfs3-int/deployment/pom.xml
===================================================================
--- branches/vfs3-int/deployment/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/deployment/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -14,7 +14,7 @@
   <description>JBoss Application Server (deployment module)</description>
   
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -180,8 +180,8 @@
     </dependency>
     
     <dependency>
-      <groupId>org.hibernate.java-persistence</groupId>
-      <artifactId>jpa-api</artifactId>
+      <groupId>org.hibernate.javax.persistence</groupId>
+      <artifactId>hibernate-jpa-2.0-api</artifactId>
     </dependency>
 
     <dependency>

Modified: branches/vfs3-int/ejb3/pom.xml
===================================================================
--- branches/vfs3-int/ejb3/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/ejb3/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -16,7 +16,7 @@
   <description>JBoss Application Server (ejb3 module)</description>
   
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <resources>
       <resource>
         <directory>src/resources</directory>
@@ -90,7 +90,7 @@
 				<include name="META-INF/ejb3-deployers-jboss-beans.xml" />
 			</patternset>
 		</unjar>
-		<unjar src="${maven.dependency.org.jboss.ejb3.jboss-ejb3-nointerface.jar.path}" dest="target/resources">
+		<unjar src="${maven.dependency.org.jboss.ejb3.nointerface.jboss-ejb3-nointerface-impl.jar.path}" dest="target/resources">
 			<patternset>
 				<include name="META-INF/ejb3-nointerface-jboss-beans.xml" />
 			</patternset>

Modified: branches/vfs3-int/ejb3/src/main/java/org/jboss/ejb3/deployers/AppClientParsingDeployer.java
===================================================================
--- branches/vfs3-int/ejb3/src/main/java/org/jboss/ejb3/deployers/AppClientParsingDeployer.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/ejb3/src/main/java/org/jboss/ejb3/deployers/AppClientParsingDeployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -30,6 +30,7 @@
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
  * @author adrian at jboss.org
  * @author Scott.Stark at jboss.org
+ * @author ales.justin at jboss.org
  * @version $Revision$
  */
 public class AppClientParsingDeployer extends SchemaResolverDeployer<ApplicationClientMetaData>
@@ -38,6 +39,7 @@
    {
       super(ApplicationClientMetaData.class);
       setName("application-client.xml");
-   }
-   
+      // for alt-dd usage
+      addInput("org.jboss.metadata.ear.spec.EarMetaData");
+   }   
 }

Modified: branches/vfs3-int/ejb3/src/resources/META-INF/ejb3-as-deployers-jboss-beans.xml
===================================================================
--- branches/vfs3-int/ejb3/src/resources/META-INF/ejb3-as-deployers-jboss-beans.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/ejb3/src/resources/META-INF/ejb3-as-deployers-jboss-beans.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -67,7 +67,6 @@
             <value>applet.jar</value>
             <value>jcommon.jar</value>
             <value>console-mgr-classes.jar</value>
-            <value>jfreechart.jar</value>
             <value>juddi-service.jar</value>
             <value>wsdl4j.jar</value>
             <value>commons-collections.jar</value>

Modified: branches/vfs3-int/ejb3/src/resources/META-INF/jpa-deployers-jboss-beans.xml
===================================================================
--- branches/vfs3-int/ejb3/src/resources/META-INF/jpa-deployers-jboss-beans.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/ejb3/src/resources/META-INF/jpa-deployers-jboss-beans.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -24,10 +24,23 @@
    
    <bean name="XPCResolver" class="org.jboss.ejb3.stateful.EJB3XPCResolver"/>
    
-   <bean name="PersistenceParsingDeployer" class="org.jboss.jpa.deployers.PersistenceParsingDeployer"/>
+   <bean name="PersistenceParsingDeployer" class="org.jboss.jpa.deployers.PersistenceParsingDeployer">
+     <property name="filter">
+       <bean class="org.jboss.deployers.spi.structure.MetaDataTypeFilter">
+         <constructor factoryClass="org.jboss.deployment.MetaDataTypeFilterFactory" factoryMethod="getAll"/>
+       </bean>
+     </property>
+   </bean>
 
    <bean name="PersistenceDeployer" class="org.jboss.jpa.deployers.PersistenceDeployer"/>
-   <bean name="PersistenceUnitDeployer" class="org.jboss.jpa.deployers.PersistenceUnitDeployer">
+
+   <bean name="PUHackDeployer" class="org.jboss.deployment.PUHackDeployer">
+     <constructor>
+       <parameter><inject bean="PersistenceUnitDeployer"/></parameter>
+     </constructor>
+   </bean>
+
+  <bean name="PersistenceUnitDeployer" class="org.jboss.jpa.deployers.PersistenceUnitDeployer" autowire-candidate="false">
       <property name="defaultPersistenceProperties">
          <map keyClass="java.lang.String" valueClass="java.lang.String">
             <entry>

Modified: branches/vfs3-int/hibernate-int/pom.xml
===================================================================
--- branches/vfs3-int/hibernate-int/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/hibernate-int/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -16,7 +16,7 @@
   <description>JBoss Application Server (hibernate-int module)</description>
   
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>

Modified: branches/vfs3-int/iiop/pom.xml
===================================================================
--- branches/vfs3-int/iiop/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/iiop/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -16,7 +16,7 @@
   <description>JBoss Application Server (iiop module)</description>
   
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <plugins>
       <plugin>
         <groupId>org.codehaus.mojo</groupId>

Modified: branches/vfs3-int/jbossas-jmx-remoting/pom.xml
===================================================================
--- branches/vfs3-int/jbossas-jmx-remoting/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/jbossas-jmx-remoting/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -14,7 +14,7 @@
   <description>JBoss Application Server (jbossas-jmx-remoting module)</description>
 
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <resources>
       <resource>
         <directory>src/resources</directory>

Modified: branches/vfs3-int/jbossas-remoting/pom.xml
===================================================================
--- branches/vfs3-int/jbossas-remoting/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/jbossas-remoting/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -13,7 +13,7 @@
   <url>http://www.jboss.com/products/jbossas</url>
   <description>JBoss Application Server (jbossas-remoting module)</description>
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>

Modified: branches/vfs3-int/main/pom.xml
===================================================================
--- branches/vfs3-int/main/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/main/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -14,7 +14,7 @@
   <url>http://www.jboss.org/jbossas</url>
   <description>JBoss Application Server (main module)</description>
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <resources>
       <resource>
         <directory>src/resources</directory>

Modified: branches/vfs3-int/main/src/main/java/org/jboss/Main.java
===================================================================
--- branches/vfs3-int/main/src/main/java/org/jboss/Main.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/main/src/main/java/org/jboss/Main.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -96,7 +96,7 @@
          "jboss-logging-logmanager.jar",
          // Common jars
          "jboss-common-core.jar",
-         "jboss-xml-binding.jar",
+         "jbossxb.jar",
          // Bootstrap
          "jboss-bootstrap-spi.jar", "jboss-bootstrap-spi-as.jar", "jboss-bootstrap-spi-mc.jar",
          "jboss-bootstrap-impl-base.jar", "jboss-bootstrap-impl-as.jar",
@@ -141,6 +141,8 @@
       super();
 
       // Set default properties
+      // TODO for JBAS-7705 we do this again at the end of processCommandLine
+      // so this can probably be eliminated
       final Properties sysProps = System.getProperties();
       for (final Object propName : sysProps.keySet())
       {
@@ -189,6 +191,28 @@
             System.setProperty("log4j.defaultInitOverride", "true");
          }
       }
+      
+      // Set the RmiClassLoaderSpi to JBoss specific one
+      // see https://jira.jboss.org/jira/browse/JBAS-7588?focusedCommentId=12509300#action_12509300
+      String rmiClassLoaderSpi = System.getProperty("java.rmi.server.RMIClassLoaderSpi");
+      // if already set, then don't override it
+      if (rmiClassLoaderSpi == null)
+      {
+         String jbossRMIClassLoader = "org.jboss.system.JBossRMIClassLoader";
+         // Is the class available?
+         try
+         {
+            Thread.currentThread().getContextClassLoader().loadClass(jbossRMIClassLoader);
+            // class was available, so set the property
+            System.setProperty("java.rmi.server.RMIClassLoaderSpi", jbossRMIClassLoader);
+         }
+         catch (Throwable ignore)
+         {
+            // class isn't available, or there was some problem
+            // loading that class, so don't set the system property 
+         }
+         
+      }
 
       // Get JBOSS_HOME appropriately  
       final String homeUrl = props.get(JBossASServerConfig.PROP_KEY_JBOSSAS_HOME_URL);
@@ -450,15 +474,6 @@
       Getopt getopt = new Getopt(programName, args, sopts, lopts);
       int code;
       String arg;
-      final String propKeyJBossasBindAddress = JBossASServerConfig.PROP_KEY_JBOSSAS_BIND_ADDRESS;
-      if (props.get(propKeyJBossasBindAddress) == null)
-      {
-         // JBossASServerConfig.PROP_KEY_JBOSSAS_BIND_ADDRESS could have been defined via 
-         // run.conf and so we don't wanna override that. 
-         final String defaultBindAddress = "127.0.0.1";
-         props.put(propKeyJBossasBindAddress, defaultBindAddress);
-         System.setProperty(propKeyJBossasBindAddress, defaultBindAddress);
-      }
       while ((code = getopt.getopt()) != -1)
       {
          switch (code)
@@ -668,7 +683,26 @@
                // if it does throw an error so we know about it
                throw new Error("unhandled option code: " + code);
          }
+      }      
+
+      // JBAS-7705 -- -P or other switches above may have gotten 'props'
+      // and system properties out of sync -- fix that
+      final Properties sysProps = System.getProperties();
+      for (final Object propName : sysProps.keySet())
+      {
+         final String propNameString = (String) propName;
+         final String propValue = (String) sysProps.get(propNameString);
+         props.put(propNameString, propValue);
       }
+      
+      // Ensure we have a bind address
+      final String propKeyJBossasBindAddress = JBossASServerConfig.PROP_KEY_JBOSSAS_BIND_ADDRESS;
+      if (props.get(propKeyJBossasBindAddress) == null)
+      {
+         final String defaultBindAddress = "127.0.0.1";
+         props.put(propKeyJBossasBindAddress, defaultBindAddress);
+         System.setProperty(propKeyJBossasBindAddress, defaultBindAddress);
+      }
 
       // Make sure some address properties are set and/or don't specify
       // a "any local address" value that's useless for their intended usage

Modified: branches/vfs3-int/main/src/resources/logging.properties
===================================================================
--- branches/vfs3-int/main/src/resources/logging.properties	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/main/src/resources/logging.properties	2010-02-12 17:13:14 UTC (rev 100922)
@@ -23,13 +23,17 @@
 ### $Id: $ ###
 
 # Additional logger names to configure (root logger is always configured)
-#loggers=org.jboss.whatever
+#loggers=org.jboss.whatever,org.jboss.foo
+loggers=org.jboss.system.server.ServerInfo
 
 # Root logger level
-logger.level=${jboss.boot.server.log.level:DEBUG}
+logger.level=${jboss.boot.server.log.level:INFO}
 # Root logger handlers
 logger.handlers=CONSOLE, FILE
 
+# Allow debug logging from ServerInfo to get the system properties dump
+logger.org.jboss.system.server.ServerInfo.level=${jboss.boot.server.log.serverinfo.level:DEBUG}
+
 # Console handler configuration
 handler.CONSOLE=org.jboss.logmanager.handlers.ConsoleHandler
 handler.CONSOLE.properties=autoFlush

Modified: branches/vfs3-int/management/pom.xml
===================================================================
--- branches/vfs3-int/management/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/management/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -16,7 +16,7 @@
   <description>JBoss Application Server (management module)</description>
   
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <resources>
       <resource>
         <directory>src/resources</directory>

Modified: branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/ServiceModule.java
===================================================================
--- branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/ServiceModule.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/ServiceModule.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -62,6 +62,10 @@
       ObjectName jsr77Name = null;
       ObjectName j2eeServerName = J2EEDomain.getDomainServerName(mbeanServer);
       
+      // Cannot create the module if the J2EEServer MBean is not registered  
+      if (j2eeServerName == null)
+         return null;
+      
       // First get the deployement descriptor
       if (url != null && url.getFile().endsWith(".xml"))
       {

Modified: branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/WebModule.java
===================================================================
--- branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/WebModule.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/WebModule.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -42,12 +42,10 @@
  * @author  <a href="mailto:thomas.diesler at jboss.org">Thomas Diesler</a>
  * @version $Revision$
  */
-public class WebModule extends J2EEModule
-   implements WebModuleMBean
+public class WebModule extends J2EEModule implements WebModuleMBean
 {
 
-   private static final String[] eventTypes = {NotificationConstants.OBJECT_CREATED,
-                                               NotificationConstants.OBJECT_DELETED};
+   private static final String[] eventTypes = { NotificationConstants.OBJECT_CREATED, NotificationConstants.OBJECT_DELETED };
 
    // Attributes ----------------------------------------------------
    private static Logger log = Logger.getLogger(WebModule.class);
@@ -76,26 +74,25 @@
     * @param pURL             URL path to the local deployment of the module (where to find the DD file)
     * @param webContainerName the JBoss web container mbean name
     */
-   public static ObjectName create(MBeanServer mbeanServer,
-                                   String earName,
-                                   String warName,
-                                   URL pURL,
-                                   ObjectName webContainerName)
+   public static ObjectName create(MBeanServer mbeanServer, String earName, String warName, URL pURL, ObjectName webContainerName)
    {
       String webXml = null;
       String jbossWebXml = null;
       ObjectName jsr77ParentName = null;
       ObjectName lCreated = null;
       ObjectName j2eeServerName = J2EEDomain.getDomainServerName(mbeanServer);
+      
+      // Cannot create the module if the J2EEServer MBean is not registered  
+      if (j2eeServerName == null)
+         return null;
+      
       ObjectName jsr77Name = null;
       try
       {
          // Get the J2EEServer name
          Hashtable props = j2eeServerName.getKeyPropertyList();
-         String j2eeServer = props.get(J2EEManagedObject.TYPE) + "=" +
-                 props.get("name");
+         String j2eeServer = props.get(J2EEManagedObject.TYPE) + "=" + props.get("name");
 
-
          if (earName == null)
          {
             // If there is no ear use the J2EEServer as the parent
@@ -104,31 +101,25 @@
          else
          {
             // Query for the J2EEApplication matching earName
-            ObjectName lApplicationQuery = new ObjectName(J2EEDomain.getDomainName() + ":" +
-                    J2EEManagedObject.TYPE + "=" + J2EETypeConstants.J2EEApplication + "," +
-                    "name=" + earName + "," +
-                    j2eeServer + "," +
-                    "*");
+            ObjectName lApplicationQuery = new ObjectName(J2EEDomain.getDomainName() + ":" + J2EEManagedObject.TYPE + "=" + J2EETypeConstants.J2EEApplication + ","
+                  + "name=" + earName + "," + j2eeServer + "," + "*");
             Set lApplications = mbeanServer.queryNames(lApplicationQuery, null);
 
             if (lApplications.isEmpty())
             {
-               lCreated = J2EEApplication.create(mbeanServer,
-                       earName,
-                       null);
+               lCreated = J2EEApplication.create(mbeanServer, earName, null);
                jsr77ParentName = lCreated;
             } // end of if ()
             else if (lApplications.size() == 1)
             {
-               jsr77ParentName = (ObjectName) lApplications.iterator().next();
+               jsr77ParentName = (ObjectName)lApplications.iterator().next();
             } // end of if ()
          }
 
          // Get the J2EE deployement descriptor
          webXml = J2EEDeployedObject.getDeploymentDescriptor(pURL, J2EEDeployedObject.WEB);
          // Get the JBoss Web deployement descriptor
-         jbossWebXml = J2EEDeployedObject.getDeploymentDescriptor(pURL,
-            J2EEDeployedObject.JBOSS_WEB);
+         jbossWebXml = J2EEDeployedObject.getDeploymentDescriptor(pURL, J2EEDeployedObject.JBOSS_WEB);
       }
       catch (Exception e)
       {
@@ -139,11 +130,9 @@
       try
       {
          // Get JVM of the j2eeServer
-         String[] jvms = (String[]) mbeanServer.getAttribute(j2eeServerName,
-                 "javaVMs");
+         String[] jvms = (String[])mbeanServer.getAttribute(j2eeServerName, "javaVMs");
 
-         WebModule webModule = new WebModule(warName, jsr77ParentName, jvms, webXml,
-                 webContainerName, jbossWebXml);
+         WebModule webModule = new WebModule(warName, jsr77ParentName, jvms, webXml, webContainerName, jbossWebXml);
          jsr77Name = webModule.getObjectName();
          mbeanServer.registerMBean(webModule, jsr77Name);
          //remember if we created our parent, if we did we have to kill it on destroy.
@@ -173,7 +162,7 @@
       {
          mbeanServer.unregisterMBean(jsr77Name);
          log.debug("Remove JSR-77 WebModule: " + jsr77Name);
-         ObjectName jsr77ParentName = (ObjectName) fakeJ2EEApps.get(jsr77Name);
+         ObjectName jsr77ParentName = (ObjectName)fakeJ2EEApps.get(jsr77Name);
          if (jsr77ParentName != null)
          {
             log.debug("Remove fake JSR-77 parent Application: " + jsr77ParentName);
@@ -198,10 +187,8 @@
     * @param webContainerName the JBoss web container service name for the war
     * @param jbossWebDD       the jboss-web.xml descriptor text
     */
-   public WebModule(String warName, ObjectName j2eeAppName, String[] jvms,
-                    String webDD, ObjectName webContainerName, String jbossWebDD)
-           throws MalformedObjectNameException,
-           InvalidParentException
+   public WebModule(String warName, ObjectName j2eeAppName, String[] jvms, String webDD, ObjectName webContainerName, String jbossWebDD)
+         throws MalformedObjectNameException, InvalidParentException
    {
       super(J2EETypeConstants.WebModule, warName, j2eeAppName, jvms, webDD);
       this.jbossWebDD = (jbossWebDD == null ? "" : jbossWebDD);
@@ -228,7 +215,7 @@
    {
       if (pIndex >= 0 && pIndex < servletNames.size())
       {
-         return (String) servletNames.get(pIndex);
+         return (String)servletNames.get(pIndex);
       }
       else
       {
@@ -249,8 +236,7 @@
    public void addChild(ObjectName pChild)
    {
       String lType = J2EEManagedObject.getType(pChild);
-      if (J2EETypeConstants.Servlet.equals(lType)
-      )
+      if (J2EETypeConstants.Servlet.equals(lType))
       {
          servletNames.add(pChild.getCanonicalName());
       }
@@ -296,10 +282,7 @@
 
    public String toString()
    {
-      return "WebModule[ " + super.toString() +
-              ", Servlets: " + servletNames +
-              ", JBoss-Web-DD: " + jbossWebDD +
-              " ]";
+      return "WebModule[ " + super.toString() + ", Servlets: " + servletNames + ", JBoss-Web-DD: " + jbossWebDD + " ]";
    }
 
    // Package protected ---------------------------------------------
@@ -314,8 +297,8 @@
    {
       Hashtable parentKeys = new Hashtable();
       Hashtable parentProps = jsr77ParentName.getKeyPropertyList();
-      String parentName = (String) parentProps.get("name");
-      String j2eeType = (String) parentProps.get(J2EEManagedObject.TYPE);
+      String parentName = (String)parentProps.get("name");
+      String j2eeType = (String)parentProps.get(J2EEManagedObject.TYPE);
 
       // Check if parent is a J2EEServer or J2EEApplication
       if (j2eeType.equals(J2EETypeConstants.J2EEApplication) == false)
@@ -328,7 +311,7 @@
       {
          // J2EEApplication
          parentKeys.put(J2EETypeConstants.J2EEApplication, parentName);
-         String j2eeServerName = (String) parentProps.get(J2EETypeConstants.J2EEServer);
+         String j2eeServerName = (String)parentProps.get(J2EETypeConstants.J2EEServer);
          parentKeys.put(J2EETypeConstants.J2EEServer, j2eeServerName);
       }
 
@@ -340,4 +323,3 @@
    // Inner classes -------------------------------------------------
 
 }
-

Modified: branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/deployers/AbstractJSR77Deployer.java
===================================================================
--- branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/deployers/AbstractJSR77Deployer.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/deployers/AbstractJSR77Deployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -34,6 +34,8 @@
 /**
  * Abstract jsr77 deployer.
  *
+ * [TODO] Add meaningful javadoc. What is this supposed to do?
+ * 
  * @param <T> exact input type
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */

Modified: branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/deployers/AbstractVFSJSR77Deployer.java
===================================================================
--- branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/deployers/AbstractVFSJSR77Deployer.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/deployers/AbstractVFSJSR77Deployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -29,6 +29,8 @@
 /**
  * Abstract vfs jsr77 deployer.
  *
+ * [TODO] Add meaningful javadoc. What is this supposed to do?
+ * 
  * @param <T> exact input type
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */

Modified: branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/deployers/ServiceModuleJSR77Deployer.java
===================================================================
--- branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/deployers/ServiceModuleJSR77Deployer.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/deployers/ServiceModuleJSR77Deployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -35,6 +35,8 @@
 /**
  * Service module jsr77 deployer.
  * 
+ * [TODO] Add meaningful javadoc. What is this supposed to do?
+ * 
  * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
  */
 public class ServiceModuleJSR77Deployer extends AbstractVFSJSR77Deployer<ServiceDeployment>
@@ -50,17 +52,17 @@
       if (sarName != null)
       {
          log.debug("Created ServiceModule: " + sarName);
-      }
 
-      List<ServiceMetaData> beans = metaData.getServices();
-      if (beans != null && beans.isEmpty() == false)
-      {
-         for (ServiceMetaData bean : beans)
+         List<ServiceMetaData> beans = metaData.getServices();
+         if (beans != null && beans.isEmpty() == false)
          {
-            ObjectName mbeanName = bean.getObjectName();
-            // Create JSR-77 MBean
-            MBean.create(server, sarName.toString(), mbeanName);
-            log.debug("Create MBean, name: " + mbeanName + ", SAR Module: " + sarName);
+            for (ServiceMetaData bean : beans)
+            {
+               ObjectName mbeanName = bean.getObjectName();
+               // Create JSR-77 MBean
+               MBean.create(server, sarName.toString(), mbeanName);
+               log.debug("Create MBean, name: " + mbeanName + ", SAR Module: " + sarName);
+            }
          }
       }
    }
@@ -71,7 +73,7 @@
       if (beans != null && beans.isEmpty() == false)
       {
          ListIterator<ServiceMetaData> iter = beans.listIterator(beans.size());
-         while(iter.hasPrevious())
+         while (iter.hasPrevious())
          {
             ObjectName name = iter.previous().getObjectName();
             try

Modified: branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/deployers/WebModuleJSR77Deployer.java
===================================================================
--- branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/deployers/WebModuleJSR77Deployer.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/management/src/main/java/org/jboss/management/j2ee/deployers/WebModuleJSR77Deployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -48,40 +48,43 @@
       ObjectName webModuleService = extractRootObjectName(server, unit, metaData); // TODO
       String earName = FactoryUtils.findEarParent(unit);
       ObjectName jsr77Name = WebModule.create(server, earName, warName, unit.getRoot().toURL(), webModuleService);
-      putObjectName(unit, WebModule.class.getName(), jsr77Name);
-      Iterable<ObjectName> servlets = extractComponentObjectNames(server, unit, metaData); // TODO
-      for (ObjectName servletName : servlets)
+      if (jsr77Name != null)
       {
-         try
+         putObjectName(unit, WebModule.class.getName(), jsr77Name);
+         Iterable<ObjectName> servlets = extractComponentObjectNames(server, unit, metaData); // TODO
+         for (ObjectName servletName : servlets)
          {
-            createServlet(server, unit, jsr77Name, servletName);
+            try
+            {
+               createServlet(server, unit, jsr77Name, servletName);
+            }
+            catch (Throwable e)
+            {
+               log.debug("Failed to create JSR-77 servlet: " + servletName, e);
+            }
          }
-         catch (Throwable e)
-         {
-            log.debug("Failed to create JSR-77 servlet: " + servletName, e);
-         }
       }
    }
 
    protected void undeployJsr77(MBeanServer server, VFSDeploymentUnit unit, JBossWebMetaData metaData)
    {
       ObjectName jsr77Name = removeObjectName(unit, WebModule.class.getName());
-      log.debug("Destroy module: " + jsr77Name);
-      Iterable<ObjectName> servlets = extractComponentObjectNames(server, unit, metaData); // TODO
-      for (ObjectName servletName : servlets)
+      if (jsr77Name != null)
       {
-         try
+         log.debug("Destroy module: " + jsr77Name);
+         Iterable<ObjectName> servlets = extractComponentObjectNames(server, unit, metaData); // TODO
+         for (ObjectName servletName : servlets)
          {
-            destroyServlet(server, unit, servletName);
+            try
+            {
+               destroyServlet(server, unit, servletName);
+            }
+            catch (Throwable e)
+            {
+               log.debug("Failed to destroy JSR-77 servlet: " + servletName, e);
+            }
          }
-         catch (Throwable e)
-         {
-            log.debug("Failed to destroy JSR-77 servlet: " + servletName, e);
-         }
-      }
 
-      if (jsr77Name != null)
-      {
          WebModule.destroy(server, jsr77Name);
       }
    }

Modified: branches/vfs3-int/messaging/pom.xml
===================================================================
--- branches/vfs3-int/messaging/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/messaging/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -16,7 +16,7 @@
   <description>JBoss Application Server (messaging module)</description>
   
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <resources>
       <resource>
         <directory>src/resources</directory>

Modified: branches/vfs3-int/messaging/src/etc/examples/web-service/build.xml
===================================================================
--- branches/vfs3-int/messaging/src/etc/examples/web-service/build.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/messaging/src/etc/examples/web-service/build.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -43,7 +43,7 @@
       <pathelement location="${jboss.client}/jbossws-client.jar"/>
       <pathelement location="${jboss.client}/log4j.jar"/>
       <pathelement location="${jboss.client}/mail.jar"/>
-      <pathelement location="${jboss.client}/jboss-xml-binding.jar"/>
+      <pathelement location="${jboss.client}/jbossxb.jar"/>
       <pathelement location="${jboss.client}/jboss-jaxws.jar"/>
       <pathelement location="${jboss.client}/jboss-jaxrpc.jar"/>
       <pathelement location="${jboss.client}/jboss-saaj.jar"/>
@@ -66,7 +66,7 @@
       <pathelement location="${jboss.client}/jbossws-client.jar"/>
       <pathelement location="${jboss.client}/log4j.jar"/>
       <pathelement location="${jboss.client}/mail.jar"/>
-      <pathelement location="${jboss.client}/jboss-xml-binding.jar"/>
+      <pathelement location="${jboss.client}/jbossxb.jar"/>
       <pathelement location="${jboss.client}/jboss-jaxws.jar"/>
       <pathelement location="${jboss.client}/jboss-jaxrpc.jar"/>
       <pathelement location="${jboss.client}/jboss-saaj.jar"/>

Modified: branches/vfs3-int/messaging/src/main/java/org/jboss/jms/server/destination/JBossMessagingCreateDestinationFactory.java
===================================================================
--- branches/vfs3-int/messaging/src/main/java/org/jboss/jms/server/destination/JBossMessagingCreateDestinationFactory.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/messaging/src/main/java/org/jboss/jms/server/destination/JBossMessagingCreateDestinationFactory.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -110,7 +110,7 @@
    
    public Object create(DeploymentUnit unit, JBossMessageDrivenBeanMetaData mdb) throws DeploymentException
    {
-      String destinationName = null;
+      String destinationJNDIName = null;
       String destinationType = null;
       
       ActivationConfigMetaData activationConfig = mdb.getActivationConfig();
@@ -119,14 +119,14 @@
          ActivationConfigPropertiesMetaData properties = activationConfig.getActivationConfigProperties();
          if (properties != null)
          {
-            destinationName = getActivationConfigProperty(properties, "destination");
+            destinationJNDIName = getActivationConfigProperty(properties, "destination");
             destinationType = getActivationConfigProperty(properties, "destinationType");
          }
       }
 
       // TODO message-destination-link?
       
-      if (destinationName == null || destinationName.trim().length() == 0)
+      if (destinationJNDIName == null || destinationJNDIName.trim().length() == 0)
       {
          log.warn("Unable to determine destination for " + mdb.getName());
          return null;
@@ -154,6 +154,8 @@
       ServiceMetaData result = new ServiceMetaData();
       result.setConstructor(new ServiceConstructorMetaData());
       ObjectName objectName;
+      // See https://jira.jboss.org/jira/browse/JBPAPP-3026
+      String destinationName = this.createDestinationNameFromJNDIName(destinationJNDIName);
       if (isTopic)
       {
          objectName = ObjectNameFactory.create("jboss.messaging.destination:service=Topic,name=" + destinationName);
@@ -170,7 +172,7 @@
       
       ServiceAttributeMetaData attribute = new ServiceAttributeMetaData();
       attribute.setName("JNDIName");
-      attribute.setValue(new ServiceTextValueMetaData(destinationName));
+      attribute.setValue(new ServiceTextValueMetaData(destinationJNDIName));
       result.addAttribute(attribute);
 
       attribute = new ServiceAttributeMetaData();
@@ -212,4 +214,25 @@
          return null;
       return property.getValue();
    }
+   
+   /**
+    * JBoss Messaging does not allow the use of forward slashes in the destination name (which is used in the 
+    * MBean ObjectName for the destination). However, the destination *jndi* name is allowed to have forward
+    * slashes. So create a proper destination name out of the destination *jndi* name.
+    * See https://jira.jboss.org/jira/browse/JBPAPP-3026 for more details
+    * 
+    * This method, just replaces all the forward slashes with a dot.
+    * 
+    * @param destinationJNDIName The jndi name of the destination
+    * @return Returns the destination name, created out of the destination jndi name.
+    *   Returns null if the <code>destinationJNDIName</code> is null.
+    */
+   private String createDestinationNameFromJNDIName(String destinationJNDIName)
+   {
+      if (destinationJNDIName == null)
+      {
+         return null;
+      }
+      return destinationJNDIName.replace('/', '.');
+   }
 }

Modified: branches/vfs3-int/pom.xml
===================================================================
--- branches/vfs3-int/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -68,7 +68,7 @@
                 </addDefaultImplementationEntries>
               </manifest>
               <manifestEntries>
-                <Implementation-URL>${pom.url}</Implementation-URL>
+                <Implementation-URL>${project.url}</Implementation-URL>
               </manifestEntries>
               <manifestSections>
                 <manifestSection>
@@ -104,7 +104,7 @@
                 </addDefaultImplementationEntries>
               </manifest>
               <manifestEntries>
-                <Implementation-URL>${pom.url}</Implementation-URL>
+                <Implementation-URL>${project.url}</Implementation-URL>
               </manifestEntries>
               <manifestSections>
                 <manifestSection>
@@ -358,11 +358,6 @@
       </dependency>
       <dependency>
         <groupId>org.jboss.jbossas</groupId>
-        <artifactId>jboss-as-jmx-remoting</artifactId>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.jbossas</groupId>
         <artifactId>jboss-as-main</artifactId>
         <version>${project.version}</version>
       </dependency>
@@ -551,6 +546,7 @@
       </releases>
       <snapshots>
         <enabled>true</enabled>
+        <updatePolicy>never</updatePolicy>
       </snapshots>
     </pluginRepository>
   </pluginRepositories>
@@ -574,7 +570,6 @@
         <module>server</module>
         <module>deployment</module>
         <module>jbossas-remoting</module>
-        <module>jmx-remoting</module>
         <module>jbossas-jmx-remoting</module>
         <module>messaging</module>
         <module>cluster</module>

Modified: branches/vfs3-int/profileservice/pom.xml
===================================================================
--- branches/vfs3-int/profileservice/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/profileservice/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -13,7 +13,7 @@
   <url>http://www.jboss.org/jbossas</url>
   <description>JBoss Application Server (profileservice module)</description>
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <resources>
       <resource>
         <directory>src/main/java</directory>

Modified: branches/vfs3-int/profileservice/src/main/java/org/jboss/profileservice/web/DebugServlet.java
===================================================================
--- branches/vfs3-int/profileservice/src/main/java/org/jboss/profileservice/web/DebugServlet.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/profileservice/src/main/java/org/jboss/profileservice/web/DebugServlet.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -23,7 +23,6 @@
 
 import java.io.IOException;
 import java.io.PrintWriter;
-import java.util.Arrays;
 import java.util.Map;
 import java.util.Set;
 
@@ -39,6 +38,7 @@
 import org.jboss.deployers.spi.management.ManagementView;
 import org.jboss.managed.api.ManagedComponent;
 import org.jboss.managed.api.ManagedDeployment;
+import org.jboss.profileservice.spi.ProfileService;
 
 /**
  * @author Scott.Stark at jboss.org
@@ -47,8 +47,11 @@
 public class DebugServlet extends HttpServlet
 {
    private static final long serialVersionUID = 1;
-   @Resource(mappedName="java:ManagementView")
+   @Resource(mappedName = "java:ProfileService")
+   private ProfileService ps;
+
    private ManagementView mgtView;
+   
    enum Operations {
       listDeploymentTree,
       listOperations
@@ -61,15 +64,20 @@
       super.init(config);
       if(mgtView == null)
       {
-         try
+         if(ps == null)
          {
-            InitialContext ctx = new InitialContext();
-            mgtView = (ManagementView) ctx.lookup("java:ManagementView");
+            try
+            {
+               InitialContext ctx = new InitialContext();
+               ps = (ProfileService) ctx.lookup("java:ProfileService");
+            }
+            catch (NamingException e)
+            {
+               throw new ServletException("Failed to lookup java:ProfileService", e);
+            }            
          }
-         catch (NamingException e)
-         {
-            throw new ServletException("Failed to lookup ManagementView", e);
-         }
+         this.mgtView = ps.getViewManager();
+
       }
    }
 


Property changes on: branches/vfs3-int/resteasy-int
___________________________________________________________________
Name: svn:ignore
   + target
*.iml



Property changes on: branches/vfs3-int/resteasy-int/jar
___________________________________________________________________
Name: svn:ignore
   + target
*.iml


Modified: branches/vfs3-int/resteasy-int/jar/pom.xml
===================================================================
--- branches/vfs3-int/resteasy-int/jar/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/resteasy-int/jar/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,144 +1,144 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  
-  <parent>
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <parent>
+        <groupId>org.jboss.jbossas</groupId>
+        <artifactId>jboss-as-parent</artifactId>
+        <version>6.0.0-SNAPSHOT</version>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
     <groupId>org.jboss.jbossas</groupId>
-    <artifactId>jboss-as-parent</artifactId>
-    <version>6.0.0-SNAPSHOT</version>
-  </parent>
-  
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.jboss.jbossas</groupId>
-  <artifactId>jboss-as-resteasy</artifactId>
-  <packaging>jar</packaging>
-  <name>JBoss Application Server Resteasy</name>
-  <url>http://www.jboss.org/jbossas</url>
-  <description>JBoss Application Server (resteasy module)</description>
-  
-  <build>
-    <plugins>
-<plugin>
-  <artifactId>maven-jar-plugin</artifactId>
-  <configuration>
-    <archive>  
-      <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
-    </archive> 
-  </configuration>
-</plugin>  
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>2.0.1</version>
-  <executions>
-    <execution>
-      <id>bundle-manifest</id>
-      <phase>process-classes</phase>
-      <goals>    
-        <goal>manifest</goal>
-      </goals>   
-    </execution>
-  </executions>
-      </plugin>
-    </plugins>
-  </build>
-  
-  <!-- Dependencies -->
-  <dependencies>
-    <dependency>
-      <groupId>org.jboss.resteasy</groupId>
-      <artifactId>resteasy-jaxrs</artifactId>
-      <version>1.2.1.GA</version>
-      <exclusions>
-        <exclusion>
-          <groupId>javax.xml.bind</groupId>
-          <artifactId>jaxb-api</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>javax.xml.stream</groupId>
-          <artifactId>stax-api</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
+    <artifactId>jboss-as-resteasy</artifactId>
+    <packaging>jar</packaging>
+    <name>JBoss Application Server Resteasy</name>
+    <url>http://www.jboss.org/jbossas</url>
+    <description>JBoss Application Server (resteasy module)</description>
 
-    <dependency>
-      <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-server</artifactId>
-      <scope>provided</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>javax.xml.bind</groupId>
-          <artifactId>jaxb-api</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>javax.xml.stream</groupId>
-          <artifactId>stax-api</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <configuration>
+                    <archive>
+                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
+                    </archive>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <version>2.0.1</version>
+                <executions>
+                    <execution>
+                        <id>bundle-manifest</id>
+                        <phase>process-classes</phase>
+                        <goals>
+                            <goal>manifest</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
 
-    <dependency>
-      <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-system</artifactId>
-      <scope>provided</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>javax.xml.bind</groupId>
-          <artifactId>jaxb-api</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>javax.xml.stream</groupId>
-          <artifactId>stax-api</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
+    <!-- Dependencies -->
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.resteasy</groupId>
+            <artifactId>resteasy-jaxrs</artifactId>
+            <version>${version.org.jboss.resteasy}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.xml.bind</groupId>
+                    <artifactId>jaxb-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>javax.xml.stream</groupId>
+                    <artifactId>stax-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
 
-      <!--
-    <dependency>
-      <groupId>org.jboss.jbossas</groupId>
-      <artifactId>jboss-as-system-jmx</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.cl</groupId>
-      <artifactId>jboss-classloading</artifactId>
-        <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-vfs</artifactId>
-        <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss</groupId>
-      <artifactId>jboss-reflect</artifactId>
-        <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
-      <artifactId>jboss-dependency</artifactId>
-        <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jboss.microcontainer</groupId>
-      <artifactId>jboss-kernel</artifactId>
-        <scope>provided</scope>
-    </dependency>
-      <dependency>
-        <groupId>org.jboss.metadata</groupId>
-        <artifactId>jboss-metadata-common</artifactId>
-        <scope>provided</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.jboss.deployers</groupId>
-        <artifactId>jboss-deployers-vfs</artifactId>
+        <dependency>
+            <groupId>org.jboss.jbossas</groupId>
+            <artifactId>jboss-as-server</artifactId>
+            <scope>provided</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.xml.bind</groupId>
+                    <artifactId>jaxb-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>javax.xml.stream</groupId>
+                    <artifactId>stax-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.jboss.jbossas</groupId>
+            <artifactId>jboss-as-system</artifactId>
+            <scope>provided</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.xml.bind</groupId>
+                    <artifactId>jaxb-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>javax.xml.stream</groupId>
+                    <artifactId>stax-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <!--
+        <dependency>
+          <groupId>org.jboss.jbossas</groupId>
+          <artifactId>jboss-as-system-jmx</artifactId>
           <scope>provided</scope>
-      </dependency>
-    <dependency>
-      <groupId>org.jboss.security</groupId>
-      <artifactId>jboss-security-spi</artifactId>
-        <scope>provided</scope>
-    </dependency>
-    -->
-  </dependencies>
+        </dependency>
+        <dependency>
+          <groupId>org.jboss.cl</groupId>
+          <artifactId>jboss-classloading</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-vfs</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.jboss</groupId>
+          <artifactId>jboss-reflect</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.jboss.microcontainer</groupId>
+          <artifactId>jboss-dependency</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+          <groupId>org.jboss.microcontainer</groupId>
+          <artifactId>jboss-kernel</artifactId>
+            <scope>provided</scope>
+        </dependency>
+          <dependency>
+            <groupId>org.jboss.metadata</groupId>
+            <artifactId>jboss-metadata-common</artifactId>
+            <scope>provided</scope>
+          </dependency>
+          <dependency>
+            <groupId>org.jboss.deployers</groupId>
+            <artifactId>jboss-deployers-vfs</artifactId>
+              <scope>provided</scope>
+          </dependency>
+        <dependency>
+          <groupId>org.jboss.security</groupId>
+          <artifactId>jboss-security-spi</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        -->
+    </dependencies>
 
 </project>

Copied: branches/vfs3-int/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyDeploymentData.java (from rev 100917, trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyDeploymentData.java)
===================================================================
--- branches/vfs3-int/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyDeploymentData.java	                        (rev 0)
+++ branches/vfs3-int/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyDeploymentData.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,93 @@
+package org.jboss.resteasy.integration.deployers;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+public class ResteasyDeploymentData
+{
+   private boolean scanAll;
+   private boolean scanResources;
+   private boolean scanProviders;
+   private boolean createDispatcher;
+   private Set<String> resources = new LinkedHashSet<String>();
+   private Set<String> providers = new LinkedHashSet<String>();
+
+   public boolean shouldScan()
+   {
+      return scanAll || scanResources || scanProviders;
+   }
+
+   public boolean isScanAll()
+   {
+      return scanAll;
+   }
+
+   public void setScanAll(boolean scanAll)
+   {
+      if (scanAll)
+      {
+         scanResources = true;
+         scanProviders = true;
+      }
+      this.scanAll = scanAll;
+   }
+
+   public boolean isScanResources()
+   {
+      return scanResources;
+   }
+
+   public void setScanResources(boolean scanResources)
+   {
+      this.scanResources = scanResources;
+   }
+
+   public boolean isScanProviders()
+   {
+      return scanProviders;
+   }
+
+   public void setScanProviders(boolean scanProviders)
+   {
+      this.scanProviders = scanProviders;
+   }
+
+   public Set<String> getResources()
+   {
+      return resources;
+   }
+
+   public void setResources(Set<String> resources)
+   {
+      this.resources = resources;
+   }
+
+   public Set<String> getProviders()
+   {
+      return providers;
+   }
+
+   public void setProviders(Set<String> providers)
+   {
+      this.providers = providers;
+   }
+
+   /**
+    * A component layer wants a dispatcher created
+    */
+   public void createDispatcher()
+   {
+      this.createDispatcher = true;
+   }
+
+   public boolean shouldCreateDispatcher()
+   {
+      return createDispatcher || !resources.isEmpty() || !providers.isEmpty();
+   }
+
+
+}

Copied: branches/vfs3-int/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyEjbDeployer.java (from rev 100917, trunk/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyEjbDeployer.java)
===================================================================
--- branches/vfs3-int/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyEjbDeployer.java	                        (rev 0)
+++ branches/vfs3-int/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyEjbDeployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,331 @@
+package org.jboss.resteasy.integration.deployers;
+
+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;
+import org.jboss.ejb.deployers.MergedJBossMetaDataDeployer;
+import org.jboss.ejb3.annotation.LocalBinding;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.javaee.spec.ParamValueMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.resteasy.plugins.server.servlet.ResteasyContextParameters;
+import org.jboss.resteasy.util.GetRestful;
+
+import javax.ejb.EJBException;
+import javax.ejb.Local;
+import javax.ejb.LocalHome;
+import javax.ejb.Remote;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+public class ResteasyEjbDeployer extends AbstractRealDeployer
+{
+   private static final Logger LOGGER = Logger.getLogger(ResteasyEjbDeployer.class);
+
+   public ResteasyEjbDeployer()
+   {
+      super();
+
+      addRequiredInput(JBossWebMetaData.class);
+      addRequiredInput(ResteasyDeploymentData.class);
+      addRequiredInput(MergedJBossMetaDataDeployer.EJB_MERGED_ATTACHMENT_NAME);
+      addOutput(JBossWebMetaData.class);
+      setStage(DeploymentStages.PRE_REAL); // TODO -- right stage?
+   }
+
+   protected void internalDeploy(DeploymentUnit du) throws DeploymentException
+   {
+      ResteasyDeploymentData resteasy = du.getAttachment(ResteasyDeploymentData.class);
+
+      /*
+      log.info("*******************");
+      log.info("*** Attachments ***");
+      log.info("*******************");
+      for (String attachment : du.getAttachments().keySet())
+      {
+         log.info(">>> " + attachment);
+      }
+
+      if (true) return;
+      */
+
+      // right now I only support resources
+      if (!resteasy.isScanResources()) return;
+
+      JBossWebMetaData webdata = du.getAttachment(JBossWebMetaData.class);
+      JBossMetaData ejbs = (JBossMetaData) du
+              .getAttachment(MergedJBossMetaDataDeployer.EJB_MERGED_ATTACHMENT_NAME);
+      ClassLoader loader = du.getClassLoader();
+      StringBuffer buf = null;
+      for (final JBossEnterpriseBeanMetaData ejb : ejbs.getEnterpriseBeans())
+      {
+         Class ejbClass = null;
+         try
+         {
+            ejbClass = loader.loadClass(ejb.getEjbClass());
+         }
+         catch (ClassNotFoundException e)
+         {
+            throw new RuntimeException(e);
+         }
+         if (!GetRestful.isRootResource(ejbClass)) continue;
+         String jndiName = getLocalJndiName(ejb, ejbClass);
+         log.info("Found JAX-RS EJB: " + ejbClass.getName() + " local jndi name: " + jndiName);
+         if (buf == null)
+         {
+            buf = new StringBuffer();
+         }
+         else
+         {
+            buf.append(",");
+         }
+         buf.append(jndiName).append(";").append(ejbClass.getName()).append(";").append("true");
+
+         // make sure its removed from list
+         resteasy.getResources().remove(ejbClass.getName());
+      }
+      if (buf != null)
+      {
+         resteasy.createDispatcher();
+         String paramValue = buf.toString();
+         ParamValueMetaData param = new ParamValueMetaData();
+         param.setParamName(ResteasyContextParameters.RESTEASY_JNDI_COMPONENT_RESOURCES);
+         param.setParamValue(paramValue);
+         List<ParamValueMetaData> params = webdata.getContextParams();
+         if (params == null)
+         {
+            params = new ArrayList<ParamValueMetaData>();
+            webdata.setContextParams(params);
+         }
+         params.add(param);
+         param = new ParamValueMetaData();
+         param.setParamName(ResteasyContextParameters.RESTEASY_UNWRAPPED_EXCEPTIONS);
+         param.setParamValue(EJBException.class.getName());
+         params.add(param);
+      }
+   }
+
+   private static String getLocalJndiName(JBossEnterpriseBeanMetaData ejb, Class<?> ejbClass)
+   {
+      // See if local binding is explicitly-defined
+      LocalBinding localBinding = ejbClass.getAnnotation(LocalBinding.class);
+
+      // If none specified
+      if (localBinding == null || (localBinding.jndiBinding() != null && localBinding.jndiBinding().trim().length() == 0))
+      {
+         String name = ejb.getLocalJndiName();
+         return name;
+      }
+      // Local Binding was explicitly-specified, use it
+      else
+      {
+         return localBinding.jndiBinding();
+      }
+   }
+
+
+   public static Set<Class<?>> getBusinessInterfaces(Class<?> beanClass)
+   {
+      // Obtain all business interfaces implemented by this bean class and its superclasses
+      return getBusinessInterfaces(beanClass, new HashSet<Class<?>>());
+   }
+
+   /**
+    * Resolve the potential business interfaces on an enterprise bean.
+    * Returns all interfaces implemented by this class and, optionally, its supers which
+    * are potentially a business interface.
+    * <p/>
+    * Note: for normal operation call container.getBusinessInterfaces().
+    *
+    * @param beanClass     the EJB implementation class
+    * @param includeSupers Whether or not to include superclasses of the specified beanClass in this check
+    * @return a list of potential business interfaces
+    * @see org.jboss.ejb3.EJBContainer#getBusinessInterfaces()
+    */
+   public static Set<Class<?>> getBusinessInterfaces(Class<?> beanClass, boolean includeSupers)
+   {
+      // Obtain all business interfaces implemented by this bean class and optionally, its superclass
+      return getBusinessInterfaces(beanClass, new HashSet<Class<?>>(), includeSupers);
+   }
+
+   private static Set<Class<?>> getBusinessInterfaces(Class<?> beanClass, Set<Class<?>> interfaces)
+   {
+      return getBusinessInterfaces(beanClass, interfaces, true);
+   }
+
+   private static Set<Class<?>> getBusinessInterfaces(Class<?> beanClass, Set<Class<?>> interfaces,
+                                                      boolean includeSupers)
+   {
+      /*
+       * 4.6.6:
+       * The following interfaces are excluded when determining whether the bean class has
+       * more than one interface: java.io.Serializable; java.io.Externalizable;
+       * any of the interfaces defined by the javax.ejb package.
+       */
+      for (Class<?> intf : beanClass.getInterfaces())
+      {
+         if (intf.equals(java.io.Externalizable.class))
+            continue;
+         if (intf.equals(java.io.Serializable.class))
+            continue;
+         if (intf.getName().startsWith("javax.ejb"))
+            continue;
+
+         // FIXME Other aop frameworks might add other interfaces, this should really be configurable
+         if (intf.getName().startsWith("org.jboss.aop"))
+            continue;
+
+         interfaces.add(intf);
+      }
+
+      // If there's no superclass, or we shouldn't check the superclass, return
+      if (!includeSupers || beanClass.getSuperclass() == null)
+      {
+         return interfaces;
+      }
+      else
+      {
+         // Include any superclasses' interfaces
+         return getBusinessInterfaces(beanClass.getSuperclass(), interfaces);
+      }
+   }
+
+
+   public static Class<?>[] getLocalInterfaces(Class<?> beanClass)
+   {
+      // Initialize
+      Set<Class<?>> localAndBusinessLocalInterfaces = new HashSet<Class<?>>();
+
+      // Obtain @Local
+      Local localAnnotation = beanClass.getAnnotation(Local.class);
+
+      // Obtain @LocalHome
+      LocalHome localHomeAnnotation = beanClass.getAnnotation(LocalHome.class);
+
+      // Obtain @Remote
+      Remote remoteAnnotation = beanClass.getAnnotation(Remote.class);
+
+      // Obtain Remote and Business Remote interfaces
+      //Class<?>[] remoteAndBusinessRemoteInterfaces = ProxyFactoryHelper.getRemoteAndBusinessRemoteInterfaces(container);
+
+      // Obtain all business interfaces from the bean class
+      Set<Class<?>> businessInterfacesImplementedByBeanClass = getBusinessInterfaces(beanClass);
+
+      // Obtain all business interfaces directly implemented by the bean class (not including supers)
+      Set<Class<?>> businessInterfacesDirectlyImplementedByBeanClass = getBusinessInterfaces(
+              beanClass, false);
+
+      // For each of the business interfaces implemented by the bean class
+      for (Class<?> clazz : businessInterfacesImplementedByBeanClass)
+      {
+         // If @Local is on the interface
+         if (clazz.isAnnotationPresent(Local.class))
+         {
+            // Add to the list of locals
+            localAndBusinessLocalInterfaces.add(clazz);
+         }
+      }
+
+      // EJBTHREE-1062
+      // EJB 3 Core Specification 4.6.6
+      // If bean class implements a single interface, that interface is assumed to be the
+      // business interface of the bean. This business interface will be a local interface unless the
+      // interface is designated as a remote business interface by use of the Remote
+      // annotation on the bean class or interface or by means of the deployment descriptor.
+      if (businessInterfacesDirectlyImplementedByBeanClass.size() == 1 && localAndBusinessLocalInterfaces.size() == 0)
+      {
+         // Obtain the implemented interface
+         Class<?> singleInterface = businessInterfacesDirectlyImplementedByBeanClass.iterator().next();
+
+         // If not explicitly marked as @Remote, and is a valid business interface
+         if (remoteAnnotation == null && singleInterface.getAnnotation(Remote.class) == null)
+         {
+            // Return the implemented interface, adding to the container
+            Class<?>[] returnValue = new Class[]
+                    {singleInterface};
+            return returnValue;
+         }
+      }
+
+      // @Local was defined
+      if (localAnnotation != null)
+      {
+         // If @Local has no value or empty value
+         if (localAnnotation.value() == null || localAnnotation.value().length == 0)
+         {
+            // If @Local is defined with no value and there are no business interfaces
+            if (businessInterfacesImplementedByBeanClass.size() == 0)
+            {
+               return new Class<?>[]
+                       {};
+            }
+            // If more than one business interface is directly implemented by the bean class
+            else if (businessInterfacesImplementedByBeanClass.size() > 1)
+            {
+               return new Class<?>[]
+                       {};
+            }
+            // JIRA EJBTHREE-1062
+            // EJB 3 4.6.6
+            // If the bean class implements only one business interface, that
+            //interface is exposed as local business if not denoted as @Remote
+            else
+            {
+               // If not explicitly marked as @Remote
+               if (remoteAnnotation == null)
+               {
+                  // Return the implemented interface and add to container
+                  Class<?>[] returnValue = businessInterfacesImplementedByBeanClass.toArray(new Class<?>[]
+                          {});
+                  return returnValue;
+               }
+            }
+         }
+         // @Local has value
+         else
+         {
+            // For each of the interfaces in @Local.value
+            for (Class<?> clazz : localAnnotation.value())
+            {
+               // Add to the list of locals
+               localAndBusinessLocalInterfaces.add(clazz);
+            }
+
+            // For each of the business interfaces implemented by the bean class
+            for (Class<?> clazz : businessInterfacesImplementedByBeanClass)
+            {
+               // If @Local is on the interface
+               if (clazz.isAnnotationPresent(Local.class))
+               {
+                  // Add to the list of locals
+                  localAndBusinessLocalInterfaces.add(clazz);
+               }
+            }
+         }
+      }
+
+      // If local interfaces have been defined/discovered
+      if (localAndBusinessLocalInterfaces.size() > 0)
+      {
+         // Return local interfaces, first adding to the container
+         Class<?>[] rtn = localAndBusinessLocalInterfaces.toArray(new Class<?>[]
+                 {});
+         return rtn;
+      }
+
+      // No local or business local interfaces discovered
+      return new Class<?>[]
+              {};
+   }
+
+
+}
\ No newline at end of file

Modified: branches/vfs3-int/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyIntegrationDeployer.java
===================================================================
--- branches/vfs3-int/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyIntegrationDeployer.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyIntegrationDeployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -6,13 +6,12 @@
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.logging.Logger;
 import org.jboss.metadata.javaee.spec.ParamValueMetaData;
-import org.jboss.metadata.web.jboss.JBossServletMetaData;
 import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.metadata.web.spec.ServletMappingMetaData;
-import org.jboss.metadata.web.spec.ServletMetaData;
-import org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher;
+import org.jboss.metadata.web.spec.FilterMappingMetaData;
+import org.jboss.metadata.web.spec.FilterMetaData;
+import org.jboss.metadata.web.spec.FiltersMetaData;
+import org.jboss.resteasy.plugins.server.servlet.FilterDispatcher;
 import org.jboss.resteasy.plugins.server.servlet.ResteasyContextParameters;
-import org.jboss.resteasy.spi.ResteasyDeployment;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -30,7 +29,7 @@
       super();
 
       addRequiredInput(JBossWebMetaData.class);
-      addRequiredInput(ResteasyDeployment.class);
+      addRequiredInput(ResteasyDeploymentData.class);
       addOutput(JBossWebMetaData.class);
       setStage(DeploymentStages.PRE_REAL); // TODO -- right stage?
    }
@@ -40,16 +39,16 @@
 
    }
 
-   protected void setInitParam(ServletMetaData servlet, String name, String value)
+   protected void setInitParam(FilterMetaData filter, String name, String value)
    {
       ParamValueMetaData param = new ParamValueMetaData();
       param.setParamName(name);
       param.setParamValue(value);
-      List<ParamValueMetaData> params = servlet.getInitParam();
+      List<ParamValueMetaData> params = filter.getInitParam();
       if (params == null)
       {
          params = new ArrayList<ParamValueMetaData>();
-         servlet.setInitParam(params);
+         filter.setInitParam(params);
       }
       params.add(param);
 
@@ -57,23 +56,18 @@
 
    protected void internalDeploy(DeploymentUnit du) throws DeploymentException
    {
-      if (du.isAttachmentPresent(ResteasyScannerDeployer.JAXRS_APPLICATION_CLASS_DEPLOYMENT))
-      {
-         // do not do this deployer if there is an application class a previous deployer will handle it
-         return;
-      }
-
       JBossWebMetaData webdata = du.getAttachment(JBossWebMetaData.class);
-      ResteasyDeployment resteasy = du.getAttachment(ResteasyDeployment.class);
+      ResteasyDeploymentData resteasy = du.getAttachment(ResteasyDeploymentData.class);
+      if (!resteasy.shouldCreateDispatcher()) return;
 
-      JBossServletMetaData servlet = new JBossServletMetaData();
-      servlet.setServletClass(HttpServletDispatcher.class.getName());
-      servlet.setName("Resteasy");
+      FilterMetaData filter = new FilterMetaData();
+      filter.setFilterClass(FilterDispatcher.class.getName());
+      filter.setName("Resteasy");
 
-      if (!resteasy.getResourceClasses().isEmpty())
+      if (!resteasy.getResources().isEmpty())
       {
          StringBuffer buf = null;
-         for (String resource : resteasy.getResourceClasses())
+         for (String resource : resteasy.getResources())
          {
             if (buf == null)
             {
@@ -84,14 +78,15 @@
             {
                buf.append(",").append(resource);
             }
+            log.info("******** Adding RESOURCE CLASS: " + resource);
          }
          String resources = buf.toString();
-         setInitParam(servlet, ResteasyContextParameters.RESTEASY_RESOURCES, resources);
+         setInitParam(filter, ResteasyContextParameters.RESTEASY_RESOURCES, resources);
       }
-      if (!resteasy.getProviderClasses().isEmpty())
+      if (!resteasy.getProviders().isEmpty())
       {
          StringBuffer buf = null;
-         for (String provider : resteasy.getProviderClasses())
+         for (String provider : resteasy.getProviders())
          {
             if (buf == null)
             {
@@ -103,20 +98,24 @@
                buf.append(",").append(provider);
             }
          }
-         setInitParam(servlet, ResteasyContextParameters.RESTEASY_PROVIDERS, buf.toString());
+         setInitParam(filter, ResteasyContextParameters.RESTEASY_PROVIDERS, buf.toString());
       }
-      ServletMappingMetaData mapping = new ServletMappingMetaData();
-      mapping.setServletName("Resteasy");
+      FilterMappingMetaData mapping = new FilterMappingMetaData();
+      mapping.setFilterName("Resteasy");
       List<String> patterns = new ArrayList<String>();
       patterns.add("/*");
       mapping.setUrlPatterns(patterns);
 
-      webdata.getServlets().add(servlet);
-      List<ServletMappingMetaData> mappings = webdata.getServletMappings();
+      if (webdata.getFilters() == null)
+      {
+         webdata.setFilters(new FiltersMetaData());
+      }
+      webdata.getFilters().add(filter);
+      List<FilterMappingMetaData> mappings = webdata.getFilterMappings();
       if (mappings == null)
       {
-         mappings = new ArrayList<ServletMappingMetaData>();
-         webdata.setServletMappings(mappings);
+         mappings = new ArrayList<FilterMappingMetaData>();
+         webdata.setFilterMappings(mappings);
       }
       mappings.add(mapping);
    }

Modified: branches/vfs3-int/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyScannerDeployer.java
===================================================================
--- branches/vfs3-int/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyScannerDeployer.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/resteasy-int/jar/src/main/java/org/jboss/resteasy/integration/deployers/ResteasyScannerDeployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -9,15 +9,17 @@
 import org.jboss.mcann.Element;
 import org.jboss.metadata.javaee.spec.ParamValueMetaData;
 import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.metadata.web.spec.FilterMetaData;
 import org.jboss.metadata.web.spec.ServletMetaData;
 import org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher;
+import org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrapClasses;
 import org.jboss.resteasy.plugins.server.servlet.ResteasyContextParameters;
-import org.jboss.resteasy.spi.ResteasyDeployment;
 
 import javax.ws.rs.Path;
 import javax.ws.rs.core.Application;
 import javax.ws.rs.ext.Provider;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
@@ -28,18 +30,24 @@
 public class ResteasyScannerDeployer extends AbstractRealDeployer
 {
    private static final Logger LOGGER = Logger.getLogger(ResteasyScannerDeployer.class);
-   public static final String JAXRS_APPLICATION_CLASS_DEPLOYMENT = ResteasyScannerDeployer.class.getName() + "-JAXRS_APPLICATION_CLASS_DEPLOYMENT";
+   public static final Set<String> BOOT_CLASSES = new HashSet<String>();
 
+   static
+   {
+      for (String clazz : ResteasyBootstrapClasses.BOOTSTRAP_CLASSES)
+      {
+         BOOT_CLASSES.add(clazz);
+      }
+   }
+
    public ResteasyScannerDeployer()
    {
       super();
 
       addRequiredInput(JBossWebMetaData.class);
       addInput(AnnotationRepository.class);
-      addInput(ResteasyDeployment.class);
       addOutput(JBossWebMetaData.class);
-      addOutput(JAXRS_APPLICATION_CLASS_DEPLOYMENT);
-      addOutput(ResteasyDeployment.class);
+      addOutput(ResteasyDeploymentData.class);
       setStage(DeploymentStages.PRE_REAL); // TODO -- right stage?
    }
 
@@ -55,9 +63,41 @@
 
    }
 
+   /**
+    * If any servlet/filter classes are declared, then we probably don't want to scan.
+    *
+    * @param du
+    * @param webdata
+    * @return
+    * @throws DeploymentException
+    */
+   protected boolean scannable(DeploymentUnit du, JBossWebMetaData webdata) throws DeploymentException
+   {
+      ClassLoader loader = du.getClassLoader();
+      if (webdata.getServlets() != null)
+      {
+         for (ServletMetaData servlet : webdata.getServlets())
+         {
+            String servletClass = servlet.getServletClass();
+            if (BOOT_CLASSES.contains(servletClass)) return false;
+         }
+      }
+      if (webdata.getFilters() != null)
+      {
+         for (FilterMetaData filter : webdata.getFilters())
+         {
+            if (BOOT_CLASSES.contains(filter.getFilterClass())) return false;
+         }
+      }
+      return true;
+
+   }
+
    protected boolean deployApplicationClass(DeploymentUnit du, JBossWebMetaData webdata) throws DeploymentException
    {
       ClassLoader loader = du.getClassLoader();
+      if (webdata.getServlets() == null) return false;
+
       for (ServletMetaData servlet : webdata.getServlets())
       {
          String servletClass = servlet.getServletClass();
@@ -73,7 +113,6 @@
          }
          if (Application.class.isAssignableFrom(clazz))
          {
-            du.addAttachment(JAXRS_APPLICATION_CLASS_DEPLOYMENT, servletClass);
             servlet.setServletClass(HttpServletDispatcher.class.getName());
             ParamValueMetaData param = new ParamValueMetaData();
             param.setParamName("javax.ws.rs.Application");
@@ -95,34 +134,66 @@
    protected void scan(DeploymentUnit du, JBossWebMetaData webdata)
            throws DeploymentException
    {
-      boolean scanAll = true;
-      boolean scanProviders = true;
-      boolean scanResources = true;
+      ResteasyDeploymentData scanningData = new ResteasyDeploymentData();
 
+      // If there is a resteasy boot class in web.xml, then the default should not be to scan
+      if (scannable(du, webdata) && !webdata.isMetadataComplete())
+      {
+         scanningData.setScanAll(true);
+         scanningData.setScanProviders(true);
+         scanningData.setScanResources(true);
+      }
+
       // check resteasy configuration flags
 
+
       List<ParamValueMetaData> contextParams = webdata.getContextParams();
+      boolean hasResourceParam = false;
+      boolean hasProviderParam = false;
+      boolean hasJndiParam = false;
       if (contextParams != null)
       {
          for (ParamValueMetaData param : contextParams)
          {
             if (param.getParamName().equals(ResteasyContextParameters.RESTEASY_SCAN))
             {
-               scanAll = Boolean.valueOf(param.getParamValue());
+               scanningData.setScanAll(Boolean.valueOf(param.getParamValue()));
             }
             else if (param.getParamName().equals(ResteasyContextParameters.RESTEASY_SCAN_PROVIDERS))
             {
-               scanProviders = Boolean.valueOf(param.getParamValue());
+               scanningData.setScanProviders(Boolean.valueOf(param.getParamValue()));
             }
             else if (param.getParamName().equals(ResteasyContextParameters.RESTEASY_SCAN_RESOURCES))
             {
-               scanResources = Boolean.valueOf(param.getParamValue());
+               scanningData.setScanResources(Boolean.valueOf(param.getParamValue()));
             }
+            else if (param.getParamName().equals(ResteasyContextParameters.RESTEASY_RESOURCES))
+            {
+               hasResourceParam = true;
+            }
+            else if (param.getParamName().equals(ResteasyContextParameters.RESTEASY_PROVIDERS))
+            {
+               hasProviderParam = true;
+            }
+            else if (param.getParamName().equals(ResteasyContextParameters.RESTEASY_JNDI_RESOURCES))
+            {
+               hasJndiParam = true;
+            }
          }
       }
 
-      if (scanAll == false) return;
+      if (!scanningData.shouldScan())
+      {
+         if (hasResourceParam || hasProviderParam || hasJndiParam)
+         {
+            scanningData.createDispatcher();
+            du.addAttachment(ResteasyDeploymentData.class, scanningData);
+         }
+         return;
+      }
 
+      du.addAttachment(ResteasyDeploymentData.class, scanningData);
+
       AnnotationRepository env = du.getAttachment(AnnotationRepository.class);
       if (env == null)
       {
@@ -132,36 +203,31 @@
 
       Set<Element<Path, Class<?>>> resources = null;
       Set<Element<Provider, Class<?>>> providers = null;
-      if (scanResources)
+      if (scanningData.isScanResources())
       {
          resources = env.classIsAnnotatedWith(Path.class);
       }
-      if (scanProviders)
+      if (scanningData.isScanProviders())
       {
          providers = env.classIsAnnotatedWith(Provider.class);
       }
 
       if ((resources == null || resources.isEmpty()) && (providers == null || providers.isEmpty())) return;
 
-      ResteasyDeployment resteasy = du.getAttachment(ResteasyDeployment.class);
-      if (resteasy == null)
-      {
-         resteasy = new ResteasyDeployment();
-         du.addAttachment(ResteasyDeployment.class, resteasy);
-      }
-
       if (resources != null)
       {
          for (Element e : resources)
          {
-            resteasy.getResourceClasses().add(e.getOwnerClassName());
+            if (e.getOwner().isInterface()) continue;
+            scanningData.getResources().add(e.getOwnerClassName());
          }
       }
       if (providers != null)
       {
          for (Element e : providers)
          {
-            resteasy.getProviderClasses().add(e.getOwnerClassName());
+            if (e.getOwner().isInterface()) continue;
+            scanningData.getResources().add(e.getOwnerClassName());
          }
       }
    }

Modified: branches/vfs3-int/resteasy-int/pom.xml
===================================================================
--- branches/vfs3-int/resteasy-int/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/resteasy-int/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -5,7 +5,7 @@
         <artifactId>jboss-as-parent</artifactId>
         <version>6.0.0-SNAPSHOT</version>
     </parent>
-    <name>Resteasy JBoss AS Integration</name>
+    <name>RESTEasy JBoss AS Integration</name>
     <modelVersion>4.0.0</modelVersion>
 
     <groupId>org.jboss.resteasy</groupId>

Modified: branches/vfs3-int/resteasy-int/test/application-war/pom.xml
===================================================================
--- branches/vfs3-int/resteasy-int/test/application-war/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/resteasy-int/test/application-war/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -15,16 +15,10 @@
         <dependency>
             <groupId>org.jboss.resteasy</groupId>
             <artifactId>resteasy-jaxrs</artifactId>
-            <version>1.2.1.GA</version>
+            <version>${version.org.jboss.resteasy}</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>javax.ejb</groupId>
-            <artifactId>ejb-api</artifactId>
-            <version>3.0</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <version>4.1</version>

Copied: branches/vfs3-int/resteasy-int/test/ejb-war (from rev 100917, trunk/resteasy-int/test/ejb-war)

Deleted: branches/vfs3-int/resteasy-int/test/ejb-war/pom.xml
===================================================================
--- trunk/resteasy-int/test/ejb-war/pom.xml	2010-02-12 15:20:11 UTC (rev 100917)
+++ branches/vfs3-int/resteasy-int/test/ejb-war/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,95 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-    <parent>
-        <groupId>org.jboss.jbossas</groupId>
-        <artifactId>jboss-as-parent</artifactId>
-        <version>6.0.0-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <groupId>org.jboss.jbossas.resteasy.test</groupId>
-    <artifactId>ejb-test</artifactId>
-    <packaging>war</packaging>
-    <name>Basic Integration Test</name>
-    <url>http://maven.apache.org</url>
-    <dependencies>
-        <dependency>
-            <groupId>org.jboss.resteasy</groupId>
-            <artifactId>resteasy-jaxrs</artifactId>
-            <version>${version.org.jboss.resteasy}</version>
-            <scope>provided</scope>
-        </dependency>
-      <dependency>
-         <groupId>org.jboss.javaee</groupId>
-         <artifactId>jboss-ejb-api_3.1</artifactId>
-         <scope>provided</scope>
-      </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.1</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-    <build>
-        <finalName>ejb-test</finalName>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>jboss-maven-plugin</artifactId>
-                <version>1.3.1</version>
-                <configuration>
-                    <jbossHome>${jboss.home}</jbossHome>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>jboss-deploy</id>
-                        <phase>pre-integration-test</phase>
-                        <goals>
-                            <goal>deploy</goal>
-                        </goals>
-                        <configuration>
-                            <fileName>${basedir}/target/ejb-test.war</fileName>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>jboss-undeploy</id>
-                        <phase>post-integration-test</phase>
-                        <goals>
-                            <goal>undeploy</goal>
-                        </goals>
-                        <configuration>
-                            <fileName>${basedir}/target/ejb-test.war</fileName>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <configuration>
-                    <skip>true</skip>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>surefire-it</id>
-                        <phase>integration-test</phase>
-                        <goals>
-                            <goal>test</goal>
-                        </goals>
-                        <configuration>
-                            <skip>false</skip>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/pom.xml (from rev 100917, trunk/resteasy-int/test/ejb-war/pom.xml)
===================================================================
--- branches/vfs3-int/resteasy-int/test/ejb-war/pom.xml	                        (rev 0)
+++ branches/vfs3-int/resteasy-int/test/ejb-war/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,95 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <parent>
+        <groupId>org.jboss.jbossas</groupId>
+        <artifactId>jboss-as-parent</artifactId>
+        <version>6.0.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.jboss.jbossas.resteasy.test</groupId>
+    <artifactId>ejb-test</artifactId>
+    <packaging>war</packaging>
+    <name>Basic Integration Test</name>
+    <url>http://maven.apache.org</url>
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.resteasy</groupId>
+            <artifactId>resteasy-jaxrs</artifactId>
+            <version>${version.org.jboss.resteasy}</version>
+            <scope>provided</scope>
+        </dependency>
+      <dependency>
+         <groupId>org.jboss.javaee</groupId>
+         <artifactId>jboss-ejb-api_3.1</artifactId>
+         <scope>provided</scope>
+      </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.1</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    <build>
+        <finalName>ejb-test</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>jboss-maven-plugin</artifactId>
+                <version>1.3.1</version>
+                <configuration>
+                    <jbossHome>${jboss.home}</jbossHome>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>jboss-deploy</id>
+                        <phase>pre-integration-test</phase>
+                        <goals>
+                            <goal>deploy</goal>
+                        </goals>
+                        <configuration>
+                            <fileName>${basedir}/target/ejb-test.war</fileName>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>jboss-undeploy</id>
+                        <phase>post-integration-test</phase>
+                        <goals>
+                            <goal>undeploy</goal>
+                        </goals>
+                        <configuration>
+                            <fileName>${basedir}/target/ejb-test.war</fileName>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>surefire-it</id>
+                        <phase>integration-test</phase>
+                        <goals>
+                            <goal>test</goal>
+                        </goals>
+                        <configuration>
+                            <skip>false</skip>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>1.5</source>
+                    <target>1.5</target>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src (from rev 100917, trunk/resteasy-int/test/ejb-war/src)

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/main (from rev 100917, trunk/resteasy-int/test/ejb-war/src/main)

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java (from rev 100917, trunk/resteasy-int/test/ejb-war/src/main/java)

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org (from rev 100917, trunk/resteasy-int/test/ejb-war/src/main/java/org)

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss (from rev 100917, trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss)

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy (from rev 100917, trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy)

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test (from rev 100917, trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test)

Deleted: branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResource.java
===================================================================
--- trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResource.java	2010-02-12 15:20:11 UTC (rev 100917)
+++ branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResource.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,18 +0,0 @@
-package org.jboss.resteasy.test;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-
-/**
- * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
- * @version $Revision: 1 $
- */
-public interface MyResource
-{
-   @GET
-   @Produces("text/plain")
-   String get();
-
-   public String testException();
-
-}

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResource.java (from rev 100917, trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResource.java)
===================================================================
--- branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResource.java	                        (rev 0)
+++ branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResource.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,18 @@
+package org.jboss.resteasy.test;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Produces;
+
+/**
+ * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+public interface MyResource
+{
+   @GET
+   @Produces("text/plain")
+   String get();
+
+   public String testException();
+
+}

Deleted: branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResourceBean.java
===================================================================
--- trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResourceBean.java	2010-02-12 15:20:11 UTC (rev 100917)
+++ branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResourceBean.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,42 +0,0 @@
-package org.jboss.resteasy.test;
-
-import javax.ws.rs.Path;
-import javax.ws.rs.GET;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ejb.Stateless;
-import javax.ejb.EJBContext;
-import javax.annotation.Resource;
-
-/**
- * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
- * @version $Revision: 1 $
- */
- at Path("/scan")
- at Stateless
-public class MyResourceBean implements MyResource
-{
-   @Resource
-   private EJBContext ctx;
-
-   @GET
-   @Produces("text/plain")
-   public String get()
-   {
-      if (ctx == null)
-      {
-         System.out.println("NO CONTEXT!!!!!");
-         throw new WebApplicationException(500);
-      }
-      System.out.println("CONTEXT WAS THERE!");
-      return "hello world";
-   }
-
-   @GET
-   @Produces("text/plain")
-   @Path("exception")
-   public String testException()
-   {
-      throw new WebApplicationException(412);
-   }
-}

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResourceBean.java (from rev 100917, trunk/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResourceBean.java)
===================================================================
--- branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResourceBean.java	                        (rev 0)
+++ branches/vfs3-int/resteasy-int/test/ejb-war/src/main/java/org/jboss/resteasy/test/MyResourceBean.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,42 @@
+package org.jboss.resteasy.test;
+
+import javax.ws.rs.Path;
+import javax.ws.rs.GET;
+import javax.ws.rs.Produces;
+import javax.ws.rs.WebApplicationException;
+import javax.ejb.Stateless;
+import javax.ejb.EJBContext;
+import javax.annotation.Resource;
+
+/**
+ * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+ at Path("/scan")
+ at Stateless
+public class MyResourceBean implements MyResource
+{
+   @Resource
+   private EJBContext ctx;
+
+   @GET
+   @Produces("text/plain")
+   public String get()
+   {
+      if (ctx == null)
+      {
+         System.out.println("NO CONTEXT!!!!!");
+         throw new WebApplicationException(500);
+      }
+      System.out.println("CONTEXT WAS THERE!");
+      return "hello world";
+   }
+
+   @GET
+   @Produces("text/plain")
+   @Path("exception")
+   public String testException()
+   {
+      throw new WebApplicationException(412);
+   }
+}

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp (from rev 100917, trunk/resteasy-int/test/ejb-war/src/main/webapp)

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF (from rev 100917, trunk/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF)

Deleted: branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF/web.xml	2010-02-12 15:20:11 UTC (rev 100917)
+++ branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF/web.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,4 +0,0 @@
-<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
-</web-app>

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF/web.xml (from rev 100917, trunk/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF/web.xml)
===================================================================
--- branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF/web.xml	                        (rev 0)
+++ branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/WEB-INF/web.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,4 @@
+<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
+</web-app>

Deleted: branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/index.jsp
===================================================================
--- trunk/resteasy-int/test/ejb-war/src/main/webapp/index.jsp	2010-02-12 15:20:11 UTC (rev 100917)
+++ branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/index.jsp	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,5 +0,0 @@
-<html>
-<body>
-<h2>Hello World!</h2>
-</body>
-</html>

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/index.jsp (from rev 100917, trunk/resteasy-int/test/ejb-war/src/main/webapp/index.jsp)
===================================================================
--- branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/index.jsp	                        (rev 0)
+++ branches/vfs3-int/resteasy-int/test/ejb-war/src/main/webapp/index.jsp	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,5 @@
+<html>
+<body>
+<h2>Hello World!</h2>
+</body>
+</html>

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/test (from rev 100917, trunk/resteasy-int/test/ejb-war/src/test)

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java (from rev 100917, trunk/resteasy-int/test/ejb-war/src/test/java)

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org (from rev 100917, trunk/resteasy-int/test/ejb-war/src/test/java/org)

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss (from rev 100917, trunk/resteasy-int/test/ejb-war/src/test/java/org/jboss)

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy (from rev 100917, trunk/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy)

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test (from rev 100917, trunk/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test)

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss (from rev 100917, trunk/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss)

Deleted: branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss/EjbTest.java
===================================================================
--- trunk/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss/EjbTest.java	2010-02-12 15:20:11 UTC (rev 100917)
+++ branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss/EjbTest.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,31 +0,0 @@
-package org.jboss.resteasy.test.jboss;
-
-import org.jboss.resteasy.client.ClientRequest;
-import org.jboss.resteasy.client.ClientResponse;
-import org.junit.Test;
-import org.junit.Assert;
-
-/**
- * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
- * @version $Revision: 1 $
- */
-public class EjbTest
-{
-   @Test
-   public void testIt() throws Exception
-   {
-      ClientRequest request = new ClientRequest("http://localhost:8080/ejb-test/scan");
-      ClientResponse<String> response = request.get(String.class);
-      Assert.assertEquals(200, response.getStatus());
-      Assert.assertEquals("hello world", response.getEntity());
-
-   }
-
-   @Test
-   public void testException() throws Exception
-   {
-      ClientRequest request = new ClientRequest("http://localhost:8080/ejb-test/scan/exception");
-      ClientResponse<String> response = request.get(String.class);
-      Assert.assertEquals(412, response.getStatus());
-
-   }}

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss/EjbTest.java (from rev 100917, trunk/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss/EjbTest.java)
===================================================================
--- branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss/EjbTest.java	                        (rev 0)
+++ branches/vfs3-int/resteasy-int/test/ejb-war/src/test/java/org/jboss/resteasy/test/jboss/EjbTest.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,31 @@
+package org.jboss.resteasy.test.jboss;
+
+import org.jboss.resteasy.client.ClientRequest;
+import org.jboss.resteasy.client.ClientResponse;
+import org.junit.Test;
+import org.junit.Assert;
+
+/**
+ * @author <a href="mailto:bill at burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+public class EjbTest
+{
+   @Test
+   public void testIt() throws Exception
+   {
+      ClientRequest request = new ClientRequest("http://localhost:8080/ejb-test/scan");
+      ClientResponse<String> response = request.get(String.class);
+      Assert.assertEquals(200, response.getStatus());
+      Assert.assertEquals("hello world", response.getEntity());
+
+   }
+
+   @Test
+   public void testException() throws Exception
+   {
+      ClientRequest request = new ClientRequest("http://localhost:8080/ejb-test/scan/exception");
+      ClientResponse<String> response = request.get(String.class);
+      Assert.assertEquals(412, response.getStatus());
+
+   }}

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources (from rev 100917, trunk/resteasy-int/test/ejb-war/src/test/resources)

Deleted: branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources/jndi.properties
===================================================================
--- trunk/resteasy-int/test/ejb-war/src/test/resources/jndi.properties	2010-02-12 15:20:11 UTC (rev 100917)
+++ branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources/jndi.properties	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,3 +0,0 @@
-java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
-java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
-java.naming.provider.url=jnp://localhost:1099
\ No newline at end of file

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources/jndi.properties (from rev 100917, trunk/resteasy-int/test/ejb-war/src/test/resources/jndi.properties)
===================================================================
--- branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources/jndi.properties	                        (rev 0)
+++ branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources/jndi.properties	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,3 @@
+java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
+java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
+java.naming.provider.url=jnp://localhost:1099
\ No newline at end of file

Deleted: branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources/log4j.xml
===================================================================
--- trunk/resteasy-int/test/ejb-war/src/test/resources/log4j.xml	2010-02-12 15:20:11 UTC (rev 100917)
+++ branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources/log4j.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
-
-<!-- ===================================================================== -->
-<!--                                                                       -->
-<!--  Log4j Configuration                                                  -->
-<!--                                                                       -->
-<!-- ===================================================================== -->
-
-<!-- $Id: log4j.xml 64736 2007-08-21 15:49:48Z anil.saldhana at jboss.com $ -->
-
-<!--
-   | For more configuration infromation and examples see the Jakarta Log4j
-   | owebsite: http://jakarta.apache.org/log4j
- -->
-
-<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
-
-   <!-- ================================= -->
-   <!-- Preserve messages in a local file -->
-   <!-- ================================= -->
-
-   <!-- A time/date based rolling appender -->
-   <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
-      <param name="File" value="${build.testlog}/test.log"/>
-      <param name="Append" value="true"/>
-
-      <!-- Rollover at midnight each day -->
-      <param name="DatePattern" value="'.'yyyy-MM-dd"/>
-
-      <!-- Rollover at the top of each hour
-      <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
-      -->
-
-      <layout class="org.apache.log4j.PatternLayout">
-         <!-- The default pattern: Date Priority [Category] Message\n -->
-         <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
-
-         <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
-        <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
-         -->
-      </layout>
-   </appender>
-
-   <!-- ============================== -->
-   <!-- Append messages to the console -->
-   <!-- ============================== -->
-
-   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
-      <param name="Threshold" value="DEBUG"/>
-      <param name="Target" value="System.out"/>
-
-      <layout class="org.apache.log4j.PatternLayout">
-         <!-- The default pattern: Date Priority [Category] Message\n -->
-         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
-      </layout>
-   </appender>
-
-
-   <!-- ======================= -->
-   <!-- Setup the Root category -->
-   <!-- ======================= -->
-
-   <root>
-      <appender-ref ref="CONSOLE"/>
-   </root>
-
-</log4j:configuration>

Copied: branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources/log4j.xml (from rev 100917, trunk/resteasy-int/test/ejb-war/src/test/resources/log4j.xml)
===================================================================
--- branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources/log4j.xml	                        (rev 0)
+++ branches/vfs3-int/resteasy-int/test/ejb-war/src/test/resources/log4j.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Log4j Configuration                                                  -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml 64736 2007-08-21 15:49:48Z anil.saldhana at jboss.com $ -->
+
+<!--
+   | For more configuration infromation and examples see the Jakarta Log4j
+   | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+
+   <!-- A time/date based rolling appender -->
+   <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
+      <param name="File" value="${build.testlog}/test.log"/>
+      <param name="Append" value="true"/>
+
+      <!-- Rollover at midnight each day -->
+      <param name="DatePattern" value="'.'yyyy-MM-dd"/>
+
+      <!-- Rollover at the top of each hour
+      <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
+      -->
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+
+         <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
+        <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
+         -->
+      </layout>
+   </appender>
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+      <param name="Threshold" value="DEBUG"/>
+      <param name="Target" value="System.out"/>
+
+      <layout class="org.apache.log4j.PatternLayout">
+         <!-- The default pattern: Date Priority [Category] Message\n -->
+         <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+      </layout>
+   </appender>
+
+
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root>
+      <appender-ref ref="CONSOLE"/>
+   </root>
+
+</log4j:configuration>

Modified: branches/vfs3-int/resteasy-int/test/pom.xml
===================================================================
--- branches/vfs3-int/resteasy-int/test/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/resteasy-int/test/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -15,5 +15,6 @@
     <modules>
         <module>application-war</module>
         <module>scanned-war</module>
+        <module>ejb-war</module>
     </modules>
 </project>

Modified: branches/vfs3-int/resteasy-int/test/scanned-war/pom.xml
===================================================================
--- branches/vfs3-int/resteasy-int/test/scanned-war/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/resteasy-int/test/scanned-war/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -11,20 +11,6 @@
     <packaging>war</packaging>
     <name>Basic Integration Test</name>
     <url>http://maven.apache.org</url>
-    <dependencies>
-        <dependency>
-            <groupId>org.jboss.resteasy</groupId>
-            <artifactId>resteasy-jaxrs</artifactId>
-            <version>1.2.1.GA</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.1</version>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
     <build>
         <finalName>scanned-test</finalName>
         <plugins>
@@ -87,4 +73,18 @@
             </plugin>
         </plugins>
     </build>
+    <dependencies>
+        <dependency>
+            <groupId>org.jboss.resteasy</groupId>
+            <artifactId>resteasy-jaxrs</artifactId>
+            <version>${version.org.jboss.resteasy}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.1</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
 </project>


Property changes on: branches/vfs3-int/resteasy-int/zip
___________________________________________________________________
Name: svn:ignore
   + target
*.iml


Modified: branches/vfs3-int/resteasy-int/zip/assembly.xml
===================================================================
--- branches/vfs3-int/resteasy-int/zip/assembly.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/resteasy-int/zip/assembly.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -11,6 +11,7 @@
             <directory></directory>
             <includes>
                 <include>resteasy-jboss-beans.xml</include>
+                <include>resteasy-ejb-jboss-beans.xml</include>
             </includes>
             <outputDirectory>resteasy.deployer/META-INF</outputDirectory>
         </fileSet>
@@ -21,6 +22,14 @@
             <useTransitiveFiltering>true</useTransitiveFiltering>
             <includes>
                 <include>org.jboss.jbossas:jboss-as-resteasy</include>
+                <include>org.jboss.resteasy:resteasy-jaxrs</include>
+                <include>org.jboss.resteasy:jaxrs-api</include>
+                <include>org.jboss.resteasy:resteasy-jaxb-provider</include>
+                <include>org.jboss.resteasy:resteasy-jettison-provider</include>
+                <include>org.jboss.resteasy:resteasy-atom-provider</include>
+                <include>org.jboss.resteasy:resteasy-multipart-provider</include>
+                <include>org.jboss.resteasy:resteasy-jackson-provider</include>
+                <include>org.jboss.resteasy:resteasy-yaml-provider</include>
             </includes>
             <outputDirectory>resteasy.deployer</outputDirectory>
         </dependencySet>

Modified: branches/vfs3-int/resteasy-int/zip/pom.xml
===================================================================
--- branches/vfs3-int/resteasy-int/zip/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/resteasy-int/zip/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -42,7 +42,73 @@
 
             </exclusions>
         </dependency>
+        <dependency>
+            <groupId>org.jboss.resteasy</groupId>
+            <artifactId>jaxrs-api</artifactId>
+            <version>${version.org.jboss.resteasy}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.resteasy</groupId>
+            <artifactId>resteasy-atom-provider</artifactId>
+            <version>${version.org.jboss.resteasy}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.xml.bind</groupId>
+                    <artifactId>jaxb-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>javax.xml.stream</groupId>
+                    <artifactId>stax-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.resteasy</groupId>
+            <artifactId>resteasy-guice</artifactId>
+            <version>${version.org.jboss.resteasy}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.resteasy</groupId>
+            <artifactId>resteasy-jaxb-provider</artifactId>
+            <version>${version.org.jboss.resteasy}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.xml.bind</groupId>
+                    <artifactId>jaxb-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>javax.xml.stream</groupId>
+                    <artifactId>stax-api</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.resteasy</groupId>
+            <artifactId>resteasy-jettison-provider</artifactId>
+            <version>${version.org.jboss.resteasy}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.resteasy</groupId>
+            <artifactId>resteasy-jackson-provider</artifactId>
+            <version>${version.org.jboss.resteasy}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.resteasy</groupId>
+            <artifactId>resteasy-multipart-provider</artifactId>
+            <version>${version.org.jboss.resteasy}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.resteasy</groupId>
+            <artifactId>resteasy-spring</artifactId>
+            <version>${version.org.jboss.resteasy}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.jboss.resteasy</groupId>
+            <artifactId>resteasy-yaml-provider</artifactId>
+            <version>${version.org.jboss.resteasy}</version>
+        </dependency>
 
+
     </dependencies>
 
     <build>
@@ -68,7 +134,7 @@
                                 target/assembly/work
                             </workDirectory>
                             <finalName>
-                                resteasy-int-${project.version}
+                                resteasy-int
                             </finalName>
                         </configuration>
                     </execution>

Copied: branches/vfs3-int/resteasy-int/zip/resteasy-ejb-jboss-beans.xml (from rev 100917, trunk/resteasy-int/zip/resteasy-ejb-jboss-beans.xml)
===================================================================
--- branches/vfs3-int/resteasy-int/zip/resteasy-ejb-jboss-beans.xml	                        (rev 0)
+++ branches/vfs3-int/resteasy-int/zip/resteasy-ejb-jboss-beans.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+    <bean name="ResteasyEjbDeployer" class="org.jboss.resteasy.integration.deployers.ResteasyEjbDeployer"/>
+</deployment>
\ No newline at end of file

Modified: branches/vfs3-int/security/pom.xml
===================================================================
--- branches/vfs3-int/security/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/security/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -13,7 +13,7 @@
   <url>http://www.jboss.org/jbossas</url>
   <description>JBoss Application Server (security module)</description>
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <!-- TODO: This resource config is not being copied for some reason.
     <resources>
       <resource>

Modified: branches/vfs3-int/security/src/etc/bin/password_tool.sh
===================================================================
--- branches/vfs3-int/security/src/etc/bin/password_tool.sh	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/security/src/etc/bin/password_tool.sh	2010-02-12 17:13:14 UTC (rev 100922)
@@ -56,7 +56,8 @@
 JBOSSPASS_CLASSPATH="$JBOSSPASS_CLASSPATH:$JAVA_HOME/lib/tools.jar"
 JBOSSPASS_CLASSPATH="$JBOSSPASS_CLASSPATH:$JBOSS_HOME/client/commons-logging.jar"
 JBOSSPASS_CLASSPATH="$JBOSSPASS_CLASSPATH:$JBOSS_HOME/client/jboss-logging-spi.jar"
-JBOSSPASS_CLASSPATH="$JBOSSPASS_CLASSPATH:$JBOSS_HOME/lib/endorsed/xalan.jar"
+JBOSSPASS_CLASSPATH="$JBOSSPASS_CLASSPATH:$JBOSS_HOME/client/serializer.jar"
+JBOSSPASS_CLASSPATH="$JBOSSPASS_CLASSPATH:$JBOSS_HOME/client/xalan.jar"
 
 # Shared jaxb libs
 JBOSSPASS_CLASSPATH="$JBOSSPASS_CLASSPATH:$JBOSS_HOME/client/activation.jar"

Modified: branches/vfs3-int/security/src/main/java/org/jboss/security/plugins/JaasSecurityDomain.java
===================================================================
--- branches/vfs3-int/security/src/main/java/org/jboss/security/plugins/JaasSecurityDomain.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/security/src/main/java/org/jboss/security/plugins/JaasSecurityDomain.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -24,9 +24,11 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.lang.reflect.Constructor;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.security.KeyStore;
+import java.security.Provider;
 import java.util.Arrays;
 
 import javax.crypto.Cipher;
@@ -169,6 +171,10 @@
    private String keyMgrFactoryAlgorithm;
    
    private String trustMgrFactoryAlgorithm;
+   
+   private String keyStoreProviderArgument;
+   
+   private String trustStoreProviderArgument;
 
    /** Specify the SecurityManagement instance */
    private ISecurityManagement securityManagement = new JNDIBasedSecurityManagement();
@@ -704,6 +710,48 @@
    {
       this.trustMgrFactoryAlgorithm = algorithm;
    }
+   
+   /*
+    * (non-Javadoc)
+    * 
+    * @see org.jboss.security.plugins.JaasSecurityDomainMBean#getKeyStoreProviderArgument
+    */
+   @ManagementProperty(use = {ViewUse.CONFIGURATION}, description = "The argument of the KeyStore provider constructor")
+   public String getKeyStoreProviderArgument()
+   {
+      return keyStoreProviderArgument;
+   }
+   
+   /*
+    * (non-Javadoc)
+    * 
+    * @see org.jboss.security.plugins.JaasSecurityDomainMBean#setKeyStoreProviderArgument(java.lang.String)
+    */
+   public void setKeyStoreProviderArgument(String argument)
+   {
+      this.keyStoreProviderArgument = argument;
+   }
+   
+   /*
+    * (non-Javadoc)
+    * 
+    * @see org.jboss.security.plugins.JaasSecurityDomainMBean#getTrustStoreProviderArgument
+    */
+   @ManagementProperty(use = {ViewUse.CONFIGURATION}, description = "The argument of the TrustStore provider constructor")
+   public String getTrustStoreProviderArgument()
+   {
+      return trustStoreProviderArgument;
+   }
+   
+   /*
+    * (non-Javadoc)
+    * 
+    * @see org.jboss.security.plugins.JaasSecurityDomainMBean#setTrustStoreProviderArgument(java.lang.String)
+    */
+   public void setTrustStoreProviderArgument(String argument)
+   {
+      this.trustStoreProviderArgument = argument;
+   }
 
    /*
     * (non-Javadoc)
@@ -796,7 +844,20 @@
       if (keyStorePassword != null)
       {
          if (keyStoreProvider != null)
-            keyStore = KeyStore.getInstance(keyStoreType, keyStoreProvider);
+         {
+            if (keyStoreProviderArgument != null)
+            {
+               ClassLoader loader = Thread.currentThread().getContextClassLoader();
+               Class clazz = loader.loadClass(keyStoreProvider);
+               Class[] ctorSig = {String.class};
+               Constructor ctor = clazz.getConstructor(ctorSig);
+               Object[] ctorArgs = {keyStoreProviderArgument};
+               Provider provider = (Provider) ctor.newInstance(ctorArgs);
+               keyStore = KeyStore.getInstance(keyStoreType, provider);
+            }
+            else
+               keyStore = KeyStore.getInstance(keyStoreType, keyStoreProvider);
+         }
          else
             keyStore = KeyStore.getInstance(keyStoreType);
          InputStream is = null;
@@ -831,7 +892,20 @@
       if (trustStorePassword != null)
       {
          if (trustStoreProvider != null)
-            trustStore = KeyStore.getInstance(trustStoreType, trustStoreProvider);
+         {
+            if (trustStoreProviderArgument != null)
+            {
+               ClassLoader loader = Thread.currentThread().getContextClassLoader();
+               Class clazz = loader.loadClass(trustStoreProvider);
+               Class[] ctorSig = {String.class};
+               Constructor ctor = clazz.getConstructor(ctorSig);
+               Object[] ctorArgs = {trustStoreProviderArgument};
+               Provider provider = (Provider) ctor.newInstance(ctorArgs);
+               trustStore = KeyStore.getInstance(trustStoreType, provider);
+            }
+            else
+               trustStore = KeyStore.getInstance(trustStoreType, trustStoreProvider);
+         }
          else
             trustStore = KeyStore.getInstance(trustStoreType);
          InputStream is = null;

Modified: branches/vfs3-int/security/src/main/java/org/jboss/security/plugins/JaasSecurityDomainMBean.java
===================================================================
--- branches/vfs3-int/security/src/main/java/org/jboss/security/plugins/JaasSecurityDomainMBean.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/security/src/main/java/org/jboss/security/plugins/JaasSecurityDomainMBean.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -203,4 +203,28 @@
     * @param algorithm algorithm of the TrustManagerFactory
     */
    public void setTrustManagerFactoryAlgorithm(String algorithm);
+   
+   /**
+    * Returns the argument for the KeyStore provider constructor
+    * @return argument for the KeyStore provider
+    */
+   public String getKeyStoreProviderArgument();
+
+   /**
+    * Sets the argument for the KeyStore provider constructor
+    * @param argument for the KeyStore provider
+    */
+   public void setKeyStoreProviderArgument(String argument);
+
+   /**
+    * Returns the argument for the TrustStore provider constructor
+    * @return argument for the TrustStore provider
+    */
+   public String getTrustStoreProviderArgument();
+
+   /**
+    * Sets the argument for the TrustStore provider constructor
+    * @param argument for the TrustStore provider
+    */
+   public void setTrustStoreProviderArgument(String argument);
 }

Modified: branches/vfs3-int/server/.classpath
===================================================================
--- branches/vfs3-int/server/.classpath	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/.classpath	2010-02-12 17:13:14 UTC (rev 100922)
@@ -2,7 +2,7 @@
 <classpath>
 	<classpathentry kind="src" output="target/classes" path="src/main/java"/>
 	<classpathentry kind="src" path="target/generated-sources/javacc"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>

Modified: branches/vfs3-int/server/pom.xml
===================================================================
--- branches/vfs3-int/server/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -14,7 +14,7 @@
   <description>JBoss Application Server (server module)</description>
   
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <plugins>
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
@@ -267,8 +267,8 @@
     </dependency>
 
     <dependency>
-      <groupId>org.hibernate.java-persistence</groupId>
-      <artifactId>jpa-api</artifactId>
+      <groupId>org.hibernate.javax.persistence</groupId>
+      <artifactId>hibernate-jpa-2.0-api</artifactId>
     </dependency>
     
     <dependency>
@@ -380,11 +380,6 @@
     </dependency>
     
     <dependency>
-      <groupId>org.hibernate.java-persistence</groupId>
-      <artifactId>jpa-api</artifactId>
-    </dependency>
-
-    <dependency>
       <groupId>org.jboss.javaee</groupId>
       <artifactId>jboss-jms-api</artifactId>
     </dependency>

Modified: branches/vfs3-int/server/src/etc/conf/all/bootstrap/classloader.xml
===================================================================
--- branches/vfs3-int/server/src/etc/conf/all/bootstrap/classloader.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/etc/conf/all/bootstrap/classloader.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -15,6 +15,22 @@
       <constructor factoryClass="org.jboss.classloader.spi.ClassLoaderSystem" factoryMethod="getInstance"/>
    </bean>
 
+   <!--
+      The default classloading domain
+   -->
+   <bean name="ClassLoaderDomain" class="org.jboss.classloader.spi.ClassLoaderDomain">
+      <classloader><null/></classloader>
+      <constructor factoryMethod="getDefaultDomain">
+         <factory bean="ClassLoaderSystem"/>
+      </constructor>
+
+      <!-- Whether to use loadClass directly for the parent classloader.
+           Set to false to first check whether the parent classloader has the class as a resource
+           before locking the classloader to avoid contention (experimental).
+      -->
+      <property name="useLoadClassForParent">true</property>
+   </bean>
+
    <!-- 
       ClassLoader management and resolution
    -->

Modified: branches/vfs3-int/server/src/etc/conf/all/bootstrap/deployers.xml
===================================================================
--- branches/vfs3-int/server/src/etc/conf/all/bootstrap/deployers.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/etc/conf/all/bootstrap/deployers.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -167,9 +167,6 @@
       <property name="suffix">-aop.xml</property>
    </bean>
    <bean name="AOPAnnotationMetaDataParserDeployer" class="org.jboss.aop.asintegration.jboss5.AOPAnnotationMetaDataParserDeployer">
-      <constructor>
-         <parameter><inject bean="AOPXMLMetaDataParserDeployer" property="relativeOrder"/></parameter>
-      </constructor>
    </bean>
    <bean name="AOPClassLoaderDeployer" class="org.jboss.aop.asintegration.jboss5.AOPClassLoaderDeployer">
       <property name="aspectManager"><inject bean="AspectManager" property="aspectManager"/></property>

Modified: branches/vfs3-int/server/src/etc/conf/all/bootstrap/profile.xml
===================================================================
--- branches/vfs3-int/server/src/etc/conf/all/bootstrap/profile.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/etc/conf/all/bootstrap/profile.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -92,7 +92,7 @@
   </bean>
 
   <!-- We just visit wars, but exclude classes, lib, dev dirs -->
-  <bean name="WebVisitorAttributes" class="org.jboss.system.server.profile.basic.IncludeExcludeVisitorAttributes">
+  <bean name="WebVisitorAttributes" class="org.jboss.virtual.plugins.vfs.helpers.IncludeExcludeVisitorAttributes">
     <constructor>
       <parameter>
         <set>

Copied: branches/vfs3-int/server/src/etc/conf/all/bootstrap/stdio.xml (from rev 100917, trunk/server/src/etc/conf/all/bootstrap/stdio.xml)
===================================================================
--- branches/vfs3-int/server/src/etc/conf/all/bootstrap/stdio.xml	                        (rev 0)
+++ branches/vfs3-int/server/src/etc/conf/all/bootstrap/stdio.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+  ~ JBoss, Home of Professional Open Source.
+  ~ Copyright 2010, 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.
+  -->
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <classloader><inject bean="stdio-classloader:0.0.0"/></classloader>
+
+   <classloader name="stdio-classloader" xmlns="urn:jboss:classloader:1.0" export-all="NON_EMPTY" import-all="true">
+      <root>${jboss.lib.url}jboss-stdio.jar</root>
+   </classloader>
+
+   <!--
+     ~ These three beans define the Input/OutputStreams required for handling stdio
+     -->
+   <bean name="JBossStdioSystemOutStream" class="org.jboss.stdio.LoggingOutputStream">
+      <constructor>
+         <parameter class="java.lang.String">STDOUT</parameter>
+         <parameter class="java.lang.String">INFO</parameter>
+      </constructor>
+   </bean>
+
+   <bean name="JBossStdioSystemErrStream" class="org.jboss.stdio.LoggingOutputStream">
+      <constructor>
+         <parameter class="java.lang.String">STDERR</parameter>
+         <parameter class="java.lang.String">ERROR</parameter>
+      </constructor>
+   </bean>
+
+   <bean name="JBossStdioSystemInStream" class="org.jboss.stdio.NullInputStream">
+      <constructor factoryMethod="getInstance"/>
+   </bean>
+
+   <!--
+     ~ These three beans install the above streams into the system stdio fields.
+     -->
+   <bean name="JBossStdioContext" class="org.jboss.stdio.StdioContext">
+      <constructor factoryMethod="create">
+         <parameter><inject bean="JBossStdioSystemInStream"/></parameter>
+         <parameter class="java.io.OutputStream"><inject bean="JBossStdioSystemOutStream"/></parameter>
+         <parameter><inject bean="JBossStdioSystemErrStream"/></parameter>
+      </constructor>
+   </bean>
+
+   <bean name="JBossStdioService" class="org.jboss.stdio.StdioService">
+      <depends>JBossStdioContext</depends>
+   </bean>
+
+   <bean name="JBossStdioContextSelector" class="org.jboss.stdio.SimpleStdioContextSelector">
+      <constructor>
+         <parameter><inject bean="JBossStdioContext"/></parameter>
+      </constructor>
+      <start method="install"/>
+   </bean>
+</deployment>
\ No newline at end of file

Modified: branches/vfs3-int/server/src/etc/conf/all/bootstrap.xml
===================================================================
--- branches/vfs3-int/server/src/etc/conf/all/bootstrap.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/etc/conf/all/bootstrap.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -7,6 +7,7 @@
 
    <url>bootstrap/vfs.xml</url>
    <url>bootstrap/classloader.xml</url>
+   <url>bootstrap/stdio.xml</url>
    <url>bootstrap/kernel.xml</url>
    <url>bootstrap/aop.xml</url>
    <url>bootstrap/jmx.xml</url>

Modified: branches/vfs3-int/server/src/etc/conf/all/jboss-service.xml
===================================================================
--- branches/vfs3-int/server/src/etc/conf/all/jboss-service.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/etc/conf/all/jboss-service.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -16,4 +16,18 @@
    <classpath codebase="${jboss.server.lib.url}" archives="*"/>
    <classpath codebase="${jboss.common.lib.url}" archives="*"/>
 
+   <!-- 
+        JBAS-JBAS-7274. Temporary workaround to set java.rmi.server.codebase
+        early in the startup process. Will be removed before AS 6.0.0.CR1
+   -->
+   <mbean code="org.jboss.web.RMICodebaseConfigurer"
+      name="jboss:service=RMICodebaseConfigurer">
+      
+      <attribute name="CodebaseHost">${java.rmi.server.hostname}</attribute>      
+      <attribute name="CodebasePort">
+         <!-- Get the port to use from ServiceBindingManager. -->
+         <value-factory bean="ServiceBindingManager" method="getIntBinding" parameter="jboss:service=WebService"/>
+      </attribute>
+   </mbean>
+
 </server>

Modified: branches/vfs3-int/server/src/etc/conf/default/bootstrap/profile.xml
===================================================================
--- branches/vfs3-int/server/src/etc/conf/default/bootstrap/profile.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/etc/conf/default/bootstrap/profile.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -84,7 +84,7 @@
   </bean>
 
   <!-- We just visit wars, but exclude classes, lib, dev dirs -->
-  <bean name="WebVisitorAttributes" class="org.jboss.system.server.profile.basic.IncludeExcludeVisitorAttributes">
+  <bean name="WebVisitorAttributes" class="org.jboss.virtual.plugins.vfs.helpers.IncludeExcludeVisitorAttributes">
     <constructor>
       <parameter>
         <set>

Modified: branches/vfs3-int/server/src/etc/conf/minimal/bootstrap.xml
===================================================================
--- branches/vfs3-int/server/src/etc/conf/minimal/bootstrap.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/etc/conf/minimal/bootstrap.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -6,6 +6,7 @@
 <bootstrap xmlns="urn:jboss:bootstrap:1.0">
 
    <url>bootstrap/classloader.xml</url>
+   <url>bootstrap/stdio.xml</url>
    <url>bootstrap/aop.xml</url>
    <url>bootstrap/jmx.xml</url>
    <url>bootstrap/deployers.xml</url>

Modified: branches/vfs3-int/server/src/etc/conf/standard/jboss-service.xml
===================================================================
--- branches/vfs3-int/server/src/etc/conf/standard/jboss-service.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/etc/conf/standard/jboss-service.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -14,6 +14,20 @@
    -->
    <classpath codebase="${jboss.server.lib.url}" archives="*"/>
    <classpath codebase="${jboss.common.lib.url}" archives="*"/>
+
+   <!-- 
+        JBAS-JBAS-7274. Temporary workaround to set java.rmi.server.codebase
+        early in the startup process. Will be removed before AS 6.0.0.CR1
+   -->
+   <mbean code="org.jboss.web.RMICodebaseConfigurer"
+      name="jboss:service=RMICodebaseConfigurer">
+      
+      <attribute name="CodebaseHost">${java.rmi.server.hostname}</attribute>      
+      <attribute name="CodebasePort">
+         <!-- Get the port to use from ServiceBindingManager. -->
+         <value-factory bean="ServiceBindingManager" method="getIntBinding" parameter="jboss:service=WebService"/>
+      </attribute>
+   </mbean>
    
 
 </server>

Copied: branches/vfs3-int/server/src/etc/deploy/admin-console-activator-jboss-beans.xml (from rev 100917, trunk/server/src/etc/deploy/admin-console-activator-jboss-beans.xml)
===================================================================
--- branches/vfs3-int/server/src/etc/deploy/admin-console-activator-jboss-beans.xml	                        (rev 0)
+++ branches/vfs3-int/server/src/etc/deploy/admin-console-activator-jboss-beans.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+    <bean name="AdminConsoleActivator" class="org.jboss.web.tomcat.service.ondemand.OnDemandContextProfileManager">
+      
+      <property name="profileService"><inject bean="ProfileService"/></property>
+      <property name="profileFactory"><inject bean="ProfileFactory"/></property>
+      <property name="onDemandContextIntegrator"><inject bean="WebServer" property="onDemandContextIntegrator"/></property>
+
+      <property name="contextName">admin-console</property>
+
+      <!-- Build a profile from the contents of this single URI -->
+      <property name="singleURI">${jboss.common.base.url}deploy${/}admin-console.war</property>
+      
+      <!-- 
+        Whether activation of the profile (i.e. deployment of the URI contents)
+        should be deferred until the first request (true) or done as part of
+        the start of this bean (false).
+        
+        WARNING: This configuration option may be altered in a subsequent AS 6.0
+        milestone release.
+        
+        FIXME: https://jira.jboss.org/jira/browse/JBAS-7714        
+        -->
+      <property name="activateOnDemand">${jboss.as.deployment.ondemand:true}</property>
+
+   </bean>
+    
+</deployment>

Modified: branches/vfs3-int/server/src/etc/deploy/jboss-logging.xml
===================================================================
--- branches/vfs3-int/server/src/etc/deploy/jboss-logging.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/etc/deploy/jboss-logging.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,665 +1,677 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ===================================================================== -->
+<!--                                                                       -->
+<!--  Logging System Configuration                                         -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+
+<logging xmlns="urn:jboss:logging:6.0" xmlns:b="urn:jboss:bean-deployer:2.0">
+
+   <!-- ================================= -->
+   <!-- Preserve messages in a local file -->
+   <!-- ================================= -->
+
+   <!-- A time/date based rolling handler -->
+
+   <periodic-rotating-file-handler
+         file-name="${jboss.server.log.dir}/server.log"
+         name="FILE"
+         autoflush="true"
+         append="true"
+         suffix=".yyyy-MM-dd">  <!-- To roll over at the top of each hour, use ".yyyy-MM-dd-HH" instead -->
+
+      <error-manager>
+         <only-once/>
+      </error-manager>
+
+      <formatter>
+         <!-- Uncomment this to get the class name in the log as well as the category
+         <pattern-formatter pattern="%d %-5p [%c] %C{1} (%t) %m%n"/>
+         -->
+         <!-- Uncomment this to log without the class name in the log -->
+         <pattern-formatter pattern="%d %-5p [%c] (%t) %m%n"/>
+      </formatter>
+   </periodic-rotating-file-handler>
+
+   <!-- A size based file rolling appender
+
+   <size-rotating-file-handler
+         file-name="${jboss.server.log.dir}/server.log"
+         name="FILE"
+         autoflush="true"
+         append="true"
+         rotate-size="500k"
+         max-backup-index="5">
+
+      <error-manager>
+         <only-once/>
+      </error-manager>
+
+      <formatter>
+         <pattern-formatter pattern="%d %-5p [%c] (%t) %m%n"/>
+      </formatter>
+   </size-rotating-file-handler>
+   -->
+
+   <!-- ============================== -->
+   <!-- Append messages to the console -->
+   <!-- ============================== -->
+
+   <console-handler name="CONSOLE" autoflush="true" target="System.out">
+      <error-manager>
+         <only-once/>
+      </error-manager>
+
+      <level name="INFO"/>
+
+      <formatter>
+         <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] %m%n"/>
+      </formatter>
+   </console-handler>
+
+   <!-- ====================== -->
+   <!-- More Appender examples -->
+   <!-- ====================== -->
+
+   <!-- Buffer events and log them asynchronously
+
+   <async-handler name="ASYNC">
+      <error-manager>
+         <only-once/>
+      </error-manager>
+
+      <sub-handlers>
+         <handler-ref name="FILE"/>
+         <handler-ref name="CONSOLE"/>
+         <handler-ref name="SMTP"/>
+      </sub-handlers>
+   </async-handler>
+   -->
+
+   <!-- EMail events to an administrator
+
+   <log4j-appender name="SMTP" class="org.apache.log4j.net.SMTPAppender">
+      <error-manager>
+         <only-once/>
+      </error-manager>
+
+      <level name="ERROR"/>
+
+      <properties>
+         <property name="to">admin at myhost.domain.com</property>
+         <property name="from">nobody at myhost.domain.com</property>
+         <property name="subject">JBoss Sever Errors</property>
+         <property name="sMTPHost">localhost</property>
+         <property name="bufferSize">10</property>
+      </properties>
+
+      <formatter>
+         <pattern-formatter pattern="%d %-5p [%c] (%t) %m%n"/>
+      </formatter>
+   </log4j-appender>
+   -->
+
+   <!-- Syslog events
+
+   <log4j-appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
+      <error-manager>
+         <only-once/>
+      </error-manager>
+
+      <properties>
+         <property name="facility">LOCAL7</property>
+         <property name="facilityPrinting">true</property>
+         <property name="syslogHost">localhost</property>
+      </properties>
+
+      <formatter>
+         <pattern-formatter pattern="[%d,%c{1}] %m%n"/>
+      </formatter>
+   </log4j-appender>
+   -->
+
+   <!-- Log events to JMS (requires a topic to be created)
+
+   <log4j-appender name="JMS" class="org.apache.log4j.net.JMSAppender">
+      <error-manager>
+         <only-once/>
+      </error-manager>
+
+      <level name="ERROR"/>
+
+      <properties>
+         <property name="topicConnectionFactoryBindingName">
+            --><!-- Use injection so that an implicit dependency is formed - TODO: get the correct property name --><!--
+            <b:inject bean="myTopicBiding" property="name"/>
+         </property>
+         <property name="topicBindingName">topic/MyErrorsTopic</property>
+      </properties>
+   </log4j-appender>
+   -->
+
+   <!-- Log events through SNMP
+
+   <log4j-appender name="TRAP_LOG" class="org.apache.log4j.ext.SNMPTrapAppender">
+      <error-manager>
+         <only-once/>
+      </error-manager>
+
+      <level name="DEBUG"/>
+
+      <properties>
+         <property name="implementationClassName">org.apache.log4j.ext.JoeSNMPTrapSender</property>
+         <property name="managementHost">127.0.0.1</property>
+         <property name="managementHostTrapListenPort">162</property>
+         <property name="enterpriseOID">1.3.6.1.4.1.24.0</property>
+         <property name="localIPAddress">127.0.0.1</property>
+         <property name="localTrapSendPort">161</property>
+         <property name="genericTrapType">6</property>
+         <property name="specificTrapType">12345678</property>
+         <property name="communityString">public</property>
+         <property name="forwardStackTraceWithTrap">true</property>
+         <property name="applicationTrapOID">1.3.6.1.4.1.24.12.10.22.64</property>
+      </properties>
+      <formatter>
+         <pattern-formatter pattern="%d,%p,[%t],[%c],%m%n"/>
+      </formatter>
+   </log4j-appender>
+   -->
+
+   <!-- Emit events as JMX notifications
+
+   <log4j-appender name="JMX" class="org.jboss.monitor.services.JMXNotificationAppender">
+      <error-manager>
+         <only-once/>
+      </error-manager>
+
+      <level name="WARN"/>
+
+      <properties>
+         <property name="objectName">jboss.system:service=Logging,type=JMXNotificationAppender</property>
+      </properties>
+
+      <formatter>
+         <pattern-formatter pattern="%d %-5p [%c] %m"/>
+      </formatter>
+   </log4j-appender>
+   -->
+
+   <!-- Security AUDIT Appender
+
+   <periodic-rotating-file-handler
+         name="AUDIT"
+         autoflush="true"
+         file-name="${jboss.server.log.dir}/audit.log"
+         suffix=".yyyy-MM-dd"
+         append="true">
+
+      <error-manager>
+         <only-once/>
+      </error-manager>
+
+      <formatter>
+         <pattern-formatter pattern="%d %-5p [%c] (%t:%x) %m%n"/>
+      </formatter>
+   </periodic-rotating-file-handler>
+   -->
+
+   <!-- =============================================== -->
+   <!-- Limit categories                                -->
+   <!-- if enabling "trace" at root logger level,       -->
+   <!-- use limit category settings to disable trace    -->
+   <!-- for packages that you don't want to trace       -->
+   <!-- =============================================== -->
+
+   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
+   <logger category="org.apache">
+      <level name="INFO"/>
+   </logger>
+
+   <!-- Limit the jacorb category to WARN as its INFO is verbose -->
+   <logger category="jacorb">
+      <level name="WARN"/>
+   </logger>
+
+   <!-- Limit JSF to INFO as its FINE is verbose -->
+   <logger category="javax.enterprise.resource.webcontainer.jsf">
+      <level name="INFO"/>
+   </logger>
+
+   <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
+   <logger category="org.jgroups">
+      <level name="WARN"/>
+   </logger>
+
+   <!-- Limit the org.quartz category to INFO as its DEBUG is verbose -->
+   <logger category="org.quartz">
+      <level name="INFO"/>
+   </logger>
+
+   <!-- Limit the com.sun category to INFO as its FINE is verbose -->
+   <logger category="com.sun">
+      <level name="INFO"/>
+   </logger>
+
+   <!-- Limit the sun category to INFO as its FINE is verbose -->
+   <logger category="sun">
+      <level name="INFO"/>
+   </logger>
+
+   <!-- Limit the javax.xml.bind category to INFO as its FINE is verbose -->
+   <logger category="javax.xml.bind">
+      <level name="INFO"/>
+   </logger>
+
+   <!-- Limit the springframework category to WARN-->
+   <logger category="org.springframework">
+      <level name="WARN"/>
+   </logger>
+
+   <!-- Limit JBoss categories
+   <logger category="org.jboss">
+      <level name="INFO"/>
+   </logger>
+   -->
+
+   <!-- Or limit individual JBoss categories
+   <logger category="org.jboss.web">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.tm">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.jdbc">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.on">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.services">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.bootstrap">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.kernel">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.beans">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.injection">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.annotation">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.system">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.mx">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.jmx">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.invocation">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.classloader">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.classloading">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.deployment">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.deployers">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.dependency">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.metadata">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.detailed">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.logging">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.logbridge">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.aop">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.joinpoint">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.util">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.ha">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.resource">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.varia">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.net">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.security">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.console">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.wsf">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.ejb">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.ejb3">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.jpa">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.virtual">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.xb">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.naming">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.wsf">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.ws">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.mail">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.monitor">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.remoting">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.profileservice">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.cache">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.proxy">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.jms">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.messaging">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.webbeans">
+     <level name="INFO" />
+   </logger>
+
+   <logger category="org.jboss.managed">
+     <level name="INFO" />
+   </logger>
+   -->
+
+   <!-- Limit Arjuna transaction manager -->
+   <logger category="com.arjuna.ats">
+     <level name="INFO" />
+   </logger>
+
+   <!-- Limit Hibernate
+   <logger category="org.hibernate">
+     <level name="INFO" />
+   </logger>
+   -->
+
+   <!-- Limit Ajax4jsf
+   <logger category="org.ajax4jsf">
+     <level name="INFO" />
+   </logger>
+   -->
+
+   <!-- Limit JNP
+    <logger category="org.jnp">
+      <level name="INFO" />
+    </logger>
+   -->
+
+
+   <!-- Limit the JSR77 categories -->
+   <logger category="org.jboss.management">
+      <level name="INFO"/>
+   </logger>
+
+   <!-- Limit the verbose facelets compiler -->
+   <!-- Also suppress error with legacy facelets (JBAS-7600) -->
+   <logger category="facelets.compiler">
+      <level name="WARN"/>
+      <filter>
+         <not>
+            <match pattern="jsf-libs/jsf-impl.jar"/>
+         </not>
+      </filter>
+   </logger>
+   
+
+   <!-- Limit the verbose ajax4jsf cache initialization
+   <logger category="org.ajax4jsf.cache">
+      <level name="WARN"/>
+   </logger>
+   -->
+   <!-- Limit the verbose embedded jopr categories
+   <logger category="org.rhq">
+      <level name="WARN"/>
+   </logger>
+   -->
+   <!-- Limit the verbose seam categories
+   <logger category="org.jboss.seam">
+      <level name="WARN"/>
+   </logger>
+   -->
+
+   <!-- Show the evolution of the DataSource pool in the logs [inUse/Available/Max]
+   <logger category="org.jboss.resource.connectionmanager.JBossManagedConnectionPool">
+     <level name="TRACE"/>
+   </logger>
+   -->
+
+   <!-- Category specifically for Security Audit Provider
+   <logger category="org.jboss.security.audit.providers.LogAuditProvider" additivity="false">
+     <level name="TRACE"/>
+     <appender-ref ref="AUDIT"/>
+   </logger>
+   -->
+
+   <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
+   <logger category="org.jboss.serial">
+      <level name="INFO"/>
+   </logger>
+
+   <!-- Decrease the priority threshold for the org.jboss.varia category
+   <logger category="org.jboss.varia">
+     <level name="DEBUG"/>
+   </logger>
+   -->
+
+   <!-- Enable JBossWS message tracing
+   <logger category="org.jboss.ws.core.MessageTrace">
+     <level name="TRACE"/>
+   </logger>
+   -->
+
+   <!-- Enable System log message tracing
+   <logger category="org.jboss.system">
+     <level name="TRACE"/>
+   </logger>
+   <logger category="org.jboss.ejb.plugins">
+     <level name="TRACE"/>
+   </logger>
+   -->
+
+   <!--
+       | Logs these events to SNMP:
+           - server starts/stops
+           - cluster evolution (node death/startup)
+           - When an EJB archive is deployed (and associated verified messages)
+           - When an EAR archive is deployed
+
+   <logger category="org.jboss.system.server.Server">
+      <level name="INFO"/>
+      <handlers>
+         <handler-ref name="TRAP_LOG"/>
+      </handlers>
+   </logger>
+
+   <logger category="org.jboss.ha.framework.interfaces.HAPartition.lifecycle">
+      <level name="INFO"/>
+      <handlers>
+         <handler-ref name="TRAP_LOG"/>
+      </handlers>
+   </logger>
+
+   <logger category="org.jboss.deployment.MainDeployer">
+      <level name="ERROR"/>
+      <handlers>
+         <handler-ref name="TRAP_LOG"/>
+      </handlers>
+   </logger>
+
+   <logger category="org.jboss.ejb.EJBDeployer">
+      <level name="INFO"/>
+      <handlers>
+         <handler-ref name="TRAP_LOG"/>
+      </handlers>
+   </logger>
+
+   <logger category="org.jboss.deployment.EARDeployer">
+      <level name="INFO"/>
+      <handlers>
+         <handler-ref name="TRAP_LOG"/>
+      </handlers>
+   </logger>
+   -->
+
+   <!-- Clustering logging -->
+   <!-- Uncomment the following to redirect the org.jgroups and
+      org.jboss.ha categories to a cluster.log file.
+
+   <size-rotating-file-handler
+         file-name="${jboss.server.log.dir}/cluster.log"
+         name="CLUSTER"
+         append="false"
+         rotate-size="500k"
+         max-backup-index="5"
+         autoflush="true">
+
+      <error-manager>
+         <only-once/>
+      </error-manager>
+
+      <formatter>
+         <pattern-formatter pattern="%d %-5p [%c] %m%n"/>
+      </formatter>
+   </size-rotating-file-handler>
+
+   <logger category="org.jgroups">
+      <level name="DEBUG" />
+      <handlers>
+         <handler-ref name="CLUSTER"/>
+      </handlers>
+   </logger>
+
+   <logger category="org.jboss.ha">
+      <level name="DEBUG" />
+      <handlers>
+         <handler-ref name="CLUSTER"/>
+      </handlers>
+   </logger>
+   -->
 
-<!-- ===================================================================== -->
-<!--                                                                       -->
-<!--  Logging System Configuration                                         -->
-<!--                                                                       -->
-<!-- ===================================================================== -->
-
-<logging xmlns="urn:jboss:logging:6.0" xmlns:b="urn:jboss:bean-deployer:2.0">
-
-   <!-- ================================= -->
-   <!-- Preserve messages in a local file -->
-   <!-- ================================= -->
-
-   <!-- A time/date based rolling handler -->
-
-   <periodic-rotating-file-handler
-         file-name="${jboss.server.log.dir}/server.log"
-         name="FILE"
-         autoflush="true"
-         append="true"
-         suffix=".yyyy-MM-dd">  <!-- To roll over at the top of each hour, use ".yyyy-MM-dd-HH" instead -->
-
-      <error-manager>
-         <only-once/>
-      </error-manager>
-
-      <formatter>
-         <!-- Uncomment this to get the class name in the log as well as the category
-         <pattern-formatter pattern="%d %-5p [%c] %C{1} (%t) %m%n"/>
-         -->
-         <!-- Uncomment this to log without the class name in the log -->
-         <pattern-formatter pattern="%d %-5p [%c] (%t) %m%n"/>
-      </formatter>
-   </periodic-rotating-file-handler>
-
-   <!-- A size based file rolling appender
-
-   <size-rotating-file-handler
-         file-name="${jboss.server.log.dir}/server.log"
-         name="FILE"
-         autoflush="true"
-         append="true"
-         rotate-size="500k"
-         max-backup-index="5">
-
-      <error-manager>
-         <only-once/>
-      </error-manager>
-
-      <formatter>
-         <pattern-formatter pattern="%d %-5p [%c] (%t) %m%n"/>
-      </formatter>
-   </size-rotating-file-handler>
-   -->
-
-   <!-- ============================== -->
-   <!-- Append messages to the console -->
-   <!-- ============================== -->
-
-   <console-handler name="CONSOLE" autoflush="true" target="System.out">
-      <error-manager>
-         <only-once/>
-      </error-manager>
-
-      <level name="INFO"/>
-
-      <formatter>
-         <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] %m%n"/>
-      </formatter>
-   </console-handler>
-
-   <!-- ====================== -->
-   <!-- More Appender examples -->
-   <!-- ====================== -->
-
-   <!-- Buffer events and log them asynchronously
-
-   <async-handler name="ASYNC">
-      <error-manager>
-         <only-once/>
-      </error-manager>
-
-      <sub-handlers>
-         <handler-ref name="FILE"/>
-         <handler-ref name="CONSOLE"/>
-         <handler-ref name="SMTP"/>
-      </sub-handlers>
-   </async-handler>
-   -->
-
-   <!-- EMail events to an administrator
-
-   <log4j-appender name="SMTP" class="org.apache.log4j.net.SMTPAppender">
-      <error-manager>
-         <only-once/>
-      </error-manager>
-
-      <level name="ERROR"/>
-
-      <properties>
-         <property name="to">admin at myhost.domain.com</property>
-         <property name="from">nobody at myhost.domain.com</property>
-         <property name="subject">JBoss Sever Errors</property>
-         <property name="sMTPHost">localhost</property>
-         <property name="bufferSize">10</property>
-      </properties>
-
-      <formatter>
-         <pattern-formatter pattern="%d %-5p [%c] (%t) %m%n"/>
-      </formatter>
-   </log4j-appender>
-   -->
-
-   <!-- Syslog events
-
-   <log4j-appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
-      <error-manager>
-         <only-once/>
-      </error-manager>
-
-      <properties>
-         <property name="facility">LOCAL7</property>
-         <property name="facilityPrinting">true</property>
-         <property name="syslogHost">localhost</property>
-      </properties>
-
-      <formatter>
-         <pattern-formatter pattern="[%d,%c{1}] %m%n"/>
-      </formatter>
-   </log4j-appender>
-   -->
-
-   <!-- Log events to JMS (requires a topic to be created)
-
-   <log4j-appender name="JMS" class="org.apache.log4j.net.JMSAppender">
-      <error-manager>
-         <only-once/>
-      </error-manager>
-
-      <level name="ERROR"/>
-
-      <properties>
-         <property name="topicConnectionFactoryBindingName">
-            --><!-- Use injection so that an implicit dependency is formed - TODO: get the correct property name --><!--
-            <b:inject bean="myTopicBiding" property="name"/>
-         </property>
-         <property name="topicBindingName">topic/MyErrorsTopic</property>
-      </properties>
-   </log4j-appender>
-   -->
-
-   <!-- Log events through SNMP
-
-   <log4j-appender name="TRAP_LOG" class="org.apache.log4j.ext.SNMPTrapAppender">
-      <error-manager>
-         <only-once/>
-      </error-manager>
-
-      <level name="DEBUG"/>
-
-      <properties>
-         <property name="implementationClassName">org.apache.log4j.ext.JoeSNMPTrapSender</property>
-         <property name="managementHost">127.0.0.1</property>
-         <property name="managementHostTrapListenPort">162</property>
-         <property name="enterpriseOID">1.3.6.1.4.1.24.0</property>
-         <property name="localIPAddress">127.0.0.1</property>
-         <property name="localTrapSendPort">161</property>
-         <property name="genericTrapType">6</property>
-         <property name="specificTrapType">12345678</property>
-         <property name="communityString">public</property>
-         <property name="forwardStackTraceWithTrap">true</property>
-         <property name="applicationTrapOID">1.3.6.1.4.1.24.12.10.22.64</property>
-      </properties>
-      <formatter>
-         <pattern-formatter pattern="%d,%p,[%t],[%c],%m%n"/>
-      </formatter>
-   </log4j-appender>
-   -->
-
-   <!-- Emit events as JMX notifications
-
-   <log4j-appender name="JMX" class="org.jboss.monitor.services.JMXNotificationAppender">
-      <error-manager>
-         <only-once/>
-      </error-manager>
-
-      <level name="WARN"/>
-
-      <properties>
-         <property name="objectName">jboss.system:service=Logging,type=JMXNotificationAppender</property>
-      </properties>
-
-      <formatter>
-         <pattern-formatter pattern="%d %-5p [%c] %m"/>
-      </formatter>
-   </log4j-appender>
-   -->
-
-   <!-- Security AUDIT Appender
-
-   <periodic-rotating-file-handler
-         name="AUDIT"
-         autoflush="true"
-         file-name="${jboss.server.log.dir}/audit.log"
-         suffix=".yyyy-MM-dd"
-         append="true">
-
-      <error-manager>
-         <only-once/>
-      </error-manager>
-
-      <formatter>
-         <pattern-formatter pattern="%d %-5p [%c] (%t:%x) %m%n"/>
-      </formatter>
-   </periodic-rotating-file-handler>
-   -->
-
-   <!-- =============================================== -->
-   <!-- Limit categories                                -->
-   <!-- if enabling "trace" at root logger level,       -->
-   <!-- use limit category settings to disable trace    -->
-   <!-- for packages that you don't want to trace       -->
-   <!-- =============================================== -->
-
-   <!-- Limit the org.apache category to INFO as its DEBUG is verbose -->
-   <logger category="org.apache">
-      <level name="INFO"/>
-   </logger>
-
-   <!-- Limit the jacorb category to WARN as its INFO is verbose -->
-   <logger category="jacorb">
-      <level name="WARN"/>
-   </logger>
-
-   <!-- Limit JSF to INFO as its FINE is verbose -->
-   <logger category="javax.enterprise.resource.webcontainer.jsf">
-      <level name="INFO"/>
-   </logger>
-
-   <!-- Limit the org.jgroups category to WARN as its INFO is verbose -->
-   <logger category="org.jgroups">
-      <level name="WARN"/>
-   </logger>
-
-   <!-- Limit the org.quartz category to INFO as its DEBUG is verbose -->
-   <logger category="org.quartz">
-      <level name="INFO"/>
-   </logger>
-
-   <!-- Limit the com.sun category to INFO as its FINE is verbose -->
-   <logger category="com.sun">
-      <level name="INFO"/>
-   </logger>
-
-   <!-- Limit the sun category to INFO as its FINE is verbose -->
-   <logger category="sun">
-      <level name="INFO"/>
-   </logger>
-
-   <!-- Limit the javax.xml.bind category to INFO as its FINE is verbose -->
-   <logger category="javax.xml.bind">
-      <level name="INFO"/>
-   </logger>
-
-   <!-- Limit the springframework category to WARN-->
-   <logger category="org.springframework">
-      <level name="WARN"/>
-   </logger>
-
-   <!-- Limit JBoss categories
-   <logger category="org.jboss">
-      <level name="INFO"/>
-   </logger>
-   -->
-
-   <!-- Or limit individual JBoss categories
-   <logger category="org.jboss.web">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.tm">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.jdbc">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.on">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.services">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.bootstrap">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.kernel">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.beans">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.injection">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.annotation">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.system">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.mx">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.jmx">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.invocation">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.classloader">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.classloading">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.deployment">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.deployers">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.dependency">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.metadata">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.detailed">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.logging">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.logbridge">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.aop">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.joinpoint">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.util">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.ha">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.resource">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.varia">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.net">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.security">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.console">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.wsf">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.ejb">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.ejb3">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.jpa">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.vfs">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.xb">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.naming">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.wsf">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.ws">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.mail">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.monitor">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.remoting">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.profileservice">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.cache">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.proxy">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.jms">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.messaging">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.webbeans">
-     <level name="INFO" />
-   </logger>
-
-   <logger category="org.jboss.managed">
-     <level name="INFO" />
-   </logger>
-   -->
-
-   <!-- Limit Arjuna transaction manager -->
-   <logger category="com.arjuna.ats">
-     <level name="INFO" />
-   </logger>
-
-   <!-- Limit Hibernate
-   <logger category="org.hibernate">
-     <level name="INFO" />
-   </logger>
-   -->
-
-   <!-- Limit Ajax4jsf
-   <logger category="org.ajax4jsf">
-     <level name="INFO" />
-   </logger>
-   -->
-
-   <!-- Limit JNP
-    <logger category="org.jnp">
-      <level name="INFO" />
-    </logger>
-   -->
-
-
-   <!-- Limit the JSR77 categories -->
-   <logger category="org.jboss.management">
-      <level name="INFO"/>
-   </logger>
-
-   <!-- Limit the verbose facelets compiler
-   <logger category="facelets.compiler">
-      <level name="WARN"/>
-   </logger>
-   -->
-
-   <!-- Limit the verbose ajax4jsf cache initialization
-   <logger category="org.ajax4jsf.cache">
-      <level name="WARN"/>
-   </logger>
-   -->
-   <!-- Limit the verbose embedded jopr categories
-   <logger category="org.rhq">
-      <level name="WARN"/>
-   </logger>
-   -->
-   <!-- Limit the verbose seam categories
-   <logger category="org.jboss.seam">
-      <level name="WARN"/>
-   </logger>
-   -->
-
-   <!-- Show the evolution of the DataSource pool in the logs [inUse/Available/Max]
-   <logger category="org.jboss.resource.connectionmanager.JBossManagedConnectionPool">
-     <level name="TRACE"/>
-   </logger>
-   -->
-
-   <!-- Category specifically for Security Audit Provider
-   <logger category="org.jboss.security.audit.providers.LogAuditProvider" additivity="false">
-     <level name="TRACE"/>
-     <appender-ref ref="AUDIT"/>
-   </logger>
-   -->
-
-   <!-- Limit the org.jboss.serial (jboss-serialization) to INFO as its DEBUG is verbose -->
-   <logger category="org.jboss.serial">
-      <level name="INFO"/>
-   </logger>
-
-   <!-- Decrease the priority threshold for the org.jboss.varia category
-   <logger category="org.jboss.varia">
-     <level name="DEBUG"/>
-   </logger>
-   -->
-
-   <!-- Enable JBossWS message tracing
-   <logger category="org.jboss.ws.core.MessageTrace">
-     <level name="TRACE"/>
-   </logger>
-   -->
-
-   <!-- Enable System log message tracing
-   <logger category="org.jboss.system">
-     <level name="TRACE"/>
-   </logger>
-   <logger category="org.jboss.ejb.plugins">
-     <level name="TRACE"/>
-   </logger>
-   -->
-
-   <!--
-       | Logs these events to SNMP:
-           - server starts/stops
-           - cluster evolution (node death/startup)
-           - When an EJB archive is deployed (and associated verified messages)
-           - When an EAR archive is deployed
-
-   <logger category="org.jboss.system.server.Server">
-      <level name="INFO"/>
-      <handlers>
-         <handler-ref name="TRAP_LOG"/>
-      </handlers>
-   </logger>
-
-   <logger category="org.jboss.ha.framework.interfaces.HAPartition.lifecycle">
-      <level name="INFO"/>
-      <handlers>
-         <handler-ref name="TRAP_LOG"/>
-      </handlers>
-   </logger>
-
-   <logger category="org.jboss.deployment.MainDeployer">
-      <level name="ERROR"/>
-      <handlers>
-         <handler-ref name="TRAP_LOG"/>
-      </handlers>
-   </logger>
-
-   <logger category="org.jboss.ejb.EJBDeployer">
-      <level name="INFO"/>
-      <handlers>
-         <handler-ref name="TRAP_LOG"/>
-      </handlers>
-   </logger>
-
-   <logger category="org.jboss.deployment.EARDeployer">
-      <level name="INFO"/>
-      <handlers>
-         <handler-ref name="TRAP_LOG"/>
-      </handlers>
-   </logger>
-   -->
-
-   <!-- Clustering logging -->
-   <!-- Uncomment the following to redirect the org.jgroups and
-      org.jboss.ha categories to a cluster.log file.
-
-   <size-rotating-file-handler
-         file-name="${jboss.server.log.dir}/cluster.log"
-         name="CLUSTER"
-         append="false"
-         rotate-size="500k"
-         max-backup-index="5"
-         autoflush="true">
-
-      <error-manager>
-         <only-once/>
-      </error-manager>
-
-      <formatter>
-         <pattern-formatter pattern="%d %-5p [%c] %m%n"/>
-      </formatter>
-   </size-rotating-file-handler>
-
-   <logger category="org.jgroups">
-      <level name="DEBUG" />
-      <handlers>
-         <handler-ref name="CLUSTER"/>
-      </handlers>
-   </logger>
-
-   <logger category="org.jboss.ha">
-      <level name="DEBUG" />
-      <handlers>
-         <handler-ref name="CLUSTER"/>
-      </handlers>
-   </logger>
-   -->
-
-   <!-- ======================= -->
-   <!-- Setup the Root category -->
-   <!-- ======================= -->
-
-   <root-logger>
-      <!-- Set the root logger priority via a system property, with a default value. -->
-      <level name="${jboss.server.log.threshold:DEBUG}"/>
-      <handlers>
-         <handler-ref name="CONSOLE"/>
-         <handler-ref name="FILE"/>
-      </handlers>
-   </root-logger>
-
-</logging>
+   <!-- This is a temporary workaround for https://jira.jboss.org/jira/browse/EMBJOPR-280 and
+        should be removed once that bug if fixed in the bundled admin-console war. -->
+   <logger category="org.rhq.plugins.jbossas5.ApplicationServerComponent">
+      <level name="FATAL"/>
+   </logger>
+
+   <!-- ======================= -->
+   <!-- Setup the Root category -->
+   <!-- ======================= -->
+
+   <root-logger>
+      <!-- Set the root logger priority via a system property, with a default value. -->
+      <level name="${jboss.server.log.threshold:INFO}"/>
+      <handlers>
+         <handler-ref name="CONSOLE"/>
+         <handler-ref name="FILE"/>
+      </handlers>
+   </root-logger>
+
+</logging>

Copied: branches/vfs3-int/server/src/etc/deploy/jbossws-console-activator-jboss-beans.xml (from rev 100917, trunk/server/src/etc/deploy/jbossws-console-activator-jboss-beans.xml)
===================================================================
--- branches/vfs3-int/server/src/etc/deploy/jbossws-console-activator-jboss-beans.xml	                        (rev 0)
+++ branches/vfs3-int/server/src/etc/deploy/jbossws-console-activator-jboss-beans.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+    <bean name="JBossWSConsoleActivator" class="org.jboss.web.tomcat.service.ondemand.OnDemandContextProfileManager">
+      
+      <property name="profileService"><inject bean="ProfileService"/></property>
+      <property name="profileFactory"><inject bean="ProfileFactory"/></property>
+      <property name="onDemandContextIntegrator"><inject bean="WebServer" property="onDemandContextIntegrator"/></property>
+
+      <property name="contextName">jbossws</property>
+
+      <!-- Build a profile from the contents of this single URI -->
+      <property name="singleURI">${jboss.common.base.url}deploy${/}jbossws-console.war</property>
+      
+      <!-- 
+        Whether activation of the profile (i.e. deployment of the URI contents)
+        should be deferred until the first request (true) or done as part of
+        the start of this bean (false).
+        
+        WARNING: This configuration option may be altered in a subsequent AS 6.0
+        milestone release.
+        
+        FIXME: https://jira.jboss.org/jira/browse/JBAS-7714        
+        -->
+      <property name="activateOnDemand">${jboss.as.deployment.ondemand:true}</property>
+
+   </bean>
+    
+</deployment>

Copied: branches/vfs3-int/server/src/etc/deploy/jmx-console-activator-jboss-beans.xml (from rev 100917, trunk/server/src/etc/deploy/jmx-console-activator-jboss-beans.xml)
===================================================================
--- branches/vfs3-int/server/src/etc/deploy/jmx-console-activator-jboss-beans.xml	                        (rev 0)
+++ branches/vfs3-int/server/src/etc/deploy/jmx-console-activator-jboss-beans.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+    <bean name="JmxConsoleActivator" class="org.jboss.web.tomcat.service.ondemand.OnDemandContextProfileManager">
+      
+      <property name="profileService"><inject bean="ProfileService"/></property>
+      <property name="profileFactory"><inject bean="ProfileFactory"/></property>
+      <property name="onDemandContextIntegrator"><inject bean="WebServer" property="onDemandContextIntegrator"/></property>
+
+      <property name="contextName">jmx-console</property>
+
+      <!-- Build a profile from the contents of this single URI -->
+      <property name="singleURI">${jboss.common.base.url}deploy${/}jmx-console.war</property>
+      
+      <!-- 
+        Whether activation of the profile (i.e. deployment of the URI contents)
+        should be deferred until the first request (true) or done as part of
+        the start of this bean (false).
+        
+        WARNING: This configuration option may be altered in a subsequent AS 6.0
+        milestone release.
+        
+        FIXME: https://jira.jboss.org/jira/browse/JBAS-7714        
+        -->
+      <property name="activateOnDemand">${jboss.as.deployment.ondemand:true}</property>
+
+   </bean>
+    
+</deployment>

Modified: branches/vfs3-int/server/src/etc/deploy/legacy-conf-service.xml
===================================================================
--- branches/vfs3-int/server/src/etc/deploy/legacy-conf-service.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/etc/deploy/legacy-conf-service.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -37,14 +37,6 @@
         -->
     </mbean>
     
-    <!-- ==================================================================== -->
-    <!-- JBoss RMI Classloader - only install when available                  -->
-    <!-- ==================================================================== -->
-    <mbean code="org.jboss.util.property.jmx.SystemPropertyClassValue"
-        name="jboss.rmi:type=RMIClassLoader">
-        <attribute name="Property">java.rmi.server.RMIClassLoaderSpi</attribute>
-        <attribute name="ClassName">org.jboss.system.JBossRMIClassLoader</attribute>
-    </mbean>
     
     <!-- ==================================================================== -->
     <!-- Class Loading                                                        -->

Modified: branches/vfs3-int/server/src/etc/deployers/core-naming-jboss-beans.xml
===================================================================
--- branches/vfs3-int/server/src/etc/deployers/core-naming-jboss-beans.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/etc/deployers/core-naming-jboss-beans.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -9,9 +9,11 @@
         <!-- Install this bean as the global JVM NamingServer -->
         <property name="installGlobalService">true</property>
         <property name="useGlobalService">false</property>
-        <property name="installJavaComp">false</property>
+		<!-- JBAS-7556: for the moment still done by NamingBeanImpl -->
+        <!-- property name="installJavaComp">false</property -->
     </bean>
 
+    <!-- JBAS-7556: Weld has a hack which claims java:app, so disabled for now
     <bean name="NameSpaces" class="org.jboss.reloaded.naming.service.NameSpaces"/>
 
     <bean name="JavaEEModuleIdentifier" class="org.jboss.as.javaee.SimpleJavaEEModuleIdentifier"/>
@@ -31,4 +33,5 @@
     <bean name="ComponentNamingDeployer" class="org.jboss.reloaded.naming.deployers.ComponentNamingDeployer">
         <constructor><parameter><inject bean="NamingJavaEEComponentInformer"/></parameter></constructor>
     </bean>
+	-->
 </deployment>

Modified: branches/vfs3-int/server/src/etc/deployers/metadata-deployer-jboss-beans.xml
===================================================================
--- branches/vfs3-int/server/src/etc/deployers/metadata-deployer-jboss-beans.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/etc/deployers/metadata-deployer-jboss-beans.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -23,7 +23,7 @@
   <bean name="JBossCustomDeployDUFilter" class="org.jboss.deployers.vfs.spi.structure.helpers.VirtualFileDeploymentUnitFilter">
     <constructor>
       <parameter>
-        <bean class="org.jboss.deployment.FileNameVirtualFileFilter">
+        <bean class="org.jboss.virtual.plugins.vfs.helpers.FileNameVirtualFileFilter">
           <constructor>
             <parameter>
               <map keyClass="java.lang.String" valueClass="java.util.Set">
@@ -67,6 +67,10 @@
                   <key>jmx-console.war</key>
                   <value><null/></value>
                 </entry>
+                <entry>
+                  <key>admin-console.war</key>
+                  <value><null/></value>
+                </entry>
               </map>
             </parameter>
           </constructor>
@@ -75,7 +79,7 @@
     </constructor>
   </bean>
 
-  <bean name="DeploymentProvidedDUFilter" class="org.jboss.deployment.DeploymentProvidedDeploymentUnitFilter" />
+  <bean name="DeploymentProvidedDUFilter" class="org.jboss.deployers.vfs.spi.structure.helpers.DeploymentProvidedDeploymentUnitFilter" />
   
   <bean name="GenScanDeployer" class="org.jboss.deployers.vfs.plugins.annotations.FilteredAnnotationRepositoryDeployer">
     <property name="filter">

Modified: branches/vfs3-int/server/src/main/java/org/jboss/deployment/AnnotationMetaDataDeployer.java
===================================================================
--- branches/vfs3-int/server/src/main/java/org/jboss/deployment/AnnotationMetaDataDeployer.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/main/java/org/jboss/deployment/AnnotationMetaDataDeployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -110,8 +110,7 @@
     * @param unit the unit
     * @throws DeploymentException for any error
     */
-   protected void deploy(VFSDeploymentUnit unit)
-      throws DeploymentException
+   protected void deploy(VFSDeploymentUnit unit) throws DeploymentException
    {
       /* Ignore any spec metadata complete deployments. This expects that a
        deployment unit only represents one of the client, ejb or web
@@ -129,6 +128,7 @@
          // Any ejb-jar.xml 2.1 or earlier deployment is metadata complete
          isComplete = true;         
       }
+      
       WebMetaData webMetaData = unit.getAttachment(WebMetaData.class);
       if(webMetaData != null)
       {
@@ -146,19 +146,28 @@
             isComplete = true;
          }
       }
+      
       ApplicationClientMetaData clientMetaData = unit.getAttachment(ApplicationClientMetaData.class);
       if(clientMetaData != null)
          isComplete |= clientMetaData.isMetadataComplete();
+      
+      // OSGi bundle deployments are metadata-complete
+      // [TODO] Replace with a check for OSGiMetaData once this becomes generally available in AS
+      String symbolicName = (String) unit.getAttachment("org.jboss.osgi.bundle.symbolic.name");
+  	  isComplete |= (symbolicName != null); 
+      
       if(isComplete)
       {
          log.debug("Deployment is metadata-complete, skipping annotation processing"
                + ", ejbJarMetaData="+ejbJarMetaData
                + ", jbossWebMetaData="+webMetaData
                + ", jbossClientMetaData="+clientMetaData
+               + ", bundleSymbolicName="+symbolicName
                + ", metaDataCompleteIsDefault="+metaDataCompleteIsDefault
                );
          return;
       }
+      
       VirtualFile root = unit.getRoot();
       if(root.isLeaf() == true)
          return;

Deleted: branches/vfs3-int/server/src/main/java/org/jboss/deployment/DeploymentProvidedDeploymentUnitFilter.java
===================================================================
--- branches/vfs3-int/server/src/main/java/org/jboss/deployment/DeploymentProvidedDeploymentUnitFilter.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/main/java/org/jboss/deployment/DeploymentProvidedDeploymentUnitFilter.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,48 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.deployment;
-
-// $Id$
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.structure.spi.DeploymentUnitFilter;
-import org.jboss.deployers.vfs.spi.structure.helpers.VFS2BaseBridgeDeploymentUnitFilter;
-
-/**
- * A DeploymentUnitFilter that delegates its work the DeploymentUnitFilter that
- * is attached to the DeploymentUnit.
- * 
- * A Deployer can attach a DeploymentUnitFilter to a DeploymentUnit which controlls whether 
- * the DeploymentUnit is to be processed by following Deployers
- *
- * @author Thomas.Diesler at jboss.com
- * @since 04-Mar-2009
- */
-public class DeploymentProvidedDeploymentUnitFilter extends VFS2BaseBridgeDeploymentUnitFilter
-{
-   @Override
-   protected boolean doAccepts(DeploymentUnit unit)
-   {
-      DeploymentUnitFilter filter = unit.getTopLevel().getAttachment(DeploymentUnitFilter.class);
-      return filter == null || filter.accepts(unit);
-   }
-}
\ No newline at end of file

Modified: branches/vfs3-int/server/src/main/java/org/jboss/deployment/EARStructure.java
===================================================================
--- branches/vfs3-int/server/src/main/java/org/jboss/deployment/EARStructure.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/main/java/org/jboss/deployment/EARStructure.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -30,10 +30,11 @@
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.spi.structure.ContextInfo;
 import org.jboss.deployers.vfs.plugins.structure.AbstractVFSArchiveStructureDeployer;
-import org.jboss.deployers.vfs.plugins.structure.AbstractVFSStructureDeployer;
+import org.jboss.deployers.structure.spi.helpers.RelativeDeploymentContextComparator;
 import org.jboss.deployers.vfs.spi.structure.StructureContext;
 import org.jboss.metadata.ear.jboss.JBossAppMetaData;
 import org.jboss.metadata.ear.jboss.ServiceModuleMetaData;
+import org.jboss.metadata.ear.jboss.JBossAppMetaData.ModuleOrder;
 import org.jboss.metadata.ear.spec.AbstractModule;
 import org.jboss.metadata.ear.spec.ConnectorModuleMetaData;
 import org.jboss.metadata.ear.spec.EarMetaData;
@@ -84,7 +85,7 @@
 
    /**
     * Set the relative order to 1000 by default
-    */   
+    */
    public EARStructure()
    {
       setRelativeOrder(1000);
@@ -200,7 +201,7 @@
          {
             if (libDir == null)
                libDir = "lib";
-            
+
             // Add the ear lib contents to the classpath
             if(trace)
                log.trace("Checking for ear lib directory: "+libDir);
@@ -270,6 +271,7 @@
                   if (module.exists() == false)
                   {
                      throw new RuntimeException(fileName + " module listed in application.xml does not exist within .ear " + file.toURI());
+
                   }
                   // Ask the deployers to analyze this
                   if(structureContext.determineChildStructure(module) == false)
@@ -280,12 +282,23 @@
                   }
                }
             }
+
+            if (appMetaData.getModuleOrderEnum() == ModuleOrder.STRICT)
+            {
+               context.setComparatorClassName(RelativeDeploymentContextComparator.class.getName());
+               int i = 0;
+               for (ContextInfo ctx : structureContext.getMetaData().getContexts())
+               {
+                  ctx.setRelativeOrder(i++);
+               }
+            }
          }
+
          valid = true;
       }
       catch(Exception e)
       {
-         throw new RuntimeException("Error determining structure: " + file.getName(), e);         
+         throw new RuntimeException("Error determining structure: " + file.getName(), e);
       }
 
       return valid;
@@ -327,7 +340,7 @@
          for (VirtualFile vfArchive : archives)
          {
             String filename = earRelativePath(earPath, vfArchive.getPathName());
-            // Check if the module already exists, i.e. it is declared in jboss-app.xml 
+            // Check if the module already exists, i.e. it is declared in jboss-app.xml
             ModuleMetaData moduleMetaData = appMetaData.getModule(filename);
             int type = typeFromSuffix(filename, vfArchive);
             if (type >= 0 && moduleMetaData == null)
@@ -409,7 +422,7 @@
             type = J2eeModuleMetaData.EJB;
          }
       }
-      
+
       return type;
    }
 
@@ -436,12 +449,12 @@
    {
       this.comparatorClassName = comparatorClassName;
    }
-   
+
    public void setUseValidation(boolean validateXml)
    {
       this.useValidation = validateXml;
    }
-   
+
    public boolean isUseValidation()
    {
       return useValidation;

Modified: branches/vfs3-int/server/src/main/java/org/jboss/deployment/EjbParsingDeployer.java
===================================================================
--- branches/vfs3-int/server/src/main/java/org/jboss/deployment/EjbParsingDeployer.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/main/java/org/jboss/deployment/EjbParsingDeployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -23,6 +23,7 @@
 
 import org.jboss.aop.microcontainer.aspects.jmx.JMX;
 import org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer;
+import org.jboss.metadata.ear.spec.EarMetaData;
 import org.jboss.metadata.ejb.spec.EjbJarMetaData;
 
 /**
@@ -31,6 +32,7 @@
  * 
  * @author Scott.Stark at jboss.org
  * @author adrian at jboss.org
+ * @author ales.justin at jboss.org
  * @version $Revision$
  */
 @SuppressWarnings("deprecation")
@@ -44,6 +46,7 @@
    {
       super(EjbJarMetaData.class);
       setName("ejb-jar.xml");
+      // for alt-dd usage
+      addInput(EarMetaData.class);
    }
-
 }

Copied: branches/vfs3-int/server/src/main/java/org/jboss/deployment/MetaDataTypeFilterFactory.java (from rev 100917, trunk/server/src/main/java/org/jboss/deployment/MetaDataTypeFilterFactory.java)
===================================================================
--- branches/vfs3-int/server/src/main/java/org/jboss/deployment/MetaDataTypeFilterFactory.java	                        (rev 0)
+++ branches/vfs3-int/server/src/main/java/org/jboss/deployment/MetaDataTypeFilterFactory.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,42 @@
+/*
+ * 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.deployment;
+
+import org.jboss.deployers.spi.structure.MetaDataTypeFilter;
+
+/**
+ * Simplify MetaDataTypeFilter usage.
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class MetaDataTypeFilterFactory
+{
+   public static MetaDataTypeFilter getDefault()
+   {
+      return MetaDataTypeFilter.DEFAULT;
+   }
+
+   public static MetaDataTypeFilter getAll()
+   {
+      return MetaDataTypeFilter.ALL;
+   }
+}

Copied: branches/vfs3-int/server/src/main/java/org/jboss/deployment/PUHackDeployer.java (from rev 100917, trunk/server/src/main/java/org/jboss/deployment/PUHackDeployer.java)
===================================================================
--- branches/vfs3-int/server/src/main/java/org/jboss/deployment/PUHackDeployer.java	                        (rev 0)
+++ branches/vfs3-int/server/src/main/java/org/jboss/deployment/PUHackDeployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,497 @@
+/*
+ * 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.deployment;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.dependency.spi.DependencyInfo;
+import org.jboss.dependency.spi.DependencyItem;
+import org.jboss.deployers.client.spi.main.MainDeployer;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.attachments.MutableAttachments;
+import org.jboss.deployers.spi.deployer.DeploymentStage;
+import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
+import org.jboss.deployers.spi.structure.MetaDataTypeFilter;
+import org.jboss.deployers.structure.spi.ClassLoaderFactory;
+import org.jboss.deployers.structure.spi.DeploymentResourceLoader;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.structure.spi.DeploymentUnitVisitor;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentResourceLoader;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.metadata.jpa.spec.PersistenceUnitMetaData;
+import org.jboss.metadata.spi.MetaData;
+import org.jboss.metadata.spi.MutableMetaData;
+import org.jboss.metadata.spi.scope.ScopeKey;
+import org.jboss.vfs.VirtualFile;
+import org.jboss.vfs.VirtualFileFilter;
+
+/**
+ * Hack to work around PersistenceUnitDeployment usage of DeploymentUnit::getMetaDataFile
+ *
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class PUHackDeployer extends AbstractSimpleRealDeployer<PersistenceUnitMetaData>
+{
+   private AbstractSimpleRealDeployer<PersistenceUnitMetaData> delegate;
+
+   public PUHackDeployer(AbstractSimpleRealDeployer<PersistenceUnitMetaData> delegate)
+   {
+      super(PersistenceUnitMetaData.class);
+      if (delegate == null)
+         throw new IllegalArgumentException("Null delegate deployer");
+      this.delegate = delegate;
+
+      setComponentsOnly(delegate.isComponentsOnly());
+      addOutput(BeanMetaData.class);
+   }
+
+   @Override
+   public void deploy(DeploymentUnit unit, PersistenceUnitMetaData deployment) throws DeploymentException
+   {
+      DeploymentUnit wrapper = wrap(unit);
+      delegate.deploy(wrapper, deployment);
+   }
+
+   protected static DeploymentUnit wrap(DeploymentUnit unit)
+   {
+      if (unit instanceof VFSDeploymentUnit)
+         return new VFSDUDelegate((VFSDeploymentUnit)unit);
+      else
+         return new DUDelegate(unit);
+   }
+
+   private static class DUDelegate implements DeploymentUnit
+   {
+      private DeploymentUnit delegate;
+
+      private DUDelegate(DeploymentUnit delegate)
+      {
+         this.delegate = delegate;
+      }
+
+      public String getName()
+      {
+         return delegate.getName();
+      }
+
+      public String getSimpleName()
+      {
+         return delegate.getSimpleName();
+      }
+
+      public String getRelativePath()
+      {
+         return delegate.getRelativePath();
+      }
+
+      public ScopeKey getScope()
+      {
+         return delegate.getScope();
+      }
+
+      public void setScope(ScopeKey key)
+      {
+         delegate.setScope(key);
+      }
+
+      public ScopeKey getMutableScope()
+      {
+         return delegate.getMutableScope();
+      }
+
+      public void setMutableScope(ScopeKey key)
+      {
+         delegate.setMutableScope(key);
+      }
+
+      public MetaData getMetaData()
+      {
+         return delegate.getMetaData();
+      }
+
+      public MutableMetaData getMutableMetaData()
+      {
+         return delegate.getMutableMetaData();
+      }
+
+      public ClassLoader getClassLoader()
+      {
+         return delegate.getClassLoader();
+      }
+
+      public boolean createClassLoader(ClassLoaderFactory factory) throws DeploymentException
+      {
+         return delegate.createClassLoader(factory);
+      }
+
+      public void removeClassLoader(ClassLoaderFactory factory)
+      {
+         delegate.removeClassLoader(factory);
+      }
+
+      public <T> Set<? extends T> getAllMetaData(Class<T> type)
+      {
+         return delegate.getAllMetaData(type);
+      }
+
+      public MutableAttachments getTransientManagedObjects()
+      {
+         return delegate.getTransientManagedObjects();
+      }
+
+      public boolean isTopLevel()
+      {
+         return delegate.isTopLevel();
+      }
+
+      public DeploymentUnit getTopLevel()
+      {
+         DeploymentUnit top = delegate.getTopLevel();
+         return wrap(top);
+      }
+
+      public DeploymentUnit getParent()
+      {
+         DeploymentUnit parent = delegate.getParent();
+         return wrap(parent);
+      }
+
+      public List<DeploymentUnit> getChildren()
+      {
+         return delegate.getChildren();
+      }
+
+      public List<DeploymentUnit> getComponents()
+      {
+         return delegate.getComponents();
+      }
+
+      public boolean isComponent()
+      {
+         return delegate.isComponent();
+      }
+
+      public DeploymentUnit addComponent(String name)
+      {
+         return wrap(delegate.addComponent(name));
+      }
+
+      public DeploymentUnit getComponent(String name)
+      {
+         return wrap(delegate.getComponent(name));
+      }
+
+      public boolean removeComponent(String name)
+      {
+         return delegate.removeComponent(name);
+      }
+
+      public DeploymentResourceLoader getResourceLoader()
+      {
+         return delegate.getResourceLoader();
+      }
+
+      public ClassLoader getResourceClassLoader()
+      {
+         return delegate.getResourceClassLoader();
+      }
+
+      public void visit(DeploymentUnitVisitor visitor) throws DeploymentException
+      {
+         delegate.visit(visitor);
+      }
+
+      public MainDeployer getMainDeployer()
+      {
+         return delegate.getMainDeployer();
+      }
+
+      public Object getControllerContextName()
+      {
+         return delegate.getControllerContextName();
+      }
+
+      public DeploymentStage getRequiredStage()
+      {
+         return delegate.getRequiredStage();
+      }
+
+      public void setRequiredStage(DeploymentStage stage)
+      {
+         delegate.setRequiredStage(stage);
+      }
+
+      public DependencyInfo getDependencyInfo()
+      {
+         return delegate.getDependencyInfo();
+      }
+
+      public void addIDependOn(DependencyItem dependency)
+      {
+         delegate.addIDependOn(dependency);
+      }
+
+      public void removeIDependOn(DependencyItem dependency)
+      {
+         delegate.removeIDependOn(dependency);
+      }
+
+      public Set<Object> getControllerContextNames()
+      {
+         return delegate.getControllerContextNames();
+      }
+
+      public void addControllerContextName(Object name)
+      {
+         delegate.addControllerContextName(name);
+      }
+
+      public void removeControllerContextName(Object name)
+      {
+         delegate.removeControllerContextName(name);
+      }
+
+      public Object addAttachment(String name, Object attachment)
+      {
+         return delegate.addAttachment(name, attachment);
+      }
+
+      public <T> T addAttachment(String name, T attachment, Class<T> expectedType)
+      {
+         return delegate.addAttachment(name, attachment, expectedType);
+      }
+
+      public <T> T addAttachment(Class<T> type, T attachment)
+      {
+         return delegate.addAttachment(type, attachment);
+      }
+
+      public Object removeAttachment(String name)
+      {
+         return delegate.removeAttachment(name);
+      }
+
+      public <T> T removeAttachment(String name, Class<T> expectedType)
+      {
+         return delegate.removeAttachment(name, expectedType);
+      }
+
+      public <T> T removeAttachment(Class<T> type)
+      {
+         return delegate.removeAttachment(type);
+      }
+
+      public void setAttachments(Map<String, Object> map)
+      {
+         delegate.setAttachments(map);
+      }
+
+      public void clear()
+      {
+         delegate.clear();
+      }
+
+      public int getChangeCount()
+      {
+         return delegate.getChangeCount();
+      }
+
+      public void clearChangeCount()
+      {
+         delegate.clearChangeCount();
+      }
+
+      public Map<String, Object> getAttachments()
+      {
+         return delegate.getAttachments();
+      }
+
+      public Object getAttachment(String name)
+      {
+         return delegate.getAttachment(name);
+      }
+
+      public <T> T getAttachment(String name, Class<T> expectedType)
+      {
+         return delegate.getAttachment(name, expectedType);
+      }
+
+      public <T> T getAttachment(Class<T> type)
+      {
+         return delegate.getAttachment(type);
+      }
+
+      public boolean isAttachmentPresent(String name)
+      {
+         return delegate.isAttachmentPresent(name);
+      }
+
+      public boolean isAttachmentPresent(String name, Class<?> expectedType)
+      {
+         return delegate.isAttachmentPresent(name, expectedType);
+      }
+
+      public boolean isAttachmentPresent(Class<?> type)
+      {
+         return delegate.isAttachmentPresent(type);
+      }
+
+      public boolean hasAttachments()
+      {
+         return delegate.hasAttachments();
+      }
+   }
+
+   private static class VFSDUDelegate extends DUDelegate implements VFSDeploymentUnit
+   {
+      private VFSDeploymentUnit delegate;
+
+      private VFSDUDelegate(VFSDeploymentUnit delegate)
+      {
+         super(delegate);
+         this.delegate = delegate;
+      }
+
+      public VFSDeploymentResourceLoader getResourceLoader()
+      {
+         return delegate.getResourceLoader();
+      }
+
+      public VFSDeploymentUnit getParent()
+      {
+         return delegate.getParent();
+      }
+
+      public VFSDeploymentUnit getTopLevel()
+      {
+         return delegate.getTopLevel();
+      }
+
+      public VirtualFile getMetaDataFile(String name)
+      {
+         return getMetaDataFile(name, MetaDataTypeFilter.ALL);
+      }
+
+      public VirtualFile getMetaDataFile(String name, MetaDataTypeFilter filter)
+      {
+         return delegate.getMetaDataFile(name, filter);
+      }
+
+      public List<VirtualFile> getMetaDataFiles(String name, String suffix)
+      {
+         return getMetaDataFiles(name, suffix, MetaDataTypeFilter.ALL);
+      }
+
+      public List<VirtualFile> getMetaDataFiles(String name, String suffix, MetaDataTypeFilter filter)
+      {
+         return delegate.getMetaDataFiles(name, suffix, filter);
+      }
+
+      public List<VirtualFile> getMetaDataFiles(VirtualFileFilter filter)
+      {
+         return getMetaDataFiles(filter, MetaDataTypeFilter.ALL);
+      }
+
+      public List<VirtualFile> getMetaDataFiles(VirtualFileFilter filter, MetaDataTypeFilter mdtf)
+      {
+         return delegate.getMetaDataFiles(filter, mdtf);
+      }
+
+      public void prependMetaDataLocation(VirtualFile... locations)
+      {
+         delegate.prependMetaDataLocation(locations);
+      }
+
+      public void appendMetaDataLocation(VirtualFile... locations)
+      {
+         delegate.appendMetaDataLocation(locations);
+      }
+
+      public void removeMetaDataLocation(VirtualFile... locations)
+      {
+         delegate.removeMetaDataLocation(locations);
+      }
+
+      public VirtualFile getFile(String path)
+      {
+         return delegate.getFile(path);
+      }
+
+      public VirtualFile getRoot()
+      {
+         return delegate.getRoot();
+      }
+
+      public List<VirtualFile> getClassPath()
+      {
+         return delegate.getClassPath();
+      }
+
+      public void setClassPath(List<VirtualFile> classPath)
+      {
+         delegate.setClassPath(classPath);
+      }
+
+      public void prependClassPath(VirtualFile... files)
+      {
+         delegate.prependClassPath(files);
+      }
+
+      public void prependClassPath(List<VirtualFile> files)
+      {
+         delegate.prependClassPath(files);
+      }
+
+      public void appendClassPath(VirtualFile... files)
+      {
+         delegate.appendClassPath(files);
+      }
+
+      public void appendClassPath(List<VirtualFile> files)
+      {
+         delegate.appendClassPath(files);
+      }
+
+      public void addClassPath(VirtualFile... files)
+      {
+         delegate.addClassPath(files);
+      }
+
+      public void addClassPath(List<VirtualFile> files)
+      {
+         delegate.addClassPath(files);
+      }
+
+      public void removeClassPath(VirtualFile... files)
+      {
+         delegate.removeClassPath(files);
+      }
+
+      public List<VFSDeploymentUnit> getVFSChildren()
+      {
+         return delegate.getVFSChildren();
+      }
+   }
+}
\ No newline at end of file

Modified: branches/vfs3-int/server/src/main/java/org/jboss/deployment/WebAppFragmentParsingDeployer.java
===================================================================
--- branches/vfs3-int/server/src/main/java/org/jboss/deployment/WebAppFragmentParsingDeployer.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/main/java/org/jboss/deployment/WebAppFragmentParsingDeployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -24,6 +24,7 @@
 import java.util.Set;
 
 import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.structure.MetaDataTypeFilter;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
@@ -45,6 +46,7 @@
       super(WebFragmentMetaData.class);
       setName("web-fragment.xml");
       setAllowMultipleFiles(true);
+      setFilter(MetaDataTypeFilter.ALL);
    }
 
    /**

Modified: branches/vfs3-int/server/src/main/java/org/jboss/deployment/WebAppParsingDeployer.java
===================================================================
--- branches/vfs3-int/server/src/main/java/org/jboss/deployment/WebAppParsingDeployer.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/main/java/org/jboss/deployment/WebAppParsingDeployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -22,6 +22,7 @@
 package org.jboss.deployment;
 
 import org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer;
+import org.jboss.metadata.ear.spec.EarMetaData;
 import org.jboss.metadata.web.spec.WebMetaData;
 
 /**
@@ -30,6 +31,7 @@
  * 
  * @author Scott.Stark at jboss.org
  * @author adrian at jboss.org
+ * @author ales.justin at jboss.org
  * @version $Revision$
  */
 public class WebAppParsingDeployer extends SchemaResolverDeployer<WebMetaData>
@@ -38,6 +40,8 @@
    {
       super(WebMetaData.class);
       setName("web.xml");
+      // for alt-dd usage
+      addInput(EarMetaData.class);
    }
 
    /**
@@ -50,6 +54,7 @@
    {
       return getName();
    }
+
    /**
     * Set the virtual file path for the web-app descriptor in the
     * DeploymentContext.getMetaDataLocation. The standard path is web.xml
@@ -61,5 +66,4 @@
    {
       setName(webXmlPath);
    }
-
 }

Modified: branches/vfs3-int/server/src/main/java/org/jboss/naming/NamingProviderURLWriter.java
===================================================================
--- branches/vfs3-int/server/src/main/java/org/jboss/naming/NamingProviderURLWriter.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/server/src/main/java/org/jboss/naming/NamingProviderURLWriter.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -22,7 +22,9 @@
 
 package org.jboss.naming;
 
+import java.io.BufferedReader;
 import java.io.File;
+import java.io.FileReader;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.net.Inet6Address;
@@ -54,7 +56,6 @@
    private JBossASServer server;
    private URI outputDir;
    private String filename = DEFAULT_PERSIST_FILE_NAME;
-   private File outputFile;
 
    public URI getOutputDirURI()
    {
@@ -135,29 +136,36 @@
          {
             base.mkdirs();
             
-            outputFile = new File(base, getOutputFileName());
-            if (outputFile.exists())
+            File file = new File(base, getOutputFileName());
+            if (file.exists())
             {
-               outputFile.delete();
+               file.delete();
             }
-            if (log.isTraceEnabled())
-            {
-               log.trace("Creating file " + outputFile);
-            }
-            outputFile.createNewFile();            
-            PrintWriter writer = new PrintWriter(outputFile);
+            PrintWriter writer = null;
             try
-            {
+            {               
+               if (log.isTraceEnabled())
+               {
+                  log.trace("Creating file " + file);
+               }
+               file.createNewFile();
+               file.deleteOnExit();
+               
+               writer = new PrintWriter(file);
                writer.println(bootstrapUrl);
                writer.flush();
             }
+            catch (Exception e)
+            {
+               handleOutputFileCreationException(file.toURI(), e);
+            }
             finally
             {
-               outputFile.deleteOnExit();
-               writer.close();
+               if (writer != null)
+               {
+                  writer.close();
+               }
             }
-            
-            outputFile.deleteOnExit();
          }
          else
          {
@@ -172,11 +180,69 @@
       }
    }
 
+   /** JBAS-7674 Try to intelligently deal with case where Windows has the file locked */
+   private void handleOutputFileCreationException(URI outputFile, Exception e)
+   {
+      boolean handled = false;
+      FileReader fr = null;
+      try
+      {
+         File f = new File(outputFile);
+         if (f.exists())
+         {
+            fr = new FileReader(f);
+            String existing = new BufferedReader(fr).readLine();
+            if (existing != null && this.bootstrapUrl.equals(existing.trim()))
+            {
+               log.info("Experienced a problem (" + e + 
+                        ") updating the naming service URL file " + outputFile + 
+                        " but the current contents are correct.");
+            }
+            else
+            {
+               log.error("Cannot update naming service URL file " + outputFile, e);
+            }
+            handled = true;
+         }
+      }
+      catch (Exception ignored)
+      {
+         ;
+      }
+      finally
+      {
+         if (fr != null)
+         {
+            try
+            {
+               fr.close();
+            }
+            catch (Exception ignored) {}
+         }
+      }
+      
+      if (!handled)
+      {
+         log.error("Cannot create a naming service URL file at " + outputFile, e);
+      }
+      
+   }
+
    public void stop() throws Exception
    {
-      if (outputFile != null)
+      if (outputDir != null)
       {
-         outputFile.delete();
+         String outputFile = "";
+         try
+         {
+            File f = new File(new File(outputDir), getOutputFileName());
+            outputFile = f.getAbsolutePath();
+            f.delete();
+         }
+         catch (Exception e)
+         {
+            log.warn("Failed to delete JNP URL file " + outputFile + " due to " + e);
+         }
       }
    }
 

Copied: branches/vfs3-int/server/src/main/java/org/jboss/web/RMICodebaseConfigurer.java (from rev 100917, trunk/server/src/main/java/org/jboss/web/RMICodebaseConfigurer.java)
===================================================================
--- branches/vfs3-int/server/src/main/java/org/jboss/web/RMICodebaseConfigurer.java	                        (rev 0)
+++ branches/vfs3-int/server/src/main/java/org/jboss/web/RMICodebaseConfigurer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,105 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat, Inc. 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.web;
+
+import org.jboss.system.ServiceMBeanSupport;
+
+/**
+ * Sets system property java.rmi.server.codebase to a URL derived from injected
+ * values. Hack temporary fix for https://jira.jboss.org/jira/browse/JBAS-7274 
+ * intended to be deployed early in the AS boot, but after ServiceBindingManager
+ * (i.e. in conf/jboss-service.xml).
+ *
+ * @author Brian Stansberry
+ * 
+ * @version $Revision$
+ * 
+ * @deprecated will be removed before JBoss AS 6.0.0.CR1
+ */
+public class RMICodebaseConfigurer extends ServiceMBeanSupport implements RMICodebaseConfigurerMBean
+{
+   private String host;
+   private int port = -1;
+   
+   public String getCodebaseHost()
+   {
+      return host;
+   }
+
+   public int getCodebasePort()
+   {
+      return port;
+   }
+
+   public void setCodebaseHost(String host)
+   {
+      this.host = host;
+   }
+
+   public void setCodebasePort(int port)
+   {
+      this.port = port;
+   }
+
+   /**
+    * Sets property java.rmi.server.codebase if not already set
+    */
+   @Override
+   protected void startService() throws Exception
+   {
+      // Set the rmi codebase if it is not already set
+      String codebase = System.getProperty("java.rmi.server.codebase");
+      if (codebase == null)
+      {
+         if (host != null)
+         {
+            codebase = "http://" + getHostPortion() + getPortPortion() + "/";
+            System.setProperty("java.rmi.server.codebase", codebase);
+         }
+         else
+         {
+            getLog().warn("Property codebaseHost has not been set; cannot set java.rmi.server.codebase");
+         }
+      }
+   }
+
+   private String getHostPortion()
+   {
+      if (host.indexOf(':') > -1 && host.indexOf('[') != 0)
+      {
+         return "[" + host + "]";
+      }
+      return host;
+   }
+   
+   private String getPortPortion()
+   {
+      if (port > 0)
+      {
+         return ":" + port;
+      }
+      return "";
+   }
+
+   
+}

Copied: branches/vfs3-int/server/src/main/java/org/jboss/web/RMICodebaseConfigurerMBean.java (from rev 100917, trunk/server/src/main/java/org/jboss/web/RMICodebaseConfigurerMBean.java)
===================================================================
--- branches/vfs3-int/server/src/main/java/org/jboss/web/RMICodebaseConfigurerMBean.java	                        (rev 0)
+++ branches/vfs3-int/server/src/main/java/org/jboss/web/RMICodebaseConfigurerMBean.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,66 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat, Inc. 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.web;
+
+import org.jboss.system.ServiceMBean;
+
+
+/**
+ * Standard MBean interface for RMICodebaseConfigurer
+ *
+ * @author Brian Stansberry
+ * 
+ * @version $Revision$
+ * 
+ * @deprecated will be removed before JBoss AS 6.0.0.CR1
+ */
+public interface RMICodebaseConfigurerMBean extends ServiceMBean
+{
+   /** 
+    * Gets the host portion of the codebase URL
+    *
+    * @return the address, or <code>null</code> if not set
+    */
+   String getCodebaseHost();
+   
+   /** 
+    * Sets the host portion of the codebase URL
+    *
+    * @param host the host
+    */
+   void setCodebaseHost(String host);
+   
+   /**
+    * Gets the port portion of the codebase URL
+    *
+    * @return the port, or -1 if not configured
+    */
+   int getCodebasePort();
+   
+   /**
+    * Sets the port portion of the codebase URL
+    *
+    * @param port the port
+    */
+   void setCodebasePort(int port);
+}

Modified: branches/vfs3-int/system/pom.xml
===================================================================
--- branches/vfs3-int/system/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/system/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -14,7 +14,7 @@
   <description>JBoss Application Server (system module)</description>
   
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <resources>
       <resource>
         <directory>src/resources</directory>

Copied: branches/vfs3-int/system/src/main/java/org/jboss/system/deployers/LegacyPrefixDeploymentContextComparator.java (from rev 100917, trunk/system/src/main/java/org/jboss/system/deployers/LegacyPrefixDeploymentContextComparator.java)
===================================================================
--- branches/vfs3-int/system/src/main/java/org/jboss/system/deployers/LegacyPrefixDeploymentContextComparator.java	                        (rev 0)
+++ branches/vfs3-int/system/src/main/java/org/jboss/system/deployers/LegacyPrefixDeploymentContextComparator.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,118 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat, Inc. 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.system.deployers;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jboss.deployers.structure.spi.DeploymentContext;
+import org.jboss.deployers.structure.spi.helpers.DefaultDeploymentContextComparator;
+
+/**
+ * Orders deployments based on numeric prefixes.
+ * 
+ * <p>This class is a comparator to sort deployment s based on the existence
+ * of a numeric prefix.  The name portion of the URL is evaluated for any 
+ * leading digits.  If they exist, then they will define a numerical ordering
+ * for this comparator.  If there is no leading digits, then they will
+ * compare as less than any name with leading digits.  In the case of a 
+ * tie, the order is determined by the behavior of the 
+ * {@link LegacyDeploymentContextComparator} superclass.
+ * 
+ * <p>The behavior of this comparator is to reproduce the behavior of the 
+ * PrefixDeploymentSorter in JBoss 4.x.
+ * 
+ * <p>For example, these names are in ascending order:
+ *   <ul>
+ *     <li>test.sar</li>
+ *     <li>component.ear</li>
+ *     <li>001test.jar</li>
+ *     <li>5test.rar</li>
+ *     <li>5foo.jar</li>
+ *     <li>120bar.jar</li>
+ *   </ul>
+ *
+ * @author <a href="mailto:miclark at redhat.com">Mike M. Clark</a> 
+ * 
+ * @version $Revision: $
+ */
+public class LegacyPrefixDeploymentContextComparator extends LegacyDeploymentContextComparator
+{
+   /** The instance */
+   public static final LegacyPrefixDeploymentContextComparator INSTANCE = new LegacyPrefixDeploymentContextComparator();
+  
+   
+   /**
+    * Get the instance.
+    *
+    * @return the instance
+    */
+   public static LegacyPrefixDeploymentContextComparator getInstance()
+   {
+      return INSTANCE;
+   }
+   
+   @Override
+   public int compare(DeploymentContext first, DeploymentContext second)
+   {
+      int firstPrefixValue = getPrefixValue(first);
+      int secondPrefixValue = getPrefixValue(second);
+      int diff = firstPrefixValue - secondPrefixValue;
+      if (diff != 0)
+      {
+         return diff;
+      }
+      else
+      {
+         return super.compare(first, second);
+      }
+   }
+   
+   private int getPrefixValue(DeploymentContext deploymentContext)
+   {
+      String name = deploymentContext.getSimpleName();
+      
+      // calculate where the digit-prefix ends
+      int prefixEnd = 0;
+      int nameEnd = name.length() - 1;
+      
+      while (prefixEnd <= nameEnd && Character.isDigit(name.charAt(prefixEnd)))
+      {
+         ++prefixEnd;
+      }
+      
+      // If zero length prefix, return -1
+      if (prefixEnd == 0)
+      {
+         return -1;
+      }
+      
+      // Strip leading zeros
+      int nameStart = 0;
+      while (nameStart < prefixEnd && name.charAt(nameStart) == '0')
+      {
+         ++nameStart;
+      }
+      
+      return (nameStart == prefixEnd) ? 0 : Integer.parseInt(name.substring(nameStart, prefixEnd));  
+   }
+}

Modified: branches/vfs3-int/system/src/main/java/org/jboss/system/server/profileservice/persistence/deployer/PersistenceModificationChecker.java
===================================================================
--- branches/vfs3-int/system/src/main/java/org/jboss/system/server/profileservice/persistence/deployer/PersistenceModificationChecker.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/system/src/main/java/org/jboss/system/server/profileservice/persistence/deployer/PersistenceModificationChecker.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -29,7 +29,7 @@
 import org.jboss.deployers.spi.structure.StructureMetaData;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.logging.Logger;
-import org.jboss.system.server.profile.basic.XmlIncludeVirtualFileFilter;
+import org.jboss.vfs.util.SuffixMatchFilter;
 import org.jboss.vfs.VirtualFile;
 import org.jboss.vfs.VirtualFileFilter;
 import org.jboss.vfs.util.SuffixMatchFilter;
@@ -45,7 +45,7 @@
    private static final Logger log = Logger.getLogger(PersistenceModificationChecker.class);
 
    /** The filter. */
-   private static VirtualFileFilter filter = new XmlIncludeVirtualFileFilter();
+   private static VirtualFileFilter filter = new SuffixMatchFilter(".xml");
 
    public static boolean hasBeenModified(VFSDeploymentUnit unit, long lastModified) throws Exception
    {

Modified: branches/vfs3-int/system-jmx/pom.xml
===================================================================
--- branches/vfs3-int/system-jmx/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/system-jmx/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -13,7 +13,7 @@
   <url>http://www.jboss.org/jbossas</url>
   <description>JBoss Application Server (system-jmx module)</description>
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>


Property changes on: branches/vfs3-int/testsuite
___________________________________________________________________
Name: svn:ignore
   - .settings
output
build.log
run.tstamp
junit*.properties
20070819
20070821
*.iml
failed.txt
target

   + .settings
output
*.log
run.tstamp
junit*.properties
20070819
20070821
*.iml
failed.txt
target


Modified: branches/vfs3-int/testsuite/.classpath
===================================================================
--- branches/vfs3-int/testsuite/.classpath	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/.classpath	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry excluding="org/jboss/test/JBossRMIAdaptorHelper.java|org/jboss/test/JBossTestSuite.java|org/jboss/test/SmokeTestSuite.java|org/jboss/test/bank/|org/jboss/test/bankiiop/|org/jboss/test/banknew/|org/jboss/test/bench/|org/jboss/test/binding/|org/jboss/test/bmp/|org/jboss/test/bootstrapdependencies/|org/jboss/test/bpel/|org/jboss/test/cache/|org/jboss/test/classloader/|org/jboss/test/client/|org/jboss/test/cluster/|org/jboss/test/cmp2/|org/jboss/test/common/|org/jboss/test/compatibility/|org/jboss/test/console/|org/jboss/test/cts/|org/jboss/test/dbtest/|org/jboss/test/deadlock/|org/jboss/test/deployers/|org/jboss/test/deployment/|org/jboss/test/ee5client/|org/jboss/test/ejb/|org/jboss/test/ejb3/|org/jboss/test/ejbconf/|org/jboss/test/entity/|org/jboss/test/entitydepends/|org/jboss/test/entityexc/|org/jboss/test/excepiiop/|org/jboss/test/exception/|org/jboss/test/guid/|org/jboss/test/ha/|org/jboss/test/hello/|org/jboss/test/helloiiop/|org/jboss/test/hellojrmpiio!
 p/|org/jboss/test/hibernate/|org/jboss/test/idgen/|org/jboss/test/iiop/|org/jboss/test/iiopperf/|org/jboss/test/invokers/|org/jboss/test/isolation/|org/jboss/test/jacc/|org/jboss/test/javassist/|org/jboss/test/jaxr/|org/jboss/test/jbossmessaging/|org/jboss/test/jbossmx/|org/jboss/test/jbossts/|org/jboss/test/jca/|org/jboss/test/jcaprops/|org/jboss/test/jms/|org/jboss/test/jmsra/|org/jboss/test/jmx/|org/jboss/test/jpa/|org/jboss/test/jrmp/|org/jboss/test/jsf/|org/jboss/test/kernel/|org/jboss/test/load/|org/jboss/test/lock/|org/jboss/test/management/|org/jboss/test/marathon/|org/jboss/test/marshal/|org/jboss/test/marshaliiop/|org/jboss/test/mdb/|org/jboss/test/mdbsessionpoolclear/|org/jboss/test/messagedriven/|org/jboss/test/naming/|org/jboss/test/passwordinjection/|org/jboss/test/perf/|org/jboss/test/pooled/|org/jboss/test/profileservice/|org/jboss/test/proxycompiler/|org/jboss/test/readahead/|org/jboss/test/refs/|org/jboss/test/retry/|org/jboss/test/scoped/|org/jboss/test/s!
 ecurity/|org/jboss/test/securitymgr/|org/jboss/test/session/|o!
 rg/jboss
/test/sessionsync/|org/jboss/test/snmp/|org/jboss/test/spring/|org/jboss/test/stax/|org/jboss/test/testbean/|org/jboss/test/testbean2/|org/jboss/test/testbeancluster/|org/jboss/test/testbyvalue/|org/jboss/test/threading/|org/jboss/test/timer/|org/jboss/test/tm/|org/jboss/test/txiiop/|org/jboss/test/txtimer/|org/jboss/test/varia/|org/jboss/test/web/|org/jboss/test/webservice/|org/jboss/test/ws/|org/jboss/test/xa/|org/jboss/test/xml/|org/jboss/test/xslt/" kind="src" path="src/main"/>
+	<classpathentry excluding="org/jboss/test/cts/ejb/CtsCmp2SessionBean.java|org/jboss/test/cts/interfaces/CtsCmp2LocalHome.java|org/jboss/test/classloader/scoping/singleton/TestService.java" kind="src" path="src/main"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
 	<classpathentry kind="output" path="target/classes"/>

Modified: branches/vfs3-int/testsuite/build.xml
===================================================================
--- branches/vfs3-int/testsuite/build.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/build.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -181,7 +181,6 @@
       <fileset refid="org.jboss.aop:jboss-aop-asintegration-mc:jar"/>
       <fileset refid="org.jboss.aop:jboss-aop-aspects:jar"/>
       <fileset refid="org.jboss.aop:jboss-aop-deployers:jar"/>
-      <fileset refid="org.jboss.aop:jrockit-pluggable-instrumentor:jar"/>
       <fileset refid="org.jboss.aop:pluggable-instrumentor:jar"/>
     </path>
     <path id="org.springframework.classpath">
@@ -273,7 +272,7 @@
       <fileset refid="org.jboss.ejb3:jboss-ejb3-proxy-impl:jar"/>
       <fileset refid="org.jboss.ejb3:jboss-ejb3-proxy-impl:jar:client"/>
       <fileset refid="org.jboss.ejb3:jboss-ejb3-proxy-spi:jar:client"/>
-      <fileset refid="org.hibernate.java-persistence:jpa-api:jar"/>
+      <fileset refid="org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar"/>
       <fileset refid="org.hibernate:hibernate-annotations:jar"/>
       <fileset refid="org.hibernate:hibernate-core:jar"/>
       <fileset refid="org.hibernate:hibernate-entitymanager:jar"/>
@@ -305,6 +304,7 @@
       <fileset refid="org.jboss.integration:jboss-profileservice-spi:jar"/>
       <fileset refid="org.jboss.service.binding:jboss-service-binding-core:jar"/>
       <fileset refid="org.jboss.service.binding:jboss-service-binding-mgmt:jar"/>
+      <fileset refid="org.jboss.stdio:jboss-stdio:jar"/>
       <fileset refid="stax:stax-api:jar"/>
       <!-- needed for messaging JMS provider tests -->
       <fileset refid="jboss.messaging:jboss-messaging:jar"/>
@@ -412,7 +412,6 @@
       <fileset refid="org.jboss.jbossas:jboss-as-connector:jar:jboss-jca-deployer"/>
       <fileset refid="org.jboss.jbossas:jboss-as-connector:jar:jboss-local-jdbc"/>
       <fileset refid="org.jboss.jbossas:jboss-as-connector:jar:jboss-common-jdbc-wrapper"/>
-      <fileset refid="org.jboss.jbossas:jboss-as-jmx-remoting:jar"/>
       <fileset refid="org.jboss.jbossas:jboss-as-management:jar"/>
       <fileset refid="org.jboss.jbossas:jboss-as-management:jar:jsr77"/>
       <fileset refid="org.jboss.jbossas:jboss-as-management:jar:jsr77-client"/>
@@ -467,7 +466,6 @@
       <pathelement path="${project.tools}/ant/lib/ant-junit.jar"/>
       <fileset refid="org.jboss.jbossas:jboss-as-ejb3:jar"/>
       <fileset refid="org.jboss.jbossas:jboss-as-ejb3:jar:client"/>
-      <fileset refid="org.jboss.jbossas:jboss-as-jmx-remoting:jar"/>
       <fileset refid="org.jboss.test:jboss-test:jar"/>
       <path refid="org.jboss.jbossas.tomcat.classpath"/>
       <path refid="thirdparty.classpath"/>
@@ -487,7 +485,6 @@
       <pathelement path="${project.tools}/ant/lib/ant-junit.jar"/>
       <fileset refid="org.jboss.jbossas:jboss-as-ejb3:jar"/>
       <fileset refid="org.jboss.jbossas:jboss-as-ejb3:jar:client"/>
-      <fileset refid="org.jboss.jbossas:jboss-as-jmx-remoting:jar"/>
       <fileset refid="org.jboss.test:jboss-test:jar"/>
       <path refid="thirdparty.classpath"/>
     </path>
@@ -1134,6 +1131,13 @@
   <patternset id="springdeployer.excludes">
     <exclude name="org/jboss/test/spring/test/*TestCase.class"/>
   </patternset>
+  <patternset id="jbas7273.excludes">
+    <exclude name="org/jboss/test/ejb3/servlet/unit/ServletUnitTestCase.class"/>
+    <exclude name="org/jboss/test/ejb3/servlet/unit/EarServletUnitTestCase.class" /> 
+  </patternset>
+  <patternset id="ondemand.war.includes">
+  	  <include name="org/jboss/test/web/test/BasicOnDemandWarTestCase.class"/>
+  </patternset>
 
    <!-- Tests that are currently broken -->
    <patternset id="badtest.excludes">
@@ -1166,6 +1170,9 @@
         -->
       <!-- JBAS-7569 -->
       <exclude name="org/jboss/test/console/jbas3861/JBAS3861UnitTestCase.class"/>
+   	
+   	<!-- JBAS-7703 -->
+   	<exclude name="org/jboss/test/web/test/JSPAnnotationENCUnitTestCase.class"/>
    </patternset>
 
    <patternset id="aop-with-classloader.excludes">
@@ -1198,6 +1205,7 @@
       <patternset refid="profileservice.restart.excludes"/>
       <patternset refid="jbossmessaging.excludes"/>
       <patternset refid="springdeployer.excludes"/>
+      <patternset refid="jbas7273.excludes"/>
    </patternset>
 
    <!-- A target that allows for conditional dependency on the compilation and
@@ -1231,9 +1239,6 @@
       <antcall target="tomcat-webctx-tests" inheritRefs="true"/>
       <antcall target="tomcat-federation-tests" inheritRefs="true"/>
       <antcall target="tests-binding-manager" inheritRefs="true"/>
-      <antcall target="tests-jacc-security" inheritRefs="true"/>
-      <antcall target="tests-jacc-securitymgr" inheritRefs="true"/>
-      <antcall target="tests-jacc-security-allstarrole" inheritRefs="true"/>
 <!--
       <antcall target="tests-security-jaspi-unit"/>
 -->
@@ -1245,9 +1250,17 @@
       <antcall target="tests-aop-scoped" inheritRefs="true"/>
       <antcall target="jrmp-invoker-tests" inheritRefs="true"/>
       <antcall target="tests-clustered-profileservice" inheritRefs="true"/>
+   	<!-- JBAS-7680 the current 'web' profile is not an EE6 web profile
+   	     and doesn't include JPA, so these WebJPA tests are disabled
       <antcall target="tests-web-profile" inheritRefs="true"/>
+      -->
+   	<antcall target="tests-web-ondemand-disabled" inheritRefs="true"/>
       <antcall target="tests-jts" inheritRefs="true"/>
    	
+      <antcall target="tests-jacc-security" inheritRefs="true"/>
+      <antcall target="tests-jacc-security-allstarrole" inheritRefs="true"/>
+      <antcall target="tests-jacc-securitymgr" inheritRefs="true"/>
+   	
       <!-- JBAS-7247 classloader leak tests have been moved out of this
            target; see target tests-all-classloader-leak -->
    	
@@ -1499,6 +1512,24 @@
       <server:stop name="tomcat-federation"/>
    </target>
 
+   <!-- Tests that on-demand webapps work if started as part of server start -->
+   <target name="tests-web-ondemand-disabled" depends="init"
+      description="Tests that on-demand webapps work if started as part of server start ">
+      <create-config baseconf="default" newconf="web-ondemand-disabled">
+       <patternset>
+          <include name="conf/**"/>
+          <include name="deployers/**"/>
+          <include name="deploy/**"/>
+          <include name="lib/**"/>           
+       </patternset>
+      </create-config>
+
+      <server:start name="web-ondemand-disabled"/>
+      <run-junit junit.patternset="ondemand.war.includes"
+           junit.configuration="web-ondemand-disabled"  />
+      <server:stop name="web-ondemand-disabled"/>
+   </target>
+
    <target name="tests-binding-manager" depends="init"
      description="Test for clean startup with service binding manager">
    	
@@ -1703,7 +1734,11 @@
             <path refid="tests.classpath"/>
          </classpath>
 
-         <formatter type="xml" usefile="${junit.formatter.usefile}" extension="-web-profile.xml"/>
+         <sysproperty key="jboss-junit-configuration" value="web-profile"/>
+         <formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter"
+                    usefile="${junit.formatter.usefile}"
+                    extension="-web-profile.xml"/>
+         <formatter type="plain" usefile="${junit.formatter.usefile}" extension="-web-profile.txt"/>
 
          <batchtest todir="${build.reports}"
             haltonerror="${junit.batchtest.haltonerror}"

Modified: branches/vfs3-int/testsuite/imports/sections/cluster.xml
===================================================================
--- branches/vfs3-int/testsuite/imports/sections/cluster.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/imports/sections/cluster.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -95,15 +95,25 @@
            file="${build.resources}/cluster/hasingleton/deployer/test-deploy-hasingleton-jboss-beans.xml"
            overwrite="true"/>
     
-      <!--beans for testing HASingletonElectionPolicy -->
-   	<copy todir="${build.lib}"
-   	     file="${build.resources}/cluster/hasingleton/electionpolicy/ha-electionpolicy-jboss-beans.xml"
-   	     overwrite="true"/>
-   	     
+      <!--sar for testing HASingletonElectionPolicy -->
+   	<jar destfile="${build.lib}/ha-singleton-election.sar">
+         <metainf dir="${build.resources}/cluster/hasingleton/electionpolicy">
+            <include name="ha-electionpolicy-jboss-beans.xml"/>
+         </metainf>
+         <fileset dir="${build.classes}">
+            <include name="org/jboss/test/cluster/hasingleton/*Example*.class"/>
+         </fileset>
+      </jar> 
+   	
    	<!--beans for testing HASingletonControllerBeanUnitTestCase -->
-   	<copy todir="${build.lib}"
-   	     file="${build.resources}/cluster/hasingleton/ha-singleton-jboss-beans.xml"
-   	     overwrite="true"/>
+   	<jar destfile="${build.lib}/ha-singleton-pojo.sar">
+         <metainf dir="${build.resources}/cluster/hasingleton/">
+            <include name="ha-singleton-jboss-beans.xml"/>
+         </metainf>
+         <fileset dir="${build.classes}">
+            <include name="org/jboss/test/cluster/hasingleton/*Example*.class"/>
+         </fileset>
+      </jar> 
       
    	<!--beans for testing HAServiceUnitTestCase, HASingletonUnitTestCase -->
     <jar destfile="${build.lib}/ha-service.sar">

Modified: branches/vfs3-int/testsuite/imports/sections/ejb3.xml
===================================================================
--- branches/vfs3-int/testsuite/imports/sections/ejb3.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/imports/sections/ejb3.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -162,11 +162,22 @@
    	      </war>
    	
    </target>
+   
+   <target name="jbpapp3026" depends="compile">
+	   <mkdir dir="${build.lib}" />
+	   
+	   <jar destfile="${build.lib}/createdestination-mdb.jar">
+		   <fileset dir="${build.classes}">
+			   <include name="org/jboss/test/ejb3/jbpapp3026/**" />
+		   </fileset>
+		   <fileset dir="${build.resources}/ejb3/jbpapp3026" includes="**"/>
+	   </jar>
+   </target>
 
 
    <target name="_jars-ejb3" depends="ejb3-servlet,jbas6161,jbas6239,
       jbas7526,
-      ejbthree1597,ejbthree7376, jboss51xsd, ejb31nointerface, ejb3war">
+      ejbthree1597,ejbthree7376, jboss51xsd, ejb31nointerface, ejb3war, jbpapp3026">
       <mkdir dir="${build.lib}" />
 
       <!-- A jar with a simple ejb3 session -->

Modified: branches/vfs3-int/testsuite/imports/sections/jmx.xml
===================================================================
--- branches/vfs3-int/testsuite/imports/sections/jmx.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/imports/sections/jmx.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -770,12 +770,6 @@
          </fileset>
       </jar>
 
-      <copy todir="${build.lib}"
-            file="${build.resources}/jmx/jbosstest-urlscanner-service.xml">
-      </copy>
-      
-      <mkdir dir="${build.lib}/urlscannertest"/>
-
       <!-- Temp File Creator Service -->
       <jar destfile="${build.lib}/tempfilecreator.jar">
          <fileset dir="${build.classes}">

Modified: branches/vfs3-int/testsuite/imports/sections/seam.xml
===================================================================
--- branches/vfs3-int/testsuite/imports/sections/seam.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/imports/sections/seam.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,6 +1,8 @@
 <project name="tests-seam-jars" xmlns:maven="antlib:org.apache.maven.artifact.ant">
 
    <property name="seam_version" value="2.1.0.GA"/>
+   <property name="seam_dvd_version" value="2.1.0.SP1"/>
+   <property name="seam2_version" value="2.2.0.GA"/>
 
    <target name="_jars-seam" depends="init-maven-ant-tasks">
    	
@@ -8,11 +10,11 @@
 
 <!--
       <maven:dependencies filesetId="examples.fileset" versionsId="examples.versions">
-          <dependency groupId="org.jboss.seam.examples" artifactId="jboss-seam-booking" version="${seam_version}" type="ear"/>
-      	  <dependency groupId="org.jboss.seam.examples" artifactId="jboss-seam-booking" version="${seam_version}" type="xml" classifier="ds"/>
-      	  <dependency groupId="org.jboss.seam.examples" artifactId="jboss-seam-dvd" version="${seam_version}" type="ear"/>
-      	  <dependency groupId="org.jboss.seam.examples" artifactId="jboss-seam-dvd" version="${seam_version}" type="xml" classifier="ds"/>
-      	  <dependency groupId="org.jboss.seam.examples" artifactId="jboss-seam-numberguess" version="${seam_version}" type="ear"/>
+          <dependency groupId="org.jboss.seam.examples" artifactId="jboss-seam-booking" version="${seam2_version}" type="ear"/>
+      	  <dependency groupId="org.jboss.seam.examples" artifactId="jboss-seam-booking" version="${seam2_version}" type="xml" classifier="ds"/>
+      	  <dependency groupId="org.jboss.seam.examples" artifactId="jboss-seam-dvd" version="${seam_dvd_version}" type="ear"/>
+      	  <dependency groupId="org.jboss.seam.examples" artifactId="jboss-seam-dvd" version="${seam_dvd_version}" type="xml" classifier="ds"/>
+      	  <dependency groupId="org.jboss.seam.examples" artifactId="jboss-seam-numberguess" version="${seam2_version}" type="ear"/>
       	  <dependency groupId="org.jboss.seam.examples" artifactId="jboss-seam-jpa" version="${seam_version}" type="war"/>
       	  <remoterepository id="repository.jboss.org" url="http://repository.jboss.org/maven2"/>
       	  <remoterepository id="snapshots.jboss.org" url="http://snapshots.jboss.org/maven2"/>
@@ -30,7 +32,6 @@
             		<include name="*/*.*"/>
          	</fileset>
 	</copy>
-
    	
    </target>
    	  	

Modified: branches/vfs3-int/testsuite/imports/sections/web.xml
===================================================================
--- branches/vfs3-int/testsuite/imports/sections/web.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/imports/sections/web.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -694,6 +694,9 @@
         <fileset dir="${build.resources}/web/jspinjection">
           <include name="**/*.jsp"/>
         </fileset>
+        <classes dir="${build.classes}">
+           <include name="org/jboss/test/web/servlets/InjectionServlet.class"/>
+        </classes>         
       </war>
     <ear earfile="${build.lib}/jbosstest-jsp-injection.ear"
        appxml="${build.resources}/web/jspinjection/META-INF/application.xml">

Modified: branches/vfs3-int/testsuite/imports/server-config.xml
===================================================================
--- branches/vfs3-int/testsuite/imports/server-config.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/imports/server-config.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -778,6 +778,7 @@
       </server>
       <server name="minimal" host="${node0}" hasWebServer="false">
          <sysproperty key="jboss.vfs.forceNoReaper" value="true" />
+         <sysproperty key="jboss.boot.server.log.level" value="DEBUG" />
       </server>
       <server name="deployment-service" host="${node0}">
         <jvmarg value="-Xms128m" />
@@ -1004,6 +1005,18 @@
         <sysproperty key="jgroups.udp.ip_ttl" value="${jbosstest.udp.ip_ttl}" />
         <sysproperty key="jboss.messaging.ServerPeerID" value="1" />
       </server>
+    	
+      <server name="web-ondemand-disabled" host="${node0}">
+         <jvmarg value="${jpda.cmdline}" />
+         <jvmarg value="-Xms128m" />
+         <jvmarg value="-Xmx256m" />
+         <jvmarg value="-XX:MaxPermSize=512m" />
+         <jvmarg value="-XX:-UseGCOverheadLimit" />
+         <sysproperty key="java.net.preferIPv4Stack" value="true" />
+         <sysproperty key="java.endorsed.dirs" value="${jboss.dist}/lib/endorsed" />
+      	<!-- Disable on-demand war deployment -->
+      	<sysproperty key="jboss.as.deployment.ondemand" value="false" />
+      </server>
       
     </server:config>
   

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/DriverManagerPersistentStoreUnitTestCase.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/DriverManagerPersistentStoreUnitTestCase.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/simpleweb/test/DriverManagerPersistentStoreUnitTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -419,6 +419,8 @@
    {
       testee.start();
       
+      testee.clear();
+      
       int existing = testee.getSize();
       
       DistributableSessionMetadata md = new DistributableSessionMetadata();
@@ -719,6 +721,8 @@
       testee.setMaxUnreplicatedInterval(0);
       testee.start();
       
+      testee.clear();
+      
       int existing = testee.getSize();
       
       DistributableSessionMetadata md = new DistributableSessionMetadata();
@@ -758,6 +762,8 @@
       testee.setMaxUnreplicatedInterval(1);
       testee.start();
       
+      testee.clear();
+      
       int existing = testee.getSize();
       
       DistributableSessionMetadata md = new DistributableSessionMetadata();

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/CacheManagerUnitTestCase.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/CacheManagerUnitTestCase.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/CacheManagerUnitTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -185,10 +185,15 @@
       
       // One release does not cause registry to stop cache
       assertEquals(CacheStatus.STARTED, cache.getCacheStatus());
-      
+
       registry.stop();
       
-      // Now it's stopped
+      // Should still not be stopped
+      assertEquals(CacheStatus.STARTED, cache.getCacheStatus());
+
+      registry.releaseCache(configName);
+
+      // Now it should be stopped
       assertEquals(CacheStatus.DESTROYED, cache.getCacheStatus());
       caches.remove(cache);
       
@@ -278,10 +283,15 @@
       
       // One release does not cause registry to stop cache
       assertEquals(CacheStatus.STARTED, cache.getCache().getCacheStatus());
-      
+
       registry.stop();
-      
-      // Now it's stopped
+
+      // Should still not be stopped
+      assertEquals(CacheStatus.STARTED, cache.getCache().getCacheStatus());
+
+      registry.releaseCache(configName);
+
+      // Now it should be stopped
       assertEquals(CacheStatus.DESTROYED, cache.getCache().getCacheStatus());
       caches.remove(cache);
       

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/DRMTestCase.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/DRMTestCase.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/DRMTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -538,6 +538,7 @@
          registry1.registerConfiguration("config1", cacheConfig1);         
          
          CacheManager cacheManager1 = new CacheManager(registry1, factory1);
+         cacheManager1.start();
          
          HAPartitionCacheHandlerImpl cacheHandler1 = new HAPartitionCacheHandlerImpl();
          cacheHandler1.setCacheManager(cacheManager1);
@@ -581,6 +582,7 @@
          registry2.registerConfiguration("config2", cacheConfig2);         
          
          CacheManager cacheManager2 = new CacheManager(registry2, factory2);
+         cacheManager2.start();
          
          HAPartitionCacheHandlerImpl cacheHandler2 = new HAPartitionCacheHandlerImpl();
          cacheHandler2.setCacheManager(cacheManager2);

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/HASingletonControllerBeanUnitTestCase.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/HASingletonControllerBeanUnitTestCase.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/HASingletonControllerBeanUnitTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -31,8 +31,8 @@
 
 import junit.framework.Test;
 
-import org.jboss.ha.singleton.examples.HASingletonPojoExample;
 import org.jboss.test.JBossClusteredTestCase;
+import org.jboss.test.cluster.hasingleton.HASingletonPojoExample;
 
 /**
  * HASingletonControllerBeanUnitTestCase.
@@ -50,7 +50,7 @@
    
    public static Test suite() throws Exception
    {
-      return getDeploySetup(HASingletonControllerBeanUnitTestCase.class, "ha-singleton-jboss-beans.xml");
+      return getDeploySetup(HASingletonControllerBeanUnitTestCase.class, "ha-singleton-pojo.sar");
    }
 
    public void testBeanDeployment() throws Exception

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/HASingletonElectionPolicyTestCase.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/HASingletonElectionPolicyTestCase.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/defaultcfg/test/HASingletonElectionPolicyTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -31,8 +31,8 @@
 
 import junit.framework.Test;
 
-import org.jboss.ha.singleton.examples.HASingletonPojoExample;
 import org.jboss.test.JBossClusteredTestCase;
+import org.jboss.test.cluster.hasingleton.HASingletonPojoExample;
 
 /**
  * Unit tests for HASingletonElectionPolicy.
@@ -58,7 +58,7 @@
    public static Test suite() throws Exception
    {
       // Refer to jboss-service.xml under resources/ha/electionpolicy
-      return getDeploySetup(HASingletonElectionPolicyTestCase.class, "ha-electionpolicy-jboss-beans.xml");
+      return getDeploySetup(HASingletonElectionPolicyTestCase.class, "ha-singleton-election.sar");
    }
    
    public void testMBeanElectionPolicy() throws Exception

Copied: branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/hasingleton/HASingletonMBeanExample.java (from rev 100917, trunk/testsuite/src/main/org/jboss/test/cluster/hasingleton/HASingletonMBeanExample.java)
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/hasingleton/HASingletonMBeanExample.java	                        (rev 0)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/hasingleton/HASingletonMBeanExample.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,58 @@
+/*
+ * 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.cluster.hasingleton;
+
+import org.jboss.logging.Logger;
+
+/**
+ * <p>
+ * An sample singleton MBean.
+ * </p>
+ * 
+ * @author  Ivelin Ivanov <ivelin at apache.org>
+ * @author Scott.Stark at jboss.org
+ * @version $Revision$
+ */
+public class HASingletonMBeanExample
+   implements HASingletonMBeanExampleMBean
+{
+   private static Logger log = Logger.getLogger(HASingletonMBeanExample.class);
+   private boolean isMasterNode = false;
+
+   public void startSingleton()
+   {
+      isMasterNode = true;
+      log.info("Notified to start as singleton");
+   }
+
+   public boolean isMasterNode()
+   {
+      return isMasterNode;
+   }
+
+  public void stopSingleton( String gracefulShutdown )
+   {
+      isMasterNode = false;
+      log.info("Notified to stop as singleton with argument: " + gracefulShutdown);
+   }
+
+}

Copied: branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/hasingleton/HASingletonMBeanExampleMBean.java (from rev 100917, trunk/testsuite/src/main/org/jboss/test/cluster/hasingleton/HASingletonMBeanExampleMBean.java)
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/hasingleton/HASingletonMBeanExampleMBean.java	                        (rev 0)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/hasingleton/HASingletonMBeanExampleMBean.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,61 @@
+/*
+ * 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.cluster.hasingleton;
+
+/**
+ * 
+ * Sample Singleton MBean interface
+ * 
+ * @author  Ivelin Ivanov <ivelin at apache.org>
+ *
+ */
+public interface HASingletonMBeanExampleMBean
+{
+
+  /**
+   * 
+   * @return true if the node that this MBean is registered with
+   * is the master node for the singleton service
+   * 
+   */
+  public boolean isMasterNode();
+  
+  /**
+   * 
+   * Invoked when this mbean is elected to run the singleton service,
+   * or in other words when this node is elected for master.
+   *
+   */
+  public void startSingleton();
+  
+  /**
+   * 
+   * Invoked when this mbean is elected to no longer run the singleton service,
+   * or in other words when this node is elected for slave.
+   * 
+   * @param String gracefulShutdown is an example argument passed on singleton stop
+   *
+   */
+  public void stopSingleton( String gracefulShutdown );
+
+  
+}

Copied: branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/hasingleton/HASingletonPojoExample.java (from rev 100917, trunk/testsuite/src/main/org/jboss/test/cluster/hasingleton/HASingletonPojoExample.java)
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/hasingleton/HASingletonPojoExample.java	                        (rev 0)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/cluster/hasingleton/HASingletonPojoExample.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,78 @@
+/*
+ * 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.cluster.hasingleton;
+
+import java.io.Serializable;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+
+import org.jboss.logging.Logger;
+import org.jboss.naming.Util;
+
+/**
+ * Ha Singleton Pojo example.
+ * 
+ * @author <a href="mailto:galder.zamarreno at jboss.com">Galder Zamarreno</a>
+ */
+public class HASingletonPojoExample implements Serializable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 6823691561869778917L;
+
+   private static Logger log = Logger.getLogger(HASingletonPojoExample.class);
+   
+   private final String jndiName;
+   
+   private boolean isMasterNode;
+
+   public HASingletonPojoExample(String jndiName)
+   {
+      this.jndiName = jndiName;
+   }
+   
+   public void startSingleton() throws NamingException
+   {
+      isMasterNode = true;
+
+      InitialContext ctx = new InitialContext();
+      Util.rebind(ctx, jndiName, this);
+      
+      log.info("Notified to start as singleton and bound to jndi under " + jndiName);
+   }
+
+   public boolean isMasterNode()
+   {
+      return isMasterNode;
+   }
+
+   public void stopSingleton() throws NamingException
+   {
+      isMasterNode = false;
+      
+      InitialContext ctx = new InitialContext();
+      Util.unbind(ctx, jndiName);
+      
+      log.info("Notified to stop as singleton and unbound from jndi under " + jndiName);
+   }      
+
+}

Copied: branches/vfs3-int/testsuite/src/main/org/jboss/test/deployers/LegacyPrefixDeploymentContextComparatorTestCase.java (from rev 100917, trunk/testsuite/src/main/org/jboss/test/deployers/LegacyPrefixDeploymentContextComparatorTestCase.java)
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/deployers/LegacyPrefixDeploymentContextComparatorTestCase.java	                        (rev 0)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/deployers/LegacyPrefixDeploymentContextComparatorTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,454 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat, Inc. 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;
+
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.metadata.spi.MetaData;
+import org.jboss.metadata.spi.MutableMetaData;
+import org.jboss.metadata.spi.scope.ScopeKey;
+import org.jboss.system.deployers.LegacyPrefixDeploymentContextComparator;
+import org.jboss.test.JBossTestCase;
+
+import org.jboss.dependency.spi.DependencyInfo;
+import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.DeploymentState;
+import org.jboss.deployers.spi.attachments.Attachments;
+import org.jboss.deployers.spi.attachments.MutableAttachments;
+import org.jboss.deployers.spi.deployer.DeploymentStage;
+import org.jboss.deployers.structure.spi.ClassLoaderFactory;
+import org.jboss.deployers.structure.spi.DeploymentContext;
+import org.jboss.deployers.structure.spi.DeploymentContextVisitor;
+import org.jboss.deployers.structure.spi.DeploymentResourceLoader;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * Tests for the {@link org.jboss.system.deployers.LegacyPrefixDeploymentContextComparator}.
+ * (Test for JBPAPP-3496.)
+ *
+ * @author <a href="mailto:miclark at redhat.com">Mike M. Clark</a>
+ * 
+ * @version $Revision: $
+ */
+public class LegacyPrefixDeploymentContextComparatorTestCase extends JBossTestCase
+{
+   private Comparator<DeploymentContext> comparator = null;
+   
+   public LegacyPrefixDeploymentContextComparatorTestCase(String name)
+   {
+      super(name);
+   }
+   
+   public void setUp()
+   {
+      LegacyPrefixDeploymentContextComparator prefixComparator = new LegacyPrefixDeploymentContextComparator();
+      prefixComparator.create();
+      comparator = prefixComparator;
+   }
+
+   /**
+    * Verifies leading zeros are ignored.
+    */
+   public void testLeadingZerosIgnored()
+   {
+      DeploymentContext first = new TestDeploymentContext("001test.ear");
+      DeploymentContext second = new TestDeploymentContext("21test.ear");
+      DeploymentContext third = new TestDeploymentContext("0132test.ear");
+      
+      
+   }
+   
+   /**
+    * Verifies straight-forward ordering.
+    */
+   public void testPrefixOrdering()
+   {
+      DeploymentContext first = new TestDeploymentContext("1test.ear");
+      DeploymentContext second = new TestDeploymentContext("21test.ear");
+      DeploymentContext third = new TestDeploymentContext("132test.ear");
+      
+      ValidateFirstSecondThird(first, second, third);
+   }
+   
+   /**
+    * Verifies that a prefix tie is ordered based on the suffix.
+    */
+   public void testSuffixFallback()
+   {
+      DeploymentContext first = new TestDeploymentContext("123test.sar");
+      DeploymentContext second = new TestDeploymentContext("123test.ear");
+      
+      assertTrue("Second comes before first", comparator.compare(first, second) < 0);
+      assertTrue("First comes after second", comparator.compare(second, first) > 0);
+   }
+   
+   /**
+    * Verifies suffix configuration.
+    */
+   public void testSuffixOrderChange()
+   {
+      Map<String, Integer> suffixOrder = new HashMap<String, Integer>();
+      suffixOrder.put(".sar", 700);
+      LegacyPrefixDeploymentContextComparator prefixComparator = new LegacyPrefixDeploymentContextComparator();
+      prefixComparator.setSuffixOrder(suffixOrder);
+      prefixComparator.create();
+      
+      Comparator<DeploymentContext> changedSuffix = prefixComparator;
+      
+      DeploymentContext first = new TestDeploymentContext("test.ear");
+      DeploymentContext second = new TestDeploymentContext("test.sar");
+      
+      assertTrue("Second comes before first", changedSuffix.compare(first, second) < 0);
+      assertTrue("First comes after second", changedSuffix.compare(second, first) > 0);
+   }
+   
+   /**
+    * Verifies order indicated in 
+    * {@link org.jboss.system.deployers.LegacyPrefixDeploymentContextComparator}
+    * javadoc.
+    */
+   public void testJavaDocExample()
+   {
+      DeploymentContext first = new TestDeploymentContext("test.sar");
+      DeploymentContext second = new TestDeploymentContext("component.ear");
+      DeploymentContext third = new TestDeploymentContext("001test.jar");
+      DeploymentContext fourth = new TestDeploymentContext("5test.rar");
+      DeploymentContext fifth = new TestDeploymentContext("5foo.jar");
+      DeploymentContext sixth = new TestDeploymentContext("120bar.jar");
+      
+      assertTrue("Second comes before first", comparator.compare(first, second) < 0);
+      assertTrue("Third comes before second", comparator.compare(second, third) < 0);
+      assertTrue("Fourth comes before third", comparator.compare(third, fourth) < 0);
+      assertTrue("Fifth comes before fourth", comparator.compare(fourth, fifth) < 0);
+      assertTrue("Sixth comes before fifth", comparator.compare(fifth, sixth) < 0);
+   }
+   
+   /**
+    * Verifies non-prefixed deployments occur before prefixed deployments
+    */
+   public void testNonPrefixPrefixOrdering()
+   {
+      DeploymentContext first = new TestDeploymentContext("test.sar");
+      DeploymentContext second = new TestDeploymentContext("test.ear");
+      DeploymentContext third = new TestDeploymentContext("132test.ear");
+      
+      ValidateFirstSecondThird(first, second, third);
+   }
+   
+   private void ValidateFirstSecondThird(DeploymentContext first, DeploymentContext second, DeploymentContext third) 
+   {
+      assertTrue("Second comes before first", comparator.compare(first, second) < 0);
+      assertTrue("Third comes before first", comparator.compare(first, third) < 0);
+      assertTrue("Third comes before second", comparator.compare(second, third) < 0);
+      assertTrue("First comes after second", comparator.compare(second, first) > 0);
+      assertTrue("First comes after third", comparator.compare(third, first) > 0);
+      assertTrue("Second comes after third", comparator.compare(third, second) > 0);
+      assertTrue("First does not tie itself", comparator.compare(first, first) == 0);
+   }
+   
+   private class TestDeploymentContext implements DeploymentContext
+   {
+      private int relativeOrder = 0;
+      private String simpleName = null;
+      
+      public TestDeploymentContext(String simpleName)
+      {
+         this.simpleName = simpleName;
+      }
+      
+      public void addChild(DeploymentContext child)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void addComponent(DeploymentContext component)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void addControllerContextName(Object name)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void cleanup()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public boolean createClassLoader(ClassLoaderFactory factory) throws DeploymentException
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void deployed()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public List<DeploymentContext> getChildren()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public ClassLoader getClassLoader()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public Comparator<DeploymentContext> getComparator()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public List<DeploymentContext> getComponents()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public Object getControllerContextName()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public Set<Object> getControllerContextNames()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public DependencyInfo getDependencyInfo()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public Deployment getDeployment()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public DeploymentUnit getDeploymentUnit()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public MetaData getMetaData()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public MutableMetaData getMutableMetaData()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public ScopeKey getMutableScope()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public String getName()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public DeploymentContext getParent()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public Throwable getProblem()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public int getRelativeOrder()
+      {
+         return relativeOrder;
+      }
+
+      public String getRelativePath()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public DeploymentStage getRequiredStage()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public ClassLoader getResourceClassLoader()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public DeploymentResourceLoader getResourceLoader()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public ScopeKey getScope()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public String getSimpleName()
+      {
+         return simpleName;
+      }
+
+      public DeploymentState getState()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public DeploymentContext getTopLevel()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public boolean isComponent()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public boolean isDeployed()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public boolean isTopLevel()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public boolean removeChild(DeploymentContext child)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void removeClassLoader()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void removeClassLoader(ClassLoaderFactory factory)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public boolean removeComponent(DeploymentContext component)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void removeControllerContextName(Object name)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void setClassLoader(ClassLoader classLoader)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void setComparator(Comparator<DeploymentContext> comparator)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void setDeployment(Deployment deployment)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void setDeploymentUnit(DeploymentUnit unit)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void setMutableScope(ScopeKey key)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void setParent(DeploymentContext parent)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void setProblem(Throwable problem)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void setRelativeOrder(int relativeOrder)
+      {
+         this.relativeOrder = relativeOrder;
+      }
+
+      public void setRequiredStage(DeploymentStage stage)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void setScope(ScopeKey key)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void setState(DeploymentState state)
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void visit(DeploymentContextVisitor visitor) throws DeploymentException
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public MutableAttachments getTransientAttachments()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public MutableAttachments getTransientManagedObjects()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public Attachments getPredeterminedManagedObjects()
+      {
+         throw new UnsupportedOperationException();
+      }
+
+      public void setPredeterminedManagedObjects(Attachments predetermined)
+      {
+         throw new UnsupportedOperationException();
+      }
+   }
+   
+}

Copied: branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026 (from rev 100917, trunk/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026)

Deleted: branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForQueueCreation.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForQueueCreation.java	2010-02-12 15:20:11 UTC (rev 100917)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForQueueCreation.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -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.ejb3.jbpapp3026;
-
-import javax.ejb.ActivationConfigProperty;
-import javax.ejb.MessageDriven;
-import javax.jms.Message;
-import javax.jms.MessageListener;
-import org.jboss.logging.Logger;
-
-/**
- * SimpleMDBForQueueCreation
- *
- * @author Jaikiran Pai
- * @version $Revision: $
- */
- at MessageDriven(activationConfig =
-{
-   @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),
-   @ActivationConfigProperty(propertyName="destination", propertyValue="queue/create-destination/testQueue")
-})
-public class SimpleMDBForQueueCreation implements MessageListener
-{
-
-   private static Logger logger = Logger.getLogger(SimpleMDBForTopicCreation.class);
-   
-   public void onMessage(Message arg0)
-   {
-      logger.info("Received message " + arg0);
-      
-   }
-
-}

Copied: branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForQueueCreation.java (from rev 100917, trunk/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForQueueCreation.java)
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForQueueCreation.java	                        (rev 0)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForQueueCreation.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -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.ejb3.jbpapp3026;
+
+import javax.ejb.ActivationConfigProperty;
+import javax.ejb.MessageDriven;
+import javax.jms.Message;
+import javax.jms.MessageListener;
+import org.jboss.logging.Logger;
+
+/**
+ * SimpleMDBForQueueCreation
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+ at MessageDriven(activationConfig =
+{
+   @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"),
+   @ActivationConfigProperty(propertyName="destination", propertyValue="queue/create-destination/testQueue")
+})
+public class SimpleMDBForQueueCreation implements MessageListener
+{
+
+   private static Logger logger = Logger.getLogger(SimpleMDBForTopicCreation.class);
+   
+   public void onMessage(Message arg0)
+   {
+      logger.info("Received message " + arg0);
+      
+   }
+
+}

Deleted: branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForTopicCreation.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForTopicCreation.java	2010-02-12 15:20:11 UTC (rev 100917)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForTopicCreation.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -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.ejb3.jbpapp3026;
-
-import javax.ejb.ActivationConfigProperty;
-import javax.ejb.MessageDriven;
-import javax.jms.Message;
-import javax.jms.MessageListener;
-import org.jboss.logging.Logger;
-
-/**
- * SimpleMDBForTopicCreation
- *
- * @author Jaikiran Pai
- * @version $Revision: $
- */
- at MessageDriven(activationConfig =
-{
-   @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Topic"),
-   @ActivationConfigProperty(propertyName="destination", propertyValue="topic/create-destination/testTopic")
-})
-public class SimpleMDBForTopicCreation implements MessageListener
-{
-   private static Logger logger = Logger.getLogger(SimpleMDBForTopicCreation.class);
-   
-   public void onMessage(Message arg0)
-   {
-      logger.info("Received message " + arg0);
-      
-   }
-
-}

Copied: branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForTopicCreation.java (from rev 100917, trunk/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForTopicCreation.java)
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForTopicCreation.java	                        (rev 0)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/SimpleMDBForTopicCreation.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -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.ejb3.jbpapp3026;
+
+import javax.ejb.ActivationConfigProperty;
+import javax.ejb.MessageDriven;
+import javax.jms.Message;
+import javax.jms.MessageListener;
+import org.jboss.logging.Logger;
+
+/**
+ * SimpleMDBForTopicCreation
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+ at MessageDriven(activationConfig =
+{
+   @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Topic"),
+   @ActivationConfigProperty(propertyName="destination", propertyValue="topic/create-destination/testTopic")
+})
+public class SimpleMDBForTopicCreation implements MessageListener
+{
+   private static Logger logger = Logger.getLogger(SimpleMDBForTopicCreation.class);
+   
+   public void onMessage(Message arg0)
+   {
+      logger.info("Received message " + arg0);
+      
+   }
+
+}

Copied: branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/unit (from rev 100917, trunk/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/unit)

Deleted: branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/unit/AutoCreateDestinationForMDBTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/unit/AutoCreateDestinationForMDBTestCase.java	2010-02-12 15:20:11 UTC (rev 100917)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/unit/AutoCreateDestinationForMDBTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,100 +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.ejb3.jbpapp3026.unit;
-
-import javax.jms.Queue;
-import javax.jms.Topic;
-
-import junit.framework.Test;
-
-import org.jboss.test.JBossTestCase;
-
-/**
- * AutoCreateDestinationForMDBTestCase
- * 
- * Tests that destinations which are set to be auto created (through the use of 
- * "create-destination" on the MDB) are created successfully, when the
- * destination jndi name has forward slashes.
- * 
- * See https://jira.jboss.org/jira/browse/JBPAPP-3026 for details
- *
- * @author Jaikiran Pai
- * @version $Revision: $
- */
-public class AutoCreateDestinationForMDBTestCase extends JBossTestCase
-{
-
-   /**
-    * Constructor
-    * @param name
-    */
-   public AutoCreateDestinationForMDBTestCase(String name)
-   {
-      super(name);
-   }
-
-   /**
-    * 
-    * @return
-    * @throws Exception
-    */
-   public static Test suite() throws Exception
-   {
-      return getDeploySetup(AutoCreateDestinationForMDBTestCase.class, "createdestination-mdb.jar");
-   }
-   
-   /**
-    * Tests that a queue containing forward slashes in it's destination jndi name 
-    * is correctly created.
-    * 
-    * @throws Exception
-    */
-   public void testQueueCreationForMDB() throws Exception
-   {
-      // make sure the deployment was deployed successfully
-      serverFound();
-      // lookup queue
-      // successful lookup, in itself should be sufficient enough to prove that 
-      // the queue was created by the "create-destination" activation config property
-      // of the MDB
-      Queue queue = (Queue) this.getInitialContext().lookup("queue/create-destination/testQueue");
-      assertNotNull("Queue lookup returned null", queue);
-   }
-   
-   /**
-    * Tests that a topic containing forward slashes in it's destination jndi name 
-    * is correctly created.
-    * 
-    * @throws Exception
-    */
-   public void testTopicCreationForMDB() throws Exception
-   {
-      // make sure the deployment was deployed successfully
-      serverFound();
-      // lookup topic
-      // successful lookup, in itself should be sufficient enough to prove that 
-      // the topic was created by the "create-destination" activation config property
-      // of the MDB
-      Topic topic = (Topic) this.getInitialContext().lookup("topic/create-destination/testTopic");
-      assertNotNull("Topic lookup returned null", topic);
-   }
-}

Copied: branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/unit/AutoCreateDestinationForMDBTestCase.java (from rev 100917, trunk/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/unit/AutoCreateDestinationForMDBTestCase.java)
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/unit/AutoCreateDestinationForMDBTestCase.java	                        (rev 0)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/jbpapp3026/unit/AutoCreateDestinationForMDBTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,100 @@
+/*
+ * 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.ejb3.jbpapp3026.unit;
+
+import javax.jms.Queue;
+import javax.jms.Topic;
+
+import junit.framework.Test;
+
+import org.jboss.test.JBossTestCase;
+
+/**
+ * AutoCreateDestinationForMDBTestCase
+ * 
+ * Tests that destinations which are set to be auto created (through the use of 
+ * "create-destination" on the MDB) are created successfully, when the
+ * destination jndi name has forward slashes.
+ * 
+ * See https://jira.jboss.org/jira/browse/JBPAPP-3026 for details
+ *
+ * @author Jaikiran Pai
+ * @version $Revision: $
+ */
+public class AutoCreateDestinationForMDBTestCase extends JBossTestCase
+{
+
+   /**
+    * Constructor
+    * @param name
+    */
+   public AutoCreateDestinationForMDBTestCase(String name)
+   {
+      super(name);
+   }
+
+   /**
+    * 
+    * @return
+    * @throws Exception
+    */
+   public static Test suite() throws Exception
+   {
+      return getDeploySetup(AutoCreateDestinationForMDBTestCase.class, "createdestination-mdb.jar");
+   }
+   
+   /**
+    * Tests that a queue containing forward slashes in it's destination jndi name 
+    * is correctly created.
+    * 
+    * @throws Exception
+    */
+   public void testQueueCreationForMDB() throws Exception
+   {
+      // make sure the deployment was deployed successfully
+      serverFound();
+      // lookup queue
+      // successful lookup, in itself should be sufficient enough to prove that 
+      // the queue was created by the "create-destination" activation config property
+      // of the MDB
+      Queue queue = (Queue) this.getInitialContext().lookup("queue/create-destination/testQueue");
+      assertNotNull("Queue lookup returned null", queue);
+   }
+   
+   /**
+    * Tests that a topic containing forward slashes in it's destination jndi name 
+    * is correctly created.
+    * 
+    * @throws Exception
+    */
+   public void testTopicCreationForMDB() throws Exception
+   {
+      // make sure the deployment was deployed successfully
+      serverFound();
+      // lookup topic
+      // successful lookup, in itself should be sufficient enough to prove that 
+      // the topic was created by the "create-destination" activation config property
+      // of the MDB
+      Topic topic = (Topic) this.getInitialContext().lookup("topic/create-destination/testTopic");
+      assertNotNull("Topic lookup returned null", topic);
+   }
+}

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/nointerface/AccountManagerBean.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/nointerface/AccountManagerBean.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/nointerface/AccountManagerBean.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -40,7 +40,6 @@
    /**
     * @see org.jboss.ejb3.nointerface.integration.test.common.AccountManager#credit(int)
     */
-   @Override
    public int credit(long accountNumber, int amount)
    {
       // get current account balance of this account number, from DB.
@@ -67,7 +66,6 @@
    /**
     * @see org.jboss.ejb3.nointerface.integration.test.common.AccountManager#debit(int)
     */
-   @Override
    public int debit(long accountNumber, int amount)
    {
       // get current account balance of this account number, from DB.

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/war/deployment/CounterBeanInWEBINFLibJar.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/war/deployment/CounterBeanInWEBINFLibJar.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/war/deployment/CounterBeanInWEBINFLibJar.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -35,14 +35,12 @@
    @EJB
    private CalculatorInWEBINFClasses calculator;
    
-   @Override
    public int decrement()
    {
       this.count = this.calculator.subtract(this.count, 1);
       return this.count;
    }
 
-   @Override
    public int increment()
    {
       this.count = this.calculator.add(this.count, 1);

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/war/deployment/CounterDelegateBeanInWarEjbJarXml.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/war/deployment/CounterDelegateBeanInWarEjbJarXml.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/ejb3/war/deployment/CounterDelegateBeanInWarEjbJarXml.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -32,13 +32,11 @@
    private Counter counterBean;
 
    
-   @Override
    public int decrement()
    {
       return this.counterBean.decrement();
    }
 
-   @Override
    public int increment()
    {
       return this.counterBean.increment();

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/hibernate/mocks/MockRegionFactory.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/hibernate/mocks/MockRegionFactory.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/hibernate/mocks/MockRegionFactory.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -5,6 +5,7 @@
 
 import java.util.Properties;
 
+import org.hibernate.cache.access.AccessType;
 import org.hibernate.cache.CacheDataDescription;
 import org.hibernate.cache.CacheException;
 import org.hibernate.cache.CollectionRegion;
@@ -92,4 +93,12 @@
    {
    }
 
+   /* (non-Javadoc)
+    * @see org.hibernate.cache.RegionFactory#getDefaultAccessType()
+    */
+   public AccessType getDefaultAccessType()
+   {
+      return null;
+   }
 }
+

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/jmx/shutdown/ExitOnShutdown.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/jmx/shutdown/ExitOnShutdown.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/jmx/shutdown/ExitOnShutdown.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -43,13 +43,14 @@
       ctx.bind("ExitOnShutdown", Boolean.TRUE);
    }
 
-   protected void stopService() throws Exception
+   protected void stopService()
    {
+      final Runtime r = Runtime.getRuntime();
       Thread thread = new Thread(new Runnable()
       {
          public void run()
          {
-            System.exit(0);
+            r.exit(0);
          }
       }, "ExitOnShutdown");
       thread.start();

Copied: branches/vfs3-int/testsuite/src/main/org/jboss/test/jsf/webapp/ValidatedBean.java (from rev 100917, trunk/testsuite/src/main/org/jboss/test/jsf/webapp/ValidatedBean.java)
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/jsf/webapp/ValidatedBean.java	                        (rev 0)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/jsf/webapp/ValidatedBean.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,50 @@
+/*
+ * 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.test.jsf.webapp;
+
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.SessionScoped;
+import javax.validation.constraints.Size;
+
+/** 
+ * Simple Managed Bean that uses the Bean Validation framework.
+ *
+ * @author Stan.Silvert at jboss.org
+ */
+ at ManagedBean(name="validatedBean")
+ at SessionScoped
+public class ValidatedBean
+{
+   @Size(min=2)
+   private String name;
+
+   public String getName()
+   {
+      return name;
+   }
+
+   public void setName(String name)
+   {
+      this.name = name;
+   }
+
+}

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/messagedriven/test/SimpleQueueMessageDrivenCreateDestinationUnitTestCase.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/messagedriven/test/SimpleQueueMessageDrivenCreateDestinationUnitTestCase.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/messagedriven/test/SimpleQueueMessageDrivenCreateDestinationUnitTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -43,11 +43,11 @@
    static
    {
       if (isJBossMessaging())
-         destinationName = ObjectNameFactory.create("jboss.messaging.destination:service=Queue,name=queue/CreateDestination");
+         destinationName = ObjectNameFactory.create("jboss.messaging.destination:service=Queue,name=CreateDestination");
       else
          destinationName = ObjectNameFactory.create("jboss.mq.destination:service=Queue,name=queue/CreateDestination");
       testProps = (Properties) testQueueProps.clone();
-      testProps.put("destination", "queue/CreateDestination");
+      testProps.put("destination", "CreateDestination");
       testProps.put("createDestination", "true");
    }
    

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/messagedriven/test/SimpleTopicMessageDrivenCreateDestinationUnitTestCase.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/messagedriven/test/SimpleTopicMessageDrivenCreateDestinationUnitTestCase.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/messagedriven/test/SimpleTopicMessageDrivenCreateDestinationUnitTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -43,11 +43,11 @@
    static
    {
       if (isJBossMessaging())
-         destinationName = ObjectNameFactory.create("jboss.messaging.destination:service=Topic,name=topic/CreateDestination");
+         destinationName = ObjectNameFactory.create("jboss.messaging.destination:service=Topic,name=CreateDestination");
       else
          destinationName = ObjectNameFactory.create("jboss.mq.destination:service=Topic,name=topic/CreateDestination");
       testProps = (Properties) testTopicProps.clone();
-      testProps.put("destination", "topic/CreateDestination");
+      testProps.put("destination", "CreateDestination");
       testProps.put("createDestination", "true");
    }
    

Copied: branches/vfs3-int/testsuite/src/main/org/jboss/test/naming/test/NamingProviderURLWriterUnitTestCase.java (from rev 100917, trunk/testsuite/src/main/org/jboss/test/naming/test/NamingProviderURLWriterUnitTestCase.java)
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/naming/test/NamingProviderURLWriterUnitTestCase.java	                        (rev 0)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/naming/test/NamingProviderURLWriterUnitTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,164 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat, Inc. 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.naming.test;
+
+import java.io.File;
+import java.io.PrintWriter;
+import java.net.URI;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+import junit.framework.TestCase;
+
+import org.jboss.naming.NamingProviderURLWriter;
+import org.jboss.util.file.Files;
+
+/**
+ * Unit tests of {@link NamingProviderURLWriter}
+ *
+ * @author Brian Stansberry
+ * 
+ * @version $Revision$
+ */
+public class NamingProviderURLWriterUnitTestCase extends TestCase
+{
+   private static long count = System.currentTimeMillis();
+   private URI tempDir;
+   private CountDownLatch tearDownLatch;
+   
+   /**
+    * Create a new NamingProviderURLWriterUnitTestCase.
+    * 
+    * @param name
+    */
+   public NamingProviderURLWriterUnitTestCase(String name)
+   {
+      super(name);
+   }
+
+   protected void setUp() throws Exception
+   {
+      super.setUp();
+      
+      File tmp = new File(System.getProperty("java.io.tmpdir"));
+      File dir = new File(tmp, getClass().getSimpleName());
+      tempDir = dir.toURI();
+      dir.mkdirs();
+      dir.deleteOnExit();
+      
+      count++;
+   }
+
+   protected void tearDown() throws Exception
+   {
+      try
+      {
+         super.tearDown();
+      }
+      finally
+      {
+         if (tearDownLatch != null)
+         {
+            tearDownLatch.countDown();
+         }
+         if (tempDir != null)
+         {
+            Files.delete(new File(tempDir));
+         }
+      }
+   }
+   
+   /**
+    * JBAS-7674 -- try to lock the file that will be written and check
+    * that the NamingProviderURLWriter start/stop methods don't blow up.
+    * Note this test is only meaningful on windows.
+    * 
+    * @throws Exception
+    */
+   public void testLifecycleWithLockedFile() throws Exception
+   {
+      String fileName = "jnp-service-" + count + ".url";
+      tearDownLatch = new CountDownLatch(1);
+      CountDownLatch lockedLatch = new CountDownLatch(1);
+      FileLocker locker = new FileLocker(tempDir, fileName, null, tearDownLatch, lockedLatch);
+      
+      NamingProviderURLWriter testee = new NamingProviderURLWriter();
+      testee.setOutputDirURL(tempDir);
+      testee.setOutputFileName(fileName);
+      testee.setBootstrapAddress("localhost");
+      testee.setBootstrapPort(9999);
+      
+      Thread t = new Thread(locker);
+      t.setDaemon(true);
+      t.start();
+      assertTrue("FileLocker locked file", lockedLatch.await(10, TimeUnit.SECONDS));
+      testee.start();
+      testee.stop();
+   }
+   
+   /** Hacky attempt to "lock" a file. */
+   private static class FileLocker implements Runnable
+   {
+      private final File file;
+      private final String serviceURL;
+      private final CountDownLatch tearDownLatch;
+      private final CountDownLatch lockedLatch;
+      
+      private FileLocker(URI tempDir, String fileName, String serviceURL, CountDownLatch tearDownLatch, CountDownLatch lockedLatch)
+      {
+         this.file = new File(new File(tempDir), fileName);
+         this.tearDownLatch = tearDownLatch;
+         this.lockedLatch = lockedLatch;
+         this.serviceURL = serviceURL == null ? "jnp://localhost:1099" : serviceURL;
+      }
+
+      public void run()
+      {
+         PrintWriter writer = null;
+         try
+         {
+            writer = new PrintWriter(file);
+            writer.println(serviceURL);
+            writer.flush();
+            // Tell driver thread we're ready
+            lockedLatch.countDown();
+            // Hold lock until test completion
+            tearDownLatch.await();
+         }
+         catch (Exception e)
+         {
+            e.printStackTrace();
+         }
+         finally
+         {
+            if (writer != null)
+            {
+               writer.close();
+            }
+         }
+         
+      }
+      
+   }
+
+}

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/profileservice/test/JMXMappingUnitTestCase.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/profileservice/test/JMXMappingUnitTestCase.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/profileservice/test/JMXMappingUnitTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -22,28 +22,24 @@
 package org.jboss.test.profileservice.test;
 
 import java.net.URL;
-import java.util.Collection;
-import java.util.List;
 import java.util.Set;
 
 import javax.rmi.PortableRemoteObject;
 
 import junit.framework.Test;
+import junit.framework.TestSuite;
 
 import org.jboss.deployers.spi.management.ManagementView;
 import org.jboss.managed.api.ComponentType;
 import org.jboss.managed.api.ManagedComponent;
-import org.jboss.managed.api.ManagedOperation;
 import org.jboss.managed.api.ManagedProperty;
 import org.jboss.managed.api.RunState;
 import org.jboss.metatype.api.values.CompositeValue;
 import org.jboss.metatype.api.values.MetaValue;
 import org.jboss.metatype.api.values.SimpleValue;
-import org.jboss.metatype.api.values.TableValue;
 import org.jboss.test.ejb.proxy.beans.StatefulCounter;
 import org.jboss.test.ejb.proxy.beans.StatefulCounterHome;
-import org.jboss.test.ejb.proxy.beans.HandleRetrievalStatefulSessionInterceptor.RetrievalMethodHandle;
-import org.jboss.test.ejb.proxy.test.ProxyLogicTestCase;
+import org.jboss.test.util.web.HttpUtils;
 
 /**
  * Tests JMX components exposed outside the MC
@@ -59,7 +55,22 @@
 
    public static Test suite() throws Exception
    {
-      return getDeploySetup(JMXMappingUnitTestCase.class, "ejbproxy-test.jar");
+      final TestSuite suite = new TestSuite();
+      
+      suite.addTest(new JMXMappingUnitTestCase("testEjbMetrics"));
+      
+      // Make sure the jmx-console is deployed
+      suite.addTest(new JMXMappingUnitTestCase("deployWebApp"));
+      
+      suite.addTest(new JMXMappingUnitTestCase("testConnector"));
+      suite.addTest(new JMXMappingUnitTestCase("testContextMO"));
+      suite.addTest(new JMXMappingUnitTestCase("testRunState"));
+      suite.addTest(new JMXMappingUnitTestCase("testServlet"));
+      suite.addTest(new JMXMappingUnitTestCase("testWebApplication"));
+      suite.addTest(new JMXMappingUnitTestCase("testWebApplicationManager"));
+      suite.addTest(new JMXMappingUnitTestCase("testWebHost"));
+
+      return getDeploySetup(suite, "ejbproxy-test.jar");
    }
 
    public void testEjbMetrics() throws Exception
@@ -94,6 +105,14 @@
       fail("Could not find EJB!");
    }
 
+   public void deployWebApp() throws Exception
+   {
+      // Deploy the jmx-console, in case it's getting deployed on-demand 
+      // @see https://jira.jboss.org/jira/browse/JBAS-7713
+      String baseURL = HttpUtils.getBaseURL();
+      HttpUtils.accessURL(new URL(baseURL + "jmx-console"));      
+   }
+   
    public void testWebApplicationManager()
       throws Exception
    {

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/profileservice/test/ProfileServiceUnitTestCase.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/profileservice/test/ProfileServiceUnitTestCase.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/profileservice/test/ProfileServiceUnitTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -169,11 +169,9 @@
     		"deploy/jboss-local-jdbc.rar/",
     		"deploy/jboss-xa-jdbc.rar/",
     		"deploy/jca-jboss-beans.xml",
-    		"deploy/jbossws-console.war/",
          "deploy/messaging/connection-factories-service.xml",
          "deploy/messaging/destinations-service.xml",
     		"deploy/jms-ra.rar/",
-    		"deploy/jmx-console.war/",
     		"deploy/jmx-invoker-service.xml",
     		"deploy/jmx-remoting.sar/",
     		"deploy/jsr88-service.xml",

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/profileservice/test/SecurityManagedObjectsTestCase.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/profileservice/test/SecurityManagedObjectsTestCase.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/profileservice/test/SecurityManagedObjectsTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -320,7 +320,7 @@
       // verify that the component has the expected managed properties.
       Map<String, ManagedProperty> properties = component.getProperties();
       assertNotNull(properties);
-      assertEquals("Unexpected number of properties", 20, properties.size());
+      assertEquals("Unexpected number of properties", 22, properties.size());
       assertTrue("Missing expected property: securityDomain", properties.containsKey("securityDomain"));
       assertTrue("Missing expected property: state", properties.containsKey("state"));
       // keystore and truststore configuration properties.
@@ -328,9 +328,11 @@
       assertTrue("Missing expected property: keyStoreURL", properties.containsKey("keyStoreURL"));
       assertTrue("Missing expected property: keyStorePass", properties.containsKey("keyStorePass"));
       assertTrue("Missing expected property: keyStoreAlias", properties.containsKey("keyStoreAlias"));
+      assertTrue("Missing expected property: keyStoreProviderArgument", properties.containsKey("keyStoreProviderArgument"));
       assertTrue("Missing expected property: trustStoreType", properties.containsKey("trustStoreType"));
       assertTrue("Missing expected property: trustStoreURL", properties.containsKey("trustStoreURL"));
       assertTrue("Missing expected property: trustStorePass", properties.containsKey("trustStorePass"));
+      assertTrue("Missing expected property: trustStoreProviderArgument", properties.containsKey("trustStoreProviderArgument"));
       // security manager service injection properties.
       assertTrue("Missing expected property: managerServiceName", properties.containsKey("managerServiceName"));
       assertTrue("Missing expected property: securityManagement", properties.containsKey("securityManagement"));

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/tm/resource/MTOperation.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/tm/resource/MTOperation.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/tm/resource/MTOperation.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -80,7 +80,10 @@
    
    /** Set when an exception is expected */
    protected Throwable throwable;
-   
+
+   /** If a throwable is required, or only *may* occur */
+   private boolean require;
+
    // Static Methods ------------------------------------------------
    
    /**
@@ -134,9 +137,15 @@
 
    public MTOperation(int op, int id, Throwable throwable)
    {
+      this(op, id, throwable, true);
+   }
+
+   public MTOperation(int op, int id, Throwable throwable, boolean require)
+   {
       this.id = new Integer(id);
       this.op = op;
       this.throwable = throwable;
+      this.require = require;
    }
    
    // Public Methods ------------------------------------------------
@@ -189,20 +198,20 @@
          caught = t;
       }
 
-      // expected an exception but caught none
-      if (throwable != null && caught == null)
+      // required an exception but caught none
+      if (require && throwable != null && caught == null)
       {
          throw new Exception("Expected throwable " + throwable);
       }
-      
-      // expected an exception but caught the wrong one
-      if (throwable != null && (throwable.getClass().isAssignableFrom(caught.getClass())) == false)
+
+      // got an exception, but it was the wrong one
+      if (throwable != null && caught != null && !throwable.getClass().isAssignableFrom(caught.getClass()))
       {
          log.warn("Caught wrong throwable", caught);
          throw new Exception("Expected throwable " + throwable + " caught " + caught);
       }
-      
-      // did not expect an exception bug caught one
+
+      // did not expect an exception but caught one
       if (throwable == null && caught != null)
       {
          log.warn("Caught unexpected throwable", caught);

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/tm/test/MTTransactionManagerUnitTestCase.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/tm/test/MTTransactionManagerUnitTestCase.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/tm/test/MTTransactionManagerUnitTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -191,9 +191,11 @@
                new MTOperation(MTOperation.TM_BEGIN, 10),
                new MTOperation(MTOperation.TM_GET_STATUS),
                new MTOperation(MTOperation.XX_SLEEP_200),
-               new MTOperation(MTOperation.TM_GET_STATUS),               
-               new MTOperation(MTOperation.TM_COMMIT, -1, new IllegalStateException())
-   
+               new MTOperation(MTOperation.TM_GET_STATUS),
+
+               // FIXME - JBTM-558
+               new MTOperation(MTOperation.TM_COMMIT, -1, new RollbackException(), false)
+
             }
             ,
             {

Copied: branches/vfs3-int/testsuite/src/main/org/jboss/test/web/servlets/InjectionServlet.java (from rev 100917, trunk/testsuite/src/main/org/jboss/test/web/servlets/InjectionServlet.java)
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/web/servlets/InjectionServlet.java	                        (rev 0)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/web/servlets/InjectionServlet.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,81 @@
+/*
+ * 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.web.servlets;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.rmi.PortableRemoteObject;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.sql.DataSource;
+import javax.ejb.EJB;
+import javax.servlet.annotation.WebServlet;
+
+import org.jboss.test.web.ejb3.SimpleStateful;
+import org.jboss.test.web.ejb3.SimpleStateless;
+import org.jboss.test.web.util.Util;
+
+/** A servlet that accesses an EJB using injection.
+
+ @author Remy Maucherat
+ @version $Revision: 81036 $
+ */
+ at WebServlet("/injection")
+public class InjectionServlet extends HttpServlet
+{
+	
+	@EJB(mappedName = "simpleStatefulMappedName")
+	private SimpleStateful simpleStateful;
+	   
+	@EJB
+	private SimpleStateless simpleStateless;
+	
+   protected void processRequest(HttpServletRequest request, HttpServletResponse response)
+         throws ServletException, IOException
+   {
+	   assert simpleStateful != null : "simpleStateful is null";
+	   assert simpleStateless != null : "simpleStateless is null";
+
+	   assert simpleStateful.doSomething() == true : "simpleStateful returned false";
+	   assert simpleStateless.doSomething() == true : "simpleStateless returned false";
+	   
+	   response.getWriter().print("Test passed. Stateless EJB is " + simpleStateless);
+   }
+
+   protected void doGet(HttpServletRequest request, HttpServletResponse response)
+         throws ServletException, IOException
+   {
+      processRequest(request, response);
+   }
+
+   protected void doPost(HttpServletRequest request, HttpServletResponse response)
+         throws ServletException, IOException
+   {
+      processRequest(request, response);
+   }
+}

Copied: branches/vfs3-int/testsuite/src/main/org/jboss/test/web/test/BasicOnDemandWarTestCase.java (from rev 100917, trunk/testsuite/src/main/org/jboss/test/web/test/BasicOnDemandWarTestCase.java)
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/web/test/BasicOnDemandWarTestCase.java	                        (rev 0)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/web/test/BasicOnDemandWarTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,69 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat, Inc. 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.web.test;
+
+import java.net.URL;
+
+import org.jboss.test.JBossTestCase;
+import org.jboss.test.util.web.HttpUtils;
+
+/**
+ * Simple test that accessing the "on demand" webapps works.
+ * 
+ * This test is meant to be executed with on-demand deployment of webapps enabled
+ * and disabled.
+ *
+ * @author Brian Stansberry
+ * 
+ * @version $Revision$
+ */
+public class BasicOnDemandWarTestCase extends JBossTestCase
+{
+   private String baseURL = HttpUtils.getBaseURLNoAuth();
+   
+   public BasicOnDemandWarTestCase(String name)
+   {
+      super(name);
+   }
+
+   public void testAdminConsole() throws Exception
+   {
+      onDemandWarTest("admin-console");
+   }
+   
+   public void testJmxConsole() throws Exception
+   {
+      onDemandWarTest("jmx-console");
+   }
+   
+   public void testJBossWSConsole() throws Exception
+   {
+      onDemandWarTest("jbossws");
+   }
+   
+   private void onDemandWarTest(String contextName) throws Exception
+   {
+      URL url = new URL(baseURL + contextName);
+      HttpUtils.accessURL(url);
+   }
+}

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/web/test/JSFIntegrationUnitTestCase.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/web/test/JSFIntegrationUnitTestCase.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/web/test/JSFIntegrationUnitTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -75,7 +75,7 @@
       assertTrue(responseBody.contains("JBoss Color selection is PURPLE"));
 
    }   
-
+/* Disabled for now.  JBAS-7660
    public void testJSFAppWithBundledMyFaces() throws Exception
    {
       String baseURL = HttpUtils.getBaseURL();
@@ -92,7 +92,7 @@
       SubmitButton submitButton = form.getSubmitButtonWithID("form1:submit_button");
       webResponse = form.submit(submitButton);
       assertTrue(webResponse.getText().contains("Hello Stan"));
-   }
+   } */
    
    public void testBeanValidationIntegratedWithJSF() throws Exception
    {
@@ -148,11 +148,11 @@
          {
             super.setUp();
             deploy("jbosstest-jsf.war");   
-            deploy("bundled-myfaces-hellojsf.war");            
+         // JBAS-7660  deploy("bundled-myfaces-hellojsf.war");
          }
          protected void tearDown() throws Exception
          {
-            undeploy("bundled-myfaces-hellojsf.war");
+        // JBAS-7660    undeploy("bundled-myfaces-hellojsf.war");
             undeploy("jbosstest-jsf.war");
             super.tearDown();            
          }

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/web/test/JSPAnnotationENCUnitTestCase.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/web/test/JSPAnnotationENCUnitTestCase.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/web/test/JSPAnnotationENCUnitTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -81,5 +81,16 @@
       HttpUtils.accessURL(url);
    }
    
+   /**
+    * Access a nested annotated class in a straight servlet.
+    * 
+    * @throws Exception
+    */
+   public void testNestedEjbServletAnnotations() throws Exception
+   {
+      URL url = new URL(baseURL+"simple-jsponly/injection");
+      HttpUtils.accessURL(url);
+   }
+   
 }
 

Copied: branches/vfs3-int/testsuite/src/main/org/jboss/test/web/test/OnDemandContextProfileManagerUnitTestCase.java (from rev 100917, trunk/testsuite/src/main/org/jboss/test/web/test/OnDemandContextProfileManagerUnitTestCase.java)
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/web/test/OnDemandContextProfileManagerUnitTestCase.java	                        (rev 0)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/web/test/OnDemandContextProfileManagerUnitTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,477 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat, Inc. 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.web.test;
+
+import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.capture;
+import static org.easymock.EasyMock.createNiceMock;
+import static org.easymock.EasyMock.eq;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.reset;
+import static org.easymock.EasyMock.resetToStrict;
+import static org.easymock.EasyMock.verify;
+
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.easymock.Capture;
+import org.jboss.profileservice.spi.Profile;
+import org.jboss.profileservice.spi.ProfileFactory;
+import org.jboss.profileservice.spi.ProfileKey;
+import org.jboss.profileservice.spi.ProfileService;
+import org.jboss.profileservice.spi.metadata.ProfileMetaData;
+import org.jboss.profileservice.spi.metadata.ProfileSourceMetaData;
+import org.jboss.web.tomcat.service.ondemand.ContextDemandListener;
+import org.jboss.web.tomcat.service.ondemand.OnDemandContextIntegrator;
+import org.jboss.web.tomcat.service.ondemand.OnDemandContextProfileManager;
+
+/**
+ * Unit tests of {@link OnDemandContextProfileManager}
+ *
+ * @author Brian Stansberry
+ * 
+ * @version $Revision$
+ */
+public class OnDemandContextProfileManagerUnitTestCase extends TestCase
+{
+
+   /**
+    * Create a new OnDemandContextProfileManagerUnitTestCase.
+    * 
+    * @param name
+    */
+   public OnDemandContextProfileManagerUnitTestCase(String name)
+   {
+      super(name);
+   }
+
+   public void testGetProfileKey()
+   {
+      OnDemandContextProfileManager testee = new OnDemandContextProfileManager();
+      try
+      {
+         testee.getProfileKey();
+         fail("getProfileKey() must throw ISE if no profileName or contextName configured");
+      }
+      catch (IllegalStateException good) {}
+      
+      testee = new OnDemandContextProfileManager();
+      testee.setContextName("");
+      ProfileKey key = testee.getProfileKey();
+      assertEquals(ProfileKey.DEFAULT, key.getDomain());
+      assertEquals(ProfileKey.DEFAULT, key.getServer());
+      assertEquals(OnDemandContextProfileManager.DEFAULT_ROOT_WAR_PROFILE_NAME, key.getName());
+      
+      testee = new OnDemandContextProfileManager();
+      testee.setContextName("context");
+      key = testee.getProfileKey();
+      assertEquals(ProfileKey.DEFAULT, key.getDomain());
+      assertEquals(ProfileKey.DEFAULT, key.getServer());
+      assertEquals("context.war", key.getName());
+      
+      testee = new OnDemandContextProfileManager();
+      testee.setProfileName("profile");
+      key = testee.getProfileKey();
+      assertEquals(ProfileKey.DEFAULT, key.getDomain());
+      assertEquals(ProfileKey.DEFAULT, key.getServer());
+      assertEquals("profile", key.getName());
+      
+      testee = new OnDemandContextProfileManager();
+      testee.setProfileDomain("domain");
+      testee.setProfileServer("server");
+      testee.setProfileName("profile");
+      key = testee.getProfileKey();
+      assertEquals("domain", key.getDomain());
+      assertEquals("server", key.getServer());
+      assertEquals("profile", key.getName());
+   }
+   
+   public void testRequiredInjections() throws Exception
+   {
+      OnDemandContextProfileManager testee = new OnDemandContextProfileManager();
+      try
+      {
+         testee.start();
+         fail("start() must throw ISE if injections are incomplete");
+      }
+      catch (IllegalStateException good) {}
+      
+      testee.setProfileFactory(createNiceMock(ProfileFactory.class));
+      try
+      {
+         testee.start();
+         fail("start() must throw ISE if injections are incomplete");
+      }
+      catch (IllegalStateException good) {}
+      
+      testee.setProfileService(createNiceMock(ProfileService.class));
+      try
+      {
+         testee.start();
+         fail("start() must throw ISE if injections are incomplete");
+      }
+      catch (IllegalStateException good) {}
+      
+      testee.setOnDemandContextIntegrator(createNiceMock(OnDemandContextIntegrator.class));
+      try
+      {
+         testee.start();
+         fail("start() must throw ISE if injections are incomplete");
+      }
+      catch (IllegalStateException good) {}
+           
+      testee.setServiceName("service");
+      try
+      {
+         testee.start();
+         fail("start() must throw ISE if injections are incomplete");
+      }
+      catch (IllegalStateException good) {}
+           
+      testee.setHostName("host");
+      try
+      {
+         testee.start();
+         fail("start() must throw ISE if injections are incomplete");
+      }
+      catch (IllegalStateException good) {}
+           
+      testee.setContextName("context");
+      try
+      {
+         testee.start();
+         fail("start() must throw ISE if injections are incomplete");
+      }
+      catch (IllegalStateException good) {}
+      
+      testee.setSingleURI(new URI("file:///tmp"));
+      // Now everything needed is there
+      testee.start();
+      
+   }
+   
+   public void testURIConfiguration() throws Exception
+   {
+      OnDemandContextProfileManager testee = new OnDemandContextProfileManager();
+      List<URI> list = Arrays.asList(new URI("http://127.0.0.1"), new URI("file:///tmp"));
+      testee.setURIList(list);
+      assertEquals(list, testee.getURIList());
+      assertNull(testee.getSingleURI());
+      URI single = new URI("file://c:/");
+      testee.setSingleURI(single);
+      List<URI> singleList = Arrays.asList(single);
+      assertEquals(singleList, testee.getURIList());
+      assertEquals(single, testee.getSingleURI());
+      testee.setURIList(list);
+      assertEquals(list, testee.getURIList());
+      assertNull(testee.getSingleURI());
+      testee.setURIList(singleList);
+      assertEquals(singleList, testee.getURIList());
+      assertEquals(single, testee.getSingleURI());
+      testee.setURIList(list);
+      assertEquals(list, testee.getURIList());
+      assertNull(testee.getSingleURI());
+      
+      try
+      {
+         testee.setURIList(null);
+         fail("Setting null URI list did not throw IAE");
+      }
+      catch (IllegalArgumentException good) {}
+      
+      try
+      {
+         testee.setSingleURI(null);
+         fail("Setting null single URI did not throw IAE");
+      }
+      catch (IllegalArgumentException good) {}
+      
+      List<URI> spottylist = Arrays.asList(new URI("http://127.0.0.1"), null, new URI("file:///tmp"));
+      testee.setURIList(spottylist);
+      assertEquals(list, testee.getURIList());
+      assertNull(testee.getSingleURI());
+      
+      spottylist = Arrays.asList(null, new URI("http://127.0.0.1"), new URI("file:///tmp"));
+      testee.setURIList(spottylist);
+      assertEquals(list, testee.getURIList());
+      assertNull(testee.getSingleURI());
+      
+      spottylist = Arrays.asList(new URI("http://127.0.0.1"), new URI("file:///tmp"), null);
+      testee.setURIList(spottylist);
+      assertEquals(list, testee.getURIList());
+      assertNull(testee.getSingleURI());
+   }
+   
+   public void testOnDemandEnabledStart() throws Exception
+   {
+      TesteeSet ts = new TesteeSet();
+      Profile profile = createNiceMock(Profile.class);
+      Capture<ProfileMetaData> capture = new Capture<ProfileMetaData>();
+      expect(ts.profileFactory.createProfile(eq(ts.testee.getProfileKey()), capture(capture))).andReturn(profile);
+      ts.profileService.registerProfile(profile);
+      ContextDemandListener cdl = anyObject();
+      ts.integrator.registerContextDemandListener(cdl);
+      ts.integrator.registerOnDemandContext("service", "host", "/context");
+      
+      replay(ts.profileFactory);
+      replay(ts.profileService);
+      replay(ts.integrator);
+      
+      ts.testee.start();
+      
+      ProfileMetaData md = capture.getValue();
+      assertNotNull(md);
+      ProfileSourceMetaData psmd = md.getSource();
+      assertNotNull(psmd);
+      assertEquals(Arrays.asList(ts.testee.getSingleURI().toString()), psmd.getSources());
+      
+      verify(ts.profileFactory);
+      verify(ts.profileService);
+      verify(ts.integrator);
+      
+      assertFalse(ts.testee.isActivated());
+   }
+   
+   public void testOnDemandDisabledStart() throws Exception
+   {
+      TesteeSet ts = new TesteeSet();
+      ProfileKey profKey = ts.testee.getProfileKey();
+      Profile profile = createNiceMock(Profile.class);
+      Capture<ProfileMetaData> capture = new Capture<ProfileMetaData>();
+      expect(ts.profileFactory.createProfile(eq(profKey), capture(capture))).andReturn(profile);
+      
+      resetToStrict(ts.profileService);
+      ts.profileService.registerProfile(profile);
+      Collection<ProfileKey> profiles = Collections.emptyList();
+      expect(ts.profileService.getActiveProfileKeys()).andReturn(profiles);
+      ts.profileService.activateProfile(profKey);
+      replay(ts.profileFactory);
+      replay(ts.profileService);
+      replay(ts.integrator);
+      
+      ts.testee.setActivateOnDemand(false);
+      ts.testee.start();
+      
+      ProfileMetaData md = capture.getValue();
+      assertNotNull(md);
+      ProfileSourceMetaData psmd = md.getSource();
+      assertNotNull(psmd);
+      assertEquals(Arrays.asList(ts.testee.getSingleURI().toString()), psmd.getSources());
+      
+      verify(ts.profileFactory);
+      verify(ts.profileService);
+      verify(ts.integrator);
+      
+      assertTrue(ts.testee.isActivated());
+      
+   }
+   
+   public void testStopAfterActivation() throws Exception
+   {
+      TesteeSet ts = new TesteeSet();
+      ts.testee.start();
+      
+      assertFalse(ts.testee.isActivated());
+      
+      Collection<ProfileKey> profiles = Collections.emptyList();
+      expect(ts.profileService.getActiveProfileKeys()).andReturn(profiles);
+      replay(ts.profileService);
+      
+      ts.testee.activateProfile();
+      
+      assertTrue(ts.testee.isActivated());
+      
+      resetToStrict(ts.profileService);
+      reset(ts.integrator);
+      
+      Collection<ProfileKey> keys = Collections.singletonList(ts.testee.getProfileKey());
+      expect(ts.profileService.getActiveProfileKeys()).andReturn(keys);
+      ts.profileService.deactivateProfile(ts.testee.getProfileKey());
+      ts.profileService.unregisterProfile(ts.testee.getProfileKey());
+      ContextDemandListener cdl = anyObject();
+      ts.integrator.removeContextDemandListener(cdl);
+      
+      replay(ts.profileService);
+      replay(ts.integrator);
+      
+      ts.testee.stop();
+      
+      verify(ts.integrator);
+      verify(ts.profileService);
+      
+      assertFalse(ts.testee.isActivated());
+   }
+   
+   public void testStopWithoutActivation() throws Exception
+   {
+      TesteeSet ts = new TesteeSet();
+      ts.testee.start();
+      
+      assertFalse(ts.testee.isActivated());
+      
+      resetToStrict(ts.profileService);
+      reset(ts.integrator);
+      
+      Collection<ProfileKey> keys = Collections.emptyList();
+      expect(ts.profileService.getActiveProfileKeys()).andReturn(keys);
+      ts.profileService.unregisterProfile(ts.testee.getProfileKey());
+      ContextDemandListener cdl = anyObject();
+      ts.integrator.removeContextDemandListener(cdl);
+      
+      replay(ts.profileService);
+      replay(ts.integrator);
+      
+      ts.testee.stop();
+      
+      verify(ts.integrator);
+      verify(ts.profileService);
+   }
+   
+   public void testStopAfterFailedStart() throws Exception
+   {
+      // Case 1: it has a ProfileService and ProfileKey
+      OnDemandContextProfileManager testee = new OnDemandContextProfileManager();
+      ProfileService ps = createNiceMock(ProfileService.class);
+      testee.setProfileService(ps);
+      testee.setContextName("context");
+      ProfileKey key = testee.getProfileKey();
+      try
+      {
+         testee.start();
+         fail("should have thrown ISE");
+      }
+      catch (IllegalStateException expected)
+      {
+         resetToStrict(ps);
+         Collection<ProfileKey> profiles = Collections.emptyList();
+         expect(ps.getActiveProfileKeys()).andReturn(profiles);
+         ps.unregisterProfile(key);
+         replay(ps);
+         testee.stop();
+         verify(ps);
+      }
+      
+      // Case 2: it has nothing
+      testee = new OnDemandContextProfileManager();
+      try
+      {
+         testee.start();
+         fail("should have thrown ISE");
+      }
+      catch (IllegalStateException expected)
+      {
+         testee.stop();
+      }
+   }
+   
+   public void testActivateProfile() throws Exception
+   {
+      TesteeSet ts = new TesteeSet();
+      Profile profile = createNiceMock(Profile.class);
+      ProfileMetaData md = anyObject();
+      expect(ts.profileFactory.createProfile(eq(ts.testee.getProfileKey()), md)).andReturn(profile);
+      
+      replay(ts.profileFactory);
+      replay(ts.profileService);
+      replay(ts.integrator);
+      
+      ts.testee.start();
+      
+      assertFalse(ts.testee.isActivated());
+      
+      resetToStrict(ts.profileService);
+      
+      Collection<ProfileKey> profiles = Collections.emptyList();
+      expect(ts.profileService.getActiveProfileKeys()).andReturn(profiles);
+      ts.profileService.activateProfile(ts.testee.getProfileKey());
+      ts.profileService.validateProfile(ts.testee.getProfileKey());
+      
+      replay(ts.profileService);
+      
+      ts.testee.activateProfile();
+      
+      verify(ts.profileService);
+      
+      assertTrue(ts.testee.isActivated());
+   }
+   
+   public void testActivateAlreadyActiveProfile() throws Exception
+   {
+      TesteeSet ts = new TesteeSet();
+      Profile profile = createNiceMock(Profile.class);
+      ProfileMetaData md = anyObject();
+      expect(ts.profileFactory.createProfile(eq(ts.testee.getProfileKey()), md)).andReturn(profile);
+      
+      replay(ts.profileFactory);
+      replay(ts.profileService);
+      replay(ts.integrator);
+      
+      ts.testee.start();
+      
+      assertFalse(ts.testee.isActivated());
+      
+      resetToStrict(ts.profileService);
+
+      Collection<ProfileKey> profiles = Collections.singletonList(ts.testee.getProfileKey());
+      expect(ts.profileService.getActiveProfileKeys()).andReturn(profiles);
+      
+      replay(ts.profileService);
+      
+      ts.testee.activateProfile();
+      
+      verify(ts.profileService);
+      
+      assertTrue(ts.testee.isActivated());
+   }
+   
+   private static class TesteeSet
+   {
+      private final OnDemandContextProfileManager testee;
+      private final ProfileFactory profileFactory;
+      private final ProfileService profileService;
+      private final OnDemandContextIntegrator integrator;
+      
+      private TesteeSet() throws IOException, URISyntaxException
+      {
+         testee = new OnDemandContextProfileManager();
+         profileFactory = createNiceMock(ProfileFactory.class);
+         testee.setProfileFactory(profileFactory);
+         profileService = createNiceMock(ProfileService.class);
+         testee.setProfileService(profileService);
+         integrator = createNiceMock(OnDemandContextIntegrator.class);
+         testee.setOnDemandContextIntegrator(integrator);
+         testee.setServiceName("service");
+         testee.setHostName("host");
+         testee.setContextName("context");
+         testee.setSingleURI(new URI("file:///tmp"));
+      }
+   }
+}

Modified: branches/vfs3-int/testsuite/src/main/org/jboss/test/xml/SingletonSchemaBindingResolverUnitTestCase.java
===================================================================
--- branches/vfs3-int/testsuite/src/main/org/jboss/test/xml/SingletonSchemaBindingResolverUnitTestCase.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/main/org/jboss/test/xml/SingletonSchemaBindingResolverUnitTestCase.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -26,8 +26,8 @@
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.test.xml.initializer.Container;
 import org.jboss.test.xml.initializer.ContainerInitializer;
+import org.jboss.xb.binding.resolver.MutableSchemaResolver;
 import org.jboss.xb.binding.sunday.unmarshalling.SingletonSchemaResolverFactory;
-import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
 import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
 
 /**
@@ -40,11 +40,11 @@
 {
    public static SchemaBindingResolver initResolver() throws Exception
    {
-      DefaultSchemaResolver resolver = (DefaultSchemaResolver) SingletonSchemaResolverFactory.getInstance().getSchemaBindingResolver();
+      MutableSchemaResolver resolver = SingletonSchemaResolverFactory.getInstance().getSchemaBindingResolver();
       Class clazz = SingletonSchemaBindingResolverUnitTestCase.class;
-      resolver.addSchemaInitializer(ContainerInitializer.NS, ContainerInitializer.class.getName());
+      resolver.mapSchemaInitializer(ContainerInitializer.NS, ContainerInitializer.class.getName());
       String location = getSchemaLocation(clazz, "SchemaBindingInitializerUnitTestCaseContainer.xsd");
-      resolver.addSchemaLocation(ContainerInitializer.NS, location);
+      resolver.mapSchemaLocation(ContainerInitializer.NS, location);
       return resolver;
    }
 

Modified: branches/vfs3-int/testsuite/src/resources/cluster/hasingleton/electionpolicy/ha-electionpolicy-jboss-beans.xml
===================================================================
--- branches/vfs3-int/testsuite/src/resources/cluster/hasingleton/electionpolicy/ha-electionpolicy-jboss-beans.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/resources/cluster/hasingleton/electionpolicy/ha-electionpolicy-jboss-beans.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -7,9 +7,9 @@
    <!-- ==================================================================== -->
 
    <!-- First HASingleton, Election policy is to choose the oldest node as master -->
-   <bean class="org.jboss.ha.singleton.examples.HASingletonMBeanExample" 
+   <bean class="org.jboss.test.cluster.hasingleton.HASingletonMBeanExample" 
           name="HASingletonMBeanExample_1">
-      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.examples:service=HASingletonMBeanExample_1", exposedInterface=org.jboss.ha.singleton.examples.HASingletonMBeanExampleMBean.class, registerDirectly=true)</annotation>
+      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.examples:service=HASingletonMBeanExample_1", exposedInterface=org.jboss.test.cluster.hasingleton.HASingletonMBeanExampleMBean.class, registerDirectly=true)</annotation>
    </bean>
 
    <bean class="org.jboss.ha.singleton.HASingletonElectionPolicySimple"
@@ -31,9 +31,9 @@
    </bean>
 
    <!-- Second HASingleton, Election policy is to choose the youngest node as master -->
-   <bean class="org.jboss.ha.singleton.examples.HASingletonMBeanExample" 
+   <bean class="org.jboss.test.cluster.hasingleton.HASingletonMBeanExample" 
          name="HASingletonMBeanExample_2">
-      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.examples:service=HASingletonMBeanExample_2", exposedInterface=org.jboss.ha.singleton.examples.HASingletonMBeanExampleMBean.class, registerDirectly=true)</annotation>
+      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.examples:service=HASingletonMBeanExample_2", exposedInterface=org.jboss.test.cluster.hasingleton.HASingletonMBeanExampleMBean.class, registerDirectly=true)</annotation>
    </bean>
 
    <bean class="org.jboss.ha.singleton.HASingletonElectionPolicySimple"
@@ -55,9 +55,9 @@
    </bean>
 
    <!-- Third HASingleton, Election policy is to choose the 2nd oldest node as master -->
-   <bean class="org.jboss.ha.singleton.examples.HASingletonMBeanExample" 
+   <bean class="org.jboss.test.cluster.hasingleton.HASingletonMBeanExample" 
           name="HASingletonMBeanExample_3">
-      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.examples:service=HASingletonMBeanExample_3", exposedInterface=org.jboss.ha.singleton.examples.HASingletonMBeanExampleMBean.class, registerDirectly=true)</annotation>
+      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.examples:service=HASingletonMBeanExample_3", exposedInterface=org.jboss.test.cluster.hasingleton.HASingletonMBeanExampleMBean.class, registerDirectly=true)</annotation>
    </bean>
 
    <bean class="org.jboss.ha.singleton.HASingletonElectionPolicySimple"
@@ -79,9 +79,9 @@
    </bean>
 
    <!-- Fourth HASingleton, No election policy defined. By default, the oldest node is selected -->
-   <bean class="org.jboss.ha.singleton.examples.HASingletonMBeanExample" 
+   <bean class="org.jboss.test.cluster.hasingleton.HASingletonMBeanExample" 
           name="HASingletonMBeanExample_4">
-      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.examples:service=HASingletonMBeanExample_4", exposedInterface=org.jboss.ha.singleton.examples.HASingletonMBeanExampleMBean.class, registerDirectly=true)</annotation>
+      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.examples:service=HASingletonMBeanExample_4", exposedInterface=org.jboss.test.cluster.hasingleton.HASingletonMBeanExampleMBean.class, registerDirectly=true)</annotation>
    </bean>
 
    <bean class="org.jboss.ha.singleton.HASingletonController" 
@@ -97,9 +97,9 @@
    </bean>
    
    <!-- 5th HASingleton, PreferredMaster set to localhost:0. Election policy is to choose the oldest node as master -->
-   <bean class="org.jboss.ha.singleton.examples.HASingletonMBeanExample" 
+   <bean class="org.jboss.test.cluster.hasingleton.HASingletonMBeanExample" 
           name="HASingletonMBeanExample_5">
-      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.examples:service=HASingletonMBeanExample_5", exposedInterface=org.jboss.ha.singleton.examples.HASingletonMBeanExampleMBean.class, registerDirectly=true)</annotation>
+      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.examples:service=HASingletonMBeanExample_5", exposedInterface=org.jboss.test.cluster.hasingleton.HASingletonMBeanExampleMBean.class, registerDirectly=true)</annotation>
    </bean>
 
    <bean class="org.jboss.ha.singleton.PreferredMasterElectionPolicy"
@@ -122,9 +122,9 @@
    </bean>
 
    <!-- 6th HASingleton, PreferredMaster set to localhost:0. Election policy is to choose the youngest node as master -->
-   <bean class="org.jboss.ha.singleton.examples.HASingletonMBeanExample" 
+   <bean class="org.jboss.test.cluster.hasingleton.HASingletonMBeanExample" 
           name="HASingletonMBeanExample_6">
-      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.examples:service=HASingletonMBeanExample_6", exposedInterface=org.jboss.ha.singleton.examples.HASingletonMBeanExampleMBean.class, registerDirectly=true)</annotation>
+      <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.examples:service=HASingletonMBeanExample_6", exposedInterface=org.jboss.test.cluster.hasingleton.HASingletonMBeanExampleMBean.class, registerDirectly=true)</annotation>
    </bean>
 
    <bean class="org.jboss.ha.singleton.PreferredMasterElectionPolicy"
@@ -151,7 +151,7 @@
    <!-- ==================================================================== -->
    
    <!-- First HASingleton, Election policy is to choose the oldest node as master -->
-   <bean class="org.jboss.ha.singleton.examples.HASingletonPojoExample" 
+   <bean class="org.jboss.test.cluster.hasingleton.HASingletonPojoExample" 
           name="HASingletonPojoExample_1">
        <constructor><parameter>test/cluster/hasingleton/simplepojo/1</parameter></constructor>
    </bean>
@@ -167,7 +167,7 @@
    </bean>   
 
    <!-- Second HASingleton, Election policy is to choose the youngest node as master -->
-   <bean class="org.jboss.ha.singleton.examples.HASingletonPojoExample" 
+   <bean class="org.jboss.test.cluster.hasingleton.HASingletonPojoExample" 
          name="HASingletonPojoExample_2">
       <constructor><parameter>test/cluster/hasingleton/simplepojo/2</parameter></constructor>
    </bean>
@@ -183,7 +183,7 @@
    </bean>
 
    <!-- Third HASingleton, Election policy is to choose the 2nd oldest node as master -->
-   <bean class="org.jboss.ha.singleton.examples.HASingletonPojoExample" 
+   <bean class="org.jboss.test.cluster.hasingleton.HASingletonPojoExample" 
           name="HASingletonPojoExample_3">
       <constructor><parameter>test/cluster/hasingleton/simplepojo/3</parameter></constructor>          
    </bean>
@@ -199,7 +199,7 @@
    </bean>
 
    <!-- Fourth HASingleton, No election policy defined. By default, the oldest node is selected -->
-   <bean class="org.jboss.ha.singleton.examples.HASingletonPojoExample" 
+   <bean class="org.jboss.test.cluster.hasingleton.HASingletonPojoExample" 
           name="HASingletonPojoExample_4">
       <constructor><parameter>test/cluster/hasingleton/simplepojo/4</parameter></constructor>
    </bean>
@@ -214,7 +214,7 @@
    </bean>
    
    <!-- 5th HASingleton, PreferredMaster set to localhost:0. Election policy is to choose the oldest node as master -->
-   <bean class="org.jboss.ha.singleton.examples.HASingletonPojoExample" 
+   <bean class="org.jboss.test.cluster.hasingleton.HASingletonPojoExample" 
           name="HASingletonPojoExample_5">
       <constructor><parameter>test/cluster/hasingleton/simplepojo/5</parameter></constructor>
    </bean>
@@ -231,7 +231,7 @@
       
 
    <!-- 6th HASingleton, Election policy is to choose the youngest node as master -->
-   <bean class="org.jboss.ha.singleton.examples.HASingletonPojoExample" 
+   <bean class="org.jboss.test.cluster.hasingleton.HASingletonPojoExample" 
          name="HASingletonPojoExample_6">
       <constructor><parameter>test/cluster/hasingleton/simplepojo/6</parameter></constructor>
    </bean>

Modified: branches/vfs3-int/testsuite/src/resources/cluster/hasingleton/ha-singleton-jboss-beans.xml
===================================================================
--- branches/vfs3-int/testsuite/src/resources/cluster/hasingleton/ha-singleton-jboss-beans.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/resources/cluster/hasingleton/ha-singleton-jboss-beans.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -2,7 +2,7 @@
 
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
   
-   <bean class="org.jboss.ha.singleton.examples.HASingletonPojoExample" 
+   <bean class="org.jboss.test.cluster.hasingleton.HASingletonPojoExample" 
           name="SimpleHaSingletonPojo">
           
       <constructor><parameter>test/cluster/hasingleton/simplepojo</parameter></constructor>

Modified: branches/vfs3-int/testsuite/src/resources/deployers/seam/booking/jboss-seam-booking.ear
===================================================================
(Binary files differ)

Modified: branches/vfs3-int/testsuite/src/resources/deployers/seam/dvd/jboss-seam-dvd.ear
===================================================================
(Binary files differ)

Modified: branches/vfs3-int/testsuite/src/resources/deployers/seam/numberguess/jboss-seam-numberguess.ear
===================================================================
(Binary files differ)

Copied: branches/vfs3-int/testsuite/src/resources/ejb3/jbpapp3026 (from rev 100917, trunk/testsuite/src/resources/ejb3/jbpapp3026)

Copied: branches/vfs3-int/testsuite/src/resources/ejb3/jbpapp3026/META-INF (from rev 100917, trunk/testsuite/src/resources/ejb3/jbpapp3026/META-INF)

Deleted: branches/vfs3-int/testsuite/src/resources/ejb3/jbpapp3026/META-INF/jboss.xml
===================================================================
--- trunk/testsuite/src/resources/ejb3/jbpapp3026/META-INF/jboss.xml	2010-02-12 15:20:11 UTC (rev 100917)
+++ branches/vfs3-int/testsuite/src/resources/ejb3/jbpapp3026/META-INF/jboss.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>
-<jboss
-        xmlns="http://www.jboss.com/xml/ns/javaee"
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-        xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee
-                            http://www.jboss.org/j2ee/schema/jboss_5_0.xsd"
-        version="3.0">
-   <enterprise-beans>
-      <message-driven>
-         <ejb-name>SimpleMDBForTopicCreation</ejb-name>
-         <create-destination>true</create-destination>
-      </message-driven>
-      <message-driven>
-         <ejb-name>SimpleMDBForQueueCreation</ejb-name>
-         <create-destination>true</create-destination>
-      </message-driven>
-   </enterprise-beans>
-</jboss>
\ No newline at end of file

Copied: branches/vfs3-int/testsuite/src/resources/ejb3/jbpapp3026/META-INF/jboss.xml (from rev 100917, trunk/testsuite/src/resources/ejb3/jbpapp3026/META-INF/jboss.xml)
===================================================================
--- branches/vfs3-int/testsuite/src/resources/ejb3/jbpapp3026/META-INF/jboss.xml	                        (rev 0)
+++ branches/vfs3-int/testsuite/src/resources/ejb3/jbpapp3026/META-INF/jboss.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<jboss
+        xmlns="http://www.jboss.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee
+                            http://www.jboss.org/j2ee/schema/jboss_5_0.xsd"
+        version="3.0">
+   <enterprise-beans>
+      <message-driven>
+         <ejb-name>SimpleMDBForTopicCreation</ejb-name>
+         <create-destination>true</create-destination>
+      </message-driven>
+      <message-driven>
+         <ejb-name>SimpleMDBForQueueCreation</ejb-name>
+         <create-destination>true</create-destination>
+      </message-driven>
+   </enterprise-beans>
+</jboss>
\ No newline at end of file

Deleted: branches/vfs3-int/testsuite/src/resources/jmx/jbosstest-urlscanner-service.xml
===================================================================
--- branches/vfs3-int/testsuite/src/resources/jmx/jbosstest-urlscanner-service.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/resources/jmx/jbosstest-urlscanner-service.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<server>
-
-   <!-- An mbean for hot deployment/undeployment of archives.
-   -->
-   <mbean code="org.jboss.deployment.scanner.URLDeploymentScanner"
-      name="jboss.test:type=DeploymentScanner,flavor=URL">
-
-      <depends optional-attribute-name="Deployer">jboss.system:service=MainDeployer</depends>
-      <attribute name="URLComparator">org.jboss.deployment.DeploymentSorter</attribute>
-      <attribute name="FilterInstance"
-         attributeClass="org.jboss.deployment.scanner.DeploymentFilter"
-         serialDataType="javaBean">
-         <!-- Files starting with theses strings are ignored -->
-         <property name="prefixes">#,%,\,,.,_$</property>
-         <!-- Files ending with theses strings are ignored -->
-         <property name="suffixes">#,$,%,~,\,v,.BAK,.bak,.old,.orig,.tmp,.rej,.sh</property>
-         <!-- Files matching with theses strings are ignored -->
-         <property name="matches">.make.state,.nse_depinfo,CVS,CVS.admin,RCS,RCSLOG,SCCS,TAGS,core,tags</property>
-      </attribute>
-
-      <!-- Frequency in milliseconds to rescan the URLs for changes -->
-      <attribute name="ScanPeriod">500</attribute>
-      
-      <!-- A flag to disable the scans -->
-      <attribute name="ScanEnabled">true</attribute>
-
-      <attribute name="URLs">
-      </attribute>
-
-      <attribute name="RecursiveSearch">True</attribute>
-
-   </mbean>
-
-</server>

Modified: branches/vfs3-int/testsuite/src/resources/securitymgr/server.policy
===================================================================
--- branches/vfs3-int/testsuite/src/resources/securitymgr/server.policy	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/resources/securitymgr/server.policy	2010-02-12 17:13:14 UTC (rev 100922)
@@ -101,7 +101,7 @@
    permission java.lang.RuntimePermission "getClassLoader";
 };
 
-grant codeBase "file:${jboss.server.home.dir}/deploy/jmx-console.war/-" {
+grant codeBase "file:${jboss.home.dir}/common/deploy/jmx-console.war/-" {
    permission java.security.AllPermission;
 };
 
@@ -308,6 +308,9 @@
    permission java.lang.RuntimePermission "getProtectionDomain";
 };
 
+grant codeBase "file:${jboss.test.deploy.dir}/cts.jar" {
+   permission org.jboss.naming.JndiPermission "testBadUserTx","bind";
+};
 
 grant codeBase "file:${jboss.test.deploy.dir}/-" {
    permission org.jboss.naming.JndiPermission "<<ALL BINDINGS>>","listBindings,lookup";
@@ -351,6 +354,10 @@
    permission java.lang.RuntimePermission "getProtectionDomain";
 };
 
+grant codeBase "vfszip:${jboss.test.deploy.dir}/cts.jar" {
+   permission org.jboss.naming.JndiPermission "testBadUserTx","bind";
+};
+
 grant codeBase "vfszip:${jboss.test.deploy.dir}/-" {
    permission org.jboss.naming.JndiPermission "<<ALL BINDINGS>>","listBindings,lookup";
 };

Modified: branches/vfs3-int/testsuite/src/resources/web/jspinjection/nested.jsp
===================================================================
--- branches/vfs3-int/testsuite/src/resources/web/jspinjection/nested.jsp	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/testsuite/src/resources/web/jspinjection/nested.jsp	2010-02-12 17:13:14 UTC (rev 100922)
@@ -47,6 +47,7 @@
 %>
 <%
  Nested nested = new Nested();
+ _jsp_instancemanager.newInstance(nested);
  
  assert nested.getSimpleStateful() != null : "Nested.stateful is null";
  assert nested.getSimpleStateful().doSomething() == true : "Nested.stateful returned false";

Modified: branches/vfs3-int/tomcat/pom.xml
===================================================================
--- branches/vfs3-int/tomcat/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/tomcat/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -16,7 +16,7 @@
   <description>JBoss Application Server (tomcat module)</description>
   
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <resources>
       <resource>
         <directory>src/main/java</directory>
@@ -303,8 +303,8 @@
       <artifactId>jboss-ejb-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.hibernate.java-persistence</groupId>
-      <artifactId>jpa-api</artifactId>
+      <groupId>org.hibernate.javax.persistence</groupId>
+      <artifactId>hibernate-jpa-2.0-api</artifactId>
     </dependency>
     <dependency>
       <groupId>org.jboss.cluster</groupId>

Modified: branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/security/GenericHeaderAuthenticator.java
===================================================================
--- branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/security/GenericHeaderAuthenticator.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/security/GenericHeaderAuthenticator.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -29,12 +29,12 @@
 import javax.management.ObjectName;
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 import org.apache.catalina.Realm;
 import org.apache.catalina.Session;
 import org.apache.catalina.authenticator.Constants;
 import org.apache.catalina.connector.Request;
-import org.apache.catalina.connector.Response;
 import org.apache.catalina.deploy.LoginConfig;
 import org.jboss.logging.Logger;
 
@@ -131,7 +131,8 @@
       super();
    }
 
-   public boolean authenticate(Request request, Response response, LoginConfig config) throws IOException
+   @Override
+   public boolean authenticate(Request request, HttpServletResponse response, LoginConfig config) throws IOException
    {
       log.trace("Authenticating user");
 

Modified: branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java
===================================================================
--- branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -21,13 +21,6 @@
  */
 package org.jboss.web.tomcat.service;
 
-import javax.naming.Context;
-import javax.naming.InitialContext;
-import javax.naming.NameNotFoundException;
-import javax.naming.NamingException;
-import javax.servlet.Filter;
-import javax.servlet.Servlet;
-
 import java.io.IOException;
 import java.io.InputStream;
 import java.lang.annotation.Annotation;
@@ -37,14 +30,20 @@
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
-import java.util.Collections;
 
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NameNotFoundException;
+import javax.naming.NamingException;
+import javax.servlet.Filter;
+import javax.servlet.Servlet;
+
 import org.apache.tomcat.InstanceManager;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
@@ -137,7 +136,7 @@
    private PersistenceUnitDependencyResolver persistenceUnitDependencyResolver;
    private DeploymentEndpointResolver deploymentEndpointResolver;
    private Map<String, ContainerDependencyMetaData> endpointMap;
-   private static final Set<String> dynamicClassLoaders = new HashSet<String>();
+   private Set<String> dynamicClassLoaders = null;
    private static final Properties restrictedFilters = new Properties();
    private static final Properties restrictedListeners = new Properties();
    private static final Properties restrictedServlets = new Properties();
@@ -195,13 +194,10 @@
       {
          log.error("Error reading org/apache/catalina/core/RestrictedFilters.properties", e);
       }
-
-      // 
-      dynamicClassLoaders.add("org.apache.jasper.servlet.JasperLoader");
    }
 
    public TomcatInjectionContainer(WebApplication appInfo, DeploymentUnit unit, org.apache.catalina.Context catalinaContext,
-         PersistenceUnitDependencyResolver resolver)
+         PersistenceUnitDependencyResolver resolver, Set<String> dynamicClassLoaders)
    {
       super(new SimpleJavaEEModule(appInfo.getName()));
 
@@ -211,6 +207,7 @@
       this.persistenceUnitDependencyResolver = resolver;
       this.deploymentEndpointResolver = unit.getAttachment(DeploymentEndpointResolver.class);
       this.endpointMap = unit.getTopLevel().getAttachment(MappedReferenceMetaDataResolverDeployer.ENDPOINT_MAP_KEY, Map.class);
+      this.dynamicClassLoaders = dynamicClassLoaders;
 
       this.webDD = unit.getAttachment(JBossWebMetaData.class);
       assert this.webDD != null : "webDD is null (no JBossWebMetaData attachment in VFSDeploymentUnit)";
@@ -486,6 +483,8 @@
     */
    private boolean isDynamicBean(Object object)
    {
+      if (dynamicClassLoaders == null)
+         return false;
       if (object == null)
          throw new IllegalArgumentException("null class");
 

Modified: branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/DeployerConfig.java
===================================================================
--- branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/DeployerConfig.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/DeployerConfig.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -22,6 +22,7 @@
 package org.jboss.web.tomcat.service.deployers;
 
 import java.util.List;
+import java.util.Set;
 
 import javax.management.ObjectName;
 
@@ -109,6 +110,9 @@
    /** FQN of the SecurityContext Class */
    private String securityContextClassName;
 
+   /** Dynamic classloaders */
+   private Set<String> dynamicClassloaders;
+
    public ClassLoader getServiceClassLoader()
    {
       return serviceClassLoader;
@@ -269,6 +273,16 @@
    public void setSharedTldMetaData(List<TldMetaData> sharedTldMetaData)
    {
       this.sharedTldMetaData = sharedTldMetaData;
+   }
+
+   public Set<String> getDynamicClassloaders()
+   {
+      return dynamicClassloaders;
+   }
+
+   public void setDynamicClassloaders(Set<String> dynamicClassloaders)
+   {
+      this.dynamicClassloaders = dynamicClassloaders;
    }   
    
 }

Modified: branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployer.java
===================================================================
--- branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployer.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -25,6 +25,7 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
+import java.util.Set;
 import java.util.StringTokenizer;
 
 import javax.management.ObjectName;
@@ -93,6 +94,9 @@
 
    private boolean deleteWorkDirOnContextDestroy = true;
 
+   /** Dynamic classloaders */
+   private Set<String> dynamicClassloaders;
+
    /**
     * JBAS-2283: Provide custom header based auth support
     */
@@ -211,6 +215,16 @@
       log.debug("Passed set of authenticators=" + prop);
    }
 
+   public Set<String> getDynamicClassloaders()
+   {
+      return dynamicClassloaders;
+   }
+
+   public void setDynamicClassloaders(Set<String> dynamicClassloaders)
+   {
+      this.dynamicClassloaders = dynamicClassloaders;
+   }
+
    public String getTldJars()
    {
       return tldJars;
@@ -452,6 +466,7 @@
       config.setSharedMetaData(sharedMetaData);
       config.setSharedTldMetaData(sharedTldMetaData);
       config.setDeleteWorkDirs(deleteWorkDirOnContextDestroy);
+      config.setDynamicClassloaders(dynamicClassloaders);
 
       config.setSecurityContextClassName(securityContextClassName);
       deployment.setSecurityManagementName(securityManagement);

Modified: branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
===================================================================
--- branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -190,11 +190,22 @@
          tldMetaDataMap.put(tldMetaData.toString(), tldMetaData);
       }
       
-      TomcatInjectionContainer injectionContainer = new TomcatInjectionContainer(webApp, depUnit, context, getPersistenceUnitDependencyResolver());
+      TomcatInjectionContainer injectionContainer = 
+         new TomcatInjectionContainer(webApp, depUnit, context, 
+               getPersistenceUnitDependencyResolver(), config.getDynamicClassloaders());
 
-      if (kernel != null) {
-         ControllerContext injectorControllerContext = kernel.getController().getInstalledContext(unit.getName() + "_WBInjector");
-         if (injectorControllerContext != null) {
+      if (kernel != null)
+      {
+         // Look for a WBInjector bean defined for the current deployment unit. If not found, check the parent.
+         DeploymentUnit inspectedUnit = unit;
+         ControllerContext injectorControllerContext = null;
+         while (inspectedUnit != null && injectorControllerContext == null)
+         {
+            injectorControllerContext = kernel.getController().getInstalledContext(inspectedUnit.getName() + "_WBInjector");
+            inspectedUnit = inspectedUnit.getParent();
+         }
+         if (injectorControllerContext != null)
+         {
             injectionContainer.setDefaultInjectors(Collections.singletonList((Injector)injectorControllerContext.getTarget()));
          }
       }

Modified: branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatService.java
===================================================================
--- branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatService.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatService.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -46,7 +46,6 @@
 import org.apache.catalina.startup.CatalinaProperties;
 import org.apache.tomcat.util.IntrospectionUtils;
 import org.apache.tomcat.util.modeler.Registry;
-import org.jboss.bootstrap.api.as.server.JBossASServer;
 import org.jboss.bootstrap.api.lifecycle.LifecycleState;
 import org.jboss.bootstrap.spi.as.server.JBossASServerProvider;
 import org.jboss.kernel.spi.dependency.KernelController;
@@ -65,6 +64,8 @@
 import org.jboss.web.tomcat.metadata.ServiceMetaData;
 import org.jboss.web.tomcat.metadata.ValveMetaData;
 import org.jboss.web.tomcat.security.HttpServletRequestPolicyContextHandler;
+import org.jboss.web.tomcat.service.ondemand.DefaultOnDemandContextIntegrator;
+import org.jboss.web.tomcat.service.ondemand.OnDemandContextIntegrator;
 import org.jboss.web.tomcat.service.session.SessionIDGenerator;
 import org.jboss.xb.binding.Unmarshaller;
 import org.jboss.xb.binding.UnmarshallerFactory;
@@ -97,9 +98,10 @@
    
    // Use a flag because isInShutdown doesn't appear to be correct
    private boolean connectorsRunning = false;
+   
+   /** Integrate support for on-demand contexts */
+   private DefaultOnDemandContextIntegrator onDemandContextIntegrator = new DefaultOnDemandContextIntegrator();
 
-   // Dependency inject the Executor pojo
-
    public Executor getExecutor()
    {
       return executor;
@@ -121,6 +123,17 @@
    {
       this.tomcatDeployer = tomcatDeployer;
    }
+   
+   /** 
+    * Gets the object that provides support for on-demand activation of
+    * contexts.
+    * 
+    * @return the OnDemandContextIntegrator. Will not return <code>null</code>
+    */
+   public OnDemandContextIntegrator getOnDemandContextIntegrator()
+   {
+      return onDemandContextIntegrator;
+   }
 
    // In our lifecycle, we invoke the webserver lifecycle-related operations
    // in the TomcatDeployer
@@ -218,6 +231,9 @@
          service.setName(serviceMetaData.getName());
          service.setServer(catalinaServer);
          catalinaServer.addService(service);
+         
+         // Integrate support for on-demand contexts
+         onDemandContextIntegrator.registerMapper(service.getName(), service.getMapper());
 
          // Server/Service/Executor
          // Executor is useless in JBoss: the Executor will get injected in the executor field
@@ -474,10 +490,10 @@
 
       // Unregister any remaining jboss.web or Catalina MBeans
       ObjectName queryObjectName = new ObjectName(tomcatDeployer.getDomain() + ":*");
-      Iterator iterator = server2.queryMBeans(queryObjectName, null).iterator();
+      Iterator<ObjectInstance> iterator = server2.queryMBeans(queryObjectName, null).iterator();
       while (iterator.hasNext())
       {
-         ObjectInstance oi = (ObjectInstance) iterator.next();
+         ObjectInstance oi = iterator.next();
          ObjectName toRemove = oi.getObjectName();
          // Exception: Don't unregister the service right now
          if (!"WebServer".equals(toRemove.getKeyProperty("service")))

Copied: branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand (from rev 100917, trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand)

Deleted: branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/ContextDemandListener.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/ContextDemandListener.java	2010-02-12 15:20:11 UTC (rev 100917)
+++ branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/ContextDemandListener.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,61 +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.web.tomcat.service.ondemand;
-
-/**
- * Interface implemented by listeners that wish to be notified of requests
- * for as-yet-undeployed "on-demand" web applications.  It is expected that the
- * typical implementation of this interface would trigger deployment of the web
- * application.
- *
- * @author Brian Stansberry
- * 
- * @version $Revision$
- */
-public interface ContextDemandListener
-{
-   /** 
-    * Notification that a request has been received for a web application
-    * previously {@link OnDemandContextIntegrator#registerContextDemandListener(ContextDemandListener)
-    * registered with JBoss Web} as eligible for on-demand deployment.
-    * <p>
-    * Implementors of this interface should assume that the notification will be
-    * received before the web server has handled the request and that any handling
-    * of the request is either being done by the calling thread or will block 
-    * until the <code>contextDemanded</code> call has returned.
-    * </p>
-    *
-    * 
-    * @param serviceName the name of the JBoss Web <code>Service</code> that 
-    *                    includes the connector that received the request.
-    *                    Will not be <code>null</code>.
-    * @param hostName the name of the JBoss Web <code>Host</code> that is the
-    *                 virtual host associated with the request.
-    *                 Will not be <code>null</code>.
-    * @param contextName the name of the on-demand web application context, i.e.
-    *                    the context path portion of the request URL, with
-    *                    any leading and trailing / removed.
-    *                    Will not be <code>null</code>.
-    */
-   void contextDemanded(String serviceName, String hostName, String contextName);
-}

Copied: branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/ContextDemandListener.java (from rev 100917, trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/ContextDemandListener.java)
===================================================================
--- branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/ContextDemandListener.java	                        (rev 0)
+++ branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/ContextDemandListener.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,61 @@
+/*
+ * 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.web.tomcat.service.ondemand;
+
+/**
+ * Interface implemented by listeners that wish to be notified of requests
+ * for as-yet-undeployed "on-demand" web applications.  It is expected that the
+ * typical implementation of this interface would trigger deployment of the web
+ * application.
+ *
+ * @author Brian Stansberry
+ * 
+ * @version $Revision$
+ */
+public interface ContextDemandListener
+{
+   /** 
+    * Notification that a request has been received for a web application
+    * previously {@link OnDemandContextIntegrator#registerContextDemandListener(ContextDemandListener)
+    * registered with JBoss Web} as eligible for on-demand deployment.
+    * <p>
+    * Implementors of this interface should assume that the notification will be
+    * received before the web server has handled the request and that any handling
+    * of the request is either being done by the calling thread or will block 
+    * until the <code>contextDemanded</code> call has returned.
+    * </p>
+    *
+    * 
+    * @param serviceName the name of the JBoss Web <code>Service</code> that 
+    *                    includes the connector that received the request.
+    *                    Will not be <code>null</code>.
+    * @param hostName the name of the JBoss Web <code>Host</code> that is the
+    *                 virtual host associated with the request.
+    *                 Will not be <code>null</code>.
+    * @param contextName the name of the on-demand web application context, i.e.
+    *                    the context path portion of the request URL, with
+    *                    any leading and trailing / removed.
+    *                    Will not be <code>null</code>.
+    */
+   void contextDemanded(String serviceName, String hostName, String contextName);
+}

Deleted: branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/DefaultOnDemandContextIntegrator.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/DefaultOnDemandContextIntegrator.java	2010-02-12 15:20:11 UTC (rev 100917)
+++ branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/DefaultOnDemandContextIntegrator.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,158 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2010, Red Hat, Inc, 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.web.tomcat.service.ondemand;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.log4j.Logger;
-import org.apache.tomcat.util.http.mapper.Mapper;
-import org.apache.tomcat.util.http.mapper.OnDemandContextMappingListener;
-
-/**
- * Default implementation of OnDemandContextIntegrator.
- * 
- * @author Brian Stansberry
- * @version $Revision: 1.1 $
- */
-public class DefaultOnDemandContextIntegrator implements OnDemandContextIntegrator
-{
-   private static final Logger log = Logger.getLogger(DefaultOnDemandContextIntegrator.class);
-   
-   private final Set<ContextDemandAdapter> adapters = Collections.synchronizedSet(new HashSet<ContextDemandAdapter>());
-
-   private final  Map<String, Mapper> mappers = Collections.synchronizedMap(new HashMap<String, Mapper>());
-   
-   // -----------------------------------------------------------------  Public
-   
-   /**
-    * Makes this object aware of the given {@link Mapper}, allowing on-demand
-    * contexts to be registered with it.
-    * 
-    * @param serviceName name of the JBoss Web <code>Service</code> with
-    *                    which the service is associated. Cannot be <code>null</code>
-    * @param mapper the mapper. Cannot be <code>null</code>
-    */
-   public void registerMapper(String serviceName, Mapper mapper)
-   {
-      if (serviceName == null)
-      {
-         throw new IllegalArgumentException("Argument serviceName is null");
-      }
-      if (mapper == null)
-      {
-         throw new IllegalArgumentException("Argument mapper is null");
-      }
-      mappers.put(serviceName, mapper);
-      ContextDemandAdapter adapter = new ContextDemandAdapter(serviceName);
-      mapper.registerOnDemandContextMappingListener(adapter);
-      adapters.add(adapter);
-   }
-   
-   // ------------------------------------------------  OnDemandContextListener
-   
-   public void registerContextDemandListener(ContextDemandListener listener)
-   {
-      for (ContextDemandAdapter adapter : adapters)
-      {
-         adapter.registerContextDemandListener(listener);
-      }
-   }
-   
-   public void removeContextDemandListener(ContextDemandListener listener)
-   {
-      for (ContextDemandAdapter adapter : adapters)
-      {
-         adapter.removeContextDemandListener(listener);
-      }
-   }
-   
-   public void registerOnDemandContext(String serviceName, String hostName, String contextName)
-   {
-      Mapper mapper = mappers.get(serviceName);
-      if (mapper != null)
-      {
-         // ensure the path starts w/ slash or Mapper won't match it correctly
-         if (contextName.length() > 0 && ('/' != contextName.charAt(0)))
-         {
-            contextName = "/" + contextName;
-         }
-         mapper.addOnDemandContext(hostName, contextName);
-      }
-      else
-      {
-         log.warn("Cannot register on-demand context for unknown engine " + serviceName);
-      }
-   }
-   
-   public void removeOnDemandContext(String serviceName, String hostName, String contextName)
-   {
-      Mapper mapper = mappers.get(serviceName);
-      if (mapper != null)
-      {
-         mapper.removeContext(hostName, contextName);
-      }
-      else
-      {
-         log.warn("Cannot remove on-demand context for unknown engine " + serviceName);
-      }
-   }
-   
-   private class ContextDemandAdapter implements OnDemandContextMappingListener
-   {
-      private final String engineName;
-      private final Set<ContextDemandListener> contextDemandListeners = 
-          Collections.synchronizedSet(new HashSet<ContextDemandListener>());
-
-      private ContextDemandAdapter(String engineName)
-      {
-         this.engineName = engineName;
-      }
-
-      public void onDemandContextMapped(String hostName, String contextName)
-      {
-         for (ContextDemandListener listener : contextDemandListeners)
-         {
-            listener.contextDemanded(this.engineName, hostName, contextName);
-         }         
-      }
-      
-      private void registerContextDemandListener(ContextDemandListener listener)
-      {
-         if (listener != null )
-         {
-            contextDemandListeners.add(listener);
-         }
-      }
-      
-      private void removeContextDemandListener(ContextDemandListener listener)
-      {
-         if (listener != null )
-         {
-            contextDemandListeners.remove(listener);
-         }
-      }
-   }
-}
\ No newline at end of file

Copied: branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/DefaultOnDemandContextIntegrator.java (from rev 100917, trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/DefaultOnDemandContextIntegrator.java)
===================================================================
--- branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/DefaultOnDemandContextIntegrator.java	                        (rev 0)
+++ branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/DefaultOnDemandContextIntegrator.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,158 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat, Inc, 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.web.tomcat.service.ondemand;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.log4j.Logger;
+import org.apache.tomcat.util.http.mapper.Mapper;
+import org.apache.tomcat.util.http.mapper.OnDemandContextMappingListener;
+
+/**
+ * Default implementation of OnDemandContextIntegrator.
+ * 
+ * @author Brian Stansberry
+ * @version $Revision: 1.1 $
+ */
+public class DefaultOnDemandContextIntegrator implements OnDemandContextIntegrator
+{
+   private static final Logger log = Logger.getLogger(DefaultOnDemandContextIntegrator.class);
+   
+   private final Set<ContextDemandAdapter> adapters = Collections.synchronizedSet(new HashSet<ContextDemandAdapter>());
+
+   private final  Map<String, Mapper> mappers = Collections.synchronizedMap(new HashMap<String, Mapper>());
+   
+   // -----------------------------------------------------------------  Public
+   
+   /**
+    * Makes this object aware of the given {@link Mapper}, allowing on-demand
+    * contexts to be registered with it.
+    * 
+    * @param serviceName name of the JBoss Web <code>Service</code> with
+    *                    which the service is associated. Cannot be <code>null</code>
+    * @param mapper the mapper. Cannot be <code>null</code>
+    */
+   public void registerMapper(String serviceName, Mapper mapper)
+   {
+      if (serviceName == null)
+      {
+         throw new IllegalArgumentException("Argument serviceName is null");
+      }
+      if (mapper == null)
+      {
+         throw new IllegalArgumentException("Argument mapper is null");
+      }
+      mappers.put(serviceName, mapper);
+      ContextDemandAdapter adapter = new ContextDemandAdapter(serviceName);
+      mapper.registerOnDemandContextMappingListener(adapter);
+      adapters.add(adapter);
+   }
+   
+   // ------------------------------------------------  OnDemandContextListener
+   
+   public void registerContextDemandListener(ContextDemandListener listener)
+   {
+      for (ContextDemandAdapter adapter : adapters)
+      {
+         adapter.registerContextDemandListener(listener);
+      }
+   }
+   
+   public void removeContextDemandListener(ContextDemandListener listener)
+   {
+      for (ContextDemandAdapter adapter : adapters)
+      {
+         adapter.removeContextDemandListener(listener);
+      }
+   }
+   
+   public void registerOnDemandContext(String serviceName, String hostName, String contextName)
+   {
+      Mapper mapper = mappers.get(serviceName);
+      if (mapper != null)
+      {
+         // ensure the path starts w/ slash or Mapper won't match it correctly
+         if (contextName.length() > 0 && ('/' != contextName.charAt(0)))
+         {
+            contextName = "/" + contextName;
+         }
+         mapper.addOnDemandContext(hostName, contextName);
+      }
+      else
+      {
+         log.warn("Cannot register on-demand context for unknown engine " + serviceName);
+      }
+   }
+   
+   public void removeOnDemandContext(String serviceName, String hostName, String contextName)
+   {
+      Mapper mapper = mappers.get(serviceName);
+      if (mapper != null)
+      {
+         mapper.removeContext(hostName, contextName);
+      }
+      else
+      {
+         log.warn("Cannot remove on-demand context for unknown engine " + serviceName);
+      }
+   }
+   
+   private class ContextDemandAdapter implements OnDemandContextMappingListener
+   {
+      private final String engineName;
+      private final Set<ContextDemandListener> contextDemandListeners = 
+          Collections.synchronizedSet(new HashSet<ContextDemandListener>());
+
+      private ContextDemandAdapter(String engineName)
+      {
+         this.engineName = engineName;
+      }
+
+      public void onDemandContextMapped(String hostName, String contextName)
+      {
+         for (ContextDemandListener listener : contextDemandListeners)
+         {
+            listener.contextDemanded(this.engineName, hostName, contextName);
+         }         
+      }
+      
+      private void registerContextDemandListener(ContextDemandListener listener)
+      {
+         if (listener != null )
+         {
+            contextDemandListeners.add(listener);
+         }
+      }
+      
+      private void removeContextDemandListener(ContextDemandListener listener)
+      {
+         if (listener != null )
+         {
+            contextDemandListeners.remove(listener);
+         }
+      }
+   }
+}
\ No newline at end of file

Deleted: branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextIntegrator.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextIntegrator.java	2010-02-12 15:20:11 UTC (rev 100917)
+++ branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextIntegrator.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,86 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2010, Red Hat, Inc, 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.web.tomcat.service.ondemand;
-
-/**
- * Mediates between any {@link ContextDemandListener}s and JBoss Web, allowing 
- * JBoss Web to be made aware of the presence of on-demand applications and
- * for the listeners to be notified when a user request for an on-demand
- * application has arrived. An implementation of this interface is responsible
- * for finding and interacting with the relevant JBoss Web components, freeing
- * the listeners from that responsibility.
- *
- * @author Brian Stansberry
- * 
- * @version $Revision$
- */
-public interface OnDemandContextIntegrator
-{
-   /**
-    * Registers a listener to receive callbacks when a request is received
-    * for an on-demand web application.
-    * 
-    * @param listener the listener
-    */
-   void registerContextDemandListener(ContextDemandListener listener);
-
-   /**
-    * Removes a listener from the set of listeners receiving callbacks when a
-    * request is received for an on-demand web application.
-    * 
-    * @param listener the listener
-    */
-   void removeContextDemandListener(ContextDemandListener listener);
-
-   /**
-    * Configures JBoss Web to recognize requests for the given connectors, virtual
-    * host and web application context as being for an as-yet-undeployed 
-    * "on-demand" web application.
-    * 
-    * @param serviceName the name of the JBoss Web <code>Service</code> that 
-    *                    includes the connectors that will receive requests for 
-    *                    the on-demand web application. Cannot be <code>null</code>.
-    * @param hostName the name of the JBoss Web <code>Host</code> that is the
-    *                 virtual host for on-demand web application. 
-    *                 Cannot be <code>null</code>.
-    * @param contextName the name of the on-demand web application context, i.e.
-    *                    the context path portion of URLs that target it, with
-    *                    any leading and trailing / removed
-    */
-   void registerOnDemandContext(String serviceName, String hostName, String contextName);
-
-   /**
-    * Configures JBoss Web to no longer recognize requests for the given 
-    * connectors, virtual host and web application context.
-    * 
-    * @param serviceName the name of the JBoss Web <code>Service</code> that 
-    *                    includes the connectors that will receive requests for 
-    *                    the on-demand web application.  Cannot be <code>null</code>.
-    * @param hostName the name of the JBoss Web <code>Host</code> that is the
-    *                 virtual host for on-demand web application.  Cannot be <code>null</code>.
-    * @param contextName the name of the on-demand web application context, i.e.
-    *                    the context path portion of URLs that target it, with
-    *                    any leading and trailing / removed
-    */
-   void removeOnDemandContext(String serviceName, String hostName, String contextName);
-
-}
\ No newline at end of file

Copied: branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextIntegrator.java (from rev 100917, trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextIntegrator.java)
===================================================================
--- branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextIntegrator.java	                        (rev 0)
+++ branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextIntegrator.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,86 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat, Inc, 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.web.tomcat.service.ondemand;
+
+/**
+ * Mediates between any {@link ContextDemandListener}s and JBoss Web, allowing 
+ * JBoss Web to be made aware of the presence of on-demand applications and
+ * for the listeners to be notified when a user request for an on-demand
+ * application has arrived. An implementation of this interface is responsible
+ * for finding and interacting with the relevant JBoss Web components, freeing
+ * the listeners from that responsibility.
+ *
+ * @author Brian Stansberry
+ * 
+ * @version $Revision$
+ */
+public interface OnDemandContextIntegrator
+{
+   /**
+    * Registers a listener to receive callbacks when a request is received
+    * for an on-demand web application.
+    * 
+    * @param listener the listener
+    */
+   void registerContextDemandListener(ContextDemandListener listener);
+
+   /**
+    * Removes a listener from the set of listeners receiving callbacks when a
+    * request is received for an on-demand web application.
+    * 
+    * @param listener the listener
+    */
+   void removeContextDemandListener(ContextDemandListener listener);
+
+   /**
+    * Configures JBoss Web to recognize requests for the given connectors, virtual
+    * host and web application context as being for an as-yet-undeployed 
+    * "on-demand" web application.
+    * 
+    * @param serviceName the name of the JBoss Web <code>Service</code> that 
+    *                    includes the connectors that will receive requests for 
+    *                    the on-demand web application. Cannot be <code>null</code>.
+    * @param hostName the name of the JBoss Web <code>Host</code> that is the
+    *                 virtual host for on-demand web application. 
+    *                 Cannot be <code>null</code>.
+    * @param contextName the name of the on-demand web application context, i.e.
+    *                    the context path portion of URLs that target it, with
+    *                    any leading and trailing / removed
+    */
+   void registerOnDemandContext(String serviceName, String hostName, String contextName);
+
+   /**
+    * Configures JBoss Web to no longer recognize requests for the given 
+    * connectors, virtual host and web application context.
+    * 
+    * @param serviceName the name of the JBoss Web <code>Service</code> that 
+    *                    includes the connectors that will receive requests for 
+    *                    the on-demand web application.  Cannot be <code>null</code>.
+    * @param hostName the name of the JBoss Web <code>Host</code> that is the
+    *                 virtual host for on-demand web application.  Cannot be <code>null</code>.
+    * @param contextName the name of the on-demand web application context, i.e.
+    *                    the context path portion of URLs that target it, with
+    *                    any leading and trailing / removed
+    */
+   void removeOnDemandContext(String serviceName, String hostName, String contextName);
+
+}
\ No newline at end of file

Deleted: branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextProfileManager.java
===================================================================
--- trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextProfileManager.java	2010-02-12 15:20:11 UTC (rev 100917)
+++ branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextProfileManager.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,708 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2010, Red Hat, Inc, 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.web.tomcat.service.ondemand;
-
-import java.io.IOException;
-import java.net.URI;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.concurrent.CopyOnWriteArrayList;
-
-import org.jboss.logging.Logger;
-import org.jboss.profileservice.spi.NoSuchProfileException;
-import org.jboss.profileservice.spi.Profile;
-import org.jboss.profileservice.spi.ProfileFactory;
-import org.jboss.profileservice.spi.ProfileKey;
-import org.jboss.profileservice.spi.ProfileService;
-import org.jboss.profileservice.spi.metadata.ProfileMetaData;
-import org.jboss.profileservice.spi.metadata.ProfileSourceMetaData;
-import org.jboss.profileservice.spi.metadata.SubProfileMetaData;
-import org.jboss.system.server.profile.repository.metadata.AbstractProfileSourceMetaData;
-import org.jboss.system.server.profile.repository.metadata.BasicProfileMetaData;
-import org.jboss.system.server.profile.repository.metadata.BasicSubProfileMetaData;
-import org.jboss.system.server.profile.repository.metadata.HotDeploymentProfileSourceMetaData;
-import org.jboss.system.server.profile.repository.metadata.ImmutableProfileSourceMetaData;
-
-/**
- * {@link ContextDemandListener} that creates and registers a {@link ProfileService}
- * {@link Profile} and then {@link #activateProfile() activates it} when
- * it receives a notification that a web request wishes to access a targetted
- * application.
- * 
- * TODO: deal with host name aliases and multiple contexts
- * 
- * TODO: The ProfileService integration aspect of this class duplicates 
- * equivalent functionality used for clustering's deploy-hasingleton directory
- * deployment. Both solve the same conceptual problem of an external event 
- * triggering activation of a profile. Abstract this out and put it in a
- * shared location.
- * 
- * @author Brian Stansberry
- * @version $Revision$
- */
-public class OnDemandContextProfileManager
-{   
-   public static final String DEFAULT_SERVICE_NAME = "jboss.web";
-   public static final String DEFAULT_HOST_NAME = "localhost";
-   public static final String DEFAULT_ROOT_WAR_PROFILE_NAME = "ROOT.war";
-   
-   /** The profile service */
-   private ProfileService profileService;
-   /** The factory for creating profiles */
-   private ProfileFactory profileFactory;
-   /** Integration hook into JBoss Web */
-   private OnDemandContextIntegrator contextIntegrator;
-   
-   /** The list of URIs to scan */
-   private List<URI> uriList = new CopyOnWriteArrayList<URI>();
-   
-   protected final Logger log = Logger.getLogger(getClass());
-   
-   /** Whether this node has activated its profile */
-   private boolean activated;
-   
-   /** The profile service key domain */
-   private String profileDomain;
-   
-   /** The profile service key server */
-   private String profileServer;
-   
-   /** The profile service key name */
-   private String profileName;
-   
-   /** The profile service key */
-   private ProfileKey profileKey;
-
-   /** Name of the JBoss Web service we associate with */
-   private String serviceName = DEFAULT_SERVICE_NAME;
-   /** Name of the JBoss Web virtual host we associate with */
-   private String hostName = DEFAULT_HOST_NAME;
-   /** Name of the JBoss Web context we associate with */
-   private String contextName;
-   /** contextName with a preceding / (if not root context) */
-   private String contextPath; // TODO do something smarter
-   
-   private boolean activateOnDemand = true;
-   
-   private final ContextDemandListener contextDemandListener = new Listener();
-
-   // ----------------------------------------------------------- Constructors
-   
-   /**
-    * Create a new OnDemandContextProfileManager.
-    */
-   public OnDemandContextProfileManager()
-   {
-      super();
-   }
-   
-   // ----------------------------------------------------------  Properties
-
-   /**
-    * Gets the list of URIs that will be included as the content of the
-    * profile when it is activated.
-    * 
-    * @return the list. Will not be <code>null</code>
-    */
-   public List<URI> getURIList()
-   {
-      return new ArrayList<URI>(uriList);
-   }
-
-   /**
-    * Sets the list of URIs that will be included as the content of the
-    * profile when it is activated.
-    * 
-    * @param list the list. Cannot be <code>null</code>
-    * @throws IOException
-    * @throws IllegalArgumentException if <code>list</code> is <code>null</code>
-    */
-   public void setURIList(final List<URI> list) throws IOException
-   {
-      if (list == null)
-      {
-         throw new IllegalArgumentException("list argument cannot be null");
-      }
-   
-      // start out with a fresh list
-      uriList.clear();
-   
-      for(URI uri : list)
-      {
-         if( uri != null && uriList.add(uri) == true )
-         {
-            log.debug("Added URI: " + uri);
-         }  
-      }
-      log.debug("URI list: " + uriList);
-   }
-   
-   /**
-    * Returns the single URI that is to be associated with the profile, or
-    * <code>null</code> if there is less than or more than one such URI.
-    * 
-    * @return the URI or <code>null</code>
-    */
-   public URI getSingleURI()
-   {
-      List<URI> list = getURIList();
-      return list.size() == 1 ? list.get(0) : null;
-   }
-   
-   /**
-    * Convenience method for {@link #setURIList(List) setting the list of URIs}
-    * to include in the profile to a single URI.
-    * 
-    * @param deploymentURI the URI. Cannot be <code>null</code>
-    * @throws IOException
-    * @throws IllegalArgumentException if deploymentURI is <code>null</code>
-    */
-   public void setSingleURI(URI deploymentURI) throws IOException
-   {
-      if (deploymentURI == null)
-      {
-         throw new IllegalArgumentException("deploymentURI argument cannot be null");
-      }
-      List<URI> list = Arrays.asList(deploymentURI);
-      setURIList(list);
-   }
-
-   /**
-    * Gets the value that should be used for the 
-    * {@link ProfileKey#getDomain() domain} portion of
-    * the on-demand @{link Profile}'s {@link #getProfileKey() ProfileKey}.
-    * 
-    * @return the domain, or <code>null</code> if not set
-    */
-   public String getProfileDomain()
-   {
-      return profileDomain;
-   }
-
-   /**
-    * Sets the value that should be used for the 
-    * {@link ProfileKey#getDomain() domain} portion of
-    * the singleton @{link Profile}'s {@link #getProfileKey() ProfileKey}.
-    * 
-    * @param profileDomain the domain, or <code>null</code>
-    */
-   public void setProfileDomain(String profileDomain)
-   {
-      this.profileDomain = profileDomain;
-   }
-
-   /**
-    * Gets the value that should be used for the 
-    * {@link ProfileKey#getServer() server} portion of
-    * the on-demand @{link Profile}'s {@link #getProfileKey() ProfileKey}.
-    * 
-    * @return the server, or <code>null</code> if not set
-    */
-   public String getProfileServer()
-   {
-      return profileServer;
-   }
-
-   /**
-    * Sets the value that should be used for the 
-    * {@link ProfileKey#getServer() server} portion of
-    * the on-demand @{link Profile}'s {@link #getProfileKey() ProfileKey}.
-    * 
-    * @param profileServer the server, or <code>null</code>
-    */
-   public void setProfileServer(String profileServer)
-   {
-      this.profileServer = profileServer;
-   }
-
-   /**
-    * Gets the value that should be used for the 
-    * {@link ProfileKey#getName() name} portion of
-    * the on-demand @{link Profile}'s {@link #getProfileKey() ProfileKey}.
-    * 
-    * @return the name, or <code>null</code> if not set and 
-    *         {@link #setContextName(String) contextName} is also unset.
-    */
-   public String getProfileName()
-   {
-      if (profileName == null)
-      {
-         if (contextName != null)
-         {
-            if ("".equals(contextName))
-            {
-               profileName = DEFAULT_ROOT_WAR_PROFILE_NAME;
-            }
-            else
-            {
-               profileName = contextName + ".war";
-            }
-         }
-      }
-      return profileName;
-   }
-
-   /**
-    * Sets the value that should be used for the 
-    * {@link ProfileKey#getName() name} portion of
-    * the singleton @{link Profile}'s {@link #getProfileKey() ProfileKey}.
-    * 
-    * @param profileName the name, or <code>null</code>
-    */
-   public void setProfileName(String profileName)
-   {
-      this.profileName = profileName;
-   }
-   
-   /**
-    * Gets whether this object has activated its profile.
-    * 
-    * @return <code>true</code> if {@link #activateProfile()} has successfully
-    *         completed and {@link #releaseProfile()} has not been called;
-    *         <code>false</code> otherwise.
-    */
-   public boolean isActivated()
-   {
-      return activated;
-   }
-   
-   
-
-   public String getServiceName()
-   {
-      return serviceName;
-   }
-
-   public void setServiceName(String serviceName)
-   {
-      if (serviceName == null)
-      {
-         throw new IllegalArgumentException("serviceName is null");
-      }
-      this.serviceName = serviceName;
-   }
-
-   public String getHostName()
-   {
-      return hostName;
-   }
-
-   public void setHostName(String hostName)
-   {
-      if (hostName == null)
-      {
-         throw new IllegalArgumentException("hostName is null");
-      }
-      this.hostName = hostName;
-   }
-
-   public String getContextName()
-   {
-      return contextName;
-   }
-
-   public void setContextName(String contextName)
-   {
-      if (contextName == null)
-      {
-         throw new IllegalArgumentException("contextName is null");
-      }
-      if ("ROOT".equals(contextName) || "/ROOT".equals(contextName))
-      {
-         contextName = "";
-      }
-      this.contextName = contextName;
-   }
-
-   /**
-    * Sets the ProfileService reference.
-    * 
-    * @param profileService the profileService. Cannot be <code>null</code>
-    * 
-    * @throws IllegalArgumentException if <code>profileService</code> is <code>null</code>
-    */
-   public void setProfileService(ProfileService profileService)
-   {
-      if (profileService == null)
-      {
-         throw new IllegalArgumentException("profileService is null");
-      }
-      
-      this.profileService = profileService;
-   }
-
-   /**
-    * Sets the factory that should be used to create the on-demand Profile.
-    * 
-    * @param profileFactory the factory Cannot be <code>null</code>
-    * 
-    * @throws IllegalArgumentException if <code>profileFactory</code> is <code>null</code>
-    */
-   public void setProfileFactory(ProfileFactory profileFactory)
-   {
-      if (profileFactory == null)
-      {
-         throw new IllegalArgumentException("profileFactory is null");
-      }
-      this.profileFactory = profileFactory;
-   }
-
-   /**
-    * Sets the {@link OnDemandContextIntegrator} used to integrate with the
-    * web server
-    * 
-    * @param contextManager the manager. Cannot be <code>null</code>
-    * 
-    * @throws IllegalArgumentException if <code>contextManager</code> is <code>null</code>
-    */
-   public void setOnDemandContextIntegrator(OnDemandContextIntegrator contextManager)
-   {
-      if (contextManager == null)
-      {
-         throw new IllegalArgumentException("contextManager is null");
-      }
-      this.contextIntegrator = contextManager;
-   } 
-
-   /**
-    * Gets whether the profile should be activated on during the {@link #start()}
-    * phase of this bean's deployment rather than on receipt of an HTTP request. 
-    * This property allows a simple configuration to turn off the "on-demand"
-    * behavior for environments (e.g. production servers) where a more
-    * deterministic startup is appropriate.
-    * 
-    * @return <code>false</code> if the profile should be activated as part of
-    *         startup of this bean; <code>true</code> if activation should
-    *         be deferred until an HTTP request is received. Default is
-    *         <code>true</code>
-    *         
-    * @deprecated This is a temporary API for AS 6.0.0.M2; something else
-    *             may replace it in later releases
-    */
-   public boolean isActivateOnDemand()
-   {
-      return activateOnDemand;
-   }
-
-   /**
-    * Sets whether the profile should be activated on during the {@link #start()}
-    * phase of this bean's deployment rather than on receipt of an HTTP request. 
-    * This property allows a simple configuration to turn off the "on-demand"
-    * behavior for environments (e.g. production servers) where a more
-    * deterministic startup is appropriate.
-    * 
-    * @param activateOnDemand <code>false</code> if the profile should be 
-    *                          activated as part of startup of this bean; 
-    *                          <code>true</code> if activation should be 
-    *                          deferred until an HTTP request is received.
-    *         
-    * @deprecated This is a temporary API for AS 6.0.0.M2; something else
-    *             may replace it in later releases
-    */
-   public void setActivateOnDemand(boolean activateOnDemand)
-   {
-      this.activateOnDemand = activateOnDemand;
-   }  
-
-   // -----------------------------------------------------------------  Public
-
-   /**
-    * Builds a profile from the {@link #getURIList() URI list} and registers
-    * it under the configured {@link #getProfileKey()}.
-    */
-   public void start() throws Exception
-   {    
-      if (this.profileFactory == null)
-      {
-         throw new IllegalStateException("Must configure ProfileFactory");
-      } 
-      
-      if (profileService == null)
-      {
-         throw new IllegalStateException("Must configure ProfileService");
-      }
-      
-      if (contextIntegrator == null)
-      {
-         throw new IllegalStateException("Must configure OnDemandContextManager");
-      }
-      
-      if (serviceName == null)
-      {
-         throw new IllegalStateException("Must configure serviceName");
-      }
-      
-      if (hostName == null)
-      {
-         throw new IllegalStateException("Must configure hostName");
-      }
-      
-      if (contextName == null)
-      {
-         throw new IllegalStateException("Must configure contextName");
-      }
-      
-      if (uriList.size() == 0)
-      {
-         throw new IllegalStateException("Must configure URIList");
-      }
-      
-      URI[] rootURIs = uriList.toArray(new URI[uriList.size()]);
-      // TODO add dependencies on bootstrap profiles 
-      String[] rootSubProfiles = new String[0];
-      // Create a hotdeployment profile
-      // FIXME JBAS-7720 restore hot deploy capability (and make it configurable too)
-      ProfileMetaData metadata = createProfileMetaData(false, rootURIs, rootSubProfiles);
-      
-      Profile profile = profileFactory.createProfile(getProfileKey(), metadata);
-      profileService.registerProfile(profile);      
-      
-      if (this.activateOnDemand)
-      {
-         contextIntegrator.registerContextDemandListener(contextDemandListener);
-         contextPath = (contextName.length() == 0 || '/' == contextName.charAt(0) ? contextName : "/" + contextName);
-         contextIntegrator.registerOnDemandContext(serviceName, hostName, contextPath);  
-      }
-      else
-      {    
-         // FIXME we don't validate as we expect the PS to do it at the end
-         // of startup; need to check if this is correct 
-         activateProfile(false);
-      }
-   }
-   
-   /**
-    * Unregisters the profile registered in {@link #start()}.
-    */
-   public void stop() throws Exception
-   {      
-      ProfileKey profKey = null;
-      try
-      {
-         profKey = getProfileKey();
-      }
-      catch (IllegalStateException e)
-      {
-         return;
-      }
-      
-      if (profileService != null &&  profKey != null)
-      {
-         try
-         {
-            // Inactivate first if needed
-            if (profileService.getActiveProfileKeys().contains(profKey))
-            {
-               releaseProfile();
-            }
-            
-            profileService.unregisterProfile(profKey);
-         }
-         catch (NoSuchProfileException e)
-         {
-            log.warn("Could not unregister unknown profile " + profKey);
-         }
-         finally
-         {
-            if (this.contextIntegrator != null)
-            {
-               this.contextIntegrator.removeContextDemandListener(contextDemandListener);
-            }
-         }
-      }
-   }
-
-   /**
-    * Tells the ProfileService to 
-    * {@link ProfileService#activateProfile(ProfileKey) activate the on-demand profile}.
-    */
-   public void activateProfile() throws Exception
-   {
-      activateProfile(true);
-   }
-   
-   /**
-    * Gets the key for the {@link Profile} that we activate and release.
-    * 
-    * @return the key. Will not return <code>null</code>
-    * 
-    * @throws IllegalStateException if {@link #getProfileName()} returns <code>null</code>
-    * 
-    * @see #getProfileDomain() 
-    * @see #getProfileServer() 
-    * @see #getProfileName()
-    */
-   public ProfileKey getProfileKey()
-   {
-      if (this.profileKey == null)
-      {
-         String name = getProfileName();
-         if (name == null)
-         {
-            throw new IllegalStateException("Must configure profileName or contextName before calling getProfileKey()");
-         }
-         this.profileKey = new ProfileKey(getProfileDomain(), getProfileServer(), getProfileName());
-      }
-      return this.profileKey;
-   }
-   
-   // -------------------------------------------------------------- Protected
-   
-   /**
-    * Create a profile repository source meta data.
-    * 
-    * @param type the repository type.
-    * @param uri the uri
-    * @return the profile source meta data.
-    */
-   protected ProfileSourceMetaData createSource(URI[] uris, boolean hotDeployment)
-   {
-      AbstractProfileSourceMetaData source = null;
-      if(hotDeployment)
-      {
-         source = new HotDeploymentProfileSourceMetaData();
-      }
-      else
-      {
-         source = new ImmutableProfileSourceMetaData();
-      }
-      List<String> sources = new ArrayList<String>();
-      for(URI uri : uris)
-         sources.add(uri.toString());
-      source.setSources(sources);
-      return source;
-   }
-   
-   // ----------------------------------------------------------------  Private
-
-   
-   /**
-    * Create a profile meta data.
-    * 
-    * @param name the profile name.
-    * @param repositoryType the repository type.
-    * @param uris the repository uris.
-    * @param subProfiles a list of profile dependencies.
-    * @return the profile meta data.
-    */
-   private ProfileMetaData createProfileMetaData(boolean hotDeployment, URI[] uris, String[] subProfiles)
-   {
-      // Create profile
-      BasicProfileMetaData metaData = new BasicProfileMetaData();
-      metaData.setDomain(getProfileDomain());
-      metaData.setServer(getProfileServer());
-      metaData.setName(getProfileName());
-      
-      // Create profile sources
-      ProfileSourceMetaData source = createSource(uris, hotDeployment);
-      metaData.setSource(source);
-      
-      List<SubProfileMetaData> profileList = new ArrayList<SubProfileMetaData>();
-      for(String subProfile : subProfiles)
-      {
-         BasicSubProfileMetaData md = new BasicSubProfileMetaData();
-         md.setName(subProfile);
-         profileList.add(md);
-      }
-      metaData.setSubprofiles(profileList);
-      
-      return metaData;
-   }
-   
-   private synchronized void activateProfile(boolean validate) throws Exception
-   {
-      if (this.profileService == null)
-      {
-         throw new IllegalStateException("Must configure the ProfileService");
-      }
-      ProfileKey profKey = getProfileKey();
-      if (this.profileService.getActiveProfileKeys().contains(profKey) == false)
-      {         
-         this.profileService.activateProfile(profKey);
-         if (validate)
-         {
-            // Validate if the activation was successful
-            this.profileService.validateProfile(profKey);
-         }
-         
-         this.activated = true;
-      }
-      else
-      {
-         log.warn("Profile " + profKey + " is already activated");
-         this.activated = true;
-      }
-      
-   }
-
-   /**
-    * Tells the ProfileService to {@link ProfileService#releaseProfile(ProfileKey) release the profile}. 
-    * Called by the HASingletonController when we are no longer the singleton master.
-    */
-   private synchronized void releaseProfile() throws Exception
-   {
-      if (this.activated)
-      {         
-         try
-         {
-            this.profileService.deactivateProfile(getProfileKey());
-         }
-         catch (NoSuchProfileException e)
-         {
-            log.warn("No Profile is registered under key " + getProfileKey());
-         }
-         
-         this.activated = false;
-      }
-   }
-   
-   private class Listener implements ContextDemandListener
-   {
-      public void contextDemanded(String serviceName, String hostName, String contextName)
-      {
-         if (OnDemandContextProfileManager.this.contextPath.equals(contextName) 
-               && OnDemandContextProfileManager.this.hostName.equals(hostName) 
-               && OnDemandContextProfileManager.this.serviceName.equals(serviceName))
-         {
-            AccessController.doPrivileged(new PrivilegedAction<Object>()                  
-            {
-               public Object run()
-               {
-                  try
-                  {
-                     OnDemandContextProfileManager.this.activateProfile();
-                  }
-                  catch (Exception e)
-                  {
-                     log.error("Unable to activate profile " + getProfileKey(), e);
-                  }
-                  return null;
-               }
-            });
-         }
-      }
-   }
-   
-}

Copied: branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextProfileManager.java (from rev 100917, trunk/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextProfileManager.java)
===================================================================
--- branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextProfileManager.java	                        (rev 0)
+++ branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/ondemand/OnDemandContextProfileManager.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -0,0 +1,708 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2010, Red Hat, Inc, 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.web.tomcat.service.ondemand;
+
+import java.io.IOException;
+import java.net.URI;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+
+import org.jboss.logging.Logger;
+import org.jboss.profileservice.spi.NoSuchProfileException;
+import org.jboss.profileservice.spi.Profile;
+import org.jboss.profileservice.spi.ProfileFactory;
+import org.jboss.profileservice.spi.ProfileKey;
+import org.jboss.profileservice.spi.ProfileService;
+import org.jboss.profileservice.spi.metadata.ProfileMetaData;
+import org.jboss.profileservice.spi.metadata.ProfileSourceMetaData;
+import org.jboss.profileservice.spi.metadata.SubProfileMetaData;
+import org.jboss.system.server.profile.repository.metadata.AbstractProfileSourceMetaData;
+import org.jboss.system.server.profile.repository.metadata.BasicProfileMetaData;
+import org.jboss.system.server.profile.repository.metadata.BasicSubProfileMetaData;
+import org.jboss.system.server.profile.repository.metadata.HotDeploymentProfileSourceMetaData;
+import org.jboss.system.server.profile.repository.metadata.ImmutableProfileSourceMetaData;
+
+/**
+ * {@link ContextDemandListener} that creates and registers a {@link ProfileService}
+ * {@link Profile} and then {@link #activateProfile() activates it} when
+ * it receives a notification that a web request wishes to access a targetted
+ * application.
+ * 
+ * TODO: deal with host name aliases and multiple contexts
+ * 
+ * TODO: The ProfileService integration aspect of this class duplicates 
+ * equivalent functionality used for clustering's deploy-hasingleton directory
+ * deployment. Both solve the same conceptual problem of an external event 
+ * triggering activation of a profile. Abstract this out and put it in a
+ * shared location.
+ * 
+ * @author Brian Stansberry
+ * @version $Revision$
+ */
+public class OnDemandContextProfileManager
+{   
+   public static final String DEFAULT_SERVICE_NAME = "jboss.web";
+   public static final String DEFAULT_HOST_NAME = "localhost";
+   public static final String DEFAULT_ROOT_WAR_PROFILE_NAME = "ROOT.war";
+   
+   /** The profile service */
+   private ProfileService profileService;
+   /** The factory for creating profiles */
+   private ProfileFactory profileFactory;
+   /** Integration hook into JBoss Web */
+   private OnDemandContextIntegrator contextIntegrator;
+   
+   /** The list of URIs to scan */
+   private List<URI> uriList = new CopyOnWriteArrayList<URI>();
+   
+   protected final Logger log = Logger.getLogger(getClass());
+   
+   /** Whether this node has activated its profile */
+   private boolean activated;
+   
+   /** The profile service key domain */
+   private String profileDomain;
+   
+   /** The profile service key server */
+   private String profileServer;
+   
+   /** The profile service key name */
+   private String profileName;
+   
+   /** The profile service key */
+   private ProfileKey profileKey;
+
+   /** Name of the JBoss Web service we associate with */
+   private String serviceName = DEFAULT_SERVICE_NAME;
+   /** Name of the JBoss Web virtual host we associate with */
+   private String hostName = DEFAULT_HOST_NAME;
+   /** Name of the JBoss Web context we associate with */
+   private String contextName;
+   /** contextName with a preceding / (if not root context) */
+   private String contextPath; // TODO do something smarter
+   
+   private boolean activateOnDemand = true;
+   
+   private final ContextDemandListener contextDemandListener = new Listener();
+
+   // ----------------------------------------------------------- Constructors
+   
+   /**
+    * Create a new OnDemandContextProfileManager.
+    */
+   public OnDemandContextProfileManager()
+   {
+      super();
+   }
+   
+   // ----------------------------------------------------------  Properties
+
+   /**
+    * Gets the list of URIs that will be included as the content of the
+    * profile when it is activated.
+    * 
+    * @return the list. Will not be <code>null</code>
+    */
+   public List<URI> getURIList()
+   {
+      return new ArrayList<URI>(uriList);
+   }
+
+   /**
+    * Sets the list of URIs that will be included as the content of the
+    * profile when it is activated.
+    * 
+    * @param list the list. Cannot be <code>null</code>
+    * @throws IOException
+    * @throws IllegalArgumentException if <code>list</code> is <code>null</code>
+    */
+   public void setURIList(final List<URI> list) throws IOException
+   {
+      if (list == null)
+      {
+         throw new IllegalArgumentException("list argument cannot be null");
+      }
+   
+      // start out with a fresh list
+      uriList.clear();
+   
+      for(URI uri : list)
+      {
+         if( uri != null && uriList.add(uri) == true )
+         {
+            log.debug("Added URI: " + uri);
+         }  
+      }
+      log.debug("URI list: " + uriList);
+   }
+   
+   /**
+    * Returns the single URI that is to be associated with the profile, or
+    * <code>null</code> if there is less than or more than one such URI.
+    * 
+    * @return the URI or <code>null</code>
+    */
+   public URI getSingleURI()
+   {
+      List<URI> list = getURIList();
+      return list.size() == 1 ? list.get(0) : null;
+   }
+   
+   /**
+    * Convenience method for {@link #setURIList(List) setting the list of URIs}
+    * to include in the profile to a single URI.
+    * 
+    * @param deploymentURI the URI. Cannot be <code>null</code>
+    * @throws IOException
+    * @throws IllegalArgumentException if deploymentURI is <code>null</code>
+    */
+   public void setSingleURI(URI deploymentURI) throws IOException
+   {
+      if (deploymentURI == null)
+      {
+         throw new IllegalArgumentException("deploymentURI argument cannot be null");
+      }
+      List<URI> list = Arrays.asList(deploymentURI);
+      setURIList(list);
+   }
+
+   /**
+    * Gets the value that should be used for the 
+    * {@link ProfileKey#getDomain() domain} portion of
+    * the on-demand @{link Profile}'s {@link #getProfileKey() ProfileKey}.
+    * 
+    * @return the domain, or <code>null</code> if not set
+    */
+   public String getProfileDomain()
+   {
+      return profileDomain;
+   }
+
+   /**
+    * Sets the value that should be used for the 
+    * {@link ProfileKey#getDomain() domain} portion of
+    * the singleton @{link Profile}'s {@link #getProfileKey() ProfileKey}.
+    * 
+    * @param profileDomain the domain, or <code>null</code>
+    */
+   public void setProfileDomain(String profileDomain)
+   {
+      this.profileDomain = profileDomain;
+   }
+
+   /**
+    * Gets the value that should be used for the 
+    * {@link ProfileKey#getServer() server} portion of
+    * the on-demand @{link Profile}'s {@link #getProfileKey() ProfileKey}.
+    * 
+    * @return the server, or <code>null</code> if not set
+    */
+   public String getProfileServer()
+   {
+      return profileServer;
+   }
+
+   /**
+    * Sets the value that should be used for the 
+    * {@link ProfileKey#getServer() server} portion of
+    * the on-demand @{link Profile}'s {@link #getProfileKey() ProfileKey}.
+    * 
+    * @param profileServer the server, or <code>null</code>
+    */
+   public void setProfileServer(String profileServer)
+   {
+      this.profileServer = profileServer;
+   }
+
+   /**
+    * Gets the value that should be used for the 
+    * {@link ProfileKey#getName() name} portion of
+    * the on-demand @{link Profile}'s {@link #getProfileKey() ProfileKey}.
+    * 
+    * @return the name, or <code>null</code> if not set and 
+    *         {@link #setContextName(String) contextName} is also unset.
+    */
+   public String getProfileName()
+   {
+      if (profileName == null)
+      {
+         if (contextName != null)
+         {
+            if ("".equals(contextName))
+            {
+               profileName = DEFAULT_ROOT_WAR_PROFILE_NAME;
+            }
+            else
+            {
+               profileName = contextName + ".war";
+            }
+         }
+      }
+      return profileName;
+   }
+
+   /**
+    * Sets the value that should be used for the 
+    * {@link ProfileKey#getName() name} portion of
+    * the singleton @{link Profile}'s {@link #getProfileKey() ProfileKey}.
+    * 
+    * @param profileName the name, or <code>null</code>
+    */
+   public void setProfileName(String profileName)
+   {
+      this.profileName = profileName;
+   }
+   
+   /**
+    * Gets whether this object has activated its profile.
+    * 
+    * @return <code>true</code> if {@link #activateProfile()} has successfully
+    *         completed and {@link #releaseProfile()} has not been called;
+    *         <code>false</code> otherwise.
+    */
+   public boolean isActivated()
+   {
+      return activated;
+   }
+   
+   
+
+   public String getServiceName()
+   {
+      return serviceName;
+   }
+
+   public void setServiceName(String serviceName)
+   {
+      if (serviceName == null)
+      {
+         throw new IllegalArgumentException("serviceName is null");
+      }
+      this.serviceName = serviceName;
+   }
+
+   public String getHostName()
+   {
+      return hostName;
+   }
+
+   public void setHostName(String hostName)
+   {
+      if (hostName == null)
+      {
+         throw new IllegalArgumentException("hostName is null");
+      }
+      this.hostName = hostName;
+   }
+
+   public String getContextName()
+   {
+      return contextName;
+   }
+
+   public void setContextName(String contextName)
+   {
+      if (contextName == null)
+      {
+         throw new IllegalArgumentException("contextName is null");
+      }
+      if ("ROOT".equals(contextName) || "/ROOT".equals(contextName))
+      {
+         contextName = "";
+      }
+      this.contextName = contextName;
+   }
+
+   /**
+    * Sets the ProfileService reference.
+    * 
+    * @param profileService the profileService. Cannot be <code>null</code>
+    * 
+    * @throws IllegalArgumentException if <code>profileService</code> is <code>null</code>
+    */
+   public void setProfileService(ProfileService profileService)
+   {
+      if (profileService == null)
+      {
+         throw new IllegalArgumentException("profileService is null");
+      }
+      
+      this.profileService = profileService;
+   }
+
+   /**
+    * Sets the factory that should be used to create the on-demand Profile.
+    * 
+    * @param profileFactory the factory Cannot be <code>null</code>
+    * 
+    * @throws IllegalArgumentException if <code>profileFactory</code> is <code>null</code>
+    */
+   public void setProfileFactory(ProfileFactory profileFactory)
+   {
+      if (profileFactory == null)
+      {
+         throw new IllegalArgumentException("profileFactory is null");
+      }
+      this.profileFactory = profileFactory;
+   }
+
+   /**
+    * Sets the {@link OnDemandContextIntegrator} used to integrate with the
+    * web server
+    * 
+    * @param contextManager the manager. Cannot be <code>null</code>
+    * 
+    * @throws IllegalArgumentException if <code>contextManager</code> is <code>null</code>
+    */
+   public void setOnDemandContextIntegrator(OnDemandContextIntegrator contextManager)
+   {
+      if (contextManager == null)
+      {
+         throw new IllegalArgumentException("contextManager is null");
+      }
+      this.contextIntegrator = contextManager;
+   } 
+
+   /**
+    * Gets whether the profile should be activated on during the {@link #start()}
+    * phase of this bean's deployment rather than on receipt of an HTTP request. 
+    * This property allows a simple configuration to turn off the "on-demand"
+    * behavior for environments (e.g. production servers) where a more
+    * deterministic startup is appropriate.
+    * 
+    * @return <code>false</code> if the profile should be activated as part of
+    *         startup of this bean; <code>true</code> if activation should
+    *         be deferred until an HTTP request is received. Default is
+    *         <code>true</code>
+    *         
+    * @deprecated This is a temporary API for AS 6.0.0.M2; something else
+    *             may replace it in later releases
+    */
+   public boolean isActivateOnDemand()
+   {
+      return activateOnDemand;
+   }
+
+   /**
+    * Sets whether the profile should be activated on during the {@link #start()}
+    * phase of this bean's deployment rather than on receipt of an HTTP request. 
+    * This property allows a simple configuration to turn off the "on-demand"
+    * behavior for environments (e.g. production servers) where a more
+    * deterministic startup is appropriate.
+    * 
+    * @param activateOnDemand <code>false</code> if the profile should be 
+    *                          activated as part of startup of this bean; 
+    *                          <code>true</code> if activation should be 
+    *                          deferred until an HTTP request is received.
+    *         
+    * @deprecated This is a temporary API for AS 6.0.0.M2; something else
+    *             may replace it in later releases
+    */
+   public void setActivateOnDemand(boolean activateOnDemand)
+   {
+      this.activateOnDemand = activateOnDemand;
+   }  
+
+   // -----------------------------------------------------------------  Public
+
+   /**
+    * Builds a profile from the {@link #getURIList() URI list} and registers
+    * it under the configured {@link #getProfileKey()}.
+    */
+   public void start() throws Exception
+   {    
+      if (this.profileFactory == null)
+      {
+         throw new IllegalStateException("Must configure ProfileFactory");
+      } 
+      
+      if (profileService == null)
+      {
+         throw new IllegalStateException("Must configure ProfileService");
+      }
+      
+      if (contextIntegrator == null)
+      {
+         throw new IllegalStateException("Must configure OnDemandContextManager");
+      }
+      
+      if (serviceName == null)
+      {
+         throw new IllegalStateException("Must configure serviceName");
+      }
+      
+      if (hostName == null)
+      {
+         throw new IllegalStateException("Must configure hostName");
+      }
+      
+      if (contextName == null)
+      {
+         throw new IllegalStateException("Must configure contextName");
+      }
+      
+      if (uriList.size() == 0)
+      {
+         throw new IllegalStateException("Must configure URIList");
+      }
+      
+      URI[] rootURIs = uriList.toArray(new URI[uriList.size()]);
+      // TODO add dependencies on bootstrap profiles 
+      String[] rootSubProfiles = new String[0];
+      // Create a hotdeployment profile
+      // FIXME JBAS-7720 restore hot deploy capability (and make it configurable too)
+      ProfileMetaData metadata = createProfileMetaData(false, rootURIs, rootSubProfiles);
+      
+      Profile profile = profileFactory.createProfile(getProfileKey(), metadata);
+      profileService.registerProfile(profile);      
+      
+      if (this.activateOnDemand)
+      {
+         contextIntegrator.registerContextDemandListener(contextDemandListener);
+         contextPath = (contextName.length() == 0 || '/' == contextName.charAt(0) ? contextName : "/" + contextName);
+         contextIntegrator.registerOnDemandContext(serviceName, hostName, contextPath);  
+      }
+      else
+      {    
+         // FIXME we don't validate as we expect the PS to do it at the end
+         // of startup; need to check if this is correct 
+         activateProfile(false);
+      }
+   }
+   
+   /**
+    * Unregisters the profile registered in {@link #start()}.
+    */
+   public void stop() throws Exception
+   {      
+      ProfileKey profKey = null;
+      try
+      {
+         profKey = getProfileKey();
+      }
+      catch (IllegalStateException e)
+      {
+         return;
+      }
+      
+      if (profileService != null &&  profKey != null)
+      {
+         try
+         {
+            // Inactivate first if needed
+            if (profileService.getActiveProfileKeys().contains(profKey))
+            {
+               releaseProfile();
+            }
+            
+            profileService.unregisterProfile(profKey);
+         }
+         catch (NoSuchProfileException e)
+         {
+            log.warn("Could not unregister unknown profile " + profKey);
+         }
+         finally
+         {
+            if (this.contextIntegrator != null)
+            {
+               this.contextIntegrator.removeContextDemandListener(contextDemandListener);
+            }
+         }
+      }
+   }
+
+   /**
+    * Tells the ProfileService to 
+    * {@link ProfileService#activateProfile(ProfileKey) activate the on-demand profile}.
+    */
+   public void activateProfile() throws Exception
+   {
+      activateProfile(true);
+   }
+   
+   /**
+    * Gets the key for the {@link Profile} that we activate and release.
+    * 
+    * @return the key. Will not return <code>null</code>
+    * 
+    * @throws IllegalStateException if {@link #getProfileName()} returns <code>null</code>
+    * 
+    * @see #getProfileDomain() 
+    * @see #getProfileServer() 
+    * @see #getProfileName()
+    */
+   public ProfileKey getProfileKey()
+   {
+      if (this.profileKey == null)
+      {
+         String name = getProfileName();
+         if (name == null)
+         {
+            throw new IllegalStateException("Must configure profileName or contextName before calling getProfileKey()");
+         }
+         this.profileKey = new ProfileKey(getProfileDomain(), getProfileServer(), getProfileName());
+      }
+      return this.profileKey;
+   }
+   
+   // -------------------------------------------------------------- Protected
+   
+   /**
+    * Create a profile repository source meta data.
+    * 
+    * @param type the repository type.
+    * @param uri the uri
+    * @return the profile source meta data.
+    */
+   protected ProfileSourceMetaData createSource(URI[] uris, boolean hotDeployment)
+   {
+      AbstractProfileSourceMetaData source = null;
+      if(hotDeployment)
+      {
+         source = new HotDeploymentProfileSourceMetaData();
+      }
+      else
+      {
+         source = new ImmutableProfileSourceMetaData();
+      }
+      List<String> sources = new ArrayList<String>();
+      for(URI uri : uris)
+         sources.add(uri.toString());
+      source.setSources(sources);
+      return source;
+   }
+   
+   // ----------------------------------------------------------------  Private
+
+   
+   /**
+    * Create a profile meta data.
+    * 
+    * @param name the profile name.
+    * @param repositoryType the repository type.
+    * @param uris the repository uris.
+    * @param subProfiles a list of profile dependencies.
+    * @return the profile meta data.
+    */
+   private ProfileMetaData createProfileMetaData(boolean hotDeployment, URI[] uris, String[] subProfiles)
+   {
+      // Create profile
+      BasicProfileMetaData metaData = new BasicProfileMetaData();
+      metaData.setDomain(getProfileDomain());
+      metaData.setServer(getProfileServer());
+      metaData.setName(getProfileName());
+      
+      // Create profile sources
+      ProfileSourceMetaData source = createSource(uris, hotDeployment);
+      metaData.setSource(source);
+      
+      List<SubProfileMetaData> profileList = new ArrayList<SubProfileMetaData>();
+      for(String subProfile : subProfiles)
+      {
+         BasicSubProfileMetaData md = new BasicSubProfileMetaData();
+         md.setName(subProfile);
+         profileList.add(md);
+      }
+      metaData.setSubprofiles(profileList);
+      
+      return metaData;
+   }
+   
+   private synchronized void activateProfile(boolean validate) throws Exception
+   {
+      if (this.profileService == null)
+      {
+         throw new IllegalStateException("Must configure the ProfileService");
+      }
+      ProfileKey profKey = getProfileKey();
+      if (this.profileService.getActiveProfileKeys().contains(profKey) == false)
+      {         
+         this.profileService.activateProfile(profKey);
+         if (validate)
+         {
+            // Validate if the activation was successful
+            this.profileService.validateProfile(profKey);
+         }
+         
+         this.activated = true;
+      }
+      else
+      {
+         log.warn("Profile " + profKey + " is already activated");
+         this.activated = true;
+      }
+      
+   }
+
+   /**
+    * Tells the ProfileService to {@link ProfileService#releaseProfile(ProfileKey) release the profile}. 
+    * Called by the HASingletonController when we are no longer the singleton master.
+    */
+   private synchronized void releaseProfile() throws Exception
+   {
+      if (this.activated)
+      {         
+         try
+         {
+            this.profileService.deactivateProfile(getProfileKey());
+         }
+         catch (NoSuchProfileException e)
+         {
+            log.warn("No Profile is registered under key " + getProfileKey());
+         }
+         
+         this.activated = false;
+      }
+   }
+   
+   private class Listener implements ContextDemandListener
+   {
+      public void contextDemanded(String serviceName, String hostName, String contextName)
+      {
+         if (OnDemandContextProfileManager.this.contextPath.equals(contextName) 
+               && OnDemandContextProfileManager.this.hostName.equals(hostName) 
+               && OnDemandContextProfileManager.this.serviceName.equals(serviceName))
+         {
+            AccessController.doPrivileged(new PrivilegedAction<Object>()                  
+            {
+               public Object run()
+               {
+                  try
+                  {
+                     OnDemandContextProfileManager.this.activateProfile();
+                  }
+                  catch (Exception e)
+                  {
+                     log.error("Unable to activate profile " + getProfileKey(), e);
+                  }
+                  return null;
+               }
+            });
+         }
+      }
+   }
+   
+}

Modified: branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/session/ClusteredSession.java
===================================================================
--- branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/session/ClusteredSession.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/tomcat/src/main/java/org/jboss/web/tomcat/service/session/ClusteredSession.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1995,7 +1995,7 @@
     * Return the <code>isValid</code> flag for this session without any expiration
     * check.
     */
-   private boolean isValidInternal() 
+   public boolean isValidInternal() 
    {
        return (this.isValid || this.expiring);
    }

Modified: branches/vfs3-int/tomcat/src/resources/war-deployers-jboss-beans.xml
===================================================================
--- branches/vfs3-int/tomcat/src/resources/war-deployers-jboss-beans.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/tomcat/src/resources/war-deployers-jboss-beans.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -42,6 +42,10 @@
    <bean name="WebAnnotationMetaDataDeployer" class="org.jboss.web.deployers.WarAnnotationMetaDataDeployer">
       <property name="relativeOrder">2005</property>
       <property name="metaDataCompleteIsDefault">false</property>
+      <!-- Order this after AopMetaDataDeployer *if it is present* -->
+      <install method="addInput">
+        <parameter class="java.lang.String">org.jboss.aop.asintegration.jboss5.AopMetaDataDeployerOutput</parameter>
+      </install>
    </bean>
 
   <!-- See JBAS-6062 -->

Modified: branches/vfs3-int/tomcat/src/webapps/ROOT.war/index.html
===================================================================
--- branches/vfs3-int/tomcat/src/webapps/ROOT.war/index.html	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/tomcat/src/webapps/ROOT.war/index.html	2010-02-12 17:13:14 UTC (rev 100922)
@@ -2,7 +2,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-   <title>Welcome to JBoss&trade;</title>
+   <title>Welcome to JBoss AS</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link rel="StyleSheet" href="css/jboss.css" type="text/css"/>
 </head>
@@ -16,26 +16,28 @@
    <div id="navigation_bar"></div>
 <!-- header end -->
 
-   <h3>JBoss Online Resources</h3>
+   <h3>Manage this JBoss AS Instance</h3>
    <ul>
+      <li><a href="/admin-console/">Administration Console</a></li>
+      <li><a href="/jmx-console/">JMX Console</a></li>
+      <li><a href="/status">Tomcat status</a>
+          <a href="/status?full=true">(full)</a>
+          <a href="/status?XML=true">(XML)</a></li>
+   </ul>
+
+   <h3>JBoss AS Online Resources</h3>
+   <ul>
       <li><a href="http://www.jboss.org/jbossas/docs">JBoss AS Documentation</a></li>
       <li><a href="http://wiki.jboss.org">JBoss Wiki</a></li>
-      <li><a href="http://jira.jboss.org/jira/browse/JBAS">JBoss JIRA</a></li>
+      <li><a href="http://jira.jboss.org/jira/browse/JBAS">JBoss AS JIRA</a></li>
       <li><a href="http://www.jboss.org/index.html?module=bb">JBoss Forums</a></li>
+       <li><a href="https://lists.jboss.org/">JBoss Mailing Lists</a></li>
    </ul>
 
-   <h3>JBoss Management</h3>
-   <ul>
-      <li><a href="/status">Tomcat status</a>
-          <a href="/status?full=true">(full)</a>
-          <a href="/status?XML=true">(XML)</a></li>
-      <li><a href="/jmx-console/">JMX Console</a></li>
-   </ul>
-
 <!-- footer begin -->
    <div id="footer">
       <div id="credits">
-         <a href="http://www.jboss.org/jbossas">JBoss&trade; Application Server</a>
+         <a href="http://www.jboss.org/jbossas">JBoss Application Server</a>
       </div>
       <div id="footer_bar">&nbsp;</div>
    </div>

Modified: branches/vfs3-int/varia/.classpath
===================================================================
--- branches/vfs3-int/varia/.classpath	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/varia/.classpath	2010-02-12 17:13:14 UTC (rev 100922)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry excluding="org/jboss/varia/stats/DataSourceInterceptorJDK5.java" kind="src" output="target/classes" path="src/main/java"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
 	<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>

Modified: branches/vfs3-int/varia/pom.xml
===================================================================
--- branches/vfs3-int/varia/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/varia/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -16,7 +16,7 @@
   <description>JBoss Application Server (varia module)</description>
   
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>

Modified: branches/vfs3-int/varia/src/main/java/org/jboss/monitor/services/ScriptingListener.java
===================================================================
--- branches/vfs3-int/varia/src/main/java/org/jboss/monitor/services/ScriptingListener.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/varia/src/main/java/org/jboss/monitor/services/ScriptingListener.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -23,6 +23,7 @@
 
 import java.util.LinkedList;
 import java.util.List;
+import java.util.concurrent.atomic.AtomicLong;
 
 import javax.management.MBeanServer;
 import javax.management.Notification;
@@ -34,32 +35,30 @@
 import org.jboss.monitor.alarm.AlarmManager;
 import org.jboss.system.ListenerServiceMBeanSupport;
 
-import EDU.oswego.cs.dl.util.concurrent.SynchronizedLong;
-
 /**
  * A simple listener that can subscribe for any combination
  * of notifications, and asynchronously process them using
  * a script written using any of the languages supported by
  * the apache Bean Scripting Framework (BSF).
- * 
+ *
  * The following variables are setup for the script to use:
- * 
+ *
  * "log"          - service Logger
  * "server"       - the MBeanServer
  * "manager"      - alarm manager helper
  *
  * "notification" - the Notification to be processed
  * "handback"     - the Object sent with the notification
- * 
+ *
  * By setting up a Timer using the TimerService to periodicaly
  * emit notifications, we can use those notifications as triggers
  * for performing any sort of polling operation.
- * 
+ *
  * One of the intented uses of this service is to use the "manager"
  * (see org.jboss.monitor.alarm.AlarmManager) in the script,
  * help maintain a list of active system alarms in the
  * ActiveAlarmTable service.
- * 
+ *
  * @author <a href="mailto:dimitris at jboss.org">Dimitris Andreadis</a>
  * @version $Revision$
  */
@@ -67,10 +66,10 @@
     implements ScriptingListenerMBean
 {
    // Private Data --------------------------------------------------
-    
+
    /** The Script */
    private String script;
-   
+
    /** The language the script is written into */
    private String language;
 
@@ -79,47 +78,47 @@
 
    /** Set to deliver notification directly */
    private ObjectName targetListener;
-   
+
    /** The number of notifications received/enqueued */
-   private SynchronizedLong notificationsReceived;
-   
+   private AtomicLong notificationsReceived;
+
    /** The number of notifications processed/dequeued by the script */
-   private SynchronizedLong notificationsProcessed;
-   
+   private AtomicLong notificationsProcessed;
+
    /** The total time (msecs) spent executing the script */
-   private SynchronizedLong totalProcessingTime;
-   
+   private AtomicLong totalProcessingTime;
+
    /** Bean Scripting Framework entry point */
    private BSFManager manager;
-   
+
    /** Enqueued notifications */
    private List queue;
-   
+
    /** Signals stop processing */
    private boolean stopRequested;
 
    /** The thread running the script */
    private Thread processorThread;
-   
+
    /** The alarm manager helper */
    private AlarmManager alm = new AlarmManager(this);
-   
+
    // Constructors --------------------------------------------------
-   
+
    /**
     * CTOR
     */
    public ScriptingListener()
    {
       queue = new LinkedList();
-      
-      notificationsReceived = new SynchronizedLong(0);
-      notificationsProcessed = new SynchronizedLong(0);
-      totalProcessingTime = new SynchronizedLong(0);
+
+      notificationsReceived = new AtomicLong(0);
+      notificationsProcessed = new AtomicLong(0);
+      totalProcessingTime = new AtomicLong(0);
    }
-   
+
    // ScriptNotificationListenerMBean Implementation ----------------
-   
+
    /**
     * @jmx:managed-attribute
     */
@@ -135,7 +134,7 @@
    {
       return script;
    }
-   
+
    /**
     * @jmx:managed-attribute
     */
@@ -151,7 +150,7 @@
    {
       return language;
    }
-   
+
    /**
     * @jmx:managed-attribute
     */
@@ -167,7 +166,7 @@
    {
       return this.dynamicSubscriptions;
    }
-   
+
    /**
     * @jmx:managed-attribute
     */
@@ -183,7 +182,7 @@
    {
       return notificationsProcessed.get();
    }
-   
+
    /**
     * @jmx:managed-attribute
     */
@@ -191,57 +190,57 @@
    {
       return totalProcessingTime.get();
    }
-   
+
    /**
     * @jmx:managed-attribute
     */
    public long getAverageProcessingTime()
    {
       long processed = notificationsProcessed.get();
-      
+
       return (processed == 0) ? 0 : totalProcessingTime.get() / processed;
    }
-   
+
    // Lifecycle control (ServiceMBeanSupport) -----------------------
-   
+
    /**
-    * Start 
+    * Start
     */
    public void startService() throws Exception
    {
       log.debug("Initializing BSFManager for language '" + language + "'");
-      
+
       // This is needed until BSF adds it
       BSFManager.registerScriptingEngine(
-            "groovy", 
-            "org.codehaus.groovy.bsf.GroovyEngine", 
+            "groovy",
+            "org.codehaus.groovy.bsf.GroovyEngine",
             new String[] { "groovy", "gy" }
-           ); 
-      
+           );
+
       // I suppose we need one BSFManager per processing thread
       manager = new BSFManager();
-     
+
       manager.setClassLoader(Thread.currentThread().getContextClassLoader());
       manager.loadScriptingEngine(language);
       manager.declareBean("log", log, Logger.class);
       manager.declareBean("server", server, MBeanServer.class);
       manager.declareBean("manager", alm, AlarmManager.class);
-      
+
       // test with a dummy notification first, to see if the script is valid
       Notification testNotification = new Notification("jboss.script.test", serviceName, 0);
       manager.declareBean("notification", testNotification, Notification.class);
       manager.declareBean("handback", "", Object.class);
-      
+
       manager.exec(language, "in-memory-script", 0, 0, script);
-      
+
       // Start the ScriptProcessor in its own thread
       processorThread = new Thread(new ScriptProcessor(), "ScriptProcessor[" + serviceName + "]");
       processorThread.start();
-      
+
       // subscribe for notifications
       super.subscribe(dynamicSubscriptions);
    }
-   
+
    /**
     * Stop
     */
@@ -249,18 +248,18 @@
    {
       // unsubscribe for notifications
       super.unsubscribe();
-      
+
       log.debug("Stopping " + processorThread.getName());
-      
+
       // tell the ScriptProcessor to stop
       stopRequested = true;
-      
+
       // notify the processing thread in case it is waiting on the queue
       synchronized (queue)
       {
-         queue.notify();         
+         queue.notify();
       }
-     
+
       try
       {
          // wait for the processor to finish, but not for too long
@@ -271,35 +270,35 @@
          // set interrupted status
          Thread.currentThread().interrupt();
       }
-      
+
       // cleanup
       queue.clear();
       manager.terminate();
    }
-   
+
    // ListenerServiceMBeanSupport overrides -------------------------
-   
+
    /**
     * Overriden to add handling!
     */
    public void handleNotification2(Notification notification, Object handback)
    {
       // count the received notifications
-      notificationsReceived.increment();
-      
+      notificationsReceived.incrementAndGet();
+
       // append the received notification to the end of the list,
-      // for processing from a different thread      
+      // for processing from a different thread
       synchronized (queue)
       {
          queue.add(new QueueEntry(notification, handback));
-         
+
          // hint to the processing thread to kick-in
          queue.notify();
       }
    }
-   
+
    // Inner ---------------------------------------------------------
-   
+
    /**
     * Simple data holder
     */
@@ -307,14 +306,14 @@
    {
       public Notification notification;
       public Object handback;
-      
+
       public QueueEntry(Notification notification, Object handback)
       {
          this.notification = notification;
          this.handback = handback;
       }
    }
-   
+
    /**
     * Inner class to encapsulate script execution logic
     */
@@ -375,8 +374,8 @@
 
                // measure time spent processing the script
                long stop = System.currentTimeMillis();
-               totalProcessingTime.add(stop - start);
-               notificationsProcessed.increment();
+               totalProcessingTime.addAndGet(stop - start);
+               notificationsProcessed.incrementAndGet();
             }
             log.debug("Stopped thread: " + name);
          }

Modified: branches/vfs3-int/varia/src/resources/logging/logmanager-jboss-beans.xml
===================================================================
--- branches/vfs3-int/varia/src/resources/logging/logmanager-jboss-beans.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/varia/src/resources/logging/logmanager-jboss-beans.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -71,47 +71,4 @@
          <inject bean="JBossLogManagerClassLoaderContextSelector"/>
       </property>
    </bean>
-
-   <!--
-     ~ These three beans define the Input/OutputStreams required for handling stdio
-     -->
-   <bean name="JBossStdioSystemOutStream" class="org.jboss.stdio.LoggingOutputStream">
-      <constructor>
-         <parameter>STDOUT</parameter>
-         <parameter>INFO</parameter>
-      </constructor>
-   </bean>
-
-   <bean name="JBossStdioSystemErrStream" class="org.jboss.stdio.LoggingOutputStream">
-      <constructor>
-         <parameter>STDERR</parameter>
-         <parameter>ERROR</parameter>
-      </constructor>
-   </bean>
-
-   <bean name="JBossStdioSystemInStream" class="org.jboss.stdio.NullInputStream">
-      <constructor factoryMethod="getInstance"/>
-   </bean>
-
-   <!--
-     ~ These three beans install the above streams into the system stdio fields.
-     -->
-   <bean name="JBossStdioContext" class="org.jboss.stdio.StdioContext">
-      <constructor factoryMethod="create">
-         <parameter><inject bean="JBossStdioSystemInStream"/></parameter>
-         <parameter class="java.io.OutputStream"><inject bean="JBossStdioSystemOutStream"/></parameter>
-         <parameter><inject bean="JBossStdioSystemErrStream"/></parameter>
-      </constructor>
-   </bean>
-
-   <bean name="JBossStdioService" class="org.jboss.stdio.StdioService">
-      <depends>JBossStdioContext</depends>
-   </bean>
-   
-   <bean name="JBossStdioContextSelector" class="org.jboss.stdio.SimpleStdioContextSelector">
-      <constructor>
-         <parameter><inject bean="JBossStdioContext"/></parameter>
-      </constructor>
-      <start method="install"/>
-   </bean>
 </deployment>

Modified: branches/vfs3-int/varia/src/resources/xnio/xnio-jboss-beans.xml
===================================================================
--- branches/vfs3-int/varia/src/resources/xnio/xnio-jboss-beans.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/varia/src/resources/xnio/xnio-jboss-beans.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -2,7 +2,7 @@
 
 <deployment xmlns="urn:jboss:bean-deployer:2.0">
 
-<threads xmlns="urn:jboss:threads:2.0">
+   <threads xmlns="urn:jboss:threads:2.0">
       <thread-group name="XnioThreadGroup" group-name="xnio">
          <parent-thread-group name="SystemThreadGroup"/>
       </thread-group>
@@ -14,21 +14,19 @@
       <thread-factory name="XnioThreadFactory" thread-name-pattern="xnio-pool%f-%t">
          <thread-group name="XnioSelectorThreadGroup"/>
       </thread-factory>
-
-      <direct-executor name="XnioHandlerExecutor"/>
    </threads>
 
-   <bean mode="On Demand" name="XnioProvider" class="org.jboss.xnio.Xnio">
-      <constructor factoryClass="org.jboss.xnio.nio.NioXnio" factoryMethod="create">
-         <parameter class="java.util.concurrent.Executor">
-            <inject bean="XnioHandlerExecutor"/>
-         </parameter>
-         <parameter class="java.util.concurrent.ThreadFactory">
-            <inject bean="XnioThreadFactory"/>
-         </parameter>
-         <parameter class="int">3</parameter>
-         <parameter class="int">1</parameter>
-         <parameter class="int">1</parameter>
-      </constructor>
-   </bean>
+   <xnio xmlns="urn:jboss:xnio:2.1" provider="XnioProvider">
+
+      <provider name="XnioProvider">
+         <thread-factory name="XnioThreadFactory"/>
+
+         <options>
+            <option name="READ_THREADS" value="3"/>
+            <option name="WRITE_THREADS" value="1"/>
+            <option name="CONNECT_THREADS" value="1"/>
+         </options>
+      </provider>
+   </xnio>
+
 </deployment>

Modified: branches/vfs3-int/webservices/pom.xml
===================================================================
--- branches/vfs3-int/webservices/pom.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/webservices/pom.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -16,7 +16,7 @@
   <description>JBoss Application Server (webservices module)</description>
   
   <build>
-    <finalName>${artifactId}</finalName>
+    <finalName>${project.artifactId}</finalName>
     <resources>
       <resource>
         <directory>src/resources/jbossws-jboss.jar</directory>

Modified: branches/vfs3-int/webservices/src/assembly/jbossws-jboss60-deployer.xml
===================================================================
--- branches/vfs3-int/webservices/src/assembly/jbossws-jboss60-deployer.xml	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/webservices/src/assembly/jbossws-jboss60-deployer.xml	2010-02-12 17:13:14 UTC (rev 100922)
@@ -13,20 +13,4 @@
       </includes>
     </fileSet>
   </fileSets>
-  <files>
-    <file>
-      <source>target/${project.build.finalName}.jar</source>
-      <outputDirectory>/</outputDirectory>
-      <destName>jbossws-jboss60.jar</destName>
-    </file>
-  </files>
-  <dependencySets>
-    <dependencySet>
-      <outputFileNameMapping>${artifact.artifactId}${dashClassifier?}.${artifact.extension}</outputFileNameMapping>
-      <includes>
-        <include>org.jboss.ws:jbossws-common</include>
-        <include>org.jboss.ws:jbossws-framework</include>
-      </includes>
-    </dependencySet>
-  </dependencySets>
 </assembly>

Modified: branches/vfs3-int/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSAspectizedDeployersFactory.java
===================================================================
--- branches/vfs3-int/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSAspectizedDeployersFactory.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSAspectizedDeployersFactory.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -63,7 +63,10 @@
     */
    public void addDeployer(final DeploymentAspect aspect)
    {
-      WSAspectizedDeployersFactory.LOGGER.debug("Adding deployer for: " + aspect);
+      if (WSAspectizedDeployersFactory.LOGGER.isTraceEnabled())
+      {
+         WSAspectizedDeployersFactory.LOGGER.trace("Adding deployer for: " + aspect);
+      }
       final Deployer wsAspectizedDeployer = new WSDeploymentAspectDeployer(aspect);
 
       this.delegee.addDeployer(wsAspectizedDeployer);
@@ -77,7 +80,10 @@
     */
    public void removeDeployer(final DeploymentAspect aspect)
    {
-      WSAspectizedDeployersFactory.LOGGER.debug("Removing deployer for: " + aspect);
+      if (WSAspectizedDeployersFactory.LOGGER.isTraceEnabled())
+      {
+         WSAspectizedDeployersFactory.LOGGER.trace("Removing deployer for: " + aspect);
+      }
       final Deployer wsAspectizedDeployer = this.deployersRegistry.get(aspect);
 
       this.deployersRegistry.remove(aspect);

Modified: branches/vfs3-int/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSDeploymentDeployer.java
===================================================================
--- branches/vfs3-int/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSDeploymentDeployer.java	2010-02-12 17:12:36 UTC (rev 100921)
+++ branches/vfs3-int/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSDeploymentDeployer.java	2010-02-12 17:13:14 UTC (rev 100922)
@@ -62,7 +62,7 @@
    @Override
    protected void internalDeploy(final DeploymentUnit unit) throws DeploymentException
    {
-      this.log.debug("Building JBoss agnostic webservices meta data model");
+      this.log.trace("Building JBoss agnostic webservices meta data model");
       WSDeploymentBuilder.getInstance().build(unit);
    }
 




More information about the jboss-cvs-commits mailing list