You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2015/07/01 20:23:04 UTC
svn commit: r1688701 - in /cxf/web: pom.xml
src/main/java/org/apache/cxf/cwiki/SiteExporter.java
src/main/resources/confluence-rest.wadl
Author: dkulp
Date: Wed Jul 1 18:23:03 2015
New Revision: 1688701
URL: http://svn.apache.org/r1688701
Log:
Start flipping to REST
Added:
cxf/web/src/main/resources/confluence-rest.wadl
Modified:
cxf/web/pom.xml
cxf/web/src/main/java/org/apache/cxf/cwiki/SiteExporter.java
Modified: cxf/web/pom.xml
URL: http://svn.apache.org/viewvc/cxf/web/pom.xml?rev=1688701&r1=1688700&r2=1688701&view=diff
==============================================================================
--- cxf/web/pom.xml (original)
+++ cxf/web/pom.xml Wed Jul 1 18:23:03 2015
@@ -49,6 +49,16 @@
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-jaxrs</artifactId>
+ <version>${cxf.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-rs-client</artifactId>
+ <version>${cxf.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
@@ -61,6 +71,11 @@
<artifactId>tagsoup</artifactId>
<version>1.2.1</version>
</dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
+ <version>2.5.4</version>
+ </dependency>
<dependency>
<groupId>org.testng</groupId>
@@ -111,6 +126,30 @@
</plugin>
</plugins>
</pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-wadl2java-plugin</artifactId>
+ <version>${cxf.version}</version>
+ <executions>
+ <execution>
+ <id>generate-sources</id>
+ <phase>generate-sources</phase>
+ <configuration>
+ <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
+ <wadlOptions>
+ <wadlOption>
+ <wadl>${basedir}/src/main/resources/confluence-rest.wadl</wadl>
+ </wadlOption>
+ </wadlOptions>
+ </configuration>
+ <goals>
+ <goal>wadl2java</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
</build>
Modified: cxf/web/src/main/java/org/apache/cxf/cwiki/SiteExporter.java
URL: http://svn.apache.org/viewvc/cxf/web/src/main/java/org/apache/cxf/cwiki/SiteExporter.java?rev=1688701&r1=1688700&r2=1688701&view=diff
==============================================================================
--- cxf/web/src/main/java/org/apache/cxf/cwiki/SiteExporter.java (original)
+++ cxf/web/src/main/java/org/apache/cxf/cwiki/SiteExporter.java Wed Jul 1 18:23:03 2015
@@ -71,6 +71,11 @@ import org.xml.sax.ContentHandler;
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.core.JsonToken;
+
+
import org.apache.cxf.common.classloader.ClassLoaderUtils;
import org.apache.cxf.common.util.Base64Utility;
import org.apache.cxf.helpers.CastUtils;
@@ -79,6 +84,7 @@ import org.apache.cxf.helpers.FileUtils;
import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
+import org.apache.cxf.jaxrs.client.JAXRSClientFactory;
import org.apache.cxf.staxutils.StaxUtils;
import org.apache.cxf.transport.http.HTTPConduit;
import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
@@ -89,6 +95,8 @@ import org.apache.velocity.runtime.resou
import org.ccil.cowan.tagsoup.Parser;
import org.ccil.cowan.tagsoup.XMLWriter;
+import application.ContentResource;
+
/**
*
*/
@@ -96,8 +104,9 @@ public class SiteExporter implements Run
static final String HOST = "https://cwiki.apache.org";
static final String ROOT = HOST + "/confluence";
- static final String RPC_ROOT = "/rpc/soap-axis/confluenceservice-v";
+ static final String RPC_ROOT = "/rpc/soap-axis/confluenceservice-v";
static final String SOAPNS = "http://soap.rpc.confluence.atlassian.com";
+ static final String REST_API = ROOT + "/rest/api";
static final String SEPARATOR = " > ";
@@ -116,6 +125,7 @@ public class SiteExporter implements Run
static File rootOutputDir = new File(".");
static String loginToken;
static Dispatch<Document> dispatch;
+ static ContentResource contentResource;
static AtomicInteger asyncCount = new AtomicInteger();
static Map<String, Space> spaces = new ConcurrentHashMap<String, Space>();
static List<SiteExporter> siteExporters;
@@ -192,6 +202,13 @@ public class SiteExporter implements Run
outputDir.mkdirs();
}
+ public static synchronized ContentResource getContentResource() {
+ if (contentResource == null) {
+ contentResource = JAXRSClientFactory.create(REST_API, ContentResource.class,
+ userName, password, null);
+ }
+ return contentResource;
+ }
public static synchronized Dispatch<Document> getDispatch() {
if (dispatch == null) {
Service service = Service.create(new QName(SOAPNS, "Service"));
@@ -254,6 +271,7 @@ public class SiteExporter implements Run
//forcePage("JavaDoc");
//forcePage("DOSGi Architecture");
//forcePage("Book In One Page");
+ //forcePage("Security");
//forcePage("FAQ");
/*
@@ -718,41 +736,26 @@ public class SiteExporter implements Run
return content;
}
- private String renderPage(AbstractPage p) throws ParserConfigurationException {
- Document doc = DOMUtils.newDocument();
- Element el = doc.createElementNS(SOAPNS, "ns1:renderContent");
- Element el2 = doc.createElement("in0");
- el.appendChild(el2);
- el2.setTextContent(loginToken);
- el2 = doc.createElement("in1");
- el.appendChild(el2);
- el2.setTextContent(spaceKey);
-
- el2 = doc.createElement("in2");
- el.appendChild(el2);
- el2.setTextContent(p.getId());
-
- el2 = doc.createElement("in3");
- el.appendChild(el2);
-
- el2 = doc.createElement("in4"); //apachesoap map
- el.appendChild(el2);
-
- Element el4 = doc.createElement("item");
- el2.appendChild(el4);
-
- Element el3 = doc.createElement("key");
- el3.setTextContent("style");
- el4.appendChild(el3);
- el3 = doc.createElement("value");
- el3.setTextContent("clean");
- el4.appendChild(el3);
-
-
- doc.appendChild(el);
- doc = getDispatch().invoke(doc);
-
- return doc.getDocumentElement().getFirstChild().getTextContent().trim();
+ private String renderPage(AbstractPage p) throws ParserConfigurationException, IOException {
+ ContentResource content = getContentResource();
+ InputStream ins = content.getContentById(p.getId(), null, null, "body.export_view")
+ .readEntity(InputStream.class);
+
+ JsonParser parser = new JsonFactory().createParser(ins);
+ JsonToken tok = parser.nextToken();
+ boolean inExportView = false;
+ while (tok != null) {
+ if (tok == JsonToken.FIELD_NAME) {
+ if (parser.getCurrentName().equals("export_view")) {
+ inExportView = true;
+ }
+ } else if (tok == JsonToken.VALUE_STRING && inExportView && parser.getCurrentName().equals("value")) {
+ return parser.getText();
+ }
+ tok = parser.nextToken();
+ }
+ System.out.println("No text for page \"" + p.getTitle() + "\"");
+ return "";
}
public String unwrap(String v) throws Exception {
@@ -1068,8 +1071,11 @@ public class SiteExporter implements Run
parser.setContentHandler(createContentHandler(page, w, id, divCls));
parser.parse(new InputSource(new StringReader(content)));
content = w.toString();
- content = content.substring("<html><body>".length());
- content = content.substring(0, content.lastIndexOf("</body></html>"));
+
+ if (content.indexOf("html>") != -1) {
+ content = content.substring("<html><body>".length());
+ content = content.substring(0, content.lastIndexOf("</body></html>"));
+ }
int idx = content.indexOf('>');
if (idx != -1
Added: cxf/web/src/main/resources/confluence-rest.wadl
URL: http://svn.apache.org/viewvc/cxf/web/src/main/resources/confluence-rest.wadl?rev=1688701&view=auto
==============================================================================
--- cxf/web/src/main/resources/confluence-rest.wadl (added)
+++ cxf/web/src/main/resources/confluence-rest.wadl Wed Jul 1 18:23:03 2015
@@ -0,0 +1,451 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<application xmlns="http://wadl.dev.java.net/2009/02">
+ <resources base="https://cwiki.apache.org/confluence/rest/api/latest/">
+ <resource path="/content">
+ <method name="POST" id="createContent">
+ <request>
+ <representation mediaType="application/json"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <method name="GET" id="getContent">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="page" type="xs:string" style="query" name="type"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="query" name="spaceKey"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="query" name="title"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="query" name="status"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="query" name="postingDay"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="" type="xs:string" style="query" name="expand"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" style="query" name="start"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="25" type="xs:int" style="query" name="limit"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <resource path="/{id}">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <method name="GET" id="getContentById">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="query" name="status"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" style="query" name="version"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="history,space,version" type="xs:string" style="query" name="expand"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <method name="PUT" id="update">
+ <request>
+ <representation mediaType="application/json"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <method name="DELETE" id="delete">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="query" name="status"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ <resource path="/{id}/history/{version}/macro/hash/{hash}">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" style="template" name="version"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="hash"/>
+ <method name="GET" id="getMacroBodyByHash">
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ <resource path="/{id}/history/{version}/macro/id/{macroId}">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="macroId"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" style="template" name="version"/>
+ <method name="GET" id="getMacroBodyByMacroId">
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ <resource path="/{id}/history">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <method name="GET" id="getHistory">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="previousVersion,nextVersion,lastUpdated" type="xs:string" style="query" name="expand"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ <resource path="/search">
+ <method name="GET" id="search">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="query" name="cql"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="query" name="cqlcontext"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="" type="xs:string" style="query" name="expand"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" style="query" name="start"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="25" type="xs:int" style="query" name="limit"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ </resource>
+ <resource path="/content/{id}/property">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <method name="GET" id="findAll">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="query" name="expand"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" style="query" name="start"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="10" type="xs:int" style="query" name="limit"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <method name="POST" id="create">
+ <request>
+ <representation mediaType="application/json"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <resource path="{key}">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="key"/>
+ <method name="GET" id="findByKey">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="query" name="expand"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <method name="PUT" id="update">
+ <request>
+ <representation mediaType="application/json"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <method name="DELETE" id="delete">
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <method name="POST" id="create">
+ <request>
+ <representation mediaType="application/json"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ </resource>
+ <resource path="/content/{id}/restriction">
+ <resource path="byOperation/{operationKey}">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="operationKey"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <method name="GET" id="forOperation">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="restrictions.user,restrictions.group" type="xs:string" style="query" name="expand"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" style="query" name="start"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="100" type="xs:int" style="query" name="limit"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ <resource path="byOperation">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <method name="GET" id="byOperation">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="update.restrictions.user,read.restrictions.group,read.restrictions.user,update.restrictions.group" type="xs:string" style="query" name="expand"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ </resource>
+ <resource path="/contentbody/convert/{to}">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="to"/>
+ <method name="POST" id="convert">
+ <request>
+ <representation mediaType="application/json"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ <resource path="/content/{id}/child">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <method name="GET" id="children">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="" type="xs:string" style="query" name="expand"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="0" type="xs:int" style="query" name="parentVersion"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <resource path="/{type}">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="type"/>
+ <method name="GET" id="childrenOfType">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="" type="xs:string" style="query" name="expand"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="0" type="xs:int" style="query" name="parentVersion"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" style="query" name="start"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="25" type="xs:int" style="query" name="limit"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ <resource path="/comment">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <method name="GET" id="commentsOfContent">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="" type="xs:string" style="query" name="expand"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="0" type="xs:int" style="query" name="parentVersion"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" style="query" name="start"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="25" type="xs:int" style="query" name="limit"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="query" name="location"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="" type="xs:string" style="query" name="depth"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ </resource>
+ <resource path="/content/{id}/child/attachment">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <method name="POST" id="createAttachments">
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <method name="GET" id="getAttachments">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="" type="xs:string" style="query" name="expand"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" style="query" name="start"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="50" type="xs:int" style="query" name="limit"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="query" name="filename"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="query" name="mediaType"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <resource path="/{attachmentId}/data">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="attachmentId"/>
+ <method name="POST" id="updateData">
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ <resource path="/{attachmentId}">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="attachmentId"/>
+ <method name="PUT" id="update">
+ <request>
+ <representation mediaType="application/json"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ </resource>
+ <resource path="/longtask">
+ <method name="GET" id="getTasks">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="" type="xs:string" style="query" name="expand"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" style="query" name="start"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="100" type="xs:int" style="query" name="limit"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <resource path="/{id}">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <method name="GET" id="getTask">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="" type="xs:string" style="query" name="expand"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ </resource>
+ <resource path="/content/{id}/label">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <method name="DELETE" id="deleteLabelWithQueryParam">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="query" name="name"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <method name="POST" id="addLabels">
+ <request>
+ <representation mediaType="application/json"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <method name="GET" id="labels">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="query" name="prefix"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" style="query" name="start"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="200" type="xs:int" style="query" name="limit"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <resource path="/{label}">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="label"/>
+ <method name="DELETE" id="deleteLabel">
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ </resource>
+ <resource path="/content/{id}/descendant">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <method name="GET" id="descendants">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="" type="xs:string" style="query" name="expand"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <resource path="/{type}">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="id"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="type"/>
+ <method name="GET" id="descendantsOfType">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="" type="xs:string" style="query" name="expand"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" style="query" name="start"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="25" type="xs:int" style="query" name="limit"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ </resource>
+ <resource path="/space">
+ <method name="GET" id="spaces">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="query" name="spaceKey"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="" type="xs:string" style="query" name="expand"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" style="query" name="start"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="25" type="xs:int" style="query" name="limit"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <method name="POST" id="createSpace">
+ <request>
+ <representation mediaType="application/json"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <resource path="{spaceKey}/content/{type}">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="spaceKey"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="type"/>
+ <method name="GET" id="contentsWithType">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="all" type="xs:string" style="query" name="depth"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="" type="xs:string" style="query" name="expand"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" style="query" name="start"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="25" type="xs:int" style="query" name="limit"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ <resource path="_private">
+ <method name="POST" id="createPrivateSpace">
+ <request>
+ <representation mediaType="application/json"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ <resource path="/{spaceKey}">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="spaceKey"/>
+ <method name="PUT" id="update">
+ <request>
+ <representation mediaType="application/json"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ <method name="DELETE" id="delete">
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ <resource path="{spaceKey}/content">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="spaceKey"/>
+ <method name="GET" id="contents">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="all" type="xs:string" style="query" name="depth"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="" type="xs:string" style="query" name="expand"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:int" style="query" name="start"/>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="25" type="xs:int" style="query" name="limit"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ <resource path="{spaceKey}">
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" type="xs:string" style="template" name="spaceKey"/>
+ <method name="GET" id="space">
+ <request>
+ <param xmlns:xs="http://www.w3.org/2001/XMLSchema" default="" type="xs:string" style="query" name="expand"/>
+ </request>
+ <response>
+ <representation mediaType="application/json"/>
+ </response>
+ </method>
+ </resource>
+ </resource>
+ </resources>
+</application>