Author: olli
Date: Sat Oct 17 15:31:06 2015
New Revision: 1709186

URL: http://svn.apache.org/viewvc?rev=1709186&view=rev
Log:
adjust to simple (no startup handler)

Removed:
    
sling/whiteboard/olli/settings/simple/src/main/java/org/apache/sling/settings/simple/internal/Activator.java
Modified:
    sling/whiteboard/olli/settings/simple/pom.xml
    
sling/whiteboard/olli/settings/simple/src/main/java/org/apache/sling/settings/simple/internal/ServicesListener.java
    
sling/whiteboard/olli/settings/simple/src/main/java/org/apache/sling/settings/simple/internal/SettingsServiceConfigurator.java
    
sling/whiteboard/olli/settings/simple/src/main/java/org/apache/sling/settings/simple/internal/SimpleSlingSettingsService.java

Modified: sling/whiteboard/olli/settings/simple/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/whiteboard/olli/settings/simple/pom.xml?rev=1709186&r1=1709185&r2=1709186&view=diff
==============================================================================
--- sling/whiteboard/olli/settings/simple/pom.xml (original)
+++ sling/whiteboard/olli/settings/simple/pom.xml Sat Oct 17 15:31:06 2015
@@ -60,6 +60,15 @@
                         <Bundle-DocURL>
                             
http://sling.apache.org/documentation/bundles/sling-settings-orgapacheslingsettings.html
                         </Bundle-DocURL>
+                        <DynamicImport-Package>
+                            org.osgi.service.cm,
+                            org.apache.felix.shell
+                        </DynamicImport-Package>
+                        <Import-Package>
+                            org.osgi.service.cm;resolution:=optional,
+                            org.apache.felix.shell;resolution:=optional, 
+                            *
+                        </Import-Package>
                     </instructions>
                 </configuration>
             </plugin>

Modified: 
sling/whiteboard/olli/settings/simple/src/main/java/org/apache/sling/settings/simple/internal/ServicesListener.java
URL: 
http://svn.apache.org/viewvc/sling/whiteboard/olli/settings/simple/src/main/java/org/apache/sling/settings/simple/internal/ServicesListener.java?rev=1709186&r1=1709185&r2=1709186&view=diff
==============================================================================
--- 
sling/whiteboard/olli/settings/simple/src/main/java/org/apache/sling/settings/simple/internal/ServicesListener.java
 (original)
+++ 
sling/whiteboard/olli/settings/simple/src/main/java/org/apache/sling/settings/simple/internal/ServicesListener.java
 Sat Oct 17 15:31:06 2015
@@ -16,12 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.settings.launchpad.internal;
+package org.apache.sling.settings.simple.internal;
 
 import java.util.Dictionary;
 import java.util.Hashtable;
 
-import org.apache.sling.launchpad.api.StartupHandler;
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Deactivate;
 import org.apache.sling.settings.SlingSettingsService;
 import org.apache.sling.settings.console.SlingSettingsPrinter;
 import org.apache.sling.settings.shell.RunModeCommand;
