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>");