com.wewebu.ow.server.ecmimpl.opencmis
Class OwCMISRepositorySession

java.lang.Object
  extended by com.wewebu.ow.server.ecmimpl.opencmis.OwCMISRepositorySession
All Implemented Interfaces:
OwCMISNativeSession, OwCMISSession

public class OwCMISRepositorySession
extends Object
implements OwCMISNativeSession

Implementation of OwCMISNativeSession interface. This implementation is based on the org.apache.chemistry.opencmis.client.api.Session and uses additional helper and factory classes.

Alfresco Workdesk
Copyright (c) Alfresco Software, Inc.
All rights reserved.

For licensing information read the license.txt file or
go to: http://wiki.alfresco.com


Constructor Summary
OwCMISRepositorySession(OwCMISRepositoryResource resource_p, Map<String,?> parameters_p, OwCMISNetwork network)
           
OwCMISRepositorySession(org.apache.chemistry.opencmis.client.api.Session session_p, OwCMISRepositoryResource resource_p, Map<String,?> parameters_p, OwCMISNetwork network)
           
 
Method Summary
protected
<O extends org.apache.chemistry.opencmis.client.api.TransientCmisObject>
OwCMISNativeObject<O>
checkObject(OwCMISNativeObject<O> wrapedObj, Map<String,?> conversionParameters)
          Check the new OwObject if additional changes/modifications needed.
<O extends org.apache.chemistry.opencmis.client.api.TransientCmisObject>
OwCMISNativeObjectClass<?,O>
classOf(O object_p)
           
protected  OwCMISNativeObjectClass<?,?>[] createDefaultClassContext()
           
 String createObject(boolean promote_p, Object mode_p, String objectClassName_p, com.wewebu.ow.server.ecm.OwPropertyCollection properties_p, com.wewebu.ow.server.ecm.OwPermissionCollection permissions_p, com.wewebu.ow.server.ecm.OwContentCollection content_p, OwCMISObject parent_p, String mimeType_p, String mimeParameter_p, boolean keepCheckedOut_p)
           
 com.wewebu.ow.server.ecm.OwObjectSkeleton createObjectSkeleton(com.wewebu.ow.server.ecm.OwObjectClass objectclass_p, com.wewebu.ow.server.ecm.OwNetwork network)
           
 org.apache.chemistry.opencmis.client.api.OperationContext createOperationContext(Collection<String> filterPropertyNames_p, int maxItemsPerPage_p, OwCMISNativeObjectClass<?,?>... classContext_p)
           
 org.apache.chemistry.opencmis.client.api.OperationContext createOperationContext(Collection<String> filterPropertyNames_p, com.wewebu.ow.server.field.OwSort sorting_p, int maxItemsPerPage_p, OwCMISNativeObjectClass<?,?>... classContext_p)
          Create an OperationContext with specific sorting
protected  Map<String,?> defaultConversionParameters(Map<String,?> conversionParameters)
           
protected  OwCMISPropertyClass<?> findPropertyDefinition(String propertyName_p, OwCMISNativeObjectClass<?,?>... classContext_p)
          Helper to identify OwPropertyClass from String id.
<O extends org.apache.chemistry.opencmis.client.api.TransientCmisObject>
OwCMISNativeObject<O>
from(O cmisObject, Map<String,?> conversionParameters)
           
<T extends org.apache.chemistry.opencmis.client.api.ObjectType>
OwCMISNativeObjectClass<T,?>
from(T type_p)
          Performs ObjectType to OwCMISNativeObjectClass conversion.
protected  Set<String> getDefaultFilter()
           
protected  org.apache.chemistry.opencmis.client.api.OperationContext getDefaultOperationContext()
           
 OwCMISDMSIDDecoder getDMSIDDecoder()
           
 Locale getLocale()
          Return current Locale
 OwCMISNativeObject<org.apache.chemistry.opencmis.client.api.TransientCmisObject> getNativeObject(String objectNativeId, Collection<String> propertyNames, Map<String,?> conversionParameters)
           
 OwCMISNativeObjectClass<org.apache.chemistry.opencmis.client.api.ObjectType,org.apache.chemistry.opencmis.client.api.TransientCmisObject> getNativeObjectClass(String objectClassName_p)
           
 OwCMISNativePropertyClassFactory getNativePropertyClassFactory()
          Get a property class factory, for creation of OwPropertyClass instances.
 OwCMISNetwork getNetwork()
           
 OwCMISObject getObject(String dmsId_p, boolean refresh_p)
          Retrieve object from specific DMSID, may be retrieved from cache.
 OwCMISObject getObjectByPath(String path, boolean refresh)
          Retrieve object from specified path, may be retrieved from cache.
 OwCMISNativeObjectClass<org.apache.chemistry.opencmis.client.api.ObjectType,org.apache.chemistry.opencmis.client.api.TransientCmisObject> getObjectClass(String objectClassName_p)
           
 Set<OwCMISObjectClass> getObjectClasses(int[] iTypes_p, boolean fExcludeHiddenAndNonInstantiable_p, boolean fRootOnly_p)
           
 org.apache.chemistry.opencmis.client.api.Session getOpenCMISSession()
           
 Object getParameterValue(String name_p)
          Access to parameter map of session
 OwCMISResource getResource()
           
 OwCMISResourceInfo getResourceInfo()
          Get the associated Resource/Repository for this session.
 OwCMISObject getRootFolder()
           
