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 2010/01/05 18:05:04 UTC

svn commit: r896128 - /incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISChildrenCollection.java

Author: fguillaume
Date: Tue Jan  5 17:05:03 2010
New Revision: 896128

URL: http://svn.apache.org/viewvc?rev=896128&view=rev
Log:
Fix children paging next link

Modified:
    incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISChildrenCollection.java

Modified: incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISChildrenCollection.java
URL: http://svn.apache.org/viewvc/incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISChildrenCollection.java?rev=896128&r1=896127&r2=896128&view=diff
==============================================================================
--- incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISChildrenCollection.java (original)
+++ incubator/chemistry/trunk/chemistry/chemistry-atompub-server/src/main/java/org/apache/chemistry/atompub/server/CMISChildrenCollection.java Tue Jan  5 17:05:03 2010
@@ -59,6 +59,9 @@
  */
 public class CMISChildrenCollection extends CMISObjectsCollection {
 
+    protected static Pattern PAT_PARAM_SKIP_COUNT = Pattern.compile("(.*[?&]"
+            + AtomPubCMIS.PARAM_SKIP_COUNT + "=)(-?[0-9]+)(.*)");
+
     public CMISChildrenCollection(String type, String id, Repository repository) {
         super(type, "children", id, repository);
     }
@@ -116,13 +119,13 @@
             skipCount += entries.size();
             // compute new URI
             String uri = request.getResolvedUri().toString();
-            Pattern pat = Pattern.compile("(.*[?&]"
-                    + AtomPubCMIS.PARAM_SKIP_COUNT + "=)(-?[0-9]+)(.*)");
-            Matcher m = pat.matcher(uri);
+            Matcher m = PAT_PARAM_SKIP_COUNT.matcher(uri);
             if (m.matches()) {
                 uri = m.group(1) + skipCount + m.group(3);
             } else {
-                // unexpected URI...
+                char sep = uri.contains("?") ? '&' : '?';
+                uri = uri + sep + AtomPubCMIS.PARAM_SKIP_COUNT + '='
+                        + skipCount;
             }
             feed.addLink(uri, AtomPub.LINK_NEXT, AtomPub.MEDIA_TYPE_ATOM_FEED,
                     null, null, -1);