You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by da...@apache.org on 2007/11/27 23:37:11 UTC
svn commit: r598793 - in
/incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl:
AbstractCollectionProvider.java AbstractWorkspaceProvider.java
Author: dandiep
Date: Tue Nov 27 14:37:10 2007
New Revision: 598793
URL: http://svn.apache.org/viewvc?rev=598793&view=rev
Log:
Decode portions of URLs so that the CollectionProvider implementor doesn't have to.
Modified:
incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractCollectionProvider.java
incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractWorkspaceProvider.java
Modified: incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractCollectionProvider.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractCollectionProvider.java?rev=598793&r1=598792&r2=598793&view=diff
==============================================================================
--- incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractCollectionProvider.java (original)
+++ incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractCollectionProvider.java Tue Nov 27 14:37:10 2007
@@ -26,6 +26,7 @@
import org.apache.abdera.Abdera;
import org.apache.abdera.factory.Factory;
+import org.apache.abdera.i18n.iri.Escaping;
import org.apache.abdera.i18n.iri.IRI;
import org.apache.abdera.model.Base;
import org.apache.abdera.model.Content;
@@ -506,7 +507,8 @@
protected String getEntryID(RequestContext request) {
String path = request.getUri().toString();
String[] segments = path.split("/");
- return segments[segments.length - 1];
+ String id = segments[segments.length - 1];
+ return Escaping.decode(id);
}
protected IRI getMediaIRI(IRI entryBaseIri, String name) {
Modified: incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractWorkspaceProvider.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractWorkspaceProvider.java?rev=598793&r1=598792&r2=598793&view=diff
==============================================================================
--- incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractWorkspaceProvider.java (original)
+++ incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractWorkspaceProvider.java Tue Nov 27 14:37:10 2007
@@ -34,6 +34,7 @@
import org.apache.abdera.protocol.server.RequestContext;
import org.apache.abdera.protocol.server.ResponseContext;
import org.apache.abdera.protocol.server.WorkspaceInfo;
+import org.apache.abdera.protocol.util.EncodingUtil;
import org.apache.abdera.util.EntityTag;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -116,24 +117,30 @@
RequestContext request) throws ResponseContextException {
String path = resolveBase.getPath();
String[] paths = path.split("/");
+ String id = null;
+ WorkspaceInfo wp = null;
if (paths.length < 1) {
// TODO:
- throw new RuntimeException();
+ throw new ResponseContextException(404);
} else if (paths.length == 1) {
- WorkspaceInfo wp = getWorkspaceInfo("");
+ wp = getWorkspaceInfo("");
if (wp == null) {
// TODO: 404
- throw new RuntimeException();
+ throw new ResponseContextException(404);
}
- return wp.getCollectionProvider(paths[0]);
+ id = paths[0];
} else {
- WorkspaceInfo wp = getWorkspaceInfo(paths[paths.length - 2]);
+ wp = getWorkspaceInfo(paths[paths.length - 2]);
if (wp == null) {
// TODO: 404
throw new RuntimeException();
}
- return wp.getCollectionProvider(paths[paths.length - 1]);
+ id = paths[paths.length - 1];
}
+
+ id = Escaping.decode(id);
+
+ return wp.getCollectionProvider(id);
}
/**