Cleanly split CMIS interfaces from CMIS implementation.

- org.alfresco.cmis => public interfaces
- org.alfresco.cmis.mapping / dictionary / search => implementation

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13808 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
David Caruana
2009-04-02 13:50:10 +00:00
parent af2b4f43c4
commit ee67b1f7de
64 changed files with 873 additions and 582 deletions

View File

@@ -9,6 +9,18 @@
</property> </property>
</bean> </bean>
<bean id="CMISService" class="org.alfresco.cmis.mapping.CMISServicesImpl">
<property name="CMISSpecVersion"><value>0.5</value></property>
<property name="defaultRootPath"><value>workspace/SpacesStore/Company Home</value></property>
<property name="dictionaryService" ref="dictionaryService" />
<property name="CMISDictionaryService" ref="CMISDictionaryService" />
<property name="searchService" ref="SearchService" />
<property name="transactionHelper" ref="retryingTransactionHelper" />
<property name="tenantAdminService" ref="tenantAdminService" />
<property name="nodeService" ref="NodeService" />
<property name="repository" ref="repositoryHelper" />
</bean>
<bean id="CMISDictionaryService" class="org.alfresco.cmis.dictionary.CMISStrictDictionaryService" > <bean id="CMISDictionaryService" class="org.alfresco.cmis.dictionary.CMISStrictDictionaryService" >
<property name="dictionaryService"> <property name="dictionaryService">
<ref bean="dictionaryService" /> <ref bean="dictionaryService" />
@@ -29,19 +41,7 @@
</property> </property>
</bean> </bean>
<bean id="CMISService" class="org.alfresco.cmis.CMISService"> <bean id="CMISQueryService" class="org.alfresco.cmis.search.CMISQueryServiceImpl" >
<property name="CMISSpecVersion"><value>0.5</value></property>
<property name="defaultRootPath"><value>workspace/SpacesStore/Company Home</value></property>
<property name="dictionaryService" ref="dictionaryService" />
<property name="CMISDictionaryService" ref="CMISDictionaryService" />
<property name="searchService" ref="SearchService" />
<property name="transactionHelper" ref="retryingTransactionHelper" />
<property name="tenantAdminService" ref="tenantAdminService" />
<property name="nodeService" ref="NodeService" />
<property name="repository" ref="repositoryHelper" />
</bean>
<bean id="CMISQueryService" class="org.alfresco.cmis.search.impl.CMISQueryServiceImpl" >
<property name="CMISDictionaryService"> <property name="CMISDictionaryService">
<ref bean="CMISDictionaryService" /> <ref bean="CMISDictionaryService" />
</property> </property>
@@ -49,14 +49,14 @@
<ref bean="CMISService" /> <ref bean="CMISService" />
</property> </property>
<property name="queryEngine"> <property name="queryEngine">
<ref bean="luceneQueryEngine" /> <ref bean="cmis.luceneQueryEngine" />
</property> </property>
<property name="nodeService"> <property name="nodeService">
<ref bean="nodeService" /> <ref bean="nodeService" />
</property> </property>
</bean> </bean>
<bean id="luceneQueryEngineImpl" class="org.alfresco.repo.search.impl.querymodel.impl.lucene.LuceneQueryEngine" > <bean id="cmis.luceneQueryEngineImpl" class="org.alfresco.repo.search.impl.querymodel.impl.lucene.LuceneQueryEngine" >
<property name="dictionaryService"> <property name="dictionaryService">
<ref bean="dictionaryService" /> <ref bean="dictionaryService" />
</property> </property>
@@ -74,21 +74,21 @@
</property> </property>
</bean> </bean>
<bean id="luceneQueryEngine" class="org.springframework.aop.framework.ProxyFactoryBean"> <bean id="cmis.luceneQueryEngine" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces"> <property name="proxyInterfaces">
<value>org.alfresco.repo.search.impl.querymodel.QueryEngine</value> <value>org.alfresco.repo.search.impl.querymodel.QueryEngine</value>
</property> </property>
<property name="target"> <property name="target">
<ref bean="luceneQueryEngineImpl"/> <ref bean="cmis.luceneQueryEngineImpl"/>
</property> </property>
<property name="interceptorNames"> <property name="interceptorNames">
<list> <list>
<idref bean="luceneQueryEngineSecurity"/> <idref bean="cmis.luceneQueryEngineSecurity"/>
</list> </list>
</property> </property>
</bean> </bean>
<bean id="luceneQueryEngineSecurity" class="net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor"> <bean id="cmis.luceneQueryEngineSecurity" class="net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor">
<property name="authenticationManager"><ref bean="authenticationManager"/></property> <property name="authenticationManager"><ref bean="authenticationManager"/></property>
<property name="accessDecisionManager"><ref bean="accessDecisionManager"/></property> <property name="accessDecisionManager"><ref bean="accessDecisionManager"/></property>
<property name="afterInvocationManager"><ref bean="afterInvocationManager"/></property> <property name="afterInvocationManager"><ref bean="afterInvocationManager"/></property>

View File

@@ -22,7 +22,7 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.dictionary; package org.alfresco.cmis;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;

View File

@@ -22,7 +22,7 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.dictionary; package org.alfresco.cmis;
import org.alfresco.cmis.mapping.CMISMapping; import org.alfresco.cmis.mapping.CMISMapping;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;

View File

