[jboss-cvs] JBossAS SVN: r100745 - in projects/kernel/trunk: jmx-mc-int/src/main/java/org/jboss/system/microcontainer and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Feb 9 07:46:36 EST 2010
Author: alesj
Date: 2010-02-09 07:46:35 -0500 (Tue, 09 Feb 2010)
New Revision: 100745
Modified:
projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/MapControllerStateModel.java
projects/kernel/trunk/jmx-mc-int/src/main/java/org/jboss/system/microcontainer/LifecycleInfo.java
Log:
[JBKERNEL-91]; fix JMX's LifecycleInfo handling, to be more PS like.
Modified: projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/MapControllerStateModel.java
===================================================================
--- projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/MapControllerStateModel.java 2010-02-09 12:28:12 UTC (rev 100744)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/MapControllerStateModel.java 2010-02-09 12:46:35 UTC (rev 100745)
@@ -31,7 +31,8 @@
import org.jboss.dependency.spi.ControllerState;
/**
- *
+ * Map based controller state model.
+ *
* @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
* @version $Revision: 1.1 $
*/
@@ -177,9 +178,7 @@
public boolean isValidState(ControllerState state)
{
- if (state == null)
- return false;
- return states.containsKey(state);
+ return state != null && states.containsKey(state);
}
public ControllerState getInitialState()
Modified: projects/kernel/trunk/jmx-mc-int/src/main/java/org/jboss/system/microcontainer/LifecycleInfo.java
===================================================================
--- projects/kernel/trunk/jmx-mc-int/src/main/java/org/jboss/system/microcontainer/LifecycleInfo.java 2010-02-09 12:28:12 UTC (rev 100744)
+++ projects/kernel/trunk/jmx-mc-int/src/main/java/org/jboss/system/microcontainer/LifecycleInfo.java 2010-02-09 12:46:35 UTC (rev 100745)
@@ -21,6 +21,9 @@
*/
package org.jboss.system.microcontainer;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.security.PrivilegedExceptionAction;
import java.util.HashMap;
import java.util.Map;
import javax.management.MBeanInfo;
@@ -41,9 +44,23 @@
*/
public class LifecycleInfo
{
+ private final static ControllerState startState;
private ServiceControllerContext context;
private Map<String, StateInfo> lifecycleOps;
+ static
+ {
+ startState = AccessController.doPrivileged(new PrivilegedAction<ControllerState>()
+ {
+ public ControllerState run()
+ {
+ // by default we use Installed, as that's how ProfileService needs it
+ String state = System.getProperty("jboss.system.lifecycle.start_state", ControllerState.INSTALLED.getStateString());
+ return ControllerState.getInstance(state);
+ }
+ });
+ }
+
/**
* @param context the ServiceControllerContext
* @throws Throwable for any error
@@ -54,10 +71,11 @@
throw new IllegalArgumentException("Null context");
this.context = context;
+
// build possible lifecycle ops
lifecycleOps = new HashMap<String, StateInfo>();
lifecycleOps.put("create", new StateInfo(false, true, ControllerState.CREATE));
- lifecycleOps.put("start", new StateInfo(false, true, ControllerState.START));
+ lifecycleOps.put("start", new StateInfo(false, true, startState));
lifecycleOps.put("stop", new StateInfo(false, false, ControllerState.CREATE));
lifecycleOps.put("destroy", new StateInfo(false, false, ControllerState.CONFIGURED));
More information about the jboss-cvs-commits
mailing list