Author: cziegeler
Date: Wed Oct  4 08:44:16 2017
New Revision: 1811052

URL: http://svn.apache.org/viewvc?rev=1811052&view=rev
Log:
Update activator, add automatic reload

Modified:
    
sling/whiteboard/cziegeler/demo.startup/src/main/java/org/apache/sling/demo/startup/impl/Activator.java
    
sling/whiteboard/cziegeler/demo.startup/src/main/java/org/apache/sling/demo/startup/impl/StartupFilter.java

Modified: 
sling/whiteboard/cziegeler/demo.startup/src/main/java/org/apache/sling/demo/startup/impl/Activator.java
URL: 
http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/demo.startup/src/main/java/org/apache/sling/demo/startup/impl/Activator.java?rev=1811052&r1=1811051&r2=1811052&view=diff
==============================================================================
--- 
sling/whiteboard/cziegeler/demo.startup/src/main/java/org/apache/sling/demo/startup/impl/Activator.java
 (original)
+++ 
sling/whiteboard/cziegeler/demo.startup/src/main/java/org/apache/sling/demo/startup/impl/Activator.java
 Wed Oct  4 08:44:16 2017
@@ -31,6 +31,12 @@ import org.osgi.util.tracker.ServiceTrac
 
 public class Activator implements BundleActivator {
 
+    private final String[] REQUIRED_SERVICES = new String[] {
+            "org.apache.sling.api.auth.Authenticator",
+            "org.apache.sling.api.resource.ResourceResolverFactory",
+            "org.apache.sling.api.servlets.ServletResolver"
+    };
+
     private volatile ServiceTracker<InfoProvider, InfoProvider> 
infoProviderTracker;
 
     private volatile HttpStartupSetup httpSetup;
@@ -98,7 +104,9 @@ public class Activator implements Bundle
                     public void run() {
                         final InstallationState state = 
service.getInstallationState();
                         if ( state.getActiveResources().isEmpty()
-                             && state.getUntransformedResources().isEmpty() ) {
+                             && state.getUntransformedResources().isEmpty()
+                             && checkServices(context)) {
+
                             httpSetup.stop();
                             this.cancel();
                         }
@@ -128,4 +136,19 @@ public class Activator implements Bundle
             infoProviderTracker = null;
         }
     }
+
+    private boolean checkServices(final BundleContext context) {
+        for(final String name : REQUIRED_SERVICES) {
+            final ServiceReference<?> ref = context.getServiceReference(name);
+            if ( ref == null ) {
+                return false;
+            }
+            final Object service = context.getService(ref);
+            if ( service == null ) {
+                return false;
+            }
+            context.ungetService(ref);
+        }
+        return true;
+    }
 }

Modified: 
sling/whiteboard/cziegeler/demo.startup/src/main/java/org/apache/sling/demo/startup/impl/StartupFilter.java
URL: 
http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/demo.startup/src/main/java/org/apache/sling/demo/startup/impl/StartupFilter.java?rev=1811052&r1=1811051&r2=1811052&view=diff
==============================================================================
--- 
sling/whiteboard/cziegeler/demo.startup/src/main/java/org/apache/sling/demo/startup/impl/StartupFilter.java
 (original)
+++ 
sling/whiteboard/cziegeler/demo.startup/src/main/java/org/apache/sling/demo/startup/impl/StartupFilter.java
 Wed Oct  4 08:44:16 2017
@@ -44,7 +44,9 @@ public class StartupFilter implements Fi
         ((HttpServletResponse)response).setHeader("Cache-Control", "no-store");
         final PrintWriter pw = response.getWriter();
 
-        pw.println("<html><head><title>Apache Sling...</title></head>");
+        pw.println("<html><head>");
+        pw.println("<META HTTP-EQUIV=\"refresh\" CONTENT=\"5\">");
+        pw.println("<title>Apache Sling...</title></head>");
         pw.println("<body>");
         pw.println("<h1>Apache Sling is starting up....</h1>");
         pw.println("</body>");


Reply via email to