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 2015/04/27 22:40:35 UTC
svn commit: r1676376 - in
/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal:
BaseImportLoader.java ContentLoaderService.java DefaultContentImporter.java
Author: cziegeler
Date: Mon Apr 27 20:40:35 2015
New Revision: 1676376
URL: http://svn.apache.org/r1676376
Log:
Don't use scr annotation inheritance
Modified:
sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/BaseImportLoader.java
sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java
sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentImporter.java
Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/BaseImportLoader.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/BaseImportLoader.java?rev=1676376&r1=1676375&r2=1676376&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/BaseImportLoader.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/BaseImportLoader.java Mon Apr 27 20:40:35 2015
@@ -23,8 +23,6 @@ import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Reference;
import org.apache.sling.jcr.contentloader.ContentReader;
import org.apache.sling.jcr.contentloader.ImportOptions;
@@ -32,12 +30,10 @@ import org.apache.sling.jcr.contentloade
* Base class that takes care of the details that are common to bundle content
* loader and the POST operation "import" loader.
*/
-@Component
public abstract class BaseImportLoader extends JcrXmlImporter {
public static final String EXT_JCR_XML = ".jcr.xml";
- @Reference
private ContentReaderWhiteboard contentReaderWhiteboard;
// This constructor is meant to be used by the OSGi
@@ -49,6 +45,16 @@ public abstract class BaseImportLoader e
this.contentReaderWhiteboard = contentReaderWhiteboard;
}
+ protected void bindContentReaderWhiteboard(final ContentReaderWhiteboard service) {
+ this.contentReaderWhiteboard = service;
+ }
+
+ protected void unbindContentReaderWhiteboard(final ContentReaderWhiteboard service) {
+ if ( this.contentReaderWhiteboard == service ) {
+ this.contentReaderWhiteboard = null;
+ }
+ }
+
public Map<String, ContentReader> getContentReaders() {
Map<String, ContentReader> readers = new LinkedHashMap<String, ContentReader>();
readers.put(EXT_JCR_XML, null);
Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java?rev=1676376&r1=1676375&r2=1676376&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java Mon Apr 27 20:40:35 2015
@@ -33,7 +33,6 @@ import javax.jcr.Value;
import javax.jcr.lock.LockException;
import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
import org.apache.felix.scr.annotations.Property;
import org.apache.felix.scr.annotations.Reference;
import org.apache.sling.commons.mime.MimeTypeService;
@@ -55,19 +54,11 @@ import org.slf4j.LoggerFactory;
* </ul>
*
*/
-@Component(
- metatype = false
+@Component
+@Property(
+ name = Constants.SERVICE_DESCRIPTION,
+ value = "Apache Sling Content Loader Implementation"
)
-@Properties({
- @Property(
- name = Constants.SERVICE_VENDOR,
- value = "The Apache Software Foundation"
- ),
- @Property(
- name = Constants.SERVICE_DESCRIPTION,
- value = "Apache Sling Content Loader Implementation"
- )
-})
public class ContentLoaderService implements SynchronousBundleListener, BundleHelper {
public static final String PROPERTY_CONTENT_LOADED = "content-loaded";
Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentImporter.java?rev=1676376&r1=1676375&r2=1676376&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentImporter.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentImporter.java Mon Apr 27 20:40:35 2015
@@ -28,9 +28,10 @@ import javax.jcr.RepositoryException;
import javax.jcr.Session;
import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
import org.apache.felix.scr.annotations.Property;
import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.ReferenceCardinality;
+import org.apache.felix.scr.annotations.ReferencePolicy;
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.commons.mime.MimeTypeService;
import org.apache.sling.jcr.contentloader.ContentImportListener;
@@ -50,16 +51,12 @@ import org.slf4j.LoggerFactory;
*/
@Component
@Service(ContentImporter.class)
-@Properties({
- @Property(
- name = Constants.SERVICE_VENDOR,
- value = "The Apache Software Foundation"
- ),
- @Property(
+@Property(
name = Constants.SERVICE_DESCRIPTION,
value = "Apache Sling JCR Content Import Service"
)
-})
+@Reference(name="contentReaderWhiteboard", cardinality=ReferenceCardinality.MANDATORY_UNARY,
+ policy=ReferencePolicy.DYNAMIC, referenceInterface=ContentReaderWhiteboard.class)
public class DefaultContentImporter extends BaseImportLoader implements ContentHelper, ContentImporter {
/**