Author: cziegeler Date: Thu Jan 6 12:39:54 2011 New Revision: 1055853 URL: http://svn.apache.org/viewvc?rev=1055853&view=rev Log: SLING-1920 : Make installers pluggable Introduce new interface RegisteredResourceGroup to avoid making the whole EntityResourceList public
Added: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/RegisteredResourceGroup.java (with props) Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/EntityResourceList.java sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerTask.java sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/AbstractConfigTask.java sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/ConfigInstallTask.java sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/ConfigRemoveTask.java sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/ConfigTaskCreator.java sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleInstallTask.java sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleRemoveTask.java sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleStartTask.java sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleTaskCreator.java sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleUpdateTask.java sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/ChangeStateTask.java sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/SystemBundleUpdateTask.java Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/EntityResourceList.java URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/EntityResourceList.java?rev=1055853&r1=1055852&r2=1055853&view=diff ============================================================================== --- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/EntityResourceList.java (original) +++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/EntityResourceList.java Thu Jan 6 12:39:54 2011 @@ -34,7 +34,7 @@ import org.slf4j.LoggerFactory; * Persistent list of RegisteredResource, used by installer to * keep track of all registered resources */ -public class EntityResourceList implements Serializable { +public class EntityResourceList implements Serializable, RegisteredResourceGroup { /** Use own serial version ID as we control serialization. */ private static final long serialVersionUID = 6L; Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerTask.java URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerTask.java?rev=1055853&r1=1055852&r2=1055853&view=diff ============================================================================== --- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerTask.java (original) +++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/OsgiInstallerTask.java Thu Jan 6 12:39:54 2011 @@ -27,20 +27,20 @@ import org.slf4j.LoggerFactory; */ public abstract class OsgiInstallerTask implements Comparable<OsgiInstallerTask> { - private final EntityResourceList entityResourceList; + private final RegisteredResourceGroup resourceGroup; private final Logger logger = LoggerFactory.getLogger(this.getClass()); - public OsgiInstallerTask(final EntityResourceList erl) { - this.entityResourceList = erl; + public OsgiInstallerTask(final RegisteredResourceGroup erl) { + this.resourceGroup = erl; } /** * Return the corresponding resource - depending on the task this might be null. */ public RegisteredResource getResource() { - if ( this.entityResourceList != null ) { - return this.entityResourceList.getActiveResource(); + if ( this.resourceGroup != null ) { + return this.resourceGroup.getActiveResource(); } return null; } @@ -48,8 +48,8 @@ public abstract class OsgiInstallerTask /** * Return the corresponding resource - depending on the task this might be null. */ - public EntityResourceList getEntityResourceList() { - return this.entityResourceList; + public RegisteredResourceGroup getResourceGroup() { + return this.resourceGroup; } public Logger getLogger() { @@ -67,7 +67,7 @@ public abstract class OsgiInstallerTask } public void setFinishedState(final RegisteredResource.State state) { - this.entityResourceList.setFinishState(state); + this.resourceGroup.setFinishState(state); } @Override Added: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/RegisteredResourceGroup.java URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/RegisteredResourceGroup.java?rev=1055853&view=auto ============================================================================== --- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/RegisteredResourceGroup.java (added) +++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/RegisteredResourceGroup.java Thu Jan 6 12:39:54 2011 @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.sling.installer.core.impl; + + +/** + * This is a group of resources all pointing to the same artifact, + * but maybe in different versions or locations. + */ +public interface RegisteredResourceGroup { + + + /** + * Return the first resource if it either needs to be installed or uninstalled. + */ + RegisteredResource getActiveResource(); + + + /** + * Set the finish state for active the resource. + * If this resource has been uninstalled, check the next in the list if it needs to + * be reactivated. + */ + void setFinishState(RegisteredResource.State state); +} Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/RegisteredResourceGroup.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/RegisteredResourceGroup.java ------------------------------------------------------------------------------ svn:keywords = author date id revision rev url Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/RegisteredResourceGroup.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/AbstractConfigTask.java URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/AbstractConfigTask.java?rev=1055853&r1=1055852&r2=1055853&view=diff ============================================================================== --- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/AbstractConfigTask.java (original) +++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/AbstractConfigTask.java Thu Jan 6 12:39:54 2011 @@ -24,8 +24,8 @@ import java.util.Enumeration; import java.util.HashSet; import java.util.Set; -import org.apache.sling.installer.core.impl.EntityResourceList; import org.apache.sling.installer.core.impl.OsgiInstallerTask; +import org.apache.sling.installer.core.impl.RegisteredResourceGroup; import org.osgi.framework.Constants; import org.osgi.framework.InvalidSyntaxException; import org.osgi.service.cm.Configuration; @@ -48,7 +48,7 @@ abstract class AbstractConfigTask extend /** Tracker for the configuration admin. */ private final ServiceTracker configAdminServiceTracker; - AbstractConfigTask(final EntityResourceList r, final ServiceTracker configAdminServiceTracker) { + AbstractConfigTask(final RegisteredResourceGroup r, final ServiceTracker configAdminServiceTracker) { super(r); this.configAdminServiceTracker = configAdminServiceTracker; this.configPid = (String)getResource().getAttributes().get(Constants.SERVICE_PID); Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/ConfigInstallTask.java URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/ConfigInstallTask.java?rev=1055853&r1=1055852&r2=1055853&view=diff ============================================================================== --- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/ConfigInstallTask.java (original) +++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/ConfigInstallTask.java Thu Jan 6 12:39:54 2011 @@ -18,9 +18,9 @@ */ package org.apache.sling.installer.core.impl.config; -import org.apache.sling.installer.core.impl.EntityResourceList; import org.apache.sling.installer.core.impl.OsgiInstallerContext; import org.apache.sling.installer.core.impl.RegisteredResource; +import org.apache.sling.installer.core.impl.RegisteredResourceGroup; import org.osgi.service.cm.Configuration; import org.osgi.service.cm.ConfigurationAdmin; import org.osgi.util.tracker.ServiceTracker; @@ -32,7 +32,7 @@ public class ConfigInstallTask extends A private static final String CONFIG_INSTALL_ORDER = "20-"; - public ConfigInstallTask(final EntityResourceList r, final ServiceTracker configAdminServiceTracker) { + public ConfigInstallTask(final RegisteredResourceGroup r, final ServiceTracker configAdminServiceTracker) { super(r, configAdminServiceTracker); } Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/ConfigRemoveTask.java URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/ConfigRemoveTask.java?rev=1055853&r1=1055852&r2=1055853&view=diff ============================================================================== --- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/ConfigRemoveTask.java (original) +++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/ConfigRemoveTask.java Thu Jan 6 12:39:54 2011 @@ -18,9 +18,9 @@ */ package org.apache.sling.installer.core.impl.config; -import org.apache.sling.installer.core.impl.EntityResourceList; import org.apache.sling.installer.core.impl.OsgiInstallerContext; import org.apache.sling.installer.core.impl.RegisteredResource; +import org.apache.sling.installer.core.impl.RegisteredResourceGroup; import org.osgi.service.cm.Configuration; import org.osgi.service.cm.ConfigurationAdmin; import org.osgi.util.tracker.ServiceTracker; @@ -30,7 +30,7 @@ public class ConfigRemoveTask extends Ab private static final String CONFIG_REMOVE_ORDER = "10-"; - public ConfigRemoveTask(final EntityResourceList r, + public ConfigRemoveTask(final RegisteredResourceGroup r, final ServiceTracker configAdminServiceTracker) { super(r, configAdminServiceTracker); } Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/ConfigTaskCreator.java URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/ConfigTaskCreator.java?rev=1055853&r1=1055852&r2=1055853&view=diff ============================================================================== --- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/ConfigTaskCreator.java (original) +++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/config/ConfigTaskCreator.java Thu Jan 6 12:39:54 2011 @@ -18,9 +18,9 @@ */ package org.apache.sling.installer.core.impl.config; -import org.apache.sling.installer.core.impl.EntityResourceList; import org.apache.sling.installer.core.impl.OsgiInstallerTask; import org.apache.sling.installer.core.impl.RegisteredResource; +import org.apache.sling.installer.core.impl.RegisteredResourceGroup; import org.osgi.framework.BundleContext; import org.osgi.service.cm.ConfigurationAdmin; import org.osgi.util.tracker.ServiceTracker; @@ -58,7 +58,7 @@ public class ConfigTaskCreator { /** * Create a task to install or uninstall a configuration. */ - public OsgiInstallerTask createTask(final EntityResourceList toActivate) { + public OsgiInstallerTask createTask(final RegisteredResourceGroup toActivate) { // if there is no config admin, just return if ( this.configAdminServiceTracker.getService() == null ) { return null; Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleInstallTask.java URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleInstallTask.java?rev=1055853&r1=1055852&r2=1055853&view=diff ============================================================================== --- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleInstallTask.java (original) +++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleInstallTask.java Thu Jan 6 12:39:54 2011 @@ -19,9 +19,9 @@ package org.apache.sling.installer.core.impl.tasks; import org.apache.sling.installer.api.InstallableResource; -import org.apache.sling.installer.core.impl.EntityResourceList; import org.apache.sling.installer.core.impl.OsgiInstallerContext; import org.apache.sling.installer.core.impl.OsgiInstallerTask; +import org.apache.sling.installer.core.impl.RegisteredResourceGroup; import org.osgi.framework.Bundle; import org.osgi.service.startlevel.StartLevel; @@ -33,7 +33,7 @@ public class BundleInstallTask extends O private final BundleTaskCreator creator; - public BundleInstallTask(final EntityResourceList r, + public BundleInstallTask(final RegisteredResourceGroup r, final BundleTaskCreator creator) { super(r); this.creator = creator; @@ -70,7 +70,7 @@ public class BundleInstallTask extends O // mark this resource as installed and to be started this.getResource().getAttributes().put(BundleTaskCreator.ATTR_START, "true"); - ctx.addTaskToCurrentCycle(new BundleStartTask(getEntityResourceList(), b.getBundleId(), this.creator)); + ctx.addTaskToCurrentCycle(new BundleStartTask(getResourceGroup(), b.getBundleId(), this.creator)); } catch (Exception ex) { // if something goes wrong we simply try it again this.getLogger().debug("Exception during install of bundle " + this.getResource() + " : " + ex.getMessage() + ". Retrying later.", ex); Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleRemoveTask.java URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleRemoveTask.java?rev=1055853&r1=1055852&r2=1055853&view=diff ============================================================================== --- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleRemoveTask.java (original) +++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleRemoveTask.java Thu Jan 6 12:39:54 2011 @@ -18,10 +18,10 @@ */ package org.apache.sling.installer.core.impl.tasks; -import org.apache.sling.installer.core.impl.EntityResourceList; import org.apache.sling.installer.core.impl.OsgiInstallerContext; import org.apache.sling.installer.core.impl.OsgiInstallerTask; import org.apache.sling.installer.core.impl.RegisteredResource; +import org.apache.sling.installer.core.impl.RegisteredResourceGroup; import org.osgi.framework.Bundle; import org.osgi.framework.BundleException; import org.osgi.framework.Constants; @@ -36,7 +36,7 @@ public class BundleRemoveTask extends Os private final BundleTaskCreator creator; - public BundleRemoveTask(final EntityResourceList r, + public BundleRemoveTask(final RegisteredResourceGroup r, final BundleTaskCreator creator) { super(r); this.creator = creator; Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleStartTask.java URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleStartTask.java?rev=1055853&r1=1055852&r2=1055853&view=diff ============================================================================== --- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleStartTask.java (original) +++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleStartTask.java Thu Jan 6 12:39:54 2011 @@ -20,11 +20,11 @@ package org.apache.sling.installer.core. import java.text.DecimalFormat; -import org.apache.sling.installer.core.impl.EntityResourceList; import org.apache.sling.installer.core.impl.OsgiInstallerContext; import org.apache.sling.installer.core.impl.OsgiInstallerImpl; import org.apache.sling.installer.core.impl.OsgiInstallerTask; import org.apache.sling.installer.core.impl.RegisteredResource; +import org.apache.sling.installer.core.impl.RegisteredResourceGroup; import org.osgi.framework.Bundle; import org.osgi.framework.BundleException; @@ -47,7 +47,7 @@ public class BundleStartTask extends Osg private final BundleTaskCreator creator; - public BundleStartTask(final EntityResourceList r, final long bundleId, final BundleTaskCreator btc) { + public BundleStartTask(final RegisteredResourceGroup r, final long bundleId, final BundleTaskCreator btc) { super(r); this.bundleId = bundleId; this.creator = btc; Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleTaskCreator.java URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleTaskCreator.java?rev=1055853&r1=1055852&r2=1055853&view=diff ============================================================================== --- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleTaskCreator.java (original) +++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleTaskCreator.java Thu Jan 6 12:39:54 2011 @@ -18,9 +18,9 @@ */ package org.apache.sling.installer.core.impl.tasks; -import org.apache.sling.installer.core.impl.EntityResourceList; import org.apache.sling.installer.core.impl.OsgiInstallerTask; import org.apache.sling.installer.core.impl.RegisteredResource; +import org.apache.sling.installer.core.impl.RegisteredResourceGroup; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; import org.osgi.framework.Constants; @@ -116,7 +116,7 @@ public class BundleTaskCreator { /** * Create a bundle task - install, update or remove */ - public OsgiInstallerTask createTask(final EntityResourceList resourceList) { + public OsgiInstallerTask createTask(final RegisteredResourceGroup resourceList) { final RegisteredResource toActivate = resourceList.getActiveResource(); final OsgiInstallerTask result; Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleUpdateTask.java URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleUpdateTask.java?rev=1055853&r1=1055852&r2=1055853&view=diff ============================================================================== --- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleUpdateTask.java (original) +++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/BundleUpdateTask.java Thu Jan 6 12:39:54 2011 @@ -18,10 +18,10 @@ */ package org.apache.sling.installer.core.impl.tasks; -import org.apache.sling.installer.core.impl.EntityResourceList; import org.apache.sling.installer.core.impl.OsgiInstallerContext; import org.apache.sling.installer.core.impl.OsgiInstallerTask; import org.apache.sling.installer.core.impl.RegisteredResource; +import org.apache.sling.installer.core.impl.RegisteredResourceGroup; import org.osgi.framework.Bundle; import org.osgi.framework.Constants; import org.osgi.framework.Version; @@ -38,7 +38,7 @@ public class BundleUpdateTask extends Os private final BundleTaskCreator creator; - public BundleUpdateTask(final EntityResourceList r, + public BundleUpdateTask(final RegisteredResourceGroup r, final BundleTaskCreator creator) { super(r); this.creator = creator; @@ -80,7 +80,7 @@ public class BundleUpdateTask extends Os if (reactivate) { this.getResource().getAttributes().put(BundleTaskCreator.ATTR_START, "true"); - ctx.addTaskToCurrentCycle(new BundleStartTask(this.getEntityResourceList(), b.getBundleId(), this.creator)); + ctx.addTaskToCurrentCycle(new BundleStartTask(this.getResourceGroup(), b.getBundleId(), this.creator)); } else { this.setFinishedState(RegisteredResource.State.INSTALLED); } Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/ChangeStateTask.java URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/ChangeStateTask.java?rev=1055853&r1=1055852&r2=1055853&view=diff ============================================================================== --- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/ChangeStateTask.java (original) +++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/ChangeStateTask.java Thu Jan 6 12:39:54 2011 @@ -18,10 +18,10 @@ */ package org.apache.sling.installer.core.impl.tasks; -import org.apache.sling.installer.core.impl.EntityResourceList; import org.apache.sling.installer.core.impl.OsgiInstallerContext; import org.apache.sling.installer.core.impl.OsgiInstallerTask; import org.apache.sling.installer.core.impl.RegisteredResource; +import org.apache.sling.installer.core.impl.RegisteredResourceGroup; /** * Simple general task, setting the state of a registered resource. @@ -32,7 +32,7 @@ public class ChangeStateTask extends Osg private final RegisteredResource.State state; - public ChangeStateTask(final EntityResourceList r, + public ChangeStateTask(final RegisteredResourceGroup r, final RegisteredResource.State s) { super(r); this.state = s; Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/SystemBundleUpdateTask.java URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/SystemBundleUpdateTask.java?rev=1055853&r1=1055852&r2=1055853&view=diff ============================================================================== --- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/SystemBundleUpdateTask.java (original) +++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/tasks/SystemBundleUpdateTask.java Thu Jan 6 12:39:54 2011 @@ -21,9 +21,9 @@ package org.apache.sling.installer.core. import java.io.IOException; import java.io.InputStream; -import org.apache.sling.installer.core.impl.EntityResourceList; import org.apache.sling.installer.core.impl.OsgiInstallerContext; import org.apache.sling.installer.core.impl.OsgiInstallerTask; +import org.apache.sling.installer.core.impl.RegisteredResourceGroup; import org.osgi.framework.Bundle; import org.osgi.framework.BundleException; import org.osgi.framework.Constants; @@ -37,7 +37,7 @@ public class SystemBundleUpdateTask exte private final BundleTaskCreator creator; - public SystemBundleUpdateTask(final EntityResourceList r, + public SystemBundleUpdateTask(final RegisteredResourceGroup r, final BundleTaskCreator creator) { super(r); this.creator = creator;