protected  String getSortString(com.wewebu.ow.server.field.OwSort sortingOrder_p, OwCMISNativeObjectClass<?,?>... classContext_p)
          Create a string representation for sorting, based on provided definition.
 TimeZone getTimeZone()
          Return current time zone
 com.wewebu.ow.server.ecm.OwObjectCollection query(com.wewebu.ow.csqlc.ast.OwQueryStatement statement, boolean searchAllVersions, boolean includeAllowableActions, org.apache.chemistry.opencmis.commons.enums.IncludeRelationships includeRelationships, String renditionFilter, BigInteger maxItems, BigInteger skipCount)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OwCMISRepositorySession

public OwCMISRepositorySession(OwCMISRepositoryResource resource_p,
                               Map<String,?> parameters_p,
                               OwCMISNetwork network)
                        throws com.wewebu.ow.server.exceptions.OwException
Throws:
com.wewebu.ow.server.exceptions.OwException

OwCMISRepositorySession

public OwCMISRepositorySession(org.apache.chemistry.opencmis.client.api.Session session_p,
                               OwCMISRepositoryResource resource_p,
                               Map<String,?> parameters_p,
                               OwCMISNetwork network)
                        throws com.wewebu.ow.server.exceptions.OwException
Throws:
com.wewebu.ow.server.exceptions.OwException
Method Detail

getResourceInfo

public OwCMISResourceInfo getResourceInfo()
Description copied from interface: OwCMISSession
Get the associated Resource/Repository for this session.

Specified by:
getResourceInfo in interface OwCMISSession
Returns:
OwCMISResourceInfo

getObject

public OwCMISObject getObject(String dmsId_p,
                              boolean refresh_p)
                       throws com.wewebu.ow.server.exceptions.OwException
Description copied from interface: OwCMISSession
Retrieve object from specific DMSID, may be retrieved from cache.

Specified by:
getObject in interface OwCMISSession
Parameters:
dmsId_p - String Id of object
refresh_p - boolean
Returns:
OwCMISObject
Throws:
com.wewebu.ow.server.exceptions.OwException

getObjectByPath

public OwCMISObject getObjectByPath(String path,
                                    boolean refresh)
                             throws com.wewebu.ow.server.exceptions.OwException
Description copied from interface: OwCMISSession
Retrieve object from specified path, may be retrieved from cache.

Specified by:
getObjectByPath in interface OwCMISSession
Parameters:
path - String The path of the object, starting from the resource's root
refresh - boolean if true, the cache will be ignored
Returns:
OwCMISObject
Throws:
com.wewebu.ow.server.exceptions.OwException

getNativeObjectClass

public OwCMISNativeObjectClass<org.apache.chemistry.opencmis.client.api.ObjectType,org.apache.chemistry.opencmis.client.api.TransientCmisObject> getNativeObjectClass(String objectClassName_p)
                                                                                                                                                               throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getNativeObjectClass in interface OwCMISNativeSession
Returns:
the native object class with the given class name.
Throws:
com.wewebu.ow.server.exceptions.OwException

getNativeObject

public OwCMISNativeObject<org.apache.chemistry.opencmis.client.api.TransientCmisObject> getNativeObject(String objectNativeId,
                                                                                                        Collection<String> propertyNames,
                                                                                                        Map<String,?> conversionParameters)
                                                                                                 throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getNativeObject in interface OwCMISNativeSession
Parameters:
objectNativeId - the object ID of the document
propertyNames - a list of properties to be loaded for this object. If null then the set of properties that are loaded depends on the particular content repository implementation.
Returns:
a native object loaded from the content repository
Throws:
com.wewebu.ow.server.exceptions.OwException

getObjectClass

public OwCMISNativeObjectClass<org.apache.chemistry.opencmis.client.api.ObjectType,org.apache.chemistry.opencmis.client.api.TransientCmisObject> getObjectClass(String objectClassName_p)
                                                                                                                                                         throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getObjectClass in interface OwCMISSession
