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() {