Refactor CMIS property accessors (value / lucene mappers).

- remove notion of generic property accessor; consolidated on named property accessor
- build property accessors at time of CMIS Dictionary creation (cached, removes continuous creation of small objects); hooked into CMIS Property Definition
- remove property service
- lookup of property accessor quicker and constrained to properties in CMIS Dictionary
- fixup fallout in CMIS AtomPub, Web Services and Query

CMIS AtomPub, Web Services and Query tests pass.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13806 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
David Caruana
2009-04-02 12:06:26 +00:00
parent f46c97873e
commit 0f33af5dc1
13 changed files with 43 additions and 68 deletions

View File

@@ -33,9 +33,8 @@ import org.alfresco.cmis.CMISQueryEnum;
import org.alfresco.cmis.CMISService;
import org.alfresco.cmis.CMISTypesFilterEnum;
import org.alfresco.cmis.dictionary.CMISDictionaryService;
import org.alfresco.cmis.dictionary.CMISPropertyDefinition;
import org.alfresco.cmis.dictionary.CMISTypeDefinition;
import org.alfresco.cmis.dictionary.CMISTypeId;
import org.alfresco.cmis.property.CMISPropertyService;
import org.alfresco.cmis.search.CMISQueryOptions;
import org.alfresco.cmis.search.CMISQueryService;
import org.alfresco.cmis.search.CMISResultSet;
@@ -63,7 +62,6 @@ public class CMISScript extends BaseScopableProcessorExtension
private Repository repository;
private CMISService cmisService;
private CMISDictionaryService cmisDictionaryService;
private CMISPropertyService cmisPropertyService;
private CMISQueryService cmisQueryService;
private Paging paging;
@@ -118,16 +116,6 @@ public class CMISScript extends BaseScopableProcessorExtension
this.cmisDictionaryService = cmisDictionaryService;
}
/**
* Set the CMIS Property Service
*
* @param cmisPropertyService
*/
public void setCMISPropertyService(CMISPropertyService cmisPropertyService)
{
this.cmisPropertyService = cmisPropertyService;
}
/**
* Set the CMIS Query Service
*
@@ -416,22 +404,16 @@ public class CMISScript extends BaseScopableProcessorExtension
}
}
//
// Property Support
//
/**
* Map CMIS Property name to Alfresco property name (only for direct 1 to 1 mappings)
* Query the Property Definition for the given Property
*
* @param propertyName CMIS property name
* @return Alfresco property name (or null, if there's no mapping)
* @param propertyName
* @return
*/
public QName mapPropertyName(String propertyName)
public CMISPropertyDefinition queryProperty(String propertyName)
{
return cmisPropertyService.mapPropertyName(propertyName);
return cmisDictionaryService.findProperty(propertyName, null);
}
//
// SQL Query