Throws:
com.wewebu.ow.server.exceptions.OwException

createObject

public String createObject(boolean promote_p,
                           Object mode_p,
                           String objectClassName_p,
                           com.wewebu.ow.server.ecm.OwPropertyCollection properties_p,
                           com.wewebu.ow.server.ecm.OwPermissionCollection permissions_p,
                           com.wewebu.ow.server.ecm.OwContentCollection content_p,
                           OwCMISObject parent_p,
                           String mimeType_p,
                           String mimeParameter_p,
                           boolean keepCheckedOut_p)
                    throws com.wewebu.ow.server.exceptions.OwException
Specified by:
createObject in interface OwCMISSession
Parameters:
promote_p - promote_p
mode_p - Object
objectClassName_p - String
properties_p - OwPropertyCollection
permissions_p - OwPermissionCollection
content_p - OwContentCollection
parent_p - OwCMISObject
mimeType_p - String
mimeParameter_p - String
keepCheckedOut_p - boolean
Returns:
String DMSID of the newly created object
Throws:
com.wewebu.ow.server.exceptions.OwException

getNativePropertyClassFactory

public OwCMISNativePropertyClassFactory getNativePropertyClassFactory()
Description copied from interface: OwCMISNativeSession
Get a property class factory, for creation of OwPropertyClass instances.

Specified by:
getNativePropertyClassFactory in interface OwCMISNativeSession
Returns:
OwCMISNativePropertyClassFactory

getParameterValue

public Object getParameterValue(String name_p)
Description copied from interface: OwCMISSession
Access to parameter map of session

Specified by:
getParameterValue in interface OwCMISSession
Parameters:
name_p - String specific parameter
Returns:
Object value of the given parameter or null if no such parameter is found

getLocale

public Locale getLocale()
Description copied from interface: OwCMISSession
Return current Locale

Specified by:
getLocale in interface OwCMISSession
Returns:
Locale

getDMSIDDecoder

public OwCMISDMSIDDecoder getDMSIDDecoder()
Specified by:
getDMSIDDecoder in interface OwCMISSession
Returns:
OwCMISDMSIDDecoder

getTimeZone

public TimeZone getTimeZone()
Description copied from interface: OwCMISSession
Return current time zone

Specified by:
getTimeZone in interface OwCMISSession
Returns:
TimeZone

query

public com.wewebu.ow.server.ecm.OwObjectCollection query(com.wewebu.ow.csqlc.ast.OwQueryStatement statement,
                                                         boolean searchAllVersions,
                                                         boolean includeAllowableActions,
                                                         org.apache.chemistry.opencmis.commons.enums.IncludeRelationships includeRelationships,
                                                         String renditionFilter,
                                                         BigInteger maxItems,
                                                         BigInteger skipCount)
                                                  throws com.wewebu.ow.server.exceptions.OwException
Specified by:
query in interface OwCMISSession
Throws:
com.wewebu.ow.server.exceptions.OwException

defaultConversionParameters

protected Map<String,?> defaultConversionParameters(Map<String,?> conversionParameters)

from

public <O extends org.apache.chemistry.opencmis.client.api.TransientCmisObject> OwCMISNativeObject<O> from(O cmisObject,
                                                                                                           Map<String,?> conversionParameters)
                                                                                                throws com.wewebu.ow.server.exceptions.OwException
Specified by:
from in interface OwCMISNativeSession
Returns:
the OwCMISNativeObject o
Throws:
com.wewebu.ow.server.exceptions.OwException

checkObject

protected <O extends org.apache.chemistry.opencmis.client.api.TransientCmisObject> OwCMISNativeObject<O> checkObject(OwCMISNativeObject<O> wrapedObj,
                                                                                                                     Map<String,?> conversionParameters)
                                                                                                          throws com.wewebu.ow.server.exceptions.OwException
Check the new OwObject if additional changes/modifications needed. By default used to attach semi-virtual structures.

Parameters:
wrapedObj - OwCMISNativeObject recently native object wrapper
conversionParameters - Map of defined conversion Parameters
Returns:
OwCMISNativeObject
Throws:
com.wewebu.ow.server.exceptions.OwException

getRootFolder

public OwCMISObject getRootFolder()
                           throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getRootFolder in interface OwCMISSession
Throws:
com.wewebu.ow.server.exceptions.OwException

from

public <T extends org.apache.chemistry.opencmis.client.api.ObjectType> OwCMISNativeObjectClass<T,?> from(T type_p)
                                                                                              throws com.wewebu.ow.server.exceptions.OwException
Description copied from interface: OwCMISNativeSession
Performs ObjectType to OwCMISNativeObjectClass conversion.

