Author: chetanm
Date: Thu Mar 31 12:36:52 2016
New Revision: 1737233

URL: http://svn.apache.org/viewvc?rev=1737233&view=rev
Log:
OAK-4160 - Expose type property for ReferenceEditorProvider

Updated osgi-mock version. This allows it work with multiple reference of same 
type but different target

Modified:
    jackrabbit/oak/trunk/oak-jcr/pom.xml
    
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManager.java
    
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManagerTest.java

Modified: jackrabbit/oak/trunk/oak-jcr/pom.xml
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/pom.xml?rev=1737233&r1=1737232&r2=1737233&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-jcr/pom.xml Thu Mar 31 12:36:52 2016
@@ -360,6 +360,7 @@
     <dependency>
       <groupId>org.apache.sling</groupId>
       <artifactId>org.apache.sling.testing.osgi-mock</artifactId>
+      <version>2.0.2</version>
     </dependency>
     <dependency>
       <groupId>commons-lang</groupId>

Modified: 
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManager.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManager.java?rev=1737233&r1=1737232&r2=1737233&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManager.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManager.java
 Thu Mar 31 12:36:52 2016
@@ -58,16 +58,6 @@ import org.osgi.framework.ServiceRegistr
  */
 @Component(policy = ConfigurationPolicy.REQUIRE)
 @References({
-        @Reference(referenceInterface = IndexEditorProvider.class,
-                target = "(type=property)",
-                strategy = ReferenceStrategy.LOOKUP,
-                name = "propertyIndexEditor"
-        ),
-        @Reference(referenceInterface = IndexEditorProvider.class,
-                target = "(type=reference)",
-                strategy = ReferenceStrategy.LOOKUP,
-                name = "referenceIndexEditor"
-        ),
         @Reference(referenceInterface = StatisticsProvider.class,
                 strategy = ReferenceStrategy.LOOKUP
         )
@@ -104,6 +94,12 @@ public class RepositoryManager {
     @Reference
     private NodeStore store;
 
+    @Reference(target = "(type=property)")
+    private IndexEditorProvider propertyIndex;
+
+    @Reference(target = "(type=reference)")
+    private IndexEditorProvider referenceIndex;
+
     @Property(
         intValue = DEFAULT_OBSERVATION_QUEUE_LENGTH,
         name = "Observation queue length",

Modified: 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManagerTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManagerTest.java?rev=1737233&r1=1737232&r2=1737233&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManagerTest.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManagerTest.java
 Thu Mar 31 12:36:52 2016
@@ -24,7 +24,11 @@ import java.util.concurrent.Executor;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
 
+import com.google.common.collect.ImmutableMap;
 import org.apache.jackrabbit.oak.api.jmx.RepositoryManagementMBean;
+import org.apache.jackrabbit.oak.plugins.index.IndexEditorProvider;
+import 
org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider;
+import 
org.apache.jackrabbit.oak.plugins.index.reference.ReferenceEditorProvider;
 import org.apache.jackrabbit.oak.plugins.memory.MemoryNodeStore;
 import org.apache.jackrabbit.oak.spi.security.OpenSecurityProvider;
 import org.apache.jackrabbit.oak.spi.security.SecurityProvider;
@@ -38,15 +42,13 @@ import static org.junit.Assert.assertNot
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
-@Ignore("OAK-4160")
 public class RepositoryManagerTest {
     @Rule
     public final OsgiContext context = new OsgiContext();
 
     @Test
     public void executorSetup() throws Exception {
-        context.registerService(SecurityProvider.class, new 
OpenSecurityProvider());
-        context.registerService(NodeStore.class, new MemoryNodeStore());
+        registerRequiredServices();
 
         context.registerInjectActivateService(new RepositoryManager());
 
@@ -69,8 +71,7 @@ public class RepositoryManagerTest {
 
     @Test
     public void repositoryShutdown() throws Exception{
-        context.registerService(SecurityProvider.class, new 
OpenSecurityProvider());
-        context.registerService(NodeStore.class, new MemoryNodeStore());
+        registerRequiredServices();
 
         RepositoryManager mgr = context.registerInjectActivateService(new 
RepositoryManager());
         assertNotNull("MBean should be registered", 
context.getService(RepositoryManagementMBean.class));
@@ -82,6 +83,16 @@ public class RepositoryManagerTest {
 
     }
 
+
+    private void registerRequiredServices() {
+        context.registerService(SecurityProvider.class, new 
OpenSecurityProvider());
+        context.registerService(NodeStore.class, new MemoryNodeStore());
+        context.registerService(IndexEditorProvider.class, new 
PropertyIndexEditorProvider(),
+                ImmutableMap.<String, Object>of("type", "property"));
+        context.registerService(IndexEditorProvider.class, new 
ReferenceEditorProvider(),
+                ImmutableMap.<String, Object>of("type", "reference"));
+    }
+
 }
 
 


Reply via email to