mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Build fix - remove tests that use meta-data query +multi-tenancy
- fix 3.4 CMIS api to use metadata query git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@55965 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -129,17 +129,6 @@ public class CMISServicesImpl implements CMISServices, ApplicationContextAware,
|
||||
{
|
||||
private static Log logger = LogFactory.getLog(CMISServicesImpl.class);
|
||||
|
||||
/** Query Parameters */
|
||||
private static final QName PARAM_PARENT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "parent");
|
||||
private static final QName PARAM_USERNAME = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "username");
|
||||
|
||||
private static final String LUCENE_QUERY_CHECKEDOUT =
|
||||
"+@cm\\:workingCopyOwner:${cm:username}";
|
||||
|
||||
private static final String LUCENE_QUERY_CHECKEDOUT_IN_FOLDER =
|
||||
"+@cm\\:workingCopyOwner:${cm:username} " +
|
||||
"+PARENT:\"${cm:parent}\"";
|
||||
|
||||
private static final int ASSOC_ID_PREFIX_LENGTH = ASSOC_ID_PREFIX.length();
|
||||
|
||||
private static final Pattern ORDER_BY_PATTERN = Pattern.compile("^([^\\s,\"'\\\\\\.\\(\\)]+)\\s+(ASC|DESC)$");
|
||||
@@ -508,57 +497,6 @@ public class CMISServicesImpl implements CMISServices, ApplicationContextAware,
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Lucene based getChildren - deactivated
|
||||
*/
|
||||
public NodeRef[] XgetChildren(NodeRef parent, CMISTypesFilterEnum typesFilter, String orderBy)
|
||||
throws CMISInvalidArgumentException
|
||||
{
|
||||
if (typesFilter == CMISTypesFilterEnum.POLICIES)
|
||||
{
|
||||
return new NodeRef[0];
|
||||
}
|
||||
SearchParameters params = new SearchParameters();
|
||||
params.setLanguage(SearchService.LANGUAGE_LUCENE);
|
||||
params.addStore(parent.getStoreRef());
|
||||
QueryParameterDefinition parentDef = new QueryParameterDefImpl(PARAM_PARENT, nodeRefDataType, true, parent.toString());
|
||||
params.addQueryParameterDefinition(parentDef);
|
||||
|
||||
// Build a query for the appropriate types
|
||||
StringBuilder query = new StringBuilder(1024).append("+PARENT:\"${cm:parent}\" -ASPECT:\"").append(
|
||||
ContentModel.ASPECT_WORKING_COPY).append("\" +TYPE:(");
|
||||
|
||||
// Include doc type if necessary
|
||||
if (typesFilter != CMISTypesFilterEnum.FOLDERS)
|
||||
{
|
||||
query.append('"').append(ContentModel.TYPE_CONTENT).append('"');
|
||||
}
|
||||
// Include folder type if necessary
|
||||
if (typesFilter != CMISTypesFilterEnum.DOCUMENTS)
|
||||
{
|
||||
if (typesFilter == CMISTypesFilterEnum.ANY)
|
||||
{
|
||||
query.append(" ");
|
||||
}
|
||||
query.append('"').append(ContentModel.TYPE_FOLDER).append('"');
|
||||
}
|
||||
// Always exclude system folders
|
||||
query.append(") -TYPE:\"").append(ContentModel.TYPE_SYSTEM_FOLDER).append("\"");
|
||||
params.setQuery(query.toString());
|
||||
parseOrderBy(orderBy, params);
|
||||
ResultSet resultSet = null;
|
||||
try
|
||||
{
|
||||
resultSet = searchService.query(params);
|
||||
List<NodeRef> results = resultSet.getNodeRefs();
|
||||
NodeRef[] nodeRefs = new NodeRef[results.size()];
|
||||
return results.toArray(nodeRefs);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (resultSet != null) resultSet.close();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public NodeRef[] getChildren(NodeRef folderNodeRef, CMISTypesFilterEnum typesFilter, String orderBy)
|
||||
@@ -702,15 +640,12 @@ public class CMISServicesImpl implements CMISServices, ApplicationContextAware,
|
||||
throws CMISInvalidArgumentException
|
||||
{
|
||||
SearchParameters params = new SearchParameters();
|
||||
params.setLanguage(SearchService.LANGUAGE_LUCENE);
|
||||
QueryParameterDefinition usernameDef = new QueryParameterDefImpl(PARAM_USERNAME, textDataType, true, username);
|
||||
params.addQueryParameterDefinition(usernameDef);
|
||||
params.setLanguage(SearchService.LANGUAGE_FTS_ALFRESCO);
|
||||
|
||||
if (folder == null)
|
||||
{
|
||||
// get all checked-out items
|
||||
params.setQuery(LUCENE_QUERY_CHECKEDOUT);
|
||||
params.addStore(getDefaultRootStoreRef());
|
||||
params.setQuery("+=cm:workingCopyOwner:\""+username+"\"");
|
||||
params.addStore(folder.getStoreRef());
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -719,16 +654,13 @@ public class CMISServicesImpl implements CMISServices, ApplicationContextAware,
|
||||
if (includeDescendants && nodeService.getRootNode(folder.getStoreRef()) == folder)
|
||||
{
|
||||
// get all checked-out items within specified folder store
|
||||
params.setQuery(LUCENE_QUERY_CHECKEDOUT);
|
||||
params.setQuery("+=cm:workingCopyOwner:\""+username+"\"");
|
||||
params.addStore(folder.getStoreRef());
|
||||
}
|
||||
else
|
||||
{
|
||||
// TODO: implement descendants of folder
|
||||
params.setQuery(LUCENE_QUERY_CHECKEDOUT_IN_FOLDER);
|
||||
params.setQuery("+=cm:workingCopyOwner:\""+username+"\" AND +=PARENT:\""+folder.toString()+"\"");
|
||||
params.addStore(folder.getStoreRef());
|
||||
QueryParameterDefinition parentDef = new QueryParameterDefImpl(PARAM_PARENT, nodeRefDataType, true, folder.toString());
|
||||
params.addQueryParameterDefinition(parentDef);
|
||||
}
|
||||
}
|
||||
parseOrderBy(orderBy, params);
|
||||
|
Reference in New Issue
Block a user