Specified by:
from in interface OwCMISNativeSession
Returns:
the OwCMISNativeObjectClass correspondent of the given type.
Throws:
com.wewebu.ow.server.exceptions.OwException

classOf

public <O extends org.apache.chemistry.opencmis.client.api.TransientCmisObject> OwCMISNativeObjectClass<?,O> classOf(O object_p)
                                                                                                          throws com.wewebu.ow.server.exceptions.OwException
Specified by:
classOf in interface OwCMISNativeSession
Returns:
the OwCMISNativeObjectClass of the given TransientCmisObject
Throws:
com.wewebu.ow.server.exceptions.OwException

getOpenCMISSession

public org.apache.chemistry.opencmis.client.api.Session getOpenCMISSession()
Specified by:
getOpenCMISSession in interface OwCMISNativeSession
Returns:
the corresponding Open CMIS Session

getResource

public OwCMISResource getResource()
Specified by:
getResource in interface OwCMISSession

createDefaultClassContext

protected OwCMISNativeObjectClass<?,?>[] createDefaultClassContext()
                                                            throws com.wewebu.ow.server.exceptions.OwException
Throws:
com.wewebu.ow.server.exceptions.OwException

getDefaultOperationContext

protected org.apache.chemistry.opencmis.client.api.OperationContext getDefaultOperationContext()

getDefaultFilter

protected Set<String> getDefaultFilter()

createOperationContext

public org.apache.chemistry.opencmis.client.api.OperationContext createOperationContext(Collection<String> filterPropertyNames_p,
                                                                                        int maxItemsPerPage_p,
                                                                                        OwCMISNativeObjectClass<?,?>... classContext_p)
Specified by:
createOperationContext in interface OwCMISNativeSession
Returns:
an Open CMIS OperationContext with the filter set to the give properties and max items to the given value. Property IDs resolution is done in the given AWD class context.

createOperationContext

public org.apache.chemistry.opencmis.client.api.OperationContext createOperationContext(Collection<String> filterPropertyNames_p,
                                                                                        com.wewebu.ow.server.field.OwSort sorting_p,
                                                                                        int maxItemsPerPage_p,
                                                                                        OwCMISNativeObjectClass<?,?>... classContext_p)
Description copied from interface: OwCMISNativeSession
Create an OperationContext with specific sorting

Specified by:
createOperationContext in interface OwCMISNativeSession
Parameters:
filterPropertyNames_p - Collection of property names
sorting_p - OwSort specific sorting
maxItemsPerPage_p - int page size
classContext_p - OwCMISNativeObjectClass root type representation
Returns:
OperationContext with specific definitions

getObjectClasses

public Set<OwCMISObjectClass> getObjectClasses(int[] iTypes_p,
                                               boolean fExcludeHiddenAndNonInstantiable_p,
                                               boolean fRootOnly_p)
                                        throws com.wewebu.ow.server.exceptions.OwException
Specified by:
getObjectClasses in interface OwCMISSession
Returns:
a list of OwCMISObjectClasses.
Throws:
com.wewebu.ow.server.exceptions.OwException

createObjectSkeleton

public com.wewebu.ow.server.ecm.OwObjectSkeleton createObjectSkeleton(com.wewebu.ow.server.ecm.OwObjectClass objectclass_p,
                                                                      com.wewebu.ow.server.ecm.OwNetwork network)
                                                               throws com.wewebu.ow.server.exceptions.OwException
Specified by:
createObjectSkeleton in interface OwCMISSession
Throws:
com.wewebu.ow.server.exceptions.OwException

getNetwork

public OwCMISNetwork getNetwork()
Specified by:
getNetwork in interface OwCMISSession

getSortString

protected String getSortString(com.wewebu.ow.server.field.OwSort sortingOrder_p,
                               OwCMISNativeObjectClass<?,?>... classContext_p)
Create a string representation for sorting, based on provided definition.

Parameters:
sortingOrder_p - OwSort (can be null)
classContext_p - OwCMISNativeObjectClass array of classes to check for property definition
Returns:
String with CMIS sort definition, or null if sortingOrder could not be transformed into CMIS representation
Since:
4.1.1.1

findPropertyDefinition

protected OwCMISPropertyClass<?> findPropertyDefinition(String propertyName_p,
                                                        OwCMISNativeObjectClass<?,?>... classContext_p)
Helper to identify OwPropertyClass from String id.

Parameters:
propertyName_p - String property definition id
classContext_p - OwCMISNativeObjectClass
Returns:
OwCMISPropertyClass if found, else null is returned
Since:
4.1.1.1


Copyright © 2013 Alfresco Business Solutions. All Rights Reserved.