@@ -22,11 +22,10 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.dictionary; package org.alfresco.cmis;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.CMISDataTypeEnum;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
/** /**

View File

@@ -22,7 +22,7 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis;
import java.io.Serializable; import java.io.Serializable;
@@ -30,11 +30,11 @@ import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
/** /**
* CMIS Property Accessor * CMIS Property Accessor (get and set property values)
* *
* @author davidc * @author davidc
*/ */
public interface PropertyAccessor public interface CMISPropertyAccessor
{ {
/** /**
* Get the CMIS Property Name * Get the CMIS Property Name

View File

@@ -0,0 +1,163 @@
/*
* Copyright (C) 2005-2007 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
package org.alfresco.cmis;
import java.util.Collection;
/**
* CMIS Property Definition
*
* @author andyh
*/
public interface CMISPropertyDefinition
{
/**
* Get Property Id
*
* @return
*/
public CMISPropertyId getPropertyId();
/**
* Get Owning Type
*
* @return
*/
public CMISTypeDefinition getOwningType();
/**
* Get the display name
*
* @return
*/
public String getDisplayName();
/**
* Get the description
*
* @return
*/
public String getDescription();
/**
* Get the property type
*
* @return
*/
public CMISDataTypeEnum getDataType();
/**
* Get the cardinality
*
* @return
*/
public CMISCardinalityEnum getCardinality();
/**
* For variable length properties, get the maximum length allowed. Unsupported.
*
* @return
*/
public int getMaximumLength();
/**
* For properties of type CMISPropertyType.XML the schema to which the property must conform. Unsupported
*
* @return - the schema URI
*/
public String getSchemaURI();
/**
* For properties of type CMISPropertyType.XML the encoding used for the property value
*
* @return the encoding
*/
public String getEncoding();
/**
* Get the choices available as values for this property TODO: not implemented yet
*
* @return
*/
public Collection<CMISChoice> getChoices();
/**
* Is this a choice where a user can enter other values (ie a list with common options)
*
* @return
*/
public boolean isOpenChoice();
/**
* Is this property required?
*
* @return
*/
public boolean isRequired();
/**
* get the default value as a String
*
* @return
*/
public String getDefaultValue();
/**
* Is this property updatable?
*
* @return
*/
public CMISUpdatabilityEnum getUpdatability();
/**
* Is this property queryable?
*
* @return
*/
public boolean isQueryable();
/**
* Is this property orderable in queries?
*
* @return
*/
public boolean isOrderable();
/**
* Gets the property accessor (for reading / writing values)
*
* @return
*/
public CMISPropertyAccessor getPropertyAccessor();
/**
* Gets the property Lucene builder
*
* @return
*/
public CMISPropertyLuceneBuilder getPropertyLuceneBuilder();
}

View File

@@ -22,7 +22,7 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.dictionary; package org.alfresco.cmis;
import java.io.Serializable; import java.io.Serializable;

View File

@@ -22,7 +22,7 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
@@ -37,7 +37,7 @@ import org.apache.lucene.search.Query;
* *
* @author andyh * @author andyh
*/ */
public interface PropertyLuceneBuilder public interface CMISPropertyLuceneBuilder
{ {
/** /**
* @param lqp * @param lqp

View File

@@ -22,7 +22,7 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.search; package org.alfresco.cmis;
import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.error.AlfrescoRuntimeException;

View File

@@ -22,7 +22,7 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.search; package org.alfresco.cmis;
import java.util.Locale; import java.util.Locale;

View File

@@ -22,11 +22,8 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.search; package org.alfresco.cmis;
import org.alfresco.cmis.CMISFullTextSearchEnum;
import org.alfresco.cmis.CMISJoinEnum;
import org.alfresco.cmis.CMISQueryEnum;
/** /**
* Support to execute CMIS queries * Support to execute CMIS queries

View File

@@ -22,7 +22,8 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.search; package org.alfresco.cmis;
/** /**

View File

@@ -22,10 +22,8 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.search; package org.alfresco.cmis;
import org.alfresco.cmis.CMISDataTypeEnum;
import org.alfresco.cmis.dictionary.CMISPropertyDefinition;
/** /**
* The column meta data for a result set * The column meta data for a result set

View File

@@ -22,7 +22,8 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.search; package org.alfresco.cmis;
/** /**
* The meta data associated with a result set * The meta data associated with a result set

View File

@@ -22,7 +22,7 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.search; package org.alfresco.cmis;
import java.io.Serializable; import java.io.Serializable;
import java.util.Map; import java.util.Map;

View File

@@ -22,9 +22,8 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.search; package org.alfresco.cmis;
import org.alfresco.cmis.dictionary.CMISTypeDefinition;
/** /**
* The meta-data for a result set selector. * The meta-data for a result set selector.

View File

@@ -22,7 +22,7 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.dictionary; package org.alfresco.cmis;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;

View File

@@ -0,0 +1,113 @@
/*
* Copyright (C) 2005-2008 Alfresco Software Limited.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* As a special exception to the terms and conditions of version 2.0 of
* the GPL, you may redistribute this Program in connection with Free/Libre
* and Open Source Software ("FLOSS") applications as described in Alfresco's
* FLOSS exception. You should have recieved a copy of the text describing
* the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing"
*/
package org.alfresco.cmis;
import java.io.Serializable;
import java.util.Map;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.StoreRef;
/**
* CMIS Services
*
* @author davidc
*/
public interface CMISServices
{
/**
* Gets the supported CMIS Version
*
* @return version of CMIS specification supported
*/
public String getCMISVersion();
/**
* Gets the default root node path
*
* @return root node path
*/
public String getDefaultRootPath();
/**
* Gets the default root node ref
*
* @return root node ref
*/
public NodeRef getDefaultRootNodeRef();
/**
* Gets the default store ref
*
* @return store ref
*/
public StoreRef getDefaultRootStoreRef();
/**
* Query for node children
*
* @param parent node to query children for
* @param typesFilter types filter
* @return children of node
*/
public NodeRef[] getChildren(NodeRef parent, CMISTypesFilterEnum typesFilter);
/**
* Query for checked out items
*
* @param username for user
* @param folder (optional) within folder
* @param includeDescendants true => include descendants of folder, false => only children of folder
* @return checked out items
*/
public NodeRef[] getCheckedOut(String username, NodeRef folder, boolean includeDescendants);
/**
* Get a single property
*
* @param nodeRef
* @param propertyName
* @return value
*/
public Serializable getProperty(NodeRef nodeRef, String propertyName);
/**
* Get all properties
*
* @param nodeRef
* @return
*/
public Map<String, Serializable> getProperties(NodeRef nodeRef);
/**
* Set a single property
*
* @param nodeRef
* @param propertyName
* @param value
*/
public void setProperty(NodeRef nodeRef, String propertyName, Serializable value);
}

View File

@@ -22,12 +22,11 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.dictionary; package org.alfresco.cmis;
import java.util.Collection; import java.util.Collection;
import java.util.Map; import java.util.Map;
import org.alfresco.cmis.CMISContentStreamAllowedEnum;
/** /**
* The base type definition for CMIS * The base type definition for CMIS

View File

@@ -22,7 +22,7 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.dictionary; package org.alfresco.cmis;
import java.io.Serializable; import java.io.Serializable;

View File

@@ -33,6 +33,12 @@ import java.util.Map;
import java.util.TreeMap; import java.util.TreeMap;
import org.alfresco.cmis.CMISDataTypeEnum; import org.alfresco.cmis.CMISDataTypeEnum;
import org.alfresco.cmis.CMISDictionaryService;
import org.alfresco.cmis.CMISPropertyDefinition;
import org.alfresco.cmis.CMISPropertyId;
import org.alfresco.cmis.CMISScope;
import org.alfresco.cmis.CMISTypeDefinition;
import org.alfresco.cmis.CMISTypeId;
import org.alfresco.cmis.mapping.CMISMapping; import org.alfresco.cmis.mapping.CMISMapping;
import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.repo.dictionary.DictionaryDAO; import org.alfresco.repo.dictionary.DictionaryDAO;

View File

@@ -33,6 +33,10 @@ import java.util.LinkedList;
import java.util.Map; import java.util.Map;
import org.alfresco.cmis.CMISContentStreamAllowedEnum; import org.alfresco.cmis.CMISContentStreamAllowedEnum;
import org.alfresco.cmis.CMISPropertyDefinition;
import org.alfresco.cmis.CMISPropertyId;
import org.alfresco.cmis.CMISTypeDefinition;
import org.alfresco.cmis.CMISTypeId;
import org.alfresco.cmis.dictionary.CMISAbstractDictionaryService.DictionaryRegistry; import org.alfresco.cmis.dictionary.CMISAbstractDictionaryService.DictionaryRegistry;
import org.alfresco.cmis.mapping.CMISMapping; import org.alfresco.cmis.mapping.CMISMapping;
import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.error.AlfrescoRuntimeException;
@@ -117,7 +121,7 @@ public class CMISAbstractTypeDefinition implements CMISTypeDefinition, Serializa
String propertyName = cmisMapping.getCmisPropertyName(propertyQName); String propertyName = cmisMapping.getCmisPropertyName(propertyQName);
String propertyId = cmisMapping.getCmisPropertyId(propertyQName); String propertyId = cmisMapping.getCmisPropertyId(propertyQName);
CMISPropertyId cmisPropertyId = new CMISPropertyId(propertyName, propertyId, propertyQName); CMISPropertyId cmisPropertyId = new CMISPropertyId(propertyName, propertyId, propertyQName);
return new CMISPropertyDefinition(cmisMapping, cmisPropertyId, propDef, this); return new CMISBasePropertyDefinition(cmisMapping, cmisPropertyId, propDef, this);
} }
/** /**

View File

@@ -29,12 +29,16 @@ import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import org.alfresco.cmis.CMISCardinalityEnum; import org.alfresco.cmis.CMISCardinalityEnum;
import org.alfresco.cmis.CMISChoice;
import org.alfresco.cmis.CMISDataTypeEnum; import org.alfresco.cmis.CMISDataTypeEnum;
import org.alfresco.cmis.CMISPropertyDefinition;
import org.alfresco.cmis.CMISPropertyId;
import org.alfresco.cmis.CMISTypeDefinition;
import org.alfresco.cmis.CMISUpdatabilityEnum; import org.alfresco.cmis.CMISUpdatabilityEnum;
import org.alfresco.cmis.CMISPropertyAccessor;
import org.alfresco.cmis.CMISPropertyLuceneBuilder;
import org.alfresco.cmis.mapping.AbstractPropertyAccessor;
import org.alfresco.cmis.mapping.CMISMapping; import org.alfresco.cmis.mapping.CMISMapping;
import org.alfresco.cmis.property.AbstractPropertyAccessor;
import org.alfresco.cmis.property.PropertyAccessor;
import org.alfresco.cmis.property.PropertyLuceneBuilder;
import org.alfresco.repo.dictionary.IndexTokenisationMode; import org.alfresco.repo.dictionary.IndexTokenisationMode;
import org.alfresco.repo.dictionary.constraint.ListOfValuesConstraint; import org.alfresco.repo.dictionary.constraint.ListOfValuesConstraint;
import org.alfresco.repo.dictionary.constraint.StringLengthConstraint; import org.alfresco.repo.dictionary.constraint.StringLengthConstraint;
@@ -54,7 +58,7 @@ import org.alfresco.service.cmr.dictionary.PropertyDefinition;
* *
* @author andyh * @author andyh
*/ */
public class CMISPropertyDefinition implements Serializable public class CMISBasePropertyDefinition implements CMISPropertyDefinition, Serializable
{ {
private static final long serialVersionUID = -8119257313852558466L; private static final long serialVersionUID = -8119257313852558466L;
@@ -86,7 +90,7 @@ public class CMISPropertyDefinition implements Serializable
* @param propDef * @param propDef
* @param typeDef * @param typeDef
*/ */
public CMISPropertyDefinition(CMISMapping cmisMapping, CMISPropertyId propertyId, PropertyDefinition propDef, CMISTypeDefinition typeDef) public CMISBasePropertyDefinition(CMISMapping cmisMapping, CMISPropertyId propertyId, PropertyDefinition propDef, CMISTypeDefinition typeDef)
{ {
this.propertyId = propertyId; this.propertyId = propertyId;
this.typeDef = typeDef; this.typeDef = typeDef;
@@ -318,7 +322,7 @@ public class CMISPropertyDefinition implements Serializable
* *
* @return * @return
*/ */
public PropertyAccessor getPropertyAccessor() public CMISPropertyAccessor getPropertyAccessor()
{ {
return propertyAccessor; return propertyAccessor;
} }
@@ -328,7 +332,7 @@ public class CMISPropertyDefinition implements Serializable
* *
* @return * @return
*/ */
public PropertyLuceneBuilder getPropertyLuceneBuilder() public CMISPropertyLuceneBuilder getPropertyLuceneBuilder()
{ {
return propertyAccessor; return propertyAccessor;
} }

View File

@@ -24,6 +24,10 @@
*/ */
package org.alfresco.cmis.dictionary; package org.alfresco.cmis.dictionary;
import org.alfresco.cmis.CMISPropertyDefinition;
import org.alfresco.cmis.CMISTypeDefinition;
import org.alfresco.cmis.mapping.BaseCMISTest;
public class CMISDictionaryTest extends BaseCMISTest public class CMISDictionaryTest extends BaseCMISTest
{ {
public void testBasicTypes() public void testBasicTypes()

View File

@@ -27,6 +27,9 @@ package org.alfresco.cmis.dictionary;
import java.util.List; import java.util.List;
import org.alfresco.cmis.CMISContentStreamAllowedEnum; import org.alfresco.cmis.CMISContentStreamAllowedEnum;
import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.cmis.CMISScope;
import org.alfresco.cmis.CMISTypeId;
import org.alfresco.cmis.mapping.CMISMapping; import org.alfresco.cmis.mapping.CMISMapping;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.dictionary.AspectDefinition; import org.alfresco.service.cmr.dictionary.AspectDefinition;

View File

@@ -24,6 +24,9 @@
*/ */
package org.alfresco.cmis.dictionary; package org.alfresco.cmis.dictionary;
import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.cmis.CMISScope;
import org.alfresco.cmis.CMISTypeId;
import org.alfresco.cmis.mapping.CMISMapping; import org.alfresco.cmis.mapping.CMISMapping;
import org.alfresco.service.cmr.dictionary.ClassDefinition; import org.alfresco.service.cmr.dictionary.ClassDefinition;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;

View File

@@ -26,6 +26,8 @@ package org.alfresco.cmis.dictionary;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.CMISScope;
import org.alfresco.cmis.CMISTypeId;
import org.alfresco.cmis.mapping.CMISMapping; import org.alfresco.cmis.mapping.CMISMapping;
import org.alfresco.service.cmr.dictionary.ClassDefinition; import org.alfresco.service.cmr.dictionary.ClassDefinition;
import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.dictionary.DictionaryService;

View File

@@ -26,6 +26,9 @@ package org.alfresco.cmis.dictionary;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.cmis.CMISScope;
import org.alfresco.cmis.CMISTypeId;
import org.alfresco.cmis.dictionary.CMISAbstractDictionaryService.DictionaryRegistry; import org.alfresco.cmis.dictionary.CMISAbstractDictionaryService.DictionaryRegistry;
import org.alfresco.cmis.mapping.CMISMapping; import org.alfresco.cmis.mapping.CMISMapping;
import org.alfresco.service.cmr.dictionary.ClassDefinition; import org.alfresco.service.cmr.dictionary.ClassDefinition;

View File

@@ -29,6 +29,12 @@ import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.cmis.CMISPropertyDefinition;
import org.alfresco.cmis.CMISPropertyId;
import org.alfresco.cmis.CMISScope;
import org.alfresco.cmis.CMISTypeDefinition;
import org.alfresco.cmis.CMISTypeId;
import org.alfresco.cmis.dictionary.CMISAbstractDictionaryService.DictionaryRegistry; import org.alfresco.cmis.dictionary.CMISAbstractDictionaryService.DictionaryRegistry;
import org.alfresco.cmis.mapping.CMISMapping; import org.alfresco.cmis.mapping.CMISMapping;
import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.error.AlfrescoRuntimeException;

View File

@@ -26,6 +26,8 @@ package org.alfresco.cmis.dictionary;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.CMISScope;
import org.alfresco.cmis.CMISTypeId;
import org.alfresco.service.cmr.dictionary.AssociationDefinition; import org.alfresco.service.cmr.dictionary.AssociationDefinition;
import org.alfresco.service.cmr.dictionary.ClassDefinition; import org.alfresco.service.cmr.dictionary.ClassDefinition;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;

View File

@@ -22,8 +22,10 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import org.alfresco.cmis.CMISPropertyAccessor;
import org.alfresco.cmis.CMISPropertyLuceneBuilder;
import org.alfresco.service.ServiceRegistry; import org.alfresco.service.ServiceRegistry;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
@@ -33,7 +35,7 @@ import org.alfresco.service.namespace.QName;
* @author andyh * @author andyh
* *
*/ */
public abstract class AbstractPropertyAccessor implements PropertyAccessor, PropertyLuceneBuilder public abstract class AbstractPropertyAccessor implements CMISPropertyAccessor, CMISPropertyLuceneBuilder
{ {
private ServiceRegistry serviceRegistry; private ServiceRegistry serviceRegistry;
private String propertyName; private String propertyName;

View File

@@ -22,7 +22,7 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.dictionary; package org.alfresco.cmis.mapping;
import java.util.Date; import java.util.Date;
@@ -31,9 +31,9 @@ import javax.transaction.UserTransaction;
import junit.framework.TestCase; import junit.framework.TestCase;
import org.alfresco.cmis.CMISService; import org.alfresco.cmis.CMISDictionaryService;
import org.alfresco.cmis.mapping.CMISMapping; import org.alfresco.cmis.CMISQueryService;
import org.alfresco.cmis.search.CMISQueryService; import org.alfresco.cmis.CMISServices;
import org.alfresco.repo.security.authentication.AuthenticationComponent; import org.alfresco.repo.security.authentication.AuthenticationComponent;
import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.repo.security.authentication.MutableAuthenticationDao; import org.alfresco.repo.security.authentication.MutableAuthenticationDao;
@@ -64,7 +64,7 @@ public abstract class BaseCMISTest extends TestCase
protected CMISMapping cmisMapping; protected CMISMapping cmisMapping;
protected CMISService cmisService; protected CMISServices cmisService;
protected CMISDictionaryService cmisDictionaryService; protected CMISDictionaryService cmisDictionaryService;
@@ -103,7 +103,7 @@ public abstract class BaseCMISTest extends TestCase
cmisDictionaryService = (CMISDictionaryService) ctx.getBean("CMISDictionaryService"); cmisDictionaryService = (CMISDictionaryService) ctx.getBean("CMISDictionaryService");
cmisMapping = (CMISMapping) ctx.getBean("CMISMapping"); cmisMapping = (CMISMapping) ctx.getBean("CMISMapping");
cmisQueryService = (CMISQueryService) ctx.getBean("CMISQueryService"); cmisQueryService = (CMISQueryService) ctx.getBean("CMISQueryService");
cmisService = (CMISService) ctx.getBean("CMISService"); cmisService = (CMISServices) ctx.getBean("CMISService");
dictionaryService = (DictionaryService) ctx.getBean("dictionaryService"); dictionaryService = (DictionaryService) ctx.getBean("dictionaryService");
nodeService = (NodeService) ctx.getBean("nodeService"); nodeService = (NodeService) ctx.getBean("nodeService");
fileFolderService = (FileFolderService) ctx.getBean("fileFolderService"); fileFolderService = (FileFolderService) ctx.getBean("fileFolderService");

View File

@@ -30,28 +30,10 @@ import java.util.Map;
import org.alfresco.cmis.CMISContentStreamAllowedEnum; import org.alfresco.cmis.CMISContentStreamAllowedEnum;
import org.alfresco.cmis.CMISDataTypeEnum; import org.alfresco.cmis.CMISDataTypeEnum;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.cmis.dictionary.CMISPropertyId; import org.alfresco.cmis.CMISPropertyId;
import org.alfresco.cmis.dictionary.CMISScope; import org.alfresco.cmis.CMISScope;
import org.alfresco.cmis.dictionary.CMISTypeId; import org.alfresco.cmis.CMISTypeId;
import org.alfresco.cmis.property.AbstractPropertyAccessor;
import org.alfresco.cmis.property.CheckinCommentPropertyAccessor;
import org.alfresco.cmis.property.ContentStreamLengthPropertyAccessor;
import org.alfresco.cmis.property.ContentStreamMimetypePropertyAccessor;
import org.alfresco.cmis.property.ContentStreamUriPropertyAccessor;
import org.alfresco.cmis.property.DirectPropertyAccessor;
import org.alfresco.cmis.property.FixedValuePropertyAccessor;
import org.alfresco.cmis.property.IsImmutablePropertyAccessor;
import org.alfresco.cmis.property.IsLatestMajorVersionPropertyAccessor;
import org.alfresco.cmis.property.IsLatestVersionPropertyAccessor;
import org.alfresco.cmis.property.IsMajorVersionPropertyAccessor;
import org.alfresco.cmis.property.IsVersionSeriesCheckedOutPropertyAccessor;
import org.alfresco.cmis.property.ObjectIdPropertyAccessor;
import org.alfresco.cmis.property.ObjectTypeIdPropertyAccessor;
import org.alfresco.cmis.property.ParentPropertyAccessor;
import org.alfresco.cmis.property.VersionSeriesCheckedOutByPropertyAccessor;
import org.alfresco.cmis.property.VersionSeriesCheckedOutIdPropertyAccessor;
import org.alfresco.cmis.property.VersionSeriesIdPropertyAccessor;
import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.service.ServiceRegistry; import org.alfresco.service.ServiceRegistry;

View File

@@ -22,7 +22,7 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.HashMap; import java.util.HashMap;
@@ -30,8 +30,7 @@ import java.util.Locale;
import java.util.Map; import java.util.Map;
import org.alfresco.cmis.CMISContentStreamAllowedEnum; import org.alfresco.cmis.CMISContentStreamAllowedEnum;
import org.alfresco.cmis.dictionary.BaseCMISTest; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.cmis.dictionary.CMISDictionaryModel;
import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.version.VersionModel; import org.alfresco.repo.version.VersionModel;

View File

@@ -22,17 +22,19 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.alfresco.cmis.dictionary.CMISDictionaryService; import org.alfresco.cmis.CMISDictionaryService;
import org.alfresco.cmis.dictionary.CMISPropertyDefinition; import org.alfresco.cmis.CMISPropertyDefinition;
import org.alfresco.cmis.dictionary.CMISPropertyId; import org.alfresco.cmis.CMISPropertyId;
import org.alfresco.cmis.dictionary.CMISTypeDefinition; import org.alfresco.cmis.CMISServices;
import org.alfresco.cmis.CMISTypeDefinition;
import org.alfresco.cmis.CMISTypesFilterEnum;
import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.model.Repository; import org.alfresco.repo.model.Repository;
@@ -63,11 +65,11 @@ import org.springframework.context.ApplicationListener;
/** /**
* CMIS Service * CMIS Services Implementation
* *
* @author davidc * @author davidc
*/ */
public class CMISService implements ApplicationContextAware, ApplicationListener, TenantDeployer public class CMISServicesImpl implements CMISServices, ApplicationContextAware, ApplicationListener, TenantDeployer
{ {
/** Query Parameters */ /** Query Parameters */
private static final QName PARAM_PARENT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "parent"); private static final QName PARAM_PARENT = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, "parent");
@@ -269,30 +271,27 @@ public class CMISService implements ApplicationContextAware, ApplicationListener
defaultRootNodeRefs.remove(tenantAdminService.getCurrentUserDomain()); defaultRootNodeRefs.remove(tenantAdminService.getCurrentUserDomain());
} }
/** /*
* Gets the supported CMIS Version * (non-Javadoc)
* * @see org.alfresco.cmis.CMISServices#getCMISVersion()
* @return version of CMIS specification supported
*/ */
public String getCMISVersion() public String getCMISVersion()
{ {
return cmisVersion; return cmisVersion;
} }
/** /*
* Gets the default root node path * (non-Javadoc)
* * @see org.alfresco.cmis.CMISServices#getDefaultRootPath()
* @return root node path
*/ */
public String getDefaultRootPath() public String getDefaultRootPath()
{ {
return defaultRootPath; return defaultRootPath;
} }
/** /*
* Gets the default root node ref * (non-Javadoc)
* * @see org.alfresco.cmis.CMISServices#getDefaultRootNodeRef()
* @return root node ref
*/ */
public NodeRef getDefaultRootNodeRef() public NodeRef getDefaultRootNodeRef()
{ {
@@ -323,22 +322,18 @@ public class CMISService implements ApplicationContextAware, ApplicationListener
return defaultNodeRef; return defaultNodeRef;
} }
/** /*
* Gets the default store ref * (non-Javadoc)
* * @see org.alfresco.cmis.CMISServices#getDefaultRootStoreRef()
* @return store ref
*/ */
public StoreRef getDefaultRootStoreRef() public StoreRef getDefaultRootStoreRef()
{ {
return getDefaultRootNodeRef().getStoreRef(); return getDefaultRootNodeRef().getStoreRef();
} }
/** /*
* Query for node children * (non-Javadoc)
* * @see org.alfresco.cmis.CMISServices#getChildren(org.alfresco.service.cmr.repository.NodeRef, org.alfresco.cmis.CMISTypesFilterEnum)
* @param parent node to query children for
* @param typesFilter types filter
* @return children of node
*/ */
public NodeRef[] getChildren(NodeRef parent, CMISTypesFilterEnum typesFilter) public NodeRef[] getChildren(NodeRef parent, CMISTypesFilterEnum typesFilter)
{ {
@@ -365,13 +360,9 @@ public class CMISService implements ApplicationContextAware, ApplicationListener
return new NodeRef[0]; return new NodeRef[0];
} }
/** /*
* Query for checked out items * (non-Javadoc)
* * @see org.alfresco.cmis.CMISServices#getCheckedOut(java.lang.String, org.alfresco.service.cmr.repository.NodeRef, boolean)
* @param username for user
* @param folder (optional) within folder
* @param includeDescendants true => include descendants of folder, false => only children of folder
* @return checked out items
*/ */
public NodeRef[] getCheckedOut(String username, NodeRef folder, boolean includeDescendants) public NodeRef[] getCheckedOut(String username, NodeRef folder, boolean includeDescendants)
{ {
@@ -460,12 +451,9 @@ public class CMISService implements ApplicationContextAware, ApplicationListener
} }
} }
/** /*
* Get a single property * (non-Javadoc)
* * @see org.alfresco.cmis.CMISServices#getProperty(org.alfresco.service.cmr.repository.NodeRef, java.lang.String)
* @param nodeRef
* @param propertyName
* @return value
*/ */
public Serializable getProperty(NodeRef nodeRef, String propertyName) public Serializable getProperty(NodeRef nodeRef, String propertyName)
{ {
@@ -483,11 +471,9 @@ public class CMISService implements ApplicationContextAware, ApplicationListener
return propDef.getPropertyAccessor().getValue(nodeRef); return propDef.getPropertyAccessor().getValue(nodeRef);
} }
/** /*
* Get all properties * (non-Javadoc)
* * @see org.alfresco.cmis.CMISServices#getProperties(org.alfresco.service.cmr.repository.NodeRef)
* @param nodeRef
* @return
*/ */
public Map<String, Serializable> getProperties(NodeRef nodeRef) public Map<String, Serializable> getProperties(NodeRef nodeRef)
{ {
@@ -506,12 +492,9 @@ public class CMISService implements ApplicationContextAware, ApplicationListener
return values; return values;
} }
/** /*
* Set a single property * (non-Javadoc)
* * @see org.alfresco.cmis.CMISServices#setProperty(org.alfresco.service.cmr.repository.NodeRef, java.lang.String, java.io.Serializable)
* @param nodeRef
* @param propertyName
* @param value
*/ */
public void setProperty(NodeRef nodeRef, String propertyName, Serializable value) public void setProperty(NodeRef nodeRef, String propertyName, Serializable value)
{ {

View File

@@ -22,12 +22,12 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.repo.search.impl.querymodel.PredicateMode;
import org.alfresco.service.ServiceRegistry; import org.alfresco.service.ServiceRegistry;

View File

@@ -22,12 +22,12 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.repo.search.impl.querymodel.PredicateMode;

View File

@@ -22,12 +22,12 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.repo.search.impl.querymodel.PredicateMode;

View File

@@ -22,12 +22,12 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.repo.search.impl.querymodel.PredicateMode;

View File

@@ -22,7 +22,7 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;

View File

@@ -22,7 +22,7 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;

View File

@@ -22,12 +22,12 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.repo.search.impl.querymodel.PredicateMode;

View File

@@ -22,12 +22,12 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.repo.search.impl.querymodel.PredicateMode;

View File

@@ -22,12 +22,12 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.repo.search.impl.querymodel.PredicateMode;

View File

@@ -22,12 +22,12 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.repo.search.impl.querymodel.PredicateMode;

View File

@@ -22,12 +22,12 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.repo.search.impl.querymodel.PredicateMode;

View File

@@ -22,13 +22,13 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.cmis.search.CMISQueryException; import org.alfresco.cmis.CMISQueryException;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.repo.search.impl.querymodel.PredicateMode;

View File

@@ -22,15 +22,15 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.cmis.dictionary.CMISTypeDefinition; import org.alfresco.cmis.CMISQueryException;
import org.alfresco.cmis.search.CMISQueryException; import org.alfresco.cmis.CMISTypeDefinition;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.repo.search.impl.querymodel.PredicateMode;
import org.alfresco.service.ServiceRegistry; import org.alfresco.service.ServiceRegistry;

View File

@@ -22,12 +22,12 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.repo.search.impl.querymodel.PredicateMode;
import org.alfresco.service.ServiceRegistry; import org.alfresco.service.ServiceRegistry;

View File

@@ -22,12 +22,12 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.repo.search.impl.querymodel.PredicateMode;

View File

@@ -22,12 +22,12 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.repo.search.impl.querymodel.PredicateMode;

View File

@@ -22,12 +22,12 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.property; package org.alfresco.cmis.mapping;
import java.io.Serializable; import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.repo.search.impl.querymodel.PredicateMode;

View File

@@ -22,7 +22,7 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.search.impl; package org.alfresco.cmis.search;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
@@ -33,15 +33,15 @@ import java.util.Map;
import java.util.StringTokenizer; import java.util.StringTokenizer;
import org.alfresco.cmis.CMISCardinalityEnum; import org.alfresco.cmis.CMISCardinalityEnum;
import org.alfresco.cmis.CMISDictionaryService;
import org.alfresco.cmis.CMISJoinEnum; import org.alfresco.cmis.CMISJoinEnum;
import org.alfresco.cmis.dictionary.CMISDictionaryService; import org.alfresco.cmis.CMISPropertyDefinition;
import org.alfresco.cmis.dictionary.CMISPropertyDefinition; import org.alfresco.cmis.CMISPropertyId;
import org.alfresco.cmis.dictionary.CMISPropertyId; import org.alfresco.cmis.CMISQueryException;
import org.alfresco.cmis.dictionary.CMISScope; import org.alfresco.cmis.CMISQueryOptions;
import org.alfresco.cmis.dictionary.CMISTypeDefinition; import org.alfresco.cmis.CMISScope;
import org.alfresco.cmis.search.CMISQueryException; import org.alfresco.cmis.CMISTypeDefinition;
import org.alfresco.cmis.search.CMISQueryOptions; import org.alfresco.cmis.CMISQueryOptions.CMISQueryMode;
import org.alfresco.cmis.search.CMISQueryOptions.CMISQueryMode;
import org.alfresco.repo.search.impl.parsers.CMISLexer; import org.alfresco.repo.search.impl.parsers.CMISLexer;
import org.alfresco.repo.search.impl.parsers.CMISParser; import org.alfresco.repo.search.impl.parsers.CMISParser;
import org.alfresco.repo.search.impl.parsers.FTSLexer; import org.alfresco.repo.search.impl.parsers.FTSLexer;

View File

@@ -22,22 +22,20 @@
* the FLOSS exception, and it is also available here: * the FLOSS exception, and it is also available here:
* http://www.alfresco.com/legal/licensing" * http://www.alfresco.com/legal/licensing"
*/ */
package org.alfresco.cmis.search.impl; package org.alfresco.cmis.search;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import org.alfresco.cmis.CMISDictionaryService;
import org.alfresco.cmis.CMISFullTextSearchEnum; import org.alfresco.cmis.CMISFullTextSearchEnum;
import org.alfresco.cmis.CMISJoinEnum; import org.alfresco.cmis.CMISJoinEnum;
import org.alfresco.cmis.CMISQueryEnum; import org.alfresco.cmis.CMISQueryEnum;
import org.alfresco.cmis.CMISService; import org.alfresco.cmis.CMISQueryOptions;
import org.alfresco.cmis.dictionary.CMISDictionaryService; import org.alfresco.cmis.CMISQueryService;
import org.alfresco.cmis.search.CMISQueryOptions; import org.alfresco.cmis.CMISResultSet;
import org.alfresco.cmis.search.CMISQueryService; import org.alfresco.cmis.CMISServices;
import org.alfresco.cmis.search.CMISResultSet;
import org.alfresco.cmis.search.CMISResultSetImpl;
import org.alfresco.cmis.search.CmisFunctionEvaluationContext;
import org.alfresco.repo.search.impl.querymodel.Query; import org.alfresco.repo.search.impl.querymodel.Query;
import org.alfresco.repo.search.impl.querymodel.QueryEngine; import org.alfresco.repo.search.impl.querymodel.QueryEngine;
import org.alfresco.repo.search.impl.querymodel.QueryEngineResults; import org.alfresco.repo.search.impl.querymodel.QueryEngineResults;
@@ -49,7 +47,7 @@ import org.alfresco.service.cmr.search.ResultSet;
*/ */
public class CMISQueryServiceImpl implements CMISQueryService public class CMISQueryServiceImpl implements CMISQueryService
{ {
private CMISService cmisService; private CMISServices cmisService;
private CMISDictionaryService cmisDictionaryService; private CMISDictionaryService cmisDictionaryService;
@@ -61,7 +59,7 @@ public class CMISQueryServiceImpl implements CMISQueryService
* @param service * @param service
* the service to set * the service to set
*/ */
public void setCMISService(CMISService cmisService) public void setCMISService(CMISServices cmisService)
{ {
this.cmisService = cmisService; this.cmisService = cmisService;
} }

View File

@@ -25,7 +25,8 @@
package org.alfresco.cmis.search; package org.alfresco.cmis.search;
import org.alfresco.cmis.CMISDataTypeEnum; import org.alfresco.cmis.CMISDataTypeEnum;
import org.alfresco.cmis.dictionary.CMISPropertyDefinition; import org.alfresco.cmis.CMISPropertyDefinition;
import org.alfresco.cmis.CMISResultSetColumn;
/** /**
* @author andyh * @author andyh

View File

@@ -31,7 +31,11 @@ import java.util.Iterator;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import org.alfresco.cmis.dictionary.CMISDictionaryService; import org.alfresco.cmis.CMISDictionaryService;
import org.alfresco.cmis.CMISQueryOptions;
import org.alfresco.cmis.CMISResultSet;
import org.alfresco.cmis.CMISResultSetMetaData;
import org.alfresco.cmis.CMISResultSetRow;
import org.alfresco.repo.search.impl.querymodel.Query; import org.alfresco.repo.search.impl.querymodel.Query;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.NodeService;

View File

@@ -28,9 +28,13 @@ import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
import org.alfresco.cmis.CMISDataTypeEnum; import org.alfresco.cmis.CMISDataTypeEnum;
import org.alfresco.cmis.dictionary.CMISDictionaryService; import org.alfresco.cmis.CMISDictionaryService;
import org.alfresco.cmis.dictionary.CMISPropertyDefinition; import org.alfresco.cmis.CMISPropertyDefinition;
import org.alfresco.cmis.dictionary.CMISTypeDefinition; import org.alfresco.cmis.CMISQueryOptions;
import org.alfresco.cmis.CMISResultSetColumn;
import org.alfresco.cmis.CMISResultSetMetaData;
import org.alfresco.cmis.CMISResultSetSelector;
import org.alfresco.cmis.CMISTypeDefinition;
import org.alfresco.repo.search.impl.querymodel.Column; import org.alfresco.repo.search.impl.querymodel.Column;
import org.alfresco.repo.search.impl.querymodel.PropertyArgument; import org.alfresco.repo.search.impl.querymodel.PropertyArgument;
import org.alfresco.repo.search.impl.querymodel.Query; import org.alfresco.repo.search.impl.querymodel.Query;

View File

@@ -28,7 +28,9 @@ import java.io.Serializable;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
import org.alfresco.cmis.dictionary.CMISDictionaryService; import org.alfresco.cmis.CMISDictionaryService;
import org.alfresco.cmis.CMISResultSet;
import org.alfresco.cmis.CMISResultSetRow;
import org.alfresco.repo.search.impl.querymodel.Column; import org.alfresco.repo.search.impl.querymodel.Column;
import org.alfresco.repo.search.impl.querymodel.Query; import org.alfresco.repo.search.impl.querymodel.Query;
import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeRef;

View File

@@ -26,6 +26,9 @@ package org.alfresco.cmis.search;
import java.util.ListIterator; import java.util.ListIterator;
import org.alfresco.cmis.CMISResultSet;
import org.alfresco.cmis.CMISResultSetRow;
/** /**
* @author andyh * @author andyh
*/ */

View File

@@ -24,7 +24,8 @@
*/ */
package org.alfresco.cmis.search; package org.alfresco.cmis.search;
import org.alfresco.cmis.dictionary.CMISTypeDefinition; import org.alfresco.cmis.CMISResultSetSelector;
import org.alfresco.cmis.CMISTypeDefinition;
/** /**
* @author andyh * @author andyh

View File

@@ -28,8 +28,8 @@ import java.io.Serializable;
import java.util.Collection; import java.util.Collection;
import java.util.Map; import java.util.Map;
import org.alfresco.cmis.dictionary.CMISDictionaryService; import org.alfresco.cmis.CMISDictionaryService;
import org.alfresco.cmis.dictionary.CMISPropertyDefinition; import org.alfresco.cmis.CMISPropertyDefinition;
import org.alfresco.repo.search.impl.lucene.LuceneQueryParser; import org.alfresco.repo.search.impl.lucene.LuceneQueryParser;
import org.alfresco.repo.search.impl.querymodel.FunctionEvaluationContext; import org.alfresco.repo.search.impl.querymodel.FunctionEvaluationContext;
import org.alfresco.repo.search.impl.querymodel.PredicateMode; import org.alfresco.repo.search.impl.querymodel.PredicateMode;

View File

@@ -34,10 +34,15 @@ import java.util.List;
import java.util.Locale; import java.util.Locale;
import java.util.Map; import java.util.Map;
import org.alfresco.cmis.dictionary.BaseCMISTest; import org.alfresco.cmis.CMISDictionaryModel;
import org.alfresco.cmis.dictionary.CMISDictionaryModel; import org.alfresco.cmis.CMISQueryException;
import org.alfresco.cmis.dictionary.CMISTypeDefinition; import org.alfresco.cmis.CMISQueryOptions;
import org.alfresco.cmis.search.CMISQueryOptions.CMISQueryMode; import org.alfresco.cmis.CMISResultSet;
import org.alfresco.cmis.CMISResultSetMetaData;
import org.alfresco.cmis.CMISResultSetRow;
import org.alfresco.cmis.CMISTypeDefinition;
import org.alfresco.cmis.CMISQueryOptions.CMISQueryMode;
import org.alfresco.cmis.mapping.BaseCMISTest;
import org.alfresco.model.ContentModel; import org.alfresco.model.ContentModel;
import org.alfresco.repo.search.impl.parsers.CMISLexer; import org.alfresco.repo.search.impl.parsers.CMISLexer;
import org.alfresco.repo.search.impl.parsers.CMISParser; import org.alfresco.repo.search.impl.parsers.CMISParser;

View File

@@ -26,9 +26,9 @@ package org.alfresco.repo.service;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.CMISService; import org.alfresco.cmis.CMISDictionaryService;
import org.alfresco.cmis.dictionary.CMISDictionaryService; import org.alfresco.cmis.CMISQueryService;
import org.alfresco.cmis.search.CMISQueryService; import org.alfresco.cmis.CMISServices;
import org.alfresco.mbeans.VirtServerRegistry; import org.alfresco.mbeans.VirtServerRegistry;
import org.alfresco.repo.forms.FormService; import org.alfresco.repo.forms.FormService;
import org.alfresco.repo.transaction.RetryingTransactionHelper; import org.alfresco.repo.transaction.RetryingTransactionHelper;
@@ -513,9 +513,9 @@ public class ServiceDescriptorRegistry
* (non-Javadoc) * (non-Javadoc)
* @see org.alfresco.service.ServiceRegistry#getCMISService() * @see org.alfresco.service.ServiceRegistry#getCMISService()
*/ */
public CMISService getCMISService() public CMISServices getCMISService()
{ {
return (CMISService)getService(CMIS_SERVICE); return (CMISServices)getService(CMIS_SERVICE);
} }
/* /*

View File

@@ -26,9 +26,9 @@ package org.alfresco.service;
import java.util.Collection; import java.util.Collection;
import org.alfresco.cmis.CMISService; import org.alfresco.cmis.CMISDictionaryService;
import org.alfresco.cmis.dictionary.CMISDictionaryService; import org.alfresco.cmis.CMISQueryService;
import org.alfresco.cmis.search.CMISQueryService; import org.alfresco.cmis.CMISServices;
import org.alfresco.mbeans.VirtServerRegistry; import org.alfresco.mbeans.VirtServerRegistry;
import org.alfresco.repo.forms.FormService; import org.alfresco.repo.forms.FormService;
import org.alfresco.repo.transaction.RetryingTransactionHelper; import org.alfresco.repo.transaction.RetryingTransactionHelper;
@@ -478,7 +478,7 @@ public interface ServiceRegistry
* @return the CMIS service * @return the CMIS service
*/ */
@NotAuditable @NotAuditable
CMISService getCMISService(); CMISServices getCMISService();
/** /**
* Get the CMIS Dictionary service (or null if one is not provided) * Get the CMIS Dictionary service (or null if one is not provided)