|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.extensions.webscripts.AbstractWebScript
org.alfresco.repo.web.scripts.bean.BaseRemoteStore
public abstract class BaseRemoteStore
Remote Store service.
Responsible for providing remote HTTP based access to a store. Designed to be accessed from a web-tier application to remotely mirror a WebScript Store instance.
Request format:
//[?]
//s//[?]
//s//w//[?]
Example:
/service/remotestore/lastmodified/sites/xyz/pages/page.xml
where:
/service/remotestore -> service path
/lastmodified -> method name
/sites/../page.xml -> document path
optional request parameters:
s -> the avm store id
w -> the wcm web application id
Note: path is relative to the root path as configured for this webscript bean
Further URL arguments may be provided if required by specific API methods.
For content create and update the request should be POSTed and the content sent as the payload of the request content.
Supported API methods:
GET lastmodified -> return timestamp of a document in ms since 1970 as a long string value
GET has -> return true or false string as existence for a document
GET get -> return raw document content - in addition the appropriate HTTP headers for the
character encoding, content type, length and modified date will be set
GET list -> return the list of available document paths under a path - UTF-8 response text
GET listall -> return the list of available document paths (recursively) under a given path
- UTF-8 response text
GET listpattern -> return the list of document paths matching a file pattern under a given path
- UTF-8 response text
POST create -> create a new document with request content payload
POST createmulti -> create multiple new documents with request content payload
POST update -> update an existing document with request content payload
DELETE delete -> delete an existing document
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.springframework.extensions.webscripts.AbstractWebScript |
|---|
org.springframework.extensions.webscripts.AbstractWebScript.ScriptDetails |
| Field Summary | |
|---|---|
protected java.lang.String |
defaultStore
|
protected org.alfresco.service.cmr.repository.MimetypeService |
mimetypeService
|
static java.lang.String |
REQUEST_PARAM_STORE
|
static java.lang.String |
REQUEST_PARAM_WEBAPP
|
static java.lang.String |
TOKEN_STORE
|
static java.lang.String |
TOKEN_WEBAPP
|
| Constructor Summary | |
|---|---|
BaseRemoteStore()
|
|
| Method Summary | |
|---|---|
protected abstract void |
createDocument(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.lang.String path,
java.io.InputStream content)
Creates a document. |
protected abstract void |
createDocuments(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.io.InputStream content)
Creates multiple XML documents encapsulated in a single one. |
protected abstract void |
deleteDocument(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.lang.String path)
Deletes an existing document. |
protected static java.lang.String |
encodePath(java.lang.String s)
|
void |
execute(org.springframework.extensions.webscripts.WebScriptRequest req,
org.springframework.extensions.webscripts.WebScriptResponse res)
Execute the webscript based on the request parameters |
protected abstract void |
getDocument(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.lang.String path)
Gets a document. |
protected java.util.List |
getPathParts(java.lang.String[] extPaths)
Helper to break down webscript extension path into path component elements |
protected abstract void |
hasDocument(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.lang.String path)
Determines if the document exists. |
protected abstract void |
lastModified(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.lang.String path)
Gets the last modified timestamp for the document. |
protected abstract void |
listDocuments(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.lang.String path,
boolean recurse)
Lists the document paths under a given path. |
protected abstract void |
listDocuments(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.lang.String path,
java.lang.String pattern)
Lists the document paths matching a file pattern under a given path. |
void |
setMimetypeService(org.alfresco.service.cmr.repository.MimetypeService mimetypeService)
|
void |
setStore(java.lang.String defaultStore)
|
protected abstract void |
updateDocument(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.lang.String path,
java.io.InputStream content)
Updates an existing document. |
| Methods inherited from class org.springframework.extensions.webscripts.AbstractWebScript |
|---|
createArgs, createArgsM, createHeaders, createHeadersM, createScriptParameters, createStatusException, createTemplateParameters, executeScript, getContainer, getDescription, getExecuteScript, getResources, getStatusTemplate, init, renderString, renderString, renderTemplate, sendStatus, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String TOKEN_STORE
public static final java.lang.String TOKEN_WEBAPP
public static final java.lang.String REQUEST_PARAM_STORE
public static final java.lang.String REQUEST_PARAM_WEBAPP
protected java.lang.String defaultStore
protected org.alfresco.service.cmr.repository.MimetypeService mimetypeService
| Constructor Detail |
|---|
public BaseRemoteStore()
| Method Detail |
|---|
public void setStore(java.lang.String defaultStore)
defaultStore - the default store name of the store to process document requests againstpublic void setMimetypeService(org.alfresco.service.cmr.repository.MimetypeService mimetypeService)
mimetypeService - the MimetypeService to set
public void execute(org.springframework.extensions.webscripts.WebScriptRequest req,
org.springframework.extensions.webscripts.WebScriptResponse res)
throws java.io.IOException
java.io.IOExceptionprotected java.util.List getPathParts(java.lang.String[] extPaths)
protected abstract void lastModified(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.lang.String path)
throws java.io.IOException
store - the store idpath - document path to an existing document
java.io.IOException
protected abstract void hasDocument(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.lang.String path)
throws java.io.IOException
store - the store idpath - document path
java.io.IOException
protected abstract void getDocument(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.lang.String path)
throws java.io.IOException
store - the store idpath - document path
java.io.IOException - if an error occurs retrieving the document
protected abstract void listDocuments(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.lang.String path,
boolean recurse)
throws java.io.IOException
store - the store idpath - document pathrecurse - true to peform a recursive list, false for direct children only.
java.io.IOException - if an error occurs listing the documents
protected abstract void listDocuments(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.lang.String path,
java.lang.String pattern)
throws java.io.IOException
store - the store idpath - document pathpattern - file pattern to match - allows wildcards e.g. *.xml or site*.xml
java.io.IOException - if an error occurs listing the documents
protected abstract void createDocument(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.lang.String path,
java.io.InputStream content)
store - the store idpath - document pathcontent - content of the document to write
java.io.IOException - if the create fails
protected abstract void createDocuments(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.io.InputStream content)
store - the store idpath - document pathcontent - content of the document to write
java.io.IOException - if the create fails
protected abstract void updateDocument(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.lang.String path,
java.io.InputStream content)
store - the store idpath - document pathcontent - content to update the document with
java.io.IOException - if the update fails
protected abstract void deleteDocument(org.springframework.extensions.webscripts.WebScriptResponse res,
java.lang.String store,
java.lang.String path)
store - the store idpath - document path
java.io.IOException - if the delete failsprotected static java.lang.String encodePath(java.lang.String s)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||