[jboss-cvs] JBossAS SVN: r89313 - in branches/Branch_5_x_BootstrapLegacyRemoval: build/docs and 23 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat May 23 14:55:19 EDT 2009
Author: ALRubinger
Date: 2009-05-23 14:55:19 -0400 (Sat, 23 May 2009)
New Revision: 89313
Added:
branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bindingservice.beans/
branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bindingservice.beans/META-INF/
branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bindingservice.beans/META-INF/bindings-jboss-beans.xml
branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/minimal/bindingservice.beans/
branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/minimal/bindingservice.beans/META-INF/
branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/minimal/bindingservice.beans/META-INF/bindings-jboss-beans.xml
branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/ServiceBindingManagedObjectsTestCase.java
branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/main/org/jboss/test/profileservice/override/test/ServiceBindingManagedObjectsTestCase.java
branches/Branch_5_x_BootstrapLegacyRemoval/varia/src/main/org/jboss/services/binding/impl/SecurityActions.java
Removed:
branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bindingservice.beans/META-INF/
branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bindingservice.beans/META-INF/bindings-jboss-beans.xml
branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bindingservice.sar/
branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/minimal/bindingservice.beans/META-INF/
branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/minimal/bindingservice.beans/META-INF/bindings-jboss-beans.xml
branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/minimal/bindingservice.sar/
Modified:
branches/Branch_5_x_BootstrapLegacyRemoval/build/build-distr.xml
branches/Branch_5_x_BootstrapLegacyRemoval/build/docs/readme.html
branches/Branch_5_x_BootstrapLegacyRemoval/cluster/src/main/org/jboss/ha/framework/server/ClusterPartition.java
branches/Branch_5_x_BootstrapLegacyRemoval/cluster/src/main/org/jboss/ha/framework/server/DistributedReplicantManagerImpl.java
branches/Branch_5_x_BootstrapLegacyRemoval/component-matrix/pom.xml
branches/Branch_5_x_BootstrapLegacyRemoval/mbeans/src/main/org/jboss/mx/server/InvocationContext.java
branches/Branch_5_x_BootstrapLegacyRemoval/profileservice/src/main/org/jboss/profileservice/management/ManagedPropertyDelegate.java
branches/Branch_5_x_BootstrapLegacyRemoval/profileservice/src/main/org/jboss/profileservice/management/TempManagedComponentImpl.java
branches/Branch_5_x_BootstrapLegacyRemoval/server/src/bin/service.bat
branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bootstrap/profile.xml
branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/default/bootstrap/profile.xml
branches/Branch_5_x_BootstrapLegacyRemoval/system/src/main/org/jboss/system/server/profileservice/persistence/deployer/PersistenceModificationChecker.java
branches/Branch_5_x_BootstrapLegacyRemoval/system/src/main/org/jboss/system/server/profileservice/persistence/deployer/ProfileServicePersistenceDeployer.java
branches/Branch_5_x_BootstrapLegacyRemoval/system/src/main/org/jboss/system/server/profileservice/repository/AbstractAttachmentStore.java
branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/build.xml
branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/imports/server-config.xml
branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/main/org/jboss/test/jacc/test/EJBSpecUnitTestCase.java
branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/main/org/jboss/test/profileservice/test/ServiceBindingManagedObjectsTestCase.java
branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/resources/securitymgr/server.policy
branches/Branch_5_x_BootstrapLegacyRemoval/varia/src/main/org/jboss/services/binding/impl/Util.java
branches/Branch_5_x_BootstrapLegacyRemoval/varia/src/main/org/jboss/services/binding/impl/XSLTServiceBindingValueSourceImpl.java
Log:
[JBAS-6856] Executed: "svn merge -r 89127:89308 https://svn.jboss.org/repos/jbossas/branches/Branch_5_x" to bring current w/ Branch_5_x
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/build/build-distr.xml
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/build/build-distr.xml 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/build/build-distr.xml 2009-05-23 18:55:19 UTC (rev 89313)
@@ -1053,7 +1053,7 @@
</copy>
<!-- copy the service binding manager to it's deployment -->
- <copy todir="${install.server}/all/conf/bindingservice.sar">
+ <copy todir="${install.server}/all/conf/bindingservice.beans">
<fileset dir="${_module.output}/lib">
<include name="jboss-bindingservice.jar"/>
</fileset>
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/build/docs/readme.html
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/build/docs/readme.html 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/build/docs/readme.html 2009-05-23 18:55:19 UTC (rev 89313)
@@ -3,54 +3,19 @@
<meta content="text/html" http-equiv="content-type">
<meta content="JBoss Inc." name="author">
- <title>JBoss 5.0.1.GA Readme</title>
+ <title>JBoss 5.1.0.GA Release Notes</title>
</head>
<body>
<a href="http://www.jboss.com"><img src="http://www.jboss.com/images/common/jbosscorp_logo.png" alt="JBoss - A Division of Red Hat" border="0"></a>
-<h1>JBoss
-5.1.0.Beta1
-Release Notes</h1>
+<h1>JBoss 5.1.0.GA Release Notes</h1>
-<p>This is the first beta <a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossProductVersioning"><span style="text-decoration: none; font-weight: 700;"></span>release</a> of the <b>JBoss 5.1</b>
-series for the <b>Java
-EE™</b>5
-codebase that fully complies with the
-Java EE 5 conformance testing
-certification requirements. It contains more than 40 bug fixes and
-improvents, including an improved profile service API and a tech
-preview of Web Beans.
+<p>Along with many bug fixes and enhancements, this is the first general release to include our new,
+ significantly improved <a href="http://www.jboss.org/embjopr">open-source console</a>.
<br>
</p>
-<h4>From 5.0.0.GA</h4>
-This release brings us to the end of a 3+ year
-marathon of redesigning the most popular open-source application server
-over a completely new kernel architecture, the <a href="http://www.jboss.org/jbossmc/">JBoss Microcontainer</a>.
-It also marks the beginning of a new era of innovation for JBoss as we
-will be exploring the capabilities and limitations of the new
-architecture in the releases to come. In our view, JBossAS 5 provides
-a healthy foundation and the most advanced and fully extensible,
-cross component model, aspect integration, server runtime environment.
-For
-information
-on the APIs that
-make up Java EE 5, see
-<a href="http://java.sun.com/javaee/reference/index.jsp">Java
-EE APIs & Docs</a>. A
-tutorial on Java EE 5 can be found
-<a href="http://java.sun.com/javaee/5/docs/tutorial/doc/">here</a>. Please visit also the<a href="http://www.jboss.org/jbossas/docs/"> JBoss AS docs</a> pages as we'll be updating the documents with the latest information, and post your questions to the<a href="http://www.jboss.com/index.html?module=bb&op=viewforum&f=287"> JBossAS 5 User Forum</a>.
-<p>A sample Java EE 5 application
-that can be
-run on top of JBoss 5 and demonstrates many interesting
-technologies is the <b><i>Seam
-Booking Application</i></b>
-available <a href="http://repository.jboss.org/maven2/org/jboss/seam/examples/">here</a>.
-Check out the <a href="http://www.seamframework.org/">JBoss
-Seam</a> framework pages that link to many
-interesting topics for combining Seam with JBossAS 5.</p>
-
<h2>Overview</h2>
<ul>
@@ -68,121 +33,21 @@
</ul>
<h2><a name="Highlights">Highlights</a></h2>
-This release includes a tech preview (beta release) of the new JSR-299 Web Beans RI.
-You can find out more information about Web Beans
-<a href="http://docs.jboss.org/webbeans/reference/1.0.0.BETA1/en-US/html">here</a>.
-<br/><br/>
-
-Also included is improved support for JDK logging, and an improved profile service API.
-
-See the component updates section below for a list of all other updates.
-
-<h4>From 5.0.0.GA</h4>
-JBoss 5 is the next generation
-of the JBoss Application Server
-build on top of the new <a href="http://www.jboss.com/products/jbossmc">JBoss
-Microcontainer</a>. The JBoss
-Microcontainer is a lightweight
-container for managing POJOs, their deployment, configuration and
-lifecycle. It is a standalone project that replaces the famous JBoss
-JMX Microkernel of the 3.x and 4.x JBoss series. The Microcontainer
-integrates nicely with the JBoss framework for Aspect Oriented
-Programming, <a href="http://labs.jboss.com/portal/jbossaop">JBoss
-AOP</a>. Support for JMX in JBoss 5
-remains strong and MBean
-services written against the old Microkernel are expected to work.
-<p>JBoss5 is designed around the
-advanced concept of a
-<a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBoss5DeploymentFramework">Virtual
-Deployment Framework</a> (VDF), that
-takes the aspect oriented
-design of many of the earlier JBoss containers and applies it to the
-deployment layer. Aspectized Deployers operate in a chain over a
-<a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBoss5VirtualFileSystem">Virtual
-File System</a> (VFS), analyze
-deployments and produce metadata
-to be used by the JBoss Microcontainer, which in turn instantiates and
-wires together the various pieces of a deployment, controlling their
-lifecycle and dependencies.</p>
-
-<p>Many key features of JBoss 5
-are provided by integrating other
-standalone JBoss projects:</p>
-
<ul>
+<li><b>New Web Console</b> - This release includes our new administration console. Several updates
+have been made since the CR1 release, including the introduction of WAR metrics. See the full
+release notes for the console <a href="http://www.jboss.org/community/wiki/EmbeddedJOPR120GAReleaseNotes">here</a>.</li>
-<li><a href="http://labs.jboss.org/portal/jbossejb3">JBoss
-EJB3</a>
-included with JBoss 5 provides the implementation of the latest
-revision of the Enterprise Java Beans (EJB) specification. EJB 3.0 is a
-deep overhaul and simplification of the EJB specification. EJB 3.0's
-goals are to simplify development, facilitate a test driven approach,
-and focus more on writing plain old java objects (POJOs) rather than
-coding against complex EJB APIs.</li>
-<li><a href="http://www.jboss.com/products/messaging">JBoss
-Messaging</a> is a high performance
-JMS provider in the JBoss
-Enterprise Middleware Stack (JEMS), included with JBoss 5 as the
-default messaging provider. It is also the backbone of the <a href="http://www.jboss.com/products/esb">JBoss ESB</a>
-infrastructure. JBoss Messaging is a complete rewrite of JBossMQ, which
-is the default JMS provider for the JBoss AS 4.x series.</li>
-<li><a href="http://www.jboss.com/products/jbosscache">JBossCache</a> that
-comes in two flavors. A traditional tree-structured node-based
-cache and a <a href="http://labs.jboss.com/file-access/default/members/jbosscache/freezone/docs/2.0.0/PojoCache/en/html/index.html">
-PojoCache</a>, an in-memory,
-transactional, and replicated cache
-system that allows users to operate on simple POJOs transparently
-without active user management of either replication or persistency
-aspects.</li>
-<li><a href="http://labs.jboss.com/portal/jbossws">JBossWS</a>
-is the web services stack for JBoss 5 providing Java EE compatible web
-services, JAX-WS-2.0.</li>
-<li><a href="http://www.jboss.com/products/transactions">JBoss
-Transactions</a> is the default
-transaction manager for JBoss 5.
-JBoss Transactions is founded on industry proven technology and 18 year
-history as a leader in distributed transactions, and is one of the most
-interoperable implementations available.</li>
-<li><a href="http://www.jboss.com/products/jbossweb">JBoss
-Web</a>
-is the Web container in JBoss 5, an implementation based on Apache
-Tomcat that includes the Apache Portable Runtime (APR) and Tomcat
-native technologies to achieve scalability and performance
-characteristics that match and exceed the Apache Http server.</li>
+<li><b>Web Beans Update</b> - In addition, this release includes an updated tech preview of the new JSR-299 Web Beans RI. For more information about Web Beans see the documentation
+<a href="http://docs.jboss.org/webbeans/reference/1.0.0.PREVIEW1/en-US/html">here</a>.</li>
+
+<li><b>Farming Returns</b> - Due to popular demand, the farming service is back! See the following wiki
+page <a href="http://www.jboss.org/community/docs/DOC-13616">here</a>.</li>
</ul>
+<h2><a name="Compatibility">Compatibility Issues</a></h2>
-JBoss 5
-includes features and bug fixes,
-many of them carried over upstream from the 4.x codebase. See the <a href="#Details">Detailed Release Notes</a>
-section for
-the full details.
-<p>A common theme
-for JBossAS 5 is the breaking out of internal subsystems into
-stand-alone projects
-and the introduction of SPIs throughout the server
-codebase. Those changes should not affect directly the end
-user but they are an important part of the JBoss strategy for making
-available the various EE services as independent projects, so that they
-can be wired-together and be consumed<b> </b>à la carte inside
-different runtime environments and not only inside the JBoss
-Application Server.
-</p>
+There are no known compatibility issues in 5.1.0.GA.
-<p>If you are building JBossAS
-from
-source
-you'll notice we are migrating to a maven2 build. At this
-point
-the build is a hybrid one because it declares all JBoss
-dependencies as maven2 artifacts, however after the dependencies are
-resolved/imported the legacy ant based build is used to compile and
-build the distribution. This will change to a full maven build
-at
-some point in time. The jboss maven repo can be found <a href="http://repository.jboss.org/maven2/org/jboss/">here</a>.
-Starting from AS5 CR2, please note how the -sources.jar are also
-downloaded.</p>
-
-<h2><a name="Compatibility">Compatibility Issues</a></h2>
<h4>from 5.0.1.GA</h4>
<ul>
<li>This release resolves issues related to running JBossAS 5 under AIX with an IBM jdk. See JBAS-6506, JBAS-6428.</li>
@@ -301,12 +166,6 @@
<h2><a name="Configuration">Configuration Issues</a></h2>
-<ul>
- <li>The ejb3-timer-service.xml has moved from deploy to
-docs/examples/ejb3 to avoid the runtime overhead, since it's not used
-by default. If you want to use it, move it back to the deploy folder
-and set the <span style="font-family: monospace;" class="postbody">org.jboss.ejb3.timerservice.factory </span><span class="postbody">property to </span><span style="font-family: monospace;" class="postbody">org.jboss.ejb3.timerservice.quartz.QuartzTimerServiceFactory.</span></li>
-</ul>
<h4>From 5.0.0.GA</h4>
<p>JBossAS 5.0.0.GA introduces two new configuration, the <span style="font-family: monospace; font-weight: bold;">standard</span><span style="font-weight: bold;"> </span>and the <span style="font-family: monospace; font-weight: bold;">web</span> config.<br>
</p>
@@ -576,344 +435,232 @@
</ul>
-<h2><a name="Libraries">Library Updates</a></h2>
-
-For a full list of the JBoss and thirdparty libraries used with JBoss AS 5.0.1.GA
-check the <a style="font-family: monospace;" href="http://anonsvn.jboss.org/repos/jbossas/tags/JBoss_5_0_1_GA/component-matrix/pom.xml">pom.xml</a>
-found in the component-matrix directory of the source code distribution. To see
-the maven dependency tree you can also do a '<span style="font-family: monospace;">mvn dependency:tree</span>'
-from the <span style="font-family: monospace;">thirdparty</span> directory of the source code distro.<br>
-
-<br>
-
-Some rather important utilized jboss project versions are listed below. You are
-encouraged to browse the individual project's documentation and view
-the release notes at <a href="http://www.jboss.org">www.jboss.org</a>.<br>
-
-<ul>
-
-<li>Web Beans 1.0.0.Beta1</li>
-<li>XNIO 1.2.0.GA</li>
-<li>JDK LogBridge 1.0.0.GA<li>
-<li>JBoss
-Transactions, v4.6.0.CR1A</li>
-<li>JBoss WebServices, v3.1.0.GA</li>
-<li>JBoss
-Messaging, v1.4.3.GA</li>
-<li>JBoss Web, v2.1.2.GA</li>
-<li>JBoss
-AOP, v2.0.1.GA</li>
-<li>JBoss EJB3, v1.0.0</li>
-<li>JBoss
-Microcontainer, v2.0.4.GA</li>
-<li>JBoss Security,
-v2.0.2.SP6</li>
-<li>Hibernate, v3.3.1.GA</li>
-<li>Hibernate
-Entity Manager, v3.4.0.GA</li>
-<li>Hibernate Annotations,
-v3.4.0.GA</li>
-<li>JBoss Cache POJO, v3.0.0.GA</li>
-<li>JBoss
-Cache Core, v3.0.2.GA</li><li>JBoss VFS, v2.1.0.GA</li>
- <li>JBoss Remoting, v2.5.0.SP2</li>
-
-<li>JGroups, v.2.6.8.GA</li>
-</ul>
-
<h1><a name="Details">Detailed Release Notes</a></h1>
-<h3>Includes versions: JBossAS-5.1.0.Beta1</h3>
- Release Notes - JBoss Application Server - Version JBossAS-5.1.0.Beta1
-
+ Release Notes - JBoss Application Server - Version JBossAS-5.1.0.GA
+
<h2> Bug
</h2>
<ul>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-4569'>JBAS-4569</a>] - ClusterPartition.stopService( ) fails when server is shut down
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-5936'>JBAS-5936</a>] - Wrong logging information is shown for components using slf4j (e.g. Hibernate)
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-5302'>JBAS-5302</a>] - StatefulHandleImpl should be able to use legacy invoker method to retrieve EJBObject
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6227'>JBAS-6227</a>] - Only way to remove a managedcomponent is to remove its deployment
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-5563'>JBAS-5563</a>] - Deployment from deploy-hasingleton broken
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6310'>JBAS-6310</a>] - Failure in loading classes due to thread stack overflow should be logged as an error.
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-5682'>JBAS-5682</a>] - Profile service does not include newly added content in getModifiedDeployments()
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6500'>JBAS-6500</a>] - JMX View and ManagementView do not consistently reflect J2EE application state after undeployment
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-5713'>JBAS-5713</a>] - NullPointerException in JavaEEComponentHelper with JBoss-5.0
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6512'>JBAS-6512</a>] - ServiceBindingManagedObjectsTestCase.testPortsDefault regression
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-5929'>JBAS-5929</a>] - Sub Pooling in JBossManagedConnectionPool MemoryLeak for sparse CRI coverage
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6579'>JBAS-6579</a>] - Resolve JBoss AS 5.1.0 Test Suite Issues
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6265'>JBAS-6265</a>] - Servlets should not be using the ejb3 user transaction
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6592'>JBAS-6592</a>] - Eliminate duplication of CORBA OTS classes in AS 5.1.0 distribution
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6274'>JBAS-6274</a>] - scanning of the deployDir needs to happen after previous phases are deployed.
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6673'>JBAS-6673</a>] - VFS cache should handle main context roots better still an issue in 5.0.1
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6276'>JBAS-6276</a>] - JmsConnectionRequestInfo needs have defaults set before doing allocateConnection()
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6677'>JBAS-6677</a>] - Cleanup inactive timer service instances for Entity Beans
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6277'>JBAS-6277</a>] - JmsSessionFactoryImpl should look at MCF for client id when not set by the user
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6745'>JBAS-6745</a>] - org.jboss.test.cmp2.audit.test.AuditUnitTestCase failing with MySQL - miliseconds not supported
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6282'>JBAS-6282</a>] - Eliminate duplication of servlet APIs in AS 5 distribution
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6747'>JBAS-6747</a>] - JaasSecurityManagerService::CallbackHandlerClassName is not being used anywhere
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6283'>JBAS-6283</a>] - Duplicate entry in jsf-api-sources.jar (javax/faces/component/html/package.html)
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6764'>JBAS-6764</a>] - Embedded Console issues with standard config
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6287'>JBAS-6287</a>] - org.jboss.test.hellojrmpiiop.test.HelloTimingStressTestCase fails when run with JDK 6
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6768'>JBAS-6768</a>] - SubjectFactory usage in JCA needs review for the Datasource Encryption usecase
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6294'>JBAS-6294</a>] - Use Of IgnoreUndeployLegacyClusteredSessionNotificationPolicy Causes StackOverflow Errors
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6825'>JBAS-6825</a>] - AS 5 Plugin: User-created Connection Factory status is DOWN after server restart
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6298'>JBAS-6298</a>] - Unable to build the AS with IBM JDK 1.6
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6832'>JBAS-6832</a>] - JBoss AS JVM Metrics stay the same through the console
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6328'>JBAS-6328</a>] - jmx-console: Back to MBean button causes error
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6848'>JBAS-6848</a>] - DataSourceDeploymentMetaData doesnt create property "isSameRMOverrideValue"
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6333'>JBAS-6333</a>] - <database>-persistence-service.xml is dependent on ChannelFactory even on NonClustered
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6858'>JBAS-6858</a>] - SVC* variables in bin\service.bat need to be updated from "5.0" to "5.1"
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6336'>JBAS-6336</a>] - CleanShutdownInterceptor Can Log Container State Incorrectly
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6860'>JBAS-6860</a>] - ManagedConnectionFactoryDeployment should look for both primitive and wrapper type setters before giving up when setting attributes
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6343'>JBAS-6343</a>] - JCA adapter inflow does not Roll back messages if using a non-xa connection factory in the JNDIProviderAdapter
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6862'>JBAS-6862</a>] - ManagedDeploymentImpl unitMOs does not use name from @ManagementObjectID
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6360'>JBAS-6360</a>] - Multiple redeployments of ear when many 'watched files' are touched in the ear
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6872'>JBAS-6872</a>] - -Djboss.bind.address definition in run.conf ignored
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6367'>JBAS-6367</a>] - missing org.codehaus.plexus:plexus-utils:jar:1.5.6
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6874'>JBAS-6874</a>] - TimerImpl should set ACTIVE state before scheduling to avoid race condition
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6373'>JBAS-6373</a>] - VFS cache should handle main context roots better
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6880'>JBAS-6880</a>] - BeanMetaDataICF not finding MetaMapper
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6400'>JBAS-6400</a>] - ExecutionContext returns the transaction timeout in seconds, but we use that argument to schedule the thread that is in milliseconds.
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6904'>JBAS-6904</a>] - Ban org.hibernate:hibernate in favor of org.hibernate:hibernate-core
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6407'>JBAS-6407</a>] - TestResourceAdapterTxInflow can't assume one phase commit
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6914'>JBAS-6914</a>] - useJBossWebLoader not working when set to true
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6408'>JBAS-6408</a>] - Add 5_0_0_GA client to compatibility matrix tests
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6921'>JBAS-6921</a>] - cache-invalidation-service.xml includes invalid JMS topic config
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6410'>JBAS-6410</a>] - JBoss Security (2.0.2.SP3) serialVersionUID breaks interoperability with external tools (e.g. JBoss Tools)
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6945'>JBAS-6945</a>] - InvocationContext on the serverside needs to use privileged block for getting TCCL
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6420'>JBAS-6420</a>] - JBossWebRealm->hasUserDataPermission check with JBoss Security needs Subject
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6964'>JBAS-6964</a>] - XSLTServiceBindingValueSourceImpl is missing privileged blocks
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6428'>JBAS-6428</a>] - HAPartition unable to start with IBM JDK 1.5 - net.jcip.annotations.ThreadSafe not found
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6434'>JBAS-6434</a>] - REGRESSION: org.jboss.test.compatibility.test.SerialVersionUIDUnitTestCase
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6439'>JBAS-6439</a>] - Non-DeploymentManager-based HASingletonDeploymentScanner impl results in deploy-hasingleton content removal
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6493'>JBAS-6493</a>] - AOPLister in web-console doesnt work for JBoss 4.2.* 5.0.*, 5.*, trunk
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6497'>JBAS-6497</a>] - Dynamic webservice endpoint deployment doesn't propagate Module in attachments
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6501'>JBAS-6501</a>] - org.jboss.tools.SerialVersionUID doesn't use JBOSS_HOME/common/** jars
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6507'>JBAS-6507</a>] - BeanMetaDataICF needs to delegate to AbstractInstanceClassFactory for managed object values
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6523'>JBAS-6523</a>] - ORB not found message is overly verbose
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6534'>JBAS-6534</a>] - Graceful shutdown of JBoss Web service does not wait for accepted requests to complete before stopping dependent services
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6544'>JBAS-6544</a>] - STREAMING_STATE_TRANSFER configs use deprecated attribute
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6561'>JBAS-6561</a>] - Regression: MTTransactionManagerUnitTestCase.testCommitSameTxInTwoThreads() fails
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6571'>JBAS-6571</a>] - JDK6 (JMX1.3) ObjectName queries are not working
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6572'>JBAS-6572</a>] - serialVersionUID mismatch on RegexValidator.class since JSF 1.2_12 upgrade
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6573'>JBAS-6573</a>] - serialVersionUID mismatch on ManagementViewImpl$ManagedOperationDelegate
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6602'>JBAS-6602</a>] - Log4jService should use the new JDKLevel class when setting log levels
-</li>
</ul>
-
+
<h2> Feature Request
</h2>
<ul>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-1808'>JBAS-1808</a>] - Expose PreparedStatementCache via JMX
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-5992'>JBAS-5992</a>] - Add a ManagedDeployment/ManagedComponent status servlet
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-5221'>JBAS-5221</a>] - tx-connection-factory/no-tx-connection-factory need to be completed
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6754'>JBAS-6754</a>] - add support for a run.conf equivalent file to run.bat, so environment variable settings can be externalized as they can be for run.sh
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6232'>JBAS-6232</a>] - DeploymentTemplateInfo needs to support a clone
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6785'>JBAS-6785</a>] - add default value to the ManagedProperty interface
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6281'>JBAS-6281</a>] - Use IgnoreUndeployLegacyClusteredSessionNotificationPolicy as the default ClusteredSessionNotificationPolicy
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6828'>JBAS-6828</a>] - Add a description property to ServiceBindingMetadata
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6390'>JBAS-6390</a>] - Add support for parsing IPv6 addresses in org.jnp.interfaces.NamingContext
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6839'>JBAS-6839</a>] - Update slf4j Version, make logger serializable
</li>
-</ul>
-
-<h2> Patch
-</h2>
-<ul>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6319'>JBAS-6319</a>] - WAR deployment ObjectName should include virtual host
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6849'>JBAS-6849</a>] - extended twiddle functionality
</li>
-</ul>
-
-<h2> Quality Risk
-</h2>
-<ul>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6257'>JBAS-6257</a>] - Typo in firebird-ds.xml
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6861'>JBAS-6861</a>] - Allow PKCS11 keystores to be used in JaasSecurityDomain
</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6873'>JBAS-6873</a>] - Explicitly configure JGroups diagnostics
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6876'>JBAS-6876</a>] - Configure binding interface via ServiceBindingManager
+</li>
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6927'>JBAS-6927</a>] - Update RuntimeComponentDispatcher
+</li>
</ul>
-
+
<h2> Task
</h2>
<ul>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-2525'>JBAS-2525</a>] - JSR-196: Java Authentication SPI for Container
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-4154'>JBAS-4154</a>] - Get the server to run under a security manager
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-2602'>JBAS-2602</a>] - Next Generation Security Manager Service
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6259'>JBAS-6259</a>] - Management interface for ServiceBindingManager
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-3707'>JBAS-3707</a>] - HA/Failover RAR Functionality should be implemented in non-HA RARS.
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6560'>JBAS-6560</a>] - Port crash recovery plugin in EAP4 to AS 5.1
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-5240'>JBAS-5240</a>] - Log VM arguments in boot.log
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6642'>JBAS-6642</a>] - Make sure aop deployers work after they have been moved out of the as repo
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-5246'>JBAS-5246</a>] - Open console support
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6772'>JBAS-6772</a>] - Track component updates - 5.1.0.GA
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6156'>JBAS-6156</a>] - Track component updates
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6809'>JBAS-6809</a>] - Update to JBoss Naming 5.0.2.GA and add unit test for JBNAME-27
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6171'>JBAS-6171</a>] - Remove "bootstrap" module from AS into its own Project
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6819'>JBAS-6819</a>] - The value of "Connections In Use Count" that gets displayed in the embedded console as the result of the "List Formatted Sub Pool Statistics" operation does not get updated after connections are closed
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6195'>JBAS-6195</a>] - Fix JBossWS Integration
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6846'>JBAS-6846</a>] - Create testcase in AS testsuite for discovery disable option
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6361'>JBAS-6361</a>] - log write to server.log does not append to the file as expected
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6853'>JBAS-6853</a>] - Pull the ServiceBindingManager out of the bootstrap
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6371'>JBAS-6371</a>] - Integrate Web Beans RI
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6864'>JBAS-6864</a>] - Fix timeout issues in classloader leak test cases
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6375'>JBAS-6375</a>] - PreferredMasterElectionPolicy unnecessarily parses host/port every election
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6875'>JBAS-6875</a>] - Have the naming service write its connection URL to a well defined place
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6411'>JBAS-6411</a>] - Show Java runtime information in boot.log
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6887'>JBAS-6887</a>] - Bring in ejb3-endpoint-deployer into AS through component-matrix
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6417'>JBAS-6417</a>] - Move ejb3-timer-service.xml to docs/examples/ejb3
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6905'>JBAS-6905</a>] - Test target tests-security-manager should use its own server configuration
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6423'>JBAS-6423</a>] - When JNDI cluster node definition method not available, make it more visible.
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6908'>JBAS-6908</a>] - fix ordering of proxy-factory-config in standardjboss.xml
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6444'>JBAS-6444</a>] - remove commons-httpclient.jar from AS distribution
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6929'>JBAS-6929</a>] - Make HDScanner a Daemon Thread
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6448'>JBAS-6448</a>] - Removing stale xmbean descriptors
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6931'>JBAS-6931</a>] - set property xb.builder.useUnorderedSequence in org.jboss.Main
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6470'>JBAS-6470</a>] - Open console support blockers
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6940'>JBAS-6940</a>] - Reenable Tomcat SSL tests
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6492'>JBAS-6492</a>] - Include basic smoke tests of JTS into AS testsuite
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6946'>JBAS-6946</a>] - ReEnable JACC Security Manager Tests
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6525'>JBAS-6525</a>] - the usage of DeploymentManger should be independent of isCopyContent
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6526'>JBAS-6526</a>] - drop the DeploymentPhase from the profileservice-spi
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6555'>JBAS-6555</a>] - Enhance SerialVersionUIDUnitTestCase
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6556'>JBAS-6556</a>] - Remove org.jboss.test.ejb3.servlet.unit.HttpUtils
-</li>
</ul>
-
-<h2> Thirdparty Change
-</h2>
-<ul>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6385'>JBAS-6385</a>] - Upgrade jboss-javaee.jar to 5.0.1.GA
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6409'>JBAS-6409</a>] - Upgrade to jboss-server-manager 1.0.1.GA
-</li>
-</ul>
-
+
<h2> Component Upgrade
</h2>
<ul>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6334'>JBAS-6334</a>] - Update JBoss Messaging
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6533'>JBAS-6533</a>] - Update JPA to 1.0.0.GA
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6341'>JBAS-6341</a>] - Upgrade JBossWS Native to 3.1.0.GA
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6564'>JBAS-6564</a>] - Include JBoss Negotiation 2.0.3.SP1
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6370'>JBAS-6370</a>] - Upgrade JGroups to 2.6.8
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6621'>JBAS-6621</a>] - Update jboss-managed to 2.1.0.SP1
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6430'>JBAS-6430</a>] - Upgrade EJB3 to 1.1.2
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6652'>JBAS-6652</a>] - Upgrade AOP to 2.1.1.GA
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6433'>JBAS-6433</a>] - Upgrade JBossTS to 4.6
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6790'>JBAS-6790</a>] - Update JBC to 3.1.0.GA
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6453'>JBAS-6453</a>] - Update AOP to 2.0.1.GA
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6791'>JBAS-6791</a>] - Upgrade jboss-ha-server-cache-jbc to 2.0.0.GA
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6454'>JBAS-6454</a>] - Update Web Beans to 1.0.0.BETA1
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6835'>JBAS-6835</a>] - Upgrade JBossWS Native to 3.1.2.GA
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6455'>JBAS-6455</a>] - Update JBoss Cache to 3.0.2.GA
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6840'>JBAS-6840</a>] - Upgrade JGroups to 2.6.10
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6458'>JBAS-6458</a>] - Update JPA to 1.0.0-CR1
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6851'>JBAS-6851</a>] - Update to transactions 4.6.1.GA
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6459'>JBAS-6459</a>] - Update VFS to 2.1.0.GA
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6863'>JBAS-6863</a>] - Upgrade to jboss-cl 2.0.6.GA
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6460'>JBAS-6460</a>] - Update MDR to 2.0.1.GA
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6882'>JBAS-6882</a>] - Upgrade EJB3 to 1.1.5
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6461'>JBAS-6461</a>] - Update MC Managed to 2.0.0.GA
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6890'>JBAS-6890</a>] - Update slf4j to 1.5.6
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6462'>JBAS-6462</a>] - Update MC Kernel to 2.0.4.GA
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6891'>JBAS-6891</a>] - Update slf4j-jboss-logging to 1.0.2
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6463'>JBAS-6463</a>] - Update CL to 2.0.4.GA
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6892'>JBAS-6892</a>] - Update common-core to 2.2.14.GA
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6464'>JBAS-6464</a>] - Update Deployers to 2.0.5.GA
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6893'>JBAS-6893</a>] - Update jboss-ejb3-endpoint-deployers to 0.1.3
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6465'>JBAS-6465</a>] - Update Seam-Int to 5.0.2.GA
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6898'>JBAS-6898</a>] - Update jboss-logging-spi, jboss-logging-log4j, jboss-logging-jdk to 2.1.0.GA
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6467'>JBAS-6467</a>] - Update to Security 2.0.2.SP7
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6899'>JBAS-6899</a>] - Update JBoss LogManager to 1.0.0.GA
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6468'>JBAS-6468</a>] - Update to JBossXACML 2.0.3.CR1
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6900'>JBAS-6900</a>] - Update JBoss LogBridge to 1.0.0.GA
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6473'>JBAS-6473</a>] - Update to JBoss Threads 1.0.0.GA
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6901'>JBAS-6901</a>] - Update JBoss Threads and JBoss Threads Metadata to 1.0.0.GA
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6474'>JBAS-6474</a>] - Update to XNIO 1.2.0.GA
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6902'>JBAS-6902</a>] - Update XNIO Metadata to 1.0.0.GA
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6475'>JBAS-6475</a>] - Update to JDK LogBridge 1.0.0.GA
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6903'>JBAS-6903</a>] - Upgrade Naming to 5.0.3.GA
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6476'>JBAS-6476</a>] - Update to Bootstrap 1.0.0-Beta-1
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6907'>JBAS-6907</a>] - Update Metadata to 1.0.1.GA
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6505'>JBAS-6505</a>] - Upgrade JBoss Cache to 3.0.3.GA
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6542'>JBAS-6542</a>] - Update to jboss-common-core 2.2.11.GA
-</li>
</ul>
-
+
<h2> Sub-task
</h2>
<ul>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-2482'>JBAS-2482</a>] - Investigate integration of FORM auth with a SAML style identity provider
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-5552'>JBAS-5552</a>] - Synchronized deployment repositories across the cluster
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-3768'>JBAS-3768</a>] - Define initial persistent format of the profile repository
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6066'>JBAS-6066</a>] - JSR-196 integration for web layer (Client-CERT)
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-5523'>JBAS-5523</a>] - Add Availability functionality. To know when a ManagedComponent is running or stopped, etc
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6330'>JBAS-6330</a>] - Hotdeployment management interface
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-5529'>JBAS-5529</a>] - Add support for JBAS, JBossWeb and JBossWeb connector components
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6594'>JBAS-6594</a>] - org.jboss.test.profileservice.test.ServiceBindingManagedObjectsTestCase
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-5640'>JBAS-5640</a>] - Wars embedded in sars have discrepencies in deployment Name
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6622'>JBAS-6622</a>] - Dynamic creation of vhost managed objects
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6137'>JBAS-6137</a>] - Make sure ProfileService is available remotely in a secured fashion
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6623'>JBAS-6623</a>] - Web Application (WAR) additional metrics and operations
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6218'>JBAS-6218</a>] - "org.jboss.util.NotImplementedException:Use a custom InstanceClassFactory" error occurs when trying to create XA or NoTX Datasource via ManagementView.applyTemplate()
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6676'>JBAS-6676</a>] - Suport for exposing JMX bean as ManagedObject
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6219'>JBAS-6219</a>] - ManagementView.getTemplate() should return a new copy of the DeploymentTemplateInfo on every call
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6773'>JBAS-6773</a>] - org.jboss.test.jmx.test.UndeployBrokenPackageUnitTestCase
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6272'>JBAS-6272</a>] - jrockit - org.jboss.test.jca.test.BaseConnectionManagerUnitTestCase.testAllocationRetryMultiThread
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6812'>JBAS-6812</a>] - Handle Path, Privileged and other attributes from context.xml
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6285'>JBAS-6285</a>] - Expose platform mbeans as ManagedComponents
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6823'>JBAS-6823</a>] - Stopping a JMS destination through the console does not change its availability
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6286'>JBAS-6286</a>] - Create a ManagedComponent for System properties
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6836'>JBAS-6836</a>] - org.jboss.test.xml.DynamicLoginConfigUnitTestCase.testJASPIConfig
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6325'>JBAS-6325</a>] - Add index entries
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6850'>JBAS-6850</a>] - Override jms xmbean descriptors
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6340'>JBAS-6340</a>] - Upgrade JBossWS Native to 3.0.5.GA
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6857'>JBAS-6857</a>] - AS5.1: Password Masking for MC Beans
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6413'>JBAS-6413</a>] - Upgrade JBoss Security 2.0.2.SP6
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6869'>JBAS-6869</a>] - types field is null in all RAR ManagedDeployments
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6472'>JBAS-6472</a>] - Update ProfileService spi
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6885'>JBAS-6885</a>] - when connected to PS via remote client, calling getComponentsByType(), passing some type that actually is deployed, a "ClassNotFoundException: org.jboss.profileservice.management.ManagedOperationDelegate" is thrown
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6490'>JBAS-6490</a>] - Upgrade Apache XML Security 1.4.2
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6894'>JBAS-6894</a>] - PerTxEntityInstanceCache->removeTimerServiceIfAllCancelledOrExpired needs privileged blocks
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6567'>JBAS-6567</a>] - Update JSF to 1.2_12
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6895'>JBAS-6895</a>] - org.jboss.test.profileservice.test.ServerManagedObjectsTestCase
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6581'>JBAS-6581</a>] - org.jboss.test.ejb3.jbas5713.unit.RefSecondJarUnitTestCase
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6896'>JBAS-6896</a>] - org.jboss.test.tm.test.MTTransactionManagerUnitTestCase(jts)
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6583'>JBAS-6583</a>] - org.jboss.test.cluster.defaultcfg.test.ClusterPartitionManagedObjectsTestCase(Default-udp)
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6897'>JBAS-6897</a>] - tests-security-manager regressions
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6591'>JBAS-6591</a>] - org.jboss.test.deployers.spaces.test.SpacesUnitTestCase
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6906'>JBAS-6906</a>] - Tests containing persistence units fail to deploy due to NoClassDefFoundError
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6596'>JBAS-6596</a>] - org.jboss.test.profileservice.override.*.JmsDestinationTestCases
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6911'>JBAS-6911</a>] - ManagementView api extensions
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/MODCLUSTER-5'>MODCLUSTER-5</a>] - HASingletonElectionPolicy suitable for mod_cluster
+<li>[<a href='https://jira.jboss.org/jira/browse/JBAS-6922'>JBAS-6922</a>] - Regressions in compatibility-matrix tests
</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/MODCLUSTER-10'>MODCLUSTER-10</a>] - Define API and SPI for the LoadManager
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/MODCLUSTER-11'>MODCLUSTER-11</a>] - Default LoadManager impl
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/MODCLUSTER-13'>MODCLUSTER-13</a>] - LoadMetricSource API
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/MODCLUSTER-14'>MODCLUSTER-14</a>] - LoadMetricSource impl for gather JBossWeb request metrics
-</li>
-<li>[<a href='https://jira.jboss.org/jira/browse/MODCLUSTER-16'>MODCLUSTER-16</a>] - LoadMetricSource impl for gathering VM metrics
-</li>
</ul>
-
<!-- ======================================================= -->
<hr>
<h2><a name="Documentation">Documentation
Property changes on: branches/Branch_5_x_BootstrapLegacyRemoval/build/docs/readme.html
___________________________________________________________________
Name: svn:mime-type
+ text/html
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/cluster/src/main/org/jboss/ha/framework/server/ClusterPartition.java
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/cluster/src/main/org/jboss/ha/framework/server/ClusterPartition.java 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/cluster/src/main/org/jboss/ha/framework/server/ClusterPartition.java 2009-05-23 18:55:19 UTC (rev 89313)
@@ -64,7 +64,6 @@
import org.jboss.managed.api.annotation.ManagementComponent;
import org.jboss.managed.api.annotation.ManagementObject;
import org.jboss.managed.api.annotation.ManagementObjectID;
-import org.jboss.managed.api.annotation.ManagementObjectRef;
import org.jboss.managed.api.annotation.ManagementOperation;
import org.jboss.managed.api.annotation.ManagementProperties;
import org.jboss.managed.api.annotation.ManagementProperty;
@@ -1741,12 +1740,12 @@
return Version.description + "( " + Version.cvs + ")";
}
- @ManagementProperty(name="distributedReplicantManager", use={ViewUse.STATISTIC}, description="The DistributedReplicantManager")
- @ManagementObjectRef(type="DistributedReplicantManager")
- public String getDRMName()
- {
- return getPartitionName();
- }
+// @ManagementProperty(name="distributedReplicantManager", use={ViewUse.STATISTIC}, description="The DistributedReplicantManager")
+// @ManagementObjectRef(type="DistributedReplicantManager")
+// public String getDRMName()
+// {
+// return getPartitionName();
+// }
public DistributedReplicantManagerImpl getDistributedReplicantManagerImpl()
{
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/cluster/src/main/org/jboss/ha/framework/server/DistributedReplicantManagerImpl.java
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/cluster/src/main/org/jboss/ha/framework/server/DistributedReplicantManagerImpl.java 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/cluster/src/main/org/jboss/ha/framework/server/DistributedReplicantManagerImpl.java 2009-05-23 18:55:19 UTC (rev 89313)
@@ -65,7 +65,8 @@
* @author <a href="mailto:pferraro at redhat.com">Paul Ferraro</a>
* @version $Revision$
*/
- at ManagementObject(isRuntime=true, properties=ManagementProperties.EXPLICIT)
+ at ManagementObject(componentType=@ManagementComponent(type="MCBean", subtype="DistributedReplicantManager"),
+ properties=ManagementProperties.EXPLICIT)
public class DistributedReplicantManagerImpl
implements DistributedReplicantManagerImplMBean,
HAPartition.HAMembershipExtendedListener,
@@ -198,7 +199,7 @@
}
@ManagementProperty(use={ViewUse.STATISTIC}, description="The partition's name")
- @ManagementObjectID(type="HAPartition")
+ @ManagementObjectID(type="DistributedReplicantManager")
public String getPartitionName()
{
return this.partition.getPartitionName();
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/component-matrix/pom.xml
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/component-matrix/pom.xml 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/component-matrix/pom.xml 2009-05-23 18:55:19 UTC (rev 89313)
@@ -80,11 +80,11 @@
<version.org.jboss.ejb3.endpoint.deployer>0.1.3</version.org.jboss.ejb3.endpoint.deployer>
<version.org.jboss.integration>5.1.0.GA</version.org.jboss.integration>
<version.org.jboss.jbossxb>2.0.1.GA</version.org.jboss.jbossxb>
- <version.org.jboss.jopr>1.2.0.CR3</version.org.jboss.jopr>
+ <version.org.jboss.jopr>1.2.0.GA</version.org.jboss.jopr>
<version.org.jboss.jpa>1.0.0</version.org.jboss.jpa>
<version.org.jboss.logbridge>1.0.0.GA</version.org.jboss.logbridge>
<version.org.jboss.logmanager>1.0.0.GA</version.org.jboss.logmanager>
- <version.org.jboss.man>2.1.0.CR8</version.org.jboss.man>
+ <version.org.jboss.man>2.1.0.SP1</version.org.jboss.man>
<version.org.jboss.mdr>2.0.1.GA</version.org.jboss.mdr>
<version.org.jboss.metadata>1.0.1.GA</version.org.jboss.metadata>
<version.org.jboss.microcontainer>2.0.6.GA</version.org.jboss.microcontainer>
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/mbeans/src/main/org/jboss/mx/server/InvocationContext.java
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/mbeans/src/main/org/jboss/mx/server/InvocationContext.java 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/mbeans/src/main/org/jboss/mx/server/InvocationContext.java 2009-05-23 18:55:19 UTC (rev 89313)
@@ -144,7 +144,7 @@
return NOCLASSES;
Class[] signatureClassesTemp = new Class[signature.length];
for (int i = 0; i < signature.length; ++i)
- signatureClassesTemp[i] = Thread.currentThread().getContextClassLoader().loadClass(signature[i]);
+ signatureClassesTemp[i] = TCLAction.UTIL.getContextClassLoader().loadClass(signature[i]);
signatureClasses = signatureClassesTemp;
return signatureClasses;
}
@@ -313,7 +313,7 @@
Class isPrimitive = Classes.getPrimitiveTypeForName(clazz);
if (isPrimitive != null)
return Classes.getPrimitiveWrapper(isPrimitive);
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ ClassLoader cl = TCLAction.UTIL.getContextClassLoader();
return cl.loadClass(clazz);
}
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/profileservice/src/main/org/jboss/profileservice/management/ManagedPropertyDelegate.java
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/profileservice/src/main/org/jboss/profileservice/management/ManagedPropertyDelegate.java 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/profileservice/src/main/org/jboss/profileservice/management/ManagedPropertyDelegate.java 2009-05-23 18:55:19 UTC (rev 89313)
@@ -23,6 +23,7 @@
import java.io.Serializable;
import java.lang.annotation.Annotation;
+import java.util.Collection;
import java.util.Map;
import java.util.Set;
@@ -154,6 +155,11 @@
return propValue;
}
+ public Collection<String> getAdminViewUses()
+ {
+ return delegate.getAdminViewUses();
+ }
+
public boolean hasAnnotation(String key)
{
return delegate.hasAnnotation(key);
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/profileservice/src/main/org/jboss/profileservice/management/TempManagedComponentImpl.java
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/profileservice/src/main/org/jboss/profileservice/management/TempManagedComponentImpl.java 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/profileservice/src/main/org/jboss/profileservice/management/TempManagedComponentImpl.java 2009-05-23 18:55:19 UTC (rev 89313)
@@ -21,6 +21,8 @@
*/
package org.jboss.profileservice.management;
+import java.io.ObjectStreamException;
+
import org.jboss.managed.api.ComponentType;
import org.jboss.managed.api.ManagedCommon;
import org.jboss.managed.api.ManagedDeployment;
@@ -54,5 +56,12 @@
{
return getDelegate();
}
-
+
+ private Object writeReplace() throws ObjectStreamException
+ {
+ // Only expose the ManagedComponentImpl
+ ManagedComponentImpl comp = new ManagedComponentImpl(getType(), getDeployment(), getDelegate(), getStateMapper());
+ comp.setRunState(getRunState());
+ return comp;
+ }
}
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/server/src/bin/service.bat
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/server/src/bin/service.bat 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/server/src/bin/service.bat 2009-05-23 18:55:19 UTC (rev 89313)
@@ -18,8 +18,8 @@
REM during the build with ant filter.
REM
set SVCNAME=JBAS50SVC
-set SVCDISP=JBoss Application Server 5.0
-set SVCDESC=JBoss Application Server 5.0.0 GA/Platform: Windows x86
+set SVCDISP=JBoss Application Server 5.1
+set SVCDESC=JBoss Application Server 5.1.0 GA/Platform: Windows x86
set NOPAUSE=Y
REM Suppress killing service on logoff event
Copied: branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bindingservice.beans (from rev 89308, branches/Branch_5_x/server/src/etc/conf/all/bindingservice.beans)
Copied: branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bindingservice.beans/META-INF (from rev 89308, branches/Branch_5_x/server/src/etc/conf/all/bindingservice.beans/META-INF)
Deleted: branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bindingservice.beans/META-INF/bindings-jboss-beans.xml
===================================================================
--- branches/Branch_5_x/server/src/etc/conf/all/bindingservice.beans/META-INF/bindings-jboss-beans.xml 2009-05-23 17:58:00 UTC (rev 89308)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bindingservice.beans/META-INF/bindings-jboss-beans.xml 2009-05-23 18:55:19 UTC (rev 89313)
@@ -1,483 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <!-- The actual SBM from which services obtain binding information -->
- <bean name="ServiceBindingManager" class="org.jboss.services.binding.ServiceBindingManager">
-
- <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.system:service=ServiceBindingManager", exposedInterface=org.jboss.services.binding.ServiceBindingManagerMBean.class, registerDirectly=true)</annotation>
-
- <!-- Here we use the ServiceBindingManagementObject as a factory to create the SBM -->
- <constructor factoryMethod="getServiceBindingManager">
- <factory bean="ServiceBindingManagementObject"/>
- </constructor>
-
- </bean>
-
- <!-- Provides management tools with a ProfileService ManagementView
- interface to the SBM and its components -->
- <bean name="ServiceBindingManagementObject"
- class="org.jboss.services.binding.managed.ServiceBindingManagementObject">
-
- <constructor>
- <!-- The name of the set of bindings to use for this server -->
- <parameter>${jboss.service.binding.set:ports-default}</parameter>
-
- <!-- The binding sets -->
- <parameter>
- <set>
- <inject bean="PortsDefaultBindings"/>
- <inject bean="Ports01Bindings"/>
- <inject bean="Ports02Bindings"/>
- <inject bean="Ports03Bindings"/>
- </set>
- </parameter>
-
- <!-- Base binding metadata that is used to create bindings for each set -->
- <parameter><inject bean="StandardBindings"/></parameter>
-
- </constructor>
- </bean>
-
-
- <!-- The ports-default bindings are obtained by taking the base bindings and adding 0 to each port value -->
- <bean name="PortsDefaultBindings" class="org.jboss.services.binding.impl.ServiceBindingSet">
- <constructor>
- <!-- The name of the set -->
- <parameter>ports-default</parameter>
- <!-- Default host name -->
- <parameter>${jboss.bind.address}</parameter>
- <!-- The port offset -->
- <parameter>0</parameter>
- <!-- Set of bindings to which the "offset by X" approach can't be applied -->
- <parameter><null/></parameter>
- </constructor>
- </bean>
-
- <!-- The ports-01 bindings are obtained by taking the base bindings and adding 100 to each port value -->
- <bean name="Ports01Bindings" class="org.jboss.services.binding.impl.ServiceBindingSet">
- <constructor>
- <!-- The name of the set -->
- <parameter>ports-01</parameter>
- <!-- Default host name -->
- <parameter>${jboss.bind.address}</parameter>
- <!-- The port offset -->
- <parameter>100</parameter>
- <!-- Set of bindings to which the "offset by X" approach can't be applied -->
- <parameter><null/></parameter>
- </constructor>
- </bean>
-
- <!-- The ports-02 bindings are obtained by taking ports-default and adding 200 to each port value -->
- <bean name="Ports02Bindings" class="org.jboss.services.binding.impl.ServiceBindingSet">
- <constructor>
- <!-- The name of the set -->
- <parameter>ports-02</parameter>
- <!-- Default host name -->
- <parameter>${jboss.bind.address}</parameter>
- <!-- The port offset -->
- <parameter>200</parameter>
- <!-- Set of bindings to which the "offset by X" approach can't be applied -->
- <parameter><null/></parameter>
- </constructor>
- </bean>
-
- <!-- The ports-03 bindings are obtained by taking ports-default and adding 300 to each port value -->
- <bean name="Ports03Bindings" class="org.jboss.services.binding.impl.ServiceBindingSet">
- <constructor>
- <!-- The name of the set -->
- <parameter>ports-03</parameter>
- <!-- Default host name -->
- <parameter>${jboss.bind.address}</parameter>
- <!-- The port offset -->
- <parameter>300</parameter>
- <!-- Set of bindings to which the "offset by X" approach can't be applied -->
- <parameter><null/></parameter>
- </constructor>
- </bean>
-
- <!-- Base binding metadata that ServiceBindingStore uses to create bindings for each set -->
- <bean name="StandardBindings" class="java.util.HashSet">
- <constructor>
- <parameter class="java.util.Collection">
- <set elementClass="org.jboss.services.binding.ServiceBindingMetadata">
- <!-- ********************* conf/jboss-service.xml ****************** -->
-
- <!-- Naming Service -->
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss:service=Naming</property>
- <property name="bindingName">Port</property>
- <property name="port">1099</property>
- <property name="description">The listening socket for the Naming service</property>
- </bean>
-
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss:service=Naming</property>
- <property name="bindingName">RmiPort</property>
- <property name="port">1098</property>
- <property name="description">Socket Naming service uses to receive RMI requests from client proxies</property>
- </bean>
-
- <!-- Remote classloading service -->
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss:service=WebService</property>
- <property name="port">8083</property>
- <property name="description">Socket for dynamic class and resource loading</property>
- </bean>
-
- <!-- Remoting Connector -->
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">UnifiedInvokerConnector</property>
- <property name="port">4446</property>
- <property name="description">Socket for JBoss Remoting Connector used by UnifiedInvoker</property>
- </bean>
-
- <!-- Used to create a multihome Remoting server. See -->
- <!-- deploy/remoting-jboss-beans.xml for more details. -->
- <!--bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">UnifiedInvokerConnector:bindingHome1</property>
- <parameter>192.168.2.2</property>
- <property name="port">7777</property>
- <property name="description">Socket for JBoss Remoting Connector used by UnifiedInvoker on a multihome server</property>
- </bean-->
-
- <!-- Used to create a multihome Remoting server. See -->
- <!-- deploy/remoting-jboss-beans.xml for more details. -->
- <!--bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">UnifiedInvokerConnector:bindingHome2</property>
- <parameter>10.11.12.238</property>
- <property name="port">8888</property>
- <property name="description">Socket for JBoss Remoting Connector used by UnifiedInvoker on a multihome server</property>
- </bean-->
-
- <!-- ********************* deploy/legacy-invokers-service.xml ****************** -->
-
- <!-- RMI/JRMP invoker -->
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss:service=invoker,type=jrmp</property>
- <property name="port">4444</property>
- <property name="description">Socket for the legacy RMI/JRMP invoker</property>
- </bean>
-
- <!-- Pooled invoker -->
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss:service=invoker,type=pooled</property>
- <property name="port">4445</property>
- <property name="description">Socket for the legacy Pooled invoker</property>
- </bean>
-
- <!-- ********************* deploy/cluster/hajndi-service.xml ****************** -->
-
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss:service=HAJNDI</property>
- <property name="bindingName">Port</property>
- <property name="port">1100</property>
- <property name="description">The listening socket for the HA-JNDI service</property>
- </bean>
-
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss:service=HAJNDI</property>
- <property name="bindingName">RmiPort</property>
- <property name="port">1101</property>
- <property name="description">Socket HA-JNDI service uses to receive RMI requests from client proxies</property>
- </bean>
-
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss:service=HAJNDI</property>
- <property name="bindingName">AutoDiscovery</property>
- <property name="hostName">${jboss.partition.udpGroup:230.0.0.4}</property>
- <property name="port">1102</property>
- <property name="description">Multicast socket on which HA-JNDI listens for auto-discovery requests from clients</property>
- <!-- This address should not be changed between different
- binding sets; all nodes need to listen on the same
- multicast address -->
- <property name="fixedHostName">true</property>
- <!-- This port should not be changed between different
- binding sets; all nodes need to listen on the same port -->
- <property name="fixedPort">true</property>
- </bean>
-
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss:service=HAJNDI</property>
- <property name="bindingName">AutoDiscoveryInterface</property>
- <property name="hostName">${jboss.bind.address}</property>
- <property name="description">Interface for multicast socket on which HA-JNDI listens for auto-discovery requests from clients</property>
- </bean>
-
- <!-- ********************* deploy/cluster/ha-legacy-service.xml ****************** -->
-
- <!-- HA RMI/JRMP invoker -->
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss:service=invoker,type=jrmpha</property>
- <property name="port">4447</property>
- <property name="description">Socket for high availability version of the legacy RMI/JRMP invoker</property>
- </bean>
-
- <!-- HA Pooled invoker -->
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss:service=invoker,type=pooledha</property>
- <property name="port">4448</property>
- <property name="description">Socket for high availability version of the legacy Pooled invoker</property>
- </bean>
-
- <!-- ********************* deploy/iiop-service.xml ****************** -->
-
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss:service=CorbaORB</property>
- <property name="port">3528</property>
- <property name="description">IIOP socket for the Corba ORB</property>
- </bean>
-
- <!-- ********************* deploy/snmp-adaptor.sar **************** -->
-
- <!-- Trap receiver that acts as an SNMP Manager -->
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss.jmx:name=SnmpAgent,service=trapd,type=logger</property>
- <property name="port">1162</property>
- <property name="description">Socket for the SNMP trap receiver</property>
- </bean>
-
- <!-- The SNMP adaptor MBean -->
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss.jmx:name=SnmpAgent,service=snmp,type=adaptor</property>
- <property name="port">1161</property>
- <property name="description">Socket for the SNMP adaptor MBean</property>
- </bean>
-
- <!-- ********************* deploy/jmx-remoting.sar **************** -->
-
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss.remoting:service=JMXConnectorServer,protocol=rmi</property>
- <property name="port">1090</property>
- <property name="description">RMI/JRMP socket for connecting to the JMX MBeanServer</property>
- </bean>
-
- <!-- ********************* deploy/ejb3-connectors-service.xml **************** -->
-
- <!-- EJB3 wants to have the service create its own ServiceBinding object
- dynamically. See the value-factory usage in deploy/ejb3-connectors-service.xml -->
-
-
- <!-- ********************* deploy/jbossweb.sar **************** -->
- <!-- ********************* deploy/httpha-invoker.sar **************** -->
-
- <!--
- JBoss Web server.xml configuration.
-
- Same binding config can be used by the following services, or really
- anything else that needs to point to the JBoss Web HTTP connector
- but doesn't need an XSL Transform
-
- jboss:service=invoker,type=http
- jboss:service=invoker,type=http,target=Naming
- jboss:service=invoker,type=http,target=Naming,readonly=true
- jboss:service=invoker,type=httpHA
- jboss:service=invoker,type=http,target=HAJNDI
- jboss.ws:service=ServiceEndpointManager
- -->
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss.web:service=WebServer</property>
- <property name="port">8080</property>
- <property name="description">JBoss Web HTTP connector socket; also drives the values for the HTTPS and AJP sockets</property>
-
- <!--
- Inject a XSLT transform configuration (see below) that describes
- how to transform server.xml
- If the binding value request doesn't require an XSL Transform, this config
- will be ignored.
- -->
- <property name="serviceBindingValueSourceConfig"><inject bean="JBossWebConnectorXSLTConfig"/></property>
- </bean>
-
- <!-- For services like those listed above that need to know the
- port of the HTTPS connector -->
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss.web:service=WebServer</property>
- <property name="bindingName">HttpsConnector</property>
- <property name="port">8443</property>
- <property name="description">JBoss Web HTTPS connector socket</property>
- </bean>
-
- <!-- ********************* deploy/messaging/remoting-bisocket-service.xml ********************** -->
-
- <!-- Standard JBM bisocket connector -->
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss.messaging:service=Connector,transport=bisocket</property>
- <property name="port">4457</property>
- <property name="description">Socket for JBoss Messaging 1.x</property>
- </bean>
-
- <!-- ********************* JBoss Messaging 2 **************** -->
-
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">JBM2</property>
- <property name="bindingName">netty-port</property>
- <property name="port">5445</property>
- <property name="description">Socket for JBoss Messaging 2.x</property>
- </bean>
-
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">JBM2</property>
- <property name="bindingName">netty-ssl-port</property>
- <property name="port">5446</property>
- <property name="description">SSL socket for JBoss Messaging 2.x</property>
- </bean>
-
- <!-- ********************* deploy/transaction-jboss-beans.xml ********************** -->
-
- <!-- JBossTS Recovery Manager -->
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">TransactionManager</property>
- <property name="bindingName">recoveryManager</property>
- <property name="port">4712</property>
- <property name="description">Socket for JBossTS Recovery Manager</property>
- </bean>
-
- <!-- JBossTS Transaction Status Manager -->
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">TransactionManager</property>
- <property name="bindingName">transactionStatusManager</property>
- <property name="port">4713</property>
- <property name="description">Socket for JBossTS Transaction Status Manager</property>
- </bean>
-
- <!-- JBossTS SocketProcessId. The address part is ignored,
- it will always use localhost/127.0.0.1. -->
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">TransactionManager</property>
- <property name="bindingName">socketProcessId</property>
- <property name="port">4714</property>
- <property name="description">Socket used to provide unique process id for JBossTS. The address configuration is ignored; will always use localhost/127.0.0.1</property>
- </bean>
-
- <!-- ********************* deploy/hsqldb-ds.xml **************** -->
-
- <!-- Commented out as tcp/ip access to Hypersonic is not enabled by default -->
- <!--
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss:service=Hypersonic</property>
- <property name="port">1701</property>
- <property name="description">TCP/IP socket for remote connection to Hypersonic database</property>
- </bean>
- -->
-
- <!-- ********************* JBoss MQ **************** -->
-
- <!-- Commented out as JBoss MQ is not installed by default
- If you uncomment this and also use jboss.mq:service=InvocationLayer,type=HTTP,
- configure the http invocation layer using the jboss.web:service=WebServer binding above
- -->
- <!--
- <bean class="org.jboss.services.binding.ServiceBindingMetadata">
- <property name="serviceName">jboss.mq:service=InvocationLayer,type=UIL2</property>
- <property name="port">8093</property>
- <property name="description">UIL2 socket for JBossMQ</property>
- </bean>
- -->
- </set>
- </parameter>
- </constructor>
- </bean>
-
- <!-- Conversion of selected bindings into system properties -->
- <bean name="SystemPropertyBinder" class="org.jboss.services.binding.SystemPropertyBinder">
-
- <constructor>
- <parameter>
- <set>
- <!-- JBM's remoting connector -->
- <bean class="org.jboss.services.binding.SystemPropertyBinding">
- <constructor>
- <parameter>jboss.messaging.connector.bisocket.port</parameter>
- <parameter class="int">
- <value-factory bean="ServiceBindingManager" method="getIntBinding"
- parameter="jboss.messaging:service=Connector,transport=bisocket"/>
- </parameter>
- </constructor>
- </bean>
- <!-- JBM2 netty connector -->
- <bean class="org.jboss.services.binding.SystemPropertyBinding">
- <constructor>
- <parameter>jbm.remoting.netty.port</parameter>
- <parameter class="int">
- <value-factory bean="ServiceBindingManager" method="getIntBinding">
- <parameter>JBM2</parameter>
- <parameter>netty-port</parameter>
- </value-factory>
- </parameter>
- </constructor>
- </bean>
- <!-- JBM2 netty ssl connector -->
- <bean class="org.jboss.services.binding.SystemPropertyBinding">
- <constructor>
- <parameter>jbm.remoting.netty.ssl.port</parameter>
- <parameter class="int">
- <value-factory bean="ServiceBindingManager" method="getIntBinding">
- <parameter>JBM2</parameter>
- <parameter>netty-ssl-port</parameter>
- </value-factory>
- </parameter>
- </constructor>
- </bean>
- </set>
- </parameter>
- </constructor>
-
- </bean>
-
- <!-- XSL Transform to apply to server.xml -->
- <bean name="JBossWebConnectorXSLTConfig"
- class="org.jboss.services.binding.impl.XSLTServiceBindingValueSourceConfig">
-
- <constructor>
- <parameter><![CDATA[
- <xsl:stylesheet
- xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
-
- <xsl:output method="xml" />
- <xsl:param name="port"/>
-
- <xsl:variable name="portAJP" select="$port - 71"/>
- <xsl:variable name="portHttps" select="$port + 363"/>
-
- <xsl:template match="/">
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match = "Connector">
- <Connector>
- <xsl:for-each select="@*">
- <xsl:choose>
- <xsl:when test="(name() = 'port' and . = '8080')">
- <xsl:attribute name="port"><xsl:value-of select="$port" /></xsl:attribute>
- </xsl:when>
- <xsl:when test="(name() = 'port' and . = '8009')">
- <xsl:attribute name="port"><xsl:value-of select="$portAJP" /></xsl:attribute>
- </xsl:when>
- <xsl:when test="(name() = 'redirectPort')">
- <xsl:attribute name="redirectPort"><xsl:value-of select="$portHttps" /></xsl:attribute>
- </xsl:when>
- <xsl:when test="(name() = 'port' and . = '8443')">
- <xsl:attribute name="port"><xsl:value-of select="$portHttps" /></xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- <xsl:apply-templates/>
- </Connector>
- </xsl:template>
-
- <xsl:template match="*|@*">
- <xsl:copy>
- <xsl:apply-templates select="@*|node()"/>
- </xsl:copy>
- </xsl:template>
- </xsl:stylesheet>
- ]]>
- </parameter>
- </constructor>
- </bean>
-
-</deployment>
Copied: branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bindingservice.beans/META-INF/bindings-jboss-beans.xml (from rev 89308, branches/Branch_5_x/server/src/etc/conf/all/bindingservice.beans/META-INF/bindings-jboss-beans.xml)
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bindingservice.beans/META-INF/bindings-jboss-beans.xml (rev 0)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bindingservice.beans/META-INF/bindings-jboss-beans.xml 2009-05-23 18:55:19 UTC (rev 89313)
@@ -0,0 +1,483 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- The actual SBM from which services obtain binding information -->
+ <bean name="ServiceBindingManager" class="org.jboss.services.binding.ServiceBindingManager">
+
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.system:service=ServiceBindingManager", exposedInterface=org.jboss.services.binding.ServiceBindingManagerMBean.class, registerDirectly=true)</annotation>
+
+ <!-- Here we use the ServiceBindingManagementObject as a factory to create the SBM -->
+ <constructor factoryMethod="getServiceBindingManager">
+ <factory bean="ServiceBindingManagementObject"/>
+ </constructor>
+
+ </bean>
+
+ <!-- Provides management tools with a ProfileService ManagementView
+ interface to the SBM and its components -->
+ <bean name="ServiceBindingManagementObject"
+ class="org.jboss.services.binding.managed.ServiceBindingManagementObject">
+
+ <constructor>
+ <!-- The name of the set of bindings to use for this server -->
+ <parameter>${jboss.service.binding.set:ports-default}</parameter>
+
+ <!-- The binding sets -->
+ <parameter>
+ <set>
+ <inject bean="PortsDefaultBindings"/>
+ <inject bean="Ports01Bindings"/>
+ <inject bean="Ports02Bindings"/>
+ <inject bean="Ports03Bindings"/>
+ </set>
+ </parameter>
+
+ <!-- Base binding metadata that is used to create bindings for each set -->
+ <parameter><inject bean="StandardBindings"/></parameter>
+
+ </constructor>
+ </bean>
+
+
+ <!-- The ports-default bindings are obtained by taking the base bindings and adding 0 to each port value -->
+ <bean name="PortsDefaultBindings" class="org.jboss.services.binding.impl.ServiceBindingSet">
+ <constructor>
+ <!-- The name of the set -->
+ <parameter>ports-default</parameter>
+ <!-- Default host name -->
+ <parameter>${jboss.bind.address}</parameter>
+ <!-- The port offset -->
+ <parameter>0</parameter>
+ <!-- Set of bindings to which the "offset by X" approach can't be applied -->
+ <parameter><null/></parameter>
+ </constructor>
+ </bean>
+
+ <!-- The ports-01 bindings are obtained by taking the base bindings and adding 100 to each port value -->
+ <bean name="Ports01Bindings" class="org.jboss.services.binding.impl.ServiceBindingSet">
+ <constructor>
+ <!-- The name of the set -->
+ <parameter>ports-01</parameter>
+ <!-- Default host name -->
+ <parameter>${jboss.bind.address}</parameter>
+ <!-- The port offset -->
+ <parameter>100</parameter>
+ <!-- Set of bindings to which the "offset by X" approach can't be applied -->
+ <parameter><null/></parameter>
+ </constructor>
+ </bean>
+
+ <!-- The ports-02 bindings are obtained by taking ports-default and adding 200 to each port value -->
+ <bean name="Ports02Bindings" class="org.jboss.services.binding.impl.ServiceBindingSet">
+ <constructor>
+ <!-- The name of the set -->
+ <parameter>ports-02</parameter>
+ <!-- Default host name -->
+ <parameter>${jboss.bind.address}</parameter>
+ <!-- The port offset -->
+ <parameter>200</parameter>
+ <!-- Set of bindings to which the "offset by X" approach can't be applied -->
+ <parameter><null/></parameter>
+ </constructor>
+ </bean>
+
+ <!-- The ports-03 bindings are obtained by taking ports-default and adding 300 to each port value -->
+ <bean name="Ports03Bindings" class="org.jboss.services.binding.impl.ServiceBindingSet">
+ <constructor>
+ <!-- The name of the set -->
+ <parameter>ports-03</parameter>
+ <!-- Default host name -->
+ <parameter>${jboss.bind.address}</parameter>
+ <!-- The port offset -->
+ <parameter>300</parameter>
+ <!-- Set of bindings to which the "offset by X" approach can't be applied -->
+ <parameter><null/></parameter>
+ </constructor>
+ </bean>
+
+ <!-- Base binding metadata that ServiceBindingStore uses to create bindings for each set -->
+ <bean name="StandardBindings" class="java.util.HashSet">
+ <constructor>
+ <parameter class="java.util.Collection">
+ <set elementClass="org.jboss.services.binding.ServiceBindingMetadata">
+ <!-- ********************* conf/jboss-service.xml ****************** -->
+
+ <!-- Naming Service -->
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss:service=Naming</property>
+ <property name="bindingName">Port</property>
+ <property name="port">1099</property>
+ <property name="description">The listening socket for the Naming service</property>
+ </bean>
+
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss:service=Naming</property>
+ <property name="bindingName">RmiPort</property>
+ <property name="port">1098</property>
+ <property name="description">Socket Naming service uses to receive RMI requests from client proxies</property>
+ </bean>
+
+ <!-- Remote classloading service -->
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss:service=WebService</property>
+ <property name="port">8083</property>
+ <property name="description">Socket for dynamic class and resource loading</property>
+ </bean>
+
+ <!-- Remoting Connector -->
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">UnifiedInvokerConnector</property>
+ <property name="port">4446</property>
+ <property name="description">Socket for JBoss Remoting Connector used by UnifiedInvoker</property>
+ </bean>
+
+ <!-- Used to create a multihome Remoting server. See -->
+ <!-- deploy/remoting-jboss-beans.xml for more details. -->
+ <!--bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">UnifiedInvokerConnector:bindingHome1</property>
+ <parameter>192.168.2.2</property>
+ <property name="port">7777</property>
+ <property name="description">Socket for JBoss Remoting Connector used by UnifiedInvoker on a multihome server</property>
+ </bean-->
+
+ <!-- Used to create a multihome Remoting server. See -->
+ <!-- deploy/remoting-jboss-beans.xml for more details. -->
+ <!--bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">UnifiedInvokerConnector:bindingHome2</property>
+ <parameter>10.11.12.238</property>
+ <property name="port">8888</property>
+ <property name="description">Socket for JBoss Remoting Connector used by UnifiedInvoker on a multihome server</property>
+ </bean-->
+
+ <!-- ********************* deploy/legacy-invokers-service.xml ****************** -->
+
+ <!-- RMI/JRMP invoker -->
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss:service=invoker,type=jrmp</property>
+ <property name="port">4444</property>
+ <property name="description">Socket for the legacy RMI/JRMP invoker</property>
+ </bean>
+
+ <!-- Pooled invoker -->
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss:service=invoker,type=pooled</property>
+ <property name="port">4445</property>
+ <property name="description">Socket for the legacy Pooled invoker</property>
+ </bean>
+
+ <!-- ********************* deploy/cluster/hajndi-service.xml ****************** -->
+
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss:service=HAJNDI</property>
+ <property name="bindingName">Port</property>
+ <property name="port">1100</property>
+ <property name="description">The listening socket for the HA-JNDI service</property>
+ </bean>
+
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss:service=HAJNDI</property>
+ <property name="bindingName">RmiPort</property>
+ <property name="port">1101</property>
+ <property name="description">Socket HA-JNDI service uses to receive RMI requests from client proxies</property>
+ </bean>
+
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss:service=HAJNDI</property>
+ <property name="bindingName">AutoDiscovery</property>
+ <property name="hostName">${jboss.partition.udpGroup:230.0.0.4}</property>
+ <property name="port">1102</property>
+ <property name="description">Multicast socket on which HA-JNDI listens for auto-discovery requests from clients</property>
+ <!-- This address should not be changed between different
+ binding sets; all nodes need to listen on the same
+ multicast address -->
+ <property name="fixedHostName">true</property>
+ <!-- This port should not be changed between different
+ binding sets; all nodes need to listen on the same port -->
+ <property name="fixedPort">true</property>
+ </bean>
+
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss:service=HAJNDI</property>
+ <property name="bindingName">AutoDiscoveryInterface</property>
+ <property name="hostName">${jboss.bind.address}</property>
+ <property name="description">Interface for multicast socket on which HA-JNDI listens for auto-discovery requests from clients</property>
+ </bean>
+
+ <!-- ********************* deploy/cluster/ha-legacy-service.xml ****************** -->
+
+ <!-- HA RMI/JRMP invoker -->
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss:service=invoker,type=jrmpha</property>
+ <property name="port">4447</property>
+ <property name="description">Socket for high availability version of the legacy RMI/JRMP invoker</property>
+ </bean>
+
+ <!-- HA Pooled invoker -->
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss:service=invoker,type=pooledha</property>
+ <property name="port">4448</property>
+ <property name="description">Socket for high availability version of the legacy Pooled invoker</property>
+ </bean>
+
+ <!-- ********************* deploy/iiop-service.xml ****************** -->
+
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss:service=CorbaORB</property>
+ <property name="port">3528</property>
+ <property name="description">IIOP socket for the Corba ORB</property>
+ </bean>
+
+ <!-- ********************* deploy/snmp-adaptor.sar **************** -->
+
+ <!-- Trap receiver that acts as an SNMP Manager -->
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss.jmx:name=SnmpAgent,service=trapd,type=logger</property>
+ <property name="port">1162</property>
+ <property name="description">Socket for the SNMP trap receiver</property>
+ </bean>
+
+ <!-- The SNMP adaptor MBean -->
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss.jmx:name=SnmpAgent,service=snmp,type=adaptor</property>
+ <property name="port">1161</property>
+ <property name="description">Socket for the SNMP adaptor MBean</property>
+ </bean>
+
+ <!-- ********************* deploy/jmx-remoting.sar **************** -->
+
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss.remoting:service=JMXConnectorServer,protocol=rmi</property>
+ <property name="port">1090</property>
+ <property name="description">RMI/JRMP socket for connecting to the JMX MBeanServer</property>
+ </bean>
+
+ <!-- ********************* deploy/ejb3-connectors-service.xml **************** -->
+
+ <!-- EJB3 wants to have the service create its own ServiceBinding object
+ dynamically. See the value-factory usage in deploy/ejb3-connectors-service.xml -->
+
+
+ <!-- ********************* deploy/jbossweb.sar **************** -->
+ <!-- ********************* deploy/httpha-invoker.sar **************** -->
+
+ <!--
+ JBoss Web server.xml configuration.
+
+ Same binding config can be used by the following services, or really
+ anything else that needs to point to the JBoss Web HTTP connector
+ but doesn't need an XSL Transform
+
+ jboss:service=invoker,type=http
+ jboss:service=invoker,type=http,target=Naming
+ jboss:service=invoker,type=http,target=Naming,readonly=true
+ jboss:service=invoker,type=httpHA
+ jboss:service=invoker,type=http,target=HAJNDI
+ jboss.ws:service=ServiceEndpointManager
+ -->
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss.web:service=WebServer</property>
+ <property name="port">8080</property>
+ <property name="description">JBoss Web HTTP connector socket; also drives the values for the HTTPS and AJP sockets</property>
+
+ <!--
+ Inject a XSLT transform configuration (see below) that describes
+ how to transform server.xml
+ If the binding value request doesn't require an XSL Transform, this config
+ will be ignored.
+ -->
+ <property name="serviceBindingValueSourceConfig"><inject bean="JBossWebConnectorXSLTConfig"/></property>
+ </bean>
+
+ <!-- For services like those listed above that need to know the
+ port of the HTTPS connector -->
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss.web:service=WebServer</property>
+ <property name="bindingName">HttpsConnector</property>
+ <property name="port">8443</property>
+ <property name="description">JBoss Web HTTPS connector socket</property>
+ </bean>
+
+ <!-- ********************* deploy/messaging/remoting-bisocket-service.xml ********************** -->
+
+ <!-- Standard JBM bisocket connector -->
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss.messaging:service=Connector,transport=bisocket</property>
+ <property name="port">4457</property>
+ <property name="description">Socket for JBoss Messaging 1.x</property>
+ </bean>
+
+ <!-- ********************* JBoss Messaging 2 **************** -->
+
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">JBM2</property>
+ <property name="bindingName">netty-port</property>
+ <property name="port">5445</property>
+ <property name="description">Socket for JBoss Messaging 2.x</property>
+ </bean>
+
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">JBM2</property>
+ <property name="bindingName">netty-ssl-port</property>
+ <property name="port">5446</property>
+ <property name="description">SSL socket for JBoss Messaging 2.x</property>
+ </bean>
+
+ <!-- ********************* deploy/transaction-jboss-beans.xml ********************** -->
+
+ <!-- JBossTS Recovery Manager -->
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">TransactionManager</property>
+ <property name="bindingName">recoveryManager</property>
+ <property name="port">4712</property>
+ <property name="description">Socket for JBossTS Recovery Manager</property>
+ </bean>
+
+ <!-- JBossTS Transaction Status Manager -->
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">TransactionManager</property>
+ <property name="bindingName">transactionStatusManager</property>
+ <property name="port">4713</property>
+ <property name="description">Socket for JBossTS Transaction Status Manager</property>
+ </bean>
+
+ <!-- JBossTS SocketProcessId. The address part is ignored,
+ it will always use localhost/127.0.0.1. -->
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">TransactionManager</property>
+ <property name="bindingName">socketProcessId</property>
+ <property name="port">4714</property>
+ <property name="description">Socket used to provide unique process id for JBossTS. The address configuration is ignored; will always use localhost/127.0.0.1</property>
+ </bean>
+
+ <!-- ********************* deploy/hsqldb-ds.xml **************** -->
+
+ <!-- Commented out as tcp/ip access to Hypersonic is not enabled by default -->
+ <!--
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss:service=Hypersonic</property>
+ <property name="port">1701</property>
+ <property name="description">TCP/IP socket for remote connection to Hypersonic database</property>
+ </bean>
+ -->
+
+ <!-- ********************* JBoss MQ **************** -->
+
+ <!-- Commented out as JBoss MQ is not installed by default
+ If you uncomment this and also use jboss.mq:service=InvocationLayer,type=HTTP,
+ configure the http invocation layer using the jboss.web:service=WebServer binding above
+ -->
+ <!--
+ <bean class="org.jboss.services.binding.ServiceBindingMetadata">
+ <property name="serviceName">jboss.mq:service=InvocationLayer,type=UIL2</property>
+ <property name="port">8093</property>
+ <property name="description">UIL2 socket for JBossMQ</property>
+ </bean>
+ -->
+ </set>
+ </parameter>
+ </constructor>
+ </bean>
+
+ <!-- Conversion of selected bindings into system properties -->
+ <bean name="SystemPropertyBinder" class="org.jboss.services.binding.SystemPropertyBinder">
+
+ <constructor>
+ <parameter>
+ <set>
+ <!-- JBM's remoting connector -->
+ <bean class="org.jboss.services.binding.SystemPropertyBinding">
+ <constructor>
+ <parameter>jboss.messaging.connector.bisocket.port</parameter>
+ <parameter class="int">
+ <value-factory bean="ServiceBindingManager" method="getIntBinding"
+ parameter="jboss.messaging:service=Connector,transport=bisocket"/>
+ </parameter>
+ </constructor>
+ </bean>
+ <!-- JBM2 netty connector -->
+ <bean class="org.jboss.services.binding.SystemPropertyBinding">
+ <constructor>
+ <parameter>jbm.remoting.netty.port</parameter>
+ <parameter class="int">
+ <value-factory bean="ServiceBindingManager" method="getIntBinding">
+ <parameter>JBM2</parameter>
+ <parameter>netty-port</parameter>
+ </value-factory>
+ </parameter>
+ </constructor>
+ </bean>
+ <!-- JBM2 netty ssl connector -->
+ <bean class="org.jboss.services.binding.SystemPropertyBinding">
+ <constructor>
+ <parameter>jbm.remoting.netty.ssl.port</parameter>
+ <parameter class="int">
+ <value-factory bean="ServiceBindingManager" method="getIntBinding">
+ <parameter>JBM2</parameter>
+ <parameter>netty-ssl-port</parameter>
+ </value-factory>
+ </parameter>
+ </constructor>
+ </bean>
+ </set>
+ </parameter>
+ </constructor>
+
+ </bean>
+
+ <!-- XSL Transform to apply to server.xml -->
+ <bean name="JBossWebConnectorXSLTConfig"
+ class="org.jboss.services.binding.impl.XSLTServiceBindingValueSourceConfig">
+
+ <constructor>
+ <parameter><![CDATA[
+ <xsl:stylesheet
+ xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>
+
+ <xsl:output method="xml" />
+ <xsl:param name="port"/>
+
+ <xsl:variable name="portAJP" select="$port - 71"/>
+ <xsl:variable name="portHttps" select="$port + 363"/>
+
+ <xsl:template match="/">
+ <xsl:apply-templates/>
+ </xsl:template>
+
+ <xsl:template match = "Connector">
+ <Connector>
+ <xsl:for-each select="@*">
+ <xsl:choose>
+ <xsl:when test="(name() = 'port' and . = '8080')">
+ <xsl:attribute name="port"><xsl:value-of select="$port" /></xsl:attribute>
+ </xsl:when>
+ <xsl:when test="(name() = 'port' and . = '8009')">
+ <xsl:attribute name="port"><xsl:value-of select="$portAJP" /></xsl:attribute>
+ </xsl:when>
+ <xsl:when test="(name() = 'redirectPort')">
+ <xsl:attribute name="redirectPort"><xsl:value-of select="$portHttps" /></xsl:attribute>
+ </xsl:when>
+ <xsl:when test="(name() = 'port' and . = '8443')">
+ <xsl:attribute name="port"><xsl:value-of select="$portHttps" /></xsl:attribute>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:attribute name="{name()}"><xsl:value-of select="." /></xsl:attribute>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ <xsl:apply-templates/>
+ </Connector>
+ </xsl:template>
+
+ <xsl:template match="*|@*">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+ </xsl:template>
+ </xsl:stylesheet>
+ ]]>
+ </parameter>
+ </constructor>
+ </bean>
+
+</deployment>
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bootstrap/profile.xml
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bootstrap/profile.xml 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/all/bootstrap/profile.xml 2009-05-23 18:55:19 UTC (rev 89313)
@@ -19,7 +19,7 @@
The uri to the deployers folder.
A list of uris to deploy folders. -->
<bean name="BootstrapProfileFactory" class="org.jboss.system.server.profileservice.StaticClusteredProfileFactory">
- <property name="bindingsURI">${jboss.server.home.url}conf/bindingservice.sar</property>
+ <property name="bindingsURI">${jboss.server.home.url}conf/bindingservice.beans</property>
<property name="bootstrapURI">${jboss.server.home.url}conf/jboss-service.xml</property>
<property name="deployersURI">${jboss.server.home.url}deployers</property>
<property name="applicationURIs">
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/default/bootstrap/profile.xml
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/default/bootstrap/profile.xml 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/default/bootstrap/profile.xml 2009-05-23 18:55:19 UTC (rev 89313)
@@ -19,7 +19,7 @@
The uri to the deployers folder.
A list of uris to deploy folders. -->
<bean name="BootstrapProfileFactory" class="org.jboss.system.server.profileservice.repository.StaticProfileFactory">
- <property name="bindingsURI">${jboss.server.home.url}conf/bindingservice.sar</property>
+ <property name="bindingsURI">${jboss.server.home.url}conf/bindingservice.beans</property>
<property name="bootstrapURI">${jboss.server.home.url}conf/jboss-service.xml</property>
<property name="deployersURI">${jboss.server.home.url}deployers</property>
<property name="applicationURIs">
Copied: branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/minimal/bindingservice.beans (from rev 89308, branches/Branch_5_x/server/src/etc/conf/minimal/bindingservice.beans)
Copied: branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/minimal/bindingservice.beans/META-INF (from rev 89308, branches/Branch_5_x/server/src/etc/conf/minimal/bindingservice.beans/META-INF)
Deleted: branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/minimal/bindingservice.beans/META-INF/bindings-jboss-beans.xml
===================================================================
--- branches/Branch_5_x/server/src/etc/conf/minimal/bindingservice.beans/META-INF/bindings-jboss-beans.xml 2009-05-23 17:58:00 UTC (rev 89308)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/minimal/bindingservice.beans/META-INF/bindings-jboss-beans.xml 2009-05-23 18:55:19 UTC (rev 89313)
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <!-- In the minimal config, bindings-jboss-beans.xml is just a placeholder
- we use to avoid having to exclude it from conf/profile.xml -->
-
-</deployment>
Copied: branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/minimal/bindingservice.beans/META-INF/bindings-jboss-beans.xml (from rev 89308, branches/Branch_5_x/server/src/etc/conf/minimal/bindingservice.beans/META-INF/bindings-jboss-beans.xml)
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/minimal/bindingservice.beans/META-INF/bindings-jboss-beans.xml (rev 0)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/server/src/etc/conf/minimal/bindingservice.beans/META-INF/bindings-jboss-beans.xml 2009-05-23 18:55:19 UTC (rev 89313)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- In the minimal config, bindings-jboss-beans.xml is just a placeholder
+ we use to avoid having to exclude it from conf/profile.xml -->
+
+</deployment>
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/system/src/main/org/jboss/system/server/profileservice/persistence/deployer/PersistenceModificationChecker.java
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/system/src/main/org/jboss/system/server/profileservice/persistence/deployer/PersistenceModificationChecker.java 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/system/src/main/org/jboss/system/server/profileservice/persistence/deployer/PersistenceModificationChecker.java 2009-05-23 18:55:19 UTC (rev 89313)
@@ -21,11 +21,16 @@
*/
package org.jboss.system.server.profileservice.persistence.deployer;
+import java.io.IOException;
import java.util.List;
+import org.jboss.deployers.spi.structure.ContextInfo;
+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.virtual.VirtualFile;
+import org.jboss.virtual.VirtualFileFilter;
/**
* @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
@@ -33,25 +38,61 @@
*/
public class PersistenceModificationChecker
{
+
/** The logger. */
private static final Logger log = Logger.getLogger(PersistenceModificationChecker.class);
- private static final String suffix = ".xml";
+ /** The filter. */
+ private static VirtualFileFilter filter = new XmlIncludeVirtualFileFilter();
- public static boolean hasBeenModified(VFSDeploymentUnit unit, long lastModified)
+ public static boolean hasBeenModified(VFSDeploymentUnit unit, long lastModified) throws Exception
{
- List<VirtualFile> files = unit.getMetaDataFiles(null, suffix);
- for(VirtualFile vf : files)
+ VirtualFile root = unit.getRoot();
+ if (root.isArchive() || root.isLeaf())
{
- try
+ if(root.getLastModified() > lastModified)
+ return true;
+ }
+
+ StructureMetaData structureMetaData = unit.getAttachment(StructureMetaData.class);
+ if(structureMetaData == null)
+ return false;
+
+ ContextInfo info = structureMetaData.getContext(unit.getSimpleName());
+ if(info == null && unit.isTopLevel())
+ info = structureMetaData.getContext("");
+
+ if(info == null)
+ return false;
+
+ return hasBeenModifed(root, info, lastModified);
+ }
+
+ protected static boolean hasBeenModifed(VirtualFile root, ContextInfo contextInfo, long lastModified) throws IOException
+ {
+ List<String> metadataPaths = contextInfo.getMetaDataPath();
+ if (metadataPaths != null && metadataPaths.isEmpty() == false)
+ {
+ for (String metaDataPath : metadataPaths)
{
- if(vf.getLastModified() > lastModified)
- return true;
+ VirtualFile mdpVF = root.getChild(metaDataPath);
+ if (mdpVF != null)
+ {
+ List<VirtualFile> children = mdpVF.getChildren(filter);
+ if (children != null && children.isEmpty() == false)
+ {
+ for (VirtualFile child : children)
+ {
+ if (child.getLastModified() > lastModified)
+ {
+ if (log.isTraceEnabled())
+ log.trace("Metadata location modified: " + child);
+ return true;
+ }
+ }
+ }
+ }
}
- catch(Exception e)
- {
- log.debug("failed to check modified ", e);
- }
}
return false;
}
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/system/src/main/org/jboss/system/server/profileservice/persistence/deployer/ProfileServicePersistenceDeployer.java
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/system/src/main/org/jboss/system/server/profileservice/persistence/deployer/ProfileServicePersistenceDeployer.java 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/system/src/main/org/jboss/system/server/profileservice/persistence/deployer/ProfileServicePersistenceDeployer.java 2009-05-23 18:55:19 UTC (rev 89313)
@@ -27,7 +27,6 @@
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
import org.jboss.logging.Logger;
-import org.jboss.metadata.spi.MetaData;
import org.jboss.system.server.profileservice.attachments.AttachmentMetaData;
import org.jboss.system.server.profileservice.attachments.AttachmentStore;
import org.jboss.system.server.profileservice.attachments.RepositoryAttachmentMetaData;
@@ -91,7 +90,7 @@
return;
try
{
- internalDeployment((VFSDeploymentUnit) unit);
+ applyPersistentChanges((VFSDeploymentUnit) unit);
}
catch(Throwable e)
{
@@ -99,7 +98,7 @@
}
}
- protected void internalDeployment(VFSDeploymentUnit unit) throws Throwable
+ protected void applyPersistentChanges(VFSDeploymentUnit unit) throws Throwable
{
VirtualFile vf = unit.getRoot();
RepositoryAttachmentMetaData metaData = store.loadMetaData(vf);
@@ -109,7 +108,7 @@
// Check if the deployment was modified
if(PersistenceModificationChecker.hasBeenModified(unit, metaData.getLastModified()))
{
- log.debug("Deployment was modified, not applying persisted information.");
+ log.debug("Deployment was modified, not applying persisted information : " + unit);
return;
}
//
@@ -126,7 +125,6 @@
log.warn("Null persisted information for deployment: " + vf);
}
// update ...
- MetaData md = unit.getMetaData();
getPersistenceFactory().restorePersistenceRoot(root, instance, unit.getClassLoader());
}
else
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/system/src/main/org/jboss/system/server/profileservice/repository/AbstractAttachmentStore.java
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/system/src/main/org/jboss/system/server/profileservice/repository/AbstractAttachmentStore.java 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/system/src/main/org/jboss/system/server/profileservice/repository/AbstractAttachmentStore.java 2009-05-23 18:55:19 UTC (rev 89313)
@@ -30,9 +30,12 @@
import java.util.ArrayList;
import java.util.Formatter;
import java.util.List;
+import java.util.Map;
import org.jboss.deployers.client.plugins.deployment.AbstractDeployment;
import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.spi.attachments.AttachmentsFactory;
+import org.jboss.deployers.spi.attachments.MutableAttachments;
import org.jboss.deployers.structure.spi.DeploymentContext;
import org.jboss.deployers.structure.spi.main.MainDeployerStructure;
import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
@@ -139,10 +142,22 @@
public Deployment createDeployment(ProfileDeployment deployment) throws Exception
{
+ Deployment mcDeployment = null;
if(deployment.getRoot() == null)
- return new AbstractDeployment();
+ mcDeployment = new AbstractDeployment(deployment.getName());
+ else
+ mcDeployment = deploymentFactory.createVFSDeployment(deployment.getRoot());
- return deploymentFactory.createVFSDeployment(deployment.getRoot());
+ // Add the deployment attachments as PredeterminedManagedObjects
+ Map<String, Object> attachments = deployment.getAttachments();
+ if(attachments != null && attachments.isEmpty() == false)
+ {
+ MutableAttachments predetermined = AttachmentsFactory.createMutableAttachments();
+ for(String name : attachments.keySet())
+ predetermined.addAttachment(name, attachments.get(name));
+ mcDeployment.setPredeterminedManagedObjects(predetermined);
+ }
+ return mcDeployment;
}
/**
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/build.xml
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/build.xml 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/build.xml 2009-05-23 18:55:19 UTC (rev 89313)
@@ -931,6 +931,9 @@
<!-- JBAS-6792 fix temporarily reverted -->
<!--exclude name="org/jboss/test/cluster/defaultcfg/test/HAServiceUnitTestCase.class"/>
<exclude name="org/jboss/test/cluster/defaultcfg/test/HASingletonUnitTestCase.class"/-->
+
+ <!-- JBAS-6094, see http://www.jboss.org/index.html?module=bb&op=viewtopic&t=155647 -->
+ <exclude name="org/jboss/test/cluster/defaultcfg/test/ClusterPartitionManagedObjectsTestCase.class"/>
</patternset>
<patternset id="aop-with-classloader.excludes">
@@ -997,9 +1000,7 @@
<antcall target="tomcat-federation-tests"/>
<antcall target="tests-binding-manager"/>
<antcall target="tests-jacc-security"/>
-<!--
<antcall target="tests-jacc-securitymgr"/>
--->
<antcall target="tests-jacc-security-allstarrole"/>
<!--
<antcall target="tests-security-jaspi-unit"/>
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/imports/server-config.xml
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/imports/server-config.xml 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/imports/server-config.xml 2009-05-23 18:55:19 UTC (rev 89313)
@@ -187,7 +187,7 @@
<server name="tomcat-ssl" host="${node0}">
<jvmarg value="${jpda.cmdline}" />
<jvmarg value="-Xms128m" />
- <jvmarg value="-Xms512m" />
+ <jvmarg value="-Xmx512m" />
<jvmarg value="-XX:MaxPermSize=512m" />
<sysproperty key="java.net.preferIPv4Stack" value="true" />
<sysproperty key="java.endorsed.dirs" value="${jboss.dist}/lib/endorsed" />
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/main/org/jboss/test/jacc/test/EJBSpecUnitTestCase.java
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/main/org/jboss/test/jacc/test/EJBSpecUnitTestCase.java 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/main/org/jboss/test/jacc/test/EJBSpecUnitTestCase.java 2009-05-23 18:55:19 UTC (rev 89313)
@@ -64,7 +64,7 @@
//suite.addTest(new EJBSpecUnitTestCase("testDomainInteraction"));
// All are baseclass tests
- suite.addTest(new EJBSpecUnitTestCase("testSecurityDomain"));
+ //JBAS-6944 suite.addTest(new EJBSpecUnitTestCase("testSecurityDomain"));
suite.addTest(new EJBSpecUnitTestCase("testStatefulCreateCaller"));
suite.addTest(new EJBSpecUnitTestCase("testGetCallerPrincipal"));
suite.addTest(new EJBSpecUnitTestCase("testPrincipalPropagation"));
Copied: branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/ServiceBindingManagedObjectsTestCase.java (from rev 89308, branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/ServiceBindingManagedObjectsTestCase.java)
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/ServiceBindingManagedObjectsTestCase.java (rev 0)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/main/org/jboss/test/profileservice/override/restart/test/ServiceBindingManagedObjectsTestCase.java 2009-05-23 18:55:19 UTC (rev 89313)
@@ -0,0 +1,631 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.profileservice.override.restart.test;
+
+import java.net.InetAddress;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jboss.deployers.spi.management.ManagementView;
+import org.jboss.managed.api.ComponentType;
+import org.jboss.managed.api.ManagedCommon;
+import org.jboss.managed.api.ManagedComponent;
+import org.jboss.managed.api.ManagedProperty;
+import org.jboss.metatype.api.types.CompositeMetaType;
+import org.jboss.metatype.api.types.ImmutableCompositeMetaType;
+import org.jboss.metatype.api.types.MetaType;
+import org.jboss.metatype.api.types.SimpleMetaType;
+import org.jboss.metatype.api.values.ArrayValue;
+import org.jboss.metatype.api.values.CollectionValue;
+import org.jboss.metatype.api.values.CompositeValue;
+import org.jboss.metatype.api.values.MapCompositeValueSupport;
+import org.jboss.metatype.api.values.MetaValue;
+import org.jboss.metatype.api.values.SimpleValue;
+import org.jboss.services.binding.ServiceBindingMetadata;
+import org.jboss.services.binding.impl.ServiceBindingSet;
+import org.jboss.services.binding.managed.ServiceBindingMetadataMapper;
+import org.jboss.test.profileservice.test.AbstractProfileServiceTest;
+
+/**
+ * <p>
+ * Profile service ServiceBindingManager persistent update tests.
+ * </p>
+ *
+ * @see org.jboss.test.profileservice.override.test.ServiceBindingManagedObjectsTestCase
+ * for the tests that add and update the service binding metadata.
+ *
+ * @author Brian Stansberry
+ * @author Scott.Stark at jboss.org
+ * @version $Revision: 88921 $
+ */
+public class ServiceBindingManagedObjectsTestCase extends AbstractProfileServiceTest
+{
+ public static final CompositeMetaType SERVICE_BINDING_METADATA_TYPE;
+ public static final CompositeMetaType SERVICE_BINDING_SET_TYPE;
+
+ static
+ {
+ String[] itemNames = {
+ "bindingSetName",
+ "serviceName",
+ "bindingName",
+ "fullyQualifiedName",
+ "description",
+ "hostName",
+ "port",
+ "fixedHostName",
+ "fixedPort"//,
+// "serviceBindingValueSourceClassName",
+// "serviceBindingValueSourceConfig"
+ };
+ String[] itemDescriptions = {
+ "binding set to which this binding applies, or null for all sets",
+ "the name of the service to which this binding applies",
+ "a qualifier identifying which particular binding within the service this is",
+ "the fully qualified binding name",
+ "description of the binding",
+ "the host name or string notation IP address to use for the binding",
+ "the port to use for the binding",
+ "whether the host name should remain fixed in all binding sets",
+ "whether the port should remain fixed in all binding sets"//,
+// "fully qualified classname of specialized object used to process binding results",
+// ""
+ };
+ MetaType[] itemTypes = {
+ SimpleMetaType.STRING,
+ SimpleMetaType.STRING,
+ SimpleMetaType.STRING,
+ SimpleMetaType.STRING,
+ SimpleMetaType.STRING,
+ SimpleMetaType.STRING,
+ SimpleMetaType.INTEGER_PRIMITIVE,
+ SimpleMetaType.BOOLEAN_PRIMITIVE,
+ SimpleMetaType.BOOLEAN_PRIMITIVE//,
+// SimpleMetaType.STRING,
+// new GenericMetaType(ManagedObject)
+ };
+ SERVICE_BINDING_METADATA_TYPE = new ImmutableCompositeMetaType(ServiceBindingMetadata.class.getName(),
+ "Service Binding Metadata",
+ itemNames, itemDescriptions, itemTypes);
+
+
+ String[] itemNames2 = {
+ "name",
+ "defaultHostName",
+ "portOffset",
+ "overrideBindings"
+ };
+ String[] itemDescriptions2 = {
+ "the name of the binding set",
+ "the host name that should be used for all bindings whose configuration " +
+ "does not specify fixedHostName=\"true\"",
+ "value to add to the port configuration for a standard binding to " +
+ "derive the port to use in this binding set",
+ "binding configurations that apply only to this binding set, either " +
+ "non-standard bindings or ones that override standard binding configurations",
+ };
+ MetaType[] itemTypes2 = {
+ SimpleMetaType.STRING,
+ SimpleMetaType.STRING,
+ SimpleMetaType.INTEGER_PRIMITIVE,
+ ServiceBindingMetadataMapper.TYPE
+ };
+ SERVICE_BINDING_SET_TYPE = new ImmutableCompositeMetaType(ServiceBindingSet.class.getName(),
+ "Service Binding Set", itemNames2, itemDescriptions2, itemTypes2);
+ }
+
+ /**
+ * <p>
+ * Creates an instance of {@code SecurityManagedObjectsTestCase} with the specified name.
+ * </p>
+ *
+ * @param name a {@code String} representing the name of this {@code TestCase}.
+ */
+ public ServiceBindingManagedObjectsTestCase(String name)
+ {
+ super(name);
+ }
+
+
+ private ManagedComponent getServiceBindingManagerManagedComponent() throws Exception
+ {
+ ManagementView managementView = getManagementView();
+ ComponentType type = new ComponentType("MCBean", "ServiceBindingManager");
+ ManagedComponent component = managementView.getComponent("ServiceBindingManager", type);
+ assertNotNull(component);
+ return component;
+ }
+
+ private void serviceBindingTest(MetaValue element)
+ {
+ getLog().info(element);
+
+ assertTrue(element instanceof CompositeValue);
+
+ CompositeValue compValue = (CompositeValue) element;
+
+ MetaValue metaval = compValue.get("serviceName");
+ assertNotNull("has serviceName", metaval);
+ assertTrue(metaval instanceof SimpleValue);
+ assertTrue(((SimpleValue) metaval).getValue() instanceof String);
+
+ metaval = compValue.get("bindingName");
+ if (metaval != null)
+ {
+ assertTrue(metaval instanceof SimpleValue);
+ Object val = ((SimpleValue) metaval).getValue();
+ assertTrue(val instanceof String);
+ }
+
+ metaval = compValue.get("fullyQualifiedName");
+ assertNotNull("has fullyQualifiedName", metaval);
+ assertTrue(metaval instanceof SimpleValue);
+ assertTrue(((SimpleValue) metaval).getValue() instanceof String);
+
+ metaval = compValue.get("description");
+ if (metaval != null)
+ {
+ assertTrue(metaval instanceof SimpleValue);
+ Object val = ((SimpleValue) metaval).getValue();
+ assertTrue(val instanceof String);
+ }
+
+ metaval = compValue.get("hostName");
+ assertNotNull("has hostName", metaval);
+ assertTrue(metaval instanceof SimpleValue);
+ assertTrue(((SimpleValue) metaval).getValue() instanceof String);
+
+ metaval = compValue.get("bindAddress");
+ assertNotNull("has bindAddress", metaval);
+ assertTrue(metaval instanceof ArrayValue);
+ Object val = ((ArrayValue) metaval).getValue();
+ assertTrue(val instanceof byte[]);
+
+ metaval = compValue.get("port");
+ assertNotNull("has port", metaval);
+ assertTrue(metaval instanceof SimpleValue);
+ assertEquals("type of port value isn't int", int.class.getName(), metaval.getMetaType().getClassName());
+ }
+
+ private void serviceBindingSetTest(MetaValue metaValue, Map<String, Integer> offsets) throws Exception
+ {
+ assertTrue(metaValue instanceof CompositeValue);
+ CompositeValue bindingSet = (CompositeValue) metaValue;
+
+ MetaValue val = bindingSet.get("name");
+ assertNotNull("property name has no value", val);
+ assertTrue("property name value is SimpleValue", val instanceof SimpleValue);
+ Object simpleVal = ((SimpleValue) val).getValue();
+ assertTrue(simpleVal instanceof String);
+ String name = (String) simpleVal;
+
+ val = bindingSet.get("defaultHostName");
+ assertNotNull("property defaultHostName has no value", val);
+ assertEquals("type of defaultHostName value isn't String", String.class.getName(), val.getMetaType().getClassName());
+ assertTrue("property defaultHostName value is SimpleValue", val instanceof SimpleValue);
+ assertEquals(InetAddress.getByName(getServerHost()), InetAddress.getByName((String) ((SimpleValue) val).getValue()));
+
+ val = bindingSet.get("portOffset");
+ assertNotNull("property portOffset has no value", val);
+ assertTrue("property portOffset value is SimpleValue", val instanceof SimpleValue);
+ simpleVal = ((SimpleValue) val).getValue();
+ assertTrue(simpleVal instanceof Integer);
+ assertTrue(((Integer) simpleVal).intValue() > -1);
+ offsets.put(name, (Integer) simpleVal);
+
+ val = bindingSet.get("overrideBindings");
+ assertNotNull("property overrideBindings has no value", val);
+ assertTrue("property overrideBindings value is CollectionValue", val instanceof CollectionValue);
+ MetaValue[] elements = ((CollectionValue) val).getElements();
+ getLog().info(elements);
+ for (MetaValue element : elements)
+ {
+ serviceBindingMetadataTest(element);
+ }
+
+ }
+
+ private Checked serviceBindingMetadataTest(MetaValue metaValue)
+ {
+ assertTrue(metaValue instanceof CompositeValue);
+ CompositeValue bindingMetadata = (CompositeValue) metaValue;
+
+ Checked result = new Checked();
+
+ MetaValue val = bindingMetadata.get("fullyQualifiedName");
+ assertNotNull("property fullyQualifiedName has no value", val);
+ assertTrue("property fullyQualifiedName value is SimpleValue", val instanceof SimpleValue);
+ assertNotNull("property fullyQualifiedName value is not null", ((SimpleValue) val).getValue());
+
+ val = bindingMetadata.get("serviceName");
+ assertNotNull("property serviceName has no value", val);
+ assertTrue("property serviceName value is SimpleValue", val instanceof SimpleValue);
+ assertNotNull("property serviceName value is not null", ((SimpleValue) val).getValue());
+
+ val = bindingMetadata.get("bindingName");
+ if (val != null)
+ {
+ result.bindingName = true;
+ assertNotNull("property bindingName has no value", val);
+ assertTrue("property bindingName value is SimpleValue", val instanceof SimpleValue);
+ assertEquals("type of bindingName value isn't String", String.class.getName(), val.getMetaType().getClassName());
+ }
+
+ val = bindingMetadata.get("bindingSetName");
+ if (val != null)
+ {
+ assertNotNull("property bindingSetName has no value", val);
+ assertTrue("property bindingSetName value is SimpleValue", val instanceof SimpleValue);
+ assertEquals("type of bindingSetName value isn't String", String.class.getName(), val.getMetaType().getClassName());
+ }
+
+ val = bindingMetadata.get("hostName");
+ if (val != null)
+ {
+ result.hostname = true;
+ assertTrue("property hostName value is SimpleValue", val instanceof SimpleValue);
+ assertEquals("type of hostName value isn't String", String.class.getName(), val.getMetaType().getClassName());
+ }
+
+ val = bindingMetadata.get("port");
+ assertNotNull("property port has no value", val);
+ assertTrue("property port value is SimpleValue", val instanceof SimpleValue);
+ assertNotNull("property port value is not null", ((SimpleValue) val).getValue());
+ assertEquals("type of port value isn't int", int.class.getName(), val.getMetaType().getClassName());
+ assertNotNull("property port value is not null", ((SimpleValue) val).getValue());
+
+ val = bindingMetadata.get("description");
+ if (val != null)
+ {
+ result.hostname = true;
+ assertNotNull("property hostName has no value", val);
+ assertTrue("property description value is SimpleValue", val instanceof SimpleValue);
+ assertEquals("type of description value isn't String", String.class.getName(), val.getMetaType().getClassName());
+ }
+
+ val = bindingMetadata.get("fixedPort");
+ assertNotNull("property bindingName has no value", val);
+ assertTrue("property bindingName value is SimpleValue", val instanceof SimpleValue);
+ assertNotNull("property bindingName value is not null", ((SimpleValue) val).getValue());
+ assertEquals("type of bindingName value isn't boolean", boolean.class.getName(), val.getMetaType().getClassName());
+ assertNotNull("property bindingName value is not null", ((SimpleValue) val).getValue());
+
+ val = bindingMetadata.get("fixedHostName");
+ assertNotNull("property bindingName has no value", val);
+ assertTrue("property bindingName value is SimpleValue", val instanceof SimpleValue);
+ assertNotNull("property bindingName value is not null", ((SimpleValue) val).getValue());
+ assertEquals("type of bindingName value isn't boolean", boolean.class.getName(), val.getMetaType().getClassName());
+ assertNotNull("property bindingName value is not null", ((SimpleValue) val).getValue());
+
+ return result;
+ }
+
+ public void testUpdatedStandardBindings() throws Exception
+ {
+ ManagedComponent component = getServiceBindingManagerManagedComponent();
+
+ logHierarchy(component);
+
+ Map<String, ManagedProperty> properties = component.getProperties();
+ assertNotNull(properties);
+
+ ManagedProperty prop = properties.get("standardBindings");
+
+ // Before passing the updated component back, store some info about
+ // the binding sets so we can use it later
+ prop = properties.get("bindingSets");
+ assertNotNull("Missing property bindingSets", prop);
+ MetaValue val = prop.getValue();
+ assertNotNull("property bindingSets has no value", val);
+ assertTrue("property bindingSets value is CollectionValue", val instanceof CollectionValue);
+ MetaValue[] elements = ((CollectionValue) val).getElements();
+ assertNotNull(elements);
+
+ // C) Validate update from B)
+
+ component = getServiceBindingManagerManagedComponent();
+ properties = component.getProperties();
+
+ Map<String, Integer> offsets = new HashMap<String, Integer>();
+ Map<String, String> hosts = new HashMap<String, String>();
+ for (MetaValue mv : elements)
+ {
+ String name = getSimpleValue(mv, "name", String.class);
+ offsets.put(name, getSimpleValue(mv, "portOffset", Integer.class));
+ hosts.put(name, getSimpleValue(mv, "defaultHostName", String.class));
+ }
+ IndexedArray indexedArray = checkAddedBinding(properties, 25, 23456, offsets, hosts);
+
+ }
+
+ private IndexedArray checkAddedBinding(Map<String, ManagedProperty> properties, int bindingCount, int basePort, Map<String, Integer> offsets, Map<String, String> hosts)
+ {
+ // Return the array of standard bindings + the pos of the added binding
+ IndexedArray result = new IndexedArray();
+
+ // Scan for the standard binding
+
+ ManagedProperty prop = properties.get("standardBindings");
+ assertNotNull("Missing property standardBindings", prop);
+ MetaValue val = prop.getValue();
+ assertNotNull("property standardBindings has no value", val);
+ assertTrue("property standardBindings value is CollectionValue", val instanceof CollectionValue);
+ MetaValue[] refreshedElements = ((CollectionValue) val).getElements();
+ assertEquals(bindingCount, refreshedElements.length);
+ result.array = refreshedElements; // pass back to caller
+ boolean sawAdded = false;
+ for (int i = 0; i < refreshedElements.length; i++)
+ {
+ MetaValue mv = refreshedElements[i];
+ if ("AddedStandardBinding".equals(getSimpleValue(mv, "serviceName")))
+ {
+ sawAdded = true;
+ assertEquals("correct bindingName in standard binding", "bindingName", getSimpleValue(mv, "bindingName"));
+ assertEquals("correct description in standard binding", "description", getSimpleValue(mv, "description"));
+ assertNull("correct hostName in standardBinding", getSimpleValue(mv, "hostName"));
+ assertEquals("correct port in standard binding", basePort, getSimpleValue(mv, "port", Integer.class).intValue());
+ assertFalse("correct fixedPort in standard binding", getSimpleValue(mv, "fixedPort", Boolean.class).booleanValue());
+ assertFalse("correct fixedHostName in standard binding", getSimpleValue(mv, "fixedHostName", Boolean.class).booleanValue());
+
+ result.index = i; // tell caller which pos has the added binding
+ break;
+ }
+ }
+ assertTrue("saw standard binding", sawAdded);
+
+ // Check that our standard binding metadata generated the expected actual bindings
+
+ prop = properties.get("serviceBindings");
+ assertNotNull("Missing property serviceBindings", prop);
+ log.info("serviceBindings: " + prop);
+ val = prop.getValue();
+ assertNotNull("property serviceBindings has no value", val);
+ assertTrue("property serviceBindings value is CompositeValue", val instanceof CompositeValue);
+ CompositeValue compVal = (CompositeValue) val;
+ assertEquals("correct number of standard bindings", offsets.size(), compVal.values().size());
+ for (String bindingSetName : offsets.keySet())
+ {
+ MetaValue mv = compVal.get(bindingSetName);
+ assertTrue(mv instanceof CollectionValue);
+ CollectionValue colVal = (CollectionValue) mv;
+ sawAdded = false;
+ for (MetaValue element : colVal.getElements())
+ {
+ if ("AddedStandardBinding".equals(getSimpleValue(element, "serviceName")))
+ {
+ sawAdded = true;
+ assertEquals("correct bindingName in set " + bindingSetName,
+ "bindingName", getSimpleValue(element, "bindingName"));
+ assertEquals("correct description in set " + bindingSetName,
+ "description", getSimpleValue(element, "description"));
+ assertEquals("correct hostName in set " + bindingSetName,
+ hosts.get(bindingSetName), getSimpleValue(element, "hostName"));
+ assertEquals("correct port in set " + bindingSetName,
+ basePort + offsets.get(bindingSetName).intValue(),
+ getSimpleValue(element, "port", Integer.class).intValue());
+ break;
+ }
+ }
+ assertTrue("saw AddedStandardBinding in set " + bindingSetName, sawAdded);
+ }
+
+ return result;
+ }
+
+ public void testUpdatedServiceBindingSets() throws Exception
+ {
+ ManagedComponent component = getServiceBindingManagerManagedComponent();
+
+ logHierarchy(component);
+
+ Map<String, ManagedProperty> properties = component.getProperties();
+ assertNotNull(properties);
+
+
+ // Before updating get a ref to the standard bindings so we can use it
+ // in later validation
+ Map<String, MetaValue> standardBindings = new HashMap<String, MetaValue>();
+ ManagedProperty prop = properties.get("standardBindings");
+ assertNotNull("Missing property standardBindings", prop);
+ MetaValue val = prop.getValue();
+ assertNotNull("property standardBindings has no value", val);
+ assertTrue("property standardBindings value is CollectionValue", val instanceof CollectionValue);
+ MetaValue[] elements = ((CollectionValue) val).getElements();
+ assertNotNull("property standardBindings value has elements", elements);
+ for (MetaValue mv : elements)
+ {
+ standardBindings.put(getSimpleValue(mv, "fullyQualifiedName", String.class), mv);
+ }
+
+ // B) Validate the addition from A) took effect and then UPDATE the added binding set
+ IndexedArray indexedArray = checkAddedBindingSet(properties, 5, 400, 43210, standardBindings);
+ }
+
+ private IndexedArray checkAddedBindingSet(Map<String, ManagedProperty> properties, int numSets, int portOffset, int overrideBindingPort,
+ Map<String, MetaValue> standardBindings)
+ {
+ IndexedArray result = new IndexedArray();
+
+ // First confirm the expected binding set is there
+
+ ManagedProperty prop = properties.get("bindingSets");
+ assertNotNull("Missing property bindingSets", prop);
+ MetaValue val = prop.getValue();
+ assertNotNull("property bindingSets has no value", val);
+ assertTrue("property bindingSets value is CollectionValue", val instanceof CollectionValue);
+ MetaValue[] elements = ((CollectionValue) val).getElements();
+ assertNotNull(elements);
+ assertEquals(numSets, elements.length);
+ result.array = elements;
+ boolean sawAdded = false;
+ for (int i = 0; i < elements.length; i++)
+ {
+ MetaValue mv = elements[i];
+ if ("ports-test".equals(getSimpleValue(mv, "name")))
+ {
+ sawAdded = true;
+ assertEquals("added binding set has correct defaultHostName",
+ "localhost", getSimpleValue(mv, "defaultHostName"));
+ assertEquals("added binding set has correct portOffset",
+ portOffset, getSimpleValue(mv, "portOffset", Integer.class).intValue());
+ MetaValue overVal = ((CompositeValue) mv).get("overrideBindings");
+ assertTrue(overVal instanceof CollectionValue);
+ MetaValue[] overrides = ((CollectionValue) overVal).getElements();
+ assertNotNull("added binding set has overrides", overrides);
+ assertEquals("added binding set has correct # of overrides", 1, overrides.length);
+ mv = overrides[0];
+ assertEquals("added binding set has AddedOverrideBinding",
+ "AddedOverrideBinding", getSimpleValue(mv, "serviceName"));
+ assertNull("AddedOverrideBinding has null bindingName",
+ getSimpleValue(mv, "bindingName"));
+ assertEquals("AddedOverrideBinding has correct description",
+ "description", getSimpleValue(mv, "description"));
+ assertNull("AddedOverrideBinding has null hostName",
+ getSimpleValue(mv, "hostName"));
+ assertEquals("AddedOverrideBinding has correct port",
+ overrideBindingPort, getSimpleValue(mv, "port", Integer.class).intValue());
+ assertFalse("AddedOverrideBinding has correct fixedHostName",
+ getSimpleValue(mv, "fixedHostName", Boolean.class).booleanValue());
+ assertFalse("AddedOverrideBinding has correct fixedPort",
+ getSimpleValue(mv, "fixedPort", Boolean.class).booleanValue());
+ result.index = i;
+ break;
+ }
+ }
+ assertTrue(sawAdded);
+
+ // Next validate the expected actual bindings are there
+ prop = properties.get("serviceBindings");
+ assertNotNull("Missing property serviceBindings", prop);
+ val = prop.getValue();
+ assertNotNull("property serviceBindings has no value", val);
+ assertTrue("property serviceBindings value is Composite", val instanceof CompositeValue);
+ val = ((CompositeValue) val).get("ports-test");
+ assertNotNull(val);
+ assertTrue("property serviceBindings value is CollectionValue", val instanceof CollectionValue);
+ elements = ((CollectionValue) val).getElements();
+ assertNotNull("property serviceBindings value has elements", elements);
+ assertEquals("property serviceBindings value has correct # of elements",
+ standardBindings.size() + 1, elements.length);
+ for (MetaValue mv : elements)
+ {
+ String fqn = getSimpleValue(mv, "fullyQualifiedName", String.class);
+ if ("AddedOverrideBinding".equals(fqn))
+ {
+ assertEquals("actual AddedOverrideBinding has correct serviceName",
+ "AddedOverrideBinding", getSimpleValue(mv, "serviceName"));
+ assertNull("actual AddedOverrideBinding has null bindingName",
+ getSimpleValue(mv, "bindingName"));
+ assertEquals("actual AddedOverrideBinding has correct description",
+ "description", getSimpleValue(mv, "description"));
+ assertEquals("actual AddedOverrideBinding has correct port",
+ overrideBindingPort + portOffset, getSimpleValue(mv, "port", Integer.class).intValue());
+ assertEquals("actual AddedOverrideBinding has correct hostName",
+ "localhost", getSimpleValue(mv, "hostName"));
+ }
+ else
+ {
+ MetaValue standard = standardBindings.get(fqn);
+ assertNotNull(standard);
+ assertEquals("standardBinding " + fqn + " has correct serviceName",
+ getSimpleValue(standard, "serviceName"), getSimpleValue(mv, "serviceName"));
+ assertEquals("standardBinding " + fqn + " has correct bindingName",
+ getSimpleValue(standard, "bindingName"), getSimpleValue(mv, "bindingName"));
+ assertEquals("standardBinding " + fqn + " has correct description",
+ getSimpleValue(standard, "description"), getSimpleValue(mv, "description"));
+ int offset = getSimpleValue(standard, "fixedPort", Boolean.class).booleanValue() ? 0 : portOffset;
+ assertEquals("standardBinding " + fqn + " has correct port",
+ getSimpleValue(standard, "port", Integer.class).intValue() + offset,
+ getSimpleValue(mv, "port", Integer.class).intValue());
+ String host = getSimpleValue(standard, "fixedHostName", Boolean.class).booleanValue()
+ ? getSimpleValue(standard, "hostName", String.class)
+ : "localhost";
+ assertEquals("standardBinding " + fqn + " has correct hostName",
+ host, getSimpleValue(mv, "hostName"));
+ }
+ }
+
+ return result;
+ }
+
+ private void logHierarchy(ManagedComponent mc)
+ {
+ ManagedCommon child = mc;
+ ManagedCommon mcom = mc.getParent();
+ while (mcom != null)
+ {
+ log.debug("parent of " + child.getName() + " is " + mcom.getName());
+ child = mcom;
+ mcom = mcom.getParent();
+ }
+ }
+
+ private Object getSimpleValue(MetaValue val, String key)
+ {
+ return getSimpleValue(val, key, Object.class);
+ }
+
+ private <T> T getSimpleValue(MetaValue val, String key, Class<T> type)
+ {
+ T result = null;
+ assertTrue(val instanceof CompositeValue);
+ CompositeValue cval = (CompositeValue) val;
+ MetaValue mv = cval.get(key);
+ if (mv != null)
+ {
+ assertTrue(mv instanceof SimpleValue);
+ Object obj = ((SimpleValue) mv).getValue();
+ result = type.cast(obj);
+ }
+ return result;
+ }
+
+ private static MapCompositeValueSupport cloneCompositeValue(CompositeValue toClone)
+ {
+ if (toClone instanceof MapCompositeValueSupport)
+ {
+ return (MapCompositeValueSupport) toClone.clone();
+ }
+ else
+ {
+ CompositeMetaType type = toClone.getMetaType();
+ Map<String, MetaValue> map = new HashMap<String, MetaValue>();
+ for (String key : type.keySet())
+ {
+ map.put(key, toClone.get(key));
+ }
+ return new MapCompositeValueSupport(map, type);
+ }
+ }
+
+ private class Checked
+ {
+ private boolean hostname;
+ private boolean bindingName;
+ }
+
+ private class IndexedArray
+ {
+ int index;
+ MetaValue[] array;
+ }
+}
Copied: branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/main/org/jboss/test/profileservice/override/test/ServiceBindingManagedObjectsTestCase.java (from rev 89308, branches/Branch_5_x/testsuite/src/main/org/jboss/test/profileservice/override/test/ServiceBindingManagedObjectsTestCase.java)
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/main/org/jboss/test/profileservice/override/test/ServiceBindingManagedObjectsTestCase.java (rev 0)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/main/org/jboss/test/profileservice/override/test/ServiceBindingManagedObjectsTestCase.java 2009-05-23 18:55:19 UTC (rev 89313)
@@ -0,0 +1,607 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.profileservice.override.test;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.deployers.spi.management.ManagementView;
+import org.jboss.managed.api.ComponentType;
+import org.jboss.managed.api.ManagedCommon;
+import org.jboss.managed.api.ManagedComponent;
+import org.jboss.managed.api.ManagedProperty;
+import org.jboss.metatype.api.types.CollectionMetaType;
+import org.jboss.metatype.api.types.CompositeMetaType;
+import org.jboss.metatype.api.types.ImmutableCompositeMetaType;
+import org.jboss.metatype.api.types.MetaType;
+import org.jboss.metatype.api.types.SimpleMetaType;
+import org.jboss.metatype.api.values.CollectionValue;
+import org.jboss.metatype.api.values.CollectionValueSupport;
+import org.jboss.metatype.api.values.CompositeValue;
+import org.jboss.metatype.api.values.MapCompositeValueSupport;
+import org.jboss.metatype.api.values.MetaValue;
+import org.jboss.metatype.api.values.SimpleValue;
+import org.jboss.metatype.api.values.SimpleValueSupport;
+import org.jboss.services.binding.ServiceBindingMetadata;
+import org.jboss.services.binding.impl.ServiceBindingSet;
+import org.jboss.services.binding.managed.ServiceBindingMetadataMapper;
+
+/**
+ * <p>
+ * Profile service ServiceBindingManager update tests.
+ * </p>
+ * @see org.jboss.test.profileservice.override.restart.test.ServiceBindingManagedObjectsTestCase
+ * for the tests of the persisted updates.
+ *
+ * @author Brian Stansberry
+ * @author Scott.Stark at jboss.org
+ * @version $Revision: 88921 $
+ */
+public class ServiceBindingManagedObjectsTestCase extends AbstractProfileServiceTest
+{
+ public static final CompositeMetaType SERVICE_BINDING_METADATA_TYPE;
+ public static final CompositeMetaType SERVICE_BINDING_SET_TYPE;
+
+ static
+ {
+ String[] itemNames = {
+ "bindingSetName",
+ "serviceName",
+ "bindingName",
+ "fullyQualifiedName",
+ "description",
+ "hostName",
+ "port",
+ "fixedHostName",
+ "fixedPort"//,
+// "serviceBindingValueSourceClassName",
+// "serviceBindingValueSourceConfig"
+ };
+ String[] itemDescriptions = {
+ "binding set to which this binding applies, or null for all sets",
+ "the name of the service to which this binding applies",
+ "a qualifier identifying which particular binding within the service this is",
+ "the fully qualified binding name",
+ "description of the binding",
+ "the host name or string notation IP address to use for the binding",
+ "the port to use for the binding",
+ "whether the host name should remain fixed in all binding sets",
+ "whether the port should remain fixed in all binding sets"//,
+// "fully qualified classname of specialized object used to process binding results",
+// ""
+ };
+ MetaType[] itemTypes = {
+ SimpleMetaType.STRING,
+ SimpleMetaType.STRING,
+ SimpleMetaType.STRING,
+ SimpleMetaType.STRING,
+ SimpleMetaType.STRING,
+ SimpleMetaType.STRING,
+ SimpleMetaType.INTEGER_PRIMITIVE,
+ SimpleMetaType.BOOLEAN_PRIMITIVE,
+ SimpleMetaType.BOOLEAN_PRIMITIVE//,
+// SimpleMetaType.STRING,
+// new GenericMetaType(ManagedObject)
+ };
+ SERVICE_BINDING_METADATA_TYPE = new ImmutableCompositeMetaType(ServiceBindingMetadata.class.getName(),
+ "Service Binding Metadata",
+ itemNames, itemDescriptions, itemTypes);
+
+
+ String[] itemNames2 = {
+ "name",
+ "defaultHostName",
+ "portOffset",
+ "overrideBindings"
+ };
+ String[] itemDescriptions2 = {
+ "the name of the binding set",
+ "the host name that should be used for all bindings whose configuration " +
+ "does not specify fixedHostName=\"true\"",
+ "value to add to the port configuration for a standard binding to " +
+ "derive the port to use in this binding set",
+ "binding configurations that apply only to this binding set, either " +
+ "non-standard bindings or ones that override standard binding configurations",
+ };
+ MetaType[] itemTypes2 = {
+ SimpleMetaType.STRING,
+ SimpleMetaType.STRING,
+ SimpleMetaType.INTEGER_PRIMITIVE,
+ ServiceBindingMetadataMapper.TYPE
+ };
+ SERVICE_BINDING_SET_TYPE = new ImmutableCompositeMetaType(ServiceBindingSet.class.getName(),
+ "Service Binding Set", itemNames2, itemDescriptions2, itemTypes2);
+ }
+
+ /**
+ * <p>
+ * Creates an instance of {@code SecurityManagedObjectsTestCase} with the specified name.
+ * </p>
+ *
+ * @param name a {@code String} representing the name of this {@code TestCase}.
+ */
+ public ServiceBindingManagedObjectsTestCase(String name)
+ {
+ super(name);
+ }
+
+ private ManagedComponent getServiceBindingManagerManagedComponent() throws Exception
+ {
+ ManagementView managementView = getManagementView();
+ ComponentType type = new ComponentType("MCBean", "ServiceBindingManager");
+ ManagedComponent component = managementView.getComponent("ServiceBindingManager", type);
+ assertNotNull(component);
+ return component;
+ }
+
+ public void testUpdateServiceBindingSets() throws Exception
+ {
+ ManagedComponent component = getServiceBindingManagerManagedComponent();
+
+ logHierarchy(component);
+
+ Map<String, ManagedProperty> properties = component.getProperties();
+ assertNotNull(properties);
+
+ // A) ADD a new binding set
+
+ ManagedProperty prop = properties.get("bindingSets");
+ assertNotNull("Missing property bindingSets", prop);
+ MetaValue val = prop.getValue();
+ assertNotNull("property bindingSets has no value", val);
+ assertTrue("property bindingSets value is CollectionValue", val instanceof CollectionValue);
+ MetaValue[] origElements = ((CollectionValue) val).getElements();
+ assertNotNull(origElements);
+ MetaValue[] newElements = new MetaValue[origElements.length + 1];
+ System.arraycopy(origElements, 0, newElements, 0, origElements.length);
+
+
+ Map<String, MetaValue> map = new HashMap<String, MetaValue>();
+ map.put("name", SimpleValueSupport.wrap("ports-test"));
+ map.put("defaultHostName", SimpleValueSupport.wrap("localhost"));
+ map.put("portOffset", SimpleValueSupport.wrap(500));
+
+ Map<String, MetaValue> metadata = new HashMap<String, MetaValue>();
+ metadata.put("serviceName", SimpleValueSupport.wrap("AddedOverrideBinding"));
+ metadata.put("description", SimpleValueSupport.wrap("description"));
+ metadata.put("port", SimpleValueSupport.wrap(54321));
+ MapCompositeValueSupport newMetadata = new MapCompositeValueSupport(metadata, SERVICE_BINDING_METADATA_TYPE);
+ CollectionValue overrides = new CollectionValueSupport(new CollectionMetaType(Set.class.getName(), SERVICE_BINDING_METADATA_TYPE), new MetaValue[]{newMetadata});
+
+ map.put("overrideBindings", overrides);
+ MapCompositeValueSupport newElement = new MapCompositeValueSupport(map, SERVICE_BINDING_SET_TYPE);
+ newElements[newElements.length - 1] = newElement;
+ CollectionValue newVal = new CollectionValueSupport(new CollectionMetaType(Set.class.getName(), SERVICE_BINDING_SET_TYPE), newElements);
+ prop.setValue(newVal);
+
+ // Before updating get a ref to the standard bindings so we can use it
+ // in later validation
+ Map<String, MetaValue> standardBindings = new HashMap<String, MetaValue>();
+ prop = properties.get("standardBindings");
+ assertNotNull("Missing property standardBindings", prop);
+ val = prop.getValue();
+ assertNotNull("property standardBindings has no value", val);
+ assertTrue("property standardBindings value is CollectionValue", val instanceof CollectionValue);
+ MetaValue[] elements = ((CollectionValue) val).getElements();
+ assertNotNull("property standardBindings value has elements", elements);
+ for (MetaValue mv : elements)
+ {
+ standardBindings.put(getSimpleValue(mv, "fullyQualifiedName", String.class), mv);
+ }
+
+ try
+ {
+ getManagementView().updateComponent(component);
+ }
+ catch (Exception e)
+ {
+ log.error("Failed updating " + component, e);
+ throw e;
+ }
+
+ // B) Validate the addition from A) took effect and then UPDATE the added binding set
+
+ component = getServiceBindingManagerManagedComponent();
+ properties = component.getProperties();
+ assertNotNull(properties);
+
+ IndexedArray indexedArray = checkAddedBindingSet(properties, newElements.length, 500, 54321, standardBindings);
+
+ prop = properties.get("bindingSets");
+ assertNotNull("Missing property bindingSets", prop);
+ val = prop.getValue();
+ assertNotNull("property bindingSets has no value", val);
+ assertTrue("property bindingSets value is CollectionValue", val instanceof CollectionValue);
+ MetaValue[] updated = newElements.clone();
+ MapCompositeValueSupport updatedBindingSet = cloneCompositeValue((CompositeValue) updated[indexedArray.index]);
+ updatedBindingSet.put("portOffset", SimpleValueSupport.wrap(400));
+
+ MetaValue[] updatedOverrides = ((CollectionValue) updatedBindingSet.get("overrideBindings")).getElements();
+ assertEquals("single override binding", 1, updatedOverrides.length);
+ MapCompositeValueSupport updatedOverride = cloneCompositeValue((CompositeValue) updatedOverrides[0]);
+ updatedOverride.put("port", SimpleValueSupport.wrap(43210));
+ updatedBindingSet.put("overrideBindings", new CollectionValueSupport(new CollectionMetaType(Set.class.getName(), SERVICE_BINDING_METADATA_TYPE), new MetaValue[]{updatedOverride}));
+
+ updated[indexedArray.index] = updatedBindingSet;
+ newVal = new CollectionValueSupport(new CollectionMetaType(Set.class.getName(), SERVICE_BINDING_SET_TYPE), updated);
+ prop.setValue(newVal);
+
+ try
+ {
+ getManagementView().updateComponent(component);
+ }
+ catch (Exception e)
+ {
+ log.error("Failed updating " + component, e);
+ throw e;
+ }
+
+ // C) Validate the update from B) took effect
+
+ component = getServiceBindingManagerManagedComponent();
+ properties = component.getProperties();
+ assertNotNull(properties);
+
+ indexedArray = checkAddedBindingSet(properties, newElements.length, 400, 43210, standardBindings);
+ }
+
+
+ public void testUpdateStandardBindings() throws Exception
+ {
+ ManagedComponent component = getServiceBindingManagerManagedComponent();
+
+ logHierarchy(component);
+
+ Map<String, ManagedProperty> properties = component.getProperties();
+ assertNotNull(properties);
+
+ ManagedProperty prop = properties.get("standardBindings");
+ assertNotNull("Missing property standardBindings", prop);
+ MetaValue val = prop.getValue();
+ assertNotNull("property standardBindings has no value", val);
+ assertTrue("property standardBindings value is CollectionValue", val instanceof CollectionValue);
+
+ MetaValue[] origElements = ((CollectionValue) val).getElements();
+ assertNotNull(origElements);
+
+ // A) ADD a new element to "standardBindings"
+
+ MetaValue[] newElements = new MetaValue[origElements.length + 1];
+ System.arraycopy(origElements, 0, newElements, 0, origElements.length);
+
+ Map<String, MetaValue> map = new HashMap<String, MetaValue>();
+ map.put("serviceName", SimpleValueSupport.wrap("AddedStandardBinding"));
+ map.put("bindingName", SimpleValueSupport.wrap("bindingName"));
+ map.put("description", SimpleValueSupport.wrap("description"));
+ map.put("port", SimpleValueSupport.wrap(12345));
+ map.put("fixedHostName", SimpleValueSupport.wrap(false));
+ map.put("fixedPort", SimpleValueSupport.wrap(false));
+ MapCompositeValueSupport newElement = new MapCompositeValueSupport(map, SERVICE_BINDING_METADATA_TYPE);
+ newElements[newElements.length - 1] = newElement;
+
+ CollectionValue newVal = new CollectionValueSupport((CollectionMetaType) val.getMetaType(), newElements);
+ prop.setValue(newVal);
+
+ // Before passing the updated component back, store some info about
+ // the binding sets so we can use it later
+ prop = properties.get("bindingSets");
+ assertNotNull("Missing property bindingSets", prop);
+ val = prop.getValue();
+ assertNotNull("property bindingSets has no value", val);
+ assertTrue("property bindingSets value is CollectionValue", val instanceof CollectionValue);
+ MetaValue[] elements = ((CollectionValue) val).getElements();
+ assertNotNull(elements);
+
+ // Two maps we'll use
+ Map<String, Integer> offsets = new HashMap<String, Integer>();
+ Map<String, String> hosts = new HashMap<String, String>();
+ for (MetaValue mv : elements)
+ {
+ String name = getSimpleValue(mv, "name", String.class);
+ offsets.put(name, getSimpleValue(mv, "portOffset", Integer.class));
+ hosts.put(name, getSimpleValue(mv, "defaultHostName", String.class));
+ }
+
+ try
+ {
+ getManagementView().updateComponent(component);
+ }
+ catch (Exception e)
+ {
+ log.error("Failed updating " + component, e);
+ throw e;
+ }
+
+ // B) Validate the result of A) and MODIFY the element we added in A
+
+ component = getServiceBindingManagerManagedComponent();
+ properties = component.getProperties();
+
+ IndexedArray indexedArray = checkAddedBinding(properties, newElements.length, 12345, offsets, hosts);
+ // We'll update the component again using this MetaValue[]
+ newElements = new MetaValue[indexedArray.array.length];
+ System.arraycopy(indexedArray.array, 0, newElements, 0, newElements.length);
+
+ MapCompositeValueSupport update = cloneCompositeValue((CompositeValue) indexedArray.array[indexedArray.index]);
+ update.put("port", SimpleValueSupport.wrap(23456));
+ newElements[indexedArray.index] = update;
+
+ newVal = new CollectionValueSupport((CollectionMetaType) val.getMetaType(), newElements);
+ properties.get("standardBindings").setValue(newVal);
+
+ // OK, now update
+ try
+ {
+ getManagementView().updateComponent(component);
+ }
+ catch (Exception e)
+ {
+ log.error("Failed updating " + component, e);
+ throw e;
+ }
+
+ // C) Validate update from B) plus REMOVE the element we added
+
+ component = getServiceBindingManagerManagedComponent();
+ properties = component.getProperties();
+
+ indexedArray = checkAddedBinding(properties, newElements.length, 23456, offsets, hosts);
+ }
+
+ private IndexedArray checkAddedBindingSet(Map<String, ManagedProperty> properties, int numSets, int portOffset, int overrideBindingPort,
+ Map<String, MetaValue> standardBindings)
+ {
+ IndexedArray result = new IndexedArray();
+
+ // First confirm the expected binding set is there
+
+ ManagedProperty prop = properties.get("bindingSets");
+ assertNotNull("Missing property bindingSets", prop);
+ MetaValue val = prop.getValue();
+ assertNotNull("property bindingSets has no value", val);
+ assertTrue("property bindingSets value is CollectionValue", val instanceof CollectionValue);
+ MetaValue[] elements = ((CollectionValue) val).getElements();
+ assertNotNull(elements);
+ assertEquals(numSets, elements.length);
+ result.array = elements;
+ boolean sawAdded = false;
+ for (int i = 0; i < elements.length; i++)
+ {
+ MetaValue mv = elements[i];
+ if ("ports-test".equals(getSimpleValue(mv, "name")))
+ {
+ sawAdded = true;
+ assertEquals("added binding set has correct defaultHostName",
+ "localhost", getSimpleValue(mv, "defaultHostName"));
+ assertEquals("added binding set has correct portOffset",
+ portOffset, getSimpleValue(mv, "portOffset", Integer.class).intValue());
+ MetaValue overVal = ((CompositeValue) mv).get("overrideBindings");
+ assertTrue(overVal instanceof CollectionValue);
+ MetaValue[] overrides = ((CollectionValue) overVal).getElements();
+ assertNotNull("added binding set has overrides", overrides);
+ assertEquals("added binding set has correct # of overrides", 1, overrides.length);
+ mv = overrides[0];
+ assertEquals("added binding set has AddedOverrideBinding",
+ "AddedOverrideBinding", getSimpleValue(mv, "serviceName"));
+ assertNull("AddedOverrideBinding has null bindingName",
+ getSimpleValue(mv, "bindingName"));
+ assertEquals("AddedOverrideBinding has correct description",
+ "description", getSimpleValue(mv, "description"));
+ assertNull("AddedOverrideBinding has null hostName",
+ getSimpleValue(mv, "hostName"));
+ assertEquals("AddedOverrideBinding has correct port",
+ overrideBindingPort, getSimpleValue(mv, "port", Integer.class).intValue());
+ assertFalse("AddedOverrideBinding has correct fixedHostName",
+ getSimpleValue(mv, "fixedHostName", Boolean.class).booleanValue());
+ assertFalse("AddedOverrideBinding has correct fixedPort",
+ getSimpleValue(mv, "fixedPort", Boolean.class).booleanValue());
+ result.index = i;
+ break;
+ }
+ }
+ assertTrue(sawAdded);
+
+ // Next validate the expected actual bindings are there
+ prop = properties.get("serviceBindings");
+ assertNotNull("Missing property serviceBindings", prop);
+ val = prop.getValue();
+ assertNotNull("property serviceBindings has no value", val);
+ assertTrue("property serviceBindings value is Composite", val instanceof CompositeValue);
+ val = ((CompositeValue) val).get("ports-test");
+ assertNotNull(val);
+ assertTrue("property serviceBindings value is CollectionValue", val instanceof CollectionValue);
+ elements = ((CollectionValue) val).getElements();
+ assertNotNull("property serviceBindings value has elements", elements);
+ assertEquals("property serviceBindings value has correct # of elements",
+ standardBindings.size() + 1, elements.length);
+ for (MetaValue mv : elements)
+ {
+ String fqn = getSimpleValue(mv, "fullyQualifiedName", String.class);
+ if ("AddedOverrideBinding".equals(fqn))
+ {
+ assertEquals("actual AddedOverrideBinding has correct serviceName",
+ "AddedOverrideBinding", getSimpleValue(mv, "serviceName"));
+ assertNull("actual AddedOverrideBinding has null bindingName",
+ getSimpleValue(mv, "bindingName"));
+ assertEquals("actual AddedOverrideBinding has correct description",
+ "description", getSimpleValue(mv, "description"));
+ assertEquals("actual AddedOverrideBinding has correct port",
+ overrideBindingPort + portOffset, getSimpleValue(mv, "port", Integer.class).intValue());
+ assertEquals("actual AddedOverrideBinding has correct hostName",
+ "localhost", getSimpleValue(mv, "hostName"));
+ }
+ else
+ {
+ MetaValue standard = standardBindings.get(fqn);
+ assertNotNull(standard);
+ assertEquals("standardBinding " + fqn + " has correct serviceName",
+ getSimpleValue(standard, "serviceName"), getSimpleValue(mv, "serviceName"));
+ assertEquals("standardBinding " + fqn + " has correct bindingName",
+ getSimpleValue(standard, "bindingName"), getSimpleValue(mv, "bindingName"));
+ assertEquals("standardBinding " + fqn + " has correct description",
+ getSimpleValue(standard, "description"), getSimpleValue(mv, "description"));
+ int offset = getSimpleValue(standard, "fixedPort", Boolean.class).booleanValue() ? 0 : portOffset;
+ assertEquals("standardBinding " + fqn + " has correct port",
+ getSimpleValue(standard, "port", Integer.class).intValue() + offset,
+ getSimpleValue(mv, "port", Integer.class).intValue());
+ String host = getSimpleValue(standard, "fixedHostName", Boolean.class).booleanValue()
+ ? getSimpleValue(standard, "hostName", String.class)
+ : "localhost";
+ assertEquals("standardBinding " + fqn + " has correct hostName",
+ host, getSimpleValue(mv, "hostName"));
+ }
+ }
+
+ return result;
+ }
+
+ private IndexedArray checkAddedBinding(Map<String, ManagedProperty> properties, int bindingCount, int basePort, Map<String, Integer> offsets, Map<String, String> hosts)
+ {
+ // Return the array of standard bindings + the pos of the added binding
+ IndexedArray result = new IndexedArray();
+
+ // Scan for the standard binding
+
+ ManagedProperty prop = properties.get("standardBindings");
+ assertNotNull("Missing property standardBindings", prop);
+ MetaValue val = prop.getValue();
+ assertNotNull("property standardBindings has no value", val);
+ assertTrue("property standardBindings value is CollectionValue", val instanceof CollectionValue);
+ MetaValue[] refreshedElements = ((CollectionValue) val).getElements();
+ assertEquals(bindingCount, refreshedElements.length);
+ result.array = refreshedElements; // pass back to caller
+ boolean sawAdded = false;
+ for (int i = 0; i < refreshedElements.length; i++)
+ {
+ MetaValue mv = refreshedElements[i];
+ if ("AddedStandardBinding".equals(getSimpleValue(mv, "serviceName")))
+ {
+ sawAdded = true;
+ assertEquals("correct bindingName in standard binding", "bindingName", getSimpleValue(mv, "bindingName"));
+ assertEquals("correct description in standard binding", "description", getSimpleValue(mv, "description"));
+ assertNull("correct hostName in standardBinding", getSimpleValue(mv, "hostName"));
+ assertEquals("correct port in standard binding", basePort, getSimpleValue(mv, "port", Integer.class).intValue());
+ assertFalse("correct fixedPort in standard binding", getSimpleValue(mv, "fixedPort", Boolean.class).booleanValue());
+ assertFalse("correct fixedHostName in standard binding", getSimpleValue(mv, "fixedHostName", Boolean.class).booleanValue());
+
+ result.index = i; // tell caller which pos has the added binding
+ break;
+ }
+ }
+ assertTrue("saw standard binding", sawAdded);
+
+ // Check that our standard binding metadata generated the expected actual bindings
+
+ prop = properties.get("serviceBindings");
+ assertNotNull("Missing property serviceBindings", prop);
+ log.info("serviceBindings: " + prop);
+ val = prop.getValue();
+ assertNotNull("property serviceBindings has no value", val);
+ assertTrue("property serviceBindings value is CompositeValue", val instanceof CompositeValue);
+ CompositeValue compVal = (CompositeValue) val;
+ assertEquals("correct number of standard bindings", offsets.size(), compVal.values().size());
+ for (String bindingSetName : offsets.keySet())
+ {
+ MetaValue mv = compVal.get(bindingSetName);
+ assertTrue(mv instanceof CollectionValue);
+ CollectionValue colVal = (CollectionValue) mv;
+ sawAdded = false;
+ for (MetaValue element : colVal.getElements())
+ {
+ if ("AddedStandardBinding".equals(getSimpleValue(element, "serviceName")))
+ {
+ sawAdded = true;
+ assertEquals("correct bindingName in set " + bindingSetName,
+ "bindingName", getSimpleValue(element, "bindingName"));
+ assertEquals("correct description in set " + bindingSetName,
+ "description", getSimpleValue(element, "description"));
+ assertEquals("correct hostName in set " + bindingSetName,
+ hosts.get(bindingSetName), getSimpleValue(element, "hostName"));
+ assertEquals("correct port in set " + bindingSetName,
+ basePort + offsets.get(bindingSetName).intValue(),
+ getSimpleValue(element, "port", Integer.class).intValue());
+ break;
+ }
+ }
+ assertTrue("saw AddedStandardBinding in set " + bindingSetName, sawAdded);
+ }
+
+ return result;
+ }
+
+ private void logHierarchy(ManagedComponent mc)
+ {
+ ManagedCommon child = mc;
+ ManagedCommon mcom = mc.getParent();
+ while (mcom != null)
+ {
+ log.debug("parent of " + child.getName() + " is " + mcom.getName());
+ child = mcom;
+ mcom = mcom.getParent();
+ }
+ }
+
+ private Object getSimpleValue(MetaValue val, String key)
+ {
+ return getSimpleValue(val, key, Object.class);
+ }
+
+ private <T> T getSimpleValue(MetaValue val, String key, Class<T> type)
+ {
+ T result = null;
+ assertTrue(val instanceof CompositeValue);
+ CompositeValue cval = (CompositeValue) val;
+ MetaValue mv = cval.get(key);
+ if (mv != null)
+ {
+ assertTrue(mv instanceof SimpleValue);
+ Object obj = ((SimpleValue) mv).getValue();
+ result = type.cast(obj);
+ }
+ return result;
+ }
+
+ private static MapCompositeValueSupport cloneCompositeValue(CompositeValue toClone)
+ {
+ if (toClone instanceof MapCompositeValueSupport)
+ {
+ return (MapCompositeValueSupport) toClone.clone();
+ }
+ else
+ {
+ CompositeMetaType type = toClone.getMetaType();
+ Map<String, MetaValue> map = new HashMap<String, MetaValue>();
+ for (String key : type.keySet())
+ {
+ map.put(key, toClone.get(key));
+ }
+ return new MapCompositeValueSupport(map, type);
+ }
+ }
+
+ private class IndexedArray
+ {
+ int index;
+ MetaValue[] array;
+ }
+}
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/main/org/jboss/test/profileservice/test/ServiceBindingManagedObjectsTestCase.java
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/main/org/jboss/test/profileservice/test/ServiceBindingManagedObjectsTestCase.java 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/main/org/jboss/test/profileservice/test/ServiceBindingManagedObjectsTestCase.java 2009-05-23 18:55:19 UTC (rev 89313)
@@ -24,26 +24,22 @@
import java.net.InetAddress;
import java.util.HashMap;
import java.util.Map;
-import java.util.Set;
import org.jboss.deployers.spi.management.ManagementView;
import org.jboss.managed.api.ComponentType;
import org.jboss.managed.api.ManagedCommon;
import org.jboss.managed.api.ManagedComponent;
import org.jboss.managed.api.ManagedProperty;
-import org.jboss.metatype.api.types.CollectionMetaType;
import org.jboss.metatype.api.types.CompositeMetaType;
import org.jboss.metatype.api.types.ImmutableCompositeMetaType;
import org.jboss.metatype.api.types.MetaType;
import org.jboss.metatype.api.types.SimpleMetaType;
import org.jboss.metatype.api.values.ArrayValue;
import org.jboss.metatype.api.values.CollectionValue;
-import org.jboss.metatype.api.values.CollectionValueSupport;
import org.jboss.metatype.api.values.CompositeValue;
import org.jboss.metatype.api.values.MapCompositeValueSupport;
import org.jboss.metatype.api.values.MetaValue;
import org.jboss.metatype.api.values.SimpleValue;
-import org.jboss.metatype.api.values.SimpleValueSupport;
import org.jboss.services.binding.ServiceBindingMetadata;
import org.jboss.services.binding.impl.ServiceBindingSet;
import org.jboss.services.binding.managed.ServiceBindingMetadataMapper;
@@ -53,6 +49,9 @@
* Profile service ServiceBindingManager tests.
* </p>
*
+ * @see org.jboss.test.profileservice.override.test.ServiceBindingManagedObjectsTestCase
+ * for tests of updating the metadata
+ *
* @author Brian Stansberry
* @version $Revision$
*/
@@ -425,395 +424,7 @@
// assertEquals("ports-01", val.getValue());
// }
-
- public void testUpdateStandardBindings() throws Exception
- {
- ManagedComponent component = getServiceBindingManagerManagedComponent();
-
- logHierarchy(component);
-
- Map<String, ManagedProperty> properties = component.getProperties();
- assertNotNull(properties);
-
- ManagedProperty prop = properties.get("standardBindings");
- assertNotNull("Missing property standardBindings", prop);
- MetaValue val = prop.getValue();
- assertNotNull("property standardBindings has no value", val);
- assertTrue("property standardBindings value is CollectionValue", val instanceof CollectionValue);
-
- MetaValue[] origElements = ((CollectionValue) val).getElements();
- assertNotNull(origElements);
-
- // A) ADD a new element to "standardBindings"
-
- MetaValue[] newElements = new MetaValue[origElements.length + 1];
- System.arraycopy(origElements, 0, newElements, 0, origElements.length);
-
- Map<String, MetaValue> map = new HashMap<String, MetaValue>();
- map.put("serviceName", SimpleValueSupport.wrap("AddedStandardBinding"));
- map.put("bindingName", SimpleValueSupport.wrap("bindingName"));
- map.put("description", SimpleValueSupport.wrap("description"));
- map.put("port", SimpleValueSupport.wrap(12345));
- map.put("fixedHostName", SimpleValueSupport.wrap(false));
- map.put("fixedPort", SimpleValueSupport.wrap(false));
- MapCompositeValueSupport newElement = new MapCompositeValueSupport(map, SERVICE_BINDING_METADATA_TYPE);
- newElements[newElements.length - 1] = newElement;
-
- CollectionValue newVal = new CollectionValueSupport((CollectionMetaType) val.getMetaType(), newElements);
- prop.setValue(newVal);
-
- // Before passing the updated component back, store some info about
- // the binding sets so we can use it later
- prop = properties.get("bindingSets");
- assertNotNull("Missing property bindingSets", prop);
- val = prop.getValue();
- assertNotNull("property bindingSets has no value", val);
- assertTrue("property bindingSets value is CollectionValue", val instanceof CollectionValue);
- MetaValue[] elements = ((CollectionValue) val).getElements();
- assertNotNull(elements);
-
- // Two maps we'll use
- Map<String, Integer> offsets = new HashMap<String, Integer>();
- Map<String, String> hosts = new HashMap<String, String>();
- for (MetaValue mv : elements)
- {
- String name = getSimpleValue(mv, "name", String.class);
- offsets.put(name, getSimpleValue(mv, "portOffset", Integer.class));
- hosts.put(name, getSimpleValue(mv, "defaultHostName", String.class));
- }
-
- try
- {
- getManagementView().updateComponent(component);
- }
- catch (Exception e)
- {
- log.error("Failed updating " + component, e);
- throw e;
- }
-
- // B) Validate the result of A) and MODIFY the element we added in A
-
- component = getServiceBindingManagerManagedComponent();
- properties = component.getProperties();
-
- IndexedArray indexedArray = checkAddedBinding(properties, newElements.length, 12345, offsets, hosts);
- // We'll update the component again using this MetaValue[]
- newElements = new MetaValue[indexedArray.array.length];
- System.arraycopy(indexedArray.array, 0, newElements, 0, newElements.length);
-
- MapCompositeValueSupport update = cloneCompositeValue((CompositeValue) indexedArray.array[indexedArray.index]);
- update.put("port", SimpleValueSupport.wrap(23456));
- newElements[indexedArray.index] = update;
-
- newVal = new CollectionValueSupport((CollectionMetaType) val.getMetaType(), newElements);
- properties.get("standardBindings").setValue(newVal);
-
- // OK, now update
- try
- {
- getManagementView().updateComponent(component);
- }
- catch (Exception e)
- {
- log.error("Failed updating " + component, e);
- throw e;
- }
-
- // C) Validate update from B) plus REMOVE the element we added
-
- component = getServiceBindingManagerManagedComponent();
- properties = component.getProperties();
-
- indexedArray = checkAddedBinding(properties, newElements.length, 23456, offsets, hosts);
-
- // We'll update the component again using this MetaValue[]
- newElements = new MetaValue[indexedArray.array.length - 1];
- int j = 0;
- System.arraycopy(indexedArray.array, 0, newElements, 0, indexedArray.index);
- System.arraycopy(indexedArray.array, indexedArray.index + 1, newElements, indexedArray.index, indexedArray.array.length - indexedArray.index -1);
-
- newVal = new CollectionValueSupport((CollectionMetaType) val.getMetaType(), newElements);
- properties.get("standardBindings").setValue(newVal);
-
- // OK, now update
- try
- {
- getManagementView().updateComponent(component);
- }
- catch (Exception e)
- {
- log.error("Failed updating " + component, e);
- throw e;
- }
-
- // D) Removal from C) took effect
-
- component = getServiceBindingManagerManagedComponent();
- properties = component.getProperties();
-
- prop = properties.get("standardBindings");
- assertNotNull("Missing property standardBindings", prop);
- val = prop.getValue();
- assertNotNull("property standardBindings has no value", val);
- assertTrue("property standardBindings value is CollectionValue", val instanceof CollectionValue);
-
- MetaValue[] finalElements = ((CollectionValue) val).getElements();
- assertNotNull(finalElements);
- assertEquals(origElements.length, finalElements.length);
- for (MetaValue mv : finalElements)
- {
- assertFalse("AddedStandardBinding".equals(getSimpleValue(mv, "serviceName")));
- }
-
- prop = properties.get("serviceBindings");
- assertNotNull("Missing property serviceBindings", prop);
- log.info("serviceBindings: " + prop);
- val = prop.getValue();
- assertNotNull("property serviceBindings has no value", val);
- assertTrue("property serviceBindings value is CompositeValue", val instanceof CompositeValue);
- CompositeValue compVal = (CompositeValue) val;
- assertEquals(offsets.size(), compVal.values().size());
- for (String bindingSetName : offsets.keySet())
- {
- MetaValue mv = compVal.get(bindingSetName);
- assertTrue(mv instanceof CollectionValue);
- CollectionValue colVal = (CollectionValue) mv;
- for (MetaValue element : colVal.getElements())
- {
- assertFalse("AddedStandardBinding".equals(getSimpleValue(element, "serviceName")));
- }
- }
- }
-
- private IndexedArray checkAddedBinding(Map<String, ManagedProperty> properties, int bindingCount, int basePort, Map<String, Integer> offsets, Map<String, String> hosts)
- {
- // Return the array of standard bindings + the pos of the added binding
- IndexedArray result = new IndexedArray();
-
- // Scan for the standard binding
-
- ManagedProperty prop = properties.get("standardBindings");
- assertNotNull("Missing property standardBindings", prop);
- MetaValue val = prop.getValue();
- assertNotNull("property standardBindings has no value", val);
- assertTrue("property standardBindings value is CollectionValue", val instanceof CollectionValue);
- MetaValue[] refreshedElements = ((CollectionValue) val).getElements();
- assertEquals(bindingCount, refreshedElements.length);
- result.array = refreshedElements; // pass back to caller
- boolean sawAdded = false;
- for (int i = 0; i < refreshedElements.length; i++)
- {
- MetaValue mv = refreshedElements[i];
- if ("AddedStandardBinding".equals(getSimpleValue(mv, "serviceName")))
- {
- sawAdded = true;
- assertEquals("correct bindingName in standard binding", "bindingName", getSimpleValue(mv, "bindingName"));
- assertEquals("correct description in standard binding", "description", getSimpleValue(mv, "description"));
- assertNull("correct hostName in standardBinding", getSimpleValue(mv, "hostName"));
- assertEquals("correct port in standard binding", basePort, getSimpleValue(mv, "port", Integer.class).intValue());
- assertFalse("correct fixedPort in standard binding", getSimpleValue(mv, "fixedPort", Boolean.class).booleanValue());
- assertFalse("correct fixedHostName in standard binding", getSimpleValue(mv, "fixedHostName", Boolean.class).booleanValue());
-
- result.index = i; // tell caller which pos has the added binding
- break;
- }
- }
- assertTrue("saw standard binding", sawAdded);
-
- // Check that our standard binding metadata generated the expected actual bindings
-
- prop = properties.get("serviceBindings");
- assertNotNull("Missing property serviceBindings", prop);
- log.info("serviceBindings: " + prop);
- val = prop.getValue();
- assertNotNull("property serviceBindings has no value", val);
- assertTrue("property serviceBindings value is CompositeValue", val instanceof CompositeValue);
- CompositeValue compVal = (CompositeValue) val;
- assertEquals("correct number of standard bindings", offsets.size(), compVal.values().size());
- for (String bindingSetName : offsets.keySet())
- {
- MetaValue mv = compVal.get(bindingSetName);
- assertTrue(mv instanceof CollectionValue);
- CollectionValue colVal = (CollectionValue) mv;
- sawAdded = false;
- for (MetaValue element : colVal.getElements())
- {
- if ("AddedStandardBinding".equals(getSimpleValue(element, "serviceName")))
- {
- sawAdded = true;
- assertEquals("correct bindingName in set " + bindingSetName,
- "bindingName", getSimpleValue(element, "bindingName"));
- assertEquals("correct description in set " + bindingSetName,
- "description", getSimpleValue(element, "description"));
- assertEquals("correct hostName in set " + bindingSetName,
- hosts.get(bindingSetName), getSimpleValue(element, "hostName"));
- assertEquals("correct port in set " + bindingSetName,
- basePort + offsets.get(bindingSetName).intValue(),
- getSimpleValue(element, "port", Integer.class).intValue());
- break;
- }
- }
- assertTrue("saw AddedStandardBinding in set " + bindingSetName, sawAdded);
- }
-
- return result;
- }
-
- public void testUpdateServiceBindingSets() throws Exception
- {
- ManagedComponent component = getServiceBindingManagerManagedComponent();
-
- logHierarchy(component);
-
- Map<String, ManagedProperty> properties = component.getProperties();
- assertNotNull(properties);
-
- // A) ADD a new binding set
-
- ManagedProperty prop = properties.get("bindingSets");
- assertNotNull("Missing property bindingSets", prop);
- MetaValue val = prop.getValue();
- assertNotNull("property bindingSets has no value", val);
- assertTrue("property bindingSets value is CollectionValue", val instanceof CollectionValue);
- MetaValue[] origElements = ((CollectionValue) val).getElements();
- assertNotNull(origElements);
- MetaValue[] newElements = new MetaValue[origElements.length + 1];
- System.arraycopy(origElements, 0, newElements, 0, origElements.length);
-
- Map<String, MetaValue> map = new HashMap<String, MetaValue>();
- map.put("name", SimpleValueSupport.wrap("ports-test"));
- map.put("defaultHostName", SimpleValueSupport.wrap("localhost"));
- map.put("portOffset", SimpleValueSupport.wrap(500));
-
- Map<String, MetaValue> metadata = new HashMap<String, MetaValue>();
- metadata.put("serviceName", SimpleValueSupport.wrap("AddedOverrideBinding"));
- metadata.put("description", SimpleValueSupport.wrap("description"));
- metadata.put("port", SimpleValueSupport.wrap(54321));
- MapCompositeValueSupport newMetadata = new MapCompositeValueSupport(metadata, SERVICE_BINDING_METADATA_TYPE);
- CollectionValue overrides = new CollectionValueSupport(new CollectionMetaType(Set.class.getName(), SERVICE_BINDING_METADATA_TYPE), new MetaValue[]{newMetadata});
-
- map.put("overrideBindings", overrides);
- MapCompositeValueSupport newElement = new MapCompositeValueSupport(map, SERVICE_BINDING_SET_TYPE);
- newElements[newElements.length - 1] = newElement;
- CollectionValue newVal = new CollectionValueSupport(new CollectionMetaType(Set.class.getName(), SERVICE_BINDING_SET_TYPE), newElements);
- prop.setValue(newVal);
-
- // Before updating get a ref to the standard bindings so we can use it
- // in later validation
- Map<String, MetaValue> standardBindings = new HashMap<String, MetaValue>();
- prop = properties.get("standardBindings");
- assertNotNull("Missing property standardBindings", prop);
- val = prop.getValue();
- assertNotNull("property standardBindings has no value", val);
- assertTrue("property standardBindings value is CollectionValue", val instanceof CollectionValue);
- MetaValue[] elements = ((CollectionValue) val).getElements();
- assertNotNull("property standardBindings value has elements", elements);
- for (MetaValue mv : elements)
- {
- standardBindings.put(getSimpleValue(mv, "fullyQualifiedName", String.class), mv);
- }
-
- try
- {
- getManagementView().updateComponent(component);
- }
- catch (Exception e)
- {
- log.error("Failed updating " + component, e);
- throw e;
- }
-
- // B) Validate the addition from A) took effect and then UPDATE the added binding set
-
- component = getServiceBindingManagerManagedComponent();
- properties = component.getProperties();
- assertNotNull(properties);
-
- IndexedArray indexedArray = checkAddedBindingSet(properties, newElements.length, 500, 54321, standardBindings);
-
- prop = properties.get("bindingSets");
- assertNotNull("Missing property bindingSets", prop);
- val = prop.getValue();
- assertNotNull("property bindingSets has no value", val);
- assertTrue("property bindingSets value is CollectionValue", val instanceof CollectionValue);
- MetaValue[] updated = newElements.clone();
- MapCompositeValueSupport updatedBindingSet = cloneCompositeValue((CompositeValue) updated[indexedArray.index]);
- updatedBindingSet.put("portOffset", SimpleValueSupport.wrap(400));
-
- MetaValue[] updatedOverrides = ((CollectionValue) updatedBindingSet.get("overrideBindings")).getElements();
- assertEquals("single override binding", 1, updatedOverrides.length);
- MapCompositeValueSupport updatedOverride = cloneCompositeValue((CompositeValue) updatedOverrides[0]);
- updatedOverride.put("port", SimpleValueSupport.wrap(43210));
- updatedBindingSet.put("overrideBindings", new CollectionValueSupport(new CollectionMetaType(Set.class.getName(), SERVICE_BINDING_METADATA_TYPE), new MetaValue[]{updatedOverride}));
-
- updated[indexedArray.index] = updatedBindingSet;
- newVal = new CollectionValueSupport(new CollectionMetaType(Set.class.getName(), SERVICE_BINDING_SET_TYPE), updated);
- prop.setValue(newVal);
-
- try
- {
- getManagementView().updateComponent(component);
- }
- catch (Exception e)
- {
- log.error("Failed updating " + component, e);
- throw e;
- }
-
- // C) Validate the update from B) took effect and then REMOVE the added binding set
-
- component = getServiceBindingManagerManagedComponent();
- properties = component.getProperties();
- assertNotNull(properties);
-
- indexedArray = checkAddedBindingSet(properties, newElements.length, 400, 43210, standardBindings);
-
- // We'll update the component again using this MetaValue[]
- newElements = new MetaValue[indexedArray.array.length - 1];
- System.arraycopy(indexedArray.array, 0, newElements, 0, indexedArray.index);
- System.arraycopy(indexedArray.array, indexedArray.index + 1, newElements, indexedArray.index, indexedArray.array.length - indexedArray.index -1);
-
- newVal = new CollectionValueSupport((CollectionMetaType) val.getMetaType(), newElements);
- properties.get("bindingSets").setValue(newVal);
-
- try
- {
- getManagementView().updateComponent(component);
- }
- catch (Exception e)
- {
- log.error("Failed updating " + component, e);
- throw e;
- }
-
- // D) Confirm the added binding set is now gone
-
- component = getServiceBindingManagerManagedComponent();
- properties = component.getProperties();
- assertNotNull(properties);
-
- prop = properties.get("bindingSets");
- assertNotNull("Missing property bindingSets", prop);
- val = prop.getValue();
- assertNotNull("property bindingSets has no value", val);
- assertTrue("property bindingSets value is CollectionValue", val instanceof CollectionValue);
- MetaValue[] finalElements = ((CollectionValue) val).getElements();
- assertNotNull("property bindingSets value has elements", finalElements);
- assertEquals("correct number of binding sets after removal",
- origElements.length, finalElements.length);
- for (MetaValue mv : finalElements)
- {
- assertFalse("ports-test".equals(getSimpleValue(mv, "name")));
- }
- prop = properties.get("serviceBindings");
- assertNotNull("Missing property serviceBindings", prop);
- val = prop.getValue();
- assertTrue(val instanceof CompositeValue);
- assertNull("no actual bindings for ports-test", ((CompositeValue) val).get("ports-test"));
- }
-
private IndexedArray checkAddedBindingSet(Map<String, ManagedProperty> properties, int numSets, int portOffset, int overrideBindingPort,
Map<String, MetaValue> standardBindings)
{
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/resources/securitymgr/server.policy
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/resources/securitymgr/server.policy 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/testsuite/src/resources/securitymgr/server.policy 2009-05-23 18:55:19 UTC (rev 89313)
@@ -54,6 +54,12 @@
permission java.security.AllPermission;
};
+grant codeBase "jar:file:${jboss.server.home.dir}/common/lib/log4j.jar!/" {
+ permission java.lang.RuntimePermission "getClassLoader";
+};
+grant codeBase "jar:file:${jboss.server.home.dir}/common/lib/servlet-api.jar!/" {
+ permission java.lang.RuntimePermission "getClassLoader";
+};
//********************************************
// Trusted core JBoss code (VFS URL Version)
@@ -86,6 +92,10 @@
//*******************************************************
// Trusted Specific JBoss Code (REAL URL Version)
//*******************************************************
+grant codeBase "file:${jboss.server.home.dir}/conf/bindingservice.beans/jboss-bindingservice.jar/-"{
+ permission java.io.FilePermission "${jboss.home.dir}/deploy/jbossweb.sar/server.xml", "read";
+};
+
grant codeBase "file:${jboss.server.home.dir}/deploy/http-invoker.sar/invoker.war/-" {
permission javax.management.MBeanPermission "*", "addNotificationListener,getAttribute";
permission java.lang.RuntimePermission "getClassLoader";
@@ -99,6 +109,7 @@
permission javax.management.MBeanTrustPermission "register";
permission java.net.SocketPermission "*", "accept,listen,resolve";
permission java.lang.RuntimePermission "getClassLoader";
+ permission java.util.logging.LoggingPermission "control";
};
@@ -110,6 +121,12 @@
permission java.lang.RuntimePermission "getClassLoader";
};
+grant codeBase "jar:file:${jboss.server.home.dir}/conf/bindingservice.beans/jboss-bindingservice.jar!/"{
+ permission java.util.PropertyPermission "*", "write";
+ permission java.io.FilePermission "${jboss.server.home.dir}/deploy/jbossweb.sar/server.xml", "read";
+ permission java.io.FilePermission "${jboss.server.home.dir}/tmp/-", "write,delete";
+};
+
grant codeBase "jar:file:${jboss.server.home.dir}/deploy/jboss-local-jdbc.rar!/jboss-local-jdbc.jar" {
permission java.lang.RuntimePermission "getClassLoader";
};
Copied: branches/Branch_5_x_BootstrapLegacyRemoval/varia/src/main/org/jboss/services/binding/impl/SecurityActions.java (from rev 89308, branches/Branch_5_x/varia/src/main/org/jboss/services/binding/impl/SecurityActions.java)
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/varia/src/main/org/jboss/services/binding/impl/SecurityActions.java (rev 0)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/varia/src/main/org/jboss/services/binding/impl/SecurityActions.java 2009-05-23 18:55:19 UTC (rev 89313)
@@ -0,0 +1,57 @@
+/*
+ * 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.services.binding.impl;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+
+/**
+ * Privileged Blocks
+ * @author Anil.Saldhana at redhat.com
+ * @since Sep 10, 2007
+ * @version $Revision: 88886 $
+ */
+class SecurityActions
+{
+ static ClassLoader getContextClassLoader()
+ {
+ return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
+ {
+ public ClassLoader run()
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
+ });
+ }
+
+ static String getSystemProperty(final String key, final String defaultValue)
+ {
+ return AccessController.doPrivileged(new PrivilegedAction<String>()
+ {
+ public String run()
+ {
+ return System.getProperty(key, defaultValue);
+ }
+ });
+ }
+}
\ No newline at end of file
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/varia/src/main/org/jboss/services/binding/impl/Util.java
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/varia/src/main/org/jboss/services/binding/impl/Util.java 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/varia/src/main/org/jboss/services/binding/impl/Util.java 2009-05-23 18:55:19 UTC (rev 89313)
@@ -140,7 +140,7 @@
public static File createTempFile() throws IOException
{
- String tmpName = System.getProperty(JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_TEMP_DIR);
+ String tmpName = System.getProperty(JBossASServerConfig.PROP_KEY_JBOSSAS_SERVER_TEMP_DIR,"");
File tempDirectory = new File(tmpName);
File targetFile = File.createTempFile("service-binding", ".tmp", tempDirectory);
targetFile.deleteOnExit();
Modified: branches/Branch_5_x_BootstrapLegacyRemoval/varia/src/main/org/jboss/services/binding/impl/XSLTServiceBindingValueSourceImpl.java
===================================================================
--- branches/Branch_5_x_BootstrapLegacyRemoval/varia/src/main/org/jboss/services/binding/impl/XSLTServiceBindingValueSourceImpl.java 2009-05-23 18:15:43 UTC (rev 89312)
+++ branches/Branch_5_x_BootstrapLegacyRemoval/varia/src/main/org/jboss/services/binding/impl/XSLTServiceBindingValueSourceImpl.java 2009-05-23 18:55:19 UTC (rev 89313)
@@ -34,6 +34,8 @@
import java.io.Writer;
import java.net.MalformedURLException;
import java.net.URL;
+import java.security.AccessController;
+import java.security.PrivilegedExceptionAction;
import java.util.Map;
import javax.xml.transform.Result;
@@ -64,7 +66,7 @@
{
private static final Logger log = Logger.getLogger(XSLTServiceBindingValueSourceImpl.class);
- public String getResourceServiceBindingValue(ServiceBinding binding, String input)
+ public String getResourceServiceBindingValue(ServiceBinding binding, final String input)
{
if (input == null)
throw new IllegalArgumentException("input cannot be null");
@@ -74,9 +76,15 @@
Reader reader = null;
try
{
- reader = Util.getInputStreamReader(input);
+ reader = AccessController.doPrivileged(new PrivilegedExceptionAction<Reader>()
+ {
+ public Reader run() throws IOException
+ {
+ return Util.getInputStreamReader(input);
+ }
+ });
}
- catch (IOException e)
+ catch (Exception e)
{
throw new RuntimeException("Caught IOException during transformation", e);
}
@@ -160,14 +168,20 @@
File targetFile = null;
try
{
- targetFile = Util.createTempFile();
+ targetFile = AccessController.doPrivileged(new PrivilegedExceptionAction<File>()
+ {
+ public File run() throws Exception
+ {
+ return Util.createTempFile();
+ }
+ });
writer = new OutputStreamWriter(new FileOutputStream(targetFile));
doXslTransform(binding, config, reader, writer);
return targetFile;
}
- catch (IOException e)
+ catch (Exception e)
{
throw new RuntimeException("Caught IOException during transformation", e);
}
More information about the jboss-cvs-commits
mailing list