[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