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 {
 
     /**