mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
Merged HEAD-BUG-FIX (5.1/Cloud) to HEAD (5.0/Cloud)
86232: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0/Cloud) 86196: Merged DEV to V4.2-BUG-FIX (4.2.4) 84316: MNT-11784 The "not" keyword is no longer working in CMIS query. In CMISQueryParser.buildConjunction() was added check (getOccur() == Occur.EXCLUDE). 84522: MNT-11784 The "not" keyword is no longer working in CMIS query In OpenCmisQueryTest was added testNotKeyword() test. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@94529 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -75,7 +75,9 @@ import org.alfresco.repo.search.impl.querymodel.Order;
|
||||
import org.alfresco.repo.search.impl.querymodel.QueryModelException;
|
||||
import org.alfresco.repo.search.impl.querymodel.QueryOptions.Connective;
|
||||
import org.alfresco.repo.security.authentication.AuthenticationUtil;
|
||||
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
|
||||
import org.alfresco.service.cmr.model.FileInfo;
|
||||
import org.alfresco.service.cmr.repository.ContentData;
|
||||
import org.alfresco.service.cmr.repository.ContentWriter;
|
||||
import org.alfresco.service.cmr.repository.MLText;
|
||||
@@ -99,6 +101,7 @@ import org.apache.chemistry.opencmis.commons.enums.PropertyType;
|
||||
import org.apache.chemistry.opencmis.commons.exceptions.CmisBaseException;
|
||||
import org.junit.experimental.categories.Category;
|
||||
import org.springframework.extensions.surf.util.I18NUtil;
|
||||
import org.springframework.extensions.webscripts.GUID;
|
||||
|
||||
/**
|
||||
* @author andyh
|
||||
@@ -5724,6 +5727,53 @@ public class OpenCmisQueryTest extends BaseCMISTest
|
||||
testExtendedQuery("SELECT * FROM cm:ownable ", 1, false, "cmis:name", new String(), false);
|
||||
}
|
||||
|
||||
public void testNotKeyword() throws Exception
|
||||
{
|
||||
final String folderName = "testfolder" + GUID.generate();
|
||||
final String docName = "testdoc." + GUID.generate();
|
||||
final FileInfo fileInfo = transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<FileInfo>()
|
||||
{
|
||||
@Override
|
||||
public FileInfo execute() throws Throwable
|
||||
{
|
||||
FileInfo folderInfo = fileFolderService.create(base, folderName, ContentModel.TYPE_FOLDER);
|
||||
nodeService.setProperty(folderInfo.getNodeRef(), ContentModel.PROP_NAME, folderName);
|
||||
|
||||
FileInfo fileInfo = fileFolderService.create(folderInfo.getNodeRef(), docName, ContentModel.TYPE_CONTENT);
|
||||
nodeService.setProperty(fileInfo.getNodeRef(), ContentModel.PROP_NAME, docName);
|
||||
nodeService.addAspect(fileInfo.getNodeRef(), ContentModel.ASPECT_VERSIONABLE, null);
|
||||
|
||||
return fileInfo;
|
||||
}
|
||||
});
|
||||
|
||||
String query = "SELECT * FROM cmis:document WHERE NOT cmis:name = '" + docName + "'";
|
||||
CMISQueryOptions options = new CMISQueryOptions(query, rootNodeRef.getStoreRef());
|
||||
|
||||
CMISResultSet rs = cmisQueryService.query(options);
|
||||
|
||||
assertEquals(doc_count, rs.length());
|
||||
for (CMISResultSetRow row : rs)
|
||||
{
|
||||
Serializable sValue = row.getValue("cmis:name");
|
||||
assertFalse(sValue.equals(docName));
|
||||
}
|
||||
|
||||
query = "SELECT cmis:name FROM cmis:document WHERE cmis:name = '" + docName + "'";
|
||||
options = new CMISQueryOptions(query, rootNodeRef.getStoreRef());
|
||||
|
||||
rs = cmisQueryService.query(options);
|
||||
|
||||
assertEquals(1, rs.length());
|
||||
CMISResultSetRow row = rs.iterator().next();
|
||||
|
||||
Serializable sValue = row.getValue("cmis:name");
|
||||
assertTrue(sValue.equals(docName));
|
||||
|
||||
fileFolderService.delete(fileInfo.getNodeRef());
|
||||
|
||||
}
|
||||
|
||||
private void testOrderableProperty(String propertyQueryName)
|
||||
{
|
||||
testOrderBy("SELECT " + propertyQueryName + " FROM test:extendedContent ORDER BY " + propertyQueryName + " ASC", 13, false, Order.ASCENDING, CMISQueryMode.CMS_STRICT,
|
||||
|
Reference in New Issue
Block a user