mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Merge from SEAMIST3
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10735 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
115
source/java/org/alfresco/repo/cmis/rest/CMISChildrenMethod.java
Normal file
115
source/java/org/alfresco/repo/cmis/rest/CMISChildrenMethod.java
Normal file
@@ -0,0 +1,115 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* As a special exception to the terms and conditions of version 2.0 of
|
||||
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||
* FLOSS exception. You should have recieved a copy of the text describing
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.repo.cmis.rest;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.alfresco.cmis.CMISService;
|
||||
import org.alfresco.cmis.CMISTypesFilterEnum;
|
||||
import org.alfresco.repo.template.TemplateNode;
|
||||
import org.alfresco.repo.web.scripts.RepositoryImageResolver;
|
||||
import org.alfresco.service.ServiceRegistry;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.repository.TemplateImageResolver;
|
||||
|
||||
import freemarker.ext.beans.BeanModel;
|
||||
import freemarker.template.TemplateMethodModelEx;
|
||||
import freemarker.template.TemplateModelException;
|
||||
import freemarker.template.TemplateScalarModel;
|
||||
|
||||
/**
|
||||
* Custom FreeMarker Template language method.
|
||||
* <p>
|
||||
* Lists the (CMIS) children of a TemplateNode
|
||||
* <p>
|
||||
* Usage: cmischildren(TemplateNode node)
|
||||
* cmischildren(TemplateNode node, String typesFilter)
|
||||
*
|
||||
* @author davidc
|
||||
*/
|
||||
public class CMISChildrenMethod implements TemplateMethodModelEx
|
||||
{
|
||||
private CMISService cmisService;
|
||||
private ServiceRegistry serviceRegistry;
|
||||
private TemplateImageResolver imageResolver;
|
||||
|
||||
/**
|
||||
* Construct
|
||||
*/
|
||||
public CMISChildrenMethod(CMISService cmisService, ServiceRegistry serviceRegistry, RepositoryImageResolver imageResolver)
|
||||
{
|
||||
this.cmisService = cmisService;
|
||||
this.serviceRegistry = serviceRegistry;
|
||||
this.imageResolver = imageResolver.getImageResolver();
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public Object exec(List args) throws TemplateModelException
|
||||
{
|
||||
TemplateNode[] children = null;
|
||||
|
||||
if (args.size() > 0)
|
||||
{
|
||||
Object arg0 = args.get(0);
|
||||
if (arg0 instanceof BeanModel)
|
||||
{
|
||||
// extract node ref
|
||||
Object wrapped = ((BeanModel)arg0).getWrappedObject();
|
||||
if (wrapped != null)
|
||||
{
|
||||
if (wrapped instanceof TemplateNode)
|
||||
{
|
||||
NodeRef nodeRef = ((TemplateNode)wrapped).getNodeRef();
|
||||
CMISTypesFilterEnum typesFilter = CMISTypesFilterEnum.ANY;
|
||||
if (args.size() > 1)
|
||||
{
|
||||
// extract types filter, if specified
|
||||
Object arg1 = args.get(1);
|
||||
if (arg1 instanceof TemplateScalarModel)
|
||||
{
|
||||
String typesFilterStr = ((TemplateScalarModel)arg1).getAsString();
|
||||
if (typesFilterStr != null && typesFilterStr.length() > 0)
|
||||
{
|
||||
typesFilter = (CMISTypesFilterEnum)CMISTypesFilterEnum.FACTORY.toEnum(typesFilterStr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// query children
|
||||
NodeRef[] childNodeRefs = cmisService.getChildren(nodeRef, typesFilter);
|
||||
children = new TemplateNode[childNodeRefs.length];
|
||||
for (int i = 0; i < childNodeRefs.length; i++)
|
||||
{
|
||||
children[i] = new TemplateNode(childNodeRefs[i], serviceRegistry, imageResolver);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return children;
|
||||
}
|
||||
|
||||
}
|
@@ -38,6 +38,7 @@ import org.alfresco.web.scripts.FormatReader;
|
||||
import org.alfresco.web.scripts.WebScriptException;
|
||||
import org.alfresco.web.scripts.WebScriptRequest;
|
||||
import org.alfresco.web.scripts.WebScriptResponse;
|
||||
import org.apache.abdera.ext.cmis.CMISConstants;
|
||||
|
||||
|
||||
/**
|
||||
@@ -61,7 +62,7 @@ public class CMISQueryReader implements FormatReader<String>
|
||||
*/
|
||||
public String getSourceMimetype()
|
||||
{
|
||||
return "application/cmisrequest+xml;type=query";
|
||||
return CMISConstants.MIMETYPE_QUERY;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
|
@@ -27,16 +27,17 @@ package org.alfresco.repo.cmis.rest;
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.alfresco.cmis.CMISFullTextSearchEnum;
|
||||
import org.alfresco.cmis.CMISJoinEnum;
|
||||
import org.alfresco.cmis.CMISQueryEnum;
|
||||
import org.alfresco.cmis.CMISService;
|
||||
import org.alfresco.cmis.CMISService.TypesFilter;
|
||||
import org.alfresco.cmis.CMISTypesFilterEnum;
|
||||
import org.alfresco.cmis.dictionary.CMISDictionaryService;
|
||||
import org.alfresco.cmis.dictionary.CMISTypeDefinition;
|
||||
import org.alfresco.cmis.dictionary.CMISTypeId;
|
||||
import org.alfresco.cmis.search.CMISQueryOptions;
|
||||
import org.alfresco.cmis.search.CMISQueryService;
|
||||
import org.alfresco.cmis.search.CMISResultSet;
|
||||
import org.alfresco.cmis.search.FullTextSearchSupport;
|
||||
import org.alfresco.cmis.search.JoinSupport;
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.repo.jscript.BaseScopableProcessorExtension;
|
||||
import org.alfresco.repo.jscript.ScriptNode;
|
||||
@@ -56,8 +57,6 @@ import org.alfresco.service.cmr.repository.NodeRef;
|
||||
*/
|
||||
public class CMISScript extends BaseScopableProcessorExtension
|
||||
{
|
||||
private static final TypesFilter defaultTypesFilter = TypesFilter.Any;
|
||||
|
||||
private ServiceRegistry services;
|
||||
private Repository repository;
|
||||
private CMISService cmisService;
|
||||
@@ -191,7 +190,7 @@ public class CMISScript extends BaseScopableProcessorExtension
|
||||
*/
|
||||
public String getDefaultTypesFilter()
|
||||
{
|
||||
return defaultTypesFilter.toString();
|
||||
return CMISTypesFilterEnum.FACTORY.defaultLabel();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -202,19 +201,7 @@ public class CMISScript extends BaseScopableProcessorExtension
|
||||
*/
|
||||
public boolean isValidTypesFilter(String typesFilter)
|
||||
{
|
||||
try
|
||||
{
|
||||
TypesFilter.valueOf(typesFilter);
|
||||
return true;
|
||||
}
|
||||
catch(IllegalArgumentException e)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
catch(NullPointerException e)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return CMISTypesFilterEnum.FACTORY.validLabel(typesFilter);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -226,16 +213,9 @@ public class CMISScript extends BaseScopableProcessorExtension
|
||||
* @param typesFilter types filter
|
||||
* @return resolved types filter
|
||||
*/
|
||||
private TypesFilter resolveTypesFilter(String typesFilter)
|
||||
private CMISTypesFilterEnum resolveTypesFilter(String typesFilter)
|
||||
{
|
||||
if (isValidTypesFilter(typesFilter))
|
||||
{
|
||||
return TypesFilter.valueOf(typesFilter);
|
||||
}
|
||||
else
|
||||
{
|
||||
return defaultTypesFilter;
|
||||
}
|
||||
return (CMISTypesFilterEnum)CMISTypesFilterEnum.FACTORY.toEnum(typesFilter);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -266,7 +246,7 @@ public class CMISScript extends BaseScopableProcessorExtension
|
||||
*/
|
||||
public PagedResults queryChildren(ScriptNode parent, String typesFilter, Page page)
|
||||
{
|
||||
TypesFilter filter = resolveTypesFilter(typesFilter);
|
||||
CMISTypesFilterEnum filter = resolveTypesFilter(typesFilter);
|
||||
NodeRef[] children = cmisService.getChildren(parent.getNodeRef(), filter);
|
||||
|
||||
Cursor cursor = paging.createCursor(children.length, page);
|
||||
@@ -408,7 +388,17 @@ public class CMISScript extends BaseScopableProcessorExtension
|
||||
//
|
||||
// SQL Query
|
||||
//
|
||||
|
||||
|
||||
/**
|
||||
* Can you query the private working copy of a document.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public boolean getPwcSearchable()
|
||||
{
|
||||
return cmisQueryService.getPwcSearchable();
|
||||
}
|
||||
|
||||
/**
|
||||
* Can you query non-latest versions of a document.
|
||||
*
|
||||
@@ -420,13 +410,23 @@ public class CMISScript extends BaseScopableProcessorExtension
|
||||
{
|
||||
return cmisQueryService.getAllVersionsSearchable();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get the query support level.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public CMISQueryEnum getQuerySupport()
|
||||
{
|
||||
return cmisQueryService.getQuerySupport();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the join support level in queries.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public JoinSupport getJoinSupport()
|
||||
public CMISJoinEnum getJoinSupport()
|
||||
{
|
||||
return cmisQueryService.getJoinSupport();
|
||||
}
|
||||
@@ -436,7 +436,7 @@ public class CMISScript extends BaseScopableProcessorExtension
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public FullTextSearchSupport getFullTextSearchSupport()
|
||||
public CMISFullTextSearchEnum getFullTextSearchSupport()
|
||||
{
|
||||
return cmisQueryService.getFullTextSearchSupport();
|
||||
}
|
||||
|
@@ -31,6 +31,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import org.alfresco.util.Base64;
|
||||
import org.alfresco.util.GUID;
|
||||
import org.alfresco.web.scripts.Format;
|
||||
import org.alfresco.web.scripts.TestWebScriptServer.DeleteRequest;
|
||||
@@ -53,6 +54,7 @@ import org.apache.abdera.model.Feed;
|
||||
import org.apache.abdera.model.Link;
|
||||
import org.apache.abdera.model.Service;
|
||||
import org.apache.abdera.model.Workspace;
|
||||
import org.apache.abdera.util.Constants;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
@@ -73,6 +75,7 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
protected static String username = "admin";
|
||||
protected static String password = "admin";
|
||||
protected static boolean argsAsHeaders = false;
|
||||
|
||||
|
||||
// Logger
|
||||
private static final Log logger = LogFactory.getLog(CMISTest.class);
|
||||
@@ -84,8 +87,7 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
private static Entry testsFolder = null;
|
||||
private static Entry testRunFolder = null;
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected void setUp()
|
||||
throws Exception
|
||||
@@ -213,7 +215,7 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
Entry entry = abdera.parseEntry(new StringReader(xml), null);
|
||||
assertNotNull(entry);
|
||||
assertEquals(name, entry.getTitle());
|
||||
assertEquals(name + " (summary)", entry.getSummary());
|
||||
//assertEquals(name + " (summary)", entry.getSummary());
|
||||
CMISProperties props = entry.getExtension(CMISConstants.PROPERTIES);
|
||||
assertEquals("folder", props.getBaseType());
|
||||
String testFolderHREF = (String)res.getHeader("Location");
|
||||
@@ -232,13 +234,14 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
{
|
||||
String createFile = loadString(atomEntryFile);
|
||||
createFile = createFile.replace("${NAME}", name);
|
||||
createFile = createFile.replace("${CONTENT}", Base64.encodeBytes(name.getBytes()));
|
||||
Response res = sendRequest(new PostRequest(parent.toString(), createFile, Format.ATOMENTRY.mimetype()), 201, getAtomValidator());
|
||||
assertNotNull(res);
|
||||
String xml = res.getContentAsString();
|
||||
Entry entry = abdera.parseEntry(new StringReader(xml), null);
|
||||
assertNotNull(entry);
|
||||
assertEquals(name, entry.getTitle());
|
||||
assertEquals(name + " (summary)", entry.getSummary());
|
||||
//assertEquals(name + " (summary)", entry.getSummary());
|
||||
assertNotNull(entry.getContentSrc());
|
||||
CMISProperties props = entry.getExtension(CMISConstants.PROPERTIES);
|
||||
assertEquals("document", props.getBaseType());
|
||||
@@ -338,7 +341,7 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
Entry document = createDocument(children.getSelfLink().getHref(), "testCreateDocument");
|
||||
Response documentContentRes = sendRequest(new GetRequest(document.getContentSrc().toString()), 200);
|
||||
String resContent = documentContentRes.getContentAsString();
|
||||
assertEquals("test content " + document.getTitle(), resContent);
|
||||
assertEquals(document.getTitle(), resContent);
|
||||
Feed feedFolderAfter = getFeed(childrenLink.getHref());
|
||||
int entriesAfter = feedFolderAfter.getEntries().size();
|
||||
assertEquals(entriesBefore +1, entriesAfter);
|
||||
@@ -361,26 +364,27 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
assertEquals("1", resContent);
|
||||
}
|
||||
|
||||
public void testCreateDocumentBase64()
|
||||
throws Exception
|
||||
{
|
||||
Entry testFolder = createTestFolder("testCreateDocumentBase64");
|
||||
Link childrenLink = testFolder.getLink(CMISConstants.REL_CHILDREN);
|
||||
assertNotNull(childrenLink);
|
||||
Feed children = getFeed(childrenLink.getHref());
|
||||
assertNotNull(children);
|
||||
int entriesBefore = children.getEntries().size();
|
||||
Entry document = createDocument(children.getSelfLink().getHref(), "testCreateDocument", "/cmis/rest/createdocumentBase64.atomentry.xml");
|
||||
Response documentContentRes = sendRequest(new GetRequest(document.getContentSrc().toString()), 200);
|
||||
String testContent = loadString("/cmis/rest/createdocumentBase64.txt");
|
||||
String resContent = documentContentRes.getContentAsString();
|
||||
assertEquals(testContent, resContent);
|
||||
Feed feedFolderAfter = getFeed(childrenLink.getHref());
|
||||
int entriesAfter = feedFolderAfter.getEntries().size();
|
||||
assertEquals(entriesBefore +1, entriesAfter);
|
||||
Entry entry = feedFolderAfter.getEntry(document.getId().toString());
|
||||
assertNotNull(entry);
|
||||
}
|
||||
// TODO: Test creation of document via Atom Entry containing plain text (non Base64 encoded)
|
||||
// public void testCreateDocumentBase64()
|
||||
// throws Exception
|
||||
// {
|
||||
// Entry testFolder = createTestFolder("testCreateDocumentBase64");
|
||||
// Link childrenLink = testFolder.getLink(CMISConstants.REL_CHILDREN);
|
||||
// assertNotNull(childrenLink);
|
||||
// Feed children = getFeed(childrenLink.getHref());
|
||||
// assertNotNull(children);
|
||||
// int entriesBefore = children.getEntries().size();
|
||||
// Entry document = createDocument(children.getSelfLink().getHref(), "testCreateDocument", "/cmis/rest/createdocumentBase64.atomentry.xml");
|
||||
// Response documentContentRes = sendRequest(new GetRequest(document.getContentSrc().toString()), 200);
|
||||
// String testContent = loadString("/cmis/rest/createdocumentBase64.txt");
|
||||
// String resContent = documentContentRes.getContentAsString();
|
||||
// assertEquals(testContent, resContent);
|
||||
// Feed feedFolderAfter = getFeed(childrenLink.getHref());
|
||||
// int entriesAfter = feedFolderAfter.getEntries().size();
|
||||
// assertEquals(entriesBefore +1, entriesAfter);
|
||||
// Entry entry = feedFolderAfter.getEntry(document.getId().toString());
|
||||
// assertNotNull(entry);
|
||||
// }
|
||||
|
||||
public void testCreateFolder()
|
||||
throws Exception
|
||||
@@ -418,25 +422,25 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
Entry testDocumentFromGet = getEntry(testDocument.getSelfLink().getHref());
|
||||
assertEquals(testDocument.getId(), testDocumentFromGet.getId());
|
||||
assertEquals(testDocument.getTitle(), testDocumentFromGet.getTitle());
|
||||
assertEquals(testDocument.getSummary(), testDocumentFromGet.getSummary());
|
||||
//assertEquals(testDocument.getSummary(), testDocumentFromGet.getSummary());
|
||||
|
||||
// get something that doesn't exist
|
||||
Response res = sendRequest(new GetRequest(testDocument.getSelfLink().getHref().toString() + GUID.generate()), 404);
|
||||
assertNotNull(res);
|
||||
}
|
||||
|
||||
public void testChildren()
|
||||
public void testGetChildren()
|
||||
throws Exception
|
||||
{
|
||||
// create multiple children
|
||||
Entry testFolder = createTestFolder("testChildren");
|
||||
Entry testFolder = createTestFolder("testGetChildren");
|
||||
Link childrenLink = testFolder.getLink(CMISConstants.REL_CHILDREN);
|
||||
assertNotNull(childrenLink);
|
||||
Entry document1 = createDocument(childrenLink.getHref(), "testChildren1");
|
||||
Entry document1 = createDocument(childrenLink.getHref(), "testGetChildren1");
|
||||
assertNotNull(document1);
|
||||
Entry document2 = createDocument(childrenLink.getHref(), "testChildren2");
|
||||
Entry document2 = createDocument(childrenLink.getHref(), "testGetChildren2");
|
||||
assertNotNull(document2);
|
||||
Entry document3 = createDocument(childrenLink.getHref(), "testChildren3");
|
||||
Entry document3 = createDocument(childrenLink.getHref(), "testGetChildren3");
|
||||
assertNotNull(document3);
|
||||
|
||||
// checkout one of the children to ensure private working copy isn't included
|
||||
@@ -459,17 +463,17 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
assertNull(children.getEntry(pwc.getId().toString()));
|
||||
}
|
||||
|
||||
public void testChildrenPaging()
|
||||
public void testGetChildrenPaging()
|
||||
throws Exception
|
||||
{
|
||||
// create multiple children
|
||||
Set<IRI> docIds = new HashSet<IRI>();
|
||||
Entry testFolder = createTestFolder("testChildrenPaging");
|
||||
Entry testFolder = createTestFolder("testGetChildrenPaging");
|
||||
Link childrenLink = testFolder.getLink(CMISConstants.REL_CHILDREN);
|
||||
assertNotNull(childrenLink);
|
||||
for (int i = 0; i < 15; i++)
|
||||
{
|
||||
Entry document = createDocument(childrenLink.getHref(), "testChildrenPaging" + i);
|
||||
Entry document = createDocument(childrenLink.getHref(), "testGetChildrenPaging" + i);
|
||||
assertNotNull(document);
|
||||
docIds.add(document.getId());
|
||||
}
|
||||
@@ -493,6 +497,10 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
|
||||
// next page
|
||||
Link nextLink = types.getLink("next");
|
||||
if (nextCount < 4)
|
||||
{
|
||||
assertNotNull(nextLink);
|
||||
}
|
||||
childrenHREF = (nextLink != null) ? nextLink.getHref() : null;
|
||||
args = null;
|
||||
};
|
||||
@@ -515,8 +523,9 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
// invalid type filter
|
||||
Map<String, String> args = new HashMap<String, String>();
|
||||
args.put("types", "Invalid");
|
||||
Response invalidRes = sendRequest(new GetRequest(childrenLink.getHref().toString()).setArgs(args), 400);
|
||||
assertNotNull(invalidRes);
|
||||
// TODO: potential spec issue
|
||||
// Response invalidRes = sendRequest(new GetRequest(childrenLink.getHref().toString()).setArgs(args), 400);
|
||||
// assertNotNull(invalidRes);
|
||||
|
||||
// no filter
|
||||
Feed noFilters = getFeed(childrenLink.getHref());
|
||||
@@ -544,6 +553,92 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
assertNotNull(documents.getEntry(document.getId().toString()));
|
||||
}
|
||||
|
||||
public void testGetChildrenPropertyFilter()
|
||||
throws Exception
|
||||
{
|
||||
// create children
|
||||
Entry testFolder = createTestFolder("testGetChildrenPropertyFilter");
|
||||
Link childrenLink = testFolder.getLink(CMISConstants.REL_CHILDREN);
|
||||
assertNotNull(childrenLink);
|
||||
Entry document1 = createDocument(childrenLink.getHref(), "testGetChildrenPropertyFilter1");
|
||||
assertNotNull(document1);
|
||||
|
||||
{
|
||||
// get children with all properties
|
||||
Feed children = getFeed(childrenLink.getHref());
|
||||
for (Entry entry : children.getEntries())
|
||||
{
|
||||
CMISProperties props = entry.getExtension(CMISConstants.PROPERTIES);
|
||||
assertNotNull(props.getObjectId());
|
||||
assertNotNull(props.getObjectType());
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
// get children with object_id only
|
||||
Map<String, String> args = new HashMap<String, String>();
|
||||
args.put("filter", "OBJECT_ID");
|
||||
Feed children = getFeed(childrenLink.getHref(), args);
|
||||
for (Entry entry : children.getEntries())
|
||||
{
|
||||
CMISProperties props = entry.getExtension(CMISConstants.PROPERTIES);
|
||||
assertNotNull(props.getObjectId());
|
||||
assertNull(props.getObjectType());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void testGetDescendants()
|
||||
throws Exception
|
||||
{
|
||||
// create multiple nested children
|
||||
Entry testFolder = createTestFolder("testGetDescendants");
|
||||
Link childrenLink = testFolder.getLink(CMISConstants.REL_CHILDREN);
|
||||
assertNotNull(childrenLink);
|
||||
Entry document1 = createDocument(childrenLink.getHref(), "testGetDescendants1");
|
||||
assertNotNull(document1);
|
||||
Entry folder2 = createFolder(childrenLink.getHref(), "testGetDescendants2");
|
||||
assertNotNull(folder2);
|
||||
Link childrenLink2 = folder2.getLink(CMISConstants.REL_CHILDREN);
|
||||
assertNotNull(childrenLink2);
|
||||
Entry document3 = createDocument(childrenLink2.getHref(), "testGetDescendants3");
|
||||
assertNotNull(document3);
|
||||
|
||||
{
|
||||
// get descendants (depth = 1, equivalent to getChildren)
|
||||
Map<String, String> args = new HashMap<String, String>();
|
||||
args.put("depth", "1");
|
||||
Link descendantsLink = testFolder.getLink(CMISConstants.REL_DESCENDANTS);
|
||||
Feed descendants = getFeed(descendantsLink.getHref(), args);
|
||||
assertNotNull(descendants);
|
||||
assertEquals(2, descendants.getEntries().size());
|
||||
assertNotNull(descendants.getEntry(document1.getId().toString()));
|
||||
assertNotNull(descendants.getEntry(folder2.getId().toString()));
|
||||
|
||||
Entry getFolder2 = descendants.getEntry(folder2.getId().toString());
|
||||
Entry getFolder2Child = getFolder2.getFirstChild(CMISConstants.NESTED_ENTRY);
|
||||
assertNull(getFolder2Child);
|
||||
}
|
||||
|
||||
{
|
||||
// get nested children
|
||||
Map<String, String> args = new HashMap<String, String>();
|
||||
args.put("depth", "2");
|
||||
Link descendantsLink = testFolder.getLink(CMISConstants.REL_DESCENDANTS);
|
||||
Feed descendants = getFeed(descendantsLink.getHref(), args);
|
||||
assertNotNull(descendants);
|
||||
assertEquals(2, descendants.getEntries().size());
|
||||
assertNotNull(descendants.getEntry(document1.getId().toString()));
|
||||
assertNotNull(descendants.getEntry(folder2.getId().toString()));
|
||||
|
||||
Entry getFolder2 = descendants.getEntry(folder2.getId().toString());
|
||||
List<Entry> getFolder2Children = getFolder2.getExtensions(CMISConstants.NESTED_ENTRY);
|
||||
assertNotNull(getFolder2Children);
|
||||
assertEquals(1, getFolder2Children.size());
|
||||
assertEquals(document3.getId(), getFolder2Children.get(0).getId());
|
||||
}
|
||||
}
|
||||
|
||||
public void testGetParent()
|
||||
throws Exception
|
||||
{
|
||||
@@ -561,6 +656,8 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
assertEquals(1, parent.getEntries().size());
|
||||
assertEquals(testFolder.getId(), parent.getEntries().get(0).getId());
|
||||
|
||||
// TODO: compare identity using OBJECT_ID property, not atom:id
|
||||
|
||||
// ensure there are ancestors 'testParent', "test run folder", "tests folder" and "root folder"
|
||||
Map<String, String> args = new HashMap<String, String>();
|
||||
args.put("returnToRoot", "true");
|
||||
@@ -574,7 +671,8 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
assertEquals(testsFolder.getId(), parentsToRoot.getEntries().get(2).getId());
|
||||
assertNotNull(parentsToRoot.getEntries().get(2).getLink(CMISConstants.REL_PARENT));
|
||||
Feed root = getFeed(getRootCollection(getWorkspace(getRepository())));
|
||||
assertEquals(root.getId(), parentsToRoot.getEntries().get(3).getId());
|
||||
Entry rootEntry = getEntry(root.getLink(CMISConstants.REL_SOURCE).getHref());
|
||||
assertEquals(rootEntry.getId(), parentsToRoot.getEntries().get(3).getId());
|
||||
assertNull(parentsToRoot.getEntries().get(3).getLink(CMISConstants.REL_PARENT));
|
||||
}
|
||||
|
||||
@@ -602,13 +700,14 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
assertNotNull(parentsToRoot);
|
||||
assertEquals(4, parentsToRoot.getEntries().size());
|
||||
assertEquals(testFolder.getId(), parentsToRoot.getEntries().get(0).getId());
|
||||
assertNotNull(parentsToRoot.getEntries().get(0).getLink(CMISConstants.REL_PARENT));
|
||||
//assertNotNull(parentsToRoot.getEntries().get(0).getLink(CMISConstants.REL_PARENT));
|
||||
assertEquals(testRunFolder.getId(), parentsToRoot.getEntries().get(1).getId());
|
||||
assertNotNull(parentsToRoot.getEntries().get(1).getLink(CMISConstants.REL_PARENT));
|
||||
//assertNotNull(parentsToRoot.getEntries().get(1).getLink(CMISConstants.REL_PARENT));
|
||||
assertEquals(testsFolder.getId(), parentsToRoot.getEntries().get(2).getId());
|
||||
assertNotNull(parentsToRoot.getEntries().get(2).getLink(CMISConstants.REL_PARENT));
|
||||
//assertNotNull(parentsToRoot.getEntries().get(2).getLink(CMISConstants.REL_PARENT));
|
||||
Feed root = getFeed(getRootCollection(getWorkspace(getRepository())));
|
||||
assertEquals(root.getId(), parentsToRoot.getEntries().get(3).getId());
|
||||
Entry rootEntry = getEntry(root.getLink(CMISConstants.REL_SOURCE).getHref());
|
||||
assertEquals(rootEntry.getId(), parentsToRoot.getEntries().get(3).getId());
|
||||
assertNull(parentsToRoot.getEntries().get(3).getLink(CMISConstants.REL_PARENT));
|
||||
}
|
||||
|
||||
@@ -653,8 +752,15 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
// create document for update
|
||||
Entry document = createDocument(childrenLink.getHref(), "testUpdate");
|
||||
assertNotNull(document);
|
||||
assertEquals("text/html", document.getContentMimeType().toString());
|
||||
String mimetype = (document.getContentMimeType() != null) ? document.getContentMimeType().toString() : null;
|
||||
if (mimetype != null)
|
||||
{
|
||||
assertEquals("text/html", mimetype);
|
||||
}
|
||||
|
||||
// TODO: check for content update allowable action
|
||||
// if update allowed, perform update, else update and check for appropriate error
|
||||
|
||||
// update
|
||||
String updateFile = loadString("/cmis/rest/updatedocument.atomentry.xml");
|
||||
String guid = GUID.generate();
|
||||
@@ -667,6 +773,7 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
assertEquals(document.getId(), updated.getId());
|
||||
assertEquals(document.getPublished(), updated.getPublished());
|
||||
assertEquals("Updated Title " + guid, updated.getTitle());
|
||||
// TODO: why is this testing for text/plain? it should be test/html
|
||||
assertEquals("text/plain", updated.getContentMimeType().toString());
|
||||
Response contentRes = sendRequest(new GetRequest(updated.getContentSrc().toString()), 200);
|
||||
assertEquals("updated content " + guid, contentRes.getContentAsString());
|
||||
@@ -1144,7 +1251,7 @@ public class CMISTest extends BaseCMISWebScriptTest
|
||||
String query = "SELECT OBJECT_ID, OBJECT_TYPE_ID, NAME FROM DOCUMENT_OBJECT_TYPE " +
|
||||
"WHERE IN_FOLDER('" + testFolderProps.getObjectId() + "') " +
|
||||
"AND NAME = 'apple1' " +
|
||||
"AND CONTAINS('test content')";
|
||||
"AND CONTAINS('apple1')";
|
||||
String queryReq = queryDoc.replace("${STATEMENT}", query);
|
||||
queryReq = queryReq.replace("${PAGESIZE}", "5");
|
||||
|
||||
|
@@ -40,7 +40,7 @@ import freemarker.template.TemplateModelException;
|
||||
* <p>
|
||||
* Retrieve the CMIS Type Id for an Alfresco node
|
||||
* <p>
|
||||
* Usage: cmistypeid(TemplaateNode node)
|
||||
* Usage: cmistypeid(TemplateNode node)
|
||||
* cmistypeid(QName nodeType)
|
||||
*
|
||||
* @author davidc
|
||||
|
@@ -1,91 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2008 Alfresco Software Limited.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* As a special exception to the terms and conditions of version 2.0 of
|
||||
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||
* FLOSS exception. You should have recieved a copy of the text describing
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.repo.cmis.rest;
|
||||
|
||||
import junit.framework.TestSuite;
|
||||
import junit.textui.TestRunner;
|
||||
|
||||
|
||||
/**
|
||||
* CMIS API Test Harness
|
||||
*
|
||||
* @author davidc
|
||||
*/
|
||||
public class TestRemoteCMIS extends CMISTest
|
||||
{
|
||||
|
||||
/**
|
||||
* Execute Unit Tests as client to remote CMIS Server
|
||||
*
|
||||
* args[0] = serverUrl
|
||||
* args[1] = username/password
|
||||
* args[2] = [params=url|headers]
|
||||
*
|
||||
* @param args args
|
||||
*/
|
||||
public static void main(String[] args)
|
||||
{
|
||||
remote = true;
|
||||
|
||||
if (args.length > 0)
|
||||
{
|
||||
repositoryUrl = args[0];
|
||||
}
|
||||
|
||||
if (args.length > 1)
|
||||
{
|
||||
String[] credentials = args[1].split("/");
|
||||
username = credentials[0];
|
||||
if (credentials.length > 1)
|
||||
{
|
||||
password = credentials[1];
|
||||
}
|
||||
}
|
||||
|
||||
String params = "both";
|
||||
if (args.length > 2)
|
||||
{
|
||||
String[] paramSegment = args[2].split("=");
|
||||
if (paramSegment[0].equalsIgnoreCase("params"))
|
||||
{
|
||||
params = paramSegment[1].toLowerCase();
|
||||
}
|
||||
}
|
||||
|
||||
// execute cmis tests with url arguments
|
||||
if (params.equals("both") || params.equals("url"))
|
||||
{
|
||||
TestRunner.run(new TestSuite(TestRemoteCMIS.class));
|
||||
}
|
||||
|
||||
// execute cmis tests with headers
|
||||
if (params.equals("both") || params.equals("headers"))
|
||||
{
|
||||
argsAsHeaders = true;
|
||||
TestRunner.run(new TestSuite(TestRemoteCMIS.class));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -22,7 +22,7 @@
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.repo.cmis.rest;
|
||||
package org.alfresco.repo.cmis.rest.test;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
1289
source/java/org/alfresco/repo/cmis/rest/test/CMISTest.java
Normal file
1289
source/java/org/alfresco/repo/cmis/rest/test/CMISTest.java
Normal file
File diff suppressed because it is too large
Load Diff
259
source/java/org/alfresco/repo/cmis/rest/test/CMISTestRunner.java
Normal file
259
source/java/org/alfresco/repo/cmis/rest/test/CMISTestRunner.java
Normal file
@@ -0,0 +1,259 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2008 Alfresco Software Limited.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* As a special exception to the terms and conditions of version 2.0 of
|
||||
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||
* FLOSS exception. You should have recieved a copy of the text describing
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.repo.cmis.rest.test;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.TestResult;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import org.alfresco.repo.cmis.rest.test.CMISTest.CMISTestListener;
|
||||
import org.alfresco.repo.web.scripts.BaseWebScriptTest.RemoteServer;
|
||||
import org.alfresco.repo.web.scripts.BaseWebScriptTest.WebScriptTestListener;
|
||||
import org.alfresco.util.CachingDateFormat;
|
||||
|
||||
|
||||
/**
|
||||
* CMIS Test Runner
|
||||
*
|
||||
* @author davidc
|
||||
*/
|
||||
public class CMISTestRunner
|
||||
{
|
||||
private String match = null;
|
||||
private WebScriptTestListener listener = new CMISTestListener(System.out);
|
||||
private boolean traceReqRes = false;
|
||||
private String serviceUrl = null;
|
||||
private String userpass = null;
|
||||
private String arguments = "url";
|
||||
private boolean validateResponse = true;
|
||||
|
||||
|
||||
/**
|
||||
* @param match test name to execute (* for wildcards)
|
||||
*/
|
||||
public void setMatch(String match)
|
||||
{
|
||||
this.match = match;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param listener test listener
|
||||
*/
|
||||
public void setListener(WebScriptTestListener listener)
|
||||
{
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param traceReqRes true => trace requests / responses
|
||||
*/
|
||||
public void setTraceReqRes(boolean traceReqRes)
|
||||
{
|
||||
this.traceReqRes = traceReqRes;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param serviceUrl cmis service document url
|
||||
*/
|
||||
public void setServiceUrl(String serviceUrl)
|
||||
{
|
||||
this.serviceUrl = serviceUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param userpass user name / password
|
||||
*/
|
||||
public void setUserPass(String userpass)
|
||||
{
|
||||
this.userpass = userpass;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param arguments "url" => url arguments, "headers" => request headers, "both" => url & headers
|
||||
*/
|
||||
public void setArguments(String arguments)
|
||||
{
|
||||
this.arguments = arguments;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param validateResponse true => test response against CMIS XSDs
|
||||
*/
|
||||
public void setValidateResponse(boolean validateResponse)
|
||||
{
|
||||
this.validateResponse = validateResponse;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the names of CMIS tests
|
||||
*
|
||||
* @param match * for wildcard
|
||||
* @return array of test names
|
||||
*/
|
||||
public String[] getTestNames(String match)
|
||||
{
|
||||
List<String> namesList = new ArrayList<String>();
|
||||
TestSuite allSuite = new TestSuite(CMISTest.class);
|
||||
for (int i = 0; i < allSuite.countTestCases(); i++)
|
||||
{
|
||||
CMISTest test = (CMISTest)allSuite.testAt(i);
|
||||
if (match == null || match.equals("*") || test.getName().matches(match.replace("*", "[A-Za-z0-9]*")))
|
||||
{
|
||||
namesList.add(test.getName());
|
||||
}
|
||||
}
|
||||
String[] names = new String[namesList.size()];
|
||||
namesList.toArray(names);
|
||||
return names;
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute CMIS Tests
|
||||
*/
|
||||
public void execute()
|
||||
{
|
||||
RemoteServer server = null;
|
||||
if (serviceUrl != null)
|
||||
{
|
||||
server = new RemoteServer();
|
||||
if (userpass != null)
|
||||
{
|
||||
String[] credentials = userpass.split("/");
|
||||
server.username = credentials[0];
|
||||
if (credentials.length > 1)
|
||||
{
|
||||
server.password = credentials[1];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// dump test parameters
|
||||
if (listener != null)
|
||||
{
|
||||
Calendar today = Calendar.getInstance();
|
||||
SimpleDateFormat df = CachingDateFormat.getDateFormat("yyyy-MM-dd HH:mm:ss.SSS", true);
|
||||
listener.addLog(null, "Test Started at " + df.format(today.getTime()));
|
||||
listener.addLog(null, "Service URL: " + (serviceUrl == null ? "[not set]" : serviceUrl));
|
||||
listener.addLog(null, "User: " + (userpass == null ? "[not set]" : userpass));
|
||||
listener.addLog(null, "Args: " + (arguments == null ? "[not set]" : arguments));
|
||||
listener.addLog(null, "Validate Responses: " + validateResponse);
|
||||
listener.addLog(null, "Trace Requests/Responses: " + traceReqRes);
|
||||
listener.addLog(null, "Tests: " + (match == null ? "*" : match));
|
||||
listener.addLog(null, "");
|
||||
}
|
||||
|
||||
// execute cmis tests with url arguments
|
||||
if (arguments.equals("both") || arguments.equals("url"))
|
||||
{
|
||||
executeSuite(match, server, false);
|
||||
}
|
||||
|
||||
// execute cmis tests with headers
|
||||
if (arguments.equals("both") || arguments.equals("headers"))
|
||||
{
|
||||
executeSuite(match, server, true);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute suite of CMIS Tests
|
||||
*
|
||||
* @param match tests to execute (* for wildcard)
|
||||
* @param server remote server
|
||||
* @param argsAsHeaders arguments passed in Headers
|
||||
*/
|
||||
private void executeSuite(String match, RemoteServer server, boolean argsAsHeaders)
|
||||
{
|
||||
TestSuite allSuite = new TestSuite(CMISTest.class);
|
||||
TestSuite suite = new TestSuite();
|
||||
for (int i = 0; i < allSuite.countTestCases(); i++)
|
||||
{
|
||||
CMISTest test = (CMISTest)allSuite.testAt(i);
|
||||
if (match == null || match.equals("*") || test.getName().matches(match.replace("*", "[A-Za-z0-9]*")))
|
||||
{
|
||||
if (listener != null)
|
||||
{
|
||||
test.setListener(listener);
|
||||
test.setTraceReqRes(traceReqRes);
|
||||
}
|
||||
if (server != null)
|
||||
{
|
||||
test.setServiceUrl(serviceUrl);
|
||||
if (server != null)
|
||||
{
|
||||
test.setRemoteServer(server);
|
||||
}
|
||||
}
|
||||
test.setArgsAsHeaders(argsAsHeaders);
|
||||
test.setValidateResponse(validateResponse);
|
||||
suite.addTest(test);
|
||||
}
|
||||
}
|
||||
TestResult result = new TestResult();
|
||||
if (listener != null)
|
||||
{
|
||||
result.addListener(listener);
|
||||
}
|
||||
suite.run(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute CMIS Tests from command-line
|
||||
*
|
||||
* url={serviceUrl}
|
||||
* user={userpass}
|
||||
* args={"url"|"headers"|"both"}
|
||||
*/
|
||||
public static void main(String[] args)
|
||||
{
|
||||
CMISTestRunner runner = new CMISTestRunner();
|
||||
|
||||
for (String arg : args)
|
||||
{
|
||||
String[] argSegment = arg.split("=");
|
||||
if (argSegment[0].equals("url"))
|
||||
{
|
||||
runner.setServiceUrl(argSegment[1]);
|
||||
}
|
||||
else if (argSegment[0].equals("user"))
|
||||
{
|
||||
runner.setUserPass(argSegment[1]);
|
||||
}
|
||||
else if (argSegment[0].equalsIgnoreCase("args"))
|
||||
{
|
||||
runner.setArguments(argSegment[1].toLowerCase());
|
||||
}
|
||||
}
|
||||
|
||||
// execute
|
||||
runner.execute();
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,91 @@
|
||||
/*
|
||||
* Copyright (C) 2005-2007 Alfresco Software Limited.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
* As a special exception to the terms and conditions of version 2.0 of
|
||||
* the GPL, you may redistribute this Program in connection with Free/Libre
|
||||
* and Open Source Software ("FLOSS") applications as described in Alfresco's
|
||||
* FLOSS exception. You should have recieved a copy of the text describing
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.repo.cmis.rest.test;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.PrintStream;
|
||||
|
||||
import org.alfresco.repo.cmis.rest.test.CMISTest.CMISTestListener;
|
||||
import org.alfresco.repo.web.scripts.BaseWebScriptTest.WebScriptTestListener;
|
||||
import org.alfresco.web.scripts.AbstractWebScript;
|
||||
import org.alfresco.web.scripts.WebScriptRequest;
|
||||
import org.alfresco.web.scripts.WebScriptResponse;
|
||||
|
||||
/**
|
||||
* Execute CMIS Tests
|
||||
*
|
||||
* @author davidc
|
||||
*/
|
||||
public class CMISTestRunnerWebScript extends AbstractWebScript
|
||||
{
|
||||
/* (non-Javadoc)
|
||||
* @see org.alfresco.web.scripts.WebScript#execute(org.alfresco.web.scripts.WebScriptRequest, org.alfresco.web.scripts.WebScriptResponse)
|
||||
*/
|
||||
public void execute(WebScriptRequest req, WebScriptResponse res)
|
||||
throws IOException
|
||||
{
|
||||
// setup CMIS tests
|
||||
PrintStream printStream = new PrintStream(res.getOutputStream());
|
||||
WebScriptTestListener testListener = new CMISTestListener(printStream);
|
||||
CMISTestRunner runner = new CMISTestRunner();
|
||||
runner.setListener(testListener);
|
||||
|
||||
// process test parameters
|
||||
String serviceUrl = req.getParameter("url");
|
||||
if (serviceUrl != null && serviceUrl.length() > 0)
|
||||
{
|
||||
runner.setServiceUrl(serviceUrl);
|
||||
}
|
||||
String userpass = req.getParameter("user");
|
||||
if (userpass != null && userpass.length() > 0)
|
||||
{
|
||||
runner.setUserPass(userpass);
|
||||
}
|
||||
String args = req.getParameter("args");
|
||||
if (args != null && args.length() > 0)
|
||||
{
|
||||
runner.setArguments(args);
|
||||
}
|
||||
String validate = req.getParameter("validate");
|
||||
if (validate != null && validate.length() > 0)
|
||||
{
|
||||
runner.setValidateResponse(Boolean.valueOf(validate));
|
||||
}
|
||||
String trace = req.getParameter("trace");
|
||||
if (trace != null && trace.length() > 0)
|
||||
{
|
||||
runner.setTraceReqRes(Boolean.valueOf(trace));
|
||||
}
|
||||
String match = req.getParameter("tests");
|
||||
if (match != null && match.length() > 0)
|
||||
{
|
||||
runner.setMatch(match);
|
||||
}
|
||||
|
||||
// execute tests
|
||||
runner.execute();
|
||||
}
|
||||
|
||||
}
|
@@ -22,7 +22,7 @@
|
||||
* the FLOSS exception, and it is also available here:
|
||||
* http://www.alfresco.com/legal/licensing"
|
||||
*/
|
||||
package org.alfresco.repo.cmis.rest;
|
||||
package org.alfresco.repo.cmis.rest.test;
|
||||
|
||||
|
||||
|
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:cmis="http://www.cmis.org/2008/05">
|
||||
<title>Updated Title ${NAME}</title>
|
||||
<content>updated content ${NAME}</content>
|
||||
</entry>
|
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:cmis="http://www.cmis.org/2008/05"/>
|
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:cmis="http://www.cmis.org/2008/05">
|
||||
<title>${NAME}</title>
|
||||
<summary>${NAME} (summary)</summary>
|
||||
<content type="text/html">${CONTENT}</content>
|
||||
<cmis:object>
|
||||
<cmis:properties>
|
||||
<cmis:propertyString cmis:name="ObjectTypeId"><cmis:value>document</cmis:value></cmis:propertyString>
|
||||
</cmis:properties>
|
||||
</cmis:object>
|
||||
</entry>
|
@@ -0,0 +1,10 @@
|
||||
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:cmis="http://www.cmis.org/2008/05" xmlns:app="http://www.w3.org/2007/app">
|
||||
<title type="text">onesentence.txt</title>
|
||||
<content type="text/plain">MQ==
</content>
|
||||
<cmis:object>
|
||||
<cmis:properties>
|
||||
<cmis:propertyString cmis:name="ObjectTypeId"><cmis:value>document</cmis:value></cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="DocumentTitle"><cmis:value>onesentence.txt</cmis:value></cmis:propertyString>
|
||||
</cmis:properties>
|
||||
</cmis:object>
|
||||
</entry>
|
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:cmis="http://www.cmis.org/2008/05">
|
||||
<title>${NAME}</title>
|
||||
<summary>${NAME} (summary)</summary>
|
||||
<content type="text/plain">
|
||||
VGhpcyBtZXRob2QgZm9sbG93cyB0aGUgQXRvbSBQdWJsaXNoaW5nIG1vZGVsIHdoZXJlIHRoZSBl
|
||||
bnRyeSBkb2N1bWVudCwgYXRvbSBvciBjbWlzLCBpcyBwb3N0ZWQgdG8gdGhlIHJvb3Qgb3Igc3Bl
|
||||
Y2lmaWMgZm9sZGVyIFVSSS4gIEZvciB1bmZpbGVkIGRvY3VtZW50cywgcG9zdCB0aGUgZG9jdW1l
|
||||
bnQgdG8gdGhlIHVuZmlsZWQgY29sbGVjdGlvbi4gICBUaGUgZG9jdW1lbnQgd2lsbCBiZSBjcmVh
|
||||
dGVkIGluIHRoZSBmb2xkZXIgcG9zdGVkLiBJZiB0aGUgZG9jdW1lbnQgaXMgcG9zdGVkIHRvIHRo
|
||||
ZSByb290IGNvbGxlY3Rpb24gYW5kIGEgZm9sZGVyIHByb3BlcnR5IGlzIHNwZWNpZmllZCwgdGhl
|
||||
biB0aGUgcmVwb3NpdG9yeSB3aWxsIGNyZWF0ZSB0aGUgZG9jdW1lbnQgaW4gdGhlIHNwZWNpZmll
|
||||
ZCBmb2xkZXIuICBJZiB0aGUgY29udGVudCBzdHJlYW0gaXMgc3BlY2lmaWVkIG9uIGNyZWF0ZSwg
|
||||
aXQgc2hvdWxkIGJlIGJhc2U2NCBlbmNvZGVkIGluIHRoZSBhdG9tIGVudHJ5Lg==
|
||||
</content>
|
||||
<cmis:object>
|
||||
<cmis:properties>
|
||||
<cmis:propertyString cmis:name="ObjectTypeId"><cmis:value>document</cmis:value></cmis:propertyString>
|
||||
</cmis:properties>
|
||||
</cmis:object>
|
||||
</entry>
|
@@ -0,0 +1 @@
|
||||
This method follows the Atom Publishing model where the entry document, atom or cmis, is posted to the root or specific folder URI. For unfiled documents, post the document to the unfiled collection. The document will be created in the folder posted. If the document is posted to the root collection and a folder property is specified, then the repository will create the document in the specified folder. If the content stream is specified on create, it should be base64 encoded in the atom entry.
|
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:cmis="http://www.cmis.org/2008/05">
|
||||
<title>${NAME}</title>
|
||||
<summary>${NAME} (summary)</summary>
|
||||
<cmis:object>
|
||||
<cmis:properties>
|
||||
<cmis:propertyString cmis:name="ObjectTypeId"><cmis:value>folder</cmis:value></cmis:propertyString>
|
||||
</cmis:properties>
|
||||
</cmis:object>
|
||||
</entry>
|
@@ -0,0 +1,4 @@
|
||||
<cmis:query xmlns:cmis="http://www.cmis.org/2008/05" >
|
||||
<cmis:statement><![CDATA[${STATEMENT}]]></cmis:statement>
|
||||
<cmis:pageSize>${PAGESIZE}</cmis:pageSize>
|
||||
</cmis:query>
|
@@ -0,0 +1,4 @@
|
||||
<cmis:query xmlns:cmis="http://www.cmis.org/2008/05" >
|
||||
<cmis:statement><![CDATA[${STATEMENT}]]></cmis:statement>
|
||||
<cmis:pageSize>${PAGESIZE}</cmis:pageSize>
|
||||
</cmis:query>
|
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:cmis="http://www.cmis.org/2008/05">
|
||||
<title>Updated Title ${NAME}</title>
|
||||
<content>updated content ${NAME}</content>
|
||||
</entry>
|
@@ -6,11 +6,12 @@
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
elementFormDefault="qualified" targetNamespace="http://www.w3.org/2007/app"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app"
|
||||
xmlns:cmis="http://www.cmis.org/2008/05">
|
||||
xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
version="0.5">
|
||||
<xs:import namespace="http://www.w3.org/2005/Atom"
|
||||
schemaLocation="ATOM4CMIS.xsd" />
|
||||
<xs:import namespace="http://www.cmis.org/2008/05"
|
||||
schemaLocation="CMIS-REST.xsd" />
|
||||
schemaLocation="CMIS.xsd" />
|
||||
<xs:element name="service" type="app:appServiceType"></xs:element>
|
||||
<xs:complexType name="appServiceType">
|
||||
<xs:sequence>
|
||||
@@ -35,11 +36,29 @@
|
||||
<xs:complexType name="appCollectionType">
|
||||
<xs:sequence>
|
||||
<xs:element ref="atom:title"></xs:element>
|
||||
<xs:element name="accept" type="xs:string" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element name="categories" type="app:appCategoriesType"
|
||||
minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"
|
||||
namespace="##other" />
|
||||
</xs:sequence>
|
||||
<xs:attribute ref="cmis:id"></xs:attribute>
|
||||
<xs:attribute ref="cmis:collectionType"></xs:attribute>
|
||||
<xs:attribute name="href" type="xs:anyURI"></xs:attribute>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="appCategoriesType">
|
||||
<xs:sequence>
|
||||
<xs:element name="category" type="app:appCategoryType"
|
||||
minOccurs="0" maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="fixed" type="xs:boolean" />
|
||||
</xs:complexType>
|
||||
<xs:complexType name="appCategoryType">
|
||||
<xs:sequence>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="scheme" type="xs:anyURI" />
|
||||
<xs:attribute name="term" type="xs:string" />
|
||||
<xs:attribute name="label" type="xs:string" />
|
||||
</xs:complexType>
|
||||
<xs:attribute name="href" type="xs:anyURI"></xs:attribute>
|
||||
</xs:schema>
|
||||
<!-- EOF -->
|
@@ -1,24 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
-*- rnc -*-
|
||||
RELAX NG Compact Syntax Grammar for the
|
||||
Atom Format Specification Version 11
|
||||
-->
|
||||
<!--
|
||||
-*- rnc -*- RELAX NG Compact Syntax Grammar for the Atom Format
|
||||
Specification Version 11
|
||||
-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
elementFormDefault="qualified"
|
||||
targetNamespace="http://www.w3.org/2005/Atom"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace"
|
||||
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
|
||||
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
|
||||
jaxb:extensionBindingPrefixes="xjc" jaxb:version="2.1">
|
||||
|
||||
elementFormDefault="qualified" targetNamespace="http://www.w3.org/2005/Atom"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:cmis="http://www.cmis.org/2008/05" xmlns:xml="http://www.w3.org/XML/1998/namespace"
|
||||
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
|
||||
jaxb:extensionBindingPrefixes="xjc" jaxb:version="2.1" version="0.5">
|
||||
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
|
||||
schemaLocation="http://www.w3.org/2001/xml.xsd" />
|
||||
schemaLocation="xml.xsd" />
|
||||
<xs:import namespace="http://www.cmis.org/2008/05"
|
||||
schemaLocation="CMIS-REST.xsd" />
|
||||
schemaLocation="CMIS.xsd" />
|
||||
|
||||
|
||||
<!-- Common attributes -->
|
||||
@@ -41,8 +35,7 @@
|
||||
</xs:attributeGroup>
|
||||
<xs:group name="atomXHTMLTextConstruct">
|
||||
<xs:sequence>
|
||||
<!-- xs:element ref="xhtml:div"/> -->
|
||||
<xs:element name="xhtmldivhere" type="xs:string" />
|
||||
<xs:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/1999/xhtml" />
|
||||
</xs:sequence>
|
||||
</xs:group>
|
||||
<xs:attributeGroup name="atomXHTMLTextConstruct">
|
||||
@@ -71,10 +64,11 @@
|
||||
<!-- Person Construct -->
|
||||
<xs:complexType name="atomPersonConstruct">
|
||||
<xs:sequence>
|
||||
<xs:element ref="atom:name" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element ref="atom:uri" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element ref="atom:email" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:group ref="atom:extensionElement" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element ref="atom:name" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="atom:uri" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="atom:email" minOccurs="0" maxOccurs="1" />
|
||||
<xs:group ref="atom:extensionElement" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="atom:atomCommonAttributes" />
|
||||
</xs:complexType>
|
||||
@@ -91,38 +85,27 @@
|
||||
</xs:complexType>
|
||||
<!-- atom:feed -->
|
||||
<xs:element name="feed" type="atom:feedType"></xs:element>
|
||||
|
||||
<xs:complexType name="feedType">
|
||||
<xs:sequence>
|
||||
<xs:element ref="atom:author" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element ref="atom:category" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element ref="atom:author" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="atom:category" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="atom:contributor" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="atom:generator" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element ref="atom:icon" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element ref="atom:generator" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="atom:icon" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="atom:id" minOccurs="1" maxOccurs="1" />
|
||||
<xs:element ref="atom:link" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element ref="atom:link" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="atom:logo" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="atom:rights" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="atom:subtitle" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="atom:title" minOccurs="1" maxOccurs="1" />
|
||||
<xs:element ref="atom:updated" minOccurs="1" maxOccurs="1" />
|
||||
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded"
|
||||
ref="atom:entry" />
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" ref="atom:entry" />
|
||||
|
||||
<!-- Start Atom's extension here -->
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded"
|
||||
ref="cmis:type" />
|
||||
|
||||
<xs:element ref="cmis:hasMoreItems" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
|
||||
|
||||
<!-- original atom extension element -->
|
||||
<xs:group ref="atom:extensionElement" />
|
||||
</xs:sequence>
|
||||
@@ -130,55 +113,54 @@
|
||||
</xs:complexType>
|
||||
<!-- atom:entry -->
|
||||
<xs:element name="entry" type="atom:entryType">
|
||||
|
||||
</xs:element>
|
||||
|
||||
<xs:complexType name="entryType">
|
||||
<xs:sequence>
|
||||
<xs:sequence>
|
||||
<xs:element ref="atom:author" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element ref="atom:category" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element ref="atom:content" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
|
||||
<xs:element ref="atom:author" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="atom:category" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="atom:content" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="atom:contributor" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="atom:id" minOccurs="1" maxOccurs="1" />
|
||||
<xs:element ref="atom:link" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element ref="atom:published" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="atom:rights" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
|
||||
<xs:element ref="atom:source" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="atom:summary" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="atom:link" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="atom:published" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="atom:rights" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="atom:source" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="atom:summary" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="atom:title" minOccurs="1" maxOccurs="1" />
|
||||
<xs:element ref="atom:updated" minOccurs="1" maxOccurs="1" />
|
||||
|
||||
|
||||
<xs:element ref="atom:title" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="atom:updated" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<!-- CMIS type, optional if not CMIS -->
|
||||
<xs:choice minOccurs="0" maxOccurs="1">
|
||||
<xs:choice minOccurs="0" maxOccurs="1">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<jaxb:property name="type" />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
<xs:element ref="cmis:documentType" />
|
||||
<xs:element ref="cmis:folderType" />
|
||||
<xs:element ref="cmis:policyType" />
|
||||
<xs:element ref="cmis:relationshipType" />
|
||||
</xs:choice>
|
||||
|
||||
<!-- CMIS AllowableActions, optional for CMIS -->
|
||||
<xs:element ref="cmis:allowableActions" minOccurs="0" maxOccurs="1" />
|
||||
|
||||
<!-- CMIS Properties, optional if not CMIS -->
|
||||
<xs:element ref="cmis:properties" minOccurs="1" maxOccurs="1" />
|
||||
|
||||
<!-- This is necessary for nested entries such as descendants -->
|
||||
<xs:element ref="atom:entry" minOccurs="0" maxOccurs="unbounded" />
|
||||
|
||||
<!-- Normal ATOM extension element -->
|
||||
<!-- CMIS object, optional if not CMIS -->
|
||||
<xs:element ref="cmis:object" minOccurs="0" maxOccurs="1" />
|
||||
</xs:choice>
|
||||
|
||||
<!-- This is necessary for nested entries such as descendants -->
|
||||
<xs:element ref="atom:entry" minOccurs="0" maxOccurs="unbounded" />
|
||||
|
||||
<!-- syntactic sugar -->
|
||||
<xs:element ref="cmis:terminator" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
|
||||
|
||||
<!-- Normal ATOM extension element -->
|
||||
<xs:group ref="atom:extensionElement" />
|
||||
</xs:sequence>
|
||||
|
||||
|
||||
|
||||
</xs:sequence>
|
||||
<xs:attributeGroup ref="atom:atomCommonAttributes" />
|
||||
</xs:complexType>
|
||||
@@ -197,8 +179,7 @@
|
||||
</xs:attributeGroup>
|
||||
<xs:group name="atomInlineOtherConstruct">
|
||||
<xs:sequence>
|
||||
<xs:group minOccurs="0" maxOccurs="unbounded"
|
||||
ref="atom:anyElement" />
|
||||
<xs:group minOccurs="0" maxOccurs="unbounded" ref="atom:anyElement" />
|
||||
</xs:sequence>
|
||||
</xs:group>
|
||||
<xs:attributeGroup name="atomInlineOtherConstruct">
|
||||
@@ -233,8 +214,7 @@
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType>
|
||||
<xs:union
|
||||
memberTypes="atom:atomMediaType">
|
||||
<xs:union memberTypes="atom:atomMediaType">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:token">
|
||||
<xs:enumeration value="xhtml" />
|
||||
@@ -302,6 +282,7 @@
|
||||
element.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="atom:undefinedContent">
|
||||
@@ -309,10 +290,10 @@
|
||||
<xs:attribute name="href" use="required" />
|
||||
<xs:attribute name="rel"></xs:attribute>
|
||||
<xs:attribute name="type" type="atom:atomMediaType" />
|
||||
<xs:attribute name="hreflang"
|
||||
type="atom:atomLanguageTag" />
|
||||
<xs:attribute name="hreflang" type="atom:atomLanguageTag" />
|
||||
<xs:attribute name="title" />
|
||||
<xs:attribute name="length" />
|
||||
<xs:attribute ref="cmis:id" use="optional" />
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
@@ -397,8 +378,8 @@
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<!--
|
||||
Unconstrained; it's not entirely clear how IRI fit into
|
||||
xsd:anyURI so let's not try to constrain it here
|
||||
Unconstrained; it's not entirely clear how IRI fit into xsd:anyURI so
|
||||
let's not try to constrain it here
|
||||
-->
|
||||
<!-- Whatever an email address is, it contains at least one @ -->
|
||||
<xs:simpleType name="atomEmailAddress">
|
||||
@@ -409,16 +390,16 @@
|
||||
<!-- Simple Extension -->
|
||||
<xs:group name="extensionElement">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##other" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
||||
maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<jaxb:property name='anyOther' />
|
||||
</xs:appinfo>
|
||||
</xs:annotation>
|
||||
</xs:any>
|
||||
<xs:any namespace="##local" processContents="lax"
|
||||
minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:any namespace="##local" processContents="lax" minOccurs="0"
|
||||
maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:appinfo>
|
||||
<jaxb:property name='anyLocal' />
|
||||
@@ -427,13 +408,11 @@
|
||||
</xs:any>
|
||||
</xs:sequence>
|
||||
</xs:group>
|
||||
|
||||
<xs:attributeGroup name="undefinedAttribute">
|
||||
<xs:anyAttribute namespace="##other" processContents="lax" />
|
||||
</xs:attributeGroup>
|
||||
<xs:complexType name="undefinedContent" mixed="true">
|
||||
<xs:group minOccurs="0" maxOccurs="unbounded"
|
||||
ref="atom:anyForeignElement" />
|
||||
<xs:group minOccurs="0" maxOccurs="unbounded" ref="atom:anyForeignElement" />
|
||||
</xs:complexType>
|
||||
<xs:group name="anyElement">
|
||||
<xs:sequence>
|
||||
@@ -453,6 +432,5 @@
|
||||
processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:group>
|
||||
|
||||
</xs:schema>
|
||||
<!-- EOF -->
|
||||
<!-- EOF -->
|
@@ -1,455 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
-*- rnc -*- RELAX NG Compact Syntax Grammar for the Atom Format
|
||||
Specification Version 11
|
||||
-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
elementFormDefault="qualified" targetNamespace="http://www.cmis.org/2008/05"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:cmis="http://www.cmis.org/2008/05">
|
||||
<xs:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xs:attribute name="id" type="xs:string" />
|
||||
<xs:attribute name="index" type="xs:integer" />
|
||||
<xs:attribute name="collectionType">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="root" />
|
||||
<xs:enumeration value="unfiled" />
|
||||
<xs:enumeration value="checkedout" />
|
||||
<xs:enumeration value="types" />
|
||||
<xs:enumeration value="query" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
<xs:attribute name="repositoryRelationship" type="xs:string" />
|
||||
<xs:element name="repositoryInfo" type="cmis:repositoryInfoType" />
|
||||
<xs:element name="property" type="cmis:propertyDefinitionType" />
|
||||
<xs:element name="parentId" type="xs:string" />
|
||||
<xs:element name="displayName" type="xs:string" />
|
||||
<xs:element name="isVersionable" type="xs:boolean" />
|
||||
<xs:element name="description" type="xs:string" />
|
||||
<xs:element name="isQueryable" type="xs:boolean" />
|
||||
<xs:element name="isCreatable" type="xs:boolean" />
|
||||
<xs:element name="isFileable" type="xs:boolean" />
|
||||
<xs:element name="queryName" type="xs:string" />
|
||||
<xs:element name="baseTypeQueryName" type="xs:string" />
|
||||
<xs:element name="AllowedSourceTypes" type="xs:string" />
|
||||
<xs:element name="AllowedTargetTypes" type="xs:string" />
|
||||
<xs:element name="constraints" type="xs:string" />
|
||||
<xs:element name="objectId" type="xs:string" />
|
||||
<xs:element name="type" type="cmis:typeType" />
|
||||
<xs:element name="parentUrl" type="xs:anyURI" />
|
||||
<xs:element name="maxLength" type="xs:integer" />
|
||||
<xs:element name="schemaURI" type="xs:string" />
|
||||
<xs:element name="encoding" type="xs:string" />
|
||||
<xs:element name="isOpenChoice" type="xs:boolean" />
|
||||
<xs:element name="isRequired" type="xs:boolean" />
|
||||
<xs:element name="defaultValue" type="xs:string" />
|
||||
<xs:element name="creationDate" type="xs:dateTime" />
|
||||
<xs:element name="lastModifiedBy" type="xs:dateTime" />
|
||||
<xs:element name="baseType" type="cmis:baseObjectType" />
|
||||
<xs:element name="canDelete" type="xs:boolean" />
|
||||
<xs:element name="canUpdateProperties" type="xs:boolean" />
|
||||
<xs:element name="canGetProperties" type="xs:boolean" />
|
||||
<xs:element name="canGetParents" type="xs:boolean" />
|
||||
<xs:element name="canMove" type="xs:boolean" />
|
||||
<xs:element name="canDeleteVersion" type="xs:boolean" />
|
||||
<xs:element name="canDeleteContent" type="xs:boolean" />
|
||||
<xs:element name="canCheckout" type="xs:boolean" />
|
||||
<xs:element name="canCancelCheckout" type="xs:boolean" />
|
||||
<xs:element name="canCheckin" type="xs:boolean" />
|
||||
<xs:element name="canSetContent" type="xs:boolean" />
|
||||
<xs:element name="canGetAllVersions" type="xs:boolean" />
|
||||
<xs:element name="canAddToFolder" type="xs:boolean" />
|
||||
<xs:element name="canRemoveFromFolder" type="xs:boolean" />
|
||||
<xs:element name="canViewContent" type="xs:boolean" />
|
||||
<xs:element name="canAddPolicy" type="xs:boolean" />
|
||||
<xs:element name="canRemovePolicy" type="xs:boolean" />
|
||||
<xs:element name="canGetChildren" type="xs:boolean" />
|
||||
<xs:element name="canGetDescendants" type="xs:boolean" />
|
||||
<xs:element name="canGetRelationships" type="xs:boolean" />
|
||||
<xs:element name="isControllable" type="xs:boolean" />
|
||||
<xs:element name="source" type="xs:string" />
|
||||
<xs:element name="target" type="xs:string" />
|
||||
<xs:element name="isImmutable" type="xs:boolean" />
|
||||
<xs:element name="hasMoreItems" type="xs:boolean" />
|
||||
<xs:element name="allowableActions" type="cmis:allowableActionsType" />
|
||||
<xs:element name="query" type="cmis:queryType" />
|
||||
<xs:element name="isOrderable" type="xs:boolean" />
|
||||
<xs:element name="statement" type="xs:string" />
|
||||
<xs:element name="pageSize" type="xs:integer" />
|
||||
<xs:element name="skipCount" type="xs:integer" />
|
||||
<xs:element name="returnAllowableActions" type="xs:boolean" />
|
||||
<xs:element name="searchAllVersions" type="xs:boolean" />
|
||||
<xs:element name="isInherited" type="xs:boolean" />
|
||||
<xs:element name="propertyName" type="xs:string" />
|
||||
<xs:element name="propertyId" type="xs:string" />
|
||||
<xs:element name="propertyType">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="String" />
|
||||
<xs:enumeration value="Decimal" />
|
||||
<xs:enumeration value="Integer" />
|
||||
<xs:enumeration value="Boolean" />
|
||||
<xs:enumeration value="DateTime" />
|
||||
<xs:enumeration value="URI" />
|
||||
<xs:enumeration value="HTML" />
|
||||
<xs:enumeration value="XML" />
|
||||
<xs:enumeration value="ID" />
|
||||
<xs:enumeration value="TypeID" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="contentStreamAllowed">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="notallowed" />
|
||||
<xs:enumeration value="allowed" />
|
||||
<xs:enumeration value="required" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="cardinality">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="Single" />
|
||||
<xs:enumeration value="Multi" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="choices">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="index" type="xs:positiveInteger" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="updateability">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="ro" />
|
||||
<xs:enumeration value="rw" />
|
||||
<xs:enumeration value="checkedout" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:complexType name="repositoryInfoType">
|
||||
<xs:sequence minOccurs="1">
|
||||
<xs:element name="repositoryId" type="xs:string"
|
||||
minOccurs="1" />
|
||||
<xs:element name="repositoryName" type="xs:string"
|
||||
minOccurs="1" />
|
||||
<xs:element name="repositoryDescription" type="xs:string"
|
||||
minOccurs="1" />
|
||||
<xs:element name="vendorName" type="xs:string" />
|
||||
<xs:element name="productName" type="xs:string" />
|
||||
<xs:element name="productVersion" type="xs:string" />
|
||||
<xs:element name="capabilities" type="cmis:RepositoryInfoCapabilities" />
|
||||
<xs:element name="cmisVersionsSupported" type="xs:string" />
|
||||
<xs:element name="repositorySpecificInformation" type="xs:string"
|
||||
maxOccurs="1" minOccurs="0" />
|
||||
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RepositoryInfoCapabilities">
|
||||
<xs:sequence>
|
||||
<xs:element name="capabilityMultifiling" type="xs:boolean"
|
||||
minOccurs="1" maxOccurs="1" />
|
||||
<xs:element name="capabilityUnfiling" type="xs:boolean"
|
||||
minOccurs="1" maxOccurs="1" />
|
||||
<xs:element name="capabilityVersionSpecificFiling" type="xs:boolean"
|
||||
minOccurs="1" maxOccurs="1" />
|
||||
<xs:element name="capabilityPWCUpdateable" type="xs:boolean"
|
||||
minOccurs="1" maxOccurs="1" />
|
||||
<xs:element name="capabilityAllVersionsSearchable" type="xs:boolean"
|
||||
minOccurs="1" maxOccurs="1" />
|
||||
<xs:element name="capabilityJoin" minOccurs="1" maxOccurs="1">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="noJoin" />
|
||||
<xs:enumeration value="innerOnly" />
|
||||
<xs:enumeration value="innerAndOuter" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="capabilityFullText">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="none" />
|
||||
<xs:enumeration value="fulltextonly" />
|
||||
<xs:enumeration value="fulltextandstructured" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:any namespace="##other" processContents="skip" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="baseObjectType">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="document" />
|
||||
<xs:enumeration value="folder" />
|
||||
<xs:enumeration value="relationship" />
|
||||
<xs:enumeration value="policy" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:element name="contentStreamMimetype">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value=".*/.*" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:complexType name="propertyDefinitionType">
|
||||
<xs:sequence>
|
||||
<xs:element ref="cmis:propertyName" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:propertyId" minOccurs="1" maxOccurs="1" />
|
||||
<xs:element ref="cmis:displayName" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:description" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:isInherited" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:propertyType" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:cardinality" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:maxLength" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="cmis:schemaURI" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="cmis:encoding" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="cmis:choices" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="cmis:isOpenChoice" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:isRequired" minOccurs="1" maxOccurs="1" />
|
||||
<xs:element ref="cmis:defaultValue" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element ref="cmis:updateability" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:isQueryable" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:isOrderable" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:any processContents="lax" namespace="##other" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
<xs:attribute ref="cmis:id" />
|
||||
</xs:complexType>
|
||||
<xs:complexType name="allowableActionsType">
|
||||
<xs:sequence>
|
||||
<xs:element ref="cmis:parentId" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="cmis:parentUrl" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="cmis:canDelete" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="cmis:canUpdateProperties" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:canGetProperties" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:canGetRelationships" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:canGetParents" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:canGetDescendants" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:canMove" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="cmis:canDeleteVersion" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:canDeleteContent" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:canCheckout" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:canCancelCheckout" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:canCheckin" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="cmis:canSetContent" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:canGetAllVersions" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:canAddToFolder" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:canRemoveFromFolder" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:canViewContent" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:canAddPolicy" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:canRemovePolicy" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:canGetChildren" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
|
||||
processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="queryType">
|
||||
<xs:sequence>
|
||||
<xs:element ref="cmis:statement" minOccurs="1" maxOccurs="1" />
|
||||
<xs:element ref="cmis:searchAllVersions" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:pageSize" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="cmis:skipCount" minOccurs="0" maxOccurs="1" />
|
||||
<xs:element ref="cmis:returnAllowableActions" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
|
||||
processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="typeType">
|
||||
<xs:sequence>
|
||||
<xs:element ref="cmis:objectId" minOccurs="1" maxOccurs="1" />
|
||||
<xs:element ref="cmis:baseType" minOccurs="1" maxOccurs="1" />
|
||||
<xs:element ref="cmis:lastModifiedBy" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:creationDate" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:queryName" minOccurs="1" maxOccurs="1" />
|
||||
<xs:element ref="cmis:displayName" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:baseTypeQueryName" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:parentId" minOccurs="1" maxOccurs="1" />
|
||||
<xs:element ref="cmis:description" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:isCreatable" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:isFileable" minOccurs="1" maxOccurs="1" />
|
||||
<xs:element ref="cmis:isQueryable" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:isControllable" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:isVersionable" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:contentStreamAllowed" minOccurs="1"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:AllowedSourceTypes" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:AllowedTargetTypes" minOccurs="0"
|
||||
maxOccurs="1" />
|
||||
<xs:element ref="cmis:property" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="cmis:type" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
|
||||
processContents="lax" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
|
||||
<!-- properties -->
|
||||
<xs:element name="properties" type="cmis:propertiesType" />
|
||||
<xs:complexType name="propertiesType">
|
||||
<xs:sequence>
|
||||
<xs:element ref="cmis:propertyBoolean" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element ref="cmis:propertyDateTime" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element ref="cmis:propertyDecimal" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element ref="cmis:propertyID" minOccurs="0" maxOccurs="unbounded" />
|
||||
<xs:element ref="cmis:propertyInteger" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element ref="cmis:propertyString" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element ref="cmis:propertyURI" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element ref="cmis:propertyXML" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:element ref="cmis:propertyHTML" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
<xs:any namespace="##other" processContents="lax" minOccurs="0"
|
||||
maxOccurs="unbounded" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="propertyString">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute ref="cmis:name" />
|
||||
<xs:attribute ref="cmis:index" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="propertyHTML">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute ref="cmis:name" />
|
||||
<xs:attribute ref="cmis:index" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="propertyXML">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute ref="cmis:name" />
|
||||
<xs:attribute ref="cmis:index" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="propertyBoolean">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:boolean">
|
||||
<xs:attribute ref="cmis:name" />
|
||||
<xs:attribute ref="cmis:index" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="propertyID">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute ref="cmis:name" />
|
||||
<xs:attribute ref="cmis:index" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="propertyURI">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:anyURI">
|
||||
<xs:attribute ref="cmis:name" />
|
||||
<xs:attribute ref="cmis:index" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="propertyDecimal">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:decimal">
|
||||
<xs:attribute ref="cmis:name" />
|
||||
<xs:attribute ref="cmis:index" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="propertyDateTime">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:dateTime">
|
||||
<xs:attribute ref="cmis:name" />
|
||||
<xs:attribute ref="cmis:index" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="propertyInteger">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:integer">
|
||||
<xs:attribute ref="cmis:name" />
|
||||
<xs:attribute ref="cmis:index" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:attribute name="name" type="xs:string" />
|
||||
</xs:schema>
|
||||
<!-- EOF -->
|
1077
source/java/org/alfresco/repo/cmis/rest/xsd/CMIS.xsd
Normal file
1077
source/java/org/alfresco/repo/cmis/rest/xsd/CMIS.xsd
Normal file
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS-REST.xsd ">
|
||||
xsi:schemaLocation="http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS.xsd ">
|
||||
|
||||
<!-- if not embedded in entry -->
|
||||
<cmis:parentId>cmis:parentId</cmis:parentId>
|
||||
|
@@ -1,13 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<atom:entry xml:base="http://tempuri.org" xml:lang=""
|
||||
xmlns:atom="http://www.w3.org/2005/Atom"
|
||||
xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS-REST.xsd ">
|
||||
|
||||
|
||||
xsi:schemaLocation="http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS.xsd ">
|
||||
<atom:author xml:base="http://tempuri.org" xml:lang="">
|
||||
<atom:name>Al Brown</atom:name>
|
||||
</atom:author>
|
||||
@@ -20,10 +16,8 @@
|
||||
<atom:id>http://www.cmis.org/rep1/document-entry</atom:id>
|
||||
|
||||
<!-- atom links -->
|
||||
<atom:link rel='self'
|
||||
href="http://www.cmis.org/rep1/document-entry" />
|
||||
<atom:link rel="edit"
|
||||
href="http://www.cmis.org/rep1/document-entry" />
|
||||
<atom:link rel='self' href="http://www.cmis.org/rep1/document-entry" />
|
||||
<atom:link rel="edit" href="http://www.cmis.org/rep1/document-entry" />
|
||||
<atom:link rel="edit-media"
|
||||
href="http://www.cmis.org/rep1/media/document-entry" />
|
||||
<atom:link rel="enclosure"
|
||||
@@ -42,73 +36,65 @@
|
||||
href="http://www.cmis.org/rep1/document-entry/latestversion" />
|
||||
<atom:link rel="cmis-relationships"
|
||||
href="http://www.cmis.org/rep1/document-entry/relationships" />
|
||||
<atom:link rel="cmis-type"
|
||||
href="http://www.cmis.org/rep1/type/email" />
|
||||
<atom:link rel="cmis-type" href="http://www.cmis.org/rep1/type/email" />
|
||||
<atom:link rel="cmis-stream"
|
||||
href="http://www.cmis.org/rep1/media/document-entry" />
|
||||
|
||||
<!-- createdDate -->
|
||||
<atom:published>2001-12-31T12:00:00</atom:published>
|
||||
|
||||
<atom:summary>
|
||||
<!-- auto-generated HTML table of properties -->
|
||||
</atom:summary>
|
||||
|
||||
<atom:title>Document Entry example</atom:title>
|
||||
|
||||
<!-- lastModifiedDate -->
|
||||
<atom:updated>2001-12-31T12:00:00</atom:updated>
|
||||
|
||||
<!-- Optional Allowable actions -->
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
|
||||
<cmis:canGetProperties>true</cmis:canGetProperties>
|
||||
<cmis:canGetParents>true</cmis:canGetParents>
|
||||
<cmis:canMove>true</cmis:canMove>
|
||||
<cmis:canDeleteVersion>true</cmis:canDeleteVersion>
|
||||
<cmis:canDeleteContent>true</cmis:canDeleteContent>
|
||||
<cmis:canCheckout>true</cmis:canCheckout>
|
||||
<cmis:canCancelCheckout>true</cmis:canCancelCheckout>
|
||||
<cmis:canCheckin>true</cmis:canCheckin>
|
||||
<cmis:canSetContent>true</cmis:canSetContent>
|
||||
<cmis:canGetAllVersions>true</cmis:canGetAllVersions>
|
||||
<cmis:canAddToFolder>true</cmis:canAddToFolder>
|
||||
<cmis:canRemoveFromFolder>true</cmis:canRemoveFromFolder>
|
||||
<cmis:canViewContent>true</cmis:canViewContent>
|
||||
<cmis:canAddPolicy>true</cmis:canAddPolicy>
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
</cmis:allowableActions>
|
||||
|
||||
<cmis:properties>
|
||||
<cmis:propertyBoolean cmis:name="isCheckedOut">false</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isLatestVersion">true</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isMajorVersion">true</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isLatestMajorVersion">true</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isImmutable">false</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isVersionSeriesCheckedOut">false</cmis:propertyBoolean>
|
||||
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">2001-12-31T12:00:00</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">2001-12-31T12:00:00</cmis:propertyDateTime>
|
||||
|
||||
<cmis:propertyID cmis:name="objectId">docid1</cmis:propertyID>
|
||||
<cmis:propertyID cmis:name="versionSeriesCheckedOutID"></cmis:propertyID>
|
||||
|
||||
<cmis:propertyInteger cmis:name="contentStreamLength">70</cmis:propertyInteger>
|
||||
|
||||
<cmis:propertyString cmis:name="objectType">email</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">document</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="versionSeriesCheckedOutBy"></cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="checkinComment">This is the initial checkin comment</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="versionLabel">1.0</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamMimetype">text/plain</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamName">foo.txt</cmis:propertyString>
|
||||
|
||||
<cmis:propertyURI cmis:name="contentStreamURI">
|
||||
http://www.cmis.org/rep1/media/document-entry
|
||||
</cmis:propertyURI>
|
||||
|
||||
</cmis:properties>
|
||||
|
||||
|
||||
</atom:entry>
|
||||
<cmis:object>
|
||||
<cmis:properties>
|
||||
<cmis:propertyBoolean cmis:name="isCheckedOut" cmis:propertyType="boolean"><cmis:value>false</cmis:value></cmis:propertyBoolean>
|
||||
<cmis:propertyUri cmis:name="contentStreamURI" cmis:propertyType="uri"><cmis:value>
|
||||
http://www.cmis.org/rep1/media/document-entry</cmis:value> </cmis:propertyUri>
|
||||
<cmis:propertyBoolean cmis:name="isLatestVersion" cmis:propertyType="boolean"><cmis:value>true</cmis:value></cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isMajorVersion" cmis:propertyType="boolean"><cmis:value>true</cmis:value></cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isLatestMajorVersion" cmis:propertyType="boolean"><cmis:value>true</cmis:value></cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isImmutable" cmis:propertyType="boolean"><cmis:value>false</cmis:value></cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isVersionSeriesCheckedOut" cmis:propertyType="boolean"><cmis:value>false</cmis:value></cmis:propertyBoolean>
|
||||
<cmis:propertyString cmis:name="lastModifiedBy" cmis:propertyType="string"><cmis:value>abrown</cmis:value></cmis:propertyString>
|
||||
<cmis:propertyDateTime cmis:name="creationDate" cmis:propertyType="datetime"><cmis:value>2001-12-31T12:00:00</cmis:value></cmis:propertyDateTime>
|
||||
<cmis:propertyId cmis:name="objectId" cmis:propertyType="id"><cmis:value>docid1</cmis:value></cmis:propertyId>
|
||||
<cmis:propertyId cmis:name="versionSeriesCheckedOutID" cmis:propertyType="id" />
|
||||
<cmis:propertyInteger cmis:name="contentStreamLength" cmis:propertyType="integer"><cmis:value>70</cmis:value></cmis:propertyInteger>
|
||||
<cmis:propertyInteger cmis:name="contentStreamLength" cmis:propertyType="integer" />
|
||||
<cmis:propertyString cmis:name="objectType" cmis:propertyType="string"><cmis:value>email</cmis:value></cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType" cmis:propertyType="string"><cmis:value>document</cmis:value></cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="versionSeriesCheckedOutBy" cmis:propertyType="string" />
|
||||
<cmis:propertyString cmis:name="checkinComment" cmis:propertyType="string"><cmis:value>This is the
|
||||
initial comment</cmis:value></cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="versionLabel" cmis:propertyType="string"><cmis:value>1.0</cmis:value></cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamMimetype" cmis:propertyType="string"><cmis:value>text/plain</cmis:value></cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamName" cmis:propertyType="string"><cmis:value>name</cmis:value></cmis:propertyString>
|
||||
</cmis:properties>
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
|
||||
<cmis:canGetProperties>true</cmis:canGetProperties>
|
||||
<cmis:canGetParents>true</cmis:canGetParents>
|
||||
<cmis:canMove>true</cmis:canMove>
|
||||
<cmis:canDeleteVersion>true</cmis:canDeleteVersion>
|
||||
<cmis:canDeleteContent>true</cmis:canDeleteContent>
|
||||
<cmis:canCheckout>true</cmis:canCheckout>
|
||||
<cmis:canCancelCheckout>true</cmis:canCancelCheckout>
|
||||
<cmis:canCheckin>true</cmis:canCheckin>
|
||||
<cmis:canSetContent>true</cmis:canSetContent>
|
||||
<cmis:canGetAllVersions>true</cmis:canGetAllVersions>
|
||||
<cmis:canAddToFolder>true</cmis:canAddToFolder>
|
||||
<cmis:canRemoveFromFolder>true</cmis:canRemoveFromFolder>
|
||||
<cmis:canViewContent>true</cmis:canViewContent>
|
||||
<cmis:canAddPolicy>true</cmis:canAddPolicy>
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
</cmis:allowableActions>
|
||||
</cmis:object>
|
||||
<cmis:terminator />
|
||||
</atom:entry>
|
@@ -1,13 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<atom:entry xml:base="http://tempuri.org" xml:lang=""
|
||||
xmlns:atom="http://www.w3.org/2005/Atom"
|
||||
xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS-REST.xsd ">
|
||||
|
||||
|
||||
xsi:schemaLocation="http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS.xsd ">
|
||||
<atom:author xml:base="http://tempuri.org" xml:lang="">
|
||||
<atom:name>Al Brown</atom:name>
|
||||
</atom:author>
|
||||
@@ -20,10 +16,8 @@
|
||||
<atom:id>http://www.cmis.org/rep1/document-entry</atom:id>
|
||||
|
||||
<!-- atom links -->
|
||||
<atom:link rel='self'
|
||||
href="http://www.cmis.org/rep1/document-entry" />
|
||||
<atom:link rel="edit"
|
||||
href="http://www.cmis.org/rep1/document-entry" />
|
||||
<atom:link rel='self' href="http://www.cmis.org/rep1/document-entry" />
|
||||
<atom:link rel="edit" href="http://www.cmis.org/rep1/document-entry" />
|
||||
<atom:link rel="edit-media"
|
||||
href="http://www.cmis.org/rep1/media/document-entry" />
|
||||
<atom:link rel="enclosure"
|
||||
@@ -42,84 +36,80 @@
|
||||
href="http://www.cmis.org/rep1/document-entry/latestversion" />
|
||||
<atom:link rel="cmis-relationships"
|
||||
href="http://www.cmis.org/rep1/document-entry/relationships" />
|
||||
<atom:link rel="cmis-type"
|
||||
href="http://www.cmis.org/rep1/type/email" />
|
||||
<atom:link rel="cmis-type" href="http://www.cmis.org/rep1/type/email" />
|
||||
<atom:link rel="cmis-stream"
|
||||
href="http://www.cmis.org/rep1/media/document-entry" />
|
||||
|
||||
<!-- createdDate -->
|
||||
<atom:published>2001-12-31T12:00:00</atom:published>
|
||||
|
||||
<atom:summary>
|
||||
<!-- auto-generated HTML table of properties -->
|
||||
</atom:summary>
|
||||
|
||||
<atom:title>Document Entry example</atom:title>
|
||||
|
||||
<!-- lastModifiedDate -->
|
||||
<atom:updated>2001-12-31T12:00:00</atom:updated>
|
||||
|
||||
<!-- Optional Allowable actions -->
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
|
||||
<cmis:canGetProperties>true</cmis:canGetProperties>
|
||||
<cmis:canGetParents>true</cmis:canGetParents>
|
||||
<cmis:canMove>true</cmis:canMove>
|
||||
<cmis:canDeleteVersion>true</cmis:canDeleteVersion>
|
||||
<cmis:canDeleteContent>true</cmis:canDeleteContent>
|
||||
<cmis:canCheckout>true</cmis:canCheckout>
|
||||
<cmis:canCancelCheckout>true</cmis:canCancelCheckout>
|
||||
<cmis:canCheckin>true</cmis:canCheckin>
|
||||
<cmis:canSetContent>true</cmis:canSetContent>
|
||||
<cmis:canGetAllVersions>true</cmis:canGetAllVersions>
|
||||
<cmis:canAddToFolder>true</cmis:canAddToFolder>
|
||||
<cmis:canRemoveFromFolder>true</cmis:canRemoveFromFolder>
|
||||
<cmis:canViewContent>true</cmis:canViewContent>
|
||||
<cmis:canAddPolicy>true</cmis:canAddPolicy>
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
</cmis:allowableActions>
|
||||
|
||||
<cmis:properties>
|
||||
<cmis:object>
|
||||
<cmis:properties>
|
||||
<!-- PWC -->
|
||||
<cmis:propertyBoolean cmis:name="isCheckedOut">true</cmis:propertyBoolean>
|
||||
<cmis:propertyId cmis:name="objectId"><cmis:value>docid1pwc</cmis:value></cmis:propertyId>
|
||||
<cmis:propertyString cmis:name="objectType"><cmis:value>email</cmis:value></cmis:propertyString>
|
||||
|
||||
<!-- PWC -->
|
||||
<cmis:propertyBoolean cmis:name="isLatestVersion">true</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isMajorVersion">false</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isLatestMajorVersion">false</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isImmutable">false</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isCheckedOut"><cmis:value>true</cmis:value></cmis:propertyBoolean>
|
||||
<!-- PWC -->
|
||||
<cmis:propertyBoolean cmis:name="isLatestVersion"><cmis:value>true</cmis:value></cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isMajorVersion"><cmis:value>false</cmis:value></cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isLatestMajorVersion"><cmis:value>false</cmis:value></cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isImmutable"><cmis:value>false</cmis:value></cmis:propertyBoolean>
|
||||
|
||||
<!-- PWC -->
|
||||
<cmis:propertyBoolean cmis:name="isVersionSeriesCheckedOut">true</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isVersionSeriesCheckedOut"><cmis:value>true</cmis:value></cmis:propertyBoolean>
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy"><cmis:value>2007-12-31T12:00:00</cmis:value></cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate"><cmis:value>2007-12-31T12:00:00</cmis:value></cmis:propertyDateTime>
|
||||
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">2007-12-31T12:00:00</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">2007-12-31T12:00:00</cmis:propertyDateTime>
|
||||
|
||||
<!-- PWC -->
|
||||
<cmis:propertyID cmis:name="objectId">docid1pwc</cmis:propertyID>
|
||||
|
||||
<!-- PWC -->
|
||||
<cmis:propertyID cmis:name="versionSeriesCheckedOutID">docidpwc</cmis:propertyID>
|
||||
<cmis:propertyId cmis:name="versionSeriesCheckedOutID"><cmis:value>docidpwc</cmis:value></cmis:propertyId>
|
||||
<cmis:propertyInteger cmis:name="contentStreamLength"><cmis:value>70</cmis:value></cmis:propertyInteger>
|
||||
|
||||
<cmis:propertyInteger cmis:name="contentStreamLength">70</cmis:propertyInteger>
|
||||
|
||||
<cmis:propertyString cmis:name="objectType">email</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">document</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType"><cmis:value>document</cmis:value></cmis:propertyString>
|
||||
|
||||
<!-- PWC -->
|
||||
<cmis:propertyString cmis:name="versionSeriesCheckedOutBy">Al Brown</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="checkinComment">This is the initial checkin comment</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="versionSeriesCheckedOutBy"><cmis:value>Al Brown</cmis:value></cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="checkinComment"><cmis:value>This is the
|
||||
initial checkin comment</cmis:value></cmis:propertyString>
|
||||
|
||||
<!-- PWC -->
|
||||
<cmis:propertyString cmis:name="versionLabel">1.1</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamMimetype">text/plain</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamName">foo.txt</cmis:propertyString>
|
||||
|
||||
<cmis:propertyURI cmis:name="contentStreamURI">
|
||||
http://www.cmis.org/rep1/media/document-entry
|
||||
</cmis:propertyURI>
|
||||
|
||||
</cmis:properties>
|
||||
<cmis:propertyString cmis:name="versionLabel"><cmis:value>1.1</cmis:value></cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamMimetype"><cmis:value>text/plain</cmis:value></cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamName"><cmis:value>foo.txt</cmis:value></cmis:propertyString>
|
||||
<cmis:propertyUri cmis:name="contentStreamURI"><cmis:value>
|
||||
http://www.cmis.org/rep1/media/document-entry</cmis:value></cmis:propertyUri>
|
||||
</cmis:properties>
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
|
||||
<cmis:canGetProperties>true</cmis:canGetProperties>
|
||||
<cmis:canGetParents>true</cmis:canGetParents>
|
||||
<cmis:canMove>true</cmis:canMove>
|
||||
<cmis:canDeleteVersion>true</cmis:canDeleteVersion>
|
||||
<cmis:canDeleteContent>true</cmis:canDeleteContent>
|
||||
<cmis:canCheckout>true</cmis:canCheckout>
|
||||
<cmis:canCancelCheckout>true</cmis:canCancelCheckout>
|
||||
<cmis:canCheckin>true</cmis:canCheckin>
|
||||
<cmis:canSetContent>true</cmis:canSetContent>
|
||||
<cmis:canGetAllVersions>true</cmis:canGetAllVersions>
|
||||
<cmis:canAddToFolder>true</cmis:canAddToFolder>
|
||||
<cmis:canRemoveFromFolder>true</cmis:canRemoveFromFolder>
|
||||
<cmis:canViewContent>true</cmis:canViewContent>
|
||||
<cmis:canAddPolicy>true</cmis:canAddPolicy>
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
</cmis:allowableActions>
|
||||
|
||||
|
||||
</atom:entry>
|
||||
</cmis:object>
|
||||
|
||||
<cmis:terminator />
|
||||
</atom:entry>
|
@@ -7,11 +7,6 @@
|
||||
<link rel="self" href="http://localhost:80/alfresco/service/api/path/workspace/SpacesStore/Company%20Home/children"/>
|
||||
<link rel="first" href="http://localhost:80/alfresco/service/api/path/workspace/SpacesStore/Company%20Home/children?pageNo=1&guest=&format=atomfeed" type="application/atom+xml;type=feed"/>
|
||||
<link rel="last" href="http://localhost:80/alfresco/service/api/path/workspace/SpacesStore/Company%20Home/children?pageNo=1&guest=&format=atomfeed" type="application/atom+xml;type=feed"/>
|
||||
<link rel="cmis-allowableactions" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/ffddcc48-0c6a-4aa3-b9e2-1121c35f6504/permissions"/>
|
||||
<link rel="cmis-relationships" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/ffddcc48-0c6a-4aa3-b9e2-1121c35f6504/associations"/>
|
||||
<link rel="cmis-parent" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/ffddcc48-0c6a-4aa3-b9e2-1121c35f6504/parent"/>
|
||||
<link rel="cmis-children" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/ffddcc48-0c6a-4aa3-b9e2-1121c35f6504/children"/>
|
||||
<link rel="cmis-descendants" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/ffddcc48-0c6a-4aa3-b9e2-1121c35f6504/descendants"/>
|
||||
<title>Company Home</title>
|
||||
<updated>2008-07-11T16:51:03.508+01:00</updated>
|
||||
<entry>
|
||||
@@ -29,170 +24,23 @@
|
||||
<summary>Site Collaboration Spaces</summary>
|
||||
<title>Sites</title>
|
||||
<updated>2008-07-11T16:51:03.854+01:00</updated>
|
||||
<cmis:object>
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">2008-07-11T16:51:03.086+01:00</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="lastModificationDate">2008-07-11T16:51:03.854+01:00</cmis:propertyDateTime>
|
||||
<cmis:propertyID cmis:name="objectId">workspace://SpacesStore/b09bc7f5-19c3-4ad1-9c5d-8f3a95a3417d</cmis:propertyID>
|
||||
<cmis:propertyID cmis:name="parent">workspace://SpacesStore/ffddcc48-0c6a-4aa3-b9e2-1121c35f6504</cmis:propertyID>
|
||||
<cmis:propertyString cmis:name="baseType">document</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="createdBy">System</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="lastModifiedBy">System</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="name">Sites</cmis:propertyString>
|
||||
<cmis:propertyDateTime cmis:name="creationDate"><cmis:value>2008-07-11T16:51:03.086+01:00</cmis:value></cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="lastModificationDate"><cmis:value>2008-07-11T16:51:03.854+01:00</cmis:value></cmis:propertyDateTime>
|
||||
<cmis:propertyId cmis:name="objectId"><cmis:value>workspace://SpacesStore/b09bc7f5-19c3-4ad1-9c5d-8f3a95a3417d</cmis:value></cmis:propertyId>
|
||||
<cmis:propertyId cmis:name="parent"><cmis:value>workspace://SpacesStore/ffddcc48-0c6a-4aa3-b9e2-1121c35f6504</cmis:value></cmis:propertyId>
|
||||
<cmis:propertyString cmis:name="baseType"><cmis:value>document</cmis:value></cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="createdBy"><cmis:value>System</cmis:value></cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="lastModifiedBy"><cmis:value>System</cmis:value></cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="name"><cmis:value>Sites</cmis:value></cmis:propertyString>
|
||||
</cmis:properties>
|
||||
</cmis:object>
|
||||
<cmis:terminator/>
|
||||
<app:edited>2008-07-11T16:51:03.854+01:00</app:edited>
|
||||
<alf:icon>http://localhost:80/alfresco/images/icons/space-icon-default-16.gif</alf:icon>
|
||||
</entry>
|
||||
<entry>
|
||||
<author><name>System</name></author>
|
||||
<content>dd4f66e4-df9a-4910-94dd-4bc2a5e59443</content>
|
||||
<id>urn:uuid:dd4f66e4-df9a-4910-94dd-4bc2a5e59443</id>
|
||||
<link rel="self" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/dd4f66e4-df9a-4910-94dd-4bc2a5e59443"/>
|
||||
<link rel="edit" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/dd4f66e4-df9a-4910-94dd-4bc2a5e59443"/>
|
||||
<link rel="cmis-allowableactions" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/dd4f66e4-df9a-4910-94dd-4bc2a5e59443/permissions"/>
|
||||
<link rel="cmis-relationships" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/dd4f66e4-df9a-4910-94dd-4bc2a5e59443/associations"/>
|
||||
<link rel="cmis-parent" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/dd4f66e4-df9a-4910-94dd-4bc2a5e59443/parent"/>
|
||||
<link rel="cmis-children" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/dd4f66e4-df9a-4910-94dd-4bc2a5e59443/children"/>
|
||||
<link rel="cmis-descendants" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/dd4f66e4-df9a-4910-94dd-4bc2a5e59443/descendants"/>
|
||||
<published>2008-07-11T16:50:25.286+01:00</published>
|
||||
<summary>User managed definitions</summary>
|
||||
<title>Data Dictionary</title>
|
||||
<updated>2008-07-11T16:51:03.509+01:00</updated>
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">2008-07-11T16:50:25.286+01:00</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="lastModificationDate">2008-07-11T16:51:03.509+01:00</cmis:propertyDateTime>
|
||||
<cmis:propertyID cmis:name="objectId">workspace://SpacesStore/dd4f66e4-df9a-4910-94dd-4bc2a5e59443</cmis:propertyID>
|
||||
<cmis:propertyID cmis:name="parent">workspace://SpacesStore/ffddcc48-0c6a-4aa3-b9e2-1121c35f6504</cmis:propertyID>
|
||||
<cmis:propertyString cmis:name="baseType">document</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="createdBy">System</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="lastModifiedBy">System</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="name">Data Dictionary</cmis:propertyString>
|
||||
</cmis:properties>
|
||||
<app:edited>2008-07-11T16:51:03.509+01:00</app:edited>
|
||||
<alf:icon>http://localhost:80/alfresco/images/icons/space-icon-default-16.gif</alf:icon>
|
||||
</entry>
|
||||
<entry>
|
||||
<author><name>System</name></author>
|
||||
<content>6dc1e4b5-d959-4ca8-b20c-21ce05fe8889</content>
|
||||
<id>urn:uuid:6dc1e4b5-d959-4ca8-b20c-21ce05fe8889</id>
|
||||
<link rel="self" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/6dc1e4b5-d959-4ca8-b20c-21ce05fe8889"/>
|
||||
<link rel="edit" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/6dc1e4b5-d959-4ca8-b20c-21ce05fe8889"/>
|
||||
<link rel="cmis-allowableactions" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/6dc1e4b5-d959-4ca8-b20c-21ce05fe8889/permissions"/>
|
||||
<link rel="cmis-relationships" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/6dc1e4b5-d959-4ca8-b20c-21ce05fe8889/associations"/>
|
||||
<link rel="cmis-parent" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/6dc1e4b5-d959-4ca8-b20c-21ce05fe8889/parent"/>
|
||||
<link rel="cmis-children" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/6dc1e4b5-d959-4ca8-b20c-21ce05fe8889/children"/>
|
||||
<link rel="cmis-descendants" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/6dc1e4b5-d959-4ca8-b20c-21ce05fe8889/descendants"/>
|
||||
<published>2008-07-11T16:50:25.698+01:00</published>
|
||||
<summary>The guest root space</summary>
|
||||
<title>Guest Home</title>
|
||||
<updated>2008-07-11T16:51:03.515+01:00</updated>
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">2008-07-11T16:50:25.698+01:00</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="lastModificationDate">2008-07-11T16:51:03.515+01:00</cmis:propertyDateTime>
|
||||
<cmis:propertyID cmis:name="objectId">workspace://SpacesStore/6dc1e4b5-d959-4ca8-b20c-21ce05fe8889</cmis:propertyID>
|
||||
<cmis:propertyID cmis:name="parent">workspace://SpacesStore/ffddcc48-0c6a-4aa3-b9e2-1121c35f6504</cmis:propertyID>
|
||||
<cmis:propertyString cmis:name="baseType">document</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="createdBy">System</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="lastModifiedBy">System</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="name">Guest Home</cmis:propertyString>
|
||||
</cmis:properties>
|
||||
<app:edited>2008-07-11T16:51:03.515+01:00</app:edited>
|
||||
<alf:icon>http://localhost:80/alfresco/images/icons/space-icon-default-16.gif</alf:icon>
|
||||
</entry>
|
||||
<entry>
|
||||
<author><name>System</name></author>
|
||||
<content>7d35ea01-5bfd-4785-92c3-3dc19623b162</content>
|
||||
<id>urn:uuid:7d35ea01-5bfd-4785-92c3-3dc19623b162</id>
|
||||
<link rel="self" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/7d35ea01-5bfd-4785-92c3-3dc19623b162"/>
|
||||
<link rel="edit" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/7d35ea01-5bfd-4785-92c3-3dc19623b162"/>
|
||||
<link rel="cmis-allowableactions" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/7d35ea01-5bfd-4785-92c3-3dc19623b162/permissions"/>
|
||||
<link rel="cmis-relationships" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/7d35ea01-5bfd-4785-92c3-3dc19623b162/associations"/>
|
||||
<link rel="cmis-parent" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/7d35ea01-5bfd-4785-92c3-3dc19623b162/parent"/>
|
||||
<link rel="cmis-children" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/7d35ea01-5bfd-4785-92c3-3dc19623b162/children"/>
|
||||
<link rel="cmis-descendants" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/7d35ea01-5bfd-4785-92c3-3dc19623b162/descendants"/>
|
||||
<published>2008-07-11T16:50:25.822+01:00</published>
|
||||
<summary>User Homes</summary>
|
||||
<title>User Homes</title>
|
||||
<updated>2008-07-11T16:51:03.516+01:00</updated>
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">2008-07-11T16:50:25.822+01:00</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="lastModificationDate">2008-07-11T16:51:03.516+01:00</cmis:propertyDateTime>
|
||||
<cmis:propertyID cmis:name="objectId">workspace://SpacesStore/7d35ea01-5bfd-4785-92c3-3dc19623b162</cmis:propertyID>
|
||||
<cmis:propertyID cmis:name="parent">workspace://SpacesStore/ffddcc48-0c6a-4aa3-b9e2-1121c35f6504</cmis:propertyID>
|
||||
<cmis:propertyString cmis:name="baseType">document</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="createdBy">System</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="lastModifiedBy">System</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="name">User Homes</cmis:propertyString>
|
||||
</cmis:properties>
|
||||
<app:edited>2008-07-11T16:51:03.516+01:00</app:edited>
|
||||
<alf:icon>http://localhost:80/alfresco/images/icons/space-icon-default-16.gif</alf:icon>
|
||||
</entry>
|
||||
<entry>
|
||||
<author><name>admin</name></author>
|
||||
<content>605a7b77-c3b7-4583-85e6-04183ba69e44</content>
|
||||
<id>urn:uuid:605a7b77-c3b7-4583-85e6-04183ba69e44</id>
|
||||
<link rel="self" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/605a7b77-c3b7-4583-85e6-04183ba69e44"/>
|
||||
<link rel="edit" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/605a7b77-c3b7-4583-85e6-04183ba69e44"/>
|
||||
<link rel="cmis-allowableactions" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/605a7b77-c3b7-4583-85e6-04183ba69e44/permissions"/>
|
||||
<link rel="cmis-relationships" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/605a7b77-c3b7-4583-85e6-04183ba69e44/associations"/>
|
||||
<link rel="cmis-parent" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/605a7b77-c3b7-4583-85e6-04183ba69e44/parent"/>
|
||||
<link rel="cmis-children" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/605a7b77-c3b7-4583-85e6-04183ba69e44/children"/>
|
||||
<link rel="cmis-descendants" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/605a7b77-c3b7-4583-85e6-04183ba69e44/descendants"/>
|
||||
<published>2008-07-11T16:51:20.786+01:00</published>
|
||||
<summary>CMIS Tests (summary)</summary>
|
||||
<title>CMIS Tests</title>
|
||||
<updated>2008-07-11T16:51:20.830+01:00</updated>
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">2008-07-11T16:51:20.786+01:00</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="lastModificationDate">2008-07-11T16:51:20.830+01:00</cmis:propertyDateTime>
|
||||
<cmis:propertyID cmis:name="objectId">workspace://SpacesStore/605a7b77-c3b7-4583-85e6-04183ba69e44</cmis:propertyID>
|
||||
<cmis:propertyID cmis:name="parent">workspace://SpacesStore/ffddcc48-0c6a-4aa3-b9e2-1121c35f6504</cmis:propertyID>
|
||||
<cmis:propertyString cmis:name="baseType">document</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="createdBy">admin</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="lastModifiedBy">admin</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="name">CMIS Tests</cmis:propertyString>
|
||||
</cmis:properties>
|
||||
<app:edited>2008-07-11T16:51:20.830+01:00</app:edited>
|
||||
<alf:icon>http://localhost:80/alfresco/images/icons/space-icon-default-16.gif</alf:icon>
|
||||
</entry>
|
||||
<entry>
|
||||
<author><name>System</name></author>
|
||||
<content>79f2bb8b-a0ff-4e96-908c-85e794684104</content>
|
||||
<id>urn:uuid:79f2bb8b-a0ff-4e96-908c-85e794684104</id>
|
||||
<link rel="self" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/79f2bb8b-a0ff-4e96-908c-85e794684104"/>
|
||||
<link rel="edit" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/79f2bb8b-a0ff-4e96-908c-85e794684104"/>
|
||||
<link rel="cmis-allowableactions" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/79f2bb8b-a0ff-4e96-908c-85e794684104/permissions"/>
|
||||
<link rel="cmis-relationships" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/79f2bb8b-a0ff-4e96-908c-85e794684104/associations"/>
|
||||
<link rel="cmis-parent" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/79f2bb8b-a0ff-4e96-908c-85e794684104/parent"/>
|
||||
<link rel="cmis-children" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/79f2bb8b-a0ff-4e96-908c-85e794684104/children"/>
|
||||
<link rel="cmis-descendants" href="http://localhost:80/alfresco/service/api/node/workspace/SpacesStore/79f2bb8b-a0ff-4e96-908c-85e794684104/descendants"/>
|
||||
<published>2008-07-11T22:08:33.603+01:00</published>
|
||||
<summary>Web Content Management Spaces</summary>
|
||||
<title>Web Projects</title>
|
||||
<updated>2008-07-11T22:08:33.676+01:00</updated>
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">2008-07-11T22:08:33.603+01:00</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="lastModificationDate">2008-07-11T22:08:33.676+01:00</cmis:propertyDateTime>
|
||||
<cmis:propertyID cmis:name="objectId">workspace://SpacesStore/79f2bb8b-a0ff-4e96-908c-85e794684104</cmis:propertyID>
|
||||
<cmis:propertyID cmis:name="parent">workspace://SpacesStore/ffddcc48-0c6a-4aa3-b9e2-1121c35f6504</cmis:propertyID>
|
||||
<cmis:propertyString cmis:name="baseType">document</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="createdBy">System</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="lastModifiedBy">System</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="name">Web Projects</cmis:propertyString>
|
||||
</cmis:properties>
|
||||
<app:edited>2008-07-11T22:08:33.676+01:00</app:edited>
|
||||
<alf:icon>http://localhost:80/alfresco/images/icons/space-icon-default-16.gif</alf:icon>
|
||||
</entry>
|
||||
<cmis:hasMoreItems>false</cmis:hasMoreItems>
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">2008-07-11T16:50:25.179+01:00</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="lastModificationDate">2008-07-11T16:51:03.508+01:00</cmis:propertyDateTime>
|
||||
<cmis:propertyID cmis:name="objectId">workspace://SpacesStore/ffddcc48-0c6a-4aa3-b9e2-1121c35f6504</cmis:propertyID>
|
||||
<cmis:propertyID cmis:name="parent">workspace://SpacesStore/b9a00044-9a14-4733-a745-2bfb83915da8</cmis:propertyID>
|
||||
<cmis:propertyString cmis:name="baseType">document</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="createdBy">System</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="lastModifiedBy">System</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="name">Company Home</cmis:propertyString>
|
||||
</cmis:properties>
|
||||
<opensearch:totalResults>6</opensearch:totalResults>
|
||||
<opensearch:startIndex>0</opensearch:startIndex>
|
||||
<opensearch:itemsPerPage>0</opensearch:itemsPerPage>
|
||||
|
@@ -5,7 +5,7 @@
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS-REST.xsd ">
|
||||
xsi:schemaLocation="http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS.xsd ">
|
||||
|
||||
<!-- This is a feed of folder1 containing:
|
||||
folder2
|
||||
@@ -76,7 +76,31 @@
|
||||
<!-- lastModifiedDate -->
|
||||
<atom:updated>2001-12-31T12:00:00</atom:updated>
|
||||
|
||||
<!-- Optional Allowable actions -->
|
||||
<cmis:object>
|
||||
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">
|
||||
<cmis:value>2001-12-31T12:00:00</cmis:value>
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">
|
||||
<cmis:value>2001-12-31T12:00:00</cmis:value>
|
||||
</cmis:propertyDateTime>
|
||||
|
||||
<cmis:propertyId cmis:name="objectId">
|
||||
<cmis:value>folderid1</cmis:value>
|
||||
</cmis:propertyId>
|
||||
<cmis:propertyId cmis:name="parentId">
|
||||
<cmis:value>parentFolderId1</cmis:value>
|
||||
</cmis:propertyId>
|
||||
|
||||
<cmis:propertyString cmis:name="objectType">
|
||||
<cmis:value>emailfolder</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">
|
||||
<cmis:value>folder</cmis:value>
|
||||
</cmis:propertyString>
|
||||
</cmis:properties>
|
||||
<!-- Optional Allowable actions -->
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
|
||||
@@ -88,29 +112,9 @@
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
<cmis:canGetChildren>true</cmis:canGetChildren>
|
||||
</cmis:allowableActions>
|
||||
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">
|
||||
2001-12-31T12:00:00
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">
|
||||
2001-12-31T12:00:00
|
||||
</cmis:propertyDateTime>
|
||||
|
||||
<cmis:propertyID cmis:name="objectId">
|
||||
folderid1
|
||||
</cmis:propertyID>
|
||||
<cmis:propertyID cmis:name="parentId">
|
||||
parentFolderId1
|
||||
</cmis:propertyID>
|
||||
|
||||
<cmis:propertyString cmis:name="objectType">
|
||||
emailfolder
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">
|
||||
folder
|
||||
</cmis:propertyString>
|
||||
</cmis:properties>
|
||||
|
||||
</cmis:object>
|
||||
<cmis:terminator />
|
||||
</atom:entry>
|
||||
|
||||
<!-- child doc -->
|
||||
@@ -167,7 +171,71 @@
|
||||
<!-- lastModifiedDate -->
|
||||
<atom:updated>2001-12-31T12:00:00</atom:updated>
|
||||
|
||||
<!-- Optional Allowable actions -->
|
||||
<cmis:object>
|
||||
<cmis:properties>
|
||||
<cmis:propertyId cmis:name="objectId">
|
||||
<cmis:value>docid1</cmis:value>
|
||||
</cmis:propertyId>
|
||||
|
||||
<cmis:propertyBoolean cmis:name="isCheckedOut">
|
||||
<cmis:value>false</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isLatestVersion">
|
||||
<cmis:value>true</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isMajorVersion">
|
||||
<cmis:value>true</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isLatestMajorVersion">
|
||||
<cmis:value>true</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isImmutable">
|
||||
<cmis:value>false</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean
|
||||
cmis:name="isVersionSeriesCheckedOut">
|
||||
<cmis:value>false</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">
|
||||
<cmis:value>2001-12-31T12:00:00</cmis:value>
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">
|
||||
<cmis:value>2001-12-31T12:00:00</cmis:value>
|
||||
</cmis:propertyDateTime>
|
||||
|
||||
<cmis:propertyId cmis:name="versionSeriesCheckedOutID"></cmis:propertyId>
|
||||
|
||||
<cmis:propertyInteger cmis:name="contentStreamLength">
|
||||
<cmis:value>70</cmis:value>
|
||||
</cmis:propertyInteger>
|
||||
|
||||
<cmis:propertyString cmis:name="objectType">
|
||||
<cmis:value>email</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">
|
||||
<cmis:value>document</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString
|
||||
cmis:name="versionSeriesCheckedOutBy" />
|
||||
<cmis:propertyString cmis:name="checkinComment">
|
||||
<cmis:value>This is the initial checkin comment</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="versionLabel">
|
||||
<cmis:value>1.0</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamMimetype">
|
||||
<cmis:value>text/plain</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamName">
|
||||
<cmis:value>foo.txt</cmis:value>
|
||||
</cmis:propertyString>
|
||||
|
||||
<cmis:propertyUri cmis:name="contentStreamURI"><cmis:value>
|
||||
http://www.cmis.org/rep1/media/document-entry</cmis:value>
|
||||
</cmis:propertyUri>
|
||||
</cmis:properties>
|
||||
<!-- Optional Allowable actions -->
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
|
||||
@@ -187,72 +255,11 @@
|
||||
<cmis:canAddPolicy>true</cmis:canAddPolicy>
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
</cmis:allowableActions>
|
||||
|
||||
<cmis:properties>
|
||||
<cmis:propertyBoolean cmis:name="isCheckedOut">
|
||||
false
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isLatestVersion">
|
||||
true
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isMajorVersion">
|
||||
true
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isLatestMajorVersion">
|
||||
true
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isImmutable">
|
||||
false
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean
|
||||
cmis:name="isVersionSeriesCheckedOut">
|
||||
false
|
||||
</cmis:propertyBoolean>
|
||||
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">
|
||||
2001-12-31T12:00:00
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">
|
||||
2001-12-31T12:00:00
|
||||
</cmis:propertyDateTime>
|
||||
|
||||
<cmis:propertyID cmis:name="objectId">
|
||||
docid1
|
||||
</cmis:propertyID>
|
||||
<cmis:propertyID cmis:name="versionSeriesCheckedOutID"></cmis:propertyID>
|
||||
|
||||
<cmis:propertyInteger cmis:name="contentStreamLength">
|
||||
70
|
||||
</cmis:propertyInteger>
|
||||
|
||||
<cmis:propertyString cmis:name="objectType">
|
||||
email
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">
|
||||
document
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString
|
||||
cmis:name="versionSeriesCheckedOutBy">
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="checkinComment">
|
||||
This is the initial checkin comment
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="versionLabel">
|
||||
1.0
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamMimetype">
|
||||
text/plain
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamName">
|
||||
foo.txt
|
||||
</cmis:propertyString>
|
||||
|
||||
<cmis:propertyURI cmis:name="contentStreamURI">
|
||||
http://www.cmis.org/rep1/media/document-entry
|
||||
</cmis:propertyURI>
|
||||
</cmis:properties>
|
||||
</cmis:object>
|
||||
|
||||
<cmis:terminator />
|
||||
</atom:entry>
|
||||
|
||||
<!-- notification of more items -->
|
||||
<cmis:hasMoreItems>true</cmis:hasMoreItems>
|
||||
</atom:feed>
|
||||
</atom:feed>
|
@@ -1,41 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<atom:feed xml:base="http://tempuri.org" xml:lang=""
|
||||
xmlns:atom="http://www.w3.org/2005/Atom"
|
||||
xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xml="http://www.w3.org/XML/1998/namespace"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS-REST.xsd ">
|
||||
|
||||
<!-- This is a feed of folder1 containing:
|
||||
folder2\
|
||||
docid2
|
||||
docid1
|
||||
xsi:schemaLocation="http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS.xsd ">
|
||||
<!--
|
||||
This is a feed of folder1 containing: folder2\ docid2 docid1
|
||||
-->
|
||||
<atom:author xml:base="http://tempuri.org" xml:lang="">
|
||||
<atom:name>Al Brown</atom:name>
|
||||
</atom:author>
|
||||
|
||||
<atom:id>http://www.cmis.org/rep1/folder1/children/3</atom:id>
|
||||
|
||||
<atom:link href="http://www.cmis.org/rep1/folder1/children/3" />
|
||||
|
||||
<!-- Points to the folder entry document -->
|
||||
<atom:link rel="cmis-source"
|
||||
href="http://www.cmis.org/rep1/folder1" />
|
||||
<atom:link rel="cmis-source" href="http://www.cmis.org/rep1/folder1" />
|
||||
|
||||
<!-- RFC 5005 Feed Paging -->
|
||||
<atom:link rel="first"
|
||||
href="http://www.cmis.org/rep1/folder1/children" />
|
||||
<atom:link rel="next"
|
||||
href="http://www.cmis.org/rep1/folder1/children/4" />
|
||||
<atom:link rel="previous"
|
||||
href="http://www.cmis.org/rep1/folder1/children/2" />
|
||||
<atom:link rel="first" href="http://www.cmis.org/rep1/folder1/children" />
|
||||
<atom:link rel="next" href="http://www.cmis.org/rep1/folder1/children/4" />
|
||||
<atom:link rel="previous" href="http://www.cmis.org/rep1/folder1/children/2" />
|
||||
<atom:link rel="last"
|
||||
href="http://www.cmis.org/rep1/folder1/children/last" />
|
||||
|
||||
<atom:title>Folder1's Children - page 3</atom:title>
|
||||
|
||||
<atom:updated>2007-12-31T12:00:00</atom:updated>
|
||||
|
||||
<!-- child folder2 -->
|
||||
@@ -54,10 +41,8 @@
|
||||
<atom:id>http://www.cmis.org/rep1/folder-entry2</atom:id>
|
||||
|
||||
<!-- atom links -->
|
||||
<atom:link rel='self'
|
||||
href="http://www.cmis.org/rep1/folder-entry2" />
|
||||
<atom:link rel="edit"
|
||||
href="http://www.cmis.org/rep1/folder-entry2" />
|
||||
<atom:link rel='self' href="http://www.cmis.org/rep1/folder-entry2" />
|
||||
<atom:link rel="edit" href="http://www.cmis.org/rep1/folder-entry2" />
|
||||
|
||||
<!-- CMIS Links -->
|
||||
<atom:link rel="cmis-parent"
|
||||
@@ -66,52 +51,49 @@
|
||||
href="http://www.cmis.org/rep1/folder-entry2/actions" />
|
||||
<atom:link rel="cmis-relationships"
|
||||
href="http://www.cmis.org/rep1/folder-entry2/relationships" />
|
||||
<atom:link rel="cmis-type"
|
||||
href="http://www.cmis.org/rep1/type/emailfolder" />
|
||||
<atom:link rel="cmis-type" href="http://www.cmis.org/rep1/type/emailfolder" />
|
||||
|
||||
<!-- createdDate -->
|
||||
<atom:published>2001-12-31T12:00:00</atom:published>
|
||||
|
||||
<atom:title>Folder Entry2 example</atom:title>
|
||||
|
||||
<!-- lastModifiedDate -->
|
||||
<atom:updated>2001-12-31T12:00:00</atom:updated>
|
||||
|
||||
<!-- Optional Allowable actions -->
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
|
||||
<cmis:canGetProperties>true</cmis:canGetProperties>
|
||||
<cmis:canGetParents>true</cmis:canGetParents>
|
||||
<cmis:canGetDescendants>true</cmis:canGetDescendants>
|
||||
<cmis:canMove>true</cmis:canMove>
|
||||
<cmis:canAddPolicy>true</cmis:canAddPolicy>
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
<cmis:canGetChildren>true</cmis:canGetChildren>
|
||||
</cmis:allowableActions>
|
||||
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">
|
||||
2001-12-31T12:00:00
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">
|
||||
2001-12-31T12:00:00
|
||||
</cmis:propertyDateTime>
|
||||
|
||||
<cmis:propertyID cmis:name="objectId">
|
||||
folderid2
|
||||
</cmis:propertyID>
|
||||
<cmis:propertyID cmis:name="parentId">
|
||||
folderid1
|
||||
</cmis:propertyID>
|
||||
|
||||
<cmis:propertyString cmis:name="objectType">
|
||||
emailfolder
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">
|
||||
folder
|
||||
</cmis:propertyString>
|
||||
</cmis:properties>
|
||||
<cmis:object>
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">
|
||||
<cmis:value>2001-12-31T12:00:00</cmis:value>
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">
|
||||
<cmis:value>2001-12-31T12:00:00</cmis:value>
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyId cmis:name="objectId">
|
||||
<cmis:value>folderid2</cmis:value>
|
||||
</cmis:propertyId>
|
||||
<cmis:propertyId cmis:name="parentId">
|
||||
<cmis:value>folderid1</cmis:value>
|
||||
</cmis:propertyId>
|
||||
<cmis:propertyString cmis:name="objectType">
|
||||
<cmis:value>emailfolder</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">
|
||||
<cmis:value>folder</cmis:value>
|
||||
</cmis:propertyString>
|
||||
</cmis:properties>
|
||||
<!-- Optional Allowable actions -->
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
|
||||
<cmis:canGetProperties>true</cmis:canGetProperties>
|
||||
<cmis:canGetParents>true</cmis:canGetParents>
|
||||
<cmis:canGetDescendants>true</cmis:canGetDescendants>
|
||||
<cmis:canMove>true</cmis:canMove>
|
||||
<cmis:canAddPolicy>true</cmis:canAddPolicy>
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
<cmis:canGetChildren>true</cmis:canGetChildren>
|
||||
</cmis:allowableActions>
|
||||
</cmis:object>
|
||||
|
||||
|
||||
<atom:entry>
|
||||
<atom:author xml:base="http://tempuri.org" xml:lang="">
|
||||
@@ -119,18 +101,15 @@
|
||||
</atom:author>
|
||||
|
||||
<!-- atom:content -->
|
||||
<atom:content
|
||||
src="http://www.cmis.org/rep1/media/document-entry2">
|
||||
<atom:content src="http://www.cmis.org/rep1/media/document-entry2">
|
||||
</atom:content>
|
||||
|
||||
<!-- URI to document entry resource -->
|
||||
<atom:id>http://www.cmis.org/rep1/document-entry2</atom:id>
|
||||
|
||||
<!-- atom links -->
|
||||
<atom:link rel='self'
|
||||
href="http://www.cmis.org/rep1/document-entry2" />
|
||||
<atom:link rel="edit"
|
||||
href="http://www.cmis.org/rep1/document-entry2" />
|
||||
<atom:link rel='self' href="http://www.cmis.org/rep1/document-entry2" />
|
||||
<atom:link rel="edit" href="http://www.cmis.org/rep1/document-entry2" />
|
||||
<atom:link rel="edit-media"
|
||||
href="http://www.cmis.org/rep1/media/document-entry2" />
|
||||
<atom:link rel="enclosure"
|
||||
@@ -149,117 +128,100 @@
|
||||
href="http://www.cmis.org/rep1/document-entry2/latestversion" />
|
||||
<atom:link rel="cmis-relationships"
|
||||
href="http://www.cmis.org/rep1/document-entry2/relationships" />
|
||||
<atom:link rel="cmis-type"
|
||||
href="http://www.cmis.org/rep1/type/email" />
|
||||
<atom:link rel="cmis-type" href="http://www.cmis.org/rep1/type/email" />
|
||||
<atom:link rel="cmis-stream"
|
||||
href="http://www.cmis.org/rep1/media/document-entry2" />
|
||||
|
||||
<!-- createdDate -->
|
||||
<atom:published>2001-12-31T12:00:00</atom:published>
|
||||
|
||||
<atom:summary>
|
||||
<!-- auto-generated HTML table of properties -->
|
||||
</atom:summary>
|
||||
|
||||
<atom:title>Document Entry2 example</atom:title>
|
||||
|
||||
<!-- lastModifiedDate -->
|
||||
<atom:updated>2001-12-31T12:00:00</atom:updated>
|
||||
|
||||
<!-- Optional Allowable actions -->
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties>
|
||||
true
|
||||
</cmis:canUpdateProperties>
|
||||
<cmis:canGetProperties>true</cmis:canGetProperties>
|
||||
<cmis:canGetParents>true</cmis:canGetParents>
|
||||
<cmis:canMove>true</cmis:canMove>
|
||||
<cmis:canDeleteVersion>true</cmis:canDeleteVersion>
|
||||
<cmis:canDeleteContent>true</cmis:canDeleteContent>
|
||||
<cmis:canCheckout>true</cmis:canCheckout>
|
||||
<cmis:canCancelCheckout>true</cmis:canCancelCheckout>
|
||||
<cmis:canCheckin>true</cmis:canCheckin>
|
||||
<cmis:canSetContent>true</cmis:canSetContent>
|
||||
<cmis:canGetAllVersions>true</cmis:canGetAllVersions>
|
||||
<cmis:canAddToFolder>true</cmis:canAddToFolder>
|
||||
<cmis:canRemoveFromFolder>
|
||||
true
|
||||
</cmis:canRemoveFromFolder>
|
||||
<cmis:canViewContent>true</cmis:canViewContent>
|
||||
<cmis:canAddPolicy>true</cmis:canAddPolicy>
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
</cmis:allowableActions>
|
||||
|
||||
<cmis:properties>
|
||||
<cmis:propertyBoolean cmis:name="isCheckedOut">
|
||||
false
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isLatestVersion">
|
||||
true
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isMajorVersion">
|
||||
true
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean
|
||||
cmis:name="isLatestMajorVersion">
|
||||
true
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isImmutable">
|
||||
false
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean
|
||||
cmis:name="isVersionSeriesCheckedOut">
|
||||
false
|
||||
</cmis:propertyBoolean>
|
||||
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">
|
||||
2001-12-31T12:00:00
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">
|
||||
2001-12-31T12:00:00
|
||||
</cmis:propertyDateTime>
|
||||
|
||||
<cmis:propertyID cmis:name="objectId">
|
||||
docid2
|
||||
</cmis:propertyID>
|
||||
<cmis:propertyID
|
||||
cmis:name="versionSeriesCheckedOutID">
|
||||
</cmis:propertyID>
|
||||
|
||||
<cmis:propertyInteger cmis:name="contentStreamLength">
|
||||
70
|
||||
</cmis:propertyInteger>
|
||||
|
||||
<cmis:propertyString cmis:name="objectType">
|
||||
email
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">
|
||||
document
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString
|
||||
cmis:name="versionSeriesCheckedOutBy">
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="checkinComment">
|
||||
This is the initial checkin comment
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="versionLabel">
|
||||
1.0
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString
|
||||
cmis:name="contentStreamMimetype">
|
||||
text/plain
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamName">
|
||||
foo.txt
|
||||
</cmis:propertyString>
|
||||
|
||||
<cmis:propertyURI cmis:name="contentStreamURI">
|
||||
http://www.cmis.org/rep1/media/document-entry
|
||||
</cmis:propertyURI>
|
||||
|
||||
</cmis:properties>
|
||||
<cmis:object>
|
||||
<cmis:properties>
|
||||
<cmis:propertyBoolean cmis:name="isCheckedOut">
|
||||
<cmis:value>false</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isLatestVersion">
|
||||
<cmis:value>true</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isMajorVersion">
|
||||
<cmis:value>true</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isLatestMajorVersion">
|
||||
<cmis:value>true</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isImmutable">
|
||||
<cmis:value>false</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isVersionSeriesCheckedOut">
|
||||
<cmis:value>false</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">
|
||||
<cmis:value>2001-12-31T12:00:00</cmis:value>
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">
|
||||
<cmis:value>2001-12-31T12:00:00</cmis:value>
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyId cmis:name="objectId">
|
||||
<cmis:value>docid2</cmis:value>
|
||||
</cmis:propertyId>
|
||||
<cmis:propertyId cmis:name="versionSeriesCheckedOutID" />
|
||||
<cmis:propertyInteger cmis:name="contentStreamLength">
|
||||
<cmis:value>70</cmis:value>
|
||||
</cmis:propertyInteger>
|
||||
<cmis:propertyString cmis:name="objectType">
|
||||
<cmis:value>email</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">
|
||||
<cmis:value>document</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="versionSeriesCheckedOutBy" />
|
||||
<cmis:propertyString cmis:name="checkinComment">
|
||||
<cmis:value>This is the initial checkin comment</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="versionLabel">
|
||||
<cmis:value>1.0</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamMimetype">
|
||||
<cmis:value>text/plain</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamName">
|
||||
<cmis:value>foo.txt</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyUri cmis:name="contentStreamURI">
|
||||
<cmis:value>http://www.cmis.org/rep1/media/document-entry
|
||||
</cmis:value>
|
||||
</cmis:propertyUri>
|
||||
</cmis:properties>
|
||||
<!-- Optional Allowable actions -->
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties> true </cmis:canUpdateProperties>
|
||||
<cmis:canGetProperties>true</cmis:canGetProperties>
|
||||
<cmis:canGetParents>true</cmis:canGetParents>
|
||||
<cmis:canMove>true</cmis:canMove>
|
||||
<cmis:canDeleteVersion>true</cmis:canDeleteVersion>
|
||||
<cmis:canDeleteContent>true</cmis:canDeleteContent>
|
||||
<cmis:canCheckout>true</cmis:canCheckout>
|
||||
<cmis:canCancelCheckout>true</cmis:canCancelCheckout>
|
||||
<cmis:canCheckin>true</cmis:canCheckin>
|
||||
<cmis:canSetContent>true</cmis:canSetContent>
|
||||
<cmis:canGetAllVersions>true</cmis:canGetAllVersions>
|
||||
<cmis:canAddToFolder>true</cmis:canAddToFolder>
|
||||
<cmis:canRemoveFromFolder> true </cmis:canRemoveFromFolder>
|
||||
<cmis:canViewContent>true</cmis:canViewContent>
|
||||
<cmis:canAddPolicy>true</cmis:canAddPolicy>
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
</cmis:allowableActions>
|
||||
</cmis:object>
|
||||
<cmis:terminator />
|
||||
</atom:entry>
|
||||
<cmis:terminator />
|
||||
</atom:entry>
|
||||
|
||||
<!-- child doc -->
|
||||
@@ -269,18 +231,15 @@
|
||||
</atom:author>
|
||||
|
||||
<!-- atom:content -->
|
||||
<atom:content
|
||||
src="http://www.cmis.org/rep1/media/document-entry">
|
||||
<atom:content src="http://www.cmis.org/rep1/media/document-entry">
|
||||
</atom:content>
|
||||
|
||||
<!-- URI to document entry resource -->
|
||||
<atom:id>http://www.cmis.org/rep1/document-entry</atom:id>
|
||||
|
||||
<!-- atom links -->
|
||||
<atom:link rel='self'
|
||||
href="http://www.cmis.org/rep1/document-entry" />
|
||||
<atom:link rel="edit"
|
||||
href="http://www.cmis.org/rep1/document-entry" />
|
||||
<atom:link rel='self' href="http://www.cmis.org/rep1/document-entry" />
|
||||
<atom:link rel="edit" href="http://www.cmis.org/rep1/document-entry" />
|
||||
<atom:link rel="edit-media"
|
||||
href="http://www.cmis.org/rep1/media/document-entry" />
|
||||
<atom:link rel="enclosure"
|
||||
@@ -299,110 +258,82 @@
|
||||
href="http://www.cmis.org/rep1/document-entry/latestversion" />
|
||||
<atom:link rel="cmis-relationships"
|
||||
href="http://www.cmis.org/rep1/document-entry/relationships" />
|
||||
<atom:link rel="cmis-type"
|
||||
href="http://www.cmis.org/rep1/type/email" />
|
||||
<atom:link rel="cmis-type" href="http://www.cmis.org/rep1/type/email" />
|
||||
<atom:link rel="cmis-stream"
|
||||
href="http://www.cmis.org/rep1/media/document-entry" />
|
||||
|
||||
<!-- createdDate -->
|
||||
<atom:published>2001-12-31T12:00:00</atom:published>
|
||||
|
||||
<atom:summary>
|
||||
<!-- auto-generated HTML table of properties -->
|
||||
</atom:summary>
|
||||
|
||||
<atom:title>Document Entry example</atom:title>
|
||||
|
||||
<!-- lastModifiedDate -->
|
||||
<atom:updated>2001-12-31T12:00:00</atom:updated>
|
||||
|
||||
<!-- Optional Allowable actions -->
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
|
||||
<cmis:canGetProperties>true</cmis:canGetProperties>
|
||||
<cmis:canGetParents>true</cmis:canGetParents>
|
||||
<cmis:canMove>true</cmis:canMove>
|
||||
<cmis:canDeleteVersion>true</cmis:canDeleteVersion>
|
||||
<cmis:canDeleteContent>true</cmis:canDeleteContent>
|
||||
<cmis:canCheckout>true</cmis:canCheckout>
|
||||
<cmis:canCancelCheckout>true</cmis:canCancelCheckout>
|
||||
<cmis:canCheckin>true</cmis:canCheckin>
|
||||
<cmis:canSetContent>true</cmis:canSetContent>
|
||||
<cmis:canGetAllVersions>true</cmis:canGetAllVersions>
|
||||
<cmis:canAddToFolder>true</cmis:canAddToFolder>
|
||||
<cmis:canRemoveFromFolder>true</cmis:canRemoveFromFolder>
|
||||
<cmis:canViewContent>true</cmis:canViewContent>
|
||||
<cmis:canAddPolicy>true</cmis:canAddPolicy>
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
</cmis:allowableActions>
|
||||
|
||||
<cmis:properties>
|
||||
<cmis:propertyBoolean cmis:name="isCheckedOut">
|
||||
false
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isLatestVersion">
|
||||
true
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isMajorVersion">
|
||||
true
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isLatestMajorVersion">
|
||||
true
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isImmutable">
|
||||
false
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean
|
||||
cmis:name="isVersionSeriesCheckedOut">
|
||||
false
|
||||
</cmis:propertyBoolean>
|
||||
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">
|
||||
2001-12-31T12:00:00
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">
|
||||
2001-12-31T12:00:00
|
||||
</cmis:propertyDateTime>
|
||||
|
||||
<cmis:propertyID cmis:name="objectId">
|
||||
docid1
|
||||
</cmis:propertyID>
|
||||
<cmis:propertyID cmis:name="versionSeriesCheckedOutID"></cmis:propertyID>
|
||||
|
||||
<cmis:propertyInteger cmis:name="contentStreamLength">
|
||||
70
|
||||
</cmis:propertyInteger>
|
||||
|
||||
<cmis:propertyString cmis:name="objectType">
|
||||
email
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">
|
||||
document
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString
|
||||
cmis:name="versionSeriesCheckedOutBy">
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="checkinComment">
|
||||
This is the initial checkin comment
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="versionLabel">
|
||||
1.0
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamMimetype">
|
||||
text/plain
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamName">
|
||||
foo.txt
|
||||
</cmis:propertyString>
|
||||
|
||||
<cmis:propertyURI cmis:name="contentStreamURI">
|
||||
http://www.cmis.org/rep1/media/document-entry
|
||||
</cmis:propertyURI>
|
||||
</cmis:properties>
|
||||
<cmis:object>
|
||||
<cmis:properties>
|
||||
<cmis:propertyBoolean cmis:name="isCheckedOut">
|
||||
<cmis:value>false</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isLatestVersion">
|
||||
<cmis:value>true</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isMajorVersion">
|
||||
<cmis:value>true</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isLatestMajorVersion">
|
||||
<cmis:value>true</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isImmutable">
|
||||
<cmis:value>false</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyBoolean cmis:name="isVersionSeriesCheckedOut">
|
||||
<cmis:value>false</cmis:value>
|
||||
</cmis:propertyBoolean>
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">
|
||||
<cmis:value>2001-12-31T12:00:00</cmis:value>
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">
|
||||
<cmis:value>2001-12-31T12:00:00</cmis:value>
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyId cmis:name="objectId">
|
||||
<cmis:value>docid1</cmis:value>
|
||||
</cmis:propertyId>
|
||||
<cmis:propertyId cmis:name="versionSeriesCheckedOutID"></cmis:propertyId>
|
||||
<cmis:propertyInteger cmis:name="contentStreamLength">
|
||||
<cmis:value>70</cmis:value>
|
||||
</cmis:propertyInteger>
|
||||
<cmis:propertyString cmis:name="objectType">
|
||||
<cmis:value>email</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">
|
||||
<cmis:value>document</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="versionSeriesCheckedOutBy">
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="checkinComment">
|
||||
<cmis:value>This is the initial checkin comment</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="versionLabel">
|
||||
<cmis:value>1.0</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamMimetype">
|
||||
<cmis:value>text/plain</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="contentStreamName">
|
||||
<cmis:value>foo.txt</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyUri cmis:name="contentStreamURI">
|
||||
<cmis:value>http://www.cmis.org/rep1/media/document-entry
|
||||
</cmis:value>
|
||||
</cmis:propertyUri>
|
||||
</cmis:properties>
|
||||
</cmis:object>
|
||||
<cmis:terminator />
|
||||
</atom:entry>
|
||||
|
||||
|
||||
<!-- notification of more items -->
|
||||
<cmis:hasMoreItems>true</cmis:hasMoreItems>
|
||||
</atom:feed>
|
||||
</atom:feed>
|
@@ -1,13 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<atom:entry xml:base="http://tempuri.org" xml:lang="en-US"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom"
|
||||
xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS-REST.xsd ">
|
||||
|
||||
|
||||
xsi:schemaLocation="http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS.xsd ">
|
||||
<atom:author xml:base="http://tempuri.org" xml:lang="">
|
||||
<atom:name>Al Brown</atom:name>
|
||||
</atom:author>
|
||||
@@ -24,50 +20,52 @@
|
||||
|
||||
<!-- atom links -->
|
||||
<atom:link rel='self' href="http://www.cmis.org/rep1/folder-entry" />
|
||||
<atom:link rel="edit"
|
||||
href="http://www.cmis.org/rep1/folder-entry" />
|
||||
<atom:link rel="edit" href="http://www.cmis.org/rep1/folder-entry" />
|
||||
|
||||
<!-- CMIS Links -->
|
||||
<atom:link rel="cmis-parent"
|
||||
href="http://www.cmis.org/rep1/folder-entry/parent" />
|
||||
<atom:link rel="cmis-parent" href="http://www.cmis.org/rep1/folder-entry/parent" />
|
||||
<atom:link rel="cmis-allowableactions"
|
||||
href="http://www.cmis.org/rep1/folder-entry/actions" />
|
||||
<atom:link rel="cmis-relationships"
|
||||
href="http://www.cmis.org/rep1/folder-entry/relationships" />
|
||||
<atom:link rel="cmis-type"
|
||||
href="http://www.cmis.org/rep1/type/emailfolder" />
|
||||
<atom:link rel="cmis-type" href="http://www.cmis.org/rep1/type/emailfolder" />
|
||||
|
||||
<!-- createdDate -->
|
||||
<atom:published>2001-12-31T12:00:00</atom:published>
|
||||
|
||||
<atom:title>Folder Entry example</atom:title>
|
||||
|
||||
<!-- lastModifiedDate -->
|
||||
<atom:updated>2001-12-31T12:00:00</atom:updated>
|
||||
|
||||
<!-- Optional Allowable actions -->
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
|
||||
<cmis:canGetProperties>true</cmis:canGetProperties>
|
||||
<cmis:canGetParents>true</cmis:canGetParents>
|
||||
<cmis:canGetDescendants>true</cmis:canGetDescendants>
|
||||
<cmis:canMove>true</cmis:canMove>
|
||||
<cmis:canAddPolicy>true</cmis:canAddPolicy>
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
<cmis:canGetChildren>true</cmis:canGetChildren>
|
||||
</cmis:allowableActions>
|
||||
<cmis:object>
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">
|
||||
<cmis:value>2001-12-31T12:00:00</cmis:value>
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">
|
||||
<cmis:value>2001-12-31T12:00:00</cmis:value>
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyId cmis:name="objectId"><cmis:value>folderid1</cmis:value></cmis:propertyId>
|
||||
<cmis:propertyId cmis:name="parentId"><cmis:value>parentFolderId1</cmis:value></cmis:propertyId>
|
||||
<cmis:propertyString cmis:name="objectType">
|
||||
<cmis:value>emailfolder</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">
|
||||
<cmis:value>folder</cmis:value>
|
||||
</cmis:propertyString>
|
||||
</cmis:properties>
|
||||
<!-- Optional Allowable actions -->
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
|
||||
<cmis:canGetProperties>true</cmis:canGetProperties>
|
||||
<cmis:canGetParents>true</cmis:canGetParents>
|
||||
<cmis:canGetDescendants>true</cmis:canGetDescendants>
|
||||
<cmis:canMove>true</cmis:canMove>
|
||||
<cmis:canAddPolicy>true</cmis:canAddPolicy>
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
<cmis:canGetChildren>true</cmis:canGetChildren>
|
||||
</cmis:allowableActions>
|
||||
</cmis:object>
|
||||
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">2001-12-31T12:00:00</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">2001-12-31T12:00:00</cmis:propertyDateTime>
|
||||
|
||||
<cmis:propertyID cmis:name="objectId">folderid1</cmis:propertyID>
|
||||
<cmis:propertyID cmis:name="parentId">parentFolderId1</cmis:propertyID>
|
||||
|
||||
<cmis:propertyString cmis:name="objectType">emailfolder</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">folder</cmis:propertyString>
|
||||
</cmis:properties>
|
||||
|
||||
|
||||
</atom:entry>
|
||||
<cmis:terminator />
|
||||
</atom:entry>
|
@@ -1,12 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<atom:entry xml:base="http://tempuri.org" xml:lang="en-US"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom"
|
||||
xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS-REST.xsd ">
|
||||
|
||||
xsi:schemaLocation="http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS.xsd ">
|
||||
<atom:author xml:base="http://tempuri.org" xml:lang="">
|
||||
<atom:name>Al Brown</atom:name>
|
||||
</atom:author>
|
||||
@@ -21,46 +18,48 @@
|
||||
<atom:id>http://www.cmis.org/rep1/policy-entry</atom:id>
|
||||
|
||||
<!-- atom links -->
|
||||
<atom:link rel='self'
|
||||
href="http://www.cmis.org/rep1/policy-entry" />
|
||||
<atom:link rel="edit"
|
||||
href="http://www.cmis.org/rep1/v-entry" />
|
||||
<atom:link rel='self' href="http://www.cmis.org/rep1/policy-entry" />
|
||||
<atom:link rel="edit" href="http://www.cmis.org/rep1/v-entry" />
|
||||
|
||||
<!-- CMIS Links -->
|
||||
<atom:link rel="cmis-allowableactions"
|
||||
href="http://www.cmis.org/rep1/policy-entry/actions" />
|
||||
<atom:link rel="cmis-type"
|
||||
href="http://www.cmis.org/rep1/type/securitypolicy" />
|
||||
<atom:link rel="cmis-source"
|
||||
href="http://www.cmis.org/rep1/policy-entry/source" />
|
||||
<atom:link rel="cmis-target"
|
||||
href="http://www.cmis.org/rep1/policy-entry/target" />
|
||||
<atom:link rel="cmis-type" href="http://www.cmis.org/rep1/type/securitypolicy" />
|
||||
<atom:link rel="cmis-source" href="http://www.cmis.org/rep1/policy-entry/source" />
|
||||
<atom:link rel="cmis-target" href="http://www.cmis.org/rep1/policy-entry/target" />
|
||||
|
||||
<!-- createdDate -->
|
||||
<atom:published>2001-12-31T12:00:00</atom:published>
|
||||
|
||||
<atom:title>Policy Entry example</atom:title>
|
||||
|
||||
<!-- lastModifiedDate -->
|
||||
<atom:updated>2001-12-31T12:00:00</atom:updated>
|
||||
|
||||
<cmis:object>
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">
|
||||
<cmis:value>2001-12-31T12:00:00</cmis:value>
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">
|
||||
<cmis:value>2001-12-31T12:00:00</cmis:value>
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyId cmis:name="objectId">
|
||||
<cmis:value>policyid1</cmis:value>
|
||||
</cmis:propertyId>
|
||||
<cmis:propertyString cmis:name="objectType">
|
||||
<cmis:value>security policy</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">
|
||||
<cmis:value>policy</cmis:value>
|
||||
</cmis:propertyString>
|
||||
</cmis:properties>
|
||||
<!-- Optional Allowable actions -->
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
|
||||
<cmis:canGetProperties>true</cmis:canGetProperties>
|
||||
<cmis:canAddPolicy>true</cmis:canAddPolicy>
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
</cmis:allowableActions>
|
||||
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">2001-12-31T12:00:00</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">2001-12-31T12:00:00</cmis:propertyDateTime>
|
||||
|
||||
<cmis:propertyID cmis:name="objectId">policyid1</cmis:propertyID>
|
||||
|
||||
<cmis:propertyString cmis:name="objectType">security policy</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">policy</cmis:propertyString>
|
||||
</cmis:properties>
|
||||
|
||||
</atom:entry>
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
|
||||
<cmis:canGetProperties>true</cmis:canGetProperties>
|
||||
<cmis:canAddPolicy>true</cmis:canAddPolicy>
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
</cmis:allowableActions>
|
||||
</cmis:object>
|
||||
<cmis:terminator />
|
||||
</atom:entry>
|
@@ -2,10 +2,10 @@
|
||||
<cmis:query xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:p="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.cmis.org/2008/05 CMIS-REST.xsd ">
|
||||
xsi:schemaLocation="http://www.cmis.org/2008/05 CMIS.xsd ">
|
||||
<cmis:statement>SELECT * FROM document</cmis:statement>
|
||||
<cmis:searchAllVersions>true</cmis:searchAllVersions>
|
||||
<cmis:pageSize>0</cmis:pageSize>
|
||||
<cmis:skipCount>0</cmis:skipCount>
|
||||
<cmis:returnAllowableActions>false</cmis:returnAllowableActions>
|
||||
</cmis:query>
|
||||
</cmis:query>
|
@@ -1,12 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<atom:entry xml:base="http://tempuri.org" xml:lang="en-US"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom"
|
||||
xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom" xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS-REST.xsd ">
|
||||
|
||||
xsi:schemaLocation="http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS.xsd ">
|
||||
<atom:author xml:base="http://tempuri.org" xml:lang="">
|
||||
<atom:name>Al Brown</atom:name>
|
||||
</atom:author>
|
||||
@@ -21,16 +18,13 @@
|
||||
<atom:id>http://www.cmis.org/rep1/relationship-entry</atom:id>
|
||||
|
||||
<!-- atom links -->
|
||||
<atom:link rel='self'
|
||||
href="http://www.cmis.org/rep1/relationship-entry" />
|
||||
<atom:link rel="edit"
|
||||
href="http://www.cmis.org/rep1/relationship-entry" />
|
||||
<atom:link rel='self' href="http://www.cmis.org/rep1/relationship-entry" />
|
||||
<atom:link rel="edit" href="http://www.cmis.org/rep1/relationship-entry" />
|
||||
|
||||
<!-- CMIS Links -->
|
||||
<atom:link rel="cmis-allowableactions"
|
||||
href="http://www.cmis.org/rep1/relationship-entry/actions" />
|
||||
<atom:link rel="cmis-type"
|
||||
href="http://www.cmis.org/rep1/type/emaillink" />
|
||||
<atom:link rel="cmis-type" href="http://www.cmis.org/rep1/type/emaillink" />
|
||||
<atom:link rel="cmis-source"
|
||||
href="http://www.cmis.org/rep1/relationship-entry/source" />
|
||||
<atom:link rel="cmis-target"
|
||||
@@ -38,30 +32,43 @@
|
||||
|
||||
<!-- createdDate -->
|
||||
<atom:published>2001-12-31T12:00:00</atom:published>
|
||||
|
||||
<atom:title>Relationship Entry example</atom:title>
|
||||
|
||||
<!-- lastModifiedDate -->
|
||||
<atom:updated>2001-12-31T12:00:00</atom:updated>
|
||||
|
||||
<!-- Optional Allowable actions -->
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
|
||||
<cmis:canGetProperties>true</cmis:canGetProperties>
|
||||
<cmis:canAddPolicy>true</cmis:canAddPolicy>
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
</cmis:allowableActions>
|
||||
<cmis:object>
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">
|
||||
<cmis:value>2001-12-31T12:00:00</cmis:value>
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">
|
||||
<cmis:value>2001-12-31T12:00:00</cmis:value>
|
||||
</cmis:propertyDateTime>
|
||||
<cmis:propertyId cmis:name="objectId">
|
||||
<cmis:value>relid1</cmis:value>
|
||||
</cmis:propertyId>
|
||||
<cmis:propertyId cmis:name="source">
|
||||
<cmis:value>docid1</cmis:value>
|
||||
</cmis:propertyId>
|
||||
<cmis:propertyId cmis:name="target">
|
||||
<cmis:value>docid2</cmis:value>
|
||||
</cmis:propertyId>
|
||||
<cmis:propertyString cmis:name="objectType">
|
||||
<cmis:value>emaillink</cmis:value>
|
||||
</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">
|
||||
<cmis:value>relationship</cmis:value>
|
||||
</cmis:propertyString>
|
||||
</cmis:properties>
|
||||
<!-- Optional Allowable actions -->
|
||||
<cmis:allowableActions>
|
||||
<cmis:canDelete>true</cmis:canDelete>
|
||||
<cmis:canUpdateProperties>true</cmis:canUpdateProperties>
|
||||
<cmis:canGetProperties>true</cmis:canGetProperties>
|
||||
<cmis:canAddPolicy>true</cmis:canAddPolicy>
|
||||
<cmis:canRemovePolicy>true</cmis:canRemovePolicy>
|
||||
</cmis:allowableActions>
|
||||
</cmis:object>
|
||||
|
||||
<cmis:properties>
|
||||
<cmis:propertyDateTime cmis:name="lastModifiedBy">2001-12-31T12:00:00</cmis:propertyDateTime>
|
||||
<cmis:propertyDateTime cmis:name="creationDate">2001-12-31T12:00:00</cmis:propertyDateTime>
|
||||
|
||||
<cmis:propertyID cmis:name="objectId">relid1</cmis:propertyID>
|
||||
<cmis:propertyID cmis:name="source">docid1</cmis:propertyID>
|
||||
<cmis:propertyID cmis:name="target">docid2</cmis:propertyID>
|
||||
|
||||
<cmis:propertyString cmis:name="objectType">emaillink</cmis:propertyString>
|
||||
<cmis:propertyString cmis:name="baseType">relationship</cmis:propertyString>
|
||||
</cmis:properties>
|
||||
</atom:entry>
|
||||
<cmis:terminator />
|
||||
</atom:entry>
|
@@ -1,45 +1,56 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<app:service xmlns:app="http://www.w3.org/2007/app"
|
||||
xmlns:atom="http://www.w3.org/2005/Atom"
|
||||
xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:cmisother="http://www.cmis-vendor.org/2008/05"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace"
|
||||
xsi:schemaLocation="http://www.w3.org/2007/app APP.xsd http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS-REST.xsd ">
|
||||
xsi:schemaLocation="http://www.w3.org/2007/app APP.xsd http://www.w3.org/2005/Atom ATOM4CMIS.xsd http://www.cmis.org/2008/05 CMIS.xsd ">
|
||||
<app:workspace cmis:repositoryRelationship="self">
|
||||
<atom:title>Repository 1</atom:title>
|
||||
<cmis:repositoryInfo>
|
||||
<cmis:repositoryId>repid1</cmis:repositoryId>
|
||||
<cmis:repositoryName>repository1</cmis:repositoryName>
|
||||
<cmis:repositoryRelationship>Self</cmis:repositoryRelationship>
|
||||
<cmis:repositoryDescription>Repository Description</cmis:repositoryDescription>
|
||||
<cmis:vendorName>ACME Vendor</cmis:vendorName>
|
||||
<cmis:productName>ACME Repository</cmis:productName>
|
||||
<cmis:productVersion>ACME Version 99.01</cmis:productVersion>
|
||||
<cmis:rootFolderId>rootFolderId</cmis:rootFolderId>
|
||||
<cmis:capabilities>
|
||||
<cmis:capabilityMultifiling>true</cmis:capabilityMultifiling>
|
||||
<cmis:capabilityUnfiling>true</cmis:capabilityUnfiling>
|
||||
<cmis:capabilityVersionSpecificFiling>true</cmis:capabilityVersionSpecificFiling>
|
||||
<cmis:capabilityPWCUpdateable>true</cmis:capabilityPWCUpdateable>
|
||||
<cmis:capabilityPWCSearchable>true</cmis:capabilityPWCSearchable>
|
||||
<cmis:capabilityAllVersionsSearchable>true</cmis:capabilityAllVersionsSearchable>
|
||||
<cmis:capabilityJoin>innerAndOuter</cmis:capabilityJoin>
|
||||
<cmis:capabilityQuery>fulltextonly</cmis:capabilityQuery>
|
||||
<cmis:capabilityJoin>innerandouter</cmis:capabilityJoin>
|
||||
<cmis:capabilityFullText>fulltextandstructured</cmis:capabilityFullText>
|
||||
</cmis:capabilities>
|
||||
<cmis:cmisVersionsSupported>0.43</cmis:cmisVersionsSupported>
|
||||
<cmis:repositorySpecificInformation>Welcome to ACME 99</cmis:repositorySpecificInformation>
|
||||
<cmis:repositorySpecificInformation><cmisother:Local>Local Message in vendor specific schema</cmisother:Local></cmis:repositorySpecificInformation>
|
||||
</cmis:repositoryInfo>
|
||||
<app:collection cmis:collectionType="unfiled" href="http://www.cmis.org/rep1/unfiled">
|
||||
<atom:title>unfiled collection</atom:title>
|
||||
</app:collection>
|
||||
<app:collection cmis:collectionType="root" href="http://www.cmis.org/rep1/root">
|
||||
<app:collection cmis:collectionType="root-children" href="http://www.cmis.org/rep1/root">
|
||||
<atom:title>root collection</atom:title>
|
||||
</app:collection>
|
||||
<app:collection cmis:collectionType="root-descendants" href="http://www.cmis.org/rep1/root-descendants">
|
||||
<atom:title>root collection</atom:title>
|
||||
</app:collection>
|
||||
<app:collection cmis:collectionType="checkedout" href="http://www.cmis.org/rep1/checkedout">
|
||||
<atom:title>checkedout collection</atom:title>
|
||||
</app:collection>
|
||||
<app:collection cmis:collectionType="types" href="http://www.cmis.org/rep1/types">
|
||||
<app:collection cmis:collectionType="types-children" href="http://www.cmis.org/rep1/types">
|
||||
<atom:title>type collection</atom:title>
|
||||
</app:collection>
|
||||
<app:collection cmis:collectionType="types-descendants" href="http://www.cmis.org/rep1/types-descendants">
|
||||
<atom:title>type collection</atom:title>
|
||||
</app:collection>
|
||||
<app:collection cmis:collectionType="query" href="http://www.cmis.org/rep1/query">
|
||||
<atom:title>type collection</atom:title>
|
||||
</app:collection>
|
||||
</app:workspace>
|
||||
</app:service>
|
||||
</app:service>
|
@@ -1,43 +1,68 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<cmis:type xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.cmis.org/2008/05 CMIS-REST.xsd ">
|
||||
<cmis:objectId>documentTypeId</cmis:objectId>
|
||||
<cmis:baseType>document</cmis:baseType>
|
||||
<cmis:lastModifiedBy>2001-12-31T12:00:00</cmis:lastModifiedBy>
|
||||
<cmis:creationDate>2001-12-31T12:00:00</cmis:creationDate>
|
||||
<cmis:queryName>document</cmis:queryName>
|
||||
<cmis:displayName>document</cmis:displayName>
|
||||
<cmis:baseTypeQueryName>document</cmis:baseTypeQueryName>
|
||||
<cmis:parentId></cmis:parentId>
|
||||
<cmis:description>The document type</cmis:description>
|
||||
<cmis:isCreatable>true</cmis:isCreatable>
|
||||
<cmis:isFileable>true</cmis:isFileable>
|
||||
<cmis:isQueryable>true</cmis:isQueryable>
|
||||
<cmis:isControllable>true</cmis:isControllable>
|
||||
<cmis:isVersionable>true</cmis:isVersionable>
|
||||
<cmis:contentStreamAllowed>allowed</cmis:contentStreamAllowed>
|
||||
<atom:entry xmlns:cmis="http://www.cmis.org/2008/05"
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xml="http://www.w3.org/XML/1998/namespace"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:atom="http://www.w3.org/2005/Atom"
|
||||
xsi:schemaLocation="http://www.cmis.org/2008/05 CMIS.xsd http://www.w3.org/2005/Atom ATOM4CMIS.xsd">
|
||||
|
||||
<atom:author><atom:name>System</atom:name></atom:author>
|
||||
<atom:content>Document Type</atom:content>
|
||||
|
||||
<atom:id>http://www.cmis.org/id1</atom:id>
|
||||
<atom:title>document</atom:title>
|
||||
<atom:updated>2001-12-31T12:00:00</atom:updated>
|
||||
|
||||
<cmis:documentType>
|
||||
<cmis:typeId>documentTypeId</cmis:typeId>
|
||||
<cmis:queryName>document</cmis:queryName>
|
||||
<cmis:displayName>document</cmis:displayName>
|
||||
|
||||
<cmis:baseType>document</cmis:baseType>
|
||||
<cmis:baseTypeQueryName>document</cmis:baseTypeQueryName>
|
||||
|
||||
<cmis:parentId></cmis:parentId>
|
||||
<cmis:description>The document type</cmis:description>
|
||||
|
||||
<cmis:creatable>true</cmis:creatable>
|
||||
<cmis:fileable>true</cmis:fileable>
|
||||
<cmis:queryable>true</cmis:queryable>
|
||||
<cmis:controllable>true</cmis:controllable>
|
||||
<cmis:includedInSupertypeQuery>true</cmis:includedInSupertypeQuery>
|
||||
|
||||
<!-- optional property definitions -->
|
||||
<cmis:property cmis:id="foo1">
|
||||
<cmis:propertyName>foo1</cmis:propertyName>
|
||||
<cmis:propertyId>propIdForFoo1</cmis:propertyId>
|
||||
<cmis:displayName>foo1</cmis:displayName>
|
||||
<cmis:description>Description of foo1</cmis:description>
|
||||
<cmis:isInherited>false</cmis:isInherited>
|
||||
<cmis:propertyType>String</cmis:propertyType>
|
||||
<cmis:cardinality>Single</cmis:cardinality>
|
||||
<cmis:maxLength>64</cmis:maxLength>
|
||||
<cmis:choices index="1">cmis:choices</cmis:choices>
|
||||
<cmis:isOpenChoice>true</cmis:isOpenChoice>
|
||||
<cmis:isRequired>true</cmis:isRequired>
|
||||
<cmis:defaultValue>cmis:defaultValue</cmis:defaultValue>
|
||||
<cmis:updateability>ro</cmis:updateability>
|
||||
<cmis:isQueryable>true</cmis:isQueryable>
|
||||
<cmis:isOrderable>true</cmis:isOrderable>
|
||||
</cmis:property>
|
||||
<!-- optional property definitions -->
|
||||
<cmis:propertyStringDefinition>
|
||||
<cmis:name>foo1</cmis:name>
|
||||
<cmis:id>
|
||||
propIdForFoo1
|
||||
</cmis:id>
|
||||
<cmis:displayName>foo1</cmis:displayName>
|
||||
<cmis:description>Description of foo1</cmis:description>
|
||||
<cmis:propertyType>string</cmis:propertyType>
|
||||
<cmis:cardinality>single</cmis:cardinality>
|
||||
<cmis:updateability>readonly</cmis:updateability>
|
||||
|
||||
<cmis:inherited>false</cmis:inherited>
|
||||
<cmis:required>true</cmis:required>
|
||||
<cmis:queryable>true</cmis:queryable>
|
||||
<cmis:orderable>true</cmis:orderable>
|
||||
|
||||
<cmis:choiceString cmis:index="0"><cmis:value>foo1</cmis:value></cmis:choiceString>
|
||||
<cmis:choiceString cmis:index="1"><cmis:value>foo2</cmis:value></cmis:choiceString>
|
||||
|
||||
</cmis:type>
|
||||
<!-- is the choice open? -->
|
||||
<cmis:openChoice>true</cmis:openChoice>
|
||||
|
||||
<!-- default value for property -->
|
||||
<cmis:defaultValue cmis:index="0"><cmis:value>default value</cmis:value></cmis:defaultValue>
|
||||
|
||||
<!-- extra property definition for type -->
|
||||
<cmis:maxLength>1024</cmis:maxLength>
|
||||
</cmis:propertyStringDefinition>
|
||||
|
||||
<!-- for docs -->
|
||||
<cmis:versionable>true</cmis:versionable>
|
||||
<cmis:contentStreamAllowed>allowed</cmis:contentStreamAllowed>
|
||||
</cmis:documentType>
|
||||
|
||||
<!-- helps identify end of CMIS objects -->
|
||||
<cmis:terminator />
|
||||
</atom:entry>
|
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema version="1.0" xml:lang="en" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml" xmlns:xml="http://www.w3.org/XML/1998/namespace" elementFormDefault="qualified">
|
||||
<xs:schema version="1.0" xml:lang="en"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
targetNamespace="http://www.w3.org/1999/xhtml"
|
||||
xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:xml="http://www.w3.org/XML/1998/namespace"
|
||||
elementFormDefault="qualified">
|
||||
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
@@ -211,7 +216,7 @@
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[\-+]?(\d+|\d+(\.\d+)?%)"/>
|
||||
<xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
@@ -222,7 +227,7 @@
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[\-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*"/>
|
||||
<xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)|[1-9]?(\d+)?\*"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
@@ -257,7 +262,7 @@
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[\-+]?(\d+|\d+(\.\d+)?%)(,\s*[\-+]?(\d+|\d+(\.\d+)?%))*"/>
|
||||
<xs:pattern value="[-+]?(\d+|\d+(\.\d+)?%)(,\s*[-+]?(\d+|\d+(\.\d+)?%))*"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
|
@@ -1,145 +1,48 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
|
||||
<xsd:schema
|
||||
targetNamespace="http://www.w3.org/XML/1998/namespace"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xml:lang="en">
|
||||
<xsd:attribute name="lang">
|
||||
<xsd:simpleType>
|
||||
<xsd:union memberTypes="xsd:language">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:string">
|
||||
<xsd:enumeration value=""/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:union>
|
||||
</xsd:simpleType>
|
||||
</xsd:attribute>
|
||||
|
||||
<xs:annotation>
|
||||
<xs:documentation>
|
||||
See http://www.w3.org/XML/1998/namespace.html and
|
||||
http://www.w3.org/TR/REC-xml for information about this namespace.
|
||||
<xsd:attribute name="space">
|
||||
<xsd:simpleType>
|
||||
<xsd:restriction base="xsd:NCName">
|
||||
<xsd:enumeration value="default"/>
|
||||
<xsd:enumeration value="preserve"/>
|
||||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
</xsd:attribute>
|
||||
|
||||
This schema document describes the XML namespace, in a form
|
||||
suitable for import by other schema documents.
|
||||
|
||||
Note that local names in this namespace are intended to be defined
|
||||
only by the World Wide Web Consortium or its subgroups. The
|
||||
following names are currently defined in this namespace and should
|
||||
not be used with conflicting semantics by any Working Group,
|
||||
specification, or document instance:
|
||||
|
||||
base (as an attribute name): denotes an attribute whose value
|
||||
provides a URI to be used as the base for interpreting any
|
||||
relative URIs in the scope of the element on which it
|
||||
appears; its value is inherited. This name is reserved
|
||||
by virtue of its definition in the XML Base specification.
|
||||
|
||||
id (as an attribute name): denotes an attribute whose value
|
||||
should be interpreted as if declared to be of type ID.
|
||||
This name is reserved by virtue of its definition in the
|
||||
xml:id specification.
|
||||
|
||||
lang (as an attribute name): denotes an attribute whose value
|
||||
is a language code for the natural language of the content of
|
||||
any element; its value is inherited. This name is reserved
|
||||
by virtue of its definition in the XML specification.
|
||||
|
||||
space (as an attribute name): denotes an attribute whose
|
||||
value is a keyword indicating what whitespace processing
|
||||
discipline is intended for the content of the element; its
|
||||
value is inherited. This name is reserved by virtue of its
|
||||
definition in the XML specification.
|
||||
|
||||
Father (in any context at all): denotes Jon Bosak, the chair of
|
||||
the original XML Working Group. This name is reserved by
|
||||
the following decision of the W3C XML Plenary and
|
||||
XML Coordination groups:
|
||||
|
||||
In appreciation for his vision, leadership and dedication
|
||||
the W3C XML Plenary on this 10th day of February, 2000
|
||||
reserves for Jon Bosak in perpetuity the XML name
|
||||
xml:Father
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
|
||||
<xs:annotation>
|
||||
<xs:documentation>This schema defines attributes and an attribute group
|
||||
suitable for use by
|
||||
schemas wishing to allow xml:base, xml:lang, xml:space or xml:id
|
||||
attributes on elements they define.
|
||||
|
||||
To enable this, such a schema must import this schema
|
||||
for the XML namespace, e.g. as follows:
|
||||
<schema . . .>
|
||||
. . .
|
||||
<import namespace="http://www.w3.org/XML/1998/namespace"
|
||||
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
|
||||
|
||||
Subsequently, qualified reference to any of the attributes
|
||||
or the group defined below will have the desired effect, e.g.
|
||||
|
||||
<type . . .>
|
||||
. . .
|
||||
<attributeGroup ref="xml:specialAttrs"/>
|
||||
<xsd:attribute name="base" type="xsd:anyURI">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>See http://www.w3.org/TR/xmlbase/ for
|
||||
information about this attribute.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
|
||||
will define a type which will schema-validate an instance
|
||||
element with any of those attributes</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xsd:attribute name="id" type="xsd:ID">
|
||||
<xsd:annotation>
|
||||
<xsd:documentation>See http://www.w3.org/TR/xml-id/ for
|
||||
information about this attribute.</xsd:documentation>
|
||||
</xsd:annotation>
|
||||
</xsd:attribute>
|
||||
|
||||
<xs:annotation>
|
||||
<xs:documentation>In keeping with the XML Schema WG's standard versioning
|
||||
policy, this schema document will persist at
|
||||
http://www.w3.org/2007/08/xml.xsd.
|
||||
At the date of issue it can also be found at
|
||||
http://www.w3.org/2001/xml.xsd.
|
||||
The schema document at that URI may however change in the future,
|
||||
in order to remain compatible with the latest version of XML Schema
|
||||
itself, or with the XML namespace itself. In other words, if the XML
|
||||
Schema or XML namespaces change, the version of this document at
|
||||
http://www.w3.org/2001/xml.xsd will change
|
||||
accordingly; the version at
|
||||
http://www.w3.org/2007/08/xml.xsd will not change.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xsd:attributeGroup name="specialAttrs">
|
||||
<xsd:attribute ref="xml:base"/>
|
||||
<xsd:attribute ref="xml:lang"/>
|
||||
<xsd:attribute ref="xml:space"/>
|
||||
<xsd:attribute ref="xml:id"/>
|
||||
</xsd:attributeGroup>
|
||||
|
||||
<xs:attribute name="lang">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Attempting to install the relevant ISO 2- and 3-letter
|
||||
codes as the enumerated possible values is probably never
|
||||
going to be a realistic possibility. See
|
||||
RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
|
||||
at http://www.iana.org/assignments/lang-tag-apps.htm for
|
||||
further information.
|
||||
|
||||
The union allows for the 'un-declaration' of xml:lang with
|
||||
the empty string.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:union memberTypes="xs:language">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value=""/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:union>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="space">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:NCName">
|
||||
<xs:enumeration value="default"/>
|
||||
<xs:enumeration value="preserve"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="base" type="xs:anyURI">
|
||||
<xs:annotation>
|
||||
<xs:documentation>See http://www.w3.org/TR/xmlbase/ for
|
||||
information about this attribute.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attribute name="id" type="xs:ID">
|
||||
<xs:annotation>
|
||||
<xs:documentation>See http://www.w3.org/TR/xml-id/ for
|
||||
information about this attribute.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:attribute>
|
||||
|
||||
<xs:attributeGroup name="specialAttrs">
|
||||
<xs:attribute ref="xml:base"/>
|
||||
<xs:attribute ref="xml:lang"/>
|
||||
<xs:attribute ref="xml:space"/>
|
||||
<xs:attribute ref="xml:id"/>
|
||||
</xs:attributeGroup>
|
||||
|
||||
</xs:schema>
|
||||
</xsd:schema>
|
@@ -36,7 +36,6 @@ import javax.xml.datatype.XMLGregorianCalendar;
|
||||
import org.alfresco.cmis.CMISService;
|
||||
import org.alfresco.cmis.dictionary.CMISDictionaryService;
|
||||
import org.alfresco.cmis.dictionary.CMISMapping;
|
||||
import org.alfresco.cmis.property.CMISPropertyNameMapping;
|
||||
import org.alfresco.cmis.property.CMISPropertyService;
|
||||
import org.alfresco.cmis.search.CMISQueryService;
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
@@ -108,7 +107,7 @@ public class DMAbstractServicePort
|
||||
if (filter.allow(name) && value != null)
|
||||
{
|
||||
PropertyBooleanType propBoolean = new PropertyBooleanType();
|
||||
propBoolean.setName(CMISPropertyNameMapping.getWebServiceName(name));
|
||||
propBoolean.setName(name);
|
||||
propBoolean.setValue((Boolean) value);
|
||||
properties.getPropertyBoolean().add(propBoolean);
|
||||
}
|
||||
@@ -120,7 +119,7 @@ public class DMAbstractServicePort
|
||||
if (filter.allow(name) && value != null)
|
||||
{
|
||||
PropertyDateTimeType propDateTime = new PropertyDateTimeType();
|
||||
propDateTime.setName(CMISPropertyNameMapping.getWebServiceName(name));
|
||||
propDateTime.setName(name);
|
||||
propDateTime.setValue(convert((Date) value));
|
||||
properties.getPropertyDateTime().add(propDateTime);
|
||||
}
|
||||
@@ -132,7 +131,7 @@ public class DMAbstractServicePort
|
||||
if (filter.allow(name) && value != null)
|
||||
{
|
||||
PropertyIDType propID = new PropertyIDType();
|
||||
propID.setName(CMISPropertyNameMapping.getWebServiceName(name));
|
||||
propID.setName(name);
|
||||
propID.setValue(value.toString());
|
||||
properties.getPropertyID().add(propID);
|
||||
}
|
||||
@@ -144,7 +143,7 @@ public class DMAbstractServicePort
|
||||
if (filter.allow(name) && value != null)
|
||||
{
|
||||
PropertyIntegerType propInteger = new PropertyIntegerType();
|
||||
propInteger.setName(CMISPropertyNameMapping.getWebServiceName(name));
|
||||
propInteger.setName(name);
|
||||
propInteger.setValue(BigInteger.valueOf((Long) value));
|
||||
properties.getPropertyInteger().add(propInteger);
|
||||
}
|
||||
@@ -156,7 +155,7 @@ public class DMAbstractServicePort
|
||||
if (filter.allow(name) && value != null)
|
||||
{
|
||||
PropertyStringType propString = new PropertyStringType();
|
||||
propString.setName(CMISPropertyNameMapping.getWebServiceName(name));
|
||||
propString.setName(name);
|
||||
propString.setValue(value.toString());
|
||||
properties.getPropertyString().add(propString);
|
||||
}
|
||||
@@ -179,7 +178,7 @@ public class DMAbstractServicePort
|
||||
if (filter.allow(name) && value != null)
|
||||
{
|
||||
PropertyURIType propString = new PropertyURIType();
|
||||
propString.setName(CMISPropertyNameMapping.getWebServiceName(name));
|
||||
propString.setName(name);
|
||||
propString.setValue(value.toString());
|
||||
properties.getPropertyURI().add(propString);
|
||||
}
|
||||
@@ -205,7 +204,7 @@ public class DMAbstractServicePort
|
||||
addBooleanProperty(properties, filter, CMISMapping.PROP_IS_LATEST_VERSION, nodeRef);
|
||||
addBooleanProperty(properties, filter, CMISMapping.PROP_IS_MAJOR_VERSION, nodeRef);
|
||||
addBooleanProperty(properties, filter, CMISMapping.PROP_IS_LATEST_MAJOR_VERSION, nodeRef);
|
||||
addBooleanProperty(properties, filter, CMISMapping.PROP_VERSION_SERIES_IS_CHECKED_OUT, nodeRef);
|
||||
addBooleanProperty(properties, filter, CMISMapping.PROP_IS_VERSION_SERIES_CHECKED_OUT, nodeRef);
|
||||
addDateTimeProperty(properties, filter, CMISMapping.PROP_CREATION_DATE, nodeRef);
|
||||
addDateTimeProperty(properties, filter, CMISMapping.PROP_LAST_MODIFICATION_DATE, nodeRef);
|
||||
addIDProperty(properties, filter, CMISMapping.PROP_OBJECT_ID, nodeRef);
|
||||
@@ -229,7 +228,7 @@ public class DMAbstractServicePort
|
||||
addDateTimeProperty(properties, filter, CMISMapping.PROP_CREATION_DATE, nodeRef);
|
||||
addDateTimeProperty(properties, filter, CMISMapping.PROP_LAST_MODIFICATION_DATE, nodeRef);
|
||||
addIDProperty(properties, filter, CMISMapping.PROP_OBJECT_ID, nodeRef);
|
||||
addIDProperty(properties, filter, CMISMapping.PROP_PARENT, nodeRef);
|
||||
addIDProperty(properties, filter, CMISMapping.PROP_PARENT_ID, nodeRef);
|
||||
addStringProperty(properties, filter, CMISMapping.PROP_NAME, nodeRef);
|
||||
addStringProperty(properties, filter, "baseType", "folder");
|
||||
addIDProperty(properties, filter, CMISMapping.PROP_OBJECT_TYPE_ID, nodeRef);
|
||||
|
@@ -27,7 +27,7 @@ package org.alfresco.repo.cmis.ws;
|
||||
import java.math.BigInteger;
|
||||
import java.util.List;
|
||||
|
||||
import org.alfresco.cmis.CMISService.TypesFilter;
|
||||
import org.alfresco.cmis.CMISTypesFilterEnum;
|
||||
import org.alfresco.cmis.dictionary.CMISMapping;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
|
||||
@@ -75,15 +75,15 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na
|
||||
switch (parameters.getType())
|
||||
{
|
||||
case DOCUMENTS:
|
||||
listing = cmisService.getChildren(folderNodeRef, TypesFilter.Documents);
|
||||
listing = cmisService.getChildren(folderNodeRef, CMISTypesFilterEnum.DOCUMENTS);
|
||||
break;
|
||||
case FOLDERS:
|
||||
listing = cmisService.getChildren(folderNodeRef, TypesFilter.Folders);
|
||||
listing = cmisService.getChildren(folderNodeRef, CMISTypesFilterEnum.FOLDERS);
|
||||
break;
|
||||
case POLICIES:
|
||||
throw new OperationNotSupportedException("Policies listing isn't supported", ExceptionUtils.createBasicFault(null, "Policies listing isn't supported"));
|
||||
case ANY:
|
||||
listing = cmisService.getChildren(folderNodeRef, TypesFilter.Any);
|
||||
listing = cmisService.getChildren(folderNodeRef, CMISTypesFilterEnum.ANY);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@@ -31,15 +31,15 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.alfresco.cmis.dictionary.CMISCardinality;
|
||||
import org.alfresco.cmis.CMISCardinalityEnum;
|
||||
import org.alfresco.cmis.CMISContentStreamAllowedEnum;
|
||||
import org.alfresco.cmis.CMISFullTextSearchEnum;
|
||||
import org.alfresco.cmis.CMISJoinEnum;
|
||||
import org.alfresco.cmis.CMISPropertyTypeEnum;
|
||||
import org.alfresco.cmis.CMISUpdatabilityEnum;
|
||||
import org.alfresco.cmis.dictionary.CMISPropertyDefinition;
|
||||
import org.alfresco.cmis.dictionary.CMISPropertyType;
|
||||
import org.alfresco.cmis.dictionary.CMISTypeDefinition;
|
||||
import org.alfresco.cmis.dictionary.CMISTypeId;
|
||||
import org.alfresco.cmis.dictionary.CMISUpdatability;
|
||||
import org.alfresco.cmis.dictionary.ContentStreamAllowed;
|
||||
import org.alfresco.cmis.search.FullTextSearchSupport;
|
||||
import org.alfresco.cmis.search.JoinSupport;
|
||||
import org.alfresco.service.descriptor.Descriptor;
|
||||
|
||||
/**
|
||||
@@ -51,49 +51,49 @@ import org.alfresco.service.descriptor.Descriptor;
|
||||
@javax.jws.WebService(name = "RepositoryServicePort", serviceName = "RepositoryService", portName = "RepositoryServicePort", targetNamespace = "http://www.cmis.org/ns/1.0", endpointInterface = "org.alfresco.repo.cmis.ws.RepositoryServicePort")
|
||||
public class DMRepositoryServicePort extends DMAbstractServicePort implements RepositoryServicePort
|
||||
{
|
||||
private static Map<FullTextSearchSupport, FulltextEnum> fulltextEnumMapping;
|
||||
private static Map<JoinSupport, JoinEnum> joinEnumMapping;
|
||||
private static Map<ContentStreamAllowed, ContentStreamAllowedEnum> contentStreamAllowedEnumMapping;
|
||||
private static Map<CMISUpdatability, UpdatabilityEnum> updatabilityEnumMapping;
|
||||
private static Map<CMISCardinality, CardinalityEnum> cardinalityEnumMapping;
|
||||
private static Map<CMISPropertyType, PropertyTypeEnum> propertyTypeEnumMapping;
|
||||
private static Map<CMISFullTextSearchEnum, FulltextEnum> fulltextEnumMapping;
|
||||
private static Map<CMISJoinEnum, JoinEnum> joinEnumMapping;
|
||||
private static Map<CMISContentStreamAllowedEnum, ContentStreamAllowedEnum> contentStreamAllowedEnumMapping;
|
||||
private static Map<CMISUpdatabilityEnum, UpdatabilityEnum> updatabilityEnumMapping;
|
||||
private static Map<CMISCardinalityEnum, CardinalityEnum> cardinalityEnumMapping;
|
||||
private static Map<CMISPropertyTypeEnum, PropertyTypeEnum> propertyTypeEnumMapping;
|
||||
|
||||
static
|
||||
{
|
||||
fulltextEnumMapping = new HashMap<FullTextSearchSupport, FulltextEnum>();
|
||||
fulltextEnumMapping.put(FullTextSearchSupport.NO_FULL_TEXT, FulltextEnum.NO_FULLTEXT);
|
||||
fulltextEnumMapping.put(FullTextSearchSupport.FULL_TEXT_ONLY, FulltextEnum.FULLTEXT_ONLY);
|
||||
fulltextEnumMapping.put(FullTextSearchSupport.FULL_TEXT_AND_STRUCTURED, FulltextEnum.FULLTEXT_AND_STRUCTURED);
|
||||
fulltextEnumMapping = new HashMap<CMISFullTextSearchEnum, FulltextEnum>();
|
||||
fulltextEnumMapping.put(CMISFullTextSearchEnum.NO_FULL_TEXT, FulltextEnum.NO_FULLTEXT);
|
||||
fulltextEnumMapping.put(CMISFullTextSearchEnum.FULL_TEXT_ONLY, FulltextEnum.FULLTEXT_ONLY);
|
||||
fulltextEnumMapping.put(CMISFullTextSearchEnum.FULL_TEXT_AND_STRUCTURED, FulltextEnum.FULLTEXT_AND_STRUCTURED);
|
||||
|
||||
joinEnumMapping = new HashMap<JoinSupport, JoinEnum>();
|
||||
joinEnumMapping.put(JoinSupport.INNER_AND_OUTER_JOIN_SUPPORT, JoinEnum.INNER_AND_OUTER);
|
||||
joinEnumMapping.put(JoinSupport.INNER_JOIN_SUPPORT, JoinEnum.INNER_ONLY);
|
||||
joinEnumMapping.put(JoinSupport.NO_JOIN_SUPPORT, JoinEnum.NO_JOIN);
|
||||
joinEnumMapping = new HashMap<CMISJoinEnum, JoinEnum>();
|
||||
joinEnumMapping.put(CMISJoinEnum.INNER_AND_OUTER_JOIN_SUPPORT, JoinEnum.INNER_AND_OUTER);
|
||||
joinEnumMapping.put(CMISJoinEnum.INNER_JOIN_SUPPORT, JoinEnum.INNER_ONLY);
|
||||
joinEnumMapping.put(CMISJoinEnum.NO_JOIN_SUPPORT, JoinEnum.NO_JOIN);
|
||||
|
||||
contentStreamAllowedEnumMapping = new HashMap<ContentStreamAllowed, ContentStreamAllowedEnum>();
|
||||
contentStreamAllowedEnumMapping.put(ContentStreamAllowed.ALLOWED, ContentStreamAllowedEnum.ALLOWED);
|
||||
contentStreamAllowedEnumMapping.put(ContentStreamAllowed.NOT_ALLOWED, ContentStreamAllowedEnum.NOT_ALLOWED);
|
||||
contentStreamAllowedEnumMapping.put(ContentStreamAllowed.REQUIRED, ContentStreamAllowedEnum.REQUIRED);
|
||||
contentStreamAllowedEnumMapping = new HashMap<CMISContentStreamAllowedEnum, ContentStreamAllowedEnum>();
|
||||
contentStreamAllowedEnumMapping.put(CMISContentStreamAllowedEnum.ALLOWED, ContentStreamAllowedEnum.ALLOWED);
|
||||
contentStreamAllowedEnumMapping.put(CMISContentStreamAllowedEnum.NOT_ALLOWED, ContentStreamAllowedEnum.NOT_ALLOWED);
|
||||
contentStreamAllowedEnumMapping.put(CMISContentStreamAllowedEnum.REQUIRED, ContentStreamAllowedEnum.REQUIRED);
|
||||
|
||||
updatabilityEnumMapping = new HashMap<CMISUpdatability, UpdatabilityEnum>();
|
||||
updatabilityEnumMapping.put(CMISUpdatability.READ_AND_WRITE, UpdatabilityEnum.READ_WRITE);
|
||||
updatabilityEnumMapping.put(CMISUpdatability.READ_AND_WRITE_WHEN_CHECKED_OUT, UpdatabilityEnum.READ_WRITE_WHEN_CHECKED_OUT);
|
||||
updatabilityEnumMapping.put(CMISUpdatability.READ_ONLY, UpdatabilityEnum.READ_ONLY);
|
||||
updatabilityEnumMapping = new HashMap<CMISUpdatabilityEnum, UpdatabilityEnum>();
|
||||
updatabilityEnumMapping.put(CMISUpdatabilityEnum.READ_AND_WRITE, UpdatabilityEnum.READ_WRITE);
|
||||
updatabilityEnumMapping.put(CMISUpdatabilityEnum.READ_AND_WRITE_WHEN_CHECKED_OUT, UpdatabilityEnum.READ_WRITE_WHEN_CHECKED_OUT);
|
||||
updatabilityEnumMapping.put(CMISUpdatabilityEnum.READ_ONLY, UpdatabilityEnum.READ_ONLY);
|
||||
|
||||
cardinalityEnumMapping = new HashMap<CMISCardinality, CardinalityEnum>();
|
||||
cardinalityEnumMapping.put(CMISCardinality.MULTI_VALUED, CardinalityEnum.MULTI_VALUED);
|
||||
cardinalityEnumMapping.put(CMISCardinality.SINGLE_VALUED, CardinalityEnum.SINGLE_VALUED);
|
||||
cardinalityEnumMapping = new HashMap<CMISCardinalityEnum, CardinalityEnum>();
|
||||
cardinalityEnumMapping.put(CMISCardinalityEnum.MULTI_VALUED, CardinalityEnum.MULTI_VALUED);
|
||||
cardinalityEnumMapping.put(CMISCardinalityEnum.SINGLE_VALUED, CardinalityEnum.SINGLE_VALUED);
|
||||
|
||||
propertyTypeEnumMapping = new HashMap<CMISPropertyType, PropertyTypeEnum>();
|
||||
propertyTypeEnumMapping.put(CMISPropertyType.Boolean, PropertyTypeEnum.BOOLEAN);
|
||||
propertyTypeEnumMapping.put(CMISPropertyType.DateTime, PropertyTypeEnum.DATE_TIME);
|
||||
propertyTypeEnumMapping.put(CMISPropertyType.Decimal, PropertyTypeEnum.DECIMAL);
|
||||
propertyTypeEnumMapping.put(CMISPropertyType.HTML, PropertyTypeEnum.HTML);
|
||||
propertyTypeEnumMapping.put(CMISPropertyType.ID, PropertyTypeEnum.ID);
|
||||
propertyTypeEnumMapping.put(CMISPropertyType.Integer, PropertyTypeEnum.INTEGER);
|
||||
propertyTypeEnumMapping.put(CMISPropertyType.String, PropertyTypeEnum.STRING);
|
||||
propertyTypeEnumMapping.put(CMISPropertyType.URI, PropertyTypeEnum.URI);
|
||||
propertyTypeEnumMapping.put(CMISPropertyType.XML, PropertyTypeEnum.XML);
|
||||
propertyTypeEnumMapping = new HashMap<CMISPropertyTypeEnum, PropertyTypeEnum>();
|
||||
propertyTypeEnumMapping.put(CMISPropertyTypeEnum.BOOLEAN, PropertyTypeEnum.BOOLEAN);
|
||||
propertyTypeEnumMapping.put(CMISPropertyTypeEnum.DATETIME, PropertyTypeEnum.DATE_TIME);
|
||||
propertyTypeEnumMapping.put(CMISPropertyTypeEnum.DECIMAL, PropertyTypeEnum.DECIMAL);
|
||||
propertyTypeEnumMapping.put(CMISPropertyTypeEnum.HTML, PropertyTypeEnum.HTML);
|
||||
propertyTypeEnumMapping.put(CMISPropertyTypeEnum.ID, PropertyTypeEnum.ID);
|
||||
propertyTypeEnumMapping.put(CMISPropertyTypeEnum.INTEGER, PropertyTypeEnum.INTEGER);
|
||||
propertyTypeEnumMapping.put(CMISPropertyTypeEnum.STRING, PropertyTypeEnum.STRING);
|
||||
propertyTypeEnumMapping.put(CMISPropertyTypeEnum.URI, PropertyTypeEnum.URI);
|
||||
propertyTypeEnumMapping.put(CMISPropertyTypeEnum.XML, PropertyTypeEnum.XML);
|
||||
}
|
||||
|
||||
public List<RepositoryType> getRepositories() throws RuntimeException, InvalidArgumentException, OperationNotSupportedException, UpdateConflictException,
|
||||
@@ -102,7 +102,6 @@ public class DMRepositoryServicePort extends DMAbstractServicePort implements Re
|
||||
RepositoryType repositoryType = new RepositoryType();
|
||||
Descriptor serverDescriptor = descriptorService.getCurrentRepositoryDescriptor();
|
||||
repositoryType.setRepositoryID(serverDescriptor.getId());
|
||||
System.out.println("**** ID: " + serverDescriptor.getId());
|
||||
repositoryType.setRepositoryName(serverDescriptor.getName());
|
||||
return Collections.singletonList(repositoryType);
|
||||
}
|
||||
|
@@ -25,10 +25,15 @@
|
||||
package org.alfresco.repo.web.scripts;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.PrintStream;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.util.Map;
|
||||
|
||||
import junit.framework.AssertionFailedError;
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestCase;
|
||||
import junit.framework.TestListener;
|
||||
import junit.textui.ResultPrinter;
|
||||
|
||||
import org.alfresco.error.AlfrescoRuntimeException;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||
@@ -47,8 +52,6 @@ import org.apache.commons.httpclient.methods.GetMethod;
|
||||
import org.apache.commons.httpclient.methods.PostMethod;
|
||||
import org.apache.commons.httpclient.methods.PutMethod;
|
||||
import org.apache.commons.httpclient.params.HttpClientParams;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
/**
|
||||
* Base unit test class for web scripts.
|
||||
@@ -57,14 +60,111 @@ import org.apache.commons.logging.LogFactory;
|
||||
*/
|
||||
public abstract class BaseWebScriptTest extends TestCase
|
||||
{
|
||||
// Logger
|
||||
private static final Log logger = LogFactory.getLog(BaseWebScriptTest.class);
|
||||
// Test Listener
|
||||
private WebScriptTestListener listener = null;
|
||||
private boolean traceReqRes = false;
|
||||
|
||||
/** Local / Remote Server access */
|
||||
private String defaultRunAs = null;
|
||||
private RemoteServer remoteServer = null;
|
||||
private HttpClient httpClient = null;
|
||||
|
||||
|
||||
/**
|
||||
* Web Script Test Listener
|
||||
*/
|
||||
public static interface WebScriptTestListener extends TestListener
|
||||
{
|
||||
public void addLog(Test test, String log);
|
||||
}
|
||||
|
||||
/**
|
||||
* Default Test Listener
|
||||
*/
|
||||
public static class BaseWebScriptTestListener extends ResultPrinter implements WebScriptTestListener
|
||||
{
|
||||
/**
|
||||
* Construct
|
||||
*
|
||||
* @param writer
|
||||
*/
|
||||
public BaseWebScriptTestListener(PrintStream writer)
|
||||
{
|
||||
super(writer);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see junit.textui.ResultPrinter#addError(junit.framework.Test, java.lang.Throwable)
|
||||
*/
|
||||
@Override
|
||||
public void addError(Test test, Throwable t)
|
||||
{
|
||||
getWriter().println("*** Error: " + ((BaseWebScriptTest)test).getName());
|
||||
t.printStackTrace(getWriter());
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see junit.textui.ResultPrinter#addFailure(junit.framework.Test, junit.framework.AssertionFailedError)
|
||||
*/
|
||||
@Override
|
||||
public void addFailure(Test test, AssertionFailedError t)
|
||||
{
|
||||
getWriter().println("*** Failed: " + ((BaseWebScriptTest)test).getName());
|
||||
t.printStackTrace(getWriter());
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see junit.textui.ResultPrinter#endTest(junit.framework.Test)
|
||||
*/
|
||||
@Override
|
||||
public void endTest(Test test)
|
||||
{
|
||||
getWriter().println();
|
||||
getWriter().println("*** Test completed: " + ((BaseWebScriptTest)test).getName());
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see junit.textui.ResultPrinter#startTest(junit.framework.Test)
|
||||
*/
|
||||
@Override
|
||||
public void startTest(Test test)
|
||||
{
|
||||
getWriter().println();
|
||||
getWriter().println("*** Test started: " + ((BaseWebScriptTest)test).getName() + " (remote: " + (((BaseWebScriptTest)test).getRemoteServer() != null));
|
||||
}
|
||||
|
||||
/**
|
||||
* Add an arbitrary log statement
|
||||
*
|
||||
* @param test
|
||||
* @param log
|
||||
*/
|
||||
public void addLog(Test test, String log)
|
||||
{
|
||||
this.getWriter().println(log);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets Test Listener
|
||||
*
|
||||
* @param resultPrinter
|
||||
*/
|
||||
public void setListener(WebScriptTestListener listener)
|
||||
{
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets whether to trace request / response bodies
|
||||
*
|
||||
* @param traceReqRes
|
||||
*/
|
||||
public void setTraceReqRes(boolean traceReqRes)
|
||||
{
|
||||
this.traceReqRes = traceReqRes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Remote Server context
|
||||
*
|
||||
@@ -74,6 +174,16 @@ public abstract class BaseWebScriptTest extends TestCase
|
||||
{
|
||||
remoteServer = server;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets Remote Server
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public RemoteServer getRemoteServer()
|
||||
{
|
||||
return remoteServer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Local Run As User
|
||||
@@ -97,7 +207,6 @@ public abstract class BaseWebScriptTest extends TestCase
|
||||
httpClient.getState().setCredentials(new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT), new UsernamePasswordCredentials(remoteServer.username, remoteServer.password));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/** Test web script server */
|
||||
private static TestWebScriptServer server = null;
|
||||
@@ -111,6 +220,28 @@ public abstract class BaseWebScriptTest extends TestCase
|
||||
return BaseWebScriptTest.server;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is Log Enabled?
|
||||
*
|
||||
* @return true => enabled
|
||||
*/
|
||||
protected boolean isLogEnabled()
|
||||
{
|
||||
return listener != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Log Message to Test Listener
|
||||
*
|
||||
* @param log
|
||||
*/
|
||||
protected void log(String log)
|
||||
{
|
||||
if (listener != null)
|
||||
{
|
||||
listener.addLog(this, log);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Send Request to Test Web Script Server (as admin)
|
||||
@@ -138,8 +269,11 @@ public abstract class BaseWebScriptTest extends TestCase
|
||||
protected Response sendRequest(Request req, int expectedStatus, String asUser)
|
||||
throws IOException
|
||||
{
|
||||
if (logger.isInfoEnabled())
|
||||
logger.info("Request: " + req.getMethod() + " " + req.getFullUri() + (req.getBody() == null ? "" : "\n" + new String(req.getBody())));
|
||||
if (traceReqRes && isLogEnabled())
|
||||
{
|
||||
log("");
|
||||
log("* Request: " + req.getMethod() + " " + req.getFullUri() + (req.getBody() == null ? "" : "\n" + new String(req.getBody())));
|
||||
}
|
||||
|
||||
Response res = null;
|
||||
if (remoteServer == null)
|
||||
@@ -151,15 +285,14 @@ public abstract class BaseWebScriptTest extends TestCase
|
||||
res = sendRemoteRequest(req, expectedStatus);
|
||||
}
|
||||
|
||||
if (logger.isInfoEnabled())
|
||||
logger.info("Response: " + res.getStatus() + " " + req.getMethod() + " " + req.getFullUri() + "\n" + res.getContentAsString());
|
||||
if (traceReqRes && isLogEnabled())
|
||||
{
|
||||
log("");
|
||||
log("* Response: " + res.getStatus() + " " + req.getMethod() + " " + req.getFullUri() + "\n" + res.getContentAsString());
|
||||
}
|
||||
|
||||
if (expectedStatus > 0 && expectedStatus != res.getStatus())
|
||||
{
|
||||
// if (res.getStatus() == 500)
|
||||
// {
|
||||
// System.out.println(res.getContentAsString());
|
||||
// }
|
||||
fail("Status code " + res.getStatus() + " returned, but expected " + expectedStatus + " for " + req.getFullUri() + " (" + req.getMethod() + ")\n" + res.getContentAsString());
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user