Author: jukka
Date: Wed Aug 8 08:01:39 2012
New Revision: 1370689
URL: http://svn.apache.org/viewvc?rev=1370689&view=rev
Log:
OAK-224: Allow the ContentRepositoryImpl to receive a CommitEditor in the
constructor
Hardcode the list of editors in the OSGi activator for now until they're turned
to services.
Turn the rest of the validators to OSGi services.
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/Activator.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/TypeValidatorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/value/ConflictValidatorProvider.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/Activator.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/Activator.java?rev=1370689&r1=1370688&r2=1370689&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/Activator.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/Activator.java
Wed Aug 8 08:01:39 2012
@@ -16,9 +16,19 @@
*/
package org.apache.jackrabbit.oak.osgi;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
import org.apache.jackrabbit.mk.api.MicroKernel;
import org.apache.jackrabbit.oak.api.ContentRepository;
import org.apache.jackrabbit.oak.core.ContentRepositoryImpl;
+import org.apache.jackrabbit.oak.plugins.type.DefaultTypeEditor;
+import org.apache.jackrabbit.oak.spi.commit.CommitEditor;
+import org.apache.jackrabbit.oak.spi.commit.CompositeEditor;
+import org.apache.jackrabbit.oak.spi.commit.ValidatingEditor;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
@@ -26,10 +36,6 @@ import org.osgi.framework.ServiceRegistr
import org.osgi.util.tracker.ServiceTracker;
import org.osgi.util.tracker.ServiceTrackerCustomizer;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
public class Activator implements BundleActivator, ServiceTrackerCustomizer {
private BundleContext context;
@@ -71,10 +77,16 @@ public class Activator implements Bundle
public Object addingService(ServiceReference reference) {
Object service = context.getService(reference);
if (service instanceof MicroKernel) {
+ List<CommitEditor> editors = new ArrayList<CommitEditor>();
+ editors.add(new DefaultTypeEditor());
+ editors.add(new ValidatingEditor(validatorProvider));
+ // editors.add(new LuceneEditor());
+
MicroKernel kernel = (MicroKernel) service;
services.put(reference, context.registerService(
ContentRepository.class.getName(),
- new ContentRepositoryImpl(kernel, indexProvider,
validatorProvider),
+ new ContentRepositoryImpl(
+ kernel, indexProvider, new
CompositeEditor(editors)),
new Properties()));
return service;
} else {
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/TypeValidatorProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/TypeValidatorProvider.java?rev=1370689&r1=1370688&r2=1370689&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/TypeValidatorProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/type/TypeValidatorProvider.java
Wed Aug 8 08:01:39 2012
@@ -19,11 +19,15 @@ package org.apache.jackrabbit.oak.plugin
import java.util.HashSet;
import java.util.Set;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Service;
import org.apache.jackrabbit.oak.spi.commit.Validator;
import org.apache.jackrabbit.oak.spi.commit.ValidatorProvider;
import org.apache.jackrabbit.oak.spi.state.ChildNodeEntry;
import org.apache.jackrabbit.oak.spi.state.NodeState;
+@Component
+@Service(ValidatorProvider.class)
public class TypeValidatorProvider implements ValidatorProvider {
@Override
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/value/ConflictValidatorProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/value/ConflictValidatorProvider.java?rev=1370689&r1=1370688&r2=1370689&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/value/ConflictValidatorProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/value/ConflictValidatorProvider.java
Wed Aug 8 08:01:39 2012
@@ -16,11 +16,16 @@
*/
package org.apache.jackrabbit.oak.plugins.value;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Service;
import org.apache.jackrabbit.oak.spi.commit.Validator;
import org.apache.jackrabbit.oak.spi.commit.ValidatorProvider;
import org.apache.jackrabbit.oak.spi.state.NodeState;
+@Component
+@Service(ValidatorProvider.class)
public class ConflictValidatorProvider implements ValidatorProvider {
+
@Override
public Validator getRootValidator(NodeState before, NodeState after) {
return new ConflictValidator();