Author: cziegeler
Date: Wed Aug 18 12:29:58 2010
New Revision: 986645

URL: http://svn.apache.org/viewvc?rev=986645&view=rev
Log:
SLING-1560 : Simplify installer task handling.

Removed:
    
sling/trunk/installer/osgi/installer/src/test/java/org/apache/sling/osgi/installer/impl/MockOsgiInstallerContext.java
Modified:
    
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerTask.java
    
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerThread.java
    
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/config/ConfigInstallTask.java
    
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/config/ConfigRemoveTask.java
    
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/config/ConfigTaskCreator.java
    
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleInstallTask.java
    
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleRemoveTask.java
    
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleStartTask.java
    
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleTaskCreator.java
    
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleUpdateTask.java
    
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/SynchronousRefreshPackagesTask.java
    
sling/trunk/installer/osgi/installer/src/test/java/org/apache/sling/osgi/installer/impl/tasks/BundleTaskCreatorTest.java
    
sling/trunk/installer/osgi/installer/src/test/java/org/apache/sling/osgi/installer/impl/tasks/MockBundleTaskCreator.java

Modified: 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerTask.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerTask.java?rev=986645&r1=986644&r2=986645&view=diff
==============================================================================
--- 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerTask.java
 (original)
+++ 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerTask.java
 Wed Aug 18 12:29:58 2010
@@ -22,12 +22,7 @@ package org.apache.sling.osgi.installer.
 /** Base class for tasks that can be executed by the {...@link 
OsgiInstallerThread} */
 public abstract class OsgiInstallerTask implements 
