On Thu, Jan 8, 2009 at 8:58 PM, SVN fmancinelli
<[email protected]> wrote:
> Author: fmancinelli
> Date: 2009-01-08 20:58:17 +0100 (Thu, 08 Jan 2009)
> New Revision: 15193
>
> Added:
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/Wiki.java
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/Wikis.java
>
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/resources/WikisResource.java
> Modified:
> sandbox/xwiki-core-rest/.classpath
This file should not be versionned since it's managed/generated by M2Eclipse
> sandbox/xwiki-core-rest/pom.xml
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/Constants.java
>
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/DomainObjectFactory.java
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/Utils.java
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/XWikiResource.java
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/Relations.java
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/Space.java
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/UriConstants.java
>
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/XStreamFactory.java
>
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/resources/SpaceResource.java
>
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/resources/SpacesResource.java
> sandbox/xwiki-core-rest/src/main/resources/META-INF/plexus/components.xml
> sandbox/xwiki-core-rest/src/test/java/org/xwiki/rest/PageResourceTest.java
> sandbox/xwiki-core-rest/src/test/java/org/xwiki/rest/PagesResourceTest.java
> sandbox/xwiki-core-rest/src/test/java/org/xwiki/rest/RootResourceTest.java
> sandbox/xwiki-core-rest/src/test/java/org/xwiki/rest/SpacesResourceTest.java
> Log:
> Added support for multiple wikis.
>
> Modified: sandbox/xwiki-core-rest/.classpath
> ===================================================================
> --- sandbox/xwiki-core-rest/.classpath 2009-01-08 19:48:12 UTC (rev 15192)
> +++ sandbox/xwiki-core-rest/.classpath 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -1,6 +1,6 @@
> <?xml version="1.0" encoding="UTF-8"?>
> <classpath>
> - <classpathentry kind="src" output="target/classes"
> path="src/main/java"/>
> + <classpathentry kind="src" path="src/main/java"/>
> <classpathentry kind="src" path="src/main/resources"/>
> <classpathentry kind="src" path="src/test/java"/>
> <classpathentry kind="src" path="src/test/resources"/>
>
> Modified: sandbox/xwiki-core-rest/pom.xml
> ===================================================================
> --- sandbox/xwiki-core-rest/pom.xml 2009-01-08 19:48:12 UTC (rev 15192)
> +++ sandbox/xwiki-core-rest/pom.xml 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -91,6 +91,14 @@
> <plugins>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> + <artifactId>maven-surefire-plugin</artifactId>
> + <configuration>
> + <skip>true</skip>
> + </configuration>
> + </plugin>
> +
> + <plugin>
> + <groupId>org.apache.maven.plugins</groupId>
>
> <artifactId>maven-checkstyle-plugin</artifactId>
> <dependencies>
> <dependency>
>
> Modified: sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/Constants.java
> ===================================================================
> --- sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/Constants.java
> 2009-01-08 19:48:12 UTC (rev 15192)
> +++ sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/Constants.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -13,7 +13,7 @@
>
> /* These are relevant parameter names that are used in URI templates. */
> public static final String WIKI_NAME_PARAMETER = "wikiName";
> -
> +
> public static final String SPACE_NAME_PARAMETER = "spaceName";
>
> public static final String PAGE_NAME_PARAMETER = "pageName";
>
> Modified:
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/DomainObjectFactory.java
> ===================================================================
> ---
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/DomainObjectFactory.java
> 2009-01-08 19:48:12 UTC (rev 15192)
> +++
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/DomainObjectFactory.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -1,6 +1,7 @@
> package org.xwiki.rest;
>
> import java.sql.Timestamp;
> +import java.util.ArrayList;
> import java.util.List;
>
> import org.restlet.data.MediaType;
> @@ -12,7 +13,7 @@
> import org.xwiki.rest.model.Relations;
> import org.xwiki.rest.model.Space;
> import org.xwiki.rest.model.Translations;
> -import org.xwiki.rest.model.UriConstants;
> +import org.xwiki.rest.model.Wikis;
> import org.xwiki.rest.model.XWikiRoot;
> import org.xwiki.rest.resources.PageResource;
> import org.xwiki.rest.resources.PageTranslationResource;
> @@ -22,7 +23,9 @@
> import org.xwiki.rest.resources.RootResource;
> import org.xwiki.rest.resources.SpaceResource;
> import org.xwiki.rest.resources.SpacesResource;
> +import org.xwiki.rest.resources.WikisResource;
>
> +import com.xpn.xwiki.XWikiException;
> import com.xpn.xwiki.api.Document;
> import com.xpn.xwiki.doc.rcs.XWikiRCSNodeId;
>
> @@ -37,9 +40,9 @@
> XWikiRoot xwikiRoot = new XWikiRoot(xwikiApi.getVersion());
>
> String fullUri =
> - String.format("%s%s", request.getRootRef(),
> registry.getUriPatternForResourceClass(SpacesResource.class));
> + String.format("%s%s", request.getRootRef(),
> registry.getUriPatternForResourceClass(WikisResource.class));
> Link link = new Link(Utils.formatUriTemplate(fullUri));
> - link.setRel(Relations.SPACES);
> + link.setRel(Relations.WIKIS);
> xwikiRoot.addLink(link);
>
> fullUri =
> @@ -52,15 +55,43 @@
> return xwikiRoot;
> }
>
> - public static Space createSpace(Request request,
> XWikiResourceClassRegistry resourceClassRegistry,
> - String wiki, String spaceName, String home, int numberOfPages)
> + public static Wikis createWikis(Request request, com.xpn.xwiki.XWiki
> xwiki,
> + com.xpn.xwiki.XWikiContext xwikiContext, XWikiResourceClassRegistry
> registry)
> {
> + Wikis wikis = new Wikis();
> +
> + List<String> databaseNames = new ArrayList<String>();
> +
> + try {
> + databaseNames = xwiki.getVirtualWikisDatabaseNames(xwikiContext);
> + } catch (XWikiException e) {
> + /* Ignore */
> + }
> +
> + for (String databaseName : databaseNames) {
> + String fullUri =
> + String.format("%s%s", request.getRootRef(), registry
> + .getUriPatternForResourceClass(SpacesResource.class));
> + Link link = new Link(Utils.formatUriTemplate(fullUri));
> + link.setRel(Relations.SPACES);
> + wikis.addLink(link);
> + }
> +
> + return wikis;
> +
> + }
> +
> + public static Space createSpace(Request request,
> XWikiResourceClassRegistry resourceClassRegistry, String wiki,
> + String spaceName, String home, int numberOfPages)
> + {
> Space space = new Space(wiki, spaceName, home, numberOfPages);
>
> String fullUri =
> String.format("%s%s", request.getRootRef(), resourceClassRegistry
> .getUriPatternForResourceClass(PagesResource.class));
> - Link link = new Link(Utils.formatUriTemplate(fullUri,
> UriConstants.SPACE_NAME_PARAMETER, spaceName));
> + Link link =
> + new Link(Utils.formatUriTemplate(fullUri,
> Constants.WIKI_NAME_PARAMETER, wiki,
> + Constants.SPACE_NAME_PARAMETER, spaceName));
> link.setRel(Relations.PAGES);
>
> space.addLink(link);
> @@ -99,8 +130,9 @@
> String.format("%s%s", request.getRootRef(),
> resourceClassRegistry
>
> .getUriPatternForResourceClass(PageTranslationResource.class));
> link =
> - new Link(Utils.formatUriTemplate(fullUri,
> UriConstants.SPACE_NAME_PARAMETER, doc.getSpace(),
> - UriConstants.PAGE_NAME_PARAMETER, doc.getName(),
> UriConstants.LANGUAGE_ID_PARAMETER, language));
> + new Link(Utils.formatUriTemplate(fullUri,
> Constants.WIKI_NAME_PARAMETER, doc.getWiki(),
> + Constants.SPACE_NAME_PARAMETER, doc.getSpace(),
> Constants.PAGE_NAME_PARAMETER, doc.getName(),
> + Constants.LANGUAGE_ID_PARAMETER, language));
> link.setRel(Relations.TRANSLATION);
> link.setHrefLang(language);
> translations.addLink(link);
> @@ -110,15 +142,17 @@
> String.format("%s%s", request.getRootRef(),
> resourceClassRegistry
> .getUriPatternForResourceClass(PageResource.class));
> link =
> - new Link(Utils.formatUriTemplate(fullUri,
> UriConstants.SPACE_NAME_PARAMETER, doc.getSpace(),
> - UriConstants.PAGE_NAME_PARAMETER, doc.getName()));
> + new Link(Utils.formatUriTemplate(fullUri,
> Constants.WIKI_NAME_PARAMETER, doc.getWiki(),
> + Constants.SPACE_NAME_PARAMETER, doc.getSpace(),
> Constants.PAGE_NAME_PARAMETER, doc.getName()));
> link.setRel(Relations.PAGE);
> pageSummary.addLink(link);
>
> fullUri =
> String.format("%s%s", request.getRootRef(),
> resourceClassRegistry
> .getUriPatternForResourceClass(SpaceResource.class));
> - link = new Link(Utils.formatUriTemplate(fullUri,
> UriConstants.SPACE_NAME_PARAMETER, doc.getSpace()));
> + link =
> + new Link(Utils.formatUriTemplate(fullUri,
> Constants.WIKI_NAME_PARAMETER, doc.getWiki(),
> + Constants.SPACE_NAME_PARAMETER, doc.getSpace()));
> link.setRel(Relations.SPACE);
> pageSummary.addLink(link);
>
> @@ -127,10 +161,12 @@
> pageSummary.setParent(doc.getParent());
>
> String[] components = doc.getParent().split("\\.");
> - fullUri = String.format("%s%s", request.getRootRef(),
> UriConstants.PAGE_URI_TEMPLATE);
> + fullUri =
> + String.format("%s%s", request.getRootRef(),
> resourceClassRegistry
> + .getUriPatternForResourceClass(PageResource.class));
> link =
> - new Link(Utils.formatUriTemplate(fullUri,
> UriConstants.SPACE_NAME_PARAMETER, components[0],
> - UriConstants.PAGE_NAME_PARAMETER, components[1]));
> + new Link(Utils.formatUriTemplate(fullUri,
> Constants.WIKI_NAME_PARAMETER, doc.getWiki(),
> + Constants.SPACE_NAME_PARAMETER, components[0],
> Constants.PAGE_NAME_PARAMETER, components[1]));
> link.setRel(Relations.PARENT);
> pageSummary.addLink(link);
> }
> @@ -180,8 +216,9 @@
> String.format("%s%s", request.getRootRef(),
> resourceClassRegistry
>
> .getUriPatternForResourceClass(PageTranslationResource.class));
> link =
> - new Link(Utils.formatUriTemplate(fullUri,
> UriConstants.SPACE_NAME_PARAMETER, doc.getSpace(),
> - UriConstants.PAGE_NAME_PARAMETER, doc.getName(),
> UriConstants.LANGUAGE_ID_PARAMETER, language));
> + new Link(Utils.formatUriTemplate(fullUri,
> Constants.WIKI_NAME_PARAMETER, doc.getWiki(),
> + Constants.SPACE_NAME_PARAMETER, doc.getSpace(),
> Constants.PAGE_NAME_PARAMETER, doc.getName(),
> + Constants.LANGUAGE_ID_PARAMETER, language));
> link.setRel(Relations.TRANSLATION);
> link.setHrefLang(language);
> translations.addLink(link);
> @@ -194,7 +231,7 @@
> fullUri =
> String.format("%s%s", request.getRootRef(),
> resourceClassRegistry
> .getUriPatternForResourceClass(SpaceResource.class));
> - link = new Link(Utils.formatUriTemplate(fullUri,
> UriConstants.SPACE_NAME_PARAMETER, doc.getSpace()));
> + link = new Link(Utils.formatUriTemplate(fullUri,
> Constants.SPACE_NAME_PARAMETER, doc.getSpace()));
> link.setRel(Relations.SPACE);
> page.addLink(link);
>
> @@ -207,8 +244,8 @@
> String.format("%s%s", request.getRootRef(),
> resourceClassRegistry
> .getUriPatternForResourceClass(PageResource.class));
> link =
> - new Link(Utils.formatUriTemplate(fullUri,
> UriConstants.SPACE_NAME_PARAMETER, components[0],
> - UriConstants.PAGE_NAME_PARAMETER, components[1]));
> + new Link(Utils.formatUriTemplate(fullUri,
> Constants.SPACE_NAME_PARAMETER, components[0],
> + Constants.PAGE_NAME_PARAMETER, components[1]));
> link.setRel(Relations.PARENT);
> page.addLink(link);
> }
> @@ -250,16 +287,16 @@
> String.format("%s%s", request.getRootRef(),
> resourceClassRegistry
>
> .getUriPatternForResourceClass(PageTranslationVersionResource.class));
> link =
> - new Link(Utils.formatUriTemplate(fullUri,
> UriConstants.SPACE_NAME_PARAMETER, spaceName,
> - UriConstants.PAGE_NAME_PARAMETER, pageName,
> UriConstants.LANGUAGE_ID_PARAMETER, languageId,
> - UriConstants.VERSION_PARAMETER, String.format("%d.%d",
> version, minorVersion)));
> + new Link(Utils.formatUriTemplate(fullUri,
> Constants.SPACE_NAME_PARAMETER, spaceName,
> + Constants.PAGE_NAME_PARAMETER, pageName,
> Constants.LANGUAGE_ID_PARAMETER, languageId,
> + Constants.VERSION_PARAMETER, String.format("%d.%d",
> version, minorVersion)));
> } else {
> fullUri =
> String.format("%s%s", request.getRootRef(),
> resourceClassRegistry
>
> .getUriPatternForResourceClass(PageVersionResource.class));
> link =
> - new Link(Utils.formatUriTemplate(fullUri,
> UriConstants.SPACE_NAME_PARAMETER, spaceName,
> - UriConstants.PAGE_NAME_PARAMETER, pageName,
> UriConstants.VERSION_PARAMETER, String.format("%d.%d",
> + new Link(Utils.formatUriTemplate(fullUri,
> Constants.SPACE_NAME_PARAMETER, spaceName,
> + Constants.PAGE_NAME_PARAMETER, pageName,
> Constants.VERSION_PARAMETER, String.format("%d.%d",
> version, minorVersion)));
> }
>
>
> Modified: sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/Utils.java
> ===================================================================
> --- sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/Utils.java
> 2009-01-08 19:48:12 UTC (rev 15192)
> +++ sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/Utils.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -18,6 +18,8 @@
> import org.xwiki.rest.model.XStreamFactory;
>
> import com.thoughtworks.xstream.XStream;
> +import com.xpn.xwiki.api.Document;
> +import com.xpn.xwiki.doc.XWikiDocument;
>
> public class Utils
> {
> @@ -96,4 +98,16 @@
> return null;
> }
>
> + public static String getPrefixedPageName(String database, String space,
> String name)
> + {
> + XWikiDocument xwikiDocument = new XWikiDocument();
> + xwikiDocument.setDatabase(database);
> + xwikiDocument.setName(name);
> + xwikiDocument.setSpace(space);
> +
> + Document document = new Document(xwikiDocument, null);
> +
> + return document.getPrefixedFullName();
> + }
> +
> }
>
> Modified:
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/XWikiResource.java
> ===================================================================
> --- sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/XWikiResource.java
> 2009-01-08 19:48:12 UTC (rev 15192)
> +++ sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/XWikiResource.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -174,12 +174,14 @@
> public DocumentInfo getDocumentFromRequest(Request request, boolean
> failIfDoesntExist)
> {
> try {
> + String wikiName = (String)
> request.getAttributes().get(Constants.WIKI_NAME_PARAMETER);
> String spaceName = (String)
> request.getAttributes().get(Constants.SPACE_NAME_PARAMETER);
> String pageName = (String)
> request.getAttributes().get(Constants.PAGE_NAME_PARAMETER);
> String language = (String)
> request.getAttributes().get(Constants.LANGUAGE_ID_PARAMETER);
> String version = (String)
> request.getAttributes().get(Constants.VERSION_PARAMETER);
> - String pageFullName = String.format("%s.%s", spaceName,
> pageName);
>
> + String pageFullName = Utils.getPrefixedPageName(wikiName,
> spaceName, pageName);
> +
> boolean existed = xwikiApi.exists(pageFullName);
>
> if (failIfDoesntExist) {
>
> Modified:
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/Relations.java
> ===================================================================
> --- sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/Relations.java
> 2009-01-08 19:48:12 UTC (rev 15192)
> +++ sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/Relations.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -7,6 +7,10 @@
> {
> public static final String SELF = "self";
>
> + public static final String WADL = "wadl";
> +
> + public static final String WIKIS = "http://www.xwiki.org/rel/wikis";
> +
> public static final String SPACES = "http://www.xwiki.org/rel/spaces";
>
> public static final String SPACE = "http://www.xwiki.org/rel/space";
> @@ -18,6 +22,4 @@
> public static final String PAGE = "http://www.xwiki.org/rel/page";
>
> public static final String PARENT =
> "http://www.xwiki.org/rel/page/parent";
> -
> - public static final String WADL = "wadl";
> }
>
> Modified:
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/Space.java
> ===================================================================
> --- sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/Space.java
> 2009-01-08 19:48:12 UTC (rev 15192)
> +++ sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/Space.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -9,7 +9,7 @@
> public class Space extends LinkCollection
> {
> private String wiki;
> -
> +
> private String name;
>
> private String home;
>
> Modified:
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/UriConstants.java
> ===================================================================
> ---
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/UriConstants.java
> 2009-01-08 19:48:12 UTC (rev 15192)
> +++
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/UriConstants.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -7,6 +7,8 @@
> {
> public static final String BROWSER_AUTHENTICATION_URI_TEMPLATE =
> "/browser_authentication";
>
> + public static final String WIKI_NAME_PARAMETER = "wikiName";
> +
> public static final String SPACE_NAME_PARAMETER = "spaceName";
>
> public static final String PAGE_NAME_PARAMETER = "pageName";
> @@ -17,34 +19,40 @@
>
> public static final String ROOT_URI_TEMPLATE = "/";
>
> - public static final String SPACES_URI_TEMPLATE = "/spaces";
> + public static final String WIKIS_URI_TEMPLATE = "/wikis";
>
> - public static final String PAGES_URI_TEMPLATE =
> String.format("/spaces/{%s}/pages", SPACE_NAME_PARAMETER);
> + public static final String SPACES_URI_TEMPLATE = "/wikis/{%s}";
>
> + public static final String PAGES_URI_TEMPLATE =
> + String.format("/wikis/{%s}/spaces/{%s}/pages", WIKI_NAME_PARAMETER,
> SPACE_NAME_PARAMETER);
> +
> public static final String PAGE_URI_TEMPLATE =
> - String.format("/spaces/{%s}/pages/{%s}", SPACE_NAME_PARAMETER,
> PAGE_NAME_PARAMETER);
> + String.format("/wikis/{%s}/spaces/{%s}/pages/{%s}",
> WIKI_NAME_PARAMETER, SPACE_NAME_PARAMETER,
> + PAGE_NAME_PARAMETER);
>
> public static final String TRANSLATIONS_URI_TEMPLATE =
> - String.format("/spaces/{%s}/pages/{%s}/translations",
> SPACE_NAME_PARAMETER, PAGE_NAME_PARAMETER);
> + String.format("/wikis/{%s}/spaces/{%s}/pages/{%s}/translations",
> WIKI_NAME_PARAMETER, SPACE_NAME_PARAMETER,
> + PAGE_NAME_PARAMETER);
>
> public static final String PAGE_TRANSLATION_URI_TEMPLATE =
> - String.format("/spaces/{%s}/pages/{%s}/translations/{%s}",
> SPACE_NAME_PARAMETER, PAGE_NAME_PARAMETER,
> - LANGUAGE_ID_PARAMETER);
> +
> String.format("/wikis/{%s}/spaces/{%s}/pages/{%s}/translations/{%s}",
> WIKI_NAME_PARAMETER,
> + SPACE_NAME_PARAMETER, PAGE_NAME_PARAMETER,
> LANGUAGE_ID_PARAMETER);
>
> public static final String HISTORY_URI_TEMPLATE =
> - String.format("/spaces/{%s}/pages/{%s}/history",
> SPACE_NAME_PARAMETER, PAGE_NAME_PARAMETER);
> + String.format("/wikis/{%s}/spaces/{%s}/pages/{%s}/history",
> WIKI_NAME_PARAMETER, SPACE_NAME_PARAMETER,
> + PAGE_NAME_PARAMETER);
>
> public static final String TRANSLATION_HISTORY_URI_TEMPLATE =
> - String.format("/spaces/{%s}/pages/{%s}/translations/{%s}/history",
> SPACE_NAME_PARAMETER, PAGE_NAME_PARAMETER,
> - LANGUAGE_ID_PARAMETER);
> +
> String.format("/wikis/{%s}/spaces/{%s}/pages/{%s}/translations/{%s}/history",
> WIKI_NAME_PARAMETER,
> + SPACE_NAME_PARAMETER, PAGE_NAME_PARAMETER,
> LANGUAGE_ID_PARAMETER);
>
> public static final String PAGE_VERSION_URI_TEMPLATE =
> - String.format("/spaces/{%s}/pages/{%s}/history/{%s}",
> SPACE_NAME_PARAMETER, PAGE_NAME_PARAMETER,
> - VERSION_PARAMETER);
> + String.format("/wikis/{%s}/spaces/{%s}/pages/{%s}/history/{%s}",
> WIKI_NAME_PARAMETER, SPACE_NAME_PARAMETER,
> + PAGE_NAME_PARAMETER, VERSION_PARAMETER);
>
> public static final String PAGE_TRANSLATION_VERSION_URI_TEMPLATE =
> -
> String.format("/spaces/{%s}/pages/{%s}/translations/{%s}/history/{%s}",
> SPACE_NAME_PARAMETER,
> - PAGE_NAME_PARAMETER, LANGUAGE_ID_PARAMETER, VERSION_PARAMETER);
> +
> String.format("/wikis/{%s}/spaces/{%s}/pages/{%s}/translations/{%s}/history/{%s}",
> WIKI_NAME_PARAMETER,
> + SPACE_NAME_PARAMETER, PAGE_NAME_PARAMETER,
> LANGUAGE_ID_PARAMETER, VERSION_PARAMETER);
>
> public static final String START_PARAMETER = "start";
>
>
> Added: sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/Wiki.java
> ===================================================================
> --- sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/Wiki.java
> (rev 0)
> +++ sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/Wiki.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -0,0 +1,23 @@
> +package org.xwiki.rest.model;
> +
> +import com.thoughtworks.xstream.annotations.XStreamAlias;
> +
> +/**
> + * @version $Id$
> + */
> +...@xstreamalias("wiki")
> +public class Wiki extends LinkCollection
> +{
> + private String name;
> +
> + public Wiki(String name)
> + {
> + this.name = name;
> + }
> +
> + public String getName()
> + {
> + return name;
> + }
> +
> +}
>
> Added: sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/Wikis.java
> ===================================================================
> --- sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/Wikis.java
> (rev 0)
> +++ sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/Wikis.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -0,0 +1,32 @@
> +package org.xwiki.rest.model;
> +
> +import java.util.ArrayList;
> +import java.util.List;
> +
> +import com.thoughtworks.xstream.annotations.XStreamAlias;
> +import com.thoughtworks.xstream.annotations.XStreamImplicit;
> +
> +/**
> + * @version $Id$
> + */
> +...@xstreamalias("wikis")
> +public class Wikis extends LinkCollection
> +{
> + @XStreamImplicit
> + private List<Wiki> wikiList;
> +
> + public Wikis()
> + {
> + wikiList = new ArrayList<Wiki>();
> + }
> +
> + public void addWiki(Wiki space)
> + {
> + wikiList.add(space);
> + }
> +
> + public List<Wiki> getWikiList()
> + {
> + return wikiList;
> + }
> +}
>
> Modified:
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/XStreamFactory.java
> ===================================================================
> ---
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/XStreamFactory.java
> 2009-01-08 19:48:12 UTC (rev 15192)
> +++
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/model/XStreamFactory.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -28,6 +28,8 @@
>
> sorter.registerFieldOrder(XWikiRoot.class, new String[] {"version",
> "links"});
>
> + sorter.registerFieldOrder(Wiki.class, new String[] {"name",
> "links"});
> +
> sorter.registerFieldOrder(Space.class, new String[] {"wiki", "name",
> "home", "numberOfPages", "links"});
>
> sorter.registerFieldOrder(PageSummary.class, new String[] {"fullId",
> "id", "wiki", "space", "name", "title",
> @@ -41,6 +43,8 @@
>
> xstream.processAnnotations(Link.class);
> xstream.processAnnotations(XWikiRoot.class);
> + xstream.processAnnotations(Wikis.class);
> + xstream.processAnnotations(Wiki.class);
> xstream.processAnnotations(Spaces.class);
> xstream.processAnnotations(Space.class);
> xstream.processAnnotations(Pages.class);
>
> Modified:
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/resources/SpaceResource.java
> ===================================================================
> ---
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/resources/SpaceResource.java
> 2009-01-08 19:48:12 UTC (rev 15192)
> +++
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/resources/SpaceResource.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -11,7 +11,6 @@
> import org.xwiki.rest.model.Space;
>
> import com.xpn.xwiki.XWikiException;
> -import com.xpn.xwiki.api.Document;
>
> /**
> * @version $Id$
> @@ -25,7 +24,7 @@
> String spaceName = (String)
> getRequest().getAttributes().get(Constants.SPACE_NAME_PARAMETER);
>
> xwiki.setDatabase("xwiki");
> -
> +
> List<String> docNames = xwikiApi.getSpaceDocsName(spaceName);
> String home = String.format("%s.WebHome", spaceName);
>
> @@ -36,7 +35,8 @@
> String wiki = "xwiki";
>
> Space space =
> - DomainObjectFactory.createSpace(getRequest(),
> resourceClassRegistry, wiki, spaceName, home, docNames.size());
> + DomainObjectFactory.createSpace(getRequest(),
> resourceClassRegistry, wiki, spaceName, home, docNames
> + .size());
>
> return getRepresenterFor(variant).represent(getContext(),
> getRequest(), getResponse(), space);
> } catch (XWikiException e) {
>
> Modified:
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/resources/SpacesResource.java
> ===================================================================
> ---
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/resources/SpacesResource.java
> 2009-01-08 19:48:12 UTC (rev 15192)
> +++
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/resources/SpacesResource.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -7,6 +7,7 @@
> import org.restlet.data.Status;
> import org.restlet.resource.Representation;
> import org.restlet.resource.Variant;
> +import org.xwiki.rest.Constants;
> import org.xwiki.rest.DomainObjectFactory;
> import org.xwiki.rest.RangeIterable;
> import org.xwiki.rest.Utils;
> @@ -15,7 +16,6 @@
> import org.xwiki.rest.model.UriConstants;
>
> import com.xpn.xwiki.XWikiException;
> -import com.xpn.xwiki.api.Document;
>
> /**
> * @version $Id$
> @@ -24,8 +24,13 @@
> {
> @Override
> public Representation represent(Variant variant)
> - {
> + {
> + String database = xwikiContext.getDatabase();
> +
> try {
> + String wiki = (String)
> getRequest().getAttributes().get(Constants.WIKI_NAME_PARAMETER);
> + xwikiContext.setDatabase(wiki);
> +
> Spaces spaces = new Spaces();
>
> List<String> spaceNames = xwikiApi.getSpaces();
> @@ -44,8 +49,6 @@
> home = null;
> }
>
> - String wiki = "xwiki";
> -
> spaces.addSpace(DomainObjectFactory.createSpace(getRequest(),
> resourceClassRegistry, wiki, spaceName,
> home, docNames.size()));
> }
> @@ -54,7 +57,9 @@
> } catch (XWikiException e) {
> e.printStackTrace();
> getResponse().setStatus(Status.SERVER_ERROR_INTERNAL);
> - }
> + } finally {
> + xwikiContext.setDatabase(database);
> + }
>
> return null;
> }
>
> Added:
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/resources/WikisResource.java
> ===================================================================
> ---
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/resources/WikisResource.java
> (rev 0)
> +++
> sandbox/xwiki-core-rest/src/main/java/org/xwiki/rest/resources/WikisResource.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -0,0 +1,57 @@
> +package org.xwiki.rest.resources;
> +
> +import java.util.List;
> +
> +import org.restlet.data.Status;
> +import org.restlet.resource.Representation;
> +import org.restlet.resource.Variant;
> +import org.xwiki.rest.Constants;
> +import org.xwiki.rest.Utils;
> +import org.xwiki.rest.XWikiResource;
> +import org.xwiki.rest.model.Link;
> +import org.xwiki.rest.model.Relations;
> +import org.xwiki.rest.model.Wiki;
> +import org.xwiki.rest.model.Wikis;
> +
> +import com.xpn.xwiki.XWikiException;
> +
> +/**
> + * @version $Id$
> + */
> +public class WikisResource extends XWikiResource
> +{
> + @Override
> + public Representation represent(Variant variant)
> + {
> + try {
> + Wikis wikis = new Wikis();
> +
> + List<String> databaseNames =
> xwiki.getVirtualWikisDatabaseNames(xwikiContext);
> +
> + if (databaseNames.isEmpty()) {
> + databaseNames.add("xwiki");
> + }
> +
> + for (String databaseName : databaseNames) {
> + Wiki wiki = new Wiki(databaseName);
> +
> + String fullUri =
> + String.format("%s%s", getRequest().getRootRef(),
> resourceClassRegistry
> +
> .getUriPatternForResourceClass(SpacesResource.class));
> + Link link = new Link(Utils.formatUriTemplate(fullUri,
> Constants.WIKI_NAME_PARAMETER, databaseName));
> + link.setRel(Relations.SPACES);
> + wiki.addLink(link);
> +
> + wikis.addWiki(wiki);
> + }
> +
> + return getRepresenterFor(variant).represent(getContext(),
> getRequest(), getResponse(), wikis);
> + } catch (XWikiException e) {
> + e.printStackTrace();
> + getResponse().setStatus(Status.SERVER_ERROR_INTERNAL);
> + }
> +
> + return null;
> +
> + }
> +}
>
> Modified:
> sandbox/xwiki-core-rest/src/main/resources/META-INF/plexus/components.xml
> ===================================================================
> --- sandbox/xwiki-core-rest/src/main/resources/META-INF/plexus/components.xml
> 2009-01-08 19:48:12 UTC (rev 15192)
> +++ sandbox/xwiki-core-rest/src/main/resources/META-INF/plexus/components.xml
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -76,7 +76,50 @@
>
> org.xwiki.rest.representers.XmlTextXStreamRepresenter
> </implementation>
> </component>
> +
> + <!-- ***************** -->
> + <!-- * Wikis resource * -->
> + <!-- ***************** -->
> + <component>
> + <role>org.xwiki.rest.XWikiResource
> + </role>
> + <role-hint>org.xwiki.rest.resources.WikisResource
> + </role-hint>
> +
> <instantiation-strategy>per-lookup</instantiation-strategy>
> + <implementation>org.xwiki.rest.resources.WikisResource
> + </implementation>
> + <requirements>
> + <requirement>
> +
> <role>org.xwiki.rest.XWikiResourceClassRegistry
> + </role>
> + </requirement>
> + <requirement>
> +
> <role>org.xwiki.rest.XWikiResourceRepresenter
> + </role>
> +
> <role-hint>org.xwiki.rest.resources.WikisResource
> + </role-hint>
> + <field-name>descriptorToRepresenterMap
> + </field-name>
> + </requirement>
> + </requirements>
> + <configuration>
> + <uriPattern>/wikis</uriPattern>
> + </configuration>
> + </component>
>
> + <!-- *** Representers for Wikis resource *** -->
> +
> + <component>
> + <role>org.xwiki.rest.XWikiResourceRepresenter
> + </role>
> +
> <role-hint>org.xwiki.rest.resources.WikisResource:text/xml
> + </role-hint>
> +
> <instantiation-strategy>singleton</instantiation-strategy>
> + <implementation>
> +
> org.xwiki.rest.representers.XmlTextXStreamRepresenter
> + </implementation>
> + </component>
> +
> <!-- ******************* -->
> <!-- * Spaces resource * -->
> <!-- ******************* -->
> @@ -108,7 +151,7 @@
> </requirement>
> </requirements>
> <configuration>
> - <uriPattern>/spaces</uriPattern>
> +
> <uriPattern>/wikis/{wikiName}/spaces</uriPattern>
> </configuration>
> </component>
>
> @@ -163,7 +206,7 @@
> </requirement>
> </requirements>
> <configuration>
> - <uriPattern>/spaces/{spaceName}</uriPattern>
> +
> <uriPattern>/wikis/{wikiName}/spaces/{spaceName}</uriPattern>
> </configuration>
> </component>
>
> @@ -207,7 +250,7 @@
> </requirement>
> </requirements>
> <configuration>
> - <uriPattern>/spaces/{spaceName}/pages
> +
> <uriPattern>/wikis/{wikiName}/spaces/{spaceName}/pages
> </uriPattern>
> </configuration>
> </component>
> @@ -252,7 +295,7 @@
> </requirement>
> </requirements>
> <configuration>
> -
> <uriPattern>/spaces/{spaceName}/pages/{pageName}
> +
> <uriPattern>/wikis/{wikiName}/spaces/{spaceName}/pages/{pageName}
> </uriPattern>
> </configuration>
> </component>
> @@ -297,7 +340,7 @@
> </requirement>
> </requirements>
> <configuration>
> -
> <uriPattern>/spaces/{spaceName}/pages/{pageName}/history/{version}
> +
> <uriPattern>/wikis/{wikiName}/spaces/{spaceName}/pages/{pageName}/history/{version}
> </uriPattern>
> </configuration>
> </component>
> @@ -342,7 +385,7 @@
> </requirement>
> </requirements>
> <configuration>
> -
> <uriPattern>/spaces/{spaceName}/pages/{pageName}/translations
> +
> <uriPattern>/wikis/{wikiName}/spaces/{spaceName}/pages/{pageName}/translations
> </uriPattern>
> </configuration>
> </component>
> @@ -387,7 +430,7 @@
> </requirement>
> </requirements>
> <configuration>
> -
> <uriPattern>/spaces/{spaceName}/pages/{pageName}/translations/{languageId}
> +
> <uriPattern>/wikis/{wikiName}/spaces/{spaceName}/pages/{pageName}/translations/{languageId}
> </uriPattern>
> </configuration>
> </component>
> @@ -432,7 +475,7 @@
> </requirement>
> </requirements>
> <configuration>
> -
> <uriPattern>/spaces/{spaceName}/pages/{pageName}/translations/{languageId}/history/{version}
> +
> <uriPattern>/wikis/{wikiName}/spaces/{spaceName}/pages/{pageName}/translations/{languageId}/history/{version}
> </uriPattern>
> </configuration>
> </component>
> @@ -477,7 +520,7 @@
> </requirement>
> </requirements>
> <configuration>
> -
> <uriPattern>/spaces/{spaceName}/pages/{pageName}/history
> +
> <uriPattern>/wikis/{wikiName}/spaces/{spaceName}/pages/{pageName}/history
> </uriPattern>
> </configuration>
> </component>
> @@ -522,7 +565,7 @@
> </requirement>
> </requirements>
> <configuration>
> -
> <uriPattern>/spaces/{spaceName}/pages/{pageName}/translations/{languageId}/history
> +
> <uriPattern>/wikis/{wikiName}/spaces/{spaceName}/pages/{pageName}/translations/{languageId}/history
> </uriPattern>
> </configuration>
> </component>
>
> Modified:
> sandbox/xwiki-core-rest/src/test/java/org/xwiki/rest/PageResourceTest.java
> ===================================================================
> ---
> sandbox/xwiki-core-rest/src/test/java/org/xwiki/rest/PageResourceTest.java
> 2009-01-08 19:48:12 UTC (rev 15192)
> +++
> sandbox/xwiki-core-rest/src/test/java/org/xwiki/rest/PageResourceTest.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -14,21 +14,34 @@
> import org.xwiki.rest.model.Space;
> import org.xwiki.rest.model.Spaces;
> import org.xwiki.rest.model.UriConstants;
> +import org.xwiki.rest.model.Wiki;
> +import org.xwiki.rest.model.Wikis;
>
> public class PageResourceTest extends AbstractHttpTest
> {
> private Page getPage() throws Exception
> {
> - GetMethod getMethod =
> executeGet(getFullUri(Utils.formatUriTemplate(UriConstants.SPACES_URI_TEMPLATE)));
> + GetMethod getMethod =
> executeGet(getFullUri(Utils.formatUriTemplate(UriConstants.WIKIS_URI_TEMPLATE)));
> assertTrue(getMethod.getStatusCode() == HttpStatus.SC_OK);
> TestUtils.printHttpMethodInfo(getMethod);
>
> + Wikis wikis = (Wikis)
> xstream.fromXML(getMethod.getResponseBodyAsString());
> + assertTrue(wikis.getWikiList().size() > 0);
> +
> + Wiki wiki = wikis.getWikiList().get(0);
> + Link link = wiki.getFirstLinkByRelation(Relations.SPACES);
> + assertNotNull(link);
> +
> + getMethod = executeGet(link.getHref());
> + assertTrue(getMethod.getStatusCode() == HttpStatus.SC_OK);
> + TestUtils.printHttpMethodInfo(getMethod);
> +
> Spaces spaces = (Spaces)
> xstream.fromXML(getMethod.getResponseBodyAsString());
>
> assertTrue(spaces.getSpaceList().size() > 0);
>
> Space space = spaces.getSpaceList().get(0);
> - Link link = space.getFirstLinkByRelation(Relations.PAGES);
> + link = space.getFirstLinkByRelation(Relations.PAGES);
> assertNotNull(link);
>
> getMethod = executeGet(link.getHref());
> @@ -51,6 +64,18 @@
> return page;
> }
>
> + public String getWiki() throws Exception
> + {
> + GetMethod getMethod =
> executeGet(getFullUri(Utils.formatUriTemplate(UriConstants.WIKIS_URI_TEMPLATE)));
> + assertTrue(getMethod.getStatusCode() == HttpStatus.SC_OK);
> + TestUtils.printHttpMethodInfo(getMethod);
> +
> + Wikis wikis = (Wikis)
> xstream.fromXML(getMethod.getResponseBodyAsString());
> + assertTrue(wikis.getWikiList().size() > 0);
> +
> + return wikis.getWikiList().get(0).getName();
> + }
> +
> public void testRepresentation() throws Exception
> {
> TestUtils.banner("testRepresentation()");
> @@ -67,7 +92,8 @@
>
> GetMethod getMethod =
>
> executeGet(getFullUri(Utils.formatUriTemplate(UriConstants.PAGE_URI_TEMPLATE,
> - UriConstants.SPACE_NAME_PARAMETER, "NOTEXISTING",
> UriConstants.PAGE_NAME_PARAMETER, "NOTEXISTING")));
> + UriConstants.WIKI_NAME_PARAMETER, getWiki(),
> UriConstants.SPACE_NAME_PARAMETER, "NOTEXISTING",
> + UriConstants.PAGE_NAME_PARAMETER, "NOTEXISTING")));
> assertTrue(getMethod.getStatusCode() == HttpStatus.SC_NOT_FOUND);
> TestUtils.printHttpMethodInfo(getMethod);
> }
> @@ -131,8 +157,8 @@
>
> PutMethod putMethod =
>
> executePut(getFullUri(Utils.formatUriTemplate(UriConstants.PAGE_URI_TEMPLATE,
> - UriConstants.SPACE_NAME_PARAMETER, SPACE_NAME,
> UriConstants.PAGE_NAME_PARAMETER, PAGE_NAME)), page,
> - "Admin", "admin");
> + UriConstants.WIKI_NAME_PARAMETER, getWiki(),
> UriConstants.SPACE_NAME_PARAMETER, SPACE_NAME,
> + UriConstants.PAGE_NAME_PARAMETER, PAGE_NAME)), page,
> "Admin", "admin");
> assertTrue(putMethod.getStatusCode() == HttpStatus.SC_CREATED);
> TestUtils.printHttpMethodInfo(putMethod);
>
> @@ -159,8 +185,8 @@
> private void createPageIfDoesntExist(String spaceName, String pageName,
> String content) throws Exception
> {
> String uri =
> -
> getFullUri(Utils.formatUriTemplate(UriConstants.PAGE_URI_TEMPLATE,
> UriConstants.SPACE_NAME_PARAMETER,
> - spaceName, UriConstants.PAGE_NAME_PARAMETER, pageName));
> +
> getFullUri(Utils.formatUriTemplate(UriConstants.PAGE_URI_TEMPLATE,
> UriConstants.WIKI_NAME_PARAMETER,
> + getWiki(), UriConstants.SPACE_NAME_PARAMETER, spaceName,
> UriConstants.PAGE_NAME_PARAMETER, pageName));
>
> GetMethod getMethod = executeGet(uri);
> TestUtils.printHttpMethodInfo(getMethod);
> @@ -197,16 +223,17 @@
>
> PutMethod putMethod =
>
> executePut(getFullUri(Utils.formatUriTemplate(UriConstants.PAGE_TRANSLATION_URI_TEMPLATE,
> - UriConstants.SPACE_NAME_PARAMETER,
> TestConstants.TEST_SPACE_NAME, UriConstants.PAGE_NAME_PARAMETER,
> - TestConstants.TRANSLATIONS_PAGE_NAME,
> UriConstants.LANGUAGE_ID_PARAMETER, languageId)), page, "Admin",
> - "admin");
> + UriConstants.WIKI_NAME_PARAMETER, getWiki(),
> UriConstants.SPACE_NAME_PARAMETER,
> + TestConstants.TEST_SPACE_NAME,
> UriConstants.PAGE_NAME_PARAMETER, TestConstants.TRANSLATIONS_PAGE_NAME,
> + UriConstants.LANGUAGE_ID_PARAMETER, languageId)), page,
> "Admin", "admin");
> assertTrue(putMethod.getStatusCode() == HttpStatus.SC_CREATED);
> TestUtils.printHttpMethodInfo(putMethod);
>
> GetMethod getMethod =
>
> executeGet(getFullUri(Utils.formatUriTemplate(UriConstants.PAGE_TRANSLATION_URI_TEMPLATE,
> - UriConstants.SPACE_NAME_PARAMETER,
> TestConstants.TEST_SPACE_NAME, UriConstants.PAGE_NAME_PARAMETER,
> - TestConstants.TRANSLATIONS_PAGE_NAME,
> UriConstants.LANGUAGE_ID_PARAMETER, languageId)));
> + UriConstants.WIKI_NAME_PARAMETER, getWiki(),
> UriConstants.SPACE_NAME_PARAMETER,
> + TestConstants.TEST_SPACE_NAME,
> UriConstants.PAGE_NAME_PARAMETER, TestConstants.TRANSLATIONS_PAGE_NAME,
> + UriConstants.LANGUAGE_ID_PARAMETER, languageId)));
> assertTrue(getMethod.getStatusCode() == HttpStatus.SC_OK);
> TestUtils.printHttpMethodInfo(getMethod);
>
> @@ -221,8 +248,8 @@
>
> GetMethod getMethod =
>
> executeGet(getFullUri(Utils.formatUriTemplate(UriConstants.PAGE_URI_TEMPLATE,
> - UriConstants.SPACE_NAME_PARAMETER,
> TestConstants.TEST_SPACE_NAME, UriConstants.PAGE_NAME_PARAMETER,
> - TestConstants.TRANSLATIONS_PAGE_NAME)));
> + UriConstants.WIKI_NAME_PARAMETER, getWiki(),
> UriConstants.SPACE_NAME_PARAMETER,
> + TestConstants.TEST_SPACE_NAME,
> UriConstants.PAGE_NAME_PARAMETER, TestConstants.TRANSLATIONS_PAGE_NAME)));
> assertTrue(getMethod.getStatusCode() == HttpStatus.SC_OK);
> TestUtils.printHttpMethodInfo(getMethod);
>
> @@ -232,6 +259,7 @@
> assertTrue(translationLinks.size() > 0);
>
> for (Link translationLink : translationLinks) {
> + System.out.format("Translation link: %s\n",
> translationLink.getHref());
> getMethod = executeGet(translationLink.getHref());
> assertTrue(getMethod.getStatusCode() == HttpStatus.SC_OK);
> TestUtils.printHttpMethodInfo(getMethod);
> @@ -248,15 +276,16 @@
>
> GetMethod getMethod =
>
> executeGet(getFullUri(Utils.formatUriTemplate(UriConstants.PAGE_URI_TEMPLATE,
> - UriConstants.SPACE_NAME_PARAMETER,
> TestConstants.TEST_SPACE_NAME, UriConstants.PAGE_NAME_PARAMETER,
> - TestConstants.TRANSLATIONS_PAGE_NAME)));
> + UriConstants.WIKI_NAME_PARAMETER, getWiki(),
> UriConstants.SPACE_NAME_PARAMETER,
> + TestConstants.TEST_SPACE_NAME,
> UriConstants.PAGE_NAME_PARAMETER, TestConstants.TRANSLATIONS_PAGE_NAME)));
> assertTrue(getMethod.getStatusCode() == HttpStatus.SC_OK);
> TestUtils.printHttpMethodInfo(getMethod);
>
> getMethod =
>
> executeGet(getFullUri(Utils.formatUriTemplate(UriConstants.PAGE_TRANSLATION_URI_TEMPLATE,
> - UriConstants.SPACE_NAME_PARAMETER,
> TestConstants.TEST_SPACE_NAME, UriConstants.PAGE_NAME_PARAMETER,
> - TestConstants.TRANSLATIONS_PAGE_NAME,
> UriConstants.LANGUAGE_ID_PARAMETER, "NOTEXISTING")));
> + UriConstants.WIKI_NAME_PARAMETER, getWiki(),
> UriConstants.SPACE_NAME_PARAMETER,
> + TestConstants.TEST_SPACE_NAME,
> UriConstants.PAGE_NAME_PARAMETER, TestConstants.TRANSLATIONS_PAGE_NAME,
> + UriConstants.LANGUAGE_ID_PARAMETER, "NOTEXISTING")));
> assertTrue(getMethod.getStatusCode() == HttpStatus.SC_NOT_FOUND);
> TestUtils.printHttpMethodInfo(getMethod);
> }
> @@ -271,15 +300,15 @@
>
> DeleteMethod deleteMethod =
>
> executeDelete(getFullUri(Utils.formatUriTemplate(UriConstants.PAGE_URI_TEMPLATE,
> - UriConstants.SPACE_NAME_PARAMETER,
> TestConstants.TEST_SPACE_NAME, UriConstants.PAGE_NAME_PARAMETER,
> - pageName)));
> + UriConstants.WIKI_NAME_PARAMETER, getWiki(),
> UriConstants.SPACE_NAME_PARAMETER,
> + TestConstants.TEST_SPACE_NAME,
> UriConstants.PAGE_NAME_PARAMETER, pageName)));
> assertTrue(deleteMethod.getStatusCode() == HttpStatus.SC_OK);
> TestUtils.printHttpMethodInfo(deleteMethod);
>
> GetMethod getMethod =
>
> executeGet(getFullUri(Utils.formatUriTemplate(UriConstants.PAGE_URI_TEMPLATE,
> - UriConstants.SPACE_NAME_PARAMETER,
> TestConstants.TEST_SPACE_NAME, UriConstants.PAGE_NAME_PARAMETER,
> - pageName)));
> + UriConstants.WIKI_NAME_PARAMETER, getWiki(),
> UriConstants.SPACE_NAME_PARAMETER,
> + TestConstants.TEST_SPACE_NAME,
> UriConstants.PAGE_NAME_PARAMETER, pageName)));
> assertTrue(getMethod.getStatusCode() == HttpStatus.SC_NOT_FOUND);
> TestUtils.printHttpMethodInfo(getMethod);
> }
>
> Modified:
> sandbox/xwiki-core-rest/src/test/java/org/xwiki/rest/PagesResourceTest.java
> ===================================================================
> ---
> sandbox/xwiki-core-rest/src/test/java/org/xwiki/rest/PagesResourceTest.java
> 2009-01-08 19:48:12 UTC (rev 15192)
> +++
> sandbox/xwiki-core-rest/src/test/java/org/xwiki/rest/PagesResourceTest.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -8,6 +8,8 @@
> import org.xwiki.rest.model.Space;
> import org.xwiki.rest.model.Spaces;
> import org.xwiki.rest.model.UriConstants;
> +import org.xwiki.rest.model.Wiki;
> +import org.xwiki.rest.model.Wikis;
>
> public class PagesResourceTest extends AbstractHttpTest
> {
> @@ -15,15 +17,26 @@
> {
> TestUtils.banner("testRepresentation()");
>
> - GetMethod getMethod =
> executeGet(getFullUri(Utils.formatUriTemplate(UriConstants.SPACES_URI_TEMPLATE)));
> + GetMethod getMethod =
> executeGet(getFullUri(Utils.formatUriTemplate(UriConstants.WIKIS_URI_TEMPLATE)));
> assertTrue(getMethod.getStatusCode() == HttpStatus.SC_OK);
> TestUtils.printHttpMethodInfo(getMethod);
>
> + Wikis wikis = (Wikis)
> xstream.fromXML(getMethod.getResponseBodyAsString());
> + assertTrue(wikis.getWikiList().size() > 0);
> +
> + Wiki wiki = wikis.getWikiList().get(0);
> + Link link = wiki.getFirstLinkByRelation(Relations.SPACES);
> + assertNotNull(link);
> +
> + getMethod = executeGet(link.getHref());
> + assertTrue(getMethod.getStatusCode() == HttpStatus.SC_OK);
> + TestUtils.printHttpMethodInfo(getMethod);
> +
> Spaces spaces = (Spaces)
> xstream.fromXML(getMethod.getResponseBodyAsString());
> assertTrue(spaces.getSpaceList().size() > 0);
>
> Space space = spaces.getSpaceList().get(0);
> - Link link = space.getFirstLinkByRelation(Relations.PAGES);
> + link = space.getFirstLinkByRelation(Relations.PAGES);
> assertNotNull(link);
>
> getMethod = executeGet(link.getHref());
>
> Modified:
> sandbox/xwiki-core-rest/src/test/java/org/xwiki/rest/RootResourceTest.java
> ===================================================================
> ---
> sandbox/xwiki-core-rest/src/test/java/org/xwiki/rest/RootResourceTest.java
> 2009-01-08 19:48:12 UTC (rev 15192)
> +++
> sandbox/xwiki-core-rest/src/test/java/org/xwiki/rest/RootResourceTest.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -19,7 +19,7 @@
>
> XWikiRoot xwikiRoot = (XWikiRoot)
> xstream.fromXML(getMethod.getResponseBodyAsString());
>
> - Link link = xwikiRoot.getFirstLinkByRelation(Relations.SPACES);
> + Link link = xwikiRoot.getFirstLinkByRelation(Relations.WIKIS);
> assertNotNull(link);
>
> link = xwikiRoot.getFirstLinkByRelation(Relations.WADL);
>
> Modified:
> sandbox/xwiki-core-rest/src/test/java/org/xwiki/rest/SpacesResourceTest.java
> ===================================================================
> ---
> sandbox/xwiki-core-rest/src/test/java/org/xwiki/rest/SpacesResourceTest.java
> 2009-01-08 19:48:12 UTC (rev 15192)
> +++
> sandbox/xwiki-core-rest/src/test/java/org/xwiki/rest/SpacesResourceTest.java
> 2009-01-08 19:58:17 UTC (rev 15193)
> @@ -2,8 +2,12 @@
>
> import org.apache.commons.httpclient.HttpStatus;
> import org.apache.commons.httpclient.methods.GetMethod;
> +import org.xwiki.rest.model.Link;
> +import org.xwiki.rest.model.Relations;
> import org.xwiki.rest.model.Spaces;
> import org.xwiki.rest.model.UriConstants;
> +import org.xwiki.rest.model.Wiki;
> +import org.xwiki.rest.model.Wikis;
>
> public class SpacesResourceTest extends AbstractHttpTest
> {
> @@ -11,10 +15,21 @@
> {
> TestUtils.banner("testRepresentation()");
>
> - GetMethod getMethod =
> executeGet(getFullUri(Utils.formatUriTemplate(UriConstants.SPACES_URI_TEMPLATE)));
> + GetMethod getMethod =
> executeGet(getFullUri(Utils.formatUriTemplate(UriConstants.WIKIS_URI_TEMPLATE)));
> assertTrue(getMethod.getStatusCode() == HttpStatus.SC_OK);
> TestUtils.printHttpMethodInfo(getMethod);
>
> + Wikis wikis = (Wikis)
> xstream.fromXML(getMethod.getResponseBodyAsString());
> + assertTrue(wikis.getWikiList().size() > 0);
> +
> + Wiki wiki = wikis.getWikiList().get(0);
> + Link link = wiki.getFirstLinkByRelation(Relations.SPACES);
> + assertNotNull(link);
> +
> + getMethod = executeGet(link.getHref());
> + assertTrue(getMethod.getStatusCode() == HttpStatus.SC_OK);
> + TestUtils.printHttpMethodInfo(getMethod);
> +
> Spaces spaces = (Spaces)
> xstream.fromXML(getMethod.getResponseBodyAsString());
>
> assertTrue(spaces.getSpaceList().size() > 0);
>
> _______________________________________________
> notifications mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/notifications
>
--
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs