[jboss-cvs] JBossAS SVN: r99337 - in projects/kernel/trunk: aop-mc-int and 12 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jan 13 08:00:29 EST 2010
Author: alesj
Date: 2010-01-13 08:00:29 -0500 (Wed, 13 Jan 2010)
New Revision: 99337
Modified:
projects/kernel/trunk/aop-mc-int/pom.xml
projects/kernel/trunk/build/pom.xml
projects/kernel/trunk/dependency/pom.xml
projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/ScopedController.java
projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/spi/ControllerState.java
projects/kernel/trunk/dependency/src/test/java/org/jboss/test/dependency/controller/test/ControllerStateModelTestCase.java
projects/kernel/trunk/dependency/src/test/java/org/jboss/test/dependency/controller/test/ControllerStateTestCase.java
projects/kernel/trunk/guice-int/pom.xml
projects/kernel/trunk/jmx-aop-mc-int/pom.xml
projects/kernel/trunk/jmx-mc-int/pom.xml
projects/kernel/trunk/kernel/pom.xml
projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ScopedKernelController.java
projects/kernel/trunk/pom.xml
projects/kernel/trunk/spring-int/pom.xml
projects/kernel/trunk/weld-int/pom.xml
Log:
[JBKERNEL-71]; bring back deprecated 'new ControllerState'.
Fix pom.xml, check for null parent in scoped controller.
Modified: projects/kernel/trunk/aop-mc-int/pom.xml
===================================================================
--- projects/kernel/trunk/aop-mc-int/pom.xml 2010-01-13 12:11:48 UTC (rev 99336)
+++ projects/kernel/trunk/aop-mc-int/pom.xml 2010-01-13 13:00:29 UTC (rev 99337)
@@ -15,7 +15,7 @@
<parent>
<groupId>org.jboss.kernel</groupId>
<artifactId>jboss-mc-kernel</artifactId>
- <version>2.0.0-SNAPSHOT</version>
+ <version>2.2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jboss-aop-mc-int</artifactId>
Modified: projects/kernel/trunk/build/pom.xml
===================================================================
--- projects/kernel/trunk/build/pom.xml 2010-01-13 12:11:48 UTC (rev 99336)
+++ projects/kernel/trunk/build/pom.xml 2010-01-13 13:00:29 UTC (rev 99337)
@@ -12,12 +12,12 @@
<parent>
<groupId>org.jboss.kernel</groupId>
<artifactId>jboss-mc-kernel</artifactId>
- <version>2.0.0-SNAPSHOT</version>
+ <version>2.2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.jboss.kernel</groupId>
<artifactId>kernel-dist</artifactId>
- <version>2.0.0-SNAPSHOT</version>
+ <version>2.2.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>JBoss Microcontainer Distribution Build</name>
<description>
Modified: projects/kernel/trunk/dependency/pom.xml
===================================================================
--- projects/kernel/trunk/dependency/pom.xml 2010-01-13 12:11:48 UTC (rev 99336)
+++ projects/kernel/trunk/dependency/pom.xml 2010-01-13 13:00:29 UTC (rev 99337)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.kernel</groupId>
<artifactId>jboss-mc-kernel</artifactId>
- <version>2.0.0-SNAPSHOT</version>
+ <version>2.2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jboss-dependency</artifactId>
Modified: projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/ScopedController.java
===================================================================
--- projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/ScopedController.java 2010-01-13 12:11:48 UTC (rev 99336)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/ScopedController.java 2010-01-13 13:00:29 UTC (rev 99337)
@@ -49,7 +49,7 @@
protected Executor getExecutionEnvironment()
{
Executor executor = super.getExecutionEnvironment();
- if (executor == null)
+ if (executor == null && getParentController() != null)
executor = getParentController().getExecutionEnvironment();
return executor;
}
@@ -167,9 +167,10 @@
{
contexts.addAll(currentContexts);
}
- if (getParentController() != null)
+ AbstractController parentController = getParentController();
+ if (parentController != null)
{
- Set<ControllerContext> parentContexts = getParentController().getInstantiatedContexts(clazz);
+ Set<ControllerContext> parentContexts = parentController.getInstantiatedContexts(clazz);
if (parentContexts != null && parentContexts.size() > 0)
{
contexts.addAll(parentContexts);
@@ -193,9 +194,10 @@
{
contexts.addAll(currentContexts);
}
- if (getParentController() != null)
+ AbstractController parentController = getParentController();
+ if (parentController != null)
{
- Set<ControllerContext> parentContexts = getParentController().getContexts(clazz, state);
+ Set<ControllerContext> parentContexts = parentController.getContexts(clazz, state);
if (parentContexts != null && parentContexts.size() > 0)
{
contexts.addAll(parentContexts);
Modified: projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/spi/ControllerState.java
===================================================================
--- projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/spi/ControllerState.java 2010-01-13 12:11:48 UTC (rev 99336)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/spi/ControllerState.java 2010-01-13 13:00:29 UTC (rev 99337)
@@ -23,6 +23,8 @@
import java.io.ObjectStreamException;
import java.io.Serializable;
+import java.util.HashSet;
+import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import javax.xml.bind.annotation.XmlType;
@@ -39,6 +41,8 @@
*
* @see ControllerContextActions
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
* @version $Revision$
*/
@XmlType(propOrder = {})
@@ -48,35 +52,38 @@
private static final long serialVersionUID = 2L;
/** Error */
- public static final ControllerState ERROR = new ControllerState("**ERROR**");
+ public static final ControllerState ERROR = new ControllerState("**ERROR**", false);
/** Not installed state */
- public static final ControllerState NOT_INSTALLED = new ControllerState("Not Installed");
+ public static final ControllerState NOT_INSTALLED = new ControllerState("Not Installed", false);
/** Pre install state */
- public static final ControllerState PRE_INSTALL = new ControllerState("PreInstall");
+ public static final ControllerState PRE_INSTALL = new ControllerState("PreInstall", false);
/** Described state */
- public static final ControllerState DESCRIBED = new ControllerState("Described");
+ public static final ControllerState DESCRIBED = new ControllerState("Described", false);
/** Instantiated state */
- public static final ControllerState INSTANTIATED = new ControllerState("Instantiated");
+ public static final ControllerState INSTANTIATED = new ControllerState("Instantiated", false);
/** Configured state */
- public static final ControllerState CONFIGURED = new ControllerState("Configured");
+ public static final ControllerState CONFIGURED = new ControllerState("Configured", false);
/** Create state */
- public static final ControllerState CREATE = new ControllerState("Create");
+ public static final ControllerState CREATE = new ControllerState("Create", false);
/** Start state */
- public static final ControllerState START = new ControllerState("Start");
+ public static final ControllerState START = new ControllerState("Start", false);
/** Installed state */
- public static final ControllerState INSTALLED = new ControllerState("Installed");
+ public static final ControllerState INSTALLED = new ControllerState("Installed", false);
/** The state string */
protected final String stateString;
+ /** The deprecated callers */
+ private static Set<String> deprecatedCallers = new HashSet<String>();
+
//Unlikely to have several threads updating at once
private static ConcurrentHashMap<String, ControllerState> values = new ConcurrentHashMap<String, ControllerState>(16, .75f, 1);
@@ -95,20 +102,57 @@
/**
* Create a new state
- *
+ *
* @param stateString the string representation
+ * @param warning do we log a warning
*/
- private ControllerState(String stateString)
+ private ControllerState(String stateString, boolean warning)
{
if (stateString == null)
throw new IllegalArgumentException("Null state string");
+
this.stateString = stateString;
+
+ if (warning)
+ {
+ StackTraceElement[] stack = Thread.currentThread().getStackTrace();
+ StackTraceElement caller = null;
+ for (StackTraceElement element : stack)
+ {
+ String className = element.getClassName();
+ if (Thread.class.getName().equals(className) || ControllerState.class.getName().equals(className))
+ continue;
+
+ caller = element;
+ break;
+ }
+ if (caller != null)
+ {
+ String className = caller.getClassName();
+ if (deprecatedCallers.add(className))
+ {
+ log.warn("Deprecated usage of 'new ControllerState', use getInstance, caller: " + caller);
+ }
+ }
+ }
}
+
+ /**
+ * Create a new state
+ *
+ * @param stateString the string representation
+ * @deprecated use
+ */
+ @Deprecated
+ public ControllerState(String stateString)
+ {
+ this(stateString, true);
+ }
/**
* Get an existing state instance
*
- * @param the name of the state
+ * @param stateString the name of the state
* @return the state
* @throws IllegalArgumentException if no state exists with that name
*/
@@ -121,7 +165,7 @@
* Create and register a new state instance. If a state instance already exists with the given name
* return that instance
*
- * @param the name of the state
+ * @param stateString the name of the state
* @return the state
*/
public static ControllerState newState(String stateString)
@@ -172,6 +216,7 @@
return stateString.hashCode();
}
+ @SuppressWarnings({"UnusedDeclaration"})
protected Object readResolve() throws ObjectStreamException
{
return values.get(stateString);
@@ -190,7 +235,7 @@
if (!create)
throw new IllegalArgumentException("An invalid state was used: " + stateString);
- state = new ControllerState(stateString);
+ state = new ControllerState(stateString, false);
ControllerState old = values.putIfAbsent(stateString, state);
if (old != null)
state = old;
Modified: projects/kernel/trunk/dependency/src/test/java/org/jboss/test/dependency/controller/test/ControllerStateModelTestCase.java
===================================================================
--- projects/kernel/trunk/dependency/src/test/java/org/jboss/test/dependency/controller/test/ControllerStateModelTestCase.java 2010-01-13 12:11:48 UTC (rev 99336)
+++ projects/kernel/trunk/dependency/src/test/java/org/jboss/test/dependency/controller/test/ControllerStateModelTestCase.java 2010-01-13 13:00:29 UTC (rev 99337)
@@ -32,6 +32,7 @@
* Test to try out a new ControllerStateModel implementation
*
* @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
* @version $Revision: 37459 $
*/
public class ControllerStateModelTestCase extends AbstractDependencyTest
@@ -261,7 +262,40 @@
System.out.println(counter);
}
-
+ public void testDeprecatedNewControllerStateMap() throws Throwable
+ {
+ testDeprecatedNewControllerState(ControllerStateModelFactory.MAP);
+ }
+
+ public void testDeprecatedNewControllerStateExisting() throws Throwable
+ {
+ testDeprecatedNewControllerState(ControllerStateModelFactory.EXISITING);
+ }
+
+ @SuppressWarnings("deprecation")
+ private void testDeprecatedNewControllerState(ControllerStateModelFactory factory)
+ {
+ AbstractControllerStateModel model = factory.createControllerStateModel();
+
+ // test existing states
+
+ model.addState(ControllerState.CONFIGURED, null);
+ model.addState(ControllerState.CREATE, null);
+ model.addState(ControllerState.START, null);
+
+ ControllerState middle = new ControllerState("Create");
+ assertEquals(ControllerState.CONFIGURED, model.getPreviousState(middle));
+ assertEquals(ControllerState.START, model.getNextState(middle));
+ assertTrue(model.isValidState(middle));
+ assertTrue(model.isAfterState(middle, ControllerState.CONFIGURED));
+ assertTrue(model.isBeforeState(middle, ControllerState.START));
+ assertFalse(model.isAfterState(middle, ControllerState.CREATE));
+ assertFalse(model.isBeforeState(middle, ControllerState.CREATE));
+ assertFalse(model.isAfterState(middle, ControllerState.START));
+ assertFalse(model.isBeforeState(middle, ControllerState.CONFIGURED));
+ assertFalse(model.isValidState(new ControllerState("FooBar")));
+ }
+
private interface StateFactory
{
ControllerState getState(String state);
Modified: projects/kernel/trunk/dependency/src/test/java/org/jboss/test/dependency/controller/test/ControllerStateTestCase.java
===================================================================
--- projects/kernel/trunk/dependency/src/test/java/org/jboss/test/dependency/controller/test/ControllerStateTestCase.java 2010-01-13 12:11:48 UTC (rev 99336)
+++ projects/kernel/trunk/dependency/src/test/java/org/jboss/test/dependency/controller/test/ControllerStateTestCase.java 2010-01-13 13:00:29 UTC (rev 99337)
@@ -26,9 +26,10 @@
import org.jboss.dependency.spi.ControllerState;
/**
- * Test to try out a new ControllerStateModel implementation
+ * Test to try out a new ControllerState changes
*
* @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
* @version $Revision: 37459 $
*/
public class ControllerStateTestCase extends AbstractDependencyTest
@@ -45,7 +46,7 @@
public void testExistingControllerState()
{
- ControllerState state = ControllerState.getInstance(ControllerState.CONFIGURED.getStateString());
+ ControllerState.getInstance(ControllerState.CONFIGURED.getStateString());
}
public void testNonExistingControllerStata()
@@ -69,6 +70,20 @@
ControllerState existing = ControllerState.newState("Kabir");
assertSame(created, existing);
- existing = ControllerState.getInstance("Kabir");
+ ControllerState.getInstance("Kabir");
}
+
+ @SuppressWarnings("deprecation")
+ public void testDeprecatedNewControllerStateUsage() throws Exception
+ {
+ ControllerState s1 = ControllerState.newState("Ales");
+ ControllerState s2 = ControllerState.getInstance("Ales");
+ ControllerState s3 = new ControllerState("Ales");
+ assertEquals(s1, s3);
+ assertEquals(s2, s3);
+ assertEquals(s1.hashCode(), s3.hashCode());
+ assertEquals(s2.hashCode(), s3.hashCode());
+
+ // TODO - more tests?
+ }
}
Modified: projects/kernel/trunk/guice-int/pom.xml
===================================================================
--- projects/kernel/trunk/guice-int/pom.xml 2010-01-13 12:11:48 UTC (rev 99336)
+++ projects/kernel/trunk/guice-int/pom.xml 2010-01-13 13:00:29 UTC (rev 99337)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.kernel</groupId>
<artifactId>jboss-mc-kernel</artifactId>
- <version>2.0.0-SNAPSHOT</version>
+ <version>2.2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jboss-guice-int</artifactId>
Modified: projects/kernel/trunk/jmx-aop-mc-int/pom.xml
===================================================================
--- projects/kernel/trunk/jmx-aop-mc-int/pom.xml 2010-01-13 12:11:48 UTC (rev 99336)
+++ projects/kernel/trunk/jmx-aop-mc-int/pom.xml 2010-01-13 13:00:29 UTC (rev 99337)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.kernel</groupId>
<artifactId>jboss-mc-kernel</artifactId>
- <version>2.0.0-SNAPSHOT</version>
+ <version>2.2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jboss-jmx-aop-mc-int</artifactId>
Modified: projects/kernel/trunk/jmx-mc-int/pom.xml
===================================================================
--- projects/kernel/trunk/jmx-mc-int/pom.xml 2010-01-13 12:11:48 UTC (rev 99336)
+++ projects/kernel/trunk/jmx-mc-int/pom.xml 2010-01-13 13:00:29 UTC (rev 99337)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.kernel</groupId>
<artifactId>jboss-mc-kernel</artifactId>
- <version>2.0.0-SNAPSHOT</version>
+ <version>2.2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jboss-jmx-mc-int</artifactId>
Modified: projects/kernel/trunk/kernel/pom.xml
===================================================================
--- projects/kernel/trunk/kernel/pom.xml 2010-01-13 12:11:48 UTC (rev 99336)
+++ projects/kernel/trunk/kernel/pom.xml 2010-01-13 13:00:29 UTC (rev 99337)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.kernel</groupId>
<artifactId>jboss-mc-kernel</artifactId>
- <version>2.0.0-SNAPSHOT</version>
+ <version>2.2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jboss-kernel</artifactId>
Modified: projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ScopedKernelController.java
===================================================================
--- projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ScopedKernelController.java 2010-01-13 12:11:48 UTC (rev 99336)
+++ projects/kernel/trunk/kernel/src/main/java/org/jboss/kernel/plugins/dependency/ScopedKernelController.java 2010-01-13 13:00:29 UTC (rev 99337)
@@ -29,6 +29,7 @@
import org.jboss.dependency.plugins.AbstractController;
import org.jboss.dependency.plugins.action.ControllerContextAction;
+import org.jboss.dependency.spi.Controller;
import org.jboss.dependency.spi.ControllerContext;
import org.jboss.dependency.spi.ControllerState;
import org.jboss.kernel.Kernel;
@@ -112,7 +113,12 @@
*/
void release()
{
- getParentController().removeController(this);
+ AbstractController controller = getParentController();
+ if (controller != null)
+ controller.removeController(this);
+ else
+ log.debug("Parent controller already released, cannot remove this: " + toString());
+
setUnderlyingController(null);
setParentController(null);
parentKernel = null;
@@ -140,12 +146,16 @@
{
return context;
}
- return getParentController().getContext(name, state);
+ Controller controller = getParentController();
+ return (controller != null) ? controller.getContext(name, state) : null;
}
public Set<ControllerContext> getNotInstalled()
{
- Set<ControllerContext> uninstalled = new HashSet<ControllerContext>(getParentController().getNotInstalled());
+ Set<ControllerContext> uninstalled = new HashSet<ControllerContext>();
+ Controller controller = getParentController();
+ if (controller != null)
+ uninstalled.addAll(controller.getNotInstalled());
uninstalled.addAll(super.getNotInstalled());
return uninstalled;
}
@@ -153,7 +163,9 @@
protected void install(ControllerContext context, boolean trace) throws Throwable
{
// we only allow install at top level
- getParentController().install(context);
+ Controller controller = getParentController();
+ if (controller != null)
+ controller.install(context);
}
// KernelController methods
Modified: projects/kernel/trunk/pom.xml
===================================================================
--- projects/kernel/trunk/pom.xml 2010-01-13 12:11:48 UTC (rev 99336)
+++ projects/kernel/trunk/pom.xml 2010-01-13 13:00:29 UTC (rev 99337)
@@ -7,7 +7,7 @@
</parent>
<groupId>org.jboss.kernel</groupId>
<artifactId>jboss-mc-kernel</artifactId>
- <version>2.0.0-SNAPSHOT</version>
+ <version>2.2.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>JBoss Microcontainer Kernel Parent POM</name>
<url>http://www.jboss.org/jbossmc/</url>
Modified: projects/kernel/trunk/spring-int/pom.xml
===================================================================
--- projects/kernel/trunk/spring-int/pom.xml 2010-01-13 12:11:48 UTC (rev 99336)
+++ projects/kernel/trunk/spring-int/pom.xml 2010-01-13 13:00:29 UTC (rev 99337)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.kernel</groupId>
<artifactId>jboss-mc-kernel</artifactId>
- <version>2.0.0-SNAPSHOT</version>
+ <version>2.2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jboss-spring-int</artifactId>
Modified: projects/kernel/trunk/weld-int/pom.xml
===================================================================
--- projects/kernel/trunk/weld-int/pom.xml 2010-01-13 12:11:48 UTC (rev 99336)
+++ projects/kernel/trunk/weld-int/pom.xml 2010-01-13 13:00:29 UTC (rev 99337)
@@ -2,7 +2,7 @@
<parent>
<groupId>org.jboss.kernel</groupId>
<artifactId>jboss-mc-kernel</artifactId>
- <version>2.0.0-SNAPSHOT</version>
+ <version>2.2.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jboss-weld-int</artifactId>
More information about the jboss-cvs-commits
mailing list