Comparable<OsgiInstallerTask> {
 
-    public enum Result {
-        SUCCESS,
-        NOTHING
-    };
-
-    public abstract Result execute(OsgiInstallerContext ctx);
+    public abstract void execute(OsgiInstallerContext ctx);
 
        protected void logExecution() {
            Logger.logInfo("OsgiInstallerTask: executing  " + this);

Modified: 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerThread.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerThread.java?rev=986645&r1=986644&r2=986645&view=diff
==============================================================================
--- 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerThread.java
 (original)
+++ 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/OsgiInstallerThread.java
 Wed Aug 18 12:29:58 2010
@@ -40,7 +40,8 @@ import org.osgi.framework.BundleListener
 import org.osgi.framework.FrameworkEvent;
 import org.osgi.framework.FrameworkListener;
 
-/** Worker thread where all OSGi tasks are executed.
+/**
+ * Worker thread where all OSGi tasks are executed.
  *  Runs cycles where the list of RegisteredResources is examined,
  *  OsgiTasks are created accordingly and executed.
  *
@@ -51,17 +52,16 @@ import org.osgi.framework.FrameworkListe
 public class OsgiInstallerThread
     extends Thread
     implements BundleListener, FrameworkListener,
-               OsgiInstaller, OsgiInstallerContext {
+               OsgiInstaller {
 
     private final BundleContext ctx;
     private final List<RegisteredResource> newResources = new 
LinkedList<RegisteredResource>();
-    private final SortedSet<OsgiInstallerTask> tasks = new 
TreeSet<OsgiInstallerTask>();
     private final SortedSet<OsgiInstallerTask> tasksForNextCycle = new 
TreeSet<OsgiInstallerTask>();
     private final List<SortedSet<RegisteredResource>> newResourcesSets = new 
ArrayList<SortedSet<RegisteredResource>>();
     private final Set<String> newResourcesSchemes = new HashSet<String>();
     private final Set<String> urlsToRemove = new HashSet<String>();
-    private boolean active = true;
-    private boolean retriesScheduled;
+    private volatile boolean active = true;
+    private volatile boolean retriesScheduled;
 
     /** Group our RegisteredResource by OSGi entity */
     private final HashMap<String, SortedSet<RegisteredResource>> 
registeredResources;
@@ -99,9 +99,9 @@ public class OsgiInstallerThread
         while (active) {
             try {
                mergeNewResources();
-               computeTasks();
+                final SortedSet<OsgiInstallerTask> tasks = computeTasks();
 
-               if(tasks.isEmpty() && !retriesScheduled) {
+               if (tasks.isEmpty() && !retriesScheduled) {
                    // No tasks to execute - wait until new resources are
                    // registered
                    cleanupInstallableResources();
@@ -117,7 +117,7 @@ public class OsgiInstallerThread
                }
 
                retriesScheduled = false;
-                if(executeTasks() > 0) {
+                if(executeTasks(tasks) > 0) {
                     Logger.logDebug("Tasks have been executed, saving 
persistentList");
                     persistentList.save();
                 }
@@ -137,16 +137,6 @@ public class OsgiInstallerThread
         Logger.logInfo("Deactivated, exiting");
     }
 
-    /**
-     * @see 
org.apache.sling.osgi.installer.impl.OsgiInstallerContext#addTaskToCurrentCycle(org.apache.sling.osgi.installer.impl.OsgiInstallerTask)
-     */
-    public void addTaskToCurrentCycle(OsgiInstallerTask t) {
-        Logger.logDebug("adding task to current cycle:" + t);
-        synchronized (tasks) {
-            tasks.add(t);
-        }
-    }
-
     private void checkScheme(final String scheme) {
         if ( scheme == null || scheme.length() == 0 ) {
             throw new IllegalArgumentException("Scheme required");
@@ -290,18 +280,10 @@ public class OsgiInstallerThread
         }
     }
 
-    /**
-     * @see 
org.apache.sling.osgi.installer.impl.OsgiInstallerContext#addTaskToNextCycle(org.apache.sling.osgi.installer.impl.OsgiInstallerTask)
-     */
-    public void addTaskToNextCycle(OsgiInstallerTask t) {
-        Logger.logDebug("adding task to next cycle:" + t);
-        synchronized (tasksForNextCycle) {
-            tasksForNextCycle.add(t);
-        }
-    }
 
     /** Compute OSGi tasks based on our resources, and add to supplied list of 
tasks */
-    void computeTasks() throws Exception {
+    SortedSet<OsgiInstallerTask> computeTasks() throws Exception {
+        final SortedSet<OsgiInstallerTask> tasks = new 
TreeSet<OsgiInstallerTask>();
         // Add tasks that were scheduled for next cycle
         synchronized (tasksForNextCycle) {
             for(OsgiInstallerTask t : tasksForNextCycle) {
@@ -319,14 +301,31 @@ public class OsgiInstallerThread
             }
             final String rt = group.first().getType();
             if ( InstallableResource.TYPE_BUNDLE.equals(rt) ) {
-                bundleTaskCreator.createTasks(this, group, tasks);
+                bundleTaskCreator.createTasks(group, tasks);
             } else if ( InstallableResource.TYPE_CONFIG.equals(rt) ) {
-                configTaskCreator.createTasks(this, group, tasks);
+                configTaskCreator.createTasks(group, tasks);
             }
         }
+        return tasks;
     }
 
-    private int executeTasks() {
+    private int executeTasks(final SortedSet<OsgiInstallerTask> tasks) {
+        final OsgiInstallerContext ctx = new OsgiInstallerContext() {
+
+            public void addTaskToNextCycle(final OsgiInstallerTask t) {
+                Logger.logDebug("adding task to next cycle:" + t);
+                synchronized (tasksForNextCycle) {
+                    tasksForNextCycle.add(t);
+                }
+            }
+
+            public void addTaskToCurrentCycle(final OsgiInstallerTask t) {
+                Logger.logDebug("adding task to current cycle:" + t);
+                synchronized ( tasks ) {
+                    tasks.add(t);
+                }
+            }
+        };
         int counter = 0;
         while(!tasks.isEmpty()) {
             OsgiInstallerTask t = null;
@@ -334,7 +333,7 @@ public class OsgiInstallerThread
                 t = tasks.first();
                 tasks.remove(t);
             }
-            t.execute(this);
+            t.execute(ctx);
             counter++;
         }
         return counter;

Modified: 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/config/ConfigInstallTask.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/config/ConfigInstallTask.java?rev=986645&r1=986644&r2=986645&view=diff
==============================================================================
--- 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/config/ConfigInstallTask.java
 (original)
+++ 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/config/ConfigInstallTask.java
 Wed Aug 18 12:29:58 2010
@@ -57,12 +57,12 @@ public class ConfigInstallTask extends A
 
     @SuppressWarnings("unchecked")
        @Override
-    public Result execute(final OsgiInstallerContext ctx) {
+    public void execute(final OsgiInstallerContext ctx) {
         final ConfigurationAdmin ca = this.getConfigurationAdmin();
         if (ca == null) {
             ctx.addTaskToNextCycle(this);
             Logger.logDebug("ConfigurationAdmin not available, task will be 
retried later: " + this);
-            return Result.NOTHING;
+            return;
         }
 
         // Convert data to a configuration Dictionary
@@ -76,7 +76,7 @@ public class ConfigInstallTask extends A
         dict.put(CONFIG_PATH_KEY, resource.getURL());
 
         // Factory?
-        if(pid.getFactoryPid() != null) {
+        if (pid.getFactoryPid() != null) {
             dict.put(ALIAS_KEY, pid.getFactoryPid());
         }
 
@@ -85,11 +85,11 @@ public class ConfigInstallTask extends A
         boolean created = false;
         try {
             Configuration config = getConfiguration(ca, pid, false);
-            if(config == null) {
+            if (config == null) {
                 created = true;
                 config = getConfiguration(ca, pid, true);
             } else {
-                       if(isSameData(config.getProperties(), 
resource.getDictionary())) {
+                       if (isSameData(config.getProperties(), 
resource.getDictionary())) {
                            Logger.logDebug("Configuration " + config.getPid()
                                + " already installed with same data, update 
request ignored: "
                                + resource);
@@ -97,7 +97,7 @@ public class ConfigInstallTask extends A
                        }
             }
 
-            if(config != null) {
+            if (config != null) {
                 logExecution();
                 if (config.getBundleLocation() != null) {
                     config.setBundleLocation(null);
@@ -106,12 +106,12 @@ public class ConfigInstallTask extends A
                 Logger.logInfo("Configuration " + config.getPid()
                             + " " + (created ? "created" : "updated")
                             + " from " + resource);
-                return Result.SUCCESS;
+                return;
             }
         } catch (Exception e) {
             ctx.addTaskToNextCycle(this);
         }
-        return Result.NOTHING;
+        return;
     }
 
     private Set<String> collectKeys(final Dictionary<String, Object>a) {

Modified: 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/config/ConfigRemoveTask.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/config/ConfigRemoveTask.java?rev=986645&r1=986644&r2=986645&view=diff
==============================================================================
--- 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/config/ConfigRemoveTask.java
 (original)
+++ 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/config/ConfigRemoveTask.java
 Wed Aug 18 12:29:58 2010
@@ -47,27 +47,27 @@ public class ConfigRemoveTask extends Ab
     /**
      * @see 
org.apache.sling.osgi.installer.impl.OsgiInstallerTask#execute(org.apache.sling.osgi.installer.impl.OsgiInstallerContext)
      */
-    public Result execute(final OsgiInstallerContext ctx) {
+    public void execute(final OsgiInstallerContext ctx) {
         final ConfigurationAdmin ca = this.getConfigurationAdmin();
         if (ca == null) {
             ctx.addTaskToNextCycle(this);
             Logger.logDebug("ConfigurationAdmin not available, task will be 
retried later: " + this);
-            return Result.NOTHING;
+            return;
         }
 
         logExecution();
         try {
             final Configuration cfg = getConfiguration(ca, pid, false);
-            if(cfg == null) {
+            if (cfg == null) {
                 Logger.logDebug("Cannot delete config , pid=" + pid + " not 
found, ignored (" + resource + ")");
             } else {
                 Logger.logInfo("Deleting config " + pid + " (" + resource + 
")");
                 cfg.delete();
-                return Result.SUCCESS;
+                return;
             }
         } catch (Exception e) {
             ctx.addTaskToNextCycle(this);
         }
-        return Result.NOTHING;
+        return;
     }
 }
\ No newline at end of file

Modified: 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/config/ConfigTaskCreator.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/config/ConfigTaskCreator.java?rev=986645&r1=986644&r2=986645&view=diff
==============================================================================
--- 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/config/ConfigTaskCreator.java
 (original)
+++ 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/config/ConfigTaskCreator.java
 Wed Aug 18 12:29:58 2010
@@ -23,7 +23,6 @@ import java.util.Map;
 import java.util.SortedSet;
 
 import org.apache.sling.osgi.installer.impl.Logger;
-import org.apache.sling.osgi.installer.impl.OsgiInstallerContext;
 import org.apache.sling.osgi.installer.impl.OsgiInstallerTask;
 import org.apache.sling.osgi.installer.impl.RegisteredResource;
 import org.osgi.framework.BundleContext;
@@ -52,7 +51,7 @@ public class ConfigTaskCreator {
 
        /** Create tasks for a set of RegisteredResource that all represent the 
same config PID.
         */
-       public void createTasks(OsgiInstallerContext ctx, 
SortedSet<RegisteredResource> resources, SortedSet<OsgiInstallerTask> tasks) {
+       public void createTasks(SortedSet<RegisteredResource> resources, 
SortedSet<OsgiInstallerTask> tasks) {
 
                // Find the config that must be active: the resources 
collection is ordered according
                // to priorities, so we just need to find the first one that is 
installable

Modified: 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleInstallTask.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleInstallTask.java?rev=986645&r1=986644&r2=986645&view=diff
==============================================================================
--- 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleInstallTask.java
 (original)
+++ 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleInstallTask.java
 Wed Aug 18 12:29:58 2010
@@ -52,7 +52,7 @@ public class BundleInstallTask extends O
     /**
      * @see 
org.apache.sling.osgi.installer.impl.OsgiInstallerTask#execute(org.apache.sling.osgi.installer.impl.OsgiInstallerContext)
      */
-    public Result execute(final OsgiInstallerContext ctx) {
+    public void execute(final OsgiInstallerContext ctx) {
         int startLevel = 0;
         final Object providedLevel = (this.resource.getDictionary() != null
             ? 
this.resource.getDictionary().get(InstallableResource.BUNDLE_START_LEVEL) : 
null);
@@ -79,11 +79,11 @@ public class BundleInstallTask extends O
             this.creator.saveInstalledBundleInfo(b.getSymbolicName(), 
resource.getDigest(), newVersion.toString());
             logExecution();
             ctx.addTaskToCurrentCycle(new BundleStartTask(b.getBundleId(), 
this.creator));
-            return Result.SUCCESS;
+            return;
         } catch (Exception ex) {
             // if something goes wrong we simply try it again
             ctx.addTaskToCurrentCycle(this);
-            return Result.NOTHING;
+            return;
         }
     }
 

Modified: 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleRemoveTask.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleRemoveTask.java?rev=986645&r1=986644&r2=986645&view=diff
==============================================================================
--- 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleRemoveTask.java
 (original)
+++ 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleRemoveTask.java
 Wed Aug 18 12:29:58 2010
@@ -49,7 +49,7 @@ public class BundleRemoveTask extends Os
     }
 
     @Override
-    public Result execute(OsgiInstallerContext ctx) {
+    public void execute(OsgiInstallerContext ctx) {
         logExecution();
         final String symbolicName = 
(String)resource.getAttributes().get(Constants.BUNDLE_SYMBOLICNAME);
         final Bundle b = this.creator.getMatchingBundle(symbolicName);
@@ -64,10 +64,10 @@ public class BundleRemoveTask extends Os
             b.uninstall();
         } catch (BundleException be) {
             ctx.addTaskToNextCycle(this);
-            return Result.NOTHING;
+            return;
         }
         ctx.addTaskToCurrentCycle(new 
SynchronousRefreshPackagesTask(this.creator));
-        return Result.SUCCESS;
+        return;
     }
 
     @Override

Modified: 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleStartTask.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleStartTask.java?rev=986645&r1=986644&r2=986645&view=diff
==============================================================================
--- 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleStartTask.java
 (original)
+++ 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleStartTask.java
 Wed Aug 18 12:29:58 2010
@@ -62,11 +62,11 @@ public class BundleStartTask extends Osg
        /**
         * @see 
org.apache.sling.osgi.installer.impl.OsgiInstallerTask#execute(org.apache.sling.osgi.installer.impl.OsgiInstallerContext)
         */
-       public Result execute(final OsgiInstallerContext ctx) {
+       public void execute(final OsgiInstallerContext ctx) {
            // this is just a sanity check which should never be reached
         if (bundleId == 0) {
             Logger.logDebug("Bundle 0 is the framework bundle, ignoring 
request to start it");
-            return Result.NOTHING;
+            return;
         }
 
         // Do not execute this task if waiting for events
@@ -74,18 +74,18 @@ public class BundleStartTask extends Osg
         if (eventsCount < eventsCountForRetrying) {
             Logger.logDebug(this + " is not executable at this time, 
counters=" + eventsCountForRetrying + "/" + eventsCount);
             ctx.addTaskToNextCycle(this);
-            return Result.NOTHING;
+            return;
         }
 
         final Bundle b = this.creator.getBundleContext().getBundle(bundleId);
                if (b == null) {
                    Logger.logInfo("Cannot start bundle, id not found: " + 
bundleId);
-                       return Result.NOTHING;
+                       return;
                }
 
         if (b.getState() == Bundle.ACTIVE) {
             Logger.logDebug("Bundle already started, no action taken:" + 
bundleId + "/" + b.getSymbolicName());
-            return Result.SUCCESS;
+            return;
         }
         // Try to start bundle, and if that doesn't work we'll need to retry
         logExecution();
@@ -108,6 +108,6 @@ public class BundleStartTask extends Osg
             ctx.addTaskToNextCycle(this);
         }
 
-        return Result.SUCCESS;
+        return;
        }
 }

Modified: 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleTaskCreator.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleTaskCreator.java?rev=986645&r1=986644&r2=986645&view=diff
==============================================================================
--- 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleTaskCreator.java
 (original)
+++ 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleTaskCreator.java
 Wed Aug 18 12:29:58 2010
@@ -26,7 +26,6 @@ import java.util.TreeSet;
 
 import org.apache.sling.osgi.installer.OsgiInstaller;
 import org.apache.sling.osgi.installer.impl.Logger;
-import org.apache.sling.osgi.installer.impl.OsgiInstallerContext;
 import org.apache.sling.osgi.installer.impl.OsgiInstallerTask;
 import org.apache.sling.osgi.installer.impl.RegisteredResource;
 import org.osgi.framework.Bundle;
@@ -134,7 +133,7 @@ public class BundleTaskCreator {
         *  has desired state == active, and generates the appropriate OSGi 
tasks to
         *  reach this state.
         */
-       public void createTasks(OsgiInstallerContext ctx, 
SortedSet<RegisteredResource> resources, SortedSet<OsgiInstallerTask> tasks) 
throws IOException {
+       public void createTasks(SortedSet<RegisteredResource> resources, 
SortedSet<OsgiInstallerTask> tasks) throws IOException {
 
                // Find the bundle that must be active: the resources 
collection is ordered according
                // to priorities, so we just need to find the first one that is 
installable
@@ -154,7 +153,7 @@ public class BundleTaskCreator {
                if (toActivate == null) {
                    // None of our resources are installable, remove 
corresponding bundle if present
                    // and if we installed it
-                   if (getBundleInfo(ctx, resources.first()) != null) {
+                   if (getBundleInfo(resources.first()) != null) {
                        if (this.getInstalledBundleVersion(symbolicName) == 
null) {
                            Logger.logInfo("Bundle " + symbolicName
                                 + " was not installed by this module, not 
removed");
@@ -165,7 +164,7 @@ public class BundleTaskCreator {
                }
 
                } else {
-                       final BundleInfo info = getBundleInfo(ctx, toActivate);
+                       final BundleInfo info = getBundleInfo(toActivate);
                        final Version newVersion = new 
Version((String)toActivate.getAttributes().get(Constants.BUNDLE_VERSION));
                RegisteredResource toUpdate = null;
                        if (info == null) {
@@ -222,7 +221,7 @@ public class BundleTaskCreator {
                }
        }
 
-       protected BundleInfo getBundleInfo(OsgiInstallerContext ctx, 
RegisteredResource bundle) {
+       protected BundleInfo getBundleInfo(final RegisteredResource bundle) {
                final String symbolicName = 
(String)bundle.getAttributes().get(Constants.BUNDLE_SYMBOLICNAME);
                final Bundle b = this.getMatchingBundle(symbolicName);
                if (b == null) {

Modified: 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleUpdateTask.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleUpdateTask.java?rev=986645&r1=986644&r2=986645&view=diff
==============================================================================
--- 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleUpdateTask.java
 (original)
+++ 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/BundleUpdateTask.java
 Wed Aug 18 12:29:58 2010
@@ -57,7 +57,7 @@ public class BundleUpdateTask extends Os
     }
 
     @Override
-    public Result execute(OsgiInstallerContext ctx) {
+    public void execute(OsgiInstallerContext ctx) {
         final String symbolicName = 
(String)resource.getAttributes().get(Constants.BUNDLE_SYMBOLICNAME);
         final Bundle b = this.creator.getMatchingBundle(symbolicName);
         if(b == null) {
@@ -71,7 +71,7 @@ public class BundleUpdateTask extends Os
        snapshot = this.creator.isSnapshot(newVersion);
        if(currentVersion.equals(newVersion) && !snapshot) {
            Logger.logDebug("Same version is already installed, and not a 
snapshot, ignoring update:" + resource);
-               return Result.NOTHING;
+               return;
        }
 
        try {
@@ -82,7 +82,7 @@ public class BundleUpdateTask extends Os
                 final String oldDigest = 
this.creator.getInstalledBundleDigest(b);
                 if(resource.getDigest().equals(oldDigest)) {
                     Logger.logDebug("Snapshot digest did not change, ignoring 
update:" + resource);
-                    return Result.NOTHING;
+                    return;
                 }
             }
 
@@ -105,14 +105,14 @@ public class BundleUpdateTask extends Os
        } catch (Exception e) {
             if ( canRetry ) {
                 ctx.addTaskToCurrentCycle(this);
-                return Result.NOTHING;
+                return;
             }
             Logger.logWarn("Removing failing tasks - unable to retry: " + 
this, e);
-            return Result.NOTHING;
+            return;
        }
         ctx.addTaskToCurrentCycle(new 
SynchronousRefreshPackagesTask(this.creator));
         Logger.logDebug("Bundle updated: " + b.getBundleId() + "/" + 
b.getSymbolicName());
-        return Result.SUCCESS;
+        return;
     }
 
     @Override

Modified: 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/SynchronousRefreshPackagesTask.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/SynchronousRefreshPackagesTask.java?rev=986645&r1=986644&r2=986645&view=diff
==============================================================================
--- 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/SynchronousRefreshPackagesTask.java
 (original)
+++ 
sling/trunk/installer/osgi/installer/src/main/java/org/apache/sling/osgi/installer/impl/tasks/SynchronousRefreshPackagesTask.java
 Wed Aug 18 12:29:58 2010
@@ -74,7 +74,7 @@ public class SynchronousRefreshPackagesT
     /**
      * @see 
org.apache.sling.osgi.installer.impl.OsgiInstallerTask#execute(org.apache.sling.osgi.installer.impl.OsgiInstallerContext)
      */
-    public Result execute(OsgiInstallerContext ctx) {
+    public void execute(OsgiInstallerContext ctx) {
         logExecution();
         final int targetEventCount = packageRefreshEventsCount + 1;
         final long start = System.currentTimeMillis();
@@ -118,6 +118,6 @@ public class SynchronousRefreshPackagesT
         } finally {
                
this.bundleTaskCreator.getBundleContext().removeFrameworkListener(this);
         }
-        return Result.SUCCESS;
+        return;
        }
 }

Modified: 
sling/trunk/installer/osgi/installer/src/test/java/org/apache/sling/osgi/installer/impl/tasks/BundleTaskCreatorTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/test/java/org/apache/sling/osgi/installer/impl/tasks/BundleTaskCreatorTest.java?rev=986645&r1=986644&r2=986645&view=diff
==============================================================================
--- 
sling/trunk/installer/osgi/installer/src/test/java/org/apache/sling/osgi/installer/impl/tasks/BundleTaskCreatorTest.java
 (original)
+++ 
sling/trunk/installer/osgi/installer/src/test/java/org/apache/sling/osgi/installer/impl/tasks/BundleTaskCreatorTest.java
 Wed Aug 18 12:29:58 2010
@@ -26,21 +26,13 @@ import java.util.SortedSet;
 import java.util.TreeSet;
 
 import org.apache.sling.osgi.installer.impl.MockBundleResource;
-import org.apache.sling.osgi.installer.impl.MockOsgiInstallerContext;
 import org.apache.sling.osgi.installer.impl.OsgiInstallerTask;
 import org.apache.sling.osgi.installer.impl.RegisteredResource;
-import org.junit.Before;
 import org.junit.Test;
 import org.osgi.framework.Bundle;
 
 public class BundleTaskCreatorTest {
        public static final String SN = "TestSymbolicName";
-       private MockOsgiInstallerContext ctx;
-
-       @Before
-       public void setUp() throws IOException {
-           ctx = new MockOsgiInstallerContext();
-       }
 
        private SortedSet<OsgiInstallerTask> getTasks(RegisteredResource [] 
resources, BundleTaskCreator btc) throws IOException {
                final SortedSet<RegisteredResource> s = new 
TreeSet<RegisteredResource>();
@@ -49,7 +41,7 @@ public class BundleTaskCreatorTest {
                }
 
                final SortedSet<OsgiInstallerTask> tasks = new 
TreeSet<OsgiInstallerTask>();
-               btc.createTasks(ctx, s, tasks);
+               btc.createTasks(s, tasks);
                return tasks;
        }
 

Modified: 
sling/trunk/installer/osgi/installer/src/test/java/org/apache/sling/osgi/installer/impl/tasks/MockBundleTaskCreator.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/osgi/installer/src/test/java/org/apache/sling/osgi/installer/impl/tasks/MockBundleTaskCreator.java?rev=986645&r1=986644&r2=986645&view=diff
==============================================================================
--- 
sling/trunk/installer/osgi/installer/src/test/java/org/apache/sling/osgi/installer/impl/tasks/MockBundleTaskCreator.java
 (original)
+++ 
sling/trunk/installer/osgi/installer/src/test/java/org/apache/sling/osgi/installer/impl/tasks/MockBundleTaskCreator.java
 Wed Aug 18 12:29:58 2010
@@ -25,10 +25,7 @@ import java.util.Dictionary;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.sling.osgi.installer.impl.MockOsgiInstallerContext;
-import org.apache.sling.osgi.installer.impl.OsgiInstallerContext;
 import org.apache.sling.osgi.installer.impl.RegisteredResource;
-import org.apache.sling.osgi.installer.impl.tasks.BundleTaskCreator;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleException;
@@ -118,7 +115,7 @@ class MockBundleTaskCreator extends Bund
 
             public File getDataFile(String filename) {
                 try {
-                    final File f = 
File.createTempFile(MockOsgiInstallerContext.class.getSimpleName(), ".data");
+                    final File f = 
File.createTempFile(MockBundleTaskCreator.class.getSimpleName(), ".data");
                     f.deleteOnExit();
                     return f;
                 } catch (final IOException ioe) {
@@ -180,7 +177,7 @@ class MockBundleTaskCreator extends Bund
     }
 
     @Override
-    protected BundleInfo getBundleInfo(OsgiInstallerContext ctx, 
RegisteredResource bundle) {
+    protected BundleInfo getBundleInfo(RegisteredResource bundle) {
         return 
fakeBundleInfo.get(bundle.getAttributes().get(Constants.BUNDLE_SYMBOLICNAME));
     }
 }


Reply via email to