You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@manifoldcf.apache.org by kw...@apache.org on 2011/10/12 17:40:11 UTC
svn commit: r1182439 -
/incubator/lcf/branches/CONNECTORS-256/tests/wiki/src/test/java/org/apache/manifoldcf/wiki_tests/MockWikiService.java
Author: kwright
Date: Wed Oct 12 15:40:10 2011
New Revision: 1182439
URL: http://svn.apache.org/viewvc?rev=1182439&view=rev
Log:
Finish writing the mock wiki service, for tests
Modified:
incubator/lcf/branches/CONNECTORS-256/tests/wiki/src/test/java/org/apache/manifoldcf/wiki_tests/MockWikiService.java
Modified: incubator/lcf/branches/CONNECTORS-256/tests/wiki/src/test/java/org/apache/manifoldcf/wiki_tests/MockWikiService.java
URL: http://svn.apache.org/viewvc/incubator/lcf/branches/CONNECTORS-256/tests/wiki/src/test/java/org/apache/manifoldcf/wiki_tests/MockWikiService.java?rev=1182439&r1=1182438&r2=1182439&view=diff
==============================================================================
--- incubator/lcf/branches/CONNECTORS-256/tests/wiki/src/test/java/org/apache/manifoldcf/wiki_tests/MockWikiService.java (original)
+++ incubator/lcf/branches/CONNECTORS-256/tests/wiki/src/test/java/org/apache/manifoldcf/wiki_tests/MockWikiService.java Wed Oct 12 15:40:10 2011
@@ -53,17 +53,33 @@ public class MockWikiService
server.stop();
}
- public void setResources(Map<String,String> listResources,
+ public void setResources(Map<String,String> checkResources,
+ Map<String,String> listResources,
Map<String,String> timestampQueryResources,
Map<String,String> docInfoQueryResources)
{
- servlet.setResources(listResources,timestampQueryResources,docInfoQueryResources);
+ servlet.setResources(checkResources,listResources,timestampQueryResources,docInfoQueryResources);
+ }
+
+ protected static String sortStuff(String input)
+ {
+ String[] ids = input.split("\\|");
+ java.util.Arrays.sort(ids);
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0 ; i < ids.length ; i++)
+ {
+ if (i == 0)
+ sb.append("|");
+ sb.append(ids[i]);
+ }
+ return sb.toString();
}
public static class WikiAPIServlet extends HttpServlet
{
protected Class theResourceClass;
+ protected Map<String,String> checkResources = null;
protected Map<String,String> listResources = null;
protected Map<String,String> timestampQueryResources = null;
protected Map<String,String> docInfoQueryResources = null;
@@ -73,10 +89,12 @@ public class MockWikiService
this.theResourceClass = theResourceClass;
}
- public void setResources(Map<String,String> listResources,
+ public void setResources(Map<String,String> checkResources,
+ Map<String,String> listResources,
Map<String,String> timestampQueryResources,
Map<String,String> docInfoQueryResources)
{
+ this.checkResources = checkResources;
this.listResources = listResources;
this.timestampQueryResources = timestampQueryResources;
this.docInfoQueryResources = docInfoQueryResources;
@@ -105,15 +123,46 @@ public class MockWikiService
String pageIds = req.getParameter("pageids");
String rvprop = req.getParameter("rvprop");
String inprop = req.getParameter("inprop");
- // MHL
+ if (rvprop != null && rvprop.equals("timestamp"))
+ {
+ // Version query
+ if (prop == null || !prop.equals("revisions"))
+ throw new IOException("prop parameter incorrect for version query: "+prop);
+ if (pageIds == null)
+ throw new IOException("missing pageids parameter, required for version query");
+ // Sort the pageIds
+ pageIds = sortStuff(pageIds);
+ resourceName = timestampQueryResources.get(pageIds);
+ }
+ else if (rvprop != null && rvprop.equals("user|comment|content"))
+ {
+ // Doc info query
+ if (prop == null || !prop.equals("revisions"))
+ throw new IOException("prop parameter incorrect for docinfo query: "+prop);
+ if (pageIds == null)
+ throw new IOException("missing pageids parameter, required for docinfo query");
+ if (pageIds.indexOf("|") != -1)
+ throw new IOException("cannot do more than one docinfo request at once");
+ resourceName = docInfoQueryResources.get(pageIds);
+ }
+ else
+ throw new IOException("rvprop parameter missing or incorrect: "+rvprop);
}
else if (list != null)
{
if (!list.equals("allpages"))
throw new IOException("List parameter incorrect: "+list);
String apfrom = req.getParameter("apfrom");
+ if (apfrom == null)
+ apfrom = "";
String aplimit = req.getParameter("aplimit");
- // MHL
+ // Only two legal values for aplimit here: 1 and 500.
+ if (aplimit.equals("1"))
+ resourceName = checkResources.get(apfrom);
+ else if (aplimit.equals("500"))
+ resourceName = listResources.get(apfrom);
+ else
+ throw new IOException("aplimit parameter incorrect: "+aplimit);
}
// Select the resource