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 2011/02/04 11:24:20 UTC
svn commit: r1067132 - in /sling/whiteboard/bdelacretaz/junit/core: pom.xml
src/main/java/org/apache/sling/junit/impl/JUnitServlet.java
Author: bdelacretaz
Date: Fri Feb 4 10:24:20 2011
New Revision: 1067132
URL: http://svn.apache.org/viewvc?rev=1067132&view=rev
Log:
SLING-1963 - remove dependencies on Sling, not needed here
Modified:
sling/whiteboard/bdelacretaz/junit/core/pom.xml
sling/whiteboard/bdelacretaz/junit/core/src/main/java/org/apache/sling/junit/impl/JUnitServlet.java
Modified: sling/whiteboard/bdelacretaz/junit/core/pom.xml
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/junit/core/pom.xml?rev=1067132&r1=1067131&r2=1067132&view=diff
==============================================================================
--- sling/whiteboard/bdelacretaz/junit/core/pom.xml (original)
+++ sling/whiteboard/bdelacretaz/junit/core/pom.xml Fri Feb 4 10:24:20 2011
@@ -31,7 +31,7 @@
<packaging>bundle</packaging>
<name>Apache Sling JUnit Extension</name>
- <description>Runs JUnit tests in a Sling instance</description>
+ <description>Runs JUnit tests in OSGi</description>
<properties>
<junit.version>4.8.2</junit.version>
@@ -92,12 +92,6 @@
<scope>provided</scope>
</dependency>
<dependency>
- <groupId>org.apache.sling</groupId>
- <artifactId>org.apache.sling.api</artifactId>
- <version>2.0.2-incubator</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</dependency>
Modified: sling/whiteboard/bdelacretaz/junit/core/src/main/java/org/apache/sling/junit/impl/JUnitServlet.java
URL: http://svn.apache.org/viewvc/sling/whiteboard/bdelacretaz/junit/core/src/main/java/org/apache/sling/junit/impl/JUnitServlet.java?rev=1067132&r1=1067131&r2=1067132&view=diff
==============================================================================
--- sling/whiteboard/bdelacretaz/junit/core/src/main/java/org/apache/sling/junit/impl/JUnitServlet.java (original)
+++ sling/whiteboard/bdelacretaz/junit/core/src/main/java/org/apache/sling/junit/impl/JUnitServlet.java Fri Feb 4 10:24:20 2011
@@ -21,29 +21,52 @@ import java.io.PrintWriter;
import java.util.Collection;
import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import org.apache.felix.scr.annotations.Component;
-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.Service;
-import org.apache.sling.api.SlingHttpServletRequest;
-import org.apache.sling.api.SlingHttpServletResponse;
-import org.apache.sling.api.servlets.SlingAllMethodsServlet;
import org.apache.sling.junit.JUnitTestsManager;
import org.junit.runner.JUnitCore;
+import org.osgi.service.http.HttpService;
+import org.osgi.service.http.NamespaceException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/** Simple test runner servlet */
@SuppressWarnings("serial")
@Component
@Service
-@Property(name="sling.servlet.paths",value="/system/sling/junit")
-public class JUnitServlet extends SlingAllMethodsServlet {
+public class JUnitServlet extends HttpServlet {
+
+ private final Logger log = LoggerFactory.getLogger(getClass());
+
+ /** TODO make this configurable */
+ public static final String SERVLET_PATH = "/system/sling/junit";
@Reference
private JUnitTestsManager testsManager;
+ @Reference(cardinality=ReferenceCardinality.OPTIONAL_UNARY)
+ private HttpService httpService;
+
+ protected void bindHttpService(HttpService h) throws ServletException, NamespaceException {
+ httpService = h;
+ httpService.registerServlet(SERVLET_PATH, this, null, null);
+ log.info("Servlet registered at path {}", SERVLET_PATH);
+ }
+
+ protected void unbindHttpService(HttpService h) throws ServletException, NamespaceException {
+ h.unregister(SERVLET_PATH);
+ httpService = null;
+ log.info("Servlet unregistered from path {}", SERVLET_PATH);
+ }
+
@Override
- protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response)
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/plain");
@@ -82,4 +105,4 @@ public class JUnitServlet extends SlingA
throw new ServletException("Test class not found", cnfe);
}
}
-}
+}
\ No newline at end of file