You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by jm...@apache.org on 2008/02/06 18:01:08 UTC
svn commit: r619071 - in /incubator/abdera/java/trunk:
dependencies/i18n/src/main/java/org/apache/abdera/i18n/iri/IRI.java
server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractEntityCollectionAdapter.java
Author: jmsnell
Date: Wed Feb 6 09:01:05 2008
New Revision: 619071
URL: http://svn.apache.org/viewvc?rev=619071&view=rev
Log:
Add method to IRI to copy the current IRI with a trailing slash appended if the path does not already contain a trailing slash..
e.g. IRI iri = new IRI("/foo/bar");
IRI ts = iri.trailingSlash();
System.out.println(ts);
Outputs: /foo/bar/
Submit patch for https://issues.apache.org/jira/browse/ABDERA-103, modified to use the new trailingSlash method
Modified:
incubator/abdera/java/trunk/dependencies/i18n/src/main/java/org/apache/abdera/i18n/iri/IRI.java
incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractEntityCollectionAdapter.java
Modified: incubator/abdera/java/trunk/dependencies/i18n/src/main/java/org/apache/abdera/i18n/iri/IRI.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/dependencies/i18n/src/main/java/org/apache/abdera/i18n/iri/IRI.java?rev=619071&r1=619070&r2=619071&view=diff
==============================================================================
--- incubator/abdera/java/trunk/dependencies/i18n/src/main/java/org/apache/abdera/i18n/iri/IRI.java (original)
+++ incubator/abdera/java/trunk/dependencies/i18n/src/main/java/org/apache/abdera/i18n/iri/IRI.java Wed Feb 6 09:01:05 2008
@@ -659,4 +659,22 @@
UnicodeCharacterDatabase.getCanonicalClass(1);
Nameprep.prep("");
}
+
+ /**
+ * Returns a new IRI with a trailing slash appended to the path, if necessary
+ */
+ public IRI trailingSlash() {
+ return new IRI(
+ _scheme,
+ scheme,
+ authority,
+ userinfo,
+ host,
+ port,
+ path.endsWith("/") ? path : path + "/",
+ query,
+ fragment
+ );
+ }
+
}
Modified: incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractEntityCollectionAdapter.java
URL: http://svn.apache.org/viewvc/incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractEntityCollectionAdapter.java?rev=619071&r1=619070&r2=619071&view=diff
==============================================================================
--- incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractEntityCollectionAdapter.java (original)
+++ incubator/abdera/java/trunk/server/src/main/java/org/apache/abdera/protocol/server/impl/AbstractEntityCollectionAdapter.java Wed Feb 6 09:01:05 2008
@@ -17,8 +17,6 @@
*/
package org.apache.abdera.protocol.server.impl;
-import static org.apache.abdera.protocol.server.ProviderHelper.calculateEntityTag;
-
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
@@ -29,10 +27,9 @@
import org.apache.abdera.Abdera;
import org.apache.abdera.factory.Factory;
import org.apache.abdera.i18n.iri.IRI;
-import org.apache.abdera.model.AtomDate;
-import org.apache.abdera.i18n.text.Filter;
import org.apache.abdera.i18n.text.UrlEncoding;
import org.apache.abdera.i18n.text.CharUtils.Profile;
+import org.apache.abdera.model.AtomDate;
import org.apache.abdera.model.Content;
import org.apache.abdera.model.Entry;
import org.apache.abdera.model.Feed;
@@ -146,6 +143,7 @@
}
protected String getLink(String name, T entryObj, IRI feedIri, RequestContext request) {
+ feedIri = feedIri.trailingSlash();
IRI entryIri = feedIri.resolve(UrlEncoding.encode(name, Profile.PATH.filter()));
String link = entryIri.toString();
@@ -302,11 +300,7 @@
private IRI getFeedIRI(T entryObj, RequestContext request) {
String feedIri = getFeedIriForEntry(entryObj, request);
- if (!feedIri.endsWith("/")) {
- feedIri += "/";
- }
-
- return new IRI(feedIri);
+ return new IRI(feedIri).trailingSlash();
}
/**