Author: jukka
Date: Wed Dec 11 18:27:38 2013
New Revision: 1550218
URL: http://svn.apache.org/r1550218
Log:
OAK-867: Oak whiteboard
Move the dynamic service trackers from o.osgi to o.spi.whiteboard
and rename from OsgiFoo to WhiteboardFoo since they no longer have
any OSGi dependencies.
Added:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardAuthorizableActionProvider.java
- copied, changed from r1550196,
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiAuthorizableActionProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardEditorProvider.java
- copied, changed from r1550196,
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiEditorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardIndexEditorProvider.java
- copied, changed from r1550196,
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiIndexEditorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardIndexProvider.java
- copied, changed from r1550196,
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiIndexProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardRestrictionProvider.java
- copied, changed from r1550196,
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiRestrictionProvider.java
Removed:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiAuthorizableActionProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiEditorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiIndexEditorProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiIndexProvider.java
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiRestrictionProvider.java
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/osgi/OsgiSecurityProvider.java
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/Activator.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=1550218&r1=1550217&r2=1550218&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 Dec 11 18:27:38 2013
@@ -45,19 +45,11 @@ public class Activator implements Bundle
private Whiteboard whiteboard;
- private final OsgiIndexProvider indexProvider = new OsgiIndexProvider();
-
- private final OsgiIndexEditorProvider indexEditorProvider = new
OsgiIndexEditorProvider();
-
- private final OsgiEditorProvider validatorProvider = new
OsgiEditorProvider();
-
- private final Map<ServiceReference, ServiceRegistration> services = new
HashMap<ServiceReference, ServiceRegistration>();
+ private final Map<ServiceReference, ServiceRegistration> services =
+ new HashMap<ServiceReference, ServiceRegistration>();
private final List<Registration> registrations = new
ArrayList<Registration>();
- public Activator() {
- }
-
//----------------------------------------------------< BundleActivator
>---
@Override
@@ -65,10 +57,6 @@ public class Activator implements Bundle
context = bundleContext;
whiteboard = new OsgiWhiteboard(bundleContext);
- indexProvider.start(whiteboard);
- indexEditorProvider.start(whiteboard);
- validatorProvider.start(whiteboard);
-
microKernelTracker = new ServiceTracker(context,
MicroKernel.class.getName(), this);
microKernelTracker.open();
}
@@ -76,11 +64,8 @@ public class Activator implements Bundle
@Override
public void stop(BundleContext bundleContext) throws Exception {
microKernelTracker.close();
- indexProvider.stop();
- indexEditorProvider.stop();
- validatorProvider.stop();
- for(Registration r : registrations){
+ for (Registration r : registrations) {
r.unregister();
}
}
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiSecurityProvider.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiSecurityProvider.java?rev=1550218&r1=1550217&r2=1550218&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiSecurityProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiSecurityProvider.java
Wed Dec 11 18:27:38 2013
@@ -48,6 +48,8 @@ import org.apache.jackrabbit.oak.spi.sec
import org.apache.jackrabbit.oak.spi.security.user.UserConfiguration;
import org.apache.jackrabbit.oak.spi.security.user.UserConstants;
import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard;
+import
org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardAuthorizableActionProvider;
+import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardRestrictionProvider;
import org.osgi.framework.ServiceReference;
import org.osgi.service.component.ComponentContext;
@@ -89,8 +91,8 @@ public class OsgiSecurityProvider implem
policyOption = ReferencePolicyOption.GREEDY)
private CompositeTokenConfiguration tokenConfiguration = new
CompositeTokenConfiguration(this);
- private final OsgiAuthorizableActionProvider authorizableActionProvider =
new OsgiAuthorizableActionProvider();
- private final OsgiRestrictionProvider restrictionProvider = new
OsgiRestrictionProvider();
+ private final WhiteboardAuthorizableActionProvider
authorizableActionProvider = new WhiteboardAuthorizableActionProvider();
+ private final WhiteboardRestrictionProvider restrictionProvider = new
WhiteboardRestrictionProvider();
private final ConfigurationParameters config;
@@ -99,7 +101,7 @@ public class OsgiSecurityProvider implem
UserConstants.PARAM_AUTHORIZABLE_ACTION_PROVIDER,
authorizableActionProvider,
UserConstants.PARAM_AUTHORIZABLE_NODE_NAME,
AuthorizableNodeName.DEFAULT); // TODO
- Map<String, OsgiRestrictionProvider> authorizMap = ImmutableMap.of(
+ Map<String, WhiteboardRestrictionProvider> authorizMap =
ImmutableMap.of(
AccessControlConstants.PARAM_RESTRICTION_PROVIDER,
restrictionProvider
);
Copied:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardAuthorizableActionProvider.java
(from r1550196,
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiAuthorizableActionProvider.java)
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardAuthorizableActionProvider.java?p2=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardAuthorizableActionProvider.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiAuthorizableActionProvider.java&r1=1550196&r2=1550218&rev=1550218&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiAuthorizableActionProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardAuthorizableActionProvider.java
Wed Dec 11 18:27:38 2013
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.jackrabbit.oak.osgi;
+package org.apache.jackrabbit.oak.spi.whiteboard;
import java.util.List;
@@ -24,16 +24,16 @@ import org.apache.jackrabbit.oak.spi.sec
import org.apache.jackrabbit.oak.spi.security.user.action.AuthorizableAction;
import
org.apache.jackrabbit.oak.spi.security.user.action.AuthorizableActionProvider;
import
org.apache.jackrabbit.oak.spi.security.user.action.CompositeActionProvider;
-import org.apache.jackrabbit.oak.spi.whiteboard.AbstractServiceTracker;
/**
- * OsgiAuthorizableActionProvider... TODO
+ * Dynamic {@link AuthorizableActionProvider} based on the available
+ * whiteboard services.
*/
-public class OsgiAuthorizableActionProvider
+public class WhiteboardAuthorizableActionProvider
extends AbstractServiceTracker<AuthorizableActionProvider>
implements AuthorizableActionProvider {
- public OsgiAuthorizableActionProvider() {
+ public WhiteboardAuthorizableActionProvider() {
super(AuthorizableActionProvider.class);
}
Copied:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardEditorProvider.java
(from r1550196,
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiEditorProvider.java)
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardEditorProvider.java?p2=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardEditorProvider.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiEditorProvider.java&r1=1550196&r2=1550218&rev=1550218&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiEditorProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardEditorProvider.java
Wed Dec 11 18:27:38 2013
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.jackrabbit.oak.osgi;
+package org.apache.jackrabbit.oak.spi.whiteboard;
import javax.annotation.CheckForNull;
@@ -26,17 +26,16 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.commit.EditorProvider;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.spi.whiteboard.AbstractServiceTracker;
/**
- * This editor provider combines all editors of all available OSGi editor
- * providers.
+ * Dynamic {@link EditorProvider} based on the available
+ * whiteboard services.
*/
-public class OsgiEditorProvider
+public class WhiteboardEditorProvider
extends AbstractServiceTracker<EditorProvider>
implements EditorProvider {
- public OsgiEditorProvider() {
+ public WhiteboardEditorProvider() {
super(EditorProvider.class);
}
Copied:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardIndexEditorProvider.java
(from r1550196,
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiIndexEditorProvider.java)
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardIndexEditorProvider.java?p2=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardIndexEditorProvider.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiIndexEditorProvider.java&r1=1550196&r2=1550218&rev=1550218&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiIndexEditorProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardIndexEditorProvider.java
Wed Dec 11 18:27:38 2013
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.jackrabbit.oak.osgi;
+package org.apache.jackrabbit.oak.spi.whiteboard;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.plugins.index.CompositeIndexEditorProvider;
@@ -24,17 +24,16 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.spi.commit.Editor;
import org.apache.jackrabbit.oak.spi.state.NodeBuilder;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.spi.whiteboard.AbstractServiceTracker;
/**
- * This IndexEditor provider combines all index editors of all available OSGi
- * IndexEditor providers.
+ * Dynamic {@link IndexEditorProvider} based on the available
+ * whiteboard services.
*/
-public class OsgiIndexEditorProvider
+public class WhiteboardIndexEditorProvider
extends AbstractServiceTracker<IndexEditorProvider>
implements IndexEditorProvider {
- public OsgiIndexEditorProvider() {
+ public WhiteboardIndexEditorProvider() {
super(IndexEditorProvider.class);
}
Copied:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardIndexProvider.java
(from r1550196,
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiIndexProvider.java)
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardIndexProvider.java?p2=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardIndexProvider.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiIndexProvider.java&r1=1550196&r2=1550218&rev=1550218&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiIndexProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardIndexProvider.java
Wed Dec 11 18:27:38 2013
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.jackrabbit.oak.osgi;
+package org.apache.jackrabbit.oak.spi.whiteboard;
import java.util.List;
@@ -26,17 +26,16 @@ import org.apache.jackrabbit.oak.spi.que
import org.apache.jackrabbit.oak.spi.query.QueryIndex;
import org.apache.jackrabbit.oak.spi.query.QueryIndexProvider;
import org.apache.jackrabbit.oak.spi.state.NodeState;
-import org.apache.jackrabbit.oak.spi.whiteboard.AbstractServiceTracker;
/**
- * This index provider combines all indexes of all available OSGi index
- * providers.
+ * Dynamic {@link QueryIndexProvider} based on the available
+ * whiteboard services.
*/
-public class OsgiIndexProvider
+public class WhiteboardIndexProvider
extends AbstractServiceTracker<QueryIndexProvider>
implements QueryIndexProvider {
- public OsgiIndexProvider() {
+ public WhiteboardIndexProvider() {
super(QueryIndexProvider.class);
}
Copied:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardRestrictionProvider.java
(from r1550196,
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiRestrictionProvider.java)
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardRestrictionProvider.java?p2=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardRestrictionProvider.java&p1=jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiRestrictionProvider.java&r1=1550196&r2=1550218&rev=1550218&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/osgi/OsgiRestrictionProvider.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardRestrictionProvider.java
Wed Dec 11 18:27:38 2013
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.jackrabbit.oak.osgi;
+package org.apache.jackrabbit.oak.spi.whiteboard;
import java.util.Set;
@@ -30,17 +30,16 @@ import org.apache.jackrabbit.oak.spi.sec
import
org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionDefinition;
import
org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionPattern;
import
org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionProvider;
-import org.apache.jackrabbit.oak.spi.whiteboard.AbstractServiceTracker;
/**
- * {@link RestrictionProvider} implementation that combines all available OSGi
- * restriction providers.
+ * Dynamic {@link RestrictionProvider} based on the available
+ * whiteboard services.
*/
-public class OsgiRestrictionProvider
+public class WhiteboardRestrictionProvider
extends AbstractServiceTracker<RestrictionProvider>
implements RestrictionProvider {
- public OsgiRestrictionProvider() {
+ public WhiteboardRestrictionProvider() {
super(RestrictionProvider.class);
}
Modified:
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/Activator.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/Activator.java?rev=1550218&r1=1550217&r2=1550218&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/Activator.java
(original)
+++
jackrabbit/oak/trunk/oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/Activator.java
Wed Dec 11 18:27:38 2013
@@ -24,10 +24,7 @@ import javax.jcr.Repository;
import org.apache.jackrabbit.oak.Oak;
import org.apache.jackrabbit.oak.api.ContentRepository;
-import org.apache.jackrabbit.oak.osgi.OsgiEditorProvider;
import org.apache.jackrabbit.oak.osgi.OsgiExecutor;
-import org.apache.jackrabbit.oak.osgi.OsgiIndexEditorProvider;
-import org.apache.jackrabbit.oak.osgi.OsgiIndexProvider;
import org.apache.jackrabbit.oak.osgi.OsgiWhiteboard;
import org.apache.jackrabbit.oak.plugins.commit.JcrConflictHandler;
import org.apache.jackrabbit.oak.plugins.nodetype.write.InitialContent;
@@ -40,6 +37,9 @@ import org.apache.jackrabbit.oak.spi.sec
import org.apache.jackrabbit.oak.spi.security.user.action.AccessControlAction;
import org.apache.jackrabbit.oak.spi.state.NodeStore;
import org.apache.jackrabbit.oak.spi.whiteboard.Whiteboard;
+import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardEditorProvider;
+import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardIndexEditorProvider;
+import org.apache.jackrabbit.oak.spi.whiteboard.WhiteboardIndexProvider;
import org.apache.jackrabbit.oak.spi.xml.ImportBehavior;
import org.apache.jackrabbit.oak.spi.xml.ProtectedItemImporter;
import org.osgi.framework.BundleActivator;
@@ -58,14 +58,14 @@ public class Activator implements Bundle
private final Map<ServiceReference, ServiceRegistration> services =
new HashMap<ServiceReference, ServiceRegistration>();
- private final OsgiEditorProvider editorProvider =
- new OsgiEditorProvider();
+ private final WhiteboardEditorProvider editorProvider =
+ new WhiteboardEditorProvider();
- private final OsgiIndexEditorProvider indexEditorProvider =
- new OsgiIndexEditorProvider();
+ private final WhiteboardIndexEditorProvider indexEditorProvider =
+ new WhiteboardIndexEditorProvider();
- private final OsgiIndexProvider indexProvider =
- new OsgiIndexProvider();
+ private final WhiteboardIndexProvider indexProvider =
+ new WhiteboardIndexProvider();
private final OsgiExecutor executor = new OsgiExecutor();