[jboss-cvs] JBossAS SVN: r83618 - in projects/microcontainer/trunk/kernel/src: main/java/org/jboss/beans/metadata/spi and 3 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jan 29 09:56:43 EST 2009
Author: alesj
Date: 2009-01-29 09:56:43 -0500 (Thu, 29 Jan 2009)
New Revision: 83618
Added:
projects/microcontainer/trunk/kernel/src/test/resources/org/jboss/test/kernel/deployment/xml/test/DemandWithTargetState.xml
Modified:
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractDemandMetaData.java
projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/DemandMetaData.java
projects/microcontainer/trunk/kernel/src/main/resources/schema/jboss-beans-common_2_0.xsd
projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/deployment/xml/test/DemandJaxbTestCase.java
projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/deployment/xml/test/DemandTestCase.java
Log:
[JBMICROCONT-404]; enhance demand metadata.
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractDemandMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractDemandMetaData.java 2009-01-29 14:27:56 UTC (rev 83617)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractDemandMetaData.java 2009-01-29 14:56:43 UTC (rev 83618)
@@ -47,8 +47,8 @@
/**
* A demand.
*
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
* @author <a href="ales.justin at jboss.com">Ales Justin</a>
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
* @version $Revision$
*/
@XmlType(name="demandsType")
@@ -63,6 +63,9 @@
/** When the dependency is required */
protected ControllerState whenRequired = ControllerState.DESCRIBED;
+ /** The target/dependency state */
+ protected ControllerState targetState;
+
/** The transformer */
protected String transformer;
@@ -107,6 +110,17 @@
flushJBossObjectCache();
}
+ /**
+ * Set the target/dependency state.
+ *
+ * @param targetState the target state
+ */
+ @XmlAttribute(name="targetState")
+ public void setTargetState(ControllerState targetState)
+ {
+ this.targetState = targetState;
+ }
+
public Object getDemand()
{
return demand;
@@ -117,6 +131,11 @@
return whenRequired;
}
+ public ControllerState getTargetState()
+ {
+ return targetState;
+ }
+
/**
* Get the transformer class name.
*
@@ -166,6 +185,8 @@
buffer.append("demand=").append(demand);
if (whenRequired != null)
buffer.append(" whenRequired=").append(whenRequired.getStateString());
+ if (targetState != null)
+ buffer.append(" targetState=").append(targetState.getStateString());
}
public void toShortString(JBossStringBuilder buffer)
@@ -233,7 +254,13 @@
public boolean resolve(Controller controller)
{
Object name = getDemandObject();
- ControllerContext context = controller.getInstalledContext(name);
+
+ ControllerContext context;
+ if (targetState == null)
+ context = controller.getInstalledContext(name);
+ else
+ context = controller.getContext(name, targetState);
+
if (context != null)
{
setIDependOn(context.getName());
Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/DemandMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/DemandMetaData.java 2009-01-29 14:27:56 UTC (rev 83617)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/spi/DemandMetaData.java 2009-01-29 14:56:43 UTC (rev 83618)
@@ -28,6 +28,7 @@
* Metadata about what a bean demands.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @version $Revision$
*/
public interface DemandMetaData extends MetaDataVisitorNode, JBossInterface
@@ -45,4 +46,11 @@
* @return when the dependency is required
*/
ControllerState getWhenRequired();
+
+ /**
+ * Get the target state
+ *
+ * @return the target state
+ */
+ ControllerState getTargetState();
}
Modified: projects/microcontainer/trunk/kernel/src/main/resources/schema/jboss-beans-common_2_0.xsd
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/resources/schema/jboss-beans-common_2_0.xsd 2009-01-29 14:27:56 UTC (rev 83617)
+++ projects/microcontainer/trunk/kernel/src/main/resources/schema/jboss-beans-common_2_0.xsd 2009-01-29 14:56:43 UTC (rev 83618)
@@ -983,6 +983,7 @@
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="state" type="controllerStateType" use="optional"/>
+ <xsd:attribute name="targetState" type="controllerStateType" use="optional"/>
<xsd:attribute name="transformer" type="xsd:token" use="optional"/>
</xsd:extension>
</xsd:simpleContent>
Modified: projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/deployment/xml/test/DemandJaxbTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/deployment/xml/test/DemandJaxbTestCase.java 2009-01-29 14:27:56 UTC (rev 83617)
+++ projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/deployment/xml/test/DemandJaxbTestCase.java 2009-01-29 14:56:43 UTC (rev 83618)
@@ -33,6 +33,7 @@
* Demand TestCase.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @version $Revision: 40800 $
*/
public class DemandJaxbTestCase extends AbstractMCTest
@@ -62,6 +63,13 @@
assertEquals(ControllerState.CONFIGURED, demand.getWhenRequired());
}
+ public void testDemandWithTargetState() throws Exception
+ {
+ AbstractDemandMetaData demand = getDemand();
+ assertEquals("Demand", demand.getDemand());
+ assertEquals(ControllerState.CREATE, demand.getTargetState());
+ }
+
/* TODO
public void testDemandBadNoValue() throws Exception
{
Modified: projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/deployment/xml/test/DemandTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/deployment/xml/test/DemandTestCase.java 2009-01-29 14:27:56 UTC (rev 83617)
+++ projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/deployment/xml/test/DemandTestCase.java 2009-01-29 14:56:43 UTC (rev 83618)
@@ -34,6 +34,7 @@
* Demand TestCase.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @version $Revision$
*/
public class DemandTestCase extends AbstractXMLTest
@@ -63,6 +64,13 @@
assertEquals(ControllerState.CONFIGURED, demand.getWhenRequired());
}
+ public void testDemandWithTargetState() throws Exception
+ {
+ AbstractDemandMetaData demand = getDemand("DemandWithTargetState.xml");
+ assertEquals("Demand", demand.getDemand());
+ assertEquals(ControllerState.CREATE, demand.getTargetState());
+ }
+
public void testDemandWithTransformer() throws Exception
{
AbstractDemandMetaData demand = getDemand("DemandWithTransformer.xml");
Copied: projects/microcontainer/trunk/kernel/src/test/resources/org/jboss/test/kernel/deployment/xml/test/DemandWithTargetState.xml (from rev 83617, projects/microcontainer/trunk/kernel/src/test/resources/org/jboss/test/kernel/deployment/xml/test/DemandWithWhenRequired.xml)
===================================================================
--- projects/microcontainer/trunk/kernel/src/test/resources/org/jboss/test/kernel/deployment/xml/test/DemandWithTargetState.xml (rev 0)
+++ projects/microcontainer/trunk/kernel/src/test/resources/org/jboss/test/kernel/deployment/xml/test/DemandWithTargetState.xml 2009-01-29 14:56:43 UTC (rev 83618)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<bean xmlns="urn:jboss:bean-deployer:2.0" class="Dummy">
+ <demand targetState="Create">Demand</demand>
+</bean>
Property changes on: projects/microcontainer/trunk/kernel/src/test/resources/org/jboss/test/kernel/deployment/xml/test/DemandWithTargetState.xml
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:mergeinfo
+
Name: svn:eol-style
+ native
More information about the jboss-cvs-commits
mailing list