Author: cziegeler
Date: Tue Aug 24 15:26:50 2010
New Revision: 988593

URL: http://svn.apache.org/viewvc?rev=988593&view=rev
Log:
SLING-1560 : Improve and clean up code

Modified:
    
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerImpl.java
    
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/PersistentResourceList.java

Modified: 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerImpl.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerImpl.java?rev=988593&r1=988592&r2=988593&view=diff
==============================================================================
--- 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerImpl.java
 (original)
+++ 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerImpl.java
 Tue Aug 24 15:26:50 2010
@@ -22,7 +22,6 @@ import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
@@ -63,24 +62,13 @@ public class OsgiInstallerImpl
     private volatile boolean active = true;
     private volatile boolean retriesScheduled;
 
-    /** Group our RegisteredResource by OSGi entity */
-    private final HashMap<String, SortedSet<RegisteredResource>> 
registeredResources;
-    private final PersistentResourceList persistentList;
+    private PersistentResourceList persistentList;
 
-    private final BundleTaskCreator bundleTaskCreator;
-    private final ConfigTaskCreator configTaskCreator;
+    private BundleTaskCreator bundleTaskCreator;
+    private ConfigTaskCreator configTaskCreator;
 
     OsgiInstallerImpl(final BundleContext ctx) {
         this.ctx = ctx;
-        // listen to framework and bundle events
-        this.ctx.addFrameworkListener(this);
-        this.ctx.addBundleListener(this);
-        this.configTaskCreator = new ConfigTaskCreator(ctx);
-        this.bundleTaskCreator = new BundleTaskCreator(ctx);
-        setName(getClass().getSimpleName());
-        final File f = ctx.getDataFile("RegisteredResourceList.ser");
-        persistentList = new PersistentResourceList(f);
-        registeredResources = persistentList.getData();
     }
 
     void deactivate() {
@@ -96,6 +84,14 @@ public class OsgiInstallerImpl
 
     @Override
     public void run() {
+        // listen to framework and bundle events
+        this.ctx.addFrameworkListener(this);
+        this.ctx.addBundleListener(this);
+        this.configTaskCreator = new ConfigTaskCreator(ctx);
+        this.bundleTaskCreator = new BundleTaskCreator(ctx);
+        setName(getClass().getSimpleName());
+        final File f = ctx.getDataFile("RegisteredResourceList.ser");
+        persistentList = new PersistentResourceList(f);
         while (active) {
             try {
                mergeNewResources();
@@ -237,7 +233,7 @@ public class OsgiInstallerImpl
                         Logger.logDebug("New resource set to non-installable: 
" + r);
                     }
                  }
-                for(SortedSet<RegisteredResource> ss : 
registeredResources.values()) {
+                for(SortedSet<RegisteredResource> ss : 
this.persistentList.getData().values()) {
                     for(RegisteredResource r : ss) {
                         if(r.getScheme().equals(scheme)) {
                             r.setInstallable(false);
@@ -255,10 +251,10 @@ public class OsgiInstallerImpl
             newResourcesSchemes.clear();
 
             for(RegisteredResource r : newResources) {
-                SortedSet<RegisteredResource> t = 
registeredResources.get(r.getEntityId());
+                SortedSet<RegisteredResource> t = 
this.persistentList.getData().get(r.getEntityId());
                 if(t == null) {
                     t = new TreeSet<RegisteredResource>();
-                    registeredResources.put(r.getEntityId(), t);
+                    this.persistentList.getData().put(r.getEntityId(), t);
                 }
 
                 // If an object with same sort key is already present, replace 
with the
@@ -278,7 +274,7 @@ public class OsgiInstallerImpl
 
             // Mark resources for removal according to urlsToRemove
             if(!urlsToRemove.isEmpty()) {
-                for(SortedSet<RegisteredResource> group : 
registeredResources.values()) {
+                for(SortedSet<RegisteredResource> group : 
this.persistentList.getData().values()) {
                        for(RegisteredResource r : group) {
                                if(urlsToRemove.contains(r.getURL())) {
                                    Logger.logDebug("Marking " + r + " 
uninistallable, URL is included in urlsToRemove");
@@ -306,7 +302,7 @@ public class OsgiInstallerImpl
         // Walk the list of entities, and create appropriate OSGi tasks for 
each group
         // TODO do nothing for a group that's "stable" - i.e. one where no 
tasks were
         // created in the last cycle??
-        for(SortedSet<RegisteredResource> group : 
registeredResources.values()) {
+        for(SortedSet<RegisteredResource> group : 
this.persistentList.getData().values()) {
             if (group.isEmpty()) {
                 continue;
             }
@@ -356,7 +352,7 @@ public class OsgiInstallerImpl
         int resourceCount = 0;
         final List<RegisteredResource> toDelete = new 
ArrayList<RegisteredResource>();
         final List<String> groupKeysToRemove = new ArrayList<String>();
-        for(SortedSet<RegisteredResource> group : 
registeredResources.values()) {
+        for(SortedSet<RegisteredResource> group : 
this.persistentList.getData().values()) {
             toDelete.clear();
             String key = null;
             for(RegisteredResource r : group) {
@@ -377,7 +373,7 @@ public class OsgiInstallerImpl
         }
 
         for(String key : groupKeysToRemove) {
-            registeredResources.remove(key);
+            this.persistentList.getData().remove(key);
         }
 
         // List of resources might have changed

Modified: 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/PersistentResourceList.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/PersistentResourceList.java?rev=988593&r1=988592&r2=988593&view=diff
==============================================================================
--- 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/PersistentResourceList.java
 (original)
+++ 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/PersistentResourceList.java
 Tue Aug 24 15:26:50 2010
@@ -25,6 +25,7 @@ import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.util.HashMap;
+import java.util.Map;
 import java.util.SortedSet;
 
 /** Persistent list of RegisteredResource, used by installer to
@@ -57,7 +58,7 @@ class PersistentResourceList {
         data = restoredData != null ? restoredData : new HashMap<String, 
SortedSet<RegisteredResource>>();
     }
 
-    HashMap<String, SortedSet<RegisteredResource>>  getData() {
+    Map<String, SortedSet<RegisteredResource>>  getData() {
         return data;
     }
 


Reply via email to