[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