Author: bdelacretaz
Date: Wed Dec 3 09:38:30 2008
New Revision: 722981
URL: http://svn.apache.org/viewvc?rev=722981&view=rev
Log:
SLING-755 - Move /system/sling/jcrinstall servlet to its own bundle
Added:
incubator/sling/trunk/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/JcrInstallService.java
(with props)
incubator/sling/trunk/extensions/jcrinstall/servlet/ (with props)
incubator/sling/trunk/extensions/jcrinstall/servlet/pom.xml (with props)
incubator/sling/trunk/extensions/jcrinstall/servlet/src/
incubator/sling/trunk/extensions/jcrinstall/servlet/src/main/
incubator/sling/trunk/extensions/jcrinstall/servlet/src/main/java/
incubator/sling/trunk/extensions/jcrinstall/servlet/src/main/java/org/
incubator/sling/trunk/extensions/jcrinstall/servlet/src/main/java/org/apache/
incubator/sling/trunk/extensions/jcrinstall/servlet/src/main/java/org/apache/sling/
incubator/sling/trunk/extensions/jcrinstall/servlet/src/main/java/org/apache/sling/jcr/
incubator/sling/trunk/extensions/jcrinstall/servlet/src/main/java/org/apache/sling/jcr/jcrinstall/
incubator/sling/trunk/extensions/jcrinstall/servlet/src/main/java/org/apache/sling/jcr/jcrinstall/servlet/
incubator/sling/trunk/extensions/jcrinstall/servlet/src/main/java/org/apache/sling/jcr/jcrinstall/servlet/JcrInstallServlet.java
(with props)
Modified:
incubator/sling/trunk/extensions/jcrinstall/service/pom.xml
incubator/sling/trunk/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/RepositoryObserver.java
incubator/sling/trunk/extensions/jcrinstall/testing/pom.xml
Modified: incubator/sling/trunk/extensions/jcrinstall/service/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/extensions/jcrinstall/service/pom.xml?rev=722981&r1=722980&r2=722981&view=diff
==============================================================================
--- incubator/sling/trunk/extensions/jcrinstall/service/pom.xml (original)
+++ incubator/sling/trunk/extensions/jcrinstall/service/pom.xml Wed Dec 3
09:38:30 2008
@@ -83,11 +83,6 @@
</dependency>
<dependency>
<groupId>org.apache.sling</groupId>
- <artifactId>org.apache.sling.api</artifactId>
- <version>2.0.3-incubator-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.jcr.api</artifactId>
<version>2.0.2-incubator</version>
</dependency>
Added:
incubator/sling/trunk/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/JcrInstallService.java
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/JcrInstallService.java?rev=722981&view=auto
==============================================================================
---
incubator/sling/trunk/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/JcrInstallService.java
(added)
+++
incubator/sling/trunk/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/JcrInstallService.java
Wed Dec 3 09:38:30 2008
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.jcr.jcrinstall.jcr;
+
+/** Service interface for jcrinstall */
+public interface JcrInstallService {
+ /** Enable or disable the service - used to simulate a disappearing
+ * repository in integration tests
+ */
+ void enable(boolean enabled) throws IllegalStateException;
+
+ boolean isEnabled();
+}
Propchange:
incubator/sling/trunk/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/JcrInstallService.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/sling/trunk/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/JcrInstallService.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev URL
Modified:
incubator/sling/trunk/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/RepositoryObserver.java
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/RepositoryObserver.java?rev=722981&r1=722980&r2=722981&view=diff
==============================================================================
---
incubator/sling/trunk/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/RepositoryObserver.java
(original)
+++
incubator/sling/trunk/extensions/jcrinstall/service/src/main/java/org/apache/sling/jcr/jcrinstall/jcr/impl/RepositoryObserver.java
Wed Dec 3 09:38:30 2008
@@ -19,13 +19,10 @@
package org.apache.sling.jcr.jcrinstall.jcr.impl;
import java.io.File;
-import java.io.IOException;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
-import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.SortedSet;
@@ -37,17 +34,13 @@
import javax.jcr.RepositoryException;
import javax.jcr.Session;
import javax.jcr.observation.Event;
-import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
-import org.apache.sling.api.SlingHttpServletRequest;
-import org.apache.sling.api.SlingHttpServletResponse;
-import org.apache.sling.api.servlets.SlingAllMethodsServlet;
import org.apache.sling.jcr.api.SlingRepository;
+import org.apache.sling.jcr.jcrinstall.jcr.JcrInstallService;
import org.apache.sling.jcr.jcrinstall.jcr.NodeConverter;
import org.apache.sling.jcr.jcrinstall.osgi.OsgiController;
import org.apache.sling.jcr.jcrinstall.osgi.ResourceOverrideRules;
-import org.osgi.framework.Bundle;
import org.osgi.framework.FrameworkEvent;
import org.osgi.framework.FrameworkListener;
import org.osgi.framework.ServiceReference;
@@ -73,10 +66,8 @@
* @scr.property
* name="service.vendor"
* value="The Apache Software Foundation"
- * @scr.property name="sling.servlet.paths" value="/system/sling/jcrinstall"
*/
[EMAIL PROTECTED]("serial")
-public class RepositoryObserver extends SlingAllMethodsServlet implements
Runnable, FrameworkListener {
+public class RepositoryObserver implements Runnable, FrameworkListener,
JcrInstallService {
private final SortedSet<WatchedFolder> folders = new
TreeSet<WatchedFolder>();
private RegexpFilter folderNameFilter;
@@ -87,8 +78,6 @@
private boolean observationCycleActive;
private boolean activated;
- public static final String POST_ENABLE_PARAM = "enabled";
-
/** @scr.reference */
protected OsgiController osgiController;
@@ -513,76 +502,35 @@
return folders;
}
- /** A POST can be used to deactivate/reactivate this, simulating a
disappearing SlingRepository.
- * Used for integration testing.
+ /** Enable or disable this, disabling must be done in the same way as when
+ * the repository disappears.
*/
- @Override
- protected void doPost(SlingHttpServletRequest request,
SlingHttpServletResponse response)
- throws ServletException, IOException {
- final String enable = request.getParameter(POST_ENABLE_PARAM);
- if(enable != null) {
- if(Boolean.parseBoolean(enable)) {
- log.info("Processing POST with {}=true, attempting to bind
SlingRepository", POST_ENABLE_PARAM);
- if(repository != null) {
- response.sendError(HttpServletResponse.SC_CONFLICT,
"Already enabled");
- return;
- }
- if(componentContext == null) {
-
response.sendError(HttpServletResponse.SC_EXPECTATION_FAILED, "No
ComponentContext, cannot enable service");
- return;
- }
- final ServiceReference ref =
componentContext.getBundleContext().getServiceReference(SlingRepository.class.getName());
- if(ref == null) {
-
response.sendError(HttpServletResponse.SC_EXPECTATION_FAILED, "No
SlingRepository ServiceReference available");
- return;
- }
-
- final SlingRepository r =
(SlingRepository)componentContext.getBundleContext().getService(ref);
- bindSlingRepository(r);
-
- } else {
- log.info("Processing POST with {}=false, attempting to unbind
SlingRepository", POST_ENABLE_PARAM);
- if(repository == null) {
- response.sendError(HttpServletResponse.SC_CONFLICT, "Not
currently enabled, cannot disable");
- return;
- }
- unbindSlingRepository(repository);
+ public void enable(boolean enabled) throws IllegalStateException {
+ if(enabled) {
+ if(repository != null) {
+ throw new IllegalStateException("Already enabled");
}
- } else {
- response.sendError(HttpServletResponse.SC_BAD_REQUEST,
- "Use '" + POST_ENABLE_PARAM + "' parameter to
enable/disable the RepositoryObserver");
- return;
- }
-
- doGet(request, response);
- }
-
- /** Report on the jcrinstall enabled/disabled status, number of bundles in
each state, etc. */
- @Override
- protected void doGet(SlingHttpServletRequest request,
SlingHttpServletResponse response)
- throws ServletException, IOException
- {
- final Properties props = new Properties();
-
- if(componentContext != null) {
- // report on how many bundles we have in the different states
- final Map<Integer, Integer> states = new HashMap<Integer,
Integer>();
- for(Bundle b :
componentContext.getBundleContext().getBundles()) {
- final Integer s = new Integer(b.getState());
- Integer i = states.get(s);
- i = i == null ? new Integer(1) : new
Integer(i.intValue() + 1);
- states.put(s, i);
- }
-
- for(Map.Entry<Integer, Integer> e : states.entrySet()) {
- props.put("bundles.in.state." + e.getKey().toString(),
e.getValue().toString());
- }
- }
-
- props.put("osgi.start.level",
String.valueOf(startLevel.getStartLevel()));
- props.put("jcrinstall.enabled", new Boolean(repository !=
null).toString());
-
- response.setContentType("text/plain");
- props.store(response.getOutputStream(), "jcrinstall status");
- }
+ if(componentContext == null) {
+ throw new IllegalStateException("No ComponentContext, cannot
enable service");
+ }
+ final ServiceReference ref =
componentContext.getBundleContext().getServiceReference(SlingRepository.class.getName());
+ if(ref == null) {
+ throw new IllegalStateException("No SlingRepository
ServiceReference available, cannot enable service");
+ }
+
+ final SlingRepository r =
(SlingRepository)componentContext.getBundleContext().getService(ref);
+ bindSlingRepository(r);
+ log.info("Service enabled by enable(true) call");
+ } else {
+ if(repository == null) {
+ throw new IllegalStateException("Not currently enabled, cannot
disable");
+ }
+ unbindSlingRepository(repository);
+ log.info("Service disabled by enable(false) call");
+ }
+ }
+
+ public boolean isEnabled() {
+ return repository != null;
+ }
}
\ No newline at end of file
Propchange: incubator/sling/trunk/extensions/jcrinstall/servlet/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Dec 3 09:38:30 2008
@@ -0,0 +1,13 @@
+target
+bin
+derby.log
+*.iml
+*.ipr
+*.iws
+.settings
+.project
+.classpath
+.externalToolBuilders
+maven-eclipse.xml
+
+
Added: incubator/sling/trunk/extensions/jcrinstall/servlet/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/extensions/jcrinstall/servlet/pom.xml?rev=722981&view=auto
==============================================================================
--- incubator/sling/trunk/extensions/jcrinstall/servlet/pom.xml (added)
+++ incubator/sling/trunk/extensions/jcrinstall/servlet/pom.xml Wed Dec 3
09:38:30 2008
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.jcr.jcrinstall.parent</artifactId>
+ <version>2.0.3-incubator-SNAPSHOT</version>
+ <relativePath>../</relativePath>
+ </parent>
+
+ <artifactId>org.apache.sling.jcr.jcrinstall.servlet</artifactId>
+ <version>2.0.3-incubator-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+
+ <name>Sling - JCR OSGi Installer Servlet</name>
+ <description>
+ Information and control servlet for the jcrinstall service
+ </description>
+
+ <scm>
+ <connection>
scm:svn:http://svn.apache.org/repos/asf/incubator/sling/trunk/extensions/jcrinstall/servlet</connection>
+ <developerConnection>
scm:svn:https://svn.apache.org/repos/asf/incubator/sling/trunk/extensions/jcrinstall/servlet</developerConnection>
+ <url>
http://svn.apache.org/viewvc/incubator/sling/trunk/extensions/jcrinstall/servlet</url>
+ </scm>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-scr-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+
<Private-Package>org.apache.sling.jcr.jcrinstall.servlet.*</Private-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.apache.felix.configadmin</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.api</artifactId>
+ <version>2.0.2-incubator</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.jcr.jcrinstall</artifactId>
+ <version>2.0.3-incubator-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Propchange: incubator/sling/trunk/extensions/jcrinstall/servlet/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added:
incubator/sling/trunk/extensions/jcrinstall/servlet/src/main/java/org/apache/sling/jcr/jcrinstall/servlet/JcrInstallServlet.java
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/extensions/jcrinstall/servlet/src/main/java/org/apache/sling/jcr/jcrinstall/servlet/JcrInstallServlet.java?rev=722981&view=auto
==============================================================================
---
incubator/sling/trunk/extensions/jcrinstall/servlet/src/main/java/org/apache/sling/jcr/jcrinstall/servlet/JcrInstallServlet.java
(added)
+++
incubator/sling/trunk/extensions/jcrinstall/servlet/src/main/java/org/apache/sling/jcr/jcrinstall/servlet/JcrInstallServlet.java
Wed Dec 3 09:38:30 2008
@@ -0,0 +1,148 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.sling.jcr.jcrinstall.servlet;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.servlets.SlingAllMethodsServlet;
+import org.apache.sling.jcr.api.SlingRepository;
+import org.apache.sling.jcr.jcrinstall.jcr.JcrInstallService;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.ComponentContext;
+import org.osgi.service.startlevel.StartLevel;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/** Info and control servlet for jcrinstall.
+ * Created for integration tests, but might be
+ * generally useful for monitoring purposes.
+ *
+ * @scr.component
+ * label="jcrinstall servlet"
+ * description="Information and control servlet for jcrinstall"
+ * immediate="true"
+ * @scr.service
+ * @scr.property
+ * name="service.description"
+ * value="Sling jcrinstall Servlet"
+ * @scr.property
+ * name="service.vendor"
+ * value="The Apache Software Foundation"
+ *
+ * @scr.property name="sling.servlet.paths"
value="/system/sling/jcrinstall"
+ */
[EMAIL PROTECTED]("serial")
+public class JcrInstallServlet extends SlingAllMethodsServlet {
+
+ public static final String POST_ENABLE_PARAM = "enabled";
+
+ /** @scr.reference */
+ protected StartLevel startLevel;
+
+ private final Logger log = LoggerFactory.getLogger(getClass());
+ private ComponentContext componentContext;
+
+ protected void activate(ComponentContext context) {
+ componentContext = context;
+ }
+
+ protected void deactivate(ComponentContext context) {
+ componentContext = null;
+ }
+
+ protected JcrInstallService getJcrinstallService() {
+ JcrInstallService result = null;
+ if(componentContext != null) {
+ final ServiceReference ref =
componentContext.getBundleContext().getServiceReference(JcrInstallService.class.getName());
+ if(ref != null) {
+ result =
(JcrInstallService)componentContext.getBundleContext().getService(ref);
+ }
+ }
+ return result;
+ }
+
+ /** A POST can be used to deactivate/reactivate this, simulating a
disappearing SlingRepository.
+ * Used for integration testing.
+ */
+ @Override
+ protected void doPost(SlingHttpServletRequest request,
SlingHttpServletResponse response)
+ throws ServletException, IOException {
+ final String enable = request.getParameter(POST_ENABLE_PARAM);
+ if(enable != null) {
+ final JcrInstallService jis = getJcrinstallService();
+ if(jis == null) {
+
response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
"JcrInstallService is not available");
+
+ } else if(Boolean.parseBoolean(enable)) {
+ log.info("Processing POST with {}=true, enabling
JcrInstallService", POST_ENABLE_PARAM);
+ jis.enable(true);
+
+ } else {
+ log.info("Processing POST with {}=false, disabling
JcrInstallService", POST_ENABLE_PARAM);
+ jis.enable(false);
+ }
+ } else {
+ response.sendError(HttpServletResponse.SC_BAD_REQUEST,
+ "Use '" + POST_ENABLE_PARAM + "' parameter to
enable/disable the RepositoryObserver");
+ return;
+ }
+
+ doGet(request, response);
+ }
+
+ /** Report on the jcrinstall enabled/disabled status, number of bundles in
each state, etc. */
+ @Override
+ protected void doGet(SlingHttpServletRequest request,
SlingHttpServletResponse response)
+ throws ServletException, IOException
+ {
+ final Properties props = new Properties();
+
+ if(componentContext != null) {
+ // report on how many bundles we have in the different states
+ final Map<Integer, Integer> states = new HashMap<Integer,
Integer>();
+ for(Bundle b :
componentContext.getBundleContext().getBundles()) {
+ final Integer s = new Integer(b.getState());
+ Integer i = states.get(s);
+ i = i == null ? new Integer(1) : new
Integer(i.intValue() + 1);
+ states.put(s, i);
+ }
+
+ for(Map.Entry<Integer, Integer> e : states.entrySet()) {
+ props.put("bundles.in.state." + e.getKey().toString(),
e.getValue().toString());
+ }
+ }
+
+ props.put("osgi.start.level",
String.valueOf(startLevel.getStartLevel()));
+ final JcrInstallService jis = getJcrinstallService();
+ final boolean jisState = jis == null ? false : jis.isEnabled();
+ props.put("jcrinstall.enabled", new Boolean(jisState).toString());
+
+ response.setContentType("text/plain");
+ props.store(response.getOutputStream(), "jcrinstall status");
+ }
+}
\ No newline at end of file
Propchange:
incubator/sling/trunk/extensions/jcrinstall/servlet/src/main/java/org/apache/sling/jcr/jcrinstall/servlet/JcrInstallServlet.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/sling/trunk/extensions/jcrinstall/servlet/src/main/java/org/apache/sling/jcr/jcrinstall/servlet/JcrInstallServlet.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev URL
Modified: incubator/sling/trunk/extensions/jcrinstall/testing/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/extensions/jcrinstall/testing/pom.xml?rev=722981&r1=722980&r2=722981&view=diff
==============================================================================
--- incubator/sling/trunk/extensions/jcrinstall/testing/pom.xml (original)
+++ incubator/sling/trunk/extensions/jcrinstall/testing/pom.xml Wed Dec 3
09:38:30 2008
@@ -726,6 +726,12 @@
<version>2.0.3-incubator-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.jcr.jcrinstall.servlet</artifactId>
+ <version>2.0.3-incubator-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
<!-- The servlet container will have to provide these API classes -->
<dependency>