You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by du...@apache.org on 2018/05/10 12:27:08 UTC

svn commit: r1831331 - /felix/trunk/systemready/src/main/java/org/apache/felix/systemready/impl/FrameworkStartCheck.java

Author: dulvac
Date: Thu May 10 12:27:08 2018
New Revision: 1831331

URL: http://svn.apache.org/viewvc?rev=1831331&view=rev
Log:
More info to the FrameworkStartCheck

Modified:
    felix/trunk/systemready/src/main/java/org/apache/felix/systemready/impl/FrameworkStartCheck.java

Modified: felix/trunk/systemready/src/main/java/org/apache/felix/systemready/impl/FrameworkStartCheck.java
URL: http://svn.apache.org/viewvc/felix/trunk/systemready/src/main/java/org/apache/felix/systemready/impl/FrameworkStartCheck.java?rev=1831331&r1=1831330&r2=1831331&view=diff
==============================================================================
--- felix/trunk/systemready/src/main/java/org/apache/felix/systemready/impl/FrameworkStartCheck.java (original)
+++ felix/trunk/systemready/src/main/java/org/apache/felix/systemready/impl/FrameworkStartCheck.java Thu May 10 12:27:08 2018
@@ -23,6 +23,7 @@ import org.apache.felix.systemready.Syst
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.FrameworkEvent;
+import org.osgi.framework.startlevel.FrameworkStartLevel;
 import org.osgi.service.component.annotations.Activate;
 import org.osgi.service.component.annotations.Component;
 import org.osgi.service.component.annotations.ConfigurationPolicy;
@@ -42,7 +43,6 @@ public class FrameworkStartCheck impleme
 
     public static final String FRAMEWORK_STARTED = "Framework started";
     public static final String FRAMEWORK_START_CHECK_NAME = "Framework Start Check";
-
     @ObjectClassDefinition(
             name="OSGi Installer System Ready Check",
             description="System ready that waits for the framework started OSGi event"
@@ -56,8 +56,6 @@ public class FrameworkStartCheck impleme
 
     private final Logger log = LoggerFactory.getLogger(getClass());
     private BundleContext bundleContext;
-
-    private int count = 0;
     private Status state;
 
     @Activate
@@ -69,7 +67,7 @@ public class FrameworkStartCheck impleme
             // The system bundle was already started when I joined
             this.state = new Status(Status.State.GREEN, FRAMEWORK_STARTED);
         } else {
-            this.state = new Status(Status.State.YELLOW, "No OSGi Framework events received so far");
+            this.state = new Status(Status.State.YELLOW, "No OSGi Framework events received so far. " + getFrameworkDetails());
         }
         log.info("Activated");
     }
@@ -91,10 +89,14 @@ public class FrameworkStartCheck impleme
 
     public void frameworkEvent(FrameworkEvent event) {
         if (event.getType() == FrameworkEvent.STARTLEVEL_CHANGED) {
-            this.count ++;
-            this.state = new Status(Status.State.YELLOW, "Received " + count + " startlevel changes so far");
+            this.state = new Status(Status.State.YELLOW, getFrameworkDetails());
         } else if (event.getType() == FrameworkEvent.STARTED) {
             this.state = new Status(Status.State.GREEN, FRAMEWORK_STARTED);
         } // TODO: RED on timeout?
     }
+
+    private String getFrameworkDetails() {
+        FrameworkStartLevel fsl = bundleContext.getBundle(0).adapt(FrameworkStartLevel.class);
+        return String.format("Framework is at start level {} in state {}", fsl.getStartLevel(), fsl.getBundle().getState());
+    }
 }