Return-Path: Delivered-To: apmail-incubator-chemistry-commits-archive@minotaur.apache.org Received: (qmail 55713 invoked from network); 16 Apr 2010 14:03:59 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 16 Apr 2010 14:03:59 -0000 Received: (qmail 42800 invoked by uid 500); 16 Apr 2010 14:03:58 -0000 Delivered-To: apmail-incubator-chemistry-commits-archive@incubator.apache.org Received: (qmail 42738 invoked by uid 500); 16 Apr 2010 14:03:58 -0000 Mailing-List: contact chemistry-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: chemistry-dev@incubator.apache.org Delivered-To: mailing list chemistry-commits@incubator.apache.org Received: (qmail 42681 invoked by uid 99); 16 Apr 2010 14:03:58 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Apr 2010 14:03:57 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Apr 2010 14:03:45 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id B7BB4238897F; Fri, 16 Apr 2010 14:02:41 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r934881 [8/12] - in /incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src: main/java/org/apache/chemistry/opencmis/client/bindings/cache/ main/java/org/apache/chemistry/opencmis/client/bindings... Date: Fri, 16 Apr 2010 14:02:40 -0000 To: chemistry-commits@incubator.apache.org From: dcaruana@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100416140305.B7BB4238897F@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/NavigationServiceImpl.java URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/NavigationServiceImpl.java?rev=934881&r1=934880&r2=934881&view=diff ============================================================================== --- incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/NavigationServiceImpl.java (original) +++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/NavigationServiceImpl.java Fri Apr 16 14:02:38 2010 @@ -48,207 +48,203 @@ import org.apache.chemistry.opencmis.com */ public class NavigationServiceImpl extends AbstractWebServicesService implements NavigationService { - private final PortProvider fPortProvider; + private final PortProvider fPortProvider; - /** - * Constructor. - */ - public NavigationServiceImpl(Session session, PortProvider portProvider) { - setSession(session); - fPortProvider = portProvider; - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.NavigationService#getChildren(java.lang.String, - * java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean, - * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean, - * java.math.BigInteger, java.math.BigInteger, org.apache.opencmis.client.provider.ExtensionsData) - */ - public ObjectInFolderList getChildren(String repositoryId, String folderId, String filter, - String orderBy, Boolean includeAllowableActions, IncludeRelationships includeRelationships, - String renditionFilter, Boolean includePathSegment, BigInteger maxItems, - BigInteger skipCount, ExtensionsData extension) { - NavigationServicePort port = fPortProvider.getNavigationServicePort(); - - try { - return convert(port.getChildren(repositoryId, folderId, filter, orderBy, - includeAllowableActions, convert(EnumIncludeRelationships.class, includeRelationships), - renditionFilter, includePathSegment, maxItems, skipCount, convert(extension))); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.NavigationService#getDescendants(java.lang.String, - * java.lang.String, java.math.BigInteger, java.lang.String, java.lang.Boolean, - * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean, - * org.apache.opencmis.client.provider.ExtensionsData) - */ - public List getDescendants(String repositoryId, String folderId, - BigInteger depth, String filter, Boolean includeAllowableActions, - IncludeRelationships includeRelationships, String renditionFilter, - Boolean includePathSegment, ExtensionsData extension) { - NavigationServicePort port = fPortProvider.getNavigationServicePort(); - - try { - List containerList = port.getDescendants(repositoryId, - folderId, depth, filter, includeAllowableActions, convert(EnumIncludeRelationships.class, - includeRelationships), renditionFilter, includePathSegment, convert(extension)); - - // no list? - if (containerList == null) { - return null; - } - - // convert list - List result = new ArrayList(); - for (CmisObjectInFolderContainerType container : containerList) { - result.add(convert(container)); - } - - return result; - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.NavigationService#getFolderParent(java.lang.String, - * java.lang.String, java.lang.String, org.apache.opencmis.client.provider.ExtensionsData) - */ - public ObjectData getFolderParent(String repositoryId, String folderId, String filter, - ExtensionsData extension) { - NavigationServicePort port = fPortProvider.getNavigationServicePort(); - - try { - return convert(port.getFolderParent(repositoryId, folderId, filter, convert(extension))); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.NavigationService#getFolderTree(java.lang.String, - * java.lang.String, java.math.BigInteger, java.lang.String, java.lang.Boolean, - * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean, - * org.apache.opencmis.client.provider.ExtensionsData) - */ - public List getFolderTree(String repositoryId, String folderId, - BigInteger depth, String filter, Boolean includeAllowableActions, - IncludeRelationships includeRelationships, String renditionFilter, - Boolean includePathSegment, ExtensionsData extension) { - NavigationServicePort port = fPortProvider.getNavigationServicePort(); - - try { - List containerList = port.getFolderTree(repositoryId, - folderId, depth, filter, includeAllowableActions, convert(EnumIncludeRelationships.class, - includeRelationships), renditionFilter, includePathSegment, convert(extension)); - - // no list? - if (containerList == null) { - return null; - } - - // convert list - List result = new ArrayList(); - for (CmisObjectInFolderContainerType container : containerList) { - result.add(convert(container)); - } - - return result; - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.NavigationService#getObjectParents(java.lang.String, - * java.lang.String, java.lang.String, java.lang.Boolean, - * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean, - * org.apache.opencmis.client.provider.ExtensionsData) - */ - public List getObjectParents(String repositoryId, String objectId, - String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, - String renditionFilter, Boolean includeRelativePathSegment, ExtensionsData extension) { - NavigationServicePort port = fPortProvider.getNavigationServicePort(); - - try { - List parentsList = port.getObjectParents(repositoryId, objectId, - filter, includeAllowableActions, convert(EnumIncludeRelationships.class, - includeRelationships), renditionFilter, includeRelativePathSegment, - convert(extension)); - - // no list? - if (parentsList == null) { - return null; - } - - // convert list - List result = new ArrayList(); - for (CmisObjectParentsType parent : parentsList) { - result.add(convert(parent)); - } - - return result; - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.NavigationService#getCheckedOutDocs(java.lang.String, - * java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean, - * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.math.BigInteger, - * java.math.BigInteger, org.apache.opencmis.client.provider.ExtensionsData) - */ - public ObjectList getCheckedOutDocs(String repositoryId, String folderId, String filter, - String orderBy, Boolean includeAllowableActions, IncludeRelationships includeRelationships, - String renditionFilter, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) { - NavigationServicePort port = fPortProvider.getNavigationServicePort(); - - try { - return convert(port.getCheckedOutDocs(repositoryId, folderId, filter, orderBy, - includeAllowableActions, convert(EnumIncludeRelationships.class, includeRelationships), - renditionFilter, maxItems, skipCount, convert(extension))); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } + /** + * Constructor. + */ + public NavigationServiceImpl(Session session, PortProvider portProvider) { + setSession(session); + fPortProvider = portProvider; + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.NavigationService#getChildren(java + * .lang.String, java.lang.String, java.lang.String, java.lang.String, + * java.lang.Boolean, + * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, + * java.lang.Boolean, java.math.BigInteger, java.math.BigInteger, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public ObjectInFolderList getChildren(String repositoryId, String folderId, String filter, String orderBy, + Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, + Boolean includePathSegment, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) { + NavigationServicePort port = fPortProvider.getNavigationServicePort(); + + try { + return convert(port.getChildren(repositoryId, folderId, filter, orderBy, includeAllowableActions, convert( + EnumIncludeRelationships.class, includeRelationships), renditionFilter, includePathSegment, + maxItems, skipCount, convert(extension))); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.NavigationService#getDescendants( + * java.lang.String, java.lang.String, java.math.BigInteger, + * java.lang.String, java.lang.Boolean, + * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, + * java.lang.Boolean, org.apache.opencmis.client.provider.ExtensionsData) + */ + public List getDescendants(String repositoryId, String folderId, BigInteger depth, + String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, + String renditionFilter, Boolean includePathSegment, ExtensionsData extension) { + NavigationServicePort port = fPortProvider.getNavigationServicePort(); + + try { + List containerList = port.getDescendants(repositoryId, folderId, depth, + filter, includeAllowableActions, convert(EnumIncludeRelationships.class, includeRelationships), + renditionFilter, includePathSegment, convert(extension)); + + // no list? + if (containerList == null) { + return null; + } + + // convert list + List result = new ArrayList(); + for (CmisObjectInFolderContainerType container : containerList) { + result.add(convert(container)); + } + + return result; + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.NavigationService#getFolderParent + * (java.lang.String, java.lang.String, java.lang.String, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public ObjectData getFolderParent(String repositoryId, String folderId, String filter, ExtensionsData extension) { + NavigationServicePort port = fPortProvider.getNavigationServicePort(); + + try { + return convert(port.getFolderParent(repositoryId, folderId, filter, convert(extension))); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.NavigationService#getFolderTree(java + * .lang.String, java.lang.String, java.math.BigInteger, java.lang.String, + * java.lang.Boolean, + * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, + * java.lang.Boolean, org.apache.opencmis.client.provider.ExtensionsData) + */ + public List getFolderTree(String repositoryId, String folderId, BigInteger depth, + String filter, Boolean includeAllowableActions, IncludeRelationships includeRelationships, + String renditionFilter, Boolean includePathSegment, ExtensionsData extension) { + NavigationServicePort port = fPortProvider.getNavigationServicePort(); + + try { + List containerList = port.getFolderTree(repositoryId, folderId, depth, + filter, includeAllowableActions, convert(EnumIncludeRelationships.class, includeRelationships), + renditionFilter, includePathSegment, convert(extension)); + + // no list? + if (containerList == null) { + return null; + } + + // convert list + List result = new ArrayList(); + for (CmisObjectInFolderContainerType container : containerList) { + result.add(convert(container)); + } + + return result; + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.NavigationService#getObjectParents + * (java.lang.String, java.lang.String, java.lang.String, java.lang.Boolean, + * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, + * java.lang.Boolean, org.apache.opencmis.client.provider.ExtensionsData) + */ + public List getObjectParents(String repositoryId, String objectId, String filter, + Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, + Boolean includeRelativePathSegment, ExtensionsData extension) { + NavigationServicePort port = fPortProvider.getNavigationServicePort(); + + try { + List parentsList = port.getObjectParents(repositoryId, objectId, filter, + includeAllowableActions, convert(EnumIncludeRelationships.class, includeRelationships), + renditionFilter, includeRelativePathSegment, convert(extension)); + + // no list? + if (parentsList == null) { + return null; + } + + // convert list + List result = new ArrayList(); + for (CmisObjectParentsType parent : parentsList) { + result.add(convert(parent)); + } + + return result; + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.NavigationService#getCheckedOutDocs + * (java.lang.String, java.lang.String, java.lang.String, java.lang.String, + * java.lang.Boolean, + * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, + * java.math.BigInteger, java.math.BigInteger, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public ObjectList getCheckedOutDocs(String repositoryId, String folderId, String filter, String orderBy, + Boolean includeAllowableActions, IncludeRelationships includeRelationships, String renditionFilter, + BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) { + NavigationServicePort port = fPortProvider.getNavigationServicePort(); + + try { + return convert(port.getCheckedOutDocs(repositoryId, folderId, filter, orderBy, includeAllowableActions, + convert(EnumIncludeRelationships.class, includeRelationships), renditionFilter, maxItems, + skipCount, convert(extension))); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } } Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/ObjectServiceImpl.java URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/ObjectServiceImpl.java?rev=934881&r1=934880&r2=934881&view=diff ============================================================================== --- incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/ObjectServiceImpl.java (original) +++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/ObjectServiceImpl.java Fri Apr 16 14:02:38 2010 @@ -59,499 +59,493 @@ import org.apache.chemistry.opencmis.com */ public class ObjectServiceImpl extends AbstractWebServicesService implements ObjectService { - private final PortProvider fPortProvider; + private final PortProvider fPortProvider; - /** - * Constructor. - */ - public ObjectServiceImpl(Session session, PortProvider portProvider) { - setSession(session); - fPortProvider = portProvider; - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#createDocument(java.lang.String, - * org.apache.opencmis.client.provider.PropertiesData, java.lang.String, - * org.apache.opencmis.client.provider.ContentStreamData, org.apache.opencmis.commons.enums.VersioningState, - * java.util.List, org.apache.opencmis.client.provider.AccessControlList, - * org.apache.opencmis.client.provider.AccessControlList, org.apache.opencmis.client.provider.ExtensionsData) - */ - public String createDocument(String repositoryId, Properties properties, String folderId, - ContentStream contentStream, VersioningState versioningState, List policies, - Acl addACEs, Acl removeACEs, ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - javax.xml.ws.Holder objectId = new javax.xml.ws.Holder(); - javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); - - port.createDocument(repositoryId, convert(properties), folderId, convert(contentStream), - convert(EnumVersioningState.class, versioningState), policies, convert(addACEs), - convert(removeACEs), portExtension, objectId); - - setExtensionValues(portExtension, extension); - - return objectId.value; - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#createDocumentFromSource(java.lang.String, - * java.lang.String, org.apache.opencmis.client.provider.PropertiesData, java.lang.String, - * org.apache.opencmis.commons.enums.VersioningState, java.util.List, - * org.apache.opencmis.client.provider.AccessControlList, org.apache.opencmis.client.provider.AccessControlList, - * org.apache.opencmis.client.provider.ExtensionsData) - */ - public String createDocumentFromSource(String repositoryId, String sourceId, - Properties properties, String folderId, VersioningState versioningState, - List policies, Acl addACEs, Acl removeACEs, - ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - javax.xml.ws.Holder objectId = new javax.xml.ws.Holder(); - javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); - - port.createDocumentFromSource(repositoryId, sourceId, convert(properties), folderId, convert( - EnumVersioningState.class, versioningState), policies, convert(addACEs), - convert(removeACEs), portExtension, objectId); - - setExtensionValues(portExtension, extension); - - return objectId.value; - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#createFolder(java.lang.String, - * org.apache.opencmis.client.provider.PropertiesData, java.lang.String, java.util.List, - * org.apache.opencmis.client.provider.AccessControlList, org.apache.opencmis.client.provider.AccessControlList, - * org.apache.opencmis.client.provider.ExtensionsData) - */ - public String createFolder(String repositoryId, Properties properties, String folderId, - List policies, Acl addACEs, Acl removeACEs, - ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - javax.xml.ws.Holder objectId = new javax.xml.ws.Holder(); - javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); - - port.createFolder(repositoryId, convert(properties), folderId, policies, convert(addACEs), - convert(removeACEs), portExtension, objectId); - - setExtensionValues(portExtension, extension); - - return objectId.value; - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#createPolicy(java.lang.String, - * org.apache.opencmis.client.provider.PropertiesData, java.lang.String, java.util.List, - * org.apache.opencmis.client.provider.AccessControlList, org.apache.opencmis.client.provider.AccessControlList, - * org.apache.opencmis.client.provider.ExtensionsData) - */ - public String createPolicy(String repositoryId, Properties properties, String folderId, - List policies, Acl addACEs, Acl removeACEs, - ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - javax.xml.ws.Holder objectId = new javax.xml.ws.Holder(); - javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); - - port.createPolicy(repositoryId, convert(properties), folderId, policies, convert(addACEs), - convert(removeACEs), portExtension, objectId); - - setExtensionValues(portExtension, extension); - - return objectId.value; - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#createRelationship(java.lang.String, - * org.apache.opencmis.client.provider.PropertiesData, java.util.List, - * org.apache.opencmis.client.provider.AccessControlList, org.apache.opencmis.client.provider.AccessControlList, - * org.apache.opencmis.client.provider.ExtensionsData) - */ - public String createRelationship(String repositoryId, Properties properties, - List policies, Acl addACEs, Acl removeACEs, - ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - javax.xml.ws.Holder objectId = new javax.xml.ws.Holder(); - javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); - - port.createRelationship(repositoryId, convert(properties), policies, convert(addACEs), - convert(removeACEs), portExtension, objectId); - - setExtensionValues(portExtension, extension); - - return objectId.value; - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#updateProperties(java.lang.String, - * org.apache.opencmis.client.provider.Holder, org.apache.opencmis.client.provider.Holder, - * org.apache.opencmis.client.provider.PropertiesData, org.apache.opencmis.client.provider.ExtensionsData) - */ - public void updateProperties(String repositoryId, Holder objectId, - Holder changeToken, Properties properties, ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - javax.xml.ws.Holder portObjectId = convertHolder(objectId); - javax.xml.ws.Holder portChangeToken = convertHolder(changeToken); - javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); - - port.updateProperties(repositoryId, portObjectId, portChangeToken, convert(properties), - portExtension); - - setHolderValue(portObjectId, objectId); - setHolderValue(portChangeToken, changeToken); - setExtensionValues(portExtension, extension); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#deleteObject(java.lang.String, - * java.lang.String, java.lang.Boolean, org.apache.opencmis.client.provider.ExtensionsData) - */ - public void deleteObject(String repositoryId, String objectId, Boolean allVersions, - ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); - - port.deleteObject(repositoryId, objectId, allVersions, portExtension); - - setExtensionValues(portExtension, extension); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#deleteTree(java.lang.String, java.lang.String, - * java.lang.Boolean, org.apache.opencmis.commons.enums.UnfileObject, java.lang.Boolean, - * org.apache.opencmis.client.provider.ExtensionsData) - */ - public FailedToDeleteData deleteTree(String repositoryId, String folderId, Boolean allVersions, - UnfileObject unfileObjects, Boolean continueOnFailure, ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - return convert(port.deleteTree(repositoryId, folderId, allVersions, convert( - EnumUnfileObject.class, unfileObjects), continueOnFailure, convert(extension))); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#getAllowableActions(java.lang.String, - * java.lang.String, org.apache.opencmis.client.provider.ExtensionsData) - */ - public AllowableActions getAllowableActions(String repositoryId, String objectId, - ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - return convert(port.getAllowableActions(repositoryId, objectId, convert(extension))); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#getContentStream(java.lang.String, - * java.lang.String, java.lang.String, java.math.BigInteger, java.math.BigInteger, - * org.apache.opencmis.client.provider.ExtensionsData) - */ - public ContentStream getContentStream(String repositoryId, String objectId, String streamId, - BigInteger offset, BigInteger length, ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - return convert(port.getContentStream(repositoryId, objectId, streamId, offset, length, - convert(extension))); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#getObject(java.lang.String, java.lang.String, - * java.lang.String, java.lang.Boolean, org.apache.opencmis.commons.enums.IncludeRelationships, - * java.lang.String, java.lang.Boolean, java.lang.Boolean, - * org.apache.opencmis.client.provider.ExtensionsData) - */ - public ObjectData getObject(String repositoryId, String objectId, String filter, - Boolean includeAllowableActions, IncludeRelationships includeRelationships, - String renditionFilter, Boolean includePolicyIds, Boolean includeACL, ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - return convert(port.getObject(repositoryId, objectId, filter, includeAllowableActions, - convert(EnumIncludeRelationships.class, includeRelationships), renditionFilter, - includePolicyIds, includeACL, convert(extension))); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#getObjectByPath(java.lang.String, - * java.lang.String, java.lang.String, java.lang.Boolean, - * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, java.lang.Boolean, - * java.lang.Boolean, org.apache.opencmis.client.provider.ExtensionsData) - */ - public ObjectData getObjectByPath(String repositoryId, String path, String filter, - Boolean includeAllowableActions, IncludeRelationships includeRelationships, - String renditionFilter, Boolean includePolicyIds, Boolean includeACL, ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - return convert(port.getObjectByPath(repositoryId, path, filter, includeAllowableActions, - convert(EnumIncludeRelationships.class, includeRelationships), renditionFilter, - includePolicyIds, includeACL, convert(extension))); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#getProperties(java.lang.String, - * java.lang.String, java.lang.String, org.apache.opencmis.client.provider.ExtensionsData) - */ - public Properties getProperties(String repositoryId, String objectId, String filter, - ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - return convert(port.getProperties(repositoryId, objectId, filter, convert(extension))); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#getRenditions(java.lang.String, - * java.lang.String, java.lang.String, java.math.BigInteger, java.math.BigInteger, - * org.apache.opencmis.client.provider.ExtensionsData) - */ - public List getRenditions(String repositoryId, String objectId, - String renditionFilter, BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - List renditionList = port.getRenditions(repositoryId, objectId, - renditionFilter, maxItems, skipCount, convert(extension)); - - // no list? - if (renditionList == null) { - return null; - } - - // convert list - List result = new ArrayList(); - for (CmisRenditionType rendition : renditionList) { - result.add(convert(rendition)); - } - - return result; - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#moveObject(java.lang.String, - * org.apache.opencmis.client.provider.Holder, java.lang.String, java.lang.String, - * org.apache.opencmis.client.provider.ExtensionsData) - */ - public void moveObject(String repositoryId, Holder objectId, String targetFolderId, - String sourceFolderId, ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - javax.xml.ws.Holder portObjectId = convertHolder(objectId); - javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); - - port.moveObject(repositoryId, portObjectId, targetFolderId, sourceFolderId, portExtension); - - setHolderValue(portObjectId, objectId); - setExtensionValues(portExtension, extension); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#setContentStream(java.lang.String, - * org.apache.opencmis.client.provider.Holder, java.lang.Boolean, org.apache.opencmis.client.provider.Holder, - * org.apache.opencmis.client.provider.ContentStreamData, org.apache.opencmis.client.provider.ExtensionsData) - */ - public void setContentStream(String repositoryId, Holder objectId, Boolean overwriteFlag, - Holder changeToken, ContentStream contentStream, ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - javax.xml.ws.Holder portObjectId = convertHolder(objectId); - javax.xml.ws.Holder portChangeToken = convertHolder(changeToken); - javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); - - port.setContentStream(repositoryId, portObjectId, overwriteFlag, portChangeToken, - convert(contentStream), portExtension); - - setHolderValue(portObjectId, objectId); - setHolderValue(portChangeToken, changeToken); - setExtensionValues(portExtension, extension); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.ObjectService#deleteContentStream(java.lang.String, - * org.apache.opencmis.client.provider.Holder, org.apache.opencmis.client.provider.Holder, - * org.apache.opencmis.client.provider.ExtensionsData) - */ - public void deleteContentStream(String repositoryId, Holder objectId, - Holder changeToken, ExtensionsData extension) { - ObjectServicePort port = fPortProvider.getObjectServicePort(); - - try { - javax.xml.ws.Holder portObjectId = convertHolder(objectId); - javax.xml.ws.Holder portChangeToken = convertHolder(changeToken); - javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); - - port.deleteContentStream(repositoryId, portObjectId, portChangeToken, portExtension); - - setHolderValue(portObjectId, objectId); - setHolderValue(portChangeToken, changeToken); - setExtensionValues(portExtension, extension); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } + /** + * Constructor. + */ + public ObjectServiceImpl(Session session, PortProvider portProvider) { + setSession(session); + fPortProvider = portProvider; + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#createDocument(java + * .lang.String, org.apache.opencmis.client.provider.PropertiesData, + * java.lang.String, org.apache.opencmis.client.provider.ContentStreamData, + * org.apache.opencmis.commons.enums.VersioningState, java.util.List, + * org.apache.opencmis.client.provider.AccessControlList, + * org.apache.opencmis.client.provider.AccessControlList, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public String createDocument(String repositoryId, Properties properties, String folderId, + ContentStream contentStream, VersioningState versioningState, List policies, Acl addACEs, + Acl removeACEs, ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + javax.xml.ws.Holder objectId = new javax.xml.ws.Holder(); + javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); + + port.createDocument(repositoryId, convert(properties), folderId, convert(contentStream), convert( + EnumVersioningState.class, versioningState), policies, convert(addACEs), convert(removeACEs), + portExtension, objectId); + + setExtensionValues(portExtension, extension); + + return objectId.value; + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#createDocumentFromSource + * (java.lang.String, java.lang.String, + * org.apache.opencmis.client.provider.PropertiesData, java.lang.String, + * org.apache.opencmis.commons.enums.VersioningState, java.util.List, + * org.apache.opencmis.client.provider.AccessControlList, + * org.apache.opencmis.client.provider.AccessControlList, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public String createDocumentFromSource(String repositoryId, String sourceId, Properties properties, + String folderId, VersioningState versioningState, List policies, Acl addACEs, Acl removeACEs, + ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + javax.xml.ws.Holder objectId = new javax.xml.ws.Holder(); + javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); + + port.createDocumentFromSource(repositoryId, sourceId, convert(properties), folderId, convert( + EnumVersioningState.class, versioningState), policies, convert(addACEs), convert(removeACEs), + portExtension, objectId); + + setExtensionValues(portExtension, extension); + + return objectId.value; + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#createFolder(java.lang + * .String, org.apache.opencmis.client.provider.PropertiesData, + * java.lang.String, java.util.List, + * org.apache.opencmis.client.provider.AccessControlList, + * org.apache.opencmis.client.provider.AccessControlList, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public String createFolder(String repositoryId, Properties properties, String folderId, List policies, + Acl addACEs, Acl removeACEs, ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + javax.xml.ws.Holder objectId = new javax.xml.ws.Holder(); + javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); + + port.createFolder(repositoryId, convert(properties), folderId, policies, convert(addACEs), + convert(removeACEs), portExtension, objectId); + + setExtensionValues(portExtension, extension); + + return objectId.value; + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#createPolicy(java.lang + * .String, org.apache.opencmis.client.provider.PropertiesData, + * java.lang.String, java.util.List, + * org.apache.opencmis.client.provider.AccessControlList, + * org.apache.opencmis.client.provider.AccessControlList, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public String createPolicy(String repositoryId, Properties properties, String folderId, List policies, + Acl addACEs, Acl removeACEs, ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + javax.xml.ws.Holder objectId = new javax.xml.ws.Holder(); + javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); + + port.createPolicy(repositoryId, convert(properties), folderId, policies, convert(addACEs), + convert(removeACEs), portExtension, objectId); + + setExtensionValues(portExtension, extension); + + return objectId.value; + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#createRelationship( + * java.lang.String, org.apache.opencmis.client.provider.PropertiesData, + * java.util.List, org.apache.opencmis.client.provider.AccessControlList, + * org.apache.opencmis.client.provider.AccessControlList, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public String createRelationship(String repositoryId, Properties properties, List policies, Acl addACEs, + Acl removeACEs, ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + javax.xml.ws.Holder objectId = new javax.xml.ws.Holder(); + javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); + + port.createRelationship(repositoryId, convert(properties), policies, convert(addACEs), convert(removeACEs), + portExtension, objectId); + + setExtensionValues(portExtension, extension); + + return objectId.value; + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#updateProperties(java + * .lang.String, org.apache.opencmis.client.provider.Holder, + * org.apache.opencmis.client.provider.Holder, + * org.apache.opencmis.client.provider.PropertiesData, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public void updateProperties(String repositoryId, Holder objectId, Holder changeToken, + Properties properties, ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + javax.xml.ws.Holder portObjectId = convertHolder(objectId); + javax.xml.ws.Holder portChangeToken = convertHolder(changeToken); + javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); + + port.updateProperties(repositoryId, portObjectId, portChangeToken, convert(properties), portExtension); + + setHolderValue(portObjectId, objectId); + setHolderValue(portChangeToken, changeToken); + setExtensionValues(portExtension, extension); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#deleteObject(java.lang + * .String, java.lang.String, java.lang.Boolean, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public void deleteObject(String repositoryId, String objectId, Boolean allVersions, ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); + + port.deleteObject(repositoryId, objectId, allVersions, portExtension); + + setExtensionValues(portExtension, extension); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#deleteTree(java.lang + * .String, java.lang.String, java.lang.Boolean, + * org.apache.opencmis.commons.enums.UnfileObject, java.lang.Boolean, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public FailedToDeleteData deleteTree(String repositoryId, String folderId, Boolean allVersions, + UnfileObject unfileObjects, Boolean continueOnFailure, ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + return convert(port.deleteTree(repositoryId, folderId, allVersions, convert(EnumUnfileObject.class, + unfileObjects), continueOnFailure, convert(extension))); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#getAllowableActions + * (java.lang.String, java.lang.String, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public AllowableActions getAllowableActions(String repositoryId, String objectId, ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + return convert(port.getAllowableActions(repositoryId, objectId, convert(extension))); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#getContentStream(java + * .lang.String, java.lang.String, java.lang.String, java.math.BigInteger, + * java.math.BigInteger, org.apache.opencmis.client.provider.ExtensionsData) + */ + public ContentStream getContentStream(String repositoryId, String objectId, String streamId, BigInteger offset, + BigInteger length, ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + return convert(port.getContentStream(repositoryId, objectId, streamId, offset, length, convert(extension))); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#getObject(java.lang + * .String, java.lang.String, java.lang.String, java.lang.Boolean, + * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, + * java.lang.Boolean, java.lang.Boolean, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public ObjectData getObject(String repositoryId, String objectId, String filter, Boolean includeAllowableActions, + IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds, + Boolean includeACL, ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + return convert(port.getObject(repositoryId, objectId, filter, includeAllowableActions, convert( + EnumIncludeRelationships.class, includeRelationships), renditionFilter, includePolicyIds, + includeACL, convert(extension))); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#getObjectByPath(java + * .lang.String, java.lang.String, java.lang.String, java.lang.Boolean, + * org.apache.opencmis.commons.enums.IncludeRelationships, java.lang.String, + * java.lang.Boolean, java.lang.Boolean, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public ObjectData getObjectByPath(String repositoryId, String path, String filter, Boolean includeAllowableActions, + IncludeRelationships includeRelationships, String renditionFilter, Boolean includePolicyIds, + Boolean includeACL, ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + return convert(port.getObjectByPath(repositoryId, path, filter, includeAllowableActions, convert( + EnumIncludeRelationships.class, includeRelationships), renditionFilter, includePolicyIds, + includeACL, convert(extension))); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#getProperties(java. + * lang.String, java.lang.String, java.lang.String, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public Properties getProperties(String repositoryId, String objectId, String filter, ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + return convert(port.getProperties(repositoryId, objectId, filter, convert(extension))); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#getRenditions(java. + * lang.String, java.lang.String, java.lang.String, java.math.BigInteger, + * java.math.BigInteger, org.apache.opencmis.client.provider.ExtensionsData) + */ + public List getRenditions(String repositoryId, String objectId, String renditionFilter, + BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + List renditionList = port.getRenditions(repositoryId, objectId, renditionFilter, + maxItems, skipCount, convert(extension)); + + // no list? + if (renditionList == null) { + return null; + } + + // convert list + List result = new ArrayList(); + for (CmisRenditionType rendition : renditionList) { + result.add(convert(rendition)); + } + + return result; + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#moveObject(java.lang + * .String, org.apache.opencmis.client.provider.Holder, java.lang.String, + * java.lang.String, org.apache.opencmis.client.provider.ExtensionsData) + */ + public void moveObject(String repositoryId, Holder objectId, String targetFolderId, String sourceFolderId, + ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + javax.xml.ws.Holder portObjectId = convertHolder(objectId); + javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); + + port.moveObject(repositoryId, portObjectId, targetFolderId, sourceFolderId, portExtension); + + setHolderValue(portObjectId, objectId); + setExtensionValues(portExtension, extension); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#setContentStream(java + * .lang.String, org.apache.opencmis.client.provider.Holder, + * java.lang.Boolean, org.apache.opencmis.client.provider.Holder, + * org.apache.opencmis.client.provider.ContentStreamData, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public void setContentStream(String repositoryId, Holder objectId, Boolean overwriteFlag, + Holder changeToken, ContentStream contentStream, ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + javax.xml.ws.Holder portObjectId = convertHolder(objectId); + javax.xml.ws.Holder portChangeToken = convertHolder(changeToken); + javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); + + port.setContentStream(repositoryId, portObjectId, overwriteFlag, portChangeToken, convert(contentStream), + portExtension); + + setHolderValue(portObjectId, objectId); + setHolderValue(portChangeToken, changeToken); + setExtensionValues(portExtension, extension); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.ObjectService#deleteContentStream + * (java.lang.String, org.apache.opencmis.client.provider.Holder, + * org.apache.opencmis.client.provider.Holder, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public void deleteContentStream(String repositoryId, Holder objectId, Holder changeToken, + ExtensionsData extension) { + ObjectServicePort port = fPortProvider.getObjectServicePort(); + + try { + javax.xml.ws.Holder portObjectId = convertHolder(objectId); + javax.xml.ws.Holder portChangeToken = convertHolder(changeToken); + javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); + + port.deleteContentStream(repositoryId, portObjectId, portChangeToken, portExtension); + + setHolderValue(portObjectId, objectId); + setHolderValue(portChangeToken, changeToken); + setExtensionValues(portExtension, extension); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } } Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/PolicyServiceImpl.java URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/PolicyServiceImpl.java?rev=934881&r1=934880&r2=934881&view=diff ============================================================================== --- incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/PolicyServiceImpl.java (original) +++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/PolicyServiceImpl.java Fri Apr 16 14:02:38 2010 @@ -43,98 +43,96 @@ import org.apache.chemistry.opencmis.com */ public class PolicyServiceImpl extends AbstractWebServicesService implements PolicyService { - private final PortProvider fPortProvider; + private final PortProvider fPortProvider; - /** - * Constructor. - */ - public PolicyServiceImpl(Session session, PortProvider portProvider) { - setSession(session); - fPortProvider = portProvider; - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.PolicyService#applyPolicy(java.lang.String, - * java.lang.String, java.lang.String, org.apache.opencmis.client.provider.ExtensionsData) - */ - public void applyPolicy(String repositoryId, String policyId, String objectId, - ExtensionsData extension) { - PolicyServicePort port = fPortProvider.getPolicyServicePort(); - - try { - javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); - - port.applyPolicy(repositoryId, policyId, objectId, portExtension); - - setExtensionValues(portExtension, extension); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.PolicyService#removePolicy(java.lang.String, - * java.lang.String, java.lang.String, org.apache.opencmis.client.provider.ExtensionsData) - */ - public void removePolicy(String repositoryId, String policyId, String objectId, - ExtensionsData extension) { - PolicyServicePort port = fPortProvider.getPolicyServicePort(); - - try { - javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); - - port.removePolicy(repositoryId, policyId, objectId, portExtension); - - setExtensionValues(portExtension, extension); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } - - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.PolicyService#getAppliedPolicies(java.lang.String, - * java.lang.String, java.lang.String, org.apache.opencmis.client.provider.ExtensionsData) - */ - public List getAppliedPolicies(String repositoryId, String objectId, String filter, - ExtensionsData extension) { - PolicyServicePort port = fPortProvider.getPolicyServicePort(); - - try { - List policyList = port.getAppliedPolicies(repositoryId, objectId, filter, - convert(extension)); - - // no list? - if (policyList == null) { - return null; - } - - // convert list - List result = new ArrayList(); - for (CmisObjectType policy : policyList) { - result.add(convert(policy)); - } - - return result; - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } + /** + * Constructor. + */ + public PolicyServiceImpl(Session session, PortProvider portProvider) { + setSession(session); + fPortProvider = portProvider; + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.PolicyService#applyPolicy(java.lang + * .String, java.lang.String, java.lang.String, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public void applyPolicy(String repositoryId, String policyId, String objectId, ExtensionsData extension) { + PolicyServicePort port = fPortProvider.getPolicyServicePort(); + + try { + javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); + + port.applyPolicy(repositoryId, policyId, objectId, portExtension); + + setExtensionValues(portExtension, extension); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.PolicyService#removePolicy(java.lang + * .String, java.lang.String, java.lang.String, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public void removePolicy(String repositoryId, String policyId, String objectId, ExtensionsData extension) { + PolicyServicePort port = fPortProvider.getPolicyServicePort(); + + try { + javax.xml.ws.Holder portExtension = convertExtensionHolder(extension); + + port.removePolicy(repositoryId, policyId, objectId, portExtension); + + setExtensionValues(portExtension, extension); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } + + /* + * (non-Javadoc) + * + * @see + * org.apache.opencmis.client.provider.PolicyService#getAppliedPolicies( + * java.lang.String, java.lang.String, java.lang.String, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public List getAppliedPolicies(String repositoryId, String objectId, String filter, + ExtensionsData extension) { + PolicyServicePort port = fPortProvider.getPolicyServicePort(); + + try { + List policyList = port.getAppliedPolicies(repositoryId, objectId, filter, + convert(extension)); + + // no list? + if (policyList == null) { + return null; + } + + // convert list + List result = new ArrayList(); + for (CmisObjectType policy : policyList) { + result.add(convert(policy)); + } + + return result; + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } } Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/PortProvider.java URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/PortProvider.java?rev=934881&r1=934880&r2=934881&view=diff ============================================================================== --- incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/PortProvider.java (original) +++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/PortProvider.java Fri Apr 16 14:02:38 2010 @@ -71,246 +71,230 @@ import com.sun.xml.ws.developer.WSBindin */ public class PortProvider { - private static Log log = LogFactory.getLog(PortProvider.class); + private static Log log = LogFactory.getLog(PortProvider.class); - public static final String CMIS_NAMESPACE = "http://docs.oasis-open.org/ns/cmis/ws/200908/"; + public static final String CMIS_NAMESPACE = "http://docs.oasis-open.org/ns/cmis/ws/200908/"; - public static final String REPOSITORY_SERVICE = "RepositoryService"; - public static final String OBJECT_SERVICE = "ObjectService"; - public static final String DISCOVERY_SERVICE = "DiscoveryService"; - public static final String NAVIGATION_SERVICE = "NavigationService"; - public static final String MULTIFILING_SERVICE = "MulifilingService"; - public static final String VERSIONING_SERVICE = "VersioningService"; - public static final String RELATIONSHIP_SERVICE = "RelationshipService"; - public static final String POLICY_SERVICE = "PolicyService"; - public static final String ACL_SERVICE = "ACLService"; - - private static final int CHUNK_SIZE = 64 * 1024; - - private final Session fSession; - - /** - * Constructor. - */ - public PortProvider(Session session) { - fSession = session; - } - - /** - * Return the Repository Service port object. - */ - public RepositoryServicePort getRepositoryServicePort() { - return (RepositoryServicePort) getPortObject(SessionParameter.WEBSERVICES_REPOSITORY_SERVICE); - } - - /** - * Return the Navigation Service port object. - */ - public NavigationServicePort getNavigationServicePort() { - return (NavigationServicePort) getPortObject(SessionParameter.WEBSERVICES_NAVIGATION_SERVICE); - } - - /** - * Return the Object Service port object. - */ - public ObjectServicePort getObjectServicePort() { - return (ObjectServicePort) getPortObject(SessionParameter.WEBSERVICES_OBJECT_SERVICE); - } - - /** - * Return the Versioning Service port object. - */ - public VersioningServicePort getVersioningServicePort() { - return (VersioningServicePort) getPortObject(SessionParameter.WEBSERVICES_VERSIONING_SERVICE); - } - - /** - * Return the Discovery Service port object. - */ - public DiscoveryServicePort getDiscoveryServicePort() { - return (DiscoveryServicePort) getPortObject(SessionParameter.WEBSERVICES_DISCOVERY_SERVICE); - } - - /** - * Return the MultiFiling Service port object. - */ - public MultiFilingServicePort getMultiFilingServicePort() { - return (MultiFilingServicePort) getPortObject(SessionParameter.WEBSERVICES_MULTIFILING_SERVICE); - } - - /** - * Return the Relationship Service port object. - */ - public RelationshipServicePort getRelationshipServicePort() { - return (RelationshipServicePort) getPortObject(SessionParameter.WEBSERVICES_RELATIONSHIP_SERVICE); - } - - /** - * Return the Policy Service port object. - */ - public PolicyServicePort getPolicyServicePort() { - return (PolicyServicePort) getPortObject(SessionParameter.WEBSERVICES_POLICY_SERVICE); - } - - /** - * Return the ACL Service port object. - */ - public ACLServicePort getACLServicePort() { - return (ACLServicePort) getPortObject(SessionParameter.WEBSERVICES_ACL_SERVICE); - } - - // ---- internal ---- - - /** - * Gets a port object from the session or (re-)initializes the port objects. - */ - @SuppressWarnings("unchecked") - private Object getPortObject(String portKey) { - Map portMap = (Map) fSession.get(SpiSessionParameter.PORTS); - - // does the port map exist? - if (portMap == null) { - fSession.writeLock(); - try { - // try again - portMap = (Map) fSession.get(SpiSessionParameter.PORTS); - if (portMap == null) { - portMap = Collections.synchronizedMap(new HashMap()); - fSession.put(SpiSessionParameter.PORTS, portMap, true); - } - - if (portMap.containsKey(portKey)) { - return portMap.get(portKey); - } - - // create object - Object portObject = initPortObject(portKey); - portMap.put(portKey, portObject); - - return portObject; - } - finally { - fSession.writeUnlock(); - } - } - - // is the port in the port map? - if (!portMap.containsKey(portKey)) { - fSession.writeLock(); - try { - // try again - if (portMap.containsKey(portKey)) { - return portMap.get(portKey); - } - - // create object - Object portObject = initPortObject(portKey); - portMap.put(portKey, portObject); - - return portObject; - } - finally { - fSession.writeUnlock(); - } - } - - return portMap.get(portKey); - } - - /** - * Creates a port object. - */ - private Object initPortObject(String portKey) { - Object portObject = null; - - if (log.isDebugEnabled()) { - log.debug("Initializing Web Service " + portKey + "..."); - } - - try { - // get WSDL URL - URL wsdlUrl = new URL((String) fSession.get(portKey)); - - // build the requested port object - if (SessionParameter.WEBSERVICES_REPOSITORY_SERVICE.equals(portKey)) { - RepositoryService service = new RepositoryService(wsdlUrl, new QName(CMIS_NAMESPACE, - REPOSITORY_SERVICE)); - portObject = service.getRepositoryServicePort(new MTOMFeature()); - } - else if (SessionParameter.WEBSERVICES_NAVIGATION_SERVICE.equals(portKey)) { - NavigationService service = new NavigationService(wsdlUrl, new QName(CMIS_NAMESPACE, - NAVIGATION_SERVICE)); - portObject = service.getNavigationServicePort(new MTOMFeature()); - } - else if (SessionParameter.WEBSERVICES_OBJECT_SERVICE.equals(portKey)) { - ObjectService service = new ObjectService(wsdlUrl, - new QName(CMIS_NAMESPACE, OBJECT_SERVICE)); - portObject = service.getObjectServicePort(new MTOMFeature(), - new StreamingAttachmentFeature(null, true, 4 * 1024 * 1024)); - ((BindingProvider) portObject).getRequestContext().put( - JAXWSProperties.HTTP_CLIENT_STREAMING_CHUNK_SIZE, CHUNK_SIZE); - } - else if (SessionParameter.WEBSERVICES_VERSIONING_SERVICE.equals(portKey)) { - VersioningService service = new VersioningService(wsdlUrl, new QName(CMIS_NAMESPACE, - VERSIONING_SERVICE)); - portObject = service.getVersioningServicePort(new MTOMFeature()); - } - else if (SessionParameter.WEBSERVICES_DISCOVERY_SERVICE.equals(portKey)) { - DiscoveryService service = new DiscoveryService(wsdlUrl, new QName(CMIS_NAMESPACE, - DISCOVERY_SERVICE)); - portObject = service.getDiscoveryServicePort(new MTOMFeature()); - } - else if (SessionParameter.WEBSERVICES_MULTIFILING_SERVICE.equals(portKey)) { - MultiFilingService service = new MultiFilingService(wsdlUrl, new QName(CMIS_NAMESPACE, - MULTIFILING_SERVICE)); - portObject = service.getMultiFilingServicePort(new MTOMFeature()); - } - else if (SessionParameter.WEBSERVICES_RELATIONSHIP_SERVICE.equals(portKey)) { - RelationshipService service = new RelationshipService(wsdlUrl, new QName(CMIS_NAMESPACE, - RELATIONSHIP_SERVICE)); - portObject = service.getRelationshipServicePort(new MTOMFeature()); - } - else if (SessionParameter.WEBSERVICES_POLICY_SERVICE.equals(portKey)) { - PolicyService service = new PolicyService(wsdlUrl, - new QName(CMIS_NAMESPACE, POLICY_SERVICE)); - portObject = service.getPolicyServicePort(new MTOMFeature()); - } - else if (SessionParameter.WEBSERVICES_ACL_SERVICE.equals(portKey)) { - ACLService service = new ACLService(wsdlUrl, new QName(CMIS_NAMESPACE, ACL_SERVICE)); - portObject = service.getACLServicePort(new MTOMFeature()); - } - - // add SOAP and HTTP authentication headers - AbstractAuthenticationProvider authProvider = CmisBindingsHelper - .getAuthenticationProvider(fSession); - if (authProvider != null) { - // SOAP header - Element soapHeader = authProvider.getSOAPHeaders(portObject); - if (soapHeader != null) { - ((WSBindingProvider) portObject).setOutboundHeaders(Headers.create(soapHeader)); - } - - // HTTP header - Map> httpHeaders = authProvider.getHTTPHeaders(wsdlUrl.toString()); - if (httpHeaders != null) { - ((BindingProvider) portObject).getRequestContext().put( - MessageContext.HTTP_REQUEST_HEADERS, httpHeaders); - } - } - } - catch (CmisBaseException ce) { - throw ce; - } - catch (Exception e) { - throw new CmisConnectionException("Cannot initalize Web Services port object [" + portKey - + "]: " + e.getMessage(), e); - } - - // we have no object ... strange ... - if (portObject == null) { - throw new CmisRuntimeException("Cannot find Web Services port object [" + portKey + "]!"); - } + public static final String REPOSITORY_SERVICE = "RepositoryService"; + public static final String OBJECT_SERVICE = "ObjectService"; + public static final String DISCOVERY_SERVICE = "DiscoveryService"; + public static final String NAVIGATION_SERVICE = "NavigationService"; + public static final String MULTIFILING_SERVICE = "MulifilingService"; + public static final String VERSIONING_SERVICE = "VersioningService"; + public static final String RELATIONSHIP_SERVICE = "RelationshipService"; + public static final String POLICY_SERVICE = "PolicyService"; + public static final String ACL_SERVICE = "ACLService"; + + private static final int CHUNK_SIZE = 64 * 1024; + + private final Session fSession; + + /** + * Constructor. + */ + public PortProvider(Session session) { + fSession = session; + } + + /** + * Return the Repository Service port object. + */ + public RepositoryServicePort getRepositoryServicePort() { + return (RepositoryServicePort) getPortObject(SessionParameter.WEBSERVICES_REPOSITORY_SERVICE); + } + + /** + * Return the Navigation Service port object. + */ + public NavigationServicePort getNavigationServicePort() { + return (NavigationServicePort) getPortObject(SessionParameter.WEBSERVICES_NAVIGATION_SERVICE); + } + + /** + * Return the Object Service port object. + */ + public ObjectServicePort getObjectServicePort() { + return (ObjectServicePort) getPortObject(SessionParameter.WEBSERVICES_OBJECT_SERVICE); + } + + /** + * Return the Versioning Service port object. + */ + public VersioningServicePort getVersioningServicePort() { + return (VersioningServicePort) getPortObject(SessionParameter.WEBSERVICES_VERSIONING_SERVICE); + } + + /** + * Return the Discovery Service port object. + */ + public DiscoveryServicePort getDiscoveryServicePort() { + return (DiscoveryServicePort) getPortObject(SessionParameter.WEBSERVICES_DISCOVERY_SERVICE); + } + + /** + * Return the MultiFiling Service port object. + */ + public MultiFilingServicePort getMultiFilingServicePort() { + return (MultiFilingServicePort) getPortObject(SessionParameter.WEBSERVICES_MULTIFILING_SERVICE); + } + + /** + * Return the Relationship Service port object. + */ + public RelationshipServicePort getRelationshipServicePort() { + return (RelationshipServicePort) getPortObject(SessionParameter.WEBSERVICES_RELATIONSHIP_SERVICE); + } + + /** + * Return the Policy Service port object. + */ + public PolicyServicePort getPolicyServicePort() { + return (PolicyServicePort) getPortObject(SessionParameter.WEBSERVICES_POLICY_SERVICE); + } + + /** + * Return the ACL Service port object. + */ + public ACLServicePort getACLServicePort() { + return (ACLServicePort) getPortObject(SessionParameter.WEBSERVICES_ACL_SERVICE); + } + + // ---- internal ---- + + /** + * Gets a port object from the session or (re-)initializes the port objects. + */ + @SuppressWarnings("unchecked") + private Object getPortObject(String portKey) { + Map portMap = (Map) fSession.get(SpiSessionParameter.PORTS); + + // does the port map exist? + if (portMap == null) { + fSession.writeLock(); + try { + // try again + portMap = (Map) fSession.get(SpiSessionParameter.PORTS); + if (portMap == null) { + portMap = Collections.synchronizedMap(new HashMap()); + fSession.put(SpiSessionParameter.PORTS, portMap, true); + } + + if (portMap.containsKey(portKey)) { + return portMap.get(portKey); + } + + // create object + Object portObject = initPortObject(portKey); + portMap.put(portKey, portObject); + + return portObject; + } finally { + fSession.writeUnlock(); + } + } + + // is the port in the port map? + if (!portMap.containsKey(portKey)) { + fSession.writeLock(); + try { + // try again + if (portMap.containsKey(portKey)) { + return portMap.get(portKey); + } + + // create object + Object portObject = initPortObject(portKey); + portMap.put(portKey, portObject); + + return portObject; + } finally { + fSession.writeUnlock(); + } + } + + return portMap.get(portKey); + } + + /** + * Creates a port object. + */ + private Object initPortObject(String portKey) { + Object portObject = null; + + if (log.isDebugEnabled()) { + log.debug("Initializing Web Service " + portKey + "..."); + } + + try { + // get WSDL URL + URL wsdlUrl = new URL((String) fSession.get(portKey)); + + // build the requested port object + if (SessionParameter.WEBSERVICES_REPOSITORY_SERVICE.equals(portKey)) { + RepositoryService service = new RepositoryService(wsdlUrl, + new QName(CMIS_NAMESPACE, REPOSITORY_SERVICE)); + portObject = service.getRepositoryServicePort(new MTOMFeature()); + } else if (SessionParameter.WEBSERVICES_NAVIGATION_SERVICE.equals(portKey)) { + NavigationService service = new NavigationService(wsdlUrl, + new QName(CMIS_NAMESPACE, NAVIGATION_SERVICE)); + portObject = service.getNavigationServicePort(new MTOMFeature()); + } else if (SessionParameter.WEBSERVICES_OBJECT_SERVICE.equals(portKey)) { + ObjectService service = new ObjectService(wsdlUrl, new QName(CMIS_NAMESPACE, OBJECT_SERVICE)); + portObject = service.getObjectServicePort(new MTOMFeature(), new StreamingAttachmentFeature(null, true, + 4 * 1024 * 1024)); + ((BindingProvider) portObject).getRequestContext().put( + JAXWSProperties.HTTP_CLIENT_STREAMING_CHUNK_SIZE, CHUNK_SIZE); + } else if (SessionParameter.WEBSERVICES_VERSIONING_SERVICE.equals(portKey)) { + VersioningService service = new VersioningService(wsdlUrl, + new QName(CMIS_NAMESPACE, VERSIONING_SERVICE)); + portObject = service.getVersioningServicePort(new MTOMFeature()); + } else if (SessionParameter.WEBSERVICES_DISCOVERY_SERVICE.equals(portKey)) { + DiscoveryService service = new DiscoveryService(wsdlUrl, new QName(CMIS_NAMESPACE, DISCOVERY_SERVICE)); + portObject = service.getDiscoveryServicePort(new MTOMFeature()); + } else if (SessionParameter.WEBSERVICES_MULTIFILING_SERVICE.equals(portKey)) { + MultiFilingService service = new MultiFilingService(wsdlUrl, new QName(CMIS_NAMESPACE, + MULTIFILING_SERVICE)); + portObject = service.getMultiFilingServicePort(new MTOMFeature()); + } else if (SessionParameter.WEBSERVICES_RELATIONSHIP_SERVICE.equals(portKey)) { + RelationshipService service = new RelationshipService(wsdlUrl, new QName(CMIS_NAMESPACE, + RELATIONSHIP_SERVICE)); + portObject = service.getRelationshipServicePort(new MTOMFeature()); + } else if (SessionParameter.WEBSERVICES_POLICY_SERVICE.equals(portKey)) { + PolicyService service = new PolicyService(wsdlUrl, new QName(CMIS_NAMESPACE, POLICY_SERVICE)); + portObject = service.getPolicyServicePort(new MTOMFeature()); + } else if (SessionParameter.WEBSERVICES_ACL_SERVICE.equals(portKey)) { + ACLService service = new ACLService(wsdlUrl, new QName(CMIS_NAMESPACE, ACL_SERVICE)); + portObject = service.getACLServicePort(new MTOMFeature()); + } + + // add SOAP and HTTP authentication headers + AbstractAuthenticationProvider authProvider = CmisBindingsHelper.getAuthenticationProvider(fSession); + if (authProvider != null) { + // SOAP header + Element soapHeader = authProvider.getSOAPHeaders(portObject); + if (soapHeader != null) { + ((WSBindingProvider) portObject).setOutboundHeaders(Headers.create(soapHeader)); + } + + // HTTP header + Map> httpHeaders = authProvider.getHTTPHeaders(wsdlUrl.toString()); + if (httpHeaders != null) { + ((BindingProvider) portObject).getRequestContext().put(MessageContext.HTTP_REQUEST_HEADERS, + httpHeaders); + } + } + } catch (CmisBaseException ce) { + throw ce; + } catch (Exception e) { + throw new CmisConnectionException("Cannot initalize Web Services port object [" + portKey + "]: " + + e.getMessage(), e); + } + + // we have no object ... strange ... + if (portObject == null) { + throw new CmisRuntimeException("Cannot find Web Services port object [" + portKey + "]!"); + } - return portObject; - } + return portObject; + } } Modified: incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/RelationshipServiceImpl.java URL: http://svn.apache.org/viewvc/incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/RelationshipServiceImpl.java?rev=934881&r1=934880&r2=934881&view=diff ============================================================================== --- incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/RelationshipServiceImpl.java (original) +++ incubator/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/RelationshipServiceImpl.java Fri Apr 16 14:02:38 2010 @@ -38,45 +38,43 @@ import org.apache.chemistry.opencmis.com * @author Florian Müller * */ -public class RelationshipServiceImpl extends AbstractWebServicesService implements - RelationshipService { +public class RelationshipServiceImpl extends AbstractWebServicesService implements RelationshipService { - private final PortProvider fPortProvider; + private final PortProvider fPortProvider; - /** - * Constructor. - */ - public RelationshipServiceImpl(Session session, PortProvider portProvider) { - setSession(session); - fPortProvider = portProvider; - } + /** + * Constructor. + */ + public RelationshipServiceImpl(Session session, PortProvider portProvider) { + setSession(session); + fPortProvider = portProvider; + } - /* - * (non-Javadoc) - * - * @see org.apache.opencmis.client.provider.RelationshipService#getObjectRelationships(java.lang.String, - * java.lang.String, java.lang.Boolean, org.apache.opencmis.commons.enums.RelationshipDirection, - * java.lang.String, java.lang.String, java.lang.Boolean, java.math.BigInteger, - * java.math.BigInteger, org.apache.opencmis.client.provider.ExtensionsData) - */ - public ObjectList getObjectRelationships(String repositoryId, String objectId, - Boolean includeSubRelationshipTypes, RelationshipDirection relationshipDirection, - String typeId, String filter, Boolean includeAllowableActions, BigInteger maxItems, - BigInteger skipCount, ExtensionsData extension) { - RelationshipServicePort port = fPortProvider.getRelationshipServicePort(); + /* + * (non-Javadoc) + * + * @seeorg.apache.opencmis.client.provider.RelationshipService# + * getObjectRelationships(java.lang.String, java.lang.String, + * java.lang.Boolean, + * org.apache.opencmis.commons.enums.RelationshipDirection, + * java.lang.String, java.lang.String, java.lang.Boolean, + * java.math.BigInteger, java.math.BigInteger, + * org.apache.opencmis.client.provider.ExtensionsData) + */ + public ObjectList getObjectRelationships(String repositoryId, String objectId, Boolean includeSubRelationshipTypes, + RelationshipDirection relationshipDirection, String typeId, String filter, Boolean includeAllowableActions, + BigInteger maxItems, BigInteger skipCount, ExtensionsData extension) { + RelationshipServicePort port = fPortProvider.getRelationshipServicePort(); - try { - return convert(port.getObjectRelationships(repositoryId, objectId, - includeSubRelationshipTypes, convert(EnumRelationshipDirection.class, - relationshipDirection), typeId, filter, includeAllowableActions, maxItems, skipCount, - convert(extension))); - } - catch (CmisException e) { - throw convertException(e); - } - catch (Exception e) { - throw new CmisRuntimeException("Error: " + e.getMessage(), e); - } - } + try { + return convert(port.getObjectRelationships(repositoryId, objectId, includeSubRelationshipTypes, convert( + EnumRelationshipDirection.class, relationshipDirection), typeId, filter, includeAllowableActions, + maxItems, skipCount, convert(extension))); + } catch (CmisException e) { + throw convertException(e); + } catch (Exception e) { + throw new CmisRuntimeException("Error: " + e.getMessage(), e); + } + } }