You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2014/12/30 15:21:03 UTC
svn commit: r1648533 - in /sling/trunk/installer/core: ./
src/main/java/org/apache/sling/installer/api/
src/main/java/org/apache/sling/installer/api/event/
src/main/java/org/apache/sling/installer/api/info/
src/main/java/org/apache/sling/installer/api/...
Author: cziegeler
Date: Tue Dec 30 14:21:02 2014
New Revision: 1648533
URL: http://svn.apache.org/r1648533
Log:
SLING-4271 : Provide a way to mark a resource as a template
Added:
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/package-info.java (with props)
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/package-info.java (with props)
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/jmx/package-info.java (with props)
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/package-info.java (with props)
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/package-info.java (with props)
Modified:
sling/trunk/installer/core/pom.xml
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/InstallableResource.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/OsgiInstaller.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/ResourceChangeListener.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/UpdateHandler.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/InstallationEvent.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/InstallationListener.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/InfoProvider.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/InstallationState.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/Resource.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/ResourceGroup.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/jmx/InstallerMBean.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/InstallTaskFactory.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/InstallationContext.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/RegisteredResource.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/ResourceTransformer.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/RetryHandler.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/TaskResource.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/TaskResourceGroup.java
sling/trunk/installer/core/src/main/java/org/apache/sling/installer/core/impl/EntityResourceList.java
Modified: sling/trunk/installer/core/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/pom.xml?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/pom.xml (original)
+++ sling/trunk/installer/core/pom.xml Tue Dec 30 14:21:02 2014
@@ -54,15 +54,15 @@
<Bundle-Activator>
org.apache.sling.installer.core.impl.Activator
</Bundle-Activator>
- <Private-Package>
- org.apache.sling.installer.core.impl.*
- </Private-Package>
+ <Private-Package>
+ org.apache.sling.installer.core.impl.*
+ </Private-Package>
<Export-Package>
- org.apache.sling.installer.api;version=3.1.2,
- org.apache.sling.installer.api.info;version=1.0.0,
- org.apache.sling.installer.api.event;version=1.0.0,
- org.apache.sling.installer.api.tasks;version=1.3.0,
- org.apache.sling.installer.api.jmx;version=1.0.0
+ org.apache.sling.installer.api,
+ org.apache.sling.installer.api.info,
+ org.apache.sling.installer.api.event,
+ org.apache.sling.installer.api.tasks,
+ org.apache.sling.installer.api.jmx
</Export-Package>
<!--
As we make use of optional features from 4.3 if they
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/InstallableResource.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/InstallableResource.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/InstallableResource.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/InstallableResource.java Tue Dec 30 14:21:02 2014
@@ -112,10 +112,29 @@ public class InstallableResource {
* This property might also be set for an {@link UpdateHandler} in order
* to give a hint for the (file) name the resource or dictionary should
* have.
- * @since 3.2.2
+ * @since 3.1.2
*/
public static final String RESOURCE_URI_HINT = "resource.uri.hint";
+ /**
+ * Optional parameter to be passed in the dictionary.
+ * If this property is set (the value is ignored), this artifact acts like a template:
+ * If the artifact is changed into a new artifact and later this new artifact is deleted,
+ * the installer will not revert to the template. Without this property, the installer
+ * would install the original artifact again.
+ * For example: if a configuration is installed and then changed through configuration
+ * admin, a new artifact for the new configuration is created and managed.
+ * If now this configuration is deleted through configuration admin and the original
+ * configuration is not marked as a template, the original configuration is applied:
+ * the delete through config admin is not a remove of the configuration but a revert
+ * to the initial version.
+ * If the initial configuration is marked as template with this property, the removal
+ * of the changed configuration results in a real removal.
+ *
+ * @since 3.2.0
+ */
+ public static final String RESOURCE_IS_TEMPLATE = "org.apache.sling.installer.api.template";
+
/** Default resource priority */
public static final int DEFAULT_PRIORITY = 100;
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/OsgiInstaller.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/OsgiInstaller.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/OsgiInstaller.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/OsgiInstaller.java Tue Dec 30 14:21:02 2014
@@ -18,6 +18,8 @@
*/
package org.apache.sling.installer.api;
+import aQute.bnd.annotation.ProviderType;
+
/**
* Service for installing/updating/removing installable resources
* {@link InstallableResource} in an OSGi framework.
@@ -50,6 +52,7 @@ package org.apache.sling.installer.api;
* update an already installed artifact or simply ignore them.
* For example, for bundles the symbolic name and the version is used.
*/
+@ProviderType
public interface OsgiInstaller {
/**
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/ResourceChangeListener.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/ResourceChangeListener.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/ResourceChangeListener.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/ResourceChangeListener.java Tue Dec 30 14:21:02 2014
@@ -22,6 +22,8 @@ import java.io.InputStream;
import java.util.Dictionary;
import java.util.Map;
+import aQute.bnd.annotation.ProviderType;
+
/**
* OSGi Service listening for changes of resources.
@@ -32,6 +34,7 @@ import java.util.Map;
*
* @since 3.1
*/
+@ProviderType
public interface ResourceChangeListener {
/**
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/UpdateHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/UpdateHandler.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/UpdateHandler.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/UpdateHandler.java Tue Dec 30 14:21:02 2014
@@ -22,6 +22,8 @@ import java.io.InputStream;
import java.util.Dictionary;
import java.util.Map;
+import aQute.bnd.annotation.ConsumerType;
+
/**
* An update handler is a service handling updates of resources through other ways
@@ -30,6 +32,7 @@ import java.util.Map;
*
* @since 3.1
*/
+@ConsumerType
public interface UpdateHandler {
/**
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/InstallationEvent.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/InstallationEvent.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/InstallationEvent.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/InstallationEvent.java Tue Dec 30 14:21:02 2014
@@ -18,6 +18,8 @@
*/
package org.apache.sling.installer.api.event;
+import aQute.bnd.annotation.ProviderType;
+
/**
* Optional listener which can be used to monitor the activities
@@ -25,6 +27,7 @@ package org.apache.sling.installer.api.e
*
* @since 1.0
*/
+@ProviderType
public interface InstallationEvent {
public enum TYPE {
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/InstallationListener.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/InstallationListener.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/InstallationListener.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/InstallationListener.java Tue Dec 30 14:21:02 2014
@@ -18,6 +18,8 @@
*/
package org.apache.sling.installer.api.event;
+import aQute.bnd.annotation.ConsumerType;
+
/**
* Optional listener which can be used to monitor the activities
@@ -25,6 +27,7 @@ package org.apache.sling.installer.api.e
*
* @since 1.0
*/
+@ConsumerType
public interface InstallationListener {
/**
Added: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/package-info.java?rev=1648533&view=auto
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/package-info.java (added)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/package-info.java Tue Dec 30 14:21:02 2014
@@ -0,0 +1,24 @@
+/*
+ * 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.
+ */
+
+@Version("1.0.2")
+package org.apache.sling.installer.api.event;
+
+import aQute.bnd.annotation.Version;
+
Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/package-info.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/package-info.java
------------------------------------------------------------------------------
svn:keywords = author date id revision rev url
Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/event/package-info.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/InfoProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/InfoProvider.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/InfoProvider.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/InfoProvider.java Tue Dec 30 14:21:02 2014
@@ -18,6 +18,8 @@
*/
package org.apache.sling.installer.api.info;
+import aQute.bnd.annotation.ProviderType;
+
/**
* The info provider delivers information about the current state of the
@@ -25,6 +27,7 @@ package org.apache.sling.installer.api.i
*
* @since 1.0
*/
+@ProviderType
public interface InfoProvider {
/**
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/InstallationState.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/InstallationState.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/InstallationState.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/InstallationState.java Tue Dec 30 14:21:02 2014
@@ -22,11 +22,14 @@ import java.util.List;
import org.apache.sling.installer.api.tasks.RegisteredResource;
+import aQute.bnd.annotation.ProviderType;
+
/**
* The state of the OSGi installer at a given time.
*
* @since 1.0
*/
+@ProviderType
public interface InstallationState {
/**
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/Resource.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/Resource.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/Resource.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/Resource.java Tue Dec 30 14:21:02 2014
@@ -24,6 +24,8 @@ import org.apache.sling.installer.api.ta
import org.apache.sling.installer.api.tasks.ResourceTransformer;
import org.osgi.framework.Version;
+import aQute.bnd.annotation.ProviderType;
+
/**
* A resource provides all relevant information about a registered
@@ -31,6 +33,7 @@ import org.osgi.framework.Version;
*
* @since 1.0
*/
+@ProviderType
public interface Resource extends RegisteredResource {
/**
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/ResourceGroup.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/ResourceGroup.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/ResourceGroup.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/ResourceGroup.java Tue Dec 30 14:21:02 2014
@@ -20,11 +20,14 @@ package org.apache.sling.installer.api.i
import java.util.List;
+import aQute.bnd.annotation.ProviderType;
+
/**
* This is a group of resources all pointing to the same artifact,
* but maybe in different versions or locations.
* @since 1.0
*/
+@ProviderType
public interface ResourceGroup {
/**
Added: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/package-info.java?rev=1648533&view=auto
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/package-info.java (added)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/package-info.java Tue Dec 30 14:21:02 2014
@@ -0,0 +1,24 @@
+/*
+ * 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.
+ */
+
+@Version("1.0.2")
+package org.apache.sling.installer.api.info;
+
+import aQute.bnd.annotation.Version;
+
Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/package-info.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/package-info.java
------------------------------------------------------------------------------
svn:keywords = author date id revision rev url
Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/info/package-info.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/jmx/InstallerMBean.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/jmx/InstallerMBean.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/jmx/InstallerMBean.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/jmx/InstallerMBean.java Tue Dec 30 14:21:02 2014
@@ -19,6 +19,9 @@
package org.apache.sling.installer.api.jmx;
+import aQute.bnd.annotation.ProviderType;
+
+@ProviderType
public interface InstallerMBean {
/**
Added: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/jmx/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/jmx/package-info.java?rev=1648533&view=auto
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/jmx/package-info.java (added)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/jmx/package-info.java Tue Dec 30 14:21:02 2014
@@ -0,0 +1,24 @@
+/*
+ * 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.
+ */
+
+@Version("1.0.2")
+package org.apache.sling.installer.api.jmx;
+
+import aQute.bnd.annotation.Version;
+
Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/jmx/package-info.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/jmx/package-info.java
------------------------------------------------------------------------------
svn:keywords = author date id revision rev url
Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/jmx/package-info.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/package-info.java?rev=1648533&view=auto
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/package-info.java (added)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/package-info.java Tue Dec 30 14:21:02 2014
@@ -0,0 +1,24 @@
+/*
+ * 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.
+ */
+
+@Version("3.2.0")
+package org.apache.sling.installer.api;
+
+import aQute.bnd.annotation.Version;
+
Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/package-info.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/package-info.java
------------------------------------------------------------------------------
svn:keywords = author date id revision rev url
Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/package-info.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/InstallTaskFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/InstallTaskFactory.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/InstallTaskFactory.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/InstallTaskFactory.java Tue Dec 30 14:21:02 2014
@@ -18,6 +18,8 @@
*/
package org.apache.sling.installer.api.tasks;
+import aQute.bnd.annotation.ConsumerType;
+
/**
* The install task factory creates a task for a given
* resource.
@@ -25,6 +27,7 @@ package org.apache.sling.installer.api.t
* checks a resource if it is installable by this plugin
* and creates an appropriate task.
*/
+@ConsumerType
public interface InstallTaskFactory {
/**
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/InstallationContext.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/InstallationContext.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/InstallationContext.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/InstallationContext.java Tue Dec 30 14:21:02 2014
@@ -18,6 +18,8 @@
*/
package org.apache.sling.installer.api.tasks;
+import aQute.bnd.annotation.ProviderType;
+
/**
* Context for the installation tasks.
*
@@ -30,6 +32,7 @@ package org.apache.sling.installer.api.t
* succeeded like something has been installed, updated or
* deleted.
*/
+@ProviderType
public interface InstallationContext {
/**
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/RegisteredResource.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/RegisteredResource.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/RegisteredResource.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/RegisteredResource.java Tue Dec 30 14:21:02 2014
@@ -22,11 +22,14 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.Dictionary;
+import aQute.bnd.annotation.ProviderType;
+
/**
* A resource that's been registered in the OSGi controller.
* Data can be either an input stream or a dictionary.
* Registered resources are processed by a {@link ResourceTransformer}.
*/
+@ProviderType
public interface RegisteredResource {
/**
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/ResourceTransformer.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/ResourceTransformer.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/ResourceTransformer.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/ResourceTransformer.java Tue Dec 30 14:21:02 2014
@@ -18,6 +18,8 @@
*/
package org.apache.sling.installer.api.tasks;
+import aQute.bnd.annotation.ConsumerType;
+
/**
* A resource transformer transform a registered resource
* before it can be installed.
@@ -25,6 +27,7 @@ package org.apache.sling.installer.api.t
* one or more {@link TaskResource}s from the registered
* resources and passes them on to the {@link InstallTaskFactory}.
*/
+@ConsumerType
public interface ResourceTransformer {
/**
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/RetryHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/RetryHandler.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/RetryHandler.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/RetryHandler.java Tue Dec 30 14:21:02 2014
@@ -18,6 +18,8 @@
*/
package org.apache.sling.installer.api.tasks;
+import aQute.bnd.annotation.ProviderType;
+
/**
* The retry handler should be informed by external services
* whenever something in the system changed which might make
@@ -30,6 +32,7 @@ package org.apache.sling.installer.api.t
*
* @since 1.2
*/
+@ProviderType
public interface RetryHandler {
/**
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/TaskResource.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/TaskResource.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/TaskResource.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/TaskResource.java Tue Dec 30 14:21:02 2014
@@ -20,12 +20,15 @@ package org.apache.sling.installer.api.t
import org.osgi.framework.Version;
+import aQute.bnd.annotation.ProviderType;
+
/**
* A task resource is a registered resource which has been
* processed by a {@link ResourceTransformer} and is now
* about to be processed by an {@link InstallTask}.
*/
+@ProviderType
public interface TaskResource extends RegisteredResource {
/** Additional installation information in human readable format. */
Modified: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/TaskResourceGroup.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/TaskResourceGroup.java?rev=1648533&r1=1648532&r2=1648533&view=diff
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/TaskResourceGroup.java (original)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/TaskResourceGroup.java Tue Dec 30 14:21:02 2014
@@ -18,10 +18,13 @@
*/
package org.apache.sling.installer.api.tasks;
+import aQute.bnd.annotation.ProviderType;
+
/**
* This is a group of resources all pointing to the same artifact,
* but maybe in different versions or locations.
*/
+@ProviderType
public interface TaskResourceGroup {
Added: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/package-info.java?rev=1648533&view=auto
==============================================================================
--- sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/package-info.java (added)
+++ sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/package-info.java Tue Dec 30 14:21:02 2014
@@ -0,0 +1,24 @@
+/*
+ * 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.
+ */
+
+@Version("1.3.2")
+package org.apache.sling.installer.api.tasks;
+
+import aQute.bnd.annotation.Version;
+
Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/package-info.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/package-info.java
------------------------------------------------------------------------------
svn:keywords = author date id revision rev url
Propchange: sling/trunk/installer/core/src/main/java/org/apache/sling/installer/api/tasks/package-info.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
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=1648533&r1=1648532&r2=1648533&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 Tue Dec 30 14:21:02 2014
@@ -28,6 +28,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.Set;
+import org.apache.sling.installer.api.InstallableResource;
import org.apache.sling.installer.api.event.InstallationEvent;
import org.apache.sling.installer.api.event.InstallationListener;
import org.apache.sling.installer.api.tasks.RegisteredResource;
@@ -203,10 +204,15 @@ public class EntityResourceList implemen
final TaskResource toActivate = getActiveResource();
if ( toActivate != null ) {
if ( toActivate.getState() == ResourceState.UNINSTALL
- && this.resources.size() > 1 ) {
+ && this.resources.size() > 1 ) {
final TaskResource second = this.getNextActiveResource();
- if ( state == ResourceState.UNINSTALLED ) {
+ // check for template
+ if ( second.getDictionary() != null
+ && second.getDictionary().get(InstallableResource.RESOURCE_IS_TEMPLATE) != null ) {
+ // second resource is a template! Do not install
+ ((RegisteredResourceImpl)second).setState(ResourceState.IGNORED);
+ } else if ( state == ResourceState.UNINSTALLED ) {
// first resource got uninstalled, go back to second
if (second.getState() == ResourceState.IGNORED || second.getState() == ResourceState.INSTALLED) {
LOGGER.debug("Reactivating for next cycle: {}", second);