You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2016/04/01 16:53:48 UTC

svn commit: r1737405 - in /sling/trunk/bundles/jcr: it-jackrabbit-oak/src/test/java/org/apache/sling/jcr/repository/it/CommonTests.java oak-server/pom.xml oak-server/src/main/java/org/apache/sling/oak/server/OakSlingRepositoryManager.java

Author: bdelacretaz
Date: Fri Apr  1 14:53:48 2016
New Revision: 1737405

URL: http://svn.apache.org/viewvc?rev=1737405&view=rev
Log:
SLING-5571 - adapt Oak bundles to changes in AbstractSlingRepositoryManager

Modified:
    sling/trunk/bundles/jcr/it-jackrabbit-oak/src/test/java/org/apache/sling/jcr/repository/it/CommonTests.java
    sling/trunk/bundles/jcr/oak-server/pom.xml
    sling/trunk/bundles/jcr/oak-server/src/main/java/org/apache/sling/oak/server/OakSlingRepositoryManager.java

Modified: sling/trunk/bundles/jcr/it-jackrabbit-oak/src/test/java/org/apache/sling/jcr/repository/it/CommonTests.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/it-jackrabbit-oak/src/test/java/org/apache/sling/jcr/repository/it/CommonTests.java?rev=1737405&r1=1737404&r2=1737405&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/it-jackrabbit-oak/src/test/java/org/apache/sling/jcr/repository/it/CommonTests.java (original)
+++ sling/trunk/bundles/jcr/it-jackrabbit-oak/src/test/java/org/apache/sling/jcr/repository/it/CommonTests.java Fri Apr  1 14:53:48 2016
@@ -222,8 +222,8 @@ public abstract class CommonTests {
         opt.add(mavenBundle("org.apache.httpcomponents", "httpclient-osgi", "4.4.1"));
 
         opt.add(mavenBundle("org.apache.sling", "org.apache.sling.jcr.jcr-wrapper", "2.0.0"));
-        opt.add(mavenBundle("org.apache.sling", "org.apache.sling.jcr.api", "2.3.0"));
-        opt.add(mavenBundle("org.apache.sling", "org.apache.sling.jcr.base", "2.3.0"));
+        opt.add(mavenBundle("org.apache.sling", "org.apache.sling.jcr.api", "2.3.1-SNAPSHOT"));
+        opt.add(mavenBundle("org.apache.sling", "org.apache.sling.jcr.base", "2.3.3-SNAPSHOT"));
         
         opt.add(junitBundles());
         return opt;

Modified: sling/trunk/bundles/jcr/oak-server/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/oak-server/pom.xml?rev=1737405&r1=1737404&r2=1737405&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/oak-server/pom.xml (original)
+++ sling/trunk/bundles/jcr/oak-server/pom.xml Fri Apr  1 14:53:48 2016
@@ -122,7 +122,7 @@
         <dependency>
             <groupId>org.apache.sling</groupId>
             <artifactId>org.apache.sling.jcr.base</artifactId>
-            <version>2.3.0</version>
+            <version>2.3.3-SNAPSHOT</version>
             <scope>provided</scope>
         </dependency>
         <dependency>

Modified: sling/trunk/bundles/jcr/oak-server/src/main/java/org/apache/sling/oak/server/OakSlingRepositoryManager.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/oak-server/src/main/java/org/apache/sling/oak/server/OakSlingRepositoryManager.java?rev=1737405&r1=1737404&r2=1737405&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/oak-server/src/main/java/org/apache/sling/oak/server/OakSlingRepositoryManager.java (original)
+++ sling/trunk/bundles/jcr/oak-server/src/main/java/org/apache/sling/oak/server/OakSlingRepositoryManager.java Fri Apr  1 14:53:48 2016
@@ -17,6 +17,13 @@
  */
 package org.apache.sling.oak.server;
 
+import static com.google.common.collect.ImmutableSet.of;
+import static java.util.Collections.singleton;
+import static org.apache.felix.scr.annotations.ReferencePolicy.STATIC;
+import static org.apache.felix.scr.annotations.ReferencePolicyOption.GREEDY;
+import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NAME;
+import static org.apache.jackrabbit.oak.plugins.index.IndexUtils.createIndexDefinition;
+
 import java.util.Arrays;
 import java.util.Dictionary;
 import java.util.Hashtable;
@@ -34,8 +41,6 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.Deactivate;
 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.jackrabbit.api.JackrabbitRepository;
 import org.apache.jackrabbit.commons.jackrabbit.authorization.AccessControlUtils;
 import org.apache.jackrabbit.oak.Oak;
@@ -74,19 +79,11 @@ import org.apache.sling.jcr.base.Abstrac
 import org.apache.sling.serviceusermapping.ServiceUserMapper;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
-import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceRegistration;
 import org.osgi.service.component.ComponentContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static com.google.common.collect.ImmutableSet.of;
-import static java.util.Collections.singleton;
-import static org.apache.felix.scr.annotations.ReferencePolicy.STATIC;
-import static org.apache.felix.scr.annotations.ReferencePolicyOption.GREEDY;
-import static org.apache.jackrabbit.oak.plugins.index.IndexConstants.INDEX_DEFINITIONS_NAME;
-import static org.apache.jackrabbit.oak.plugins.index.IndexUtils.createIndexDefinition;
-
 /**
  * A Sling repository implementation that wraps the Oak OSGi repository
  * implementation from the Oak project.
@@ -100,11 +97,6 @@ import static org.apache.jackrabbit.oak.
             + "and provide it as a SlingRepository and a standard JCR "
             + "Repository. In addition, if the registration URL is not "
             + "empty, the repository is registered as defined.")
-@Reference(
-        name = "namespaceMapper",
-        referenceInterface = NamespaceMapper.class,
-        cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE,
-        policy = ReferencePolicy.DYNAMIC)
 public class OakSlingRepositoryManager extends AbstractSlingRepositoryManager {
 
     private final Logger log = LoggerFactory.getLogger(getClass());
@@ -173,8 +165,6 @@ public class OakSlingRepositoryManager e
 
     private Map<Long, NamespaceMapper> namespaceMapperRefs = new TreeMap<Long, NamespaceMapper>();
 
-    private NamespaceMapper[] namespaceMappers;
-
     private String adminUserName;
 
     @Reference
@@ -203,11 +193,6 @@ public class OakSlingRepositoryManager e
         return this.serviceUserMapper;
     }
 
-    @Override
-    protected NamespaceMapper[] getNamespaceMapperServices() {
-        return this.namespaceMappers;
-    }
-
     @Reference(policy = STATIC, policyOption = GREEDY)
     private SecurityProvider securityProvider = null;
 
@@ -263,9 +248,7 @@ public class OakSlingRepositoryManager e
                 commitRateLimiter, fastQueryResultSize);
     }
 
-    @Override
-    protected void setup(BundleContext bundleContext, SlingRepository repository) {
-        super.setup(bundleContext, repository);
+    private void setup(BundleContext bundleContext, SlingRepository repository) {
 
         final Object o = this.getComponentContext().getProperties().get(ANONYMOUS_READ_PROP);
         if(o != null) {
@@ -304,7 +287,9 @@ public class OakSlingRepositoryManager e
 
     @Override
     protected AbstractSlingRepository2 create(Bundle usingBundle) {
-        return new OakSlingRepository(this, usingBundle, this.adminUserName);
+        final AbstractSlingRepository2 result = new OakSlingRepository(this, usingBundle, this.adminUserName);
+        setup(usingBundle.getBundleContext(), result);
+        return result;
     }
 
     @Override
@@ -351,29 +336,9 @@ public class OakSlingRepositoryManager e
         super.stop();
         this.componentContext = null;
         this.namespaceMapperRefs.clear();
-        this.namespaceMappers = null;
         this.threadPoolManager.release(this.threadPool);
         this.threadPool = null;
         this.nodeAggregator.unregister();
-        this.tearDown();
-    }
-
-    @SuppressWarnings("unused")
-    private void bindNamespaceMapper(final NamespaceMapper namespaceMapper, final Map<String, Object> props) {
-        synchronized (this.namespaceMapperRefs) {
-            this.namespaceMapperRefs.put((Long)props.get(Constants.SERVICE_ID), namespaceMapper);
-            this.namespaceMappers = this.namespaceMapperRefs.values().toArray(
-                    new NamespaceMapper[this.namespaceMapperRefs.size()]);
-        }
-    }
-
-    @SuppressWarnings("unused")
-    private void unbindNamespaceMapper(final NamespaceMapper namespaceMapper, final Map<String, Object> props) {
-        synchronized (this.namespaceMapperRefs) {
-            this.namespaceMapperRefs.remove(props.get(Constants.SERVICE_ID));
-            this.namespaceMappers = this.namespaceMapperRefs.values().toArray(
-                    new NamespaceMapper[this.namespaceMapperRefs.size()]);
-        }
     }
 
     private static NodeAggregator getNodeAggregator() {