Fix ALFCOM-2428: CMIS: REST/Atom: SQL query on Folders

- specific bug raised has been already fixed, but added new case to testQuery()
- fixed minor issue found by test
   - content stream link for folder no longer rendered

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13482 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
David Caruana
2009-03-05 12:10:38 +00:00
parent e82e2067ce
commit 028fd7b6a0
2 changed files with 35 additions and 9 deletions

View File

@@ -209,7 +209,14 @@
[#if row.nodes??] [#if row.nodes??]
[#assign node = row.nodes?first] [#assign node = row.nodes?first]
<author><name>${node.properties.creator!""}</name></author> <author><name>${node.properties.creator!""}</name></author>
[@contentstream node/]
[#-- TODO: review if consistent with ATOM --]
[#if node.isDocument]
[@contentstream node/]
[#else]
<content>${node.id}</content> [#-- TODO --]
[/#if]
<id>urn:uuid:${node.id}</id> <id>urn:uuid:${node.id}</id>
<link rel="self" href="${absurl(url.serviceContext)}/api/node/${node.nodeRef.storeRef.protocol}/${node.nodeRef.storeRef.identifier}/${node.nodeRef.id}"/> <link rel="self" href="${absurl(url.serviceContext)}/api/node/${node.nodeRef.storeRef.protocol}/${node.nodeRef.storeRef.identifier}/${node.nodeRef.id}"/>
<title>${node.name}</title> <title>${node.name}</title>
@@ -219,12 +226,10 @@
<cmis:properties> <cmis:properties>
[#-- TODO: spec issue: baseType to become formal property --] [#-- TODO: spec issue: baseType to become formal property --]
[#if node??] [#if node.isDocument]
[#if node.isDocument]
[@propvalue "BaseType" "document" "STRING"/] [@propvalue "BaseType" "document" "STRING"/]
[#else] [#else]
[@propvalue "BaseType" "folder" "STRING"/] [@propvalue "BaseType" "folder" "STRING"/]
[/#if]
[/#if] [/#if]
[#assign values = row.values] [#assign values = row.values]

View File

@@ -1249,6 +1249,27 @@ public class CMISTest extends BaseCMISWebScriptTest
// retrieve query request document // retrieve query request document
String queryDoc = loadString("/org/alfresco/repo/cmis/rest/test/query.cmisquery.xml"); String queryDoc = loadString("/org/alfresco/repo/cmis/rest/test/query.cmisquery.xml");
{
// construct structured query
String query = "SELECT * FROM Folder " +
"WHERE ObjectId = '" + testFolderObject.getObjectId().getValue() + "'";
String queryReq = queryDoc.replace("${STATEMENT}", query);
queryReq = queryReq.replace("${SKIPCOUNT}", "0");
queryReq = queryReq.replace("${PAGESIZE}", "5");
// issue structured query
Response queryRes = sendRequest(new PostRequest(queryHREF.toString(), queryReq.getBytes(), CMISConstants.MIMETYPE_QUERY), 200);
assertNotNull(queryRes);
Feed queryFeed = abdera.parseFeed(new StringReader(queryRes.getContentAsString()), null);
assertNotNull(queryFeed);
assertEquals(1, queryFeed.getEntries().size());
assertNotNull(queryFeed.getEntry(testFolder.getId().toString()));
CMISObject result1 = queryFeed.getEntry(testFolder.getId().toString()).getExtension(CMISConstants.OBJECT);
assertEquals(testFolderObject.getName().getValue(), result1.getName().getValue());
assertEquals(testFolderObject.getObjectId().getValue(), result1.getObjectId().getValue());
assertEquals(testFolderObject.getObjectTypeId().getValue(), result1.getObjectTypeId().getValue());
}
{ {
// construct structured query // construct structured query
String query = "SELECT * FROM Document " + String query = "SELECT * FROM Document " +