[jboss-cvs] JBossAS SVN: r72461 - in projects/microcontainer/trunk: dependency/src/main/org/jboss/dependency/spi/helpers and 6 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Apr 19 19:19:42 EDT 2008
Author: alesj
Date: 2008-04-19 19:19:42 -0400 (Sat, 19 Apr 2008)
New Revision: 72461
Modified:
projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/plugins/AbstractDependencyInfo.java
projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/spi/helpers/UnmodifiableControllerContext.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/api/annotations/Inject.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/api/model/FromContext.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/api/model/FromContextDelegate.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ValueUtil.java
projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/helpers/UnmodifiableKernelControllerContext.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/FactoryJaxbTestCase.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/FactoryTestCase.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/InjectionJaxbTestCase.java
projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/InjectionTestCase.java
Log:
Fixing FromContext dependent state usage in dependency value metadata.
Modified: projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/plugins/AbstractDependencyInfo.java
===================================================================
--- projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/plugins/AbstractDependencyInfo.java 2008-04-19 21:05:23 UTC (rev 72460)
+++ projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/plugins/AbstractDependencyInfo.java 2008-04-19 23:19:42 UTC (rev 72461)
@@ -41,6 +41,7 @@
* A DependencyInfo.
*
* @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 AbstractDependencyInfo extends JBossObject implements DependencyInfo
Modified: projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/spi/helpers/UnmodifiableControllerContext.java
===================================================================
--- projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/spi/helpers/UnmodifiableControllerContext.java 2008-04-19 21:05:23 UTC (rev 72460)
+++ projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/spi/helpers/UnmodifiableControllerContext.java 2008-04-19 23:19:42 UTC (rev 72461)
@@ -36,20 +36,29 @@
/**
* Unmodifiable delegate instance.
*
- * @param <T> exact context type
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
-public class UnmodifiableControllerContext<T extends ControllerContext> extends JBossObject implements ControllerContext
+public class UnmodifiableControllerContext extends JBossObject implements ControllerContext
{
- protected T delegate;
+ private ControllerContext delegate;
- public UnmodifiableControllerContext(T delegate)
+ public UnmodifiableControllerContext(ControllerContext delegate)
{
if (delegate == null)
throw new IllegalArgumentException("Null delegate");
this.delegate = delegate;
}
+ /**
+ * Get the delegate.
+ *
+ * @return the delegate
+ */
+ protected ControllerContext getDelegate()
+ {
+ return delegate;
+ }
+
public Object getName()
{
return delegate.getName();
@@ -142,5 +151,4 @@
{
throw new UnsupportedOperationException("Cannot invoke set on unmodifiable wrapper.");
}
-
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/api/annotations/Inject.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/api/annotations/Inject.java 2008-04-19 21:05:23 UTC (rev 72460)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/api/annotations/Inject.java 2008-04-19 23:19:42 UTC (rev 72461)
@@ -72,7 +72,7 @@
*
* @return dependent state.
*/
- String dependentState() default "Installed";
+ String dependentState() default "";
/**
* Get autowire type.
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/api/model/FromContext.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/api/model/FromContext.java 2008-04-19 21:05:23 UTC (rev 72460)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/api/model/FromContext.java 2008-04-19 23:19:42 UTC (rev 72461)
@@ -22,6 +22,7 @@
package org.jboss.beans.metadata.api.model;
import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ControllerState;
/**
* Inject from controller context:
@@ -64,6 +65,16 @@
}
/**
+ * When valid state.
+ *
+ * @return the when valid state
+ */
+ public ControllerState getWhenValid()
+ {
+ return delegate.getWhenValid();
+ }
+
+ /**
* Execute injection on context.
*
* @param context the target context
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/api/model/FromContextDelegate.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/api/model/FromContextDelegate.java 2008-04-19 21:05:23 UTC (rev 72460)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/api/model/FromContextDelegate.java 2008-04-19 23:19:42 UTC (rev 72461)
@@ -87,6 +87,9 @@
/** The type string */
protected final String fromString;
+ /** The when valid state */
+ protected ControllerState whenValid;
+
/** The values */
private static Map<String, FromContextDelegate> values = new HashMap<String, FromContextDelegate>();
@@ -110,12 +113,36 @@
*/
protected FromContextDelegate(String fromString)
{
+ this(fromString, null);
+ }
+
+ /**
+ * Create new state
+ *
+ * @param fromString the string representation
+ * @param whenValid the when valid state
+ */
+ protected FromContextDelegate(String fromString, ControllerState whenValid)
+ {
if (fromString == null)
throw new IllegalArgumentException("Null from string");
this.fromString = fromString;
+ if (whenValid == null)
+ whenValid = ControllerState.PRE_INSTALL;
+ this.whenValid = whenValid;
}
/**
+ * Get when valid state.
+ *
+ * @return the when required state
+ */
+ public ControllerState getWhenValid()
+ {
+ return whenValid;
+ }
+
+ /**
* Validate context before execution.
* After validation we must be able to cast context to T instance.
*
@@ -191,6 +218,11 @@
super(fromString);
}
+ protected KernelFromContextDelegate(String fromString, ControllerState whenRequired)
+ {
+ super(fromString, whenRequired);
+ }
+
protected void validate(ControllerContext context)
{
if (context instanceof KernelControllerContext == false)
@@ -265,7 +297,7 @@
public BeanInfoFromContext(String fromString)
{
- super(fromString);
+ super(fromString, ControllerState.INSTANTIATED);
}
public BeanInfo internalExecute(ControllerContext context)
@@ -334,7 +366,7 @@
{
if (context instanceof KernelControllerContext)
return new UnmodifiableKernelControllerContext((KernelControllerContext)context);
- return new UnmodifiableControllerContext<ControllerContext>(context);
+ return new UnmodifiableControllerContext(context);
}
}
}
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java 2008-04-19 21:05:23 UTC (rev 72460)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java 2008-04-19 23:19:42 UTC (rev 72461)
@@ -69,7 +69,7 @@
/**
* The required state of the dependency or null to look in the registry
*/
- protected ControllerState dependentState = ControllerState.INSTALLED;
+ protected ControllerState dependentState;
/**
* Create a new dependency value
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java 2008-04-19 21:05:23 UTC (rev 72460)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java 2008-04-19 23:19:42 UTC (rev 72461)
@@ -221,16 +221,14 @@
if (dependentState == null)
{
- dependentState = states.getPreviousState(when);
+ dependentState = fromContext.getWhenValid();
}
- else
+
+ if (states.isAfterState(dependentState, when) == false)
{
- if (states.isBeforeState(when, dependentState))
- {
- dependentState = states.getPreviousState(when);
- if (log.isTraceEnabled())
- log.trace("Cannot set demand state to more/equal than when required state, changing it to : " + dependentState);
- }
+ dependentState = states.getPreviousState(when);
+ if (log.isTraceEnabled())
+ log.trace("Cannot set demand state to more/equal than when required state, changing it to : " + dependentState);
}
}
super.initialVisit(visitor);
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ValueUtil.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ValueUtil.java 2008-04-19 21:05:23 UTC (rev 72460)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/plugins/annotations/ValueUtil.java 2008-04-19 23:19:42 UTC (rev 72461)
@@ -200,7 +200,8 @@
injection.setValue(annotation.bean());
if (isAttributePresent(annotation.property()))
injection.setProperty(annotation.property());
- injection.setDependentState(new ControllerState(annotation.dependentState()));
+ if (isAttributePresent(annotation.dependentState()))
+ injection.setDependentState(new ControllerState(annotation.dependentState()));
if (isAttributePresent(annotation.whenRequired()))
injection.setWhenRequiredState(new ControllerState(annotation.whenRequired()));
injection.setInjectionOption(annotation.option());
Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/helpers/UnmodifiableKernelControllerContext.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/helpers/UnmodifiableKernelControllerContext.java 2008-04-19 21:05:23 UTC (rev 72460)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/kernel/spi/dependency/helpers/UnmodifiableKernelControllerContext.java 2008-04-19 23:19:42 UTC (rev 72461)
@@ -33,21 +33,26 @@
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
-public class UnmodifiableKernelControllerContext extends UnmodifiableControllerContext<KernelControllerContext> implements KernelControllerContext
+public class UnmodifiableKernelControllerContext extends UnmodifiableControllerContext implements KernelControllerContext
{
public UnmodifiableKernelControllerContext(KernelControllerContext delegate)
{
super(delegate);
}
+ protected KernelControllerContext getDelegate()
+ {
+ return KernelControllerContext.class.cast(super.getDelegate());
+ }
+
public Kernel getKernel()
{
- return delegate.getKernel();
+ return getDelegate().getKernel();
}
public BeanInfo getBeanInfo()
{
- BeanInfo beanInfo = delegate.getBeanInfo();
+ BeanInfo beanInfo = getDelegate().getBeanInfo();
return beanInfo != null ? new UnmodifiableBeanInfo(beanInfo) : null;
}
@@ -58,7 +63,7 @@
public BeanMetaData getBeanMetaData()
{
- return delegate.getBeanMetaData();
+ return getDelegate().getBeanMetaData();
}
public void setTarget(Object target)
@@ -73,21 +78,21 @@
public Object invoke(String name, Object parameters[], String[] signature) throws Throwable
{
- return delegate.invoke(name, parameters, signature);
+ throw new UnsupportedOperationException("Cannot execute invoke on unmodifiable wrapper.");
}
public ClassLoader getClassLoader() throws Throwable
{
- return delegate.getClassLoader();
+ return getDelegate().getClassLoader();
}
public Object get(String name) throws Throwable
{
- return delegate.get(name);
+ return getDelegate().get(name);
}
public void set(String name, Object value) throws Throwable
{
- delegate.set(name, value);
+ throw new UnsupportedOperationException("Cannot execute set on unmodifiable wrapper.");
}
}
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/FactoryJaxbTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/FactoryJaxbTestCase.java 2008-04-19 21:05:23 UTC (rev 72460)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/FactoryJaxbTestCase.java 2008-04-19 23:19:42 UTC (rev 72461)
@@ -58,7 +58,7 @@
AbstractDependencyValueMetaData dependency = getFactoryDependency();
assertEquals("Bean1", dependency.getValue());
assertNull(dependency.getProperty());
- assertEquals(ControllerState.INSTALLED, dependency.getDependentState());
+ assertNull(dependency.getDependentState());
}
public void testFactoryWithProperty() throws Exception
@@ -66,7 +66,7 @@
AbstractDependencyValueMetaData dependency = getFactoryDependency();
assertEquals("Dummy", dependency.getValue());
assertEquals("Property1", dependency.getProperty());
- assertEquals(ControllerState.INSTALLED, dependency.getDependentState());
+ assertNull(dependency.getDependentState());
}
public void testFactoryWithState() throws Exception
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/FactoryTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/FactoryTestCase.java 2008-04-19 21:05:23 UTC (rev 72460)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/FactoryTestCase.java 2008-04-19 23:19:42 UTC (rev 72461)
@@ -59,7 +59,7 @@
AbstractDependencyValueMetaData dependency = getFactoryDependency("FactoryWithBean.xml");
assertEquals("Bean1", dependency.getValue());
assertNull(dependency.getProperty());
- assertEquals(ControllerState.INSTALLED, dependency.getDependentState());
+ assertNull(dependency.getDependentState());
}
public void testFactoryWithProperty() throws Exception
@@ -67,7 +67,7 @@
AbstractDependencyValueMetaData dependency = getFactoryDependency("FactoryWithProperty.xml");
assertEquals("Dummy", dependency.getValue());
assertEquals("Property1", dependency.getProperty());
- assertEquals(ControllerState.INSTALLED, dependency.getDependentState());
+ assertNull(dependency.getDependentState());
}
public void testFactoryWithState() throws Exception
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/InjectionJaxbTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/InjectionJaxbTestCase.java 2008-04-19 21:05:23 UTC (rev 72460)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/InjectionJaxbTestCase.java 2008-04-19 23:19:42 UTC (rev 72461)
@@ -57,7 +57,7 @@
AbstractDependencyValueMetaData dependency = getInjection();
assertEquals("Bean1", dependency.getValue());
assertNull(dependency.getProperty());
- assertEquals(ControllerState.INSTALLED, dependency.getDependentState());
+ assertNull(dependency.getDependentState());
}
public void testInjectionWithProperty() throws Exception
@@ -65,7 +65,7 @@
AbstractDependencyValueMetaData dependency = getInjection();
assertEquals("Dummy", dependency.getValue());
assertEquals("Property1", dependency.getProperty());
- assertEquals(ControllerState.INSTALLED, dependency.getDependentState());
+ assertNull(dependency.getDependentState());
}
public void testInjectionWithState() throws Exception
Modified: projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/InjectionTestCase.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/InjectionTestCase.java 2008-04-19 21:05:23 UTC (rev 72460)
+++ projects/microcontainer/trunk/kernel/src/tests/org/jboss/test/kernel/deployment/xml/test/InjectionTestCase.java 2008-04-19 23:19:42 UTC (rev 72461)
@@ -60,7 +60,7 @@
AbstractDependencyValueMetaData dependency = getInjection("InjectionWithBean.xml");
assertEquals("Bean1", dependency.getValue());
assertNull(dependency.getProperty());
- assertEquals(ControllerState.INSTALLED, dependency.getDependentState());
+ assertNull(dependency.getDependentState());
}
public void testInjectionWithProperty() throws Exception
@@ -68,7 +68,7 @@
AbstractDependencyValueMetaData dependency = getInjection("InjectionWithProperty.xml");
assertEquals("Dummy", dependency.getValue());
assertEquals("Property1", dependency.getProperty());
- assertEquals(ControllerState.INSTALLED, dependency.getDependentState());
+ assertNull(dependency.getDependentState());
}
public void testInjectionWithState() throws Exception
More information about the jboss-cvs-commits
mailing list