@@ -41,10 +42,7 @@ import org.osgi.framework.ServiceRegistr
 public class ServicesListener {
 
     /** The bundle context. */
-    private final BundleContext bundleContext;
-
-    /** The listener for the startup handler. */
-    private final Listener startupListener;
+    private BundleContext bundleContext;
 
     /** The listener for configuration admin. */
     private ConfigAdminListener configAdminListener;
@@ -56,30 +54,12 @@ public class ServicesListener {
     /** The registration of the settings service. */
     private ServiceRegistration settingsReg;
 
-    /**
-     * Start listeners
-     */
-    public ServicesListener(final BundleContext bundleContext) {
-        this.bundleContext = bundleContext;
-        this.startupListener = new Listener(StartupHandler.class.getName());
-        this.startupListener.start();
+    public ServicesListener() {
     }
 
-    /**
-     * Notify of service changes from the listeners.
-     * If all services are available, register listener and pass resources
-     * to the OSGi installer.
-     */
-    public synchronized void notifyChange() {
-        // check if all services are available
-        final StartupHandler handler = 
(StartupHandler)this.startupListener.getService();
-        if ( handler != null && this.settingsReg == null ) {
-            this.activate(handler);
-        }
-    }
-
-    private void activate(final StartupHandler handler) {
-        final SlingSettingsServiceImpl settingsService = new 
SlingSettingsServiceImpl(bundleContext, handler);
+    @Activate
+    public void activate(final BundleContext bundleContext) {
+        final SimpleSlingSettingsService settingsService = new 
SimpleSlingSettingsService(bundleContext);
 
         final Dictionary<String, String> props = new Hashtable<String, 
String>();
         props.put(Constants.SERVICE_DESCRIPTION,
@@ -88,7 +68,6 @@ public class ServicesListener {
         this.settingsReg = bundleContext.registerService(new String[] {
                                                
SlingSettingsService.class.getName()},
                                                settingsService, props);
-        SlingPropertiesPrinter.initPlugin(bundleContext);
         SlingSettingsPrinter.initPlugin(bundleContext, settingsService);
 
         // add config admin support
@@ -103,6 +82,7 @@ public class ServicesListener {
     /**
      * Deactivate this listener.
      */
+    @Deactivate
     public void deactivate() {
         if ( this.shellListener != null ) {
             this.shellListener.deactivate();
@@ -112,14 +92,12 @@ public class ServicesListener {
             this.configAdminListener.deactivate();
             this.configAdminListener = null;
         }
-        this.startupListener.deactivate();
         if ( this.settingsReg != null ) {
             this.settingsReg.unregister();
             this.settingsReg = null;
         }
 
         SlingSettingsPrinter.destroyPlugin();
-        SlingPropertiesPrinter.destroyPlugin();
     }
 
     /**
@@ -216,36 +194,18 @@ public class ServicesListener {
     }
 
     /**
-     * Helper class listening for service events for a defined service.
-     */
-    private final class Listener extends AbstractListener {
-
-        /**
-         * Constructor
-         */
-        public Listener(final String serviceName) {
-            super(serviceName);
-        }
-
-        @Override
-        protected void serviceChanged() {
-            notifyChange();
-        }
-    }
-
-    /**
      * Helper class listening for service events for config admin
      */
     private final class ConfigAdminListener extends AbstractListener {
 
         private Object settingsServiceConfigurator;
 
-        private final SlingSettingsServiceImpl settings;
+        private final SimpleSlingSettingsService settings;
 
         /**
          * Constructor
          */
-        public ConfigAdminListener(final SlingSettingsServiceImpl settings) {
+        public ConfigAdminListener(final SimpleSlingSettingsService settings) {
             super("org.osgi.service.cm.ConfigurationAdmin");
             this.settings = settings;
         }
@@ -275,12 +235,12 @@ public class ServicesListener {
 
         private Object runModeCommand;
 
-        private final SlingSettingsServiceImpl settings;
+        private final SimpleSlingSettingsService settings;
 
         /**
          * Constructor
          */
-        public ShellListener(final SlingSettingsServiceImpl settings) {
+        public ShellListener(final SimpleSlingSettingsService settings) {
             super("org.apache.felix.shell.ShellService");
             this.settings = settings;
         }

Modified: 
sling/whiteboard/olli/settings/simple/src/main/java/org/apache/sling/settings/simple/internal/SettingsServiceConfigurator.java
URL: 
http://svn.apache.org/viewvc/sling/whiteboard/olli/settings/simple/src/main/java/org/apache/sling/settings/simple/internal/SettingsServiceConfigurator.java?rev=1709186&r1=1709185&r2=1709186&view=diff
==============================================================================
--- 
sling/whiteboard/olli/settings/simple/src/main/java/org/apache/sling/settings/simple/internal/SettingsServiceConfigurator.java
 (original)
+++ 
sling/whiteboard/olli/settings/simple/src/main/java/org/apache/sling/settings/simple/internal/SettingsServiceConfigurator.java
 Sat Oct 17 15:31:06 2015
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.settings.launchpad.internal;
+package org.apache.sling.settings.simple.internal;
 
 import java.util.Dictionary;
 import java.util.Hashtable;
@@ -29,12 +29,12 @@ import org.osgi.service.cm.ManagedServic
 
 public class SettingsServiceConfigurator implements ManagedService {
 
-    private final SlingSettingsServiceImpl settings;
+    private final SimpleSlingSettingsService settings;
 
     private final ServiceRegistration managedServiceReg;
 
     public SettingsServiceConfigurator(final BundleContext btx,
-            final SlingSettingsServiceImpl s) {
+            final SimpleSlingSettingsService s) {
         this.settings = s;
         // setup manager service for configuration handling
         final Dictionary<String, String> msProps = new Hashtable<String, 
String>();

Modified: 
sling/whiteboard/olli/settings/simple/src/main/java/org/apache/sling/settings/simple/internal/SimpleSlingSettingsService.java
URL: 
http://svn.apache.org/viewvc/sling/whiteboard/olli/settings/simple/src/main/java/org/apache/sling/settings/simple/internal/SimpleSlingSettingsService.java?rev=1709186&r1=1709185&r2=1709186&view=diff
==============================================================================
--- 
sling/whiteboard/olli/settings/simple/src/main/java/org/apache/sling/settings/simple/internal/SimpleSlingSettingsService.java
 (original)
+++ 
sling/whiteboard/olli/settings/simple/src/main/java/org/apache/sling/settings/simple/internal/SimpleSlingSettingsService.java
 Sat Oct 17 15:31:06 2015
@@ -33,6 +33,21 @@ public class SimpleSlingSettingsService
     private final Logger logger = 
LoggerFactory.getLogger(SimpleSlingSettingsService.class);
 
     /**
+     * Create the service and search the Sling home urls and
+     * get/create a sling id.
+     * Setup run modes
+     * @param context The bundle context
+     */
+    public SimpleSlingSettingsService(final BundleContext context) {
+        this.setupSlingProps(context);
+        this.setupSlingHome(context);
+        this.setupSlingId(context);
+
+        this.setupRunModes(context);
+
+    }
+
+    /**
      * Set up run modes.
      */
     private void setupRunModes(final BundleContext context) {


Reply via email to