You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fg...@apache.org on 2009/06/22 11:29:46 UTC
svn commit: r787180 - in
/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src:
main/java/org/apache/chemistry/atompub/server/
main/java/org/apache/chemistry/atompub/server/jaxrs/
main/java/org/apache/chemistry/atompub/server/servlet/ test/...
Author: fguillaume
Date: Mon Jun 22 09:29:45 2009
New Revision: 787180
URL: http://svn.apache.org/viewvc?rev=787180&view=rev
Log:
Fixed servlet/context path issues. Added content size header.
Added:
incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/ServletRegexTargetResolver.java (with props)
incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/SizedMediaResponseContext.java (with props)
Modified:
incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java
incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISProvider.java
incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISWorkspaceManager.java
incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/jaxrs/AbderaResource.java
incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/jaxrs/AbderaResponseProvider.java
incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/servlet/CMISServlet.java
incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java
incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/TestAtomPubAbderaServlet.java
incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/TestAtomPubJaxrs.java
incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/resources/jaxrs/web.xml
Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java?rev=787180&r1=787179&r2=787180&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISObjectsCollection.java Mon Jun 22 09:29:45 2009
@@ -25,6 +25,7 @@
import org.apache.abdera.factory.Factory;
import org.apache.abdera.i18n.iri.IRI;
+import org.apache.abdera.model.AtomDate;
import org.apache.abdera.model.Content;
import org.apache.abdera.model.Document;
import org.apache.abdera.model.Entry;
@@ -37,6 +38,7 @@
import org.apache.abdera.protocol.server.context.AbstractResponseContext;
import org.apache.abdera.protocol.server.context.BaseResponseContext;
import org.apache.abdera.protocol.server.context.ResponseContextException;
+import org.apache.abdera.util.EntityTag;
import org.apache.chemistry.BaseType;
import org.apache.chemistry.ObjectEntry;
import org.apache.chemistry.Property;
@@ -228,6 +230,11 @@
return null;
}
+ public long getContentSize(ObjectEntry object) {
+ Integer value = (Integer) object.getValue(Property.CONTENT_STREAM_LENGTH);
+ return value == null ? -1 : value.longValue();
+ }
+
@Override
public String getContentType(ObjectEntry object) {
return (String) object.getValue(Property.CONTENT_STREAM_MIME_TYPE);
@@ -264,6 +271,19 @@
}
}
+ // override to use a custom SizedMediaResponseContext
+ @Override
+ protected ResponseContext buildGetMediaResponse(String id,
+ ObjectEntry entryObj) throws ResponseContextException {
+ Date updated = getUpdated(entryObj);
+ SizedMediaResponseContext ctx = new SizedMediaResponseContext(
+ getMediaStream(entryObj), updated, 200);
+ ctx.setSize(getContentSize(entryObj));
+ ctx.setContentType(getContentType(entryObj));
+ ctx.setEntityTag(EntityTag.generate(id, AtomDate.format(updated)));
+ return ctx;
+ }
+
@Override
public String getName(ObjectEntry object) {
throw new UnsupportedOperationException(); // unused
Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISProvider.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISProvider.java?rev=787180&r1=787179&r2=787180&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISProvider.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISProvider.java Mon Jun 22 09:29:45 2009
@@ -50,7 +50,7 @@
this.repository = repository;
targetBuilder = new TemplateTargetBuilder();
- targetResolver = new RegexTargetResolver();
+ targetResolver = new ServletRegexTargetResolver();
// service
targetBuilder.setTemplate(TargetType.TYPE_SERVICE,
Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISWorkspaceManager.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISWorkspaceManager.java?rev=787180&r1=787179&r2=787180&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISWorkspaceManager.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISWorkspaceManager.java Mon Jun 22 09:29:45 2009
@@ -35,7 +35,9 @@
public CollectionAdapter getCollectionAdapter(RequestContext request) {
Repository repository = provider.getRepository();
- String path = request.getTargetPath();
+ String uri = request.getUri().toString();
+ String spath = request.getTargetBasePath();
+ String path = spath == null ? uri : uri.substring(spath.length());
String paths = path + '/';
if (paths.startsWith("/types/") || paths.startsWith("/types?")) {
return new CMISTypesCollection(null, repository);
Added: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/ServletRegexTargetResolver.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/ServletRegexTargetResolver.java?rev=787180&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/ServletRegexTargetResolver.java (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/ServletRegexTargetResolver.java Mon Jun 22 09:29:45 2009
@@ -0,0 +1,54 @@
+/*
+ * Licensed 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.
+ *
+ * Authors:
+ * Florent Guillaume, Nuxeo
+ */
+package org.apache.chemistry.atompub.server;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.abdera.protocol.Request;
+import org.apache.abdera.protocol.server.RequestContext;
+import org.apache.abdera.protocol.server.Target;
+import org.apache.abdera.protocol.server.TargetType;
+import org.apache.abdera.protocol.server.impl.RegexTargetResolver;
+
+/**
+ * Regex target resolver that doesn't need an explicit servlet path in the
+ * patterns.
+ * <p>
+ * It checks the patterns using only the part of the path *after* the servlet
+ * path.
+ */
+public class ServletRegexTargetResolver extends RegexTargetResolver {
+
+ @Override
+ public Target resolve(Request request) {
+ RequestContext context = (RequestContext) request;
+ String uri = context.getUri().toString();
+ String spath = context.getTargetBasePath();
+ String path = spath == null ? uri : uri.substring(spath.length());
+ for (Pattern pattern : patterns.keySet()) {
+ Matcher matcher = pattern.matcher(path);
+ if (matcher.matches()) {
+ TargetType type = this.patterns.get(pattern);
+ String[] fields = this.fields.get(pattern);
+ return getTarget(type, context, matcher, fields);
+ }
+ }
+ return null;
+ }
+
+}
Propchange: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/ServletRegexTargetResolver.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/ServletRegexTargetResolver.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/ServletRegexTargetResolver.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/SizedMediaResponseContext.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/SizedMediaResponseContext.java?rev=787180&view=auto
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/SizedMediaResponseContext.java (added)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/SizedMediaResponseContext.java Mon Jun 22 09:29:45 2009
@@ -0,0 +1,43 @@
+/*
+ * Licensed 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.
+ *
+ * Authors:
+ * Florent Guillaume, Nuxeo
+ */
+package org.apache.chemistry.atompub.server;
+
+import java.io.InputStream;
+import java.util.Date;
+
+import org.apache.abdera.protocol.server.context.MediaResponseContext;
+
+/**
+ * An Abdera {@link MediaResponseContext} that knows the size of the stream.
+ */
+public class SizedMediaResponseContext extends MediaResponseContext {
+
+ protected long size;
+
+ public SizedMediaResponseContext(InputStream in, Date lastmodified, int status) {
+ super(in, lastmodified, status);
+ }
+
+ public void setSize(long size) {
+ this.size = size;
+ }
+
+ public long getSize() {
+ return size;
+ }
+
+}
Propchange: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/SizedMediaResponseContext.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/SizedMediaResponseContext.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/SizedMediaResponseContext.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/jaxrs/AbderaResource.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/jaxrs/AbderaResource.java?rev=787180&r1=787179&r2=787180&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/jaxrs/AbderaResource.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/jaxrs/AbderaResource.java Mon Jun 22 09:29:45 2009
@@ -19,11 +19,14 @@
import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
import javax.ws.rs.GET;
+import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;
+import javax.ws.rs.core.UriInfo;
import org.apache.abdera.protocol.server.CollectionAdapter;
import org.apache.abdera.protocol.server.RequestContext;
@@ -39,6 +42,9 @@
/**
* A JAX-RS Resource that dispatches to the underlying Abdera
* {@link CMISProvider}.
+ * <p>
+ * In some contexts (Nuxeo WebEngine), the path of this resource is injected by
+ * the framework, so no @Path annotation must be specified.
*/
public class AbderaResource {
@@ -49,6 +55,9 @@
@Context
protected HttpServletRequest httpRequest;
+ @Context
+ protected UriInfo ui;
+
// TODO inject repository somehow
public static Repository repository;
@@ -63,8 +72,40 @@
}
}
- protected ServletRequestContext getRequestContext() {
- return new ServletRequestContext(provider, httpRequest);
+ /**
+ * Gets a {@link ServletRequestContext} wrapping the httpRequest but
+ * pretending that this Resource's path is part of the servlet path.
+ *
+ * @param segments the number of segments of the method invoking this, used
+ * to determine the Resource path
+ */
+ protected ServletRequestContext getRequestContext(int segments) {
+ // actual servlet path
+ String spath = httpRequest.getServletPath();
+ // find this Resource path (remove some segments from it)
+ String rpath = ui.getPath();
+ while (segments > 0) {
+ segments--;
+ if (rpath.contains("/")) {
+ rpath = rpath.substring(0, rpath.lastIndexOf('/'));
+ }
+ }
+ HttpServletRequest wrapper;
+ if (rpath.length() == 0) {
+ // no resource path to fake
+ wrapper = httpRequest;
+ } else {
+ // this gives the pretend servlet path
+ final String pspath = spath + rpath;
+ // wrap HttpServletRequest to pretend to have this servlet path
+ wrapper = new HttpServletRequestWrapper(httpRequest) {
+ @Override
+ public String getServletPath() {
+ return pspath;
+ }
+ };
+ }
+ return new ServletRequestContext(provider, wrapper);
}
protected CollectionAdapter getAbderaCollectionAdapter(
@@ -73,14 +114,14 @@
requestContext);
}
- protected Response getAbderaFeed() {
- RequestContext requestContext = getRequestContext();
+ protected Response getAbderaFeed(int skipSegments) {
+ RequestContext requestContext = getRequestContext(skipSegments);
CollectionAdapter adapter = getAbderaCollectionAdapter(requestContext);
return Response.ok(adapter.getFeed(requestContext)).build();
}
- protected Response getAbderaEntry() {
- RequestContext requestContext = getRequestContext();
+ protected Response getAbderaEntry(int skipSegments) {
+ RequestContext requestContext = getRequestContext(skipSegments);
CollectionAdapter adapter = getAbderaCollectionAdapter(requestContext);
return Response.ok(adapter.getEntry(requestContext)).build();
}
@@ -89,7 +130,7 @@
@Produces("application/atomsvc+xml")
@Path("repository")
public Response doGetRepository(@Context HttpServletRequest httpRequest) {
- RequestContext requestContext = getRequestContext();
+ RequestContext requestContext = getRequestContext(1);
ResponseContext responseContext = provider.getServiceDocument(requestContext);
return Response.ok(responseContext).build();
}
@@ -98,7 +139,7 @@
@Produces("application/atom+xml;type=feed")
@Path("types")
public Response doGetTypes() {
- return getAbderaFeed();
+ return getAbderaFeed(1);
}
@GET
@@ -106,7 +147,7 @@
@Path("children/{objectid}")
public Response doGetChildren() {
// objectid decoded by Abdera getCollectionAdapter
- return getAbderaFeed();
+ return getAbderaFeed(2);
}
@GET
@@ -114,25 +155,18 @@
@Path("object/{objectid}")
public Response doGetObject() {
// objectid decoded by Abdera getCollectionAdapter
- return getAbderaEntry();
+ return getAbderaEntry(2);
}
@GET
@Path("file/{objectid}")
public Response doGetFile() {
// objectid decoded by Abdera getCollectionAdapter
- RequestContext requestContext = getRequestContext();
+ RequestContext requestContext = getRequestContext(2);
AbstractCollectionAdapter adapter = (AbstractCollectionAdapter) getAbderaCollectionAdapter(requestContext);
ResponseContext responseContext = adapter.getMedia(requestContext);
String contentType = responseContext.getHeader("Content-Type");
return Response.ok(responseContext).type(contentType).build();
}
- // @PUT
- // @Path("object/{objectid}}")
- // @Consumes("application/atom+xml;type=entry")
- // public Response doPut(@PathParam("objectid") String objectid) {
- // return AbderaProvider.putEntry(ctx, getCollectionAdapter());
- // }
-
}
Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/jaxrs/AbderaResponseProvider.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/jaxrs/AbderaResponseProvider.java?rev=787180&r1=787179&r2=787180&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/jaxrs/AbderaResponseProvider.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/jaxrs/AbderaResponseProvider.java Mon Jun 22 09:29:45 2009
@@ -21,6 +21,7 @@
import java.lang.annotation.Annotation;
import java.lang.reflect.Type;
+import javax.ws.rs.Produces;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
@@ -28,16 +29,24 @@
import javax.ws.rs.ext.Provider;
import org.apache.abdera.protocol.server.ResponseContext;
+import org.apache.chemistry.atompub.server.SizedMediaResponseContext;
/**
* A JAX-RS MessageBodyWriter that knows how to write an Abdera ResponseContext.
*/
+// @Produces of text/plain is needed otherwise RESTEasy will use its
+// DefaultTextPlain writer to write text/plain objects and the ResponseContext
+// is not written correctly.
@Provider
+@Produces( { "*/*", "text/plain" })
public class AbderaResponseProvider implements
MessageBodyWriter<ResponseContext> {
public long getSize(ResponseContext responseContext, Class<?> type,
Type genericType, Annotation[] annotations, MediaType mediaType) {
+ if (responseContext instanceof SizedMediaResponseContext) {
+ return ((SizedMediaResponseContext) responseContext).getSize();
+ }
return -1;
}
Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/servlet/CMISServlet.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/servlet/CMISServlet.java?rev=787180&r1=787179&r2=787180&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/servlet/CMISServlet.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/servlet/CMISServlet.java Mon Jun 22 09:29:45 2009
@@ -36,9 +36,6 @@
private Repository repository;
- public CMISServlet() {
- }
-
public CMISServlet(Repository repository) {
this.repository = repository;
}
Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java?rev=787180&r1=787179&r2=787180&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/AtomPubServerTestCase.java Mon Jun 22 09:29:45 2009
@@ -61,9 +61,10 @@
protected static final int PORT = (int) (8500 + System.currentTimeMillis() % 100);
- protected static final String SERVLET_PATH = "/cmis";
+ protected static final String CONTEXT_PATH = "/ctx";
- protected static final String CMIS_SERVICE = "/repository";
+ // also in web.xml for JAX-RS
+ protected static final String SERVLET_PATH = "/cmis";
@Override
public void setUp() throws Exception {
@@ -144,10 +145,10 @@
}
public void testConnect() throws Exception {
- String base = "http://localhost:" + PORT + SERVLET_PATH;
+ String base = "http://localhost:" + PORT + CONTEXT_PATH + SERVLET_PATH;
ClientResponse resp;
- resp = client.get(base + CMIS_SERVICE);
+ resp = client.get(base + "/repository");
assertEquals(200, resp.getStatus());
Service root = (Service) resp.getDocument().getRoot();
Workspace workspace = root.getWorkspaces().get(0);
Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/TestAtomPubAbderaServlet.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/TestAtomPubAbderaServlet.java?rev=787180&r1=787179&r2=787180&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/TestAtomPubAbderaServlet.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/TestAtomPubAbderaServlet.java Mon Jun 22 09:29:45 2009
@@ -33,8 +33,8 @@
server = new Server(PORT);
Servlet servlet = new CMISServlet(repository);
ServletHolder servletHolder = new ServletHolder(servlet);
- Context context = new Context(server, SERVLET_PATH, Context.SESSIONS);
- context.addServlet(servletHolder, "/*");
+ Context context = new Context(server, CONTEXT_PATH, Context.SESSIONS);
+ context.addServlet(servletHolder, SERVLET_PATH + "/*");
server.start();
}
Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/TestAtomPubJaxrs.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/TestAtomPubJaxrs.java?rev=787180&r1=787179&r2=787180&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/TestAtomPubJaxrs.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/java/org/apache/chemistry/atompub/server/TestAtomPubJaxrs.java Mon Jun 22 09:29:45 2009
@@ -39,7 +39,7 @@
public void startServer() throws Exception {
AbderaResource.repository = repository; // TODO inject differently
server = new Server(PORT);
- server.setHandler(new WebAppContext(server, makeWar(), SERVLET_PATH));
+ server.setHandler(new WebAppContext(server, makeWar(), CONTEXT_PATH));
server.start();
}
Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/resources/jaxrs/web.xml
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/resources/jaxrs/web.xml?rev=787180&r1=787179&r2=787180&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/resources/jaxrs/web.xml (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/test/resources/jaxrs/web.xml Mon Jun 22 09:29:45 2009
@@ -14,6 +14,6 @@
<servlet-mapping>
<servlet-name>cxfjaxrs</servlet-name>
- <url-pattern>/*</url-pattern> <!-- context defined in code -->
+ <url-pattern>/cmis/*</url-pattern> <!-- also in AtomPubServerTestCase -->
</servlet-mapping>
</web-app>