Merged HEAD-QA to HEAD (4.2) (including moving test classes into separate folders)

51903 to 54309 


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@54310 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Samuel Langlois
2013-08-20 17:17:31 +00:00
parent 0a36e2af67
commit ab4ca7177f
1576 changed files with 36419 additions and 8603 deletions

View File

@@ -1,321 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- xsi:schemaLocation="http://www.alfresco.org/model/dictionary/1.0 ../../../../../../config/alfresco/model/modelSchema.xsd" -->
<model name="test:cmis-query-test" xmlns="http://www.alfresco.org/model/dictionary/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<description>Test model the cmis query tests</description>
<author>Alfresco</author>
<published>2010-01-22</published>
<version>0.1</version>
<imports>
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<import uri="http://www.alfresco.org/model/system/1.0" prefix="sys"/>
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
</imports>
<namespaces>
<namespace uri="http://www.alfresco.org/test/cmis-query-test" prefix="test"/>
</namespaces>
<types>
<type name="test:extendedContent">
<title>Extended Content</title>
<parent>cm:content</parent>
<includedInSuperTypeQuery>true</includedInSuperTypeQuery>
<properties>
<!-- d:text -> String -->
<property name="test:singleTextBoth">
<type>d:text</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>both</tokenised>
</index>
</property>
<property name="test:singleTextUntokenised">
<type>d:text</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>false</tokenised>
</index>
</property>
<property name="test:singleTextTokenised">
<type>d:text</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:multipleTextBoth">
<type>d:text</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>both</tokenised>
</index>
</property>
<property name="test:multipleTextUntokenised">
<type>d:text</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>false</tokenised>
</index>
</property>
<property name="test:multipleTextTokenised">
<type>d:text</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<!-- d:mltext -> String -->
<property name="test:singleMLTextBoth">
<type>d:mltext</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>both</tokenised>
</index>
</property>
<property name="test:singleMLTextUntokenised">
<type>d:mltext</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>false</tokenised>
</index>
</property>
<property name="test:singleMLTextTokenised">
<type>d:mltext</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:multipleMLTextBoth">
<type>d:mltext</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>both</tokenised>
</index>
</property>
<property name="test:multipleMLTextUntokenised">
<type>d:mltext</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>false</tokenised>
</index>
</property>
<property name="test:multipleMLTextTokenised">
<type>d:mltext</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<!-- d:float -> Decimal -->
<property name="test:singleFloat">
<type>d:float</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:multipleFloat">
<type>d:float</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<!-- d:double -> Decimal -->
<property name="test:singleDouble">
<type>d:double</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:multipleDouble">
<type>d:double</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<!-- d:int -> Integer -->
<property name="test:singleInteger">
<type>d:int</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:multipleInteger">
<type>d:int</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<!-- d:long -> Integer -->
<property name="test:singleLong">
<type>d:long</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:multipleLong">
<type>d:long</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<!-- d:boolean -> Boolean -->
<property name="test:singleBoolean">
<type>d:boolean</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:multipleBoolean">
<type>d:boolean</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<!-- d:date -> DateTime -->
<property name="test:singleDate">
<type>d:date</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<property name="test:multipleDate">
<type>d:date</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>true</tokenised>
</index>
</property>
<!-- d:datetime -> DateTime -->
<property name="test:singleDatetime">
<type>d:datetime</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>both</tokenised>
</index>
</property>
<property name="test:multipleDatetime">
<type>d:datetime</type>
<mandatory>false</mandatory>
<multiple>true</multiple>
<index enabled="true">
<atomic>true</atomic>
<tokenised>both</tokenised>
</index>
</property>
</properties>
</type>
<type name="test:extendedFolder">
<title>Extended Folder</title>
<parent>cm:folder</parent>
</type>
<type name="test:type-that-requires-encoding">
<title>Type that requires encoding</title>
<parent>cm:content</parent>
<includedInSuperTypeQuery>true</includedInSuperTypeQuery>
<properties>
<property name="test:property-that-requires-encoding">
<type>d:text</type>
<mandatory>false</mandatory>
<multiple>false</multiple>
<index enabled="true" >
<atomic>true</atomic>
<tokenised>both</tokenised>
</index>
</property>
</properties>
</type>
</types>
<aspects>
<aspect name="test:aspect-that-requires-encoding">
<title>Type that requires encoding</title>
<includedInSuperTypeQuery>true</includedInSuperTypeQuery>
</aspect>
</aspects>
</model>

View File

@@ -30,6 +30,8 @@ import org.alfresco.cmis.CMISPropertyDefinition;
import org.alfresco.cmis.CMISQueryException;
import org.alfresco.cmis.CMISScope;
import org.alfresco.cmis.CMISTypeDefinition;
import org.alfresco.opencmis.dictionary.PropertyDefinitionWrapper;
import org.alfresco.opencmis.dictionary.TypeDefinitionWrapper;
import org.alfresco.repo.search.impl.lucene.AbstractLuceneQueryParser;
import org.alfresco.repo.search.impl.lucene.LuceneFunction;
import org.alfresco.repo.search.impl.querymodel.FunctionArgument;
@@ -42,6 +44,8 @@ import org.alfresco.repo.search.impl.querymodel.impl.functions.Upper;
import org.alfresco.service.cmr.dictionary.DataTypeDefinition;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.namespace.QName;
import org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.search.Query;
@@ -454,5 +458,39 @@ public class CmisFunctionEvaluationContext implements FunctionEvaluationContext
}
return propDef.getCardinality() == CMISCardinalityEnum.MULTI_VALUED;
}
/* (non-Javadoc)
* @see org.alfresco.repo.search.impl.querymodel.FunctionEvaluationContext#getAlfrescoPropertyName(java.lang.String)
*/
@Override
public String getAlfrescoPropertyName(String propertyName)
{
CMISPropertyDefinition propertyDef = cmisDictionaryService.findProperty(propertyName, null);
if(propertyDef != null)
{
QName mapped = propertyDef.getPropertyAccessor().getMappedProperty();
if(mapped == null)
{
return propertyName;
}
else
{
return mapped.toString();
}
}
else
{
throw new CmisInvalidArgumentException("Unknown column/property " + propertyName);
}
}
/* (non-Javadoc)
* @see org.alfresco.repo.search.impl.querymodel.FunctionEvaluationContext#getAlfrescoTypeName(java.lang.String)
*/
@Override
public String getAlfrescoTypeName(String typeName)
{
throw new CMISQueryException("Unsupported");
}
}

File diff suppressed because it is too large Load Diff