From a8603091e939852997df5da20a6b413b627aea62 Mon Sep 17 00:00:00 2001 From: David Caruana Date: Fri, 1 May 2009 21:22:09 +0000 Subject: [PATCH] Merged DEV/CMIS0_61 to HEAD (part 4) 14095 CMIS 0.61 Web Services Including Tests & JavaClient 14123 Several Minor Fixes git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14177 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- config/alfresco/cmis-ws-context.xml | 24 +- .../org/alfresco/repo/cmis/ws/CheckIn.java | 12 +- .../cmis/ws/CmisAccessControlEntryType.java | 138 + .../cmis/ws/CmisAccessControlListType.java | 91 + .../ws/CmisAccessControlPrincipalType.java | 91 + .../cmis/ws/CmisAllowableActionsType.java | 6 +- .../org/alfresco/repo/cmis/ws/CmisAnyXml.java | 6 +- .../repo/cmis/ws/CmisChangedObjectType.java | 122 + .../repo/cmis/ws/CmisChoiceBooleanType.java | 51 +- .../repo/cmis/ws/CmisChoiceDateTimeType.java | 49 +- .../repo/cmis/ws/CmisChoiceDecimalType.java | 49 +- .../repo/cmis/ws/CmisChoiceHtmlType.java | 99 +- .../repo/cmis/ws/CmisChoiceIdType.java | 49 +- .../repo/cmis/ws/CmisChoiceIntegerType.java | 49 +- .../repo/cmis/ws/CmisChoiceStringType.java | 49 +- .../alfresco/repo/cmis/ws/CmisChoiceType.java | 58 +- .../repo/cmis/ws/CmisChoiceUriType.java | 49 +- .../repo/cmis/ws/CmisChoiceXmlType.java | 6 +- .../repo/cmis/ws/CmisContentStreamType.java | 6 +- .../alfresco/repo/cmis/ws/CmisException.java | 45 + .../alfresco/repo/cmis/ws/CmisFaultType.java | 119 +- .../alfresco/repo/cmis/ws/CmisObjectType.java | 41 +- .../cmis/ws/CmisPermissionDefinitionType.java | 186 + .../repo/cmis/ws/CmisPermissionSetType.java | 69 + .../repo/cmis/ws/CmisPropertiesType.java | 50 +- .../alfresco/repo/cmis/ws/CmisProperty.java | 52 +- .../repo/cmis/ws/CmisPropertyBoolean.java | 79 +- .../ws/CmisPropertyBooleanDefinitionType.java | 6 +- .../repo/cmis/ws/CmisPropertyDateTime.java | 77 +- .../CmisPropertyDateTimeDefinitionType.java | 6 +- .../repo/cmis/ws/CmisPropertyDecimal.java | 77 +- .../ws/CmisPropertyDecimalDefinitionType.java | 8 +- .../cmis/ws/CmisPropertyDefinitionType.java | 122 +- .../repo/cmis/ws/CmisPropertyHtml.java | 119 +- .../ws/CmisPropertyHtmlDefinitionType.java | 6 +- .../alfresco/repo/cmis/ws/CmisPropertyId.java | 80 +- .../cmis/ws/CmisPropertyIdDefinitionType.java | 6 +- .../repo/cmis/ws/CmisPropertyInteger.java | 77 +- .../ws/CmisPropertyIntegerDefinitionType.java | 6 +- .../repo/cmis/ws/CmisPropertyString.java | 77 +- .../ws/CmisPropertyStringDefinitionType.java | 6 +- .../repo/cmis/ws/CmisPropertyUri.java | 77 +- .../ws/CmisPropertyUriDefinitionType.java | 6 +- .../repo/cmis/ws/CmisPropertyXml.java | 119 +- .../ws/CmisPropertyXmlDefinitionType.java | 35 +- .../alfresco/repo/cmis/ws/CmisQueryType.java | 86 +- .../ws/CmisRepositoryCapabilitiesType.java | 128 +- .../repo/cmis/ws/CmisRepositoryEntryType.java | 24 +- .../repo/cmis/ws/CmisRepositoryInfoType.java | 28 +- .../repo/cmis/ws/CmisTypeDefinitionType.java | 82 +- .../ws/CmisTypeDocumentDefinitionType.java | 6 +- .../cmis/ws/CmisTypeFolderDefinitionType.java | 4 +- .../cmis/ws/CmisTypePolicyDefinitionType.java | 4 +- .../CmisTypeRelationshipDefinitionType.java | 4 +- .../cmis/ws/ConstraintViolationException.java | 45 - .../ws/ConstraintViolationExceptionType.java | 32 - .../ws/ContentAlreadyExistsException.java | 45 - .../ws/ContentAlreadyExistsExceptionType.java | 32 - .../alfresco/repo/cmis/ws/CreateDocument.java | 10 +- .../alfresco/repo/cmis/ws/CreateFolder.java | 2 +- .../alfresco/repo/cmis/ws/CreatePolicy.java | 4 +- .../repo/cmis/ws/CreateRelationship.java | 2 +- .../org/alfresco/repo/cmis/ws/DeleteTree.java | 4 +- .../repo/cmis/ws/DiscoveryService.java | 14 +- .../repo/cmis/ws/DiscoveryServicePort.java | 35 +- .../repo/cmis/ws/EnumBaseObjectType.java | 57 + .../repo/cmis/ws/EnumBasicPrivileges.java | 54 + ...tyFullText.java => EnumCapabilityACL.java} | 26 +- .../repo/cmis/ws/EnumCapabilityChanges.java | 69 + .../repo/cmis/ws/EnumCapabilityJoin.java | 8 +- .../repo/cmis/ws/EnumCapabilityQuery.java | 11 +- .../repo/cmis/ws/EnumCardinality.java | 2 +- .../repo/cmis/ws/EnumCollectionType.java | 31 +- .../cmis/ws/EnumContentStreamAllowed.java | 2 +- .../cmis/ws/EnumIncludeRelationships.java | 2 +- .../alfresco/repo/cmis/ws/EnumObjectType.java | 2 +- .../repo/cmis/ws/EnumPropertiesBase.java | 10 +- .../repo/cmis/ws/EnumPropertiesDocument.java | 120 + .../repo/cmis/ws/EnumPropertiesFolder.java | 8 +- .../repo/cmis/ws/EnumPropertiesPolicy.java | 8 +- .../cmis/ws/EnumPropertiesRelationship.java | 8 +- .../repo/cmis/ws/EnumPropertyType.java | 2 +- .../cmis/ws/EnumRelationshipDirection.java | 8 +- .../cmis/ws/EnumRepositoryRelationship.java | 2 +- .../repo/cmis/ws/EnumRestArguments.java | 14 +- .../repo/cmis/ws/EnumRestOutputHeaders.java | 2 +- .../repo/cmis/ws/EnumReturnVersion.java | 2 +- .../repo/cmis/ws/EnumServiceException.java | 93 + .../repo/cmis/ws/EnumTypeOfChanges.java | 57 + .../cmis/ws/EnumTypesOfFileableObjects.java | 2 +- .../cmis/ws/EnumUnfileNonfolderObjects.java | 2 +- .../repo/cmis/ws/EnumUpdatability.java | 54 + .../repo/cmis/ws/EnumUpdateability.java | 2 +- .../repo/cmis/ws/EnumVersioningState.java | 2 +- .../repo/cmis/ws/FilterNotValidException.java | 45 - .../cmis/ws/FilterNotValidExceptionType.java | 32 - .../repo/cmis/ws/FolderNotValidException.java | 45 - .../cmis/ws/FolderNotValidExceptionType.java | 32 - .../alfresco/repo/cmis/ws/GetAllVersions.java | 20 +- .../repo/cmis/ws/GetAllVersionsResponse.java | 4 +- .../cmis/ws/GetAllowableActionsResponse.java | 2 +- .../repo/cmis/ws/GetAppliedPolicies.java | 2 +- .../cmis/ws/GetAppliedPoliciesResponse.java | 4 +- .../repo/cmis/ws/GetCheckedoutDocs.java | 72 +- .../cmis/ws/GetCheckedoutDocsResponse.java | 4 +- .../alfresco/repo/cmis/ws/GetChildren.java | 57 +- .../repo/cmis/ws/GetChildrenResponse.java | 4 +- .../repo/cmis/ws/GetContentChanges.java | 205 + .../cmis/ws/GetContentChangesResponse.java | 99 + .../cmis/ws/GetContentStreamResponse.java | 2 +- .../alfresco/repo/cmis/ws/GetDescendants.java | 53 +- .../repo/cmis/ws/GetDescendantsResponse.java | 4 +- .../repo/cmis/ws/GetFolderParent.java | 20 +- .../repo/cmis/ws/GetFolderParentResponse.java | 4 +- .../repo/cmis/ws/GetObjectParents.java | 18 +- .../cmis/ws/GetObjectParentsResponse.java | 4 +- .../alfresco/repo/cmis/ws/GetProperties.java | 24 +- .../cmis/ws/GetPropertiesOfLatestVersion.java | 2 +- .../GetPropertiesOfLatestVersionResponse.java | 4 +- .../repo/cmis/ws/GetPropertiesResponse.java | 4 +- .../repo/cmis/ws/GetRelationships.java | 32 +- .../cmis/ws/GetRelationshipsResponse.java | 4 +- .../repo/cmis/ws/GetRepositoriesResponse.java | 2 +- .../cmis/ws/GetRepositoryInfoResponse.java | 64 + .../cmis/ws/GetTypeDefinitionResponse.java | 25 +- .../org/alfresco/repo/cmis/ws/GetTypes.java | 26 +- .../repo/cmis/ws/GetTypesResponse.java | 17 +- .../cmis/ws/InvalidArgumentException.java | 45 - .../cmis/ws/InvalidArgumentExceptionType.java | 32 - .../org/alfresco/repo/cmis/ws/MoveObject.java | 2 +- .../repo/cmis/ws/MultiFilingService.java | 14 +- .../repo/cmis/ws/MultiFilingServicePort.java | 28 +- .../repo/cmis/ws/NavigationService.java | 14 +- .../repo/cmis/ws/NavigationServicePort.java | 58 +- .../repo/cmis/ws/NotInFolderException.java | 45 - .../cmis/ws/NotInFolderExceptionType.java | 32 - .../alfresco/repo/cmis/ws/ObjectFactory.java | 3355 ++++++++--------- .../repo/cmis/ws/ObjectNotFoundException.java | 45 - .../cmis/ws/ObjectNotFoundExceptionType.java | 32 - .../alfresco/repo/cmis/ws/ObjectService.java | 14 +- .../repo/cmis/ws/ObjectServicePort.java | 278 +- .../cmis/ws/ObjectTreeCollectionType.java | 6 +- .../repo/cmis/ws/OffsetException.java | 45 - .../repo/cmis/ws/OffsetExceptionType.java | 32 - .../ws/OperationNotSupportedException.java | 45 - .../OperationNotSupportedExceptionType.java | 32 - .../cmis/ws/PermissionDeniedException.java | 45 - .../ws/PermissionDeniedExceptionType.java | 32 - .../alfresco/repo/cmis/ws/PolicyService.java | 14 +- .../repo/cmis/ws/PolicyServicePort.java | 56 +- .../alfresco/repo/cmis/ws/QueryResponse.java | 4 +- .../repo/cmis/ws/RelationshipService.java | 14 +- .../repo/cmis/ws/RelationshipServicePort.java | 10 +- .../repo/cmis/ws/RemoveObjectFromFolder.java | 2 +- .../repo/cmis/ws/RepositoryService.java | 14 +- .../repo/cmis/ws/RepositoryServicePort.java | 67 +- .../repo/cmis/ws/RuntimeException.java | 45 - .../repo/cmis/ws/RuntimeExceptionType.java | 32 - .../repo/cmis/ws/SetContentStream.java | 4 +- .../repo/cmis/ws/StorageException.java | 45 - .../repo/cmis/ws/StorageExceptionType.java | 32 - .../cmis/ws/StreamNotSupportedException.java | 45 - .../ws/StreamNotSupportedExceptionType.java | 32 - .../repo/cmis/ws/TypeNotFoundException.java | 45 - .../cmis/ws/TypeNotFoundExceptionType.java | 32 - .../repo/cmis/ws/UpdateConflictException.java | 45 - .../cmis/ws/UpdateConflictExceptionType.java | 32 - .../repo/cmis/ws/UpdateProperties.java | 4 +- .../repo/cmis/ws/VersioningException.java | 45 - .../repo/cmis/ws/VersioningExceptionType.java | 32 - .../repo/cmis/ws/VersioningService.java | 14 +- .../repo/cmis/ws/VersioningServicePort.java | 116 +- .../alfresco/repo/cmis/ws/package-info.java | 2 +- .../alfresco/repo/cmis/PropertyFilter.java | 8 +- .../repo/cmis/PropertyFilterTest.java | 50 +- .../cmis/ws/AuthenticationInterceptor.java | 1 + .../repo/cmis/ws/ContentReaderDataSource.java | 16 +- .../repo/cmis/ws/DMAbstractServicePort.java | 134 +- .../repo/cmis/ws/DMDiscoveryServicePort.java | 38 +- .../cmis/ws/DMMultiFilingServicePort.java | 47 +- .../repo/cmis/ws/DMNavigationServicePort.java | 212 +- .../repo/cmis/ws/DMObjectServicePort.java | 547 +-- .../repo/cmis/ws/DMPolicyServicePort.java | 46 +- .../cmis/ws/DMRelationshipServicePort.java | 52 +- .../repo/cmis/ws/DMRepositoryServicePort.java | 337 +- .../cmis/ws/DMServicePortThrowsAdvice.java | 51 +- .../repo/cmis/ws/DMVersioningServicePort.java | 91 +- .../alfresco/repo/cmis/ws/PropertyUtil.java | 18 +- .../repo/cmis/ws/utils/CmisObjectsUtils.java | 93 +- .../ws/utils/DescendantsQueueManager.java | 10 +- source/sample/JavaCmisTest/cmis-test.bat | 2 +- source/sample/JavaCmisTest/lib/cmis-types.jar | Bin 172730 -> 186310 bytes .../sample/JavaCmisTest/lib/velocity-1.4.jar | Bin 0 -> 361173 bytes .../JavaCmisTest/lib/velocity-dep-1.4.jar | Bin 0 -> 517761 bytes .../ws/example/ExecutableServicesHelper.java | 20 +- .../SimpleExecutableCmisServicesUtilizer.java | 2 +- .../repo/cmis/ws/CmisServiceTestHelper.java | 77 +- .../repo/cmis/ws/DMDiscoveryServiceTest.java | 7 +- .../cmis/ws/DMMultiFilingServiceTest.java | 26 +- .../repo/cmis/ws/DMNavigationServiceTest.java | 15 +- .../repo/cmis/ws/DMObjectServiceTest.java | 184 +- .../repo/cmis/ws/DMPolicyServiceTest.java | 60 +- .../cmis/ws/DMRelationshipServiceTest.java | 6 +- .../repo/cmis/ws/DMRepositoryServiceTest.java | 36 +- .../repo/cmis/ws/DMVersioningServiceTest.java | 14 +- 205 files changed, 6264 insertions(+), 5692 deletions(-) create mode 100755 source/generated/org/alfresco/repo/cmis/ws/CmisAccessControlEntryType.java create mode 100755 source/generated/org/alfresco/repo/cmis/ws/CmisAccessControlListType.java create mode 100755 source/generated/org/alfresco/repo/cmis/ws/CmisAccessControlPrincipalType.java create mode 100755 source/generated/org/alfresco/repo/cmis/ws/CmisChangedObjectType.java create mode 100755 source/generated/org/alfresco/repo/cmis/ws/CmisException.java create mode 100755 source/generated/org/alfresco/repo/cmis/ws/CmisPermissionDefinitionType.java create mode 100755 source/generated/org/alfresco/repo/cmis/ws/CmisPermissionSetType.java delete mode 100644 source/generated/org/alfresco/repo/cmis/ws/ConstraintViolationException.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/ConstraintViolationExceptionType.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/ContentAlreadyExistsException.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/ContentAlreadyExistsExceptionType.java create mode 100755 source/generated/org/alfresco/repo/cmis/ws/EnumBaseObjectType.java create mode 100755 source/generated/org/alfresco/repo/cmis/ws/EnumBasicPrivileges.java rename source/generated/org/alfresco/repo/cmis/ws/{EnumCapabilityFullText.java => EnumCapabilityACL.java} (53%) create mode 100755 source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityChanges.java create mode 100755 source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesDocument.java create mode 100755 source/generated/org/alfresco/repo/cmis/ws/EnumServiceException.java create mode 100755 source/generated/org/alfresco/repo/cmis/ws/EnumTypeOfChanges.java create mode 100755 source/generated/org/alfresco/repo/cmis/ws/EnumUpdatability.java delete mode 100644 source/generated/org/alfresco/repo/cmis/ws/FilterNotValidException.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/FilterNotValidExceptionType.java delete mode 100644 source/generated/org/alfresco/repo/cmis/ws/FolderNotValidException.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/FolderNotValidExceptionType.java create mode 100755 source/generated/org/alfresco/repo/cmis/ws/GetContentChanges.java create mode 100755 source/generated/org/alfresco/repo/cmis/ws/GetContentChangesResponse.java create mode 100755 source/generated/org/alfresco/repo/cmis/ws/GetRepositoryInfoResponse.java delete mode 100644 source/generated/org/alfresco/repo/cmis/ws/InvalidArgumentException.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/InvalidArgumentExceptionType.java delete mode 100644 source/generated/org/alfresco/repo/cmis/ws/NotInFolderException.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/NotInFolderExceptionType.java delete mode 100644 source/generated/org/alfresco/repo/cmis/ws/ObjectNotFoundException.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/ObjectNotFoundExceptionType.java delete mode 100644 source/generated/org/alfresco/repo/cmis/ws/OffsetException.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/OffsetExceptionType.java delete mode 100644 source/generated/org/alfresco/repo/cmis/ws/OperationNotSupportedException.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/OperationNotSupportedExceptionType.java delete mode 100644 source/generated/org/alfresco/repo/cmis/ws/PermissionDeniedException.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/PermissionDeniedExceptionType.java delete mode 100644 source/generated/org/alfresco/repo/cmis/ws/RuntimeException.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/RuntimeExceptionType.java delete mode 100644 source/generated/org/alfresco/repo/cmis/ws/StorageException.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/StorageExceptionType.java delete mode 100644 source/generated/org/alfresco/repo/cmis/ws/StreamNotSupportedException.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/StreamNotSupportedExceptionType.java delete mode 100644 source/generated/org/alfresco/repo/cmis/ws/TypeNotFoundException.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/TypeNotFoundExceptionType.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/UpdateConflictException.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/UpdateConflictExceptionType.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/VersioningException.java delete mode 100755 source/generated/org/alfresco/repo/cmis/ws/VersioningExceptionType.java create mode 100755 source/sample/JavaCmisTest/lib/velocity-1.4.jar create mode 100755 source/sample/JavaCmisTest/lib/velocity-dep-1.4.jar diff --git a/config/alfresco/cmis-ws-context.xml b/config/alfresco/cmis-ws-context.xml index 3be4072184..34cd01c523 100644 --- a/config/alfresco/cmis-ws-context.xml +++ b/config/alfresco/cmis-ws-context.xml @@ -18,13 +18,11 @@ - - @@ -42,18 +40,16 @@ implementorClass="org.alfresco.repo.cmis.ws.DMNavigationServicePort"> - + - - @@ -75,13 +71,11 @@ - - @@ -105,13 +99,11 @@ - - @@ -134,13 +126,11 @@ - - @@ -163,13 +153,11 @@ - - @@ -192,13 +180,11 @@ - - @@ -220,13 +206,11 @@ - - @@ -276,7 +260,9 @@ - + + + @@ -373,6 +359,4 @@ - - \ No newline at end of file diff --git a/source/generated/org/alfresco/repo/cmis/ws/CheckIn.java b/source/generated/org/alfresco/repo/cmis/ws/CheckIn.java index 57f8fe642c..b6062b8484 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/CheckIn.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CheckIn.java @@ -23,8 +23,8 @@ import javax.xml.bind.annotation.XmlType; * <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="documentId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="major" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> - * <element name="properties" type="{http://www.cmis.org/2008/05}cmisPropertiesType" minOccurs="0"/> - * <element name="contentStream" type="{http://www.cmis.org/2008/05}cmisContentStreamType" minOccurs="0"/> + * <element name="properties" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPropertiesType" minOccurs="0"/> + * <element name="contentStream" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisContentStreamType" minOccurs="0"/> * <element name="checkinComment" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * </sequence> * </restriction> @@ -50,13 +50,13 @@ public class CheckIn { protected String repositoryId; @XmlElement(required = true) protected String documentId; - @XmlElementRef(name = "major", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "major", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement major; - @XmlElementRef(name = "properties", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "properties", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement properties; - @XmlElementRef(name = "contentStream", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "contentStream", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement contentStream; - @XmlElementRef(name = "checkinComment", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "checkinComment", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement checkinComment; /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisAccessControlEntryType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisAccessControlEntryType.java new file mode 100755 index 0000000000..f1df7841fa --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisAccessControlEntryType.java @@ -0,0 +1,138 @@ + +package org.alfresco.repo.cmis.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for cmisAccessControlEntryType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="cmisAccessControlEntryType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="principal" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisAccessControlPrincipalType"/>
+ *         <element name="permission" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="direct" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
+ *         <any/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "cmisAccessControlEntryType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { + "principal", + "permission", + "direct", + "any" +}) +public class CmisAccessControlEntryType { + + @XmlElement(required = true) + protected CmisAccessControlPrincipalType principal; + @XmlElement(required = true) + protected String permission; + protected boolean direct; + @XmlAnyElement(lax = true) + protected Object any; + + /** + * Gets the value of the principal property. + * + * @return + * possible object is + * {@link CmisAccessControlPrincipalType } + * + */ + public CmisAccessControlPrincipalType getPrincipal() { + return principal; + } + + /** + * Sets the value of the principal property. + * + * @param value + * allowed object is + * {@link CmisAccessControlPrincipalType } + * + */ + public void setPrincipal(CmisAccessControlPrincipalType value) { + this.principal = value; + } + + /** + * Gets the value of the permission property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getPermission() { + return permission; + } + + /** + * Sets the value of the permission property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setPermission(String value) { + this.permission = value; + } + + /** + * Gets the value of the direct property. + * + */ + public boolean isDirect() { + return direct; + } + + /** + * Sets the value of the direct property. + * + */ + public void setDirect(boolean value) { + this.direct = value; + } + + /** + * Gets the value of the any property. + * + * @return + * possible object is + * {@link Object } + * + */ + public Object getAny() { + return any; + } + + /** + * Sets the value of the any property. + * + * @param value + * allowed object is + * {@link Object } + * + */ + public void setAny(Object value) { + this.any = value; + } + +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisAccessControlListType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisAccessControlListType.java new file mode 100755 index 0000000000..179eb5288e --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisAccessControlListType.java @@ -0,0 +1,91 @@ + +package org.alfresco.repo.cmis.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for cmisAccessControlListType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="cmisAccessControlListType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="permission" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisAccessControlEntryType"/>
+ *         <any/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "cmisAccessControlListType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { + "permission", + "any" +}) +public class CmisAccessControlListType { + + @XmlElement(required = true) + protected CmisAccessControlEntryType permission; + @XmlAnyElement(lax = true) + protected Object any; + + /** + * Gets the value of the permission property. + * + * @return + * possible object is + * {@link CmisAccessControlEntryType } + * + */ + public CmisAccessControlEntryType getPermission() { + return permission; + } + + /** + * Sets the value of the permission property. + * + * @param value + * allowed object is + * {@link CmisAccessControlEntryType } + * + */ + public void setPermission(CmisAccessControlEntryType value) { + this.permission = value; + } + + /** + * Gets the value of the any property. + * + * @return + * possible object is + * {@link Object } + * + */ + public Object getAny() { + return any; + } + + /** + * Sets the value of the any property. + * + * @param value + * allowed object is + * {@link Object } + * + */ + public void setAny(Object value) { + this.any = value; + } + +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisAccessControlPrincipalType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisAccessControlPrincipalType.java new file mode 100755 index 0000000000..9a8af2607e --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisAccessControlPrincipalType.java @@ -0,0 +1,91 @@ + +package org.alfresco.repo.cmis.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for cmisAccessControlPrincipalType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="cmisAccessControlPrincipalType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="principalId" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <any/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "cmisAccessControlPrincipalType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { + "principalId", + "any" +}) +public class CmisAccessControlPrincipalType { + + @XmlElement(required = true) + protected String principalId; + @XmlAnyElement(lax = true) + protected Object any; + + /** + * Gets the value of the principalId property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getPrincipalId() { + return principalId; + } + + /** + * Sets the value of the principalId property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setPrincipalId(String value) { + this.principalId = value; + } + + /** + * Gets the value of the any property. + * + * @return + * possible object is + * {@link Object } + * + */ + public Object getAny() { + return any; + } + + /** + * Sets the value of the any property. + * + * @param value + * allowed object is + * {@link Object } + * + */ + public void setAny(Object value) { + this.any = value; + } + +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisAllowableActionsType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisAllowableActionsType.java index 98ec0394f7..214fc1d828 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisAllowableActionsType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisAllowableActionsType.java @@ -55,7 +55,7 @@ import org.w3c.dom.Element; * <element name="canDeleteTree" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> * <any/> * </sequence> - * <attGroup ref="{http://www.cmis.org/2008/05}cmisUndefinedAttribute"/> + * <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisUndefinedAttribute"/> * </restriction> * </complexContent> * </complexType> @@ -64,7 +64,7 @@ import org.w3c.dom.Element; * */ @XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "cmisAllowableActionsType", propOrder = { +@XmlType(name = "cmisAllowableActionsType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { "parentId", "parentUrl", "canDelete", @@ -846,8 +846,8 @@ public class CmisAllowableActionsType { * *

* Objects of the following type(s) are allowed in the list - * {@link Element } * {@link Object } + * {@link Element } * * */ diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisAnyXml.java b/source/generated/org/alfresco/repo/cmis/ws/CmisAnyXml.java index 891eb5e7b3..139e42184a 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisAnyXml.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisAnyXml.java @@ -26,7 +26,7 @@ import org.w3c.dom.Element; * <sequence> * <any/> * </sequence> - * <attGroup ref="{http://www.cmis.org/2008/05}cmisUndefinedAttribute"/> + * <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisUndefinedAttribute"/> * </restriction> * </complexContent> * </complexType> @@ -35,7 +35,7 @@ import org.w3c.dom.Element; * */ @XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "cmisAnyXml", propOrder = { +@XmlType(name = "cmisAnyXml", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { "any" }) public class CmisAnyXml { @@ -63,8 +63,8 @@ public class CmisAnyXml { * *

* Objects of the following type(s) are allowed in the list - * {@link Element } * {@link Object } + * {@link Element } * * */ diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisChangedObjectType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisChangedObjectType.java new file mode 100755 index 0000000000..0c85ab97ad --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisChangedObjectType.java @@ -0,0 +1,122 @@ + +package org.alfresco.repo.cmis.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; + + +/** + *

Java class for cmisChangedObjectType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="cmisChangedObjectType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="changeType" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumTypeOfChanges"/>
+ *         <element name="changeTime" type="{http://www.w3.org/2001/XMLSchema}dateTime"/>
+ *         <any/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "cmisChangedObjectType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { + "changeType", + "changeTime", + "any" +}) +public class CmisChangedObjectType { + + @XmlElement(required = true) + protected EnumTypeOfChanges changeType; + @XmlElement(required = true) + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar changeTime; + @XmlAnyElement(lax = true) + protected Object any; + + /** + * Gets the value of the changeType property. + * + * @return + * possible object is + * {@link EnumTypeOfChanges } + * + */ + public EnumTypeOfChanges getChangeType() { + return changeType; + } + + /** + * Sets the value of the changeType property. + * + * @param value + * allowed object is + * {@link EnumTypeOfChanges } + * + */ + public void setChangeType(EnumTypeOfChanges value) { + this.changeType = value; + } + + /** + * Gets the value of the changeTime property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getChangeTime() { + return changeTime; + } + + /** + * Sets the value of the changeTime property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setChangeTime(XMLGregorianCalendar value) { + this.changeTime = value; + } + + /** + * Gets the value of the any property. + * + * @return + * possible object is + * {@link Object } + * + */ + public Object getAny() { + return any; + } + + /** + * Sets the value of the any property. + * + * @param value + * allowed object is + * {@link Object } + * + */ + public void setAny(Object value) { + this.any = value; + } + +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceBooleanType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceBooleanType.java index 7d46e69365..48c905d0e2 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceBooleanType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceBooleanType.java @@ -1,8 +1,11 @@ package org.alfresco.repo.cmis.ws; +import java.util.ArrayList; +import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlType; @@ -14,9 +17,9 @@ import javax.xml.bind.annotation.XmlType; *
  * <complexType name="cmisChoiceBooleanType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisChoiceType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceType">
  *       <sequence>
- *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}boolean" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
  *     </extension>
  *   </complexContent>
@@ -26,37 +29,43 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisChoiceBooleanType", propOrder = {
+@XmlType(name = "cmisChoiceBooleanType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "value"
 })
 public class CmisChoiceBooleanType
     extends CmisChoiceType
 {
 
-    protected Boolean value;
+    @XmlElement(type = Boolean.class)
+    protected List value;
 
     /**
      * Gets the value of the value property.
      * 
-     * @return
-     *     possible object is
-     *     {@link Boolean }
-     *     
-     */
-    public Boolean isValue() {
-        return value;
-    }
-
-    /**
-     * Sets the value of the value property.
+     * 

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the value property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Boolean } + * * - * @param value - * allowed object is - * {@link Boolean } - * */ - public void setValue(Boolean value) { - this.value = value; + public List getValue() { + if (value == null) { + value = new ArrayList(); + } + return this.value; } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceDateTimeType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceDateTimeType.java index 41d0d7a534..84baefa8bb 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceDateTimeType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceDateTimeType.java @@ -1,6 +1,8 @@ package org.alfresco.repo.cmis.ws; +import java.util.ArrayList; +import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlSchemaType; @@ -16,9 +18,9 @@ import javax.xml.datatype.XMLGregorianCalendar; *

  * <complexType name="cmisChoiceDateTimeType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisChoiceType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceType">
  *       <sequence>
- *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}dateTime" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
  *     </extension>
  *   </complexContent>
@@ -28,7 +30,7 @@ import javax.xml.datatype.XMLGregorianCalendar;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisChoiceDateTimeType", propOrder = {
+@XmlType(name = "cmisChoiceDateTimeType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "value"
 })
 public class CmisChoiceDateTimeType
@@ -36,30 +38,35 @@ public class CmisChoiceDateTimeType
 {
 
     @XmlSchemaType(name = "dateTime")
-    protected XMLGregorianCalendar value;
+    protected List value;
 
     /**
      * Gets the value of the value property.
      * 
-     * @return
-     *     possible object is
-     *     {@link XMLGregorianCalendar }
-     *     
-     */
-    public XMLGregorianCalendar getValue() {
-        return value;
-    }
-
-    /**
-     * Sets the value of the value property.
+     * 

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the value property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link XMLGregorianCalendar } + * * - * @param value - * allowed object is - * {@link XMLGregorianCalendar } - * */ - public void setValue(XMLGregorianCalendar value) { - this.value = value; + public List getValue() { + if (value == null) { + value = new ArrayList(); + } + return this.value; } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceDecimalType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceDecimalType.java index bdcfd5f185..532895be8b 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceDecimalType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceDecimalType.java @@ -2,6 +2,8 @@ package org.alfresco.repo.cmis.ws; import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlType; @@ -15,9 +17,9 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="cmisChoiceDecimalType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisChoiceType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceType">
  *       <sequence>
- *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
+ *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}decimal" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
  *     </extension>
  *   </complexContent>
@@ -27,37 +29,42 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisChoiceDecimalType", propOrder = {
+@XmlType(name = "cmisChoiceDecimalType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "value"
 })
 public class CmisChoiceDecimalType
     extends CmisChoiceType
 {
 
-    protected BigDecimal value;
+    protected List value;
 
     /**
      * Gets the value of the value property.
      * 
-     * @return
-     *     possible object is
-     *     {@link BigDecimal }
-     *     
-     */
-    public BigDecimal getValue() {
-        return value;
-    }
-
-    /**
-     * Sets the value of the value property.
+     * 

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the value property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link BigDecimal } + * * - * @param value - * allowed object is - * {@link BigDecimal } - * */ - public void setValue(BigDecimal value) { - this.value = value; + public List getValue() { + if (value == null) { + value = new ArrayList(); + } + return this.value; } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceHtmlType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceHtmlType.java index af7ff9c2f1..b22e59aff4 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceHtmlType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceHtmlType.java @@ -18,9 +18,19 @@ import org.w3c.dom.Element; *

  * <complexType name="cmisChoiceHtmlType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisChoiceType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceType">
  *       <sequence>
- *         <any/>
+ *         <element name="value" maxOccurs="unbounded" minOccurs="0">
+ *           <complexType>
+ *             <complexContent>
+ *               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 <sequence>
+ *                   <any/>
+ *                 </sequence>
+ *               </restriction>
+ *             </complexContent>
+ *           </complexType>
+ *         </element>
  *       </sequence>
  *     </extension>
  *   </complexContent>
@@ -30,44 +40,103 @@ import org.w3c.dom.Element;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisChoiceHtmlType", propOrder = {
-    "any"
+@XmlType(name = "cmisChoiceHtmlType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
+    "value"
 })
 public class CmisChoiceHtmlType
     extends CmisChoiceType
 {
 
-    @XmlAnyElement(lax = true)
-    protected List any;
+    protected List value;
 
     /**
-     * Gets the value of the any property.
+     * Gets the value of the value property.
      * 
      * 

* This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. - * This is why there is not a set method for the any property. + * This is why there is not a set method for the value property. * *

* For example, to add a new item, do as follows: *

-     *    getAny().add(newItem);
+     *    getValue().add(newItem);
      * 
* * *

* Objects of the following type(s) are allowed in the list - * {@link Element } - * {@link Object } + * {@link CmisChoiceHtmlType.Value } * * */ - public List getAny() { - if (any == null) { - any = new ArrayList(); + public List getValue() { + if (value == null) { + value = new ArrayList(); } - return this.any; + return this.value; + } + + + /** + *

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+     * <complexType>
+     *   <complexContent>
+     *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       <sequence>
+     *         <any/>
+     *       </sequence>
+     *     </restriction>
+     *   </complexContent>
+     * </complexType>
+     * 
+ * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "any" + }) + public static class Value { + + @XmlAnyElement(lax = true) + protected List any; + + /** + * Gets the value of the any property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the any property. + * + *

+ * For example, to add a new item, do as follows: + *

+         *    getAny().add(newItem);
+         * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Object } + * {@link Element } + * + * + */ + public List getAny() { + if (any == null) { + any = new ArrayList(); + } + return this.any; + } + } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceIdType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceIdType.java index b01f8b7534..497b44a1ea 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceIdType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceIdType.java @@ -1,6 +1,8 @@ package org.alfresco.repo.cmis.ws; +import java.util.ArrayList; +import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlType; @@ -14,9 +16,9 @@ import javax.xml.bind.annotation.XmlType; *
  * <complexType name="cmisChoiceIdType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisChoiceType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceType">
  *       <sequence>
- *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
  *     </extension>
  *   </complexContent>
@@ -26,37 +28,42 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisChoiceIdType", propOrder = {
+@XmlType(name = "cmisChoiceIdType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "value"
 })
 public class CmisChoiceIdType
     extends CmisChoiceType
 {
 
-    protected String value;
+    protected List value;
 
     /**
      * Gets the value of the value property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getValue() {
-        return value;
-    }
-
-    /**
-     * Sets the value of the value property.
+     * 

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the value property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } + * * - * @param value - * allowed object is - * {@link String } - * */ - public void setValue(String value) { - this.value = value; + public List getValue() { + if (value == null) { + value = new ArrayList(); + } + return this.value; } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceIntegerType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceIntegerType.java index 9b35ebd7ee..50edbd11a0 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceIntegerType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceIntegerType.java @@ -2,6 +2,8 @@ package org.alfresco.repo.cmis.ws; import java.math.BigInteger; +import java.util.ArrayList; +import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlType; @@ -15,9 +17,9 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="cmisChoiceIntegerType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisChoiceType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceType">
  *       <sequence>
- *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/>
+ *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}integer" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
  *     </extension>
  *   </complexContent>
@@ -27,37 +29,42 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisChoiceIntegerType", propOrder = {
+@XmlType(name = "cmisChoiceIntegerType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "value"
 })
 public class CmisChoiceIntegerType
     extends CmisChoiceType
 {
 
-    protected BigInteger value;
+    protected List value;
 
     /**
      * Gets the value of the value property.
      * 
-     * @return
-     *     possible object is
-     *     {@link BigInteger }
-     *     
-     */
-    public BigInteger getValue() {
-        return value;
-    }
-
-    /**
-     * Sets the value of the value property.
+     * 

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the value property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link BigInteger } + * * - * @param value - * allowed object is - * {@link BigInteger } - * */ - public void setValue(BigInteger value) { - this.value = value; + public List getValue() { + if (value == null) { + value = new ArrayList(); + } + return this.value; } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceStringType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceStringType.java index f713335412..f58214f56c 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceStringType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceStringType.java @@ -1,6 +1,8 @@ package org.alfresco.repo.cmis.ws; +import java.util.ArrayList; +import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlType; @@ -14,9 +16,9 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="cmisChoiceStringType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisChoiceType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceType">
  *       <sequence>
- *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
  *     </extension>
  *   </complexContent>
@@ -26,37 +28,42 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisChoiceStringType", propOrder = {
+@XmlType(name = "cmisChoiceStringType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "value"
 })
 public class CmisChoiceStringType
     extends CmisChoiceType
 {
 
-    protected String value;
+    protected List value;
 
     /**
      * Gets the value of the value property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getValue() {
-        return value;
-    }
-
-    /**
-     * Sets the value of the value property.
+     * 

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the value property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } + * * - * @param value - * allowed object is - * {@link String } - * */ - public void setValue(String value) { - this.value = value; + public List getValue() { + if (value == null) { + value = new ArrayList(); + } + return this.value; } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceType.java index 0576c0f42e..0ede168a66 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceType.java @@ -1,7 +1,6 @@ package org.alfresco.repo.cmis.ws; -import java.math.BigInteger; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -27,11 +26,10 @@ import javax.xml.namespace.QName; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element ref="{http://www.cmis.org/2008/05}choice" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}choice" maxOccurs="unbounded" minOccurs="0"/> * </sequence> - * <attGroup ref="{http://www.cmis.org/2008/05}cmisUndefinedAttribute"/> - * <attribute ref="{http://www.cmis.org/2008/05}index"/> - * <attribute ref="{http://www.cmis.org/2008/05}key"/> + * <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisUndefinedAttribute"/> + * <attribute ref="{http://docs.oasis-open.org/ns/cmis/core/200901}key"/> * </restriction> * </complexContent> * </complexType> @@ -40,27 +38,25 @@ import javax.xml.namespace.QName; * */ @XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "cmisChoiceType", propOrder = { +@XmlType(name = "cmisChoiceType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { "choice" }) @XmlSeeAlso({ - CmisChoiceDecimalType.class, - CmisChoiceXmlType.class, CmisChoiceDateTimeType.class, CmisChoiceStringType.class, + CmisChoiceDecimalType.class, CmisChoiceUriType.class, CmisChoiceIntegerType.class, - CmisChoiceHtmlType.class, + CmisChoiceXmlType.class, + CmisChoiceBooleanType.class, CmisChoiceIdType.class, - CmisChoiceBooleanType.class + CmisChoiceHtmlType.class }) public abstract class CmisChoiceType { - @XmlElementRef(name = "choice", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "choice", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", type = JAXBElement.class) protected List> choice; - @XmlAttribute(namespace = "http://www.cmis.org/2008/05") - protected BigInteger index; - @XmlAttribute(namespace = "http://www.cmis.org/2008/05") + @XmlAttribute(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") protected String key; @XmlAnyAttribute private Map otherAttributes = new HashMap(); @@ -83,15 +79,15 @@ public abstract class CmisChoiceType { * *

* Objects of the following type(s) are allowed in the list - * {@link JAXBElement }{@code <}{@link CmisChoiceDecimalType }{@code >} + * {@link JAXBElement }{@code <}{@link CmisChoiceUriType }{@code >} + * {@link JAXBElement }{@code <}{@link CmisChoiceIntegerType }{@code >} + * {@link JAXBElement }{@code <}{@link CmisChoiceXmlType }{@code >} * {@link JAXBElement }{@code <}{@link CmisChoiceHtmlType }{@code >} * {@link JAXBElement }{@code <}{@link CmisChoiceStringType }{@code >} - * {@link JAXBElement }{@code <}{@link CmisChoiceBooleanType }{@code >} - * {@link JAXBElement }{@code <}{@link CmisChoiceXmlType }{@code >} - * {@link JAXBElement }{@code <}{@link CmisChoiceIntegerType }{@code >} * {@link JAXBElement }{@code <}{@link CmisChoiceDateTimeType }{@code >} * {@link JAXBElement }{@code <}{@link CmisChoiceIdType }{@code >} - * {@link JAXBElement }{@code <}{@link CmisChoiceUriType }{@code >} + * {@link JAXBElement }{@code <}{@link CmisChoiceBooleanType }{@code >} + * {@link JAXBElement }{@code <}{@link CmisChoiceDecimalType }{@code >} * {@link JAXBElement }{@code <}{@link CmisChoiceType }{@code >} * * @@ -103,30 +99,6 @@ public abstract class CmisChoiceType { return this.choice; } - /** - * Gets the value of the index property. - * - * @return - * possible object is - * {@link BigInteger } - * - */ - public BigInteger getIndex() { - return index; - } - - /** - * Sets the value of the index property. - * - * @param value - * allowed object is - * {@link BigInteger } - * - */ - public void setIndex(BigInteger value) { - this.index = value; - } - /** * Gets the value of the key property. * diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceUriType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceUriType.java index a0d5fac431..7c7613578c 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceUriType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceUriType.java @@ -1,6 +1,8 @@ package org.alfresco.repo.cmis.ws; +import java.util.ArrayList; +import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlSchemaType; @@ -15,9 +17,9 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="cmisChoiceUriType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisChoiceType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceType">
  *       <sequence>
- *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/>
+ *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}anyURI" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
  *     </extension>
  *   </complexContent>
@@ -27,7 +29,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisChoiceUriType", propOrder = {
+@XmlType(name = "cmisChoiceUriType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "value"
 })
 public class CmisChoiceUriType
@@ -35,30 +37,35 @@ public class CmisChoiceUriType
 {
 
     @XmlSchemaType(name = "anyURI")
-    protected String value;
+    protected List value;
 
     /**
      * Gets the value of the value property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getValue() {
-        return value;
-    }
-
-    /**
-     * Sets the value of the value property.
+     * 

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the value property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } + * * - * @param value - * allowed object is - * {@link String } - * */ - public void setValue(String value) { - this.value = value; + public List getValue() { + if (value == null) { + value = new ArrayList(); + } + return this.value; } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceXmlType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceXmlType.java index ec7ce44ba3..0df402e30a 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceXmlType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisChoiceXmlType.java @@ -18,7 +18,7 @@ import org.w3c.dom.Element; *

  * <complexType name="cmisChoiceXmlType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisChoiceType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceType">
  *       <sequence>
  *         <any/>
  *       </sequence>
@@ -30,7 +30,7 @@ import org.w3c.dom.Element;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisChoiceXmlType", propOrder = {
+@XmlType(name = "cmisChoiceXmlType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "any"
 })
 public class CmisChoiceXmlType
@@ -58,8 +58,8 @@ public class CmisChoiceXmlType
      * 
      * 

* Objects of the following type(s) are allowed in the list - * {@link Element } * {@link Object } + * {@link Element } * * */ diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisContentStreamType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisContentStreamType.java index 362f2e496e..eb1eb1a197 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisContentStreamType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisContentStreamType.java @@ -36,7 +36,7 @@ import org.w3c.dom.Element; * <element name="stream" type="{http://www.w3.org/2001/XMLSchema}base64Binary"/> * <any/> * </sequence> - * <attGroup ref="{http://www.cmis.org/2008/05}cmisUndefinedAttribute"/> + * <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisUndefinedAttribute"/> * </restriction> * </complexContent> * </complexType> @@ -45,7 +45,7 @@ import org.w3c.dom.Element; * */ @XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "cmisContentStreamType", propOrder = { +@XmlType(name = "cmisContentStreamType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { "length", "mimeType", "filename", @@ -207,8 +207,8 @@ public class CmisContentStreamType { * *

* Objects of the following type(s) are allowed in the list - * {@link Element } * {@link Object } + * {@link Element } * * */ diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisException.java b/source/generated/org/alfresco/repo/cmis/ws/CmisException.java new file mode 100755 index 0000000000..d2202cd017 --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisException.java @@ -0,0 +1,45 @@ + +package org.alfresco.repo.cmis.ws; + +import javax.xml.ws.WebFault; + + +/** + * This class was generated by Apache CXF 2.1.2 + * Mon Apr 27 21:08:02 EEST 2009 + * Generated source version: 2.1.2 + * + */ + +@WebFault(name = "cmisFault", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") +public class CmisException extends Exception { + public static final long serialVersionUID = 20090427210802L; + + private org.alfresco.repo.cmis.ws.CmisFaultType cmisFault; + + public CmisException() { + super(); + } + + public CmisException(String message) { + super(message); + } + + public CmisException(String message, Throwable cause) { + super(message, cause); + } + + public CmisException(String message, org.alfresco.repo.cmis.ws.CmisFaultType cmisFault) { + super(message); + this.cmisFault = cmisFault; + } + + public CmisException(String message, org.alfresco.repo.cmis.ws.CmisFaultType cmisFault, Throwable cause) { + super(message, cause); + this.cmisFault = cmisFault; + } + + public org.alfresco.repo.cmis.ws.CmisFaultType getFaultInfo() { + return this.cmisFault; + } +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisFaultType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisFaultType.java index 0a01395548..8589d2e6e1 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisFaultType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisFaultType.java @@ -2,10 +2,12 @@ package org.alfresco.repo.cmis.ws; import java.math.BigInteger; +import java.util.ArrayList; +import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAnyElement; import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.bind.annotation.XmlType; @@ -19,8 +21,10 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element name="errorCode" type="{http://www.w3.org/2001/XMLSchema}integer"/> - * <element name="errorMessage" type="{http://www.w3.org/2001/XMLSchema}string"/> + * <element name="type" type="{http://docs.oasis-open.org/ns/cmis/messaging/200901}enumServiceException"/> + * <element name="code" type="{http://www.w3.org/2001/XMLSchema}integer"/> + * <element name="message" type="{http://www.w3.org/2001/XMLSchema}string"/> + * <any/> * </sequence> * </restriction> * </complexContent> @@ -31,80 +35,121 @@ import javax.xml.bind.annotation.XmlType; */ @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "cmisFaultType", propOrder = { - "errorCode", - "errorMessage" -}) -@XmlSeeAlso({ - OperationNotSupportedExceptionType.class, - PermissionDeniedExceptionType.class, - NotInFolderExceptionType.class, - StorageExceptionType.class, - OffsetExceptionType.class, - ConstraintViolationExceptionType.class, - VersioningExceptionType.class, - InvalidArgumentExceptionType.class, - FilterNotValidExceptionType.class, - TypeNotFoundExceptionType.class, - UpdateConflictExceptionType.class, - FolderNotValidExceptionType.class, - ObjectNotFoundExceptionType.class, - StreamNotSupportedExceptionType.class, - RuntimeExceptionType.class, - ContentAlreadyExistsExceptionType.class + "type", + "code", + "message", + "any" }) public class CmisFaultType { @XmlElement(required = true) - protected BigInteger errorCode; + protected EnumServiceException type; @XmlElement(required = true) - protected String errorMessage; + protected BigInteger code; + @XmlElement(required = true) + protected String message; + @XmlAnyElement(lax = true) + protected List any; /** - * Gets the value of the errorCode property. + * Gets the value of the type property. + * + * @return + * possible object is + * {@link EnumServiceException } + * + */ + public EnumServiceException getType() { + return type; + } + + /** + * Sets the value of the type property. + * + * @param value + * allowed object is + * {@link EnumServiceException } + * + */ + public void setType(EnumServiceException value) { + this.type = value; + } + + /** + * Gets the value of the code property. * * @return * possible object is * {@link BigInteger } * */ - public BigInteger getErrorCode() { - return errorCode; + public BigInteger getCode() { + return code; } /** - * Sets the value of the errorCode property. + * Sets the value of the code property. * * @param value * allowed object is * {@link BigInteger } * */ - public void setErrorCode(BigInteger value) { - this.errorCode = value; + public void setCode(BigInteger value) { + this.code = value; } /** - * Gets the value of the errorMessage property. + * Gets the value of the message property. * * @return * possible object is * {@link String } * */ - public String getErrorMessage() { - return errorMessage; + public String getMessage() { + return message; } /** - * Sets the value of the errorMessage property. + * Sets the value of the message property. * * @param value * allowed object is * {@link String } * */ - public void setErrorMessage(String value) { - this.errorMessage = value; + public void setMessage(String value) { + this.message = value; + } + + /** + * Gets the value of the any property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the any property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getAny().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Object } + * + * + */ + public List getAny() { + if (any == null) { + any = new ArrayList(); + } + return this.any; } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisObjectType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisObjectType.java index 586540f0fe..e18841de76 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisObjectType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisObjectType.java @@ -24,13 +24,14 @@ import org.w3c.dom.Element; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element name="properties" type="{http://www.cmis.org/2008/05}cmisPropertiesType" minOccurs="0"/> - * <element ref="{http://www.cmis.org/2008/05}allowableActions" minOccurs="0"/> - * <element name="relationship" type="{http://www.cmis.org/2008/05}cmisObjectType" maxOccurs="unbounded" minOccurs="0"/> - * <element name="child" type="{http://www.cmis.org/2008/05}cmisObjectType" maxOccurs="unbounded" minOccurs="0"/> + * <element name="properties" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPropertiesType" minOccurs="0"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}allowableActions" minOccurs="0"/> + * <element name="relationship" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisObjectType" maxOccurs="unbounded" minOccurs="0"/> + * <element name="changeObject" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChangedObjectType" minOccurs="0"/> + * <element name="child" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisObjectType" maxOccurs="unbounded" minOccurs="0"/> * <any/> * </sequence> - * <attGroup ref="{http://www.cmis.org/2008/05}cmisUndefinedAttribute"/> + * <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisUndefinedAttribute"/> * </restriction> * </complexContent> * </complexType> @@ -39,10 +40,11 @@ import org.w3c.dom.Element; * */ @XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "cmisObjectType", propOrder = { +@XmlType(name = "cmisObjectType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { "properties", "allowableActions", "relationship", + "changeObject", "child", "any" }) @@ -51,6 +53,7 @@ public class CmisObjectType { protected CmisPropertiesType properties; protected CmisAllowableActionsType allowableActions; protected List relationship; + protected CmisChangedObjectType changeObject; protected List child; @XmlAnyElement(lax = true) protected List any; @@ -134,6 +137,30 @@ public class CmisObjectType { return this.relationship; } + /** + * Gets the value of the changeObject property. + * + * @return + * possible object is + * {@link CmisChangedObjectType } + * + */ + public CmisChangedObjectType getChangeObject() { + return changeObject; + } + + /** + * Sets the value of the changeObject property. + * + * @param value + * allowed object is + * {@link CmisChangedObjectType } + * + */ + public void setChangeObject(CmisChangedObjectType value) { + this.changeObject = value; + } + /** * Gets the value of the child property. * @@ -181,8 +208,8 @@ public class CmisObjectType { * *

* Objects of the following type(s) are allowed in the list - * {@link Element } * {@link Object } + * {@link Element } * * */ diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPermissionDefinitionType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPermissionDefinitionType.java new file mode 100755 index 0000000000..831d16ba8d --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPermissionDefinitionType.java @@ -0,0 +1,186 @@ + +package org.alfresco.repo.cmis.ws; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; + + +/** + *

Java class for cmisPermissionDefinitionType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="cmisPermissionDefinitionType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="description" type="{http://www.w3.org/2001/XMLSchema}language" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="aggregating" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPermissionDefinitionType" maxOccurs="unbounded" minOccurs="0"/>
+ *       </sequence>
+ *       <attribute name="name" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       <attribute name="aggregated" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ *       <attribute name="abstract" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "cmisPermissionDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { + "description", + "aggregating" +}) +public class CmisPermissionDefinitionType { + + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "language") + protected List description; + protected List aggregating; + @XmlAttribute + protected String name; + @XmlAttribute + protected Boolean aggregated; + @XmlAttribute(name = "abstract") + protected Boolean _abstract; + + /** + * Gets the value of the description property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the description property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getDescription().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } + * + * + */ + public List getDescription() { + if (description == null) { + description = new ArrayList(); + } + return this.description; + } + + /** + * Gets the value of the aggregating property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the aggregating property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getAggregating().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link CmisPermissionDefinitionType } + * + * + */ + public List getAggregating() { + if (aggregating == null) { + aggregating = new ArrayList(); + } + return this.aggregating; + } + + /** + * Gets the value of the name property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getName() { + return name; + } + + /** + * Sets the value of the name property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setName(String value) { + this.name = value; + } + + /** + * Gets the value of the aggregated property. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isAggregated() { + return aggregated; + } + + /** + * Sets the value of the aggregated property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setAggregated(Boolean value) { + this.aggregated = value; + } + + /** + * Gets the value of the abstract property. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isAbstract() { + return _abstract; + } + + /** + * Sets the value of the abstract property. + * + * @param value + * allowed object is + * {@link Boolean } + * + */ + public void setAbstract(Boolean value) { + this._abstract = value; + } + +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPermissionSetType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPermissionSetType.java new file mode 100755 index 0000000000..7cc90c1aaa --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPermissionSetType.java @@ -0,0 +1,69 @@ + +package org.alfresco.repo.cmis.ws; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for cmisPermissionSetType complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType name="cmisPermissionSetType">
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="permission" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPermissionDefinitionType" maxOccurs="unbounded"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "cmisPermissionSetType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { + "permission" +}) +public class CmisPermissionSetType { + + @XmlElement(required = true) + protected List permission; + + /** + * Gets the value of the permission property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the permission property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getPermission().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link CmisPermissionDefinitionType } + * + * + */ + public List getPermission() { + if (permission == null) { + permission = new ArrayList(); + } + return this.permission; + } + +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertiesType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertiesType.java index b235ad85a2..4463b33b62 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertiesType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertiesType.java @@ -27,19 +27,19 @@ import org.w3c.dom.Element; * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <choice maxOccurs="unbounded" minOccurs="0"> - * <element ref="{http://www.cmis.org/2008/05}propertyBoolean"/> - * <element ref="{http://www.cmis.org/2008/05}propertyId"/> - * <element ref="{http://www.cmis.org/2008/05}propertyInteger"/> - * <element ref="{http://www.cmis.org/2008/05}propertyDateTime"/> - * <element ref="{http://www.cmis.org/2008/05}propertyDecimal"/> - * <element ref="{http://www.cmis.org/2008/05}propertyHtml"/> - * <element ref="{http://www.cmis.org/2008/05}propertyString"/> - * <element ref="{http://www.cmis.org/2008/05}propertyUri"/> - * <element ref="{http://www.cmis.org/2008/05}propertyXml"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyBoolean"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyId"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyInteger"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyDateTime"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyDecimal"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyHtml"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyString"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyUri"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyXml"/> * </choice> * <any/> * </sequence> - * <attGroup ref="{http://www.cmis.org/2008/05}cmisUndefinedAttribute"/> + * <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisUndefinedAttribute"/> * </restriction> * </complexContent> * </complexType> @@ -48,22 +48,22 @@ import org.w3c.dom.Element; * */ @XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "cmisPropertiesType", propOrder = { +@XmlType(name = "cmisPropertiesType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { "property", "any" }) public class CmisPropertiesType { @XmlElements({ - @XmlElement(name = "propertyUri", type = CmisPropertyUri.class, nillable = true), + @XmlElement(name = "propertyXml", type = CmisPropertyXml.class, nillable = true), + @XmlElement(name = "propertyDateTime", type = CmisPropertyDateTime.class, nillable = true), + @XmlElement(name = "propertyInteger", type = CmisPropertyInteger.class, nillable = true), + @XmlElement(name = "propertyDecimal", type = CmisPropertyDecimal.class, nillable = true), + @XmlElement(name = "propertyBoolean", type = CmisPropertyBoolean.class, nillable = true), @XmlElement(name = "propertyId", type = CmisPropertyId.class, nillable = true), @XmlElement(name = "propertyString", type = CmisPropertyString.class, nillable = true), - @XmlElement(name = "propertyXml", type = CmisPropertyXml.class, nillable = true), - @XmlElement(name = "propertyHtml", type = CmisPropertyHtml.class, nillable = true), - @XmlElement(name = "propertyBoolean", type = CmisPropertyBoolean.class, nillable = true), - @XmlElement(name = "propertyDecimal", type = CmisPropertyDecimal.class, nillable = true), - @XmlElement(name = "propertyDateTime", type = CmisPropertyDateTime.class, nillable = true), - @XmlElement(name = "propertyInteger", type = CmisPropertyInteger.class, nillable = true) + @XmlElement(name = "propertyUri", type = CmisPropertyUri.class, nillable = true), + @XmlElement(name = "propertyHtml", type = CmisPropertyHtml.class, nillable = true) }) protected List property; @XmlAnyElement(lax = true) @@ -89,15 +89,15 @@ public class CmisPropertiesType { * *

* Objects of the following type(s) are allowed in the list - * {@link CmisPropertyUri } - * {@link CmisPropertyId } - * {@link CmisPropertyString } * {@link CmisPropertyXml } - * {@link CmisPropertyHtml } - * {@link CmisPropertyBoolean } - * {@link CmisPropertyDecimal } * {@link CmisPropertyDateTime } * {@link CmisPropertyInteger } + * {@link CmisPropertyDecimal } + * {@link CmisPropertyBoolean } + * {@link CmisPropertyId } + * {@link CmisPropertyString } + * {@link CmisPropertyUri } + * {@link CmisPropertyHtml } * * */ @@ -126,8 +126,8 @@ public class CmisPropertiesType { * *

* Objects of the following type(s) are allowed in the list - * {@link Element } * {@link Object } + * {@link Element } * * */ diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisProperty.java b/source/generated/org/alfresco/repo/cmis/ws/CmisProperty.java index c78b68fe1b..58474ec81d 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisProperty.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisProperty.java @@ -1,7 +1,6 @@ package org.alfresco.repo.cmis.ws; -import java.math.BigInteger; import java.util.HashMap; import java.util.Map; import javax.xml.bind.annotation.XmlAccessType; @@ -22,9 +21,8 @@ import javax.xml.namespace.QName; * <complexType name="cmisProperty"> * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> - * <attGroup ref="{http://www.cmis.org/2008/05}cmisUndefinedAttribute"/> - * <attribute ref="{http://www.cmis.org/2008/05}name use="required""/> - * <attribute ref="{http://www.cmis.org/2008/05}index"/> + * <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisUndefinedAttribute"/> + * <attribute ref="{http://docs.oasis-open.org/ns/cmis/core/200901}name use="required""/> * </restriction> * </complexContent> * </complexType> @@ -33,24 +31,22 @@ import javax.xml.namespace.QName; * */ @XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "cmisProperty") +@XmlType(name = "cmisProperty", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlSeeAlso({ - CmisPropertyId.class, - CmisPropertyUri.class, - CmisPropertyDecimal.class, - CmisPropertyXml.class, - CmisPropertyString.class, - CmisPropertyDateTime.class, CmisPropertyHtml.class, - CmisPropertyInteger.class, - CmisPropertyBoolean.class + CmisPropertyDecimal.class, + CmisPropertyId.class, + CmisPropertyDateTime.class, + CmisPropertyXml.class, + CmisPropertyBoolean.class, + CmisPropertyUri.class, + CmisPropertyString.class, + CmisPropertyInteger.class }) public class CmisProperty { - @XmlAttribute(namespace = "http://www.cmis.org/2008/05", required = true) + @XmlAttribute(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", required = true) protected String name; - @XmlAttribute(namespace = "http://www.cmis.org/2008/05") - protected BigInteger index; @XmlAnyAttribute private Map otherAttributes = new HashMap(); @@ -78,30 +74,6 @@ public class CmisProperty { this.name = value; } - /** - * Gets the value of the index property. - * - * @return - * possible object is - * {@link BigInteger } - * - */ - public BigInteger getIndex() { - return index; - } - - /** - * Sets the value of the index property. - * - * @param value - * allowed object is - * {@link BigInteger } - * - */ - public void setIndex(BigInteger value) { - this.index = value; - } - /** * Gets a map that contains attributes that aren't bound to any typed property on this class. * diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyBoolean.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyBoolean.java index 0ebc4f3ad8..da46187a59 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyBoolean.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyBoolean.java @@ -1,9 +1,11 @@ package org.alfresco.repo.cmis.ws; +import java.util.ArrayList; +import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlType; @@ -15,11 +17,10 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="cmisPropertyBoolean">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisProperty">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisProperty">
  *       <sequence>
- *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}boolean" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
- *       <attribute ref="{http://www.cmis.org/2008/05}propertyType default="boolean""/>
  *     </extension>
  *   </complexContent>
  * </complexType>
@@ -28,67 +29,43 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyBoolean", propOrder = {
+@XmlType(name = "cmisPropertyBoolean", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "value"
 })
 public class CmisPropertyBoolean
     extends CmisProperty
 {
 
-    protected Boolean value;
-    @XmlAttribute(namespace = "http://www.cmis.org/2008/05")
-    protected EnumPropertyType propertyType;
+    @XmlElement(type = Boolean.class)
+    protected List value;
 
     /**
      * Gets the value of the value property.
      * 
-     * @return
-     *     possible object is
-     *     {@link Boolean }
-     *     
-     */
-    public Boolean isValue() {
-        return value;
-    }
-
-    /**
-     * Sets the value of the value property.
+     * 

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the value property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Boolean } * - * @param value - * allowed object is - * {@link Boolean } - * - */ - public void setValue(Boolean value) { - this.value = value; - } - - /** - * Gets the value of the propertyType property. * - * @return - * possible object is - * {@link EnumPropertyType } - * */ - public EnumPropertyType getPropertyType() { - if (propertyType == null) { - return EnumPropertyType.BOOLEAN; - } else { - return propertyType; + public List getValue() { + if (value == null) { + value = new ArrayList(); } - } - - /** - * Sets the value of the propertyType property. - * - * @param value - * allowed object is - * {@link EnumPropertyType } - * - */ - public void setPropertyType(EnumPropertyType value) { - this.propertyType = value; + return this.value; } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyBooleanDefinitionType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyBooleanDefinitionType.java index 65c2be9ae8..54447a0e2a 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyBooleanDefinitionType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyBooleanDefinitionType.java @@ -16,9 +16,9 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="cmisPropertyBooleanDefinitionType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisPropertyDefinitionType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPropertyDefinitionType">
  *       <sequence>
- *         <element name="defaultValue" type="{http://www.cmis.org/2008/05}cmisChoiceBooleanType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="defaultValue" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceBooleanType" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
  *     </extension>
  *   </complexContent>
@@ -28,7 +28,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyBooleanDefinitionType", propOrder = {
+@XmlType(name = "cmisPropertyBooleanDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "defaultValue"
 })
 public class CmisPropertyBooleanDefinitionType
diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDateTime.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDateTime.java
index 9ba4db9d3e..4ff1e3bd86 100755
--- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDateTime.java
+++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDateTime.java
@@ -1,9 +1,10 @@
 
 package org.alfresco.repo.cmis.ws;
 
+import java.util.ArrayList;
+import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlSchemaType;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.datatype.XMLGregorianCalendar;
@@ -17,11 +18,10 @@ import javax.xml.datatype.XMLGregorianCalendar;
  * 
  * <complexType name="cmisPropertyDateTime">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisProperty">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisProperty">
  *       <sequence>
- *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
+ *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}dateTime" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
- *       <attribute ref="{http://www.cmis.org/2008/05}propertyType default="datetime""/>
  *     </extension>
  *   </complexContent>
  * </complexType>
@@ -30,7 +30,7 @@ import javax.xml.datatype.XMLGregorianCalendar;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyDateTime", propOrder = {
+@XmlType(name = "cmisPropertyDateTime", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "value"
 })
 public class CmisPropertyDateTime
@@ -38,60 +38,35 @@ public class CmisPropertyDateTime
 {
 
     @XmlSchemaType(name = "dateTime")
-    protected XMLGregorianCalendar value;
-    @XmlAttribute(namespace = "http://www.cmis.org/2008/05")
-    protected EnumPropertyType propertyType;
+    protected List value;
 
     /**
      * Gets the value of the value property.
      * 
-     * @return
-     *     possible object is
-     *     {@link XMLGregorianCalendar }
-     *     
-     */
-    public XMLGregorianCalendar getValue() {
-        return value;
-    }
-
-    /**
-     * Sets the value of the value property.
+     * 

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the value property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link XMLGregorianCalendar } * - * @param value - * allowed object is - * {@link XMLGregorianCalendar } - * - */ - public void setValue(XMLGregorianCalendar value) { - this.value = value; - } - - /** - * Gets the value of the propertyType property. * - * @return - * possible object is - * {@link EnumPropertyType } - * */ - public EnumPropertyType getPropertyType() { - if (propertyType == null) { - return EnumPropertyType.DATETIME; - } else { - return propertyType; + public List getValue() { + if (value == null) { + value = new ArrayList(); } - } - - /** - * Sets the value of the propertyType property. - * - * @param value - * allowed object is - * {@link EnumPropertyType } - * - */ - public void setPropertyType(EnumPropertyType value) { - this.propertyType = value; + return this.value; } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDateTimeDefinitionType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDateTimeDefinitionType.java index 41806deb1e..4b62310c09 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDateTimeDefinitionType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDateTimeDefinitionType.java @@ -16,9 +16,9 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="cmisPropertyDateTimeDefinitionType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisPropertyDefinitionType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPropertyDefinitionType">
  *       <sequence>
- *         <element name="defaultValue" type="{http://www.cmis.org/2008/05}cmisChoiceDateTimeType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="defaultValue" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceDateTimeType" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
  *     </extension>
  *   </complexContent>
@@ -28,7 +28,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyDateTimeDefinitionType", propOrder = {
+@XmlType(name = "cmisPropertyDateTimeDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "defaultValue"
 })
 public class CmisPropertyDateTimeDefinitionType
diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDecimal.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDecimal.java
index 1552919b0b..bc8f8c6f58 100755
--- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDecimal.java
+++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDecimal.java
@@ -2,9 +2,10 @@
 package org.alfresco.repo.cmis.ws;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
 
 
@@ -16,11 +17,10 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * <complexType name="cmisPropertyDecimal">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisProperty">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisProperty">
  *       <sequence>
- *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}decimal" minOccurs="0"/>
+ *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}decimal" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
- *       <attribute ref="{http://www.cmis.org/2008/05}propertyType default="decimal""/>
  *     </extension>
  *   </complexContent>
  * </complexType>
@@ -29,67 +29,42 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyDecimal", propOrder = {
+@XmlType(name = "cmisPropertyDecimal", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "value"
 })
 public class CmisPropertyDecimal
     extends CmisProperty
 {
 
-    protected BigDecimal value;
-    @XmlAttribute(namespace = "http://www.cmis.org/2008/05")
-    protected EnumPropertyType propertyType;
+    protected List value;
 
     /**
      * Gets the value of the value property.
      * 
-     * @return
-     *     possible object is
-     *     {@link BigDecimal }
-     *     
-     */
-    public BigDecimal getValue() {
-        return value;
-    }
-
-    /**
-     * Sets the value of the value property.
+     * 

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the value property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link BigDecimal } * - * @param value - * allowed object is - * {@link BigDecimal } - * - */ - public void setValue(BigDecimal value) { - this.value = value; - } - - /** - * Gets the value of the propertyType property. * - * @return - * possible object is - * {@link EnumPropertyType } - * */ - public EnumPropertyType getPropertyType() { - if (propertyType == null) { - return EnumPropertyType.DECIMAL; - } else { - return propertyType; + public List getValue() { + if (value == null) { + value = new ArrayList(); } - } - - /** - * Sets the value of the propertyType property. - * - * @param value - * allowed object is - * {@link EnumPropertyType } - * - */ - public void setPropertyType(EnumPropertyType value) { - this.propertyType = value; + return this.value; } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDecimalDefinitionType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDecimalDefinitionType.java index 6d00cb64e7..12eef583e0 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDecimalDefinitionType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDecimalDefinitionType.java @@ -17,10 +17,10 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="cmisPropertyDecimalDefinitionType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisPropertyDefinitionType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPropertyDefinitionType">
  *       <sequence>
- *         <element name="defaultValue" type="{http://www.cmis.org/2008/05}cmisChoiceDecimalType" maxOccurs="unbounded" minOccurs="0"/>
- *         <element name="precision" type="{http://www.cmis.org/2008/05}enumDecimalPrecision" minOccurs="0"/>
+ *         <element name="defaultValue" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceDecimalType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="precision" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumDecimalPrecision" minOccurs="0"/>
  *       </sequence>
  *     </extension>
  *   </complexContent>
@@ -30,7 +30,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyDecimalDefinitionType", propOrder = {
+@XmlType(name = "cmisPropertyDecimalDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "defaultValue",
     "precision"
 })
diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDefinitionType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDefinitionType.java
index 83abd860cb..a921c82b30 100755
--- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDefinitionType.java
+++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyDefinitionType.java
@@ -29,30 +29,31 @@ import org.w3c.dom.Element;
  *       <sequence>
  *         <element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
  *         <element name="id" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="package" type="{http://www.w3.org/2001/XMLSchema}string"/>
  *         <element name="displayName" type="{http://www.w3.org/2001/XMLSchema}string"/>
  *         <element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
- *         <element name="propertyType" type="{http://www.cmis.org/2008/05}enumPropertyType"/>
- *         <element name="cardinality" type="{http://www.cmis.org/2008/05}enumCardinality"/>
- *         <element name="updateability" type="{http://www.cmis.org/2008/05}enumUpdateability"/>
+ *         <element name="propertyType" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumPropertyType"/>
+ *         <element name="cardinality" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumCardinality"/>
+ *         <element name="updatability" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumUpdatability"/>
  *         <element name="inherited" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
  *         <element name="required" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
  *         <element name="queryable" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
  *         <element name="orderable" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
  *         <choice maxOccurs="unbounded" minOccurs="0">
- *           <element ref="{http://www.cmis.org/2008/05}choiceBoolean"/>
- *           <element ref="{http://www.cmis.org/2008/05}choiceDateTime"/>
- *           <element ref="{http://www.cmis.org/2008/05}choiceDecimal"/>
- *           <element ref="{http://www.cmis.org/2008/05}choiceHtml"/>
- *           <element ref="{http://www.cmis.org/2008/05}choiceId"/>
- *           <element ref="{http://www.cmis.org/2008/05}choiceInteger"/>
- *           <element ref="{http://www.cmis.org/2008/05}choiceString"/>
- *           <element ref="{http://www.cmis.org/2008/05}choiceUri"/>
- *           <element ref="{http://www.cmis.org/2008/05}choiceXml"/>
+ *           <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}choiceBoolean"/>
+ *           <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}choiceDateTime"/>
+ *           <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}choiceDecimal"/>
+ *           <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}choiceHtml"/>
+ *           <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}choiceId"/>
+ *           <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}choiceInteger"/>
+ *           <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}choiceString"/>
+ *           <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}choiceUri"/>
+ *           <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}choiceXml"/>
  *         </choice>
  *         <element name="openChoice" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
  *         <any/>
  *       </sequence>
- *       <attGroup ref="{http://www.cmis.org/2008/05}cmisUndefinedAttribute"/>
+ *       <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisUndefinedAttribute"/>
  *     </restriction>
  *   </complexContent>
  * </complexType>
@@ -61,14 +62,15 @@ import org.w3c.dom.Element;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyDefinitionType", propOrder = {
+@XmlType(name = "cmisPropertyDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "name",
     "id",
+    "_package",
     "displayName",
     "description",
     "propertyType",
     "cardinality",
-    "updateability",
+    "updatability",
     "inherited",
     "required",
     "queryable",
@@ -78,15 +80,15 @@ import org.w3c.dom.Element;
     "any"
 })
 @XmlSeeAlso({
-    CmisPropertyHtmlDefinitionType.class,
-    CmisPropertyIntegerDefinitionType.class,
-    CmisPropertyBooleanDefinitionType.class,
-    CmisPropertyIdDefinitionType.class,
-    CmisPropertyStringDefinitionType.class,
-    CmisPropertyDecimalDefinitionType.class,
-    CmisPropertyDateTimeDefinitionType.class,
     CmisPropertyUriDefinitionType.class,
-    CmisPropertyXmlDefinitionType.class
+    CmisPropertyHtmlDefinitionType.class,
+    CmisPropertyStringDefinitionType.class,
+    CmisPropertyIntegerDefinitionType.class,
+    CmisPropertyIdDefinitionType.class,
+    CmisPropertyXmlDefinitionType.class,
+    CmisPropertyBooleanDefinitionType.class,
+    CmisPropertyDecimalDefinitionType.class,
+    CmisPropertyDateTimeDefinitionType.class
 })
 public class CmisPropertyDefinitionType {
 
@@ -94,6 +96,8 @@ public class CmisPropertyDefinitionType {
     protected String name;
     @XmlElement(required = true)
     protected String id;
+    @XmlElement(name = "package", required = true)
+    protected String _package;
     @XmlElement(required = true)
     protected String displayName;
     protected String description;
@@ -102,21 +106,21 @@ public class CmisPropertyDefinitionType {
     @XmlElement(required = true)
     protected EnumCardinality cardinality;
     @XmlElement(required = true)
-    protected EnumUpdateability updateability;
+    protected EnumUpdatability updatability;
     protected Boolean inherited;
     protected boolean required;
     protected boolean queryable;
     protected boolean orderable;
     @XmlElements({
-        @XmlElement(name = "choiceUri", type = CmisChoiceUriType.class),
-        @XmlElement(name = "choiceXml", type = CmisChoiceXmlType.class),
         @XmlElement(name = "choiceDateTime", type = CmisChoiceDateTimeType.class),
-        @XmlElement(name = "choiceId", type = CmisChoiceIdType.class),
-        @XmlElement(name = "choiceHtml", type = CmisChoiceHtmlType.class),
-        @XmlElement(name = "choiceString", type = CmisChoiceStringType.class),
-        @XmlElement(name = "choiceDecimal", type = CmisChoiceDecimalType.class),
+        @XmlElement(name = "choiceBoolean", type = CmisChoiceBooleanType.class),
+        @XmlElement(name = "choiceUri", type = CmisChoiceUriType.class),
         @XmlElement(name = "choiceInteger", type = CmisChoiceIntegerType.class),
-        @XmlElement(name = "choiceBoolean", type = CmisChoiceBooleanType.class)
+        @XmlElement(name = "choiceDecimal", type = CmisChoiceDecimalType.class),
+        @XmlElement(name = "choiceHtml", type = CmisChoiceHtmlType.class),
+        @XmlElement(name = "choiceXml", type = CmisChoiceXmlType.class),
+        @XmlElement(name = "choiceId", type = CmisChoiceIdType.class),
+        @XmlElement(name = "choiceString", type = CmisChoiceStringType.class)
     })
     protected List choice;
     protected Boolean openChoice;
@@ -173,6 +177,30 @@ public class CmisPropertyDefinitionType {
         this.id = value;
     }
 
+    /**
+     * Gets the value of the package property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getPackage() {
+        return _package;
+    }
+
+    /**
+     * Sets the value of the package property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setPackage(String value) {
+        this._package = value;
+    }
+
     /**
      * Gets the value of the displayName property.
      * 
@@ -270,27 +298,27 @@ public class CmisPropertyDefinitionType {
     }
 
     /**
-     * Gets the value of the updateability property.
+     * Gets the value of the updatability property.
      * 
      * @return
      *     possible object is
-     *     {@link EnumUpdateability }
+     *     {@link EnumUpdatability }
      *     
      */
-    public EnumUpdateability getUpdateability() {
-        return updateability;
+    public EnumUpdatability getUpdatability() {
+        return updatability;
     }
 
     /**
-     * Sets the value of the updateability property.
+     * Sets the value of the updatability property.
      * 
      * @param value
      *     allowed object is
-     *     {@link EnumUpdateability }
+     *     {@link EnumUpdatability }
      *     
      */
-    public void setUpdateability(EnumUpdateability value) {
-        this.updateability = value;
+    public void setUpdatability(EnumUpdatability value) {
+        this.updatability = value;
     }
 
     /**
@@ -383,15 +411,15 @@ public class CmisPropertyDefinitionType {
      * 
      * 

* Objects of the following type(s) are allowed in the list - * {@link CmisChoiceUriType } - * {@link CmisChoiceXmlType } * {@link CmisChoiceDateTimeType } - * {@link CmisChoiceIdType } - * {@link CmisChoiceHtmlType } - * {@link CmisChoiceStringType } - * {@link CmisChoiceDecimalType } - * {@link CmisChoiceIntegerType } * {@link CmisChoiceBooleanType } + * {@link CmisChoiceUriType } + * {@link CmisChoiceIntegerType } + * {@link CmisChoiceDecimalType } + * {@link CmisChoiceHtmlType } + * {@link CmisChoiceXmlType } + * {@link CmisChoiceIdType } + * {@link CmisChoiceStringType } * * */ @@ -444,8 +472,8 @@ public class CmisPropertyDefinitionType { * *

* Objects of the following type(s) are allowed in the list - * {@link Element } * {@link Object } + * {@link Element } * * */ diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyHtml.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyHtml.java index b3208a96e2..ac93036ee5 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyHtml.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyHtml.java @@ -6,7 +6,6 @@ import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAnyElement; -import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlType; import org.w3c.dom.Element; @@ -19,11 +18,20 @@ import org.w3c.dom.Element; *

  * <complexType name="cmisPropertyHtml">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisProperty">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisProperty">
  *       <sequence>
- *         <any/>
+ *         <element name="value" maxOccurs="unbounded" minOccurs="0">
+ *           <complexType>
+ *             <complexContent>
+ *               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 <sequence>
+ *                   <any/>
+ *                 </sequence>
+ *               </restriction>
+ *             </complexContent>
+ *           </complexType>
+ *         </element>
  *       </sequence>
- *       <attribute ref="{http://www.cmis.org/2008/05}propertyType default="html""/>
  *     </extension>
  *   </complexContent>
  * </complexType>
@@ -32,74 +40,103 @@ import org.w3c.dom.Element;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyHtml", propOrder = {
-    "any"
+@XmlType(name = "cmisPropertyHtml", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
+    "value"
 })
 public class CmisPropertyHtml
     extends CmisProperty
 {
 
-    @XmlAnyElement(lax = true)
-    protected List any;
-    @XmlAttribute(namespace = "http://www.cmis.org/2008/05")
-    protected EnumPropertyType propertyType;
+    protected List value;
 
     /**
-     * Gets the value of the any property.
+     * Gets the value of the value property.
      * 
      * 

* This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. - * This is why there is not a set method for the any property. + * This is why there is not a set method for the value property. * *

* For example, to add a new item, do as follows: *

-     *    getAny().add(newItem);
+     *    getValue().add(newItem);
      * 
* * *

* Objects of the following type(s) are allowed in the list - * {@link Element } - * {@link Object } + * {@link CmisPropertyHtml.Value } * * */ - public List getAny() { - if (any == null) { - any = new ArrayList(); + public List getValue() { + if (value == null) { + value = new ArrayList(); } - return this.any; + return this.value; } - /** - * Gets the value of the propertyType property. - * - * @return - * possible object is - * {@link EnumPropertyType } - * - */ - public EnumPropertyType getPropertyType() { - if (propertyType == null) { - return EnumPropertyType.HTML; - } else { - return propertyType; - } - } /** - * Sets the value of the propertyType property. + *

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+     * <complexType>
+     *   <complexContent>
+     *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       <sequence>
+     *         <any/>
+     *       </sequence>
+     *     </restriction>
+     *   </complexContent>
+     * </complexType>
+     * 
+ * * - * @param value - * allowed object is - * {@link EnumPropertyType } - * */ - public void setPropertyType(EnumPropertyType value) { - this.propertyType = value; + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "any" + }) + public static class Value { + + @XmlAnyElement(lax = true) + protected List any; + + /** + * Gets the value of the any property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the any property. + * + *

+ * For example, to add a new item, do as follows: + *

+         *    getAny().add(newItem);
+         * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Object } + * {@link Element } + * + * + */ + public List getAny() { + if (any == null) { + any = new ArrayList(); + } + return this.any; + } + } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyHtmlDefinitionType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyHtmlDefinitionType.java index bec1f9a854..345ce4c6c8 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyHtmlDefinitionType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyHtmlDefinitionType.java @@ -16,9 +16,9 @@ import javax.xml.bind.annotation.XmlType; *
  * <complexType name="cmisPropertyHtmlDefinitionType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisPropertyDefinitionType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPropertyDefinitionType">
  *       <sequence>
- *         <element name="defaultValue" type="{http://www.cmis.org/2008/05}cmisChoiceHtmlType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="defaultValue" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceHtmlType" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
  *     </extension>
  *   </complexContent>
@@ -28,7 +28,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyHtmlDefinitionType", propOrder = {
+@XmlType(name = "cmisPropertyHtmlDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "defaultValue"
 })
 public class CmisPropertyHtmlDefinitionType
diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyId.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyId.java
index c34b8dade8..5b536b998a 100755
--- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyId.java
+++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyId.java
@@ -1,6 +1,8 @@
 
 package org.alfresco.repo.cmis.ws;
 
+import java.util.ArrayList;
+import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
@@ -16,12 +18,11 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * <complexType name="cmisPropertyId">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisProperty">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisProperty">
  *       <sequence>
- *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
- *       <attribute ref="{http://www.cmis.org/2008/05}propertyType default="id""/>
- *       <attribute ref="{http://www.cmis.org/2008/05}href"/>
+ *       <attribute ref="{http://docs.oasis-open.org/ns/cmis/core/200901}href"/>
  *     </extension>
  *   </complexContent>
  * </complexType>
@@ -30,70 +31,45 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyId", propOrder = {
+@XmlType(name = "cmisPropertyId", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "value"
 })
 public class CmisPropertyId
     extends CmisProperty
 {
 
-    protected String value;
-    @XmlAttribute(namespace = "http://www.cmis.org/2008/05")
-    protected EnumPropertyType propertyType;
-    @XmlAttribute(namespace = "http://www.cmis.org/2008/05")
+    protected List value;
+    @XmlAttribute(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901")
     @XmlSchemaType(name = "anyURI")
     protected String href;
 
     /**
      * Gets the value of the value property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getValue() {
-        return value;
-    }
-
-    /**
-     * Sets the value of the value property.
+     * 

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the value property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } * - * @param value - * allowed object is - * {@link String } - * - */ - public void setValue(String value) { - this.value = value; - } - - /** - * Gets the value of the propertyType property. * - * @return - * possible object is - * {@link EnumPropertyType } - * */ - public EnumPropertyType getPropertyType() { - if (propertyType == null) { - return EnumPropertyType.ID; - } else { - return propertyType; + public List getValue() { + if (value == null) { + value = new ArrayList(); } - } - - /** - * Sets the value of the propertyType property. - * - * @param value - * allowed object is - * {@link EnumPropertyType } - * - */ - public void setPropertyType(EnumPropertyType value) { - this.propertyType = value; + return this.value; } /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyIdDefinitionType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyIdDefinitionType.java index e092bbc4cf..8e7a3135f2 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyIdDefinitionType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyIdDefinitionType.java @@ -16,9 +16,9 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="cmisPropertyIdDefinitionType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisPropertyDefinitionType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPropertyDefinitionType">
  *       <sequence>
- *         <element name="defaultValue" type="{http://www.cmis.org/2008/05}cmisChoiceIdType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="defaultValue" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceIdType" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
  *     </extension>
  *   </complexContent>
@@ -28,7 +28,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyIdDefinitionType", propOrder = {
+@XmlType(name = "cmisPropertyIdDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "defaultValue"
 })
 public class CmisPropertyIdDefinitionType
diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyInteger.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyInteger.java
index c171d7b6c7..df347f0f0b 100755
--- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyInteger.java
+++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyInteger.java
@@ -2,9 +2,10 @@
 package org.alfresco.repo.cmis.ws;
 
 import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
 
 
@@ -16,11 +17,10 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * <complexType name="cmisPropertyInteger">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisProperty">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisProperty">
  *       <sequence>
- *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/>
+ *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}integer" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
- *       <attribute ref="{http://www.cmis.org/2008/05}propertyType default="integer""/>
  *     </extension>
  *   </complexContent>
  * </complexType>
@@ -29,67 +29,42 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyInteger", propOrder = {
+@XmlType(name = "cmisPropertyInteger", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "value"
 })
 public class CmisPropertyInteger
     extends CmisProperty
 {
 
-    protected BigInteger value;
-    @XmlAttribute(namespace = "http://www.cmis.org/2008/05")
-    protected EnumPropertyType propertyType;
+    protected List value;
 
     /**
      * Gets the value of the value property.
      * 
-     * @return
-     *     possible object is
-     *     {@link BigInteger }
-     *     
-     */
-    public BigInteger getValue() {
-        return value;
-    }
-
-    /**
-     * Sets the value of the value property.
+     * 

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the value property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link BigInteger } * - * @param value - * allowed object is - * {@link BigInteger } - * - */ - public void setValue(BigInteger value) { - this.value = value; - } - - /** - * Gets the value of the propertyType property. * - * @return - * possible object is - * {@link EnumPropertyType } - * */ - public EnumPropertyType getPropertyType() { - if (propertyType == null) { - return EnumPropertyType.INTEGER; - } else { - return propertyType; + public List getValue() { + if (value == null) { + value = new ArrayList(); } - } - - /** - * Sets the value of the propertyType property. - * - * @param value - * allowed object is - * {@link EnumPropertyType } - * - */ - public void setPropertyType(EnumPropertyType value) { - this.propertyType = value; + return this.value; } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyIntegerDefinitionType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyIntegerDefinitionType.java index c3d8e5ccd5..56ab3c10f0 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyIntegerDefinitionType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyIntegerDefinitionType.java @@ -17,9 +17,9 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="cmisPropertyIntegerDefinitionType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisPropertyDefinitionType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPropertyDefinitionType">
  *       <sequence>
- *         <element name="defaultValue" type="{http://www.cmis.org/2008/05}cmisChoiceIntegerType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="defaultValue" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceIntegerType" maxOccurs="unbounded" minOccurs="0"/>
  *         <element name="maxValue" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/>
  *         <element name="minValue" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/>
  *       </sequence>
@@ -31,7 +31,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyIntegerDefinitionType", propOrder = {
+@XmlType(name = "cmisPropertyIntegerDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "defaultValue",
     "maxValue",
     "minValue"
diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyString.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyString.java
index 848458b27e..d8f5b1a8b2 100755
--- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyString.java
+++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyString.java
@@ -1,9 +1,10 @@
 
 package org.alfresco.repo.cmis.ws;
 
+import java.util.ArrayList;
+import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
 
 
@@ -15,11 +16,10 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * <complexType name="cmisPropertyString">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisProperty">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisProperty">
  *       <sequence>
- *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
- *       <attribute ref="{http://www.cmis.org/2008/05}propertyType default="string""/>
  *     </extension>
  *   </complexContent>
  * </complexType>
@@ -28,67 +28,42 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyString", propOrder = {
+@XmlType(name = "cmisPropertyString", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "value"
 })
 public class CmisPropertyString
     extends CmisProperty
 {
 
-    protected String value;
-    @XmlAttribute(namespace = "http://www.cmis.org/2008/05")
-    protected EnumPropertyType propertyType;
+    protected List value;
 
     /**
      * Gets the value of the value property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getValue() {
-        return value;
-    }
-
-    /**
-     * Sets the value of the value property.
+     * 

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the value property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } * - * @param value - * allowed object is - * {@link String } - * - */ - public void setValue(String value) { - this.value = value; - } - - /** - * Gets the value of the propertyType property. * - * @return - * possible object is - * {@link EnumPropertyType } - * */ - public EnumPropertyType getPropertyType() { - if (propertyType == null) { - return EnumPropertyType.STRING; - } else { - return propertyType; + public List getValue() { + if (value == null) { + value = new ArrayList(); } - } - - /** - * Sets the value of the propertyType property. - * - * @param value - * allowed object is - * {@link EnumPropertyType } - * - */ - public void setPropertyType(EnumPropertyType value) { - this.propertyType = value; + return this.value; } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyStringDefinitionType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyStringDefinitionType.java index f3285149d3..3dd7693465 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyStringDefinitionType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyStringDefinitionType.java @@ -17,9 +17,9 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="cmisPropertyStringDefinitionType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisPropertyDefinitionType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPropertyDefinitionType">
  *       <sequence>
- *         <element name="defaultValue" type="{http://www.cmis.org/2008/05}cmisChoiceStringType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="defaultValue" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceStringType" maxOccurs="unbounded" minOccurs="0"/>
  *         <element name="maxLength" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/>
  *       </sequence>
  *     </extension>
@@ -30,7 +30,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyStringDefinitionType", propOrder = {
+@XmlType(name = "cmisPropertyStringDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "defaultValue",
     "maxLength"
 })
diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyUri.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyUri.java
index 1ce76e4388..e555c7844f 100755
--- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyUri.java
+++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyUri.java
@@ -1,9 +1,10 @@
 
 package org.alfresco.repo.cmis.ws;
 
+import java.util.ArrayList;
+import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlSchemaType;
 import javax.xml.bind.annotation.XmlType;
 
@@ -16,11 +17,10 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * <complexType name="cmisPropertyUri">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisProperty">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisProperty">
  *       <sequence>
- *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/>
+ *         <element name="value" type="{http://www.w3.org/2001/XMLSchema}anyURI" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
- *       <attribute ref="{http://www.cmis.org/2008/05}propertyType default="uri""/>
  *     </extension>
  *   </complexContent>
  * </complexType>
@@ -29,7 +29,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyUri", propOrder = {
+@XmlType(name = "cmisPropertyUri", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "value"
 })
 public class CmisPropertyUri
@@ -37,60 +37,35 @@ public class CmisPropertyUri
 {
 
     @XmlSchemaType(name = "anyURI")
-    protected String value;
-    @XmlAttribute(namespace = "http://www.cmis.org/2008/05")
-    protected EnumPropertyType propertyType;
+    protected List value;
 
     /**
      * Gets the value of the value property.
      * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getValue() {
-        return value;
-    }
-
-    /**
-     * Sets the value of the value property.
+     * 

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the value property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getValue().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link String } * - * @param value - * allowed object is - * {@link String } - * - */ - public void setValue(String value) { - this.value = value; - } - - /** - * Gets the value of the propertyType property. * - * @return - * possible object is - * {@link EnumPropertyType } - * */ - public EnumPropertyType getPropertyType() { - if (propertyType == null) { - return EnumPropertyType.URI; - } else { - return propertyType; + public List getValue() { + if (value == null) { + value = new ArrayList(); } - } - - /** - * Sets the value of the propertyType property. - * - * @param value - * allowed object is - * {@link EnumPropertyType } - * - */ - public void setPropertyType(EnumPropertyType value) { - this.propertyType = value; + return this.value; } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyUriDefinitionType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyUriDefinitionType.java index 944346a72f..4267c49439 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyUriDefinitionType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyUriDefinitionType.java @@ -16,9 +16,9 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="cmisPropertyUriDefinitionType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisPropertyDefinitionType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPropertyDefinitionType">
  *       <sequence>
- *         <element name="defaultValue" type="{http://www.cmis.org/2008/05}cmisChoiceUriType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="defaultValue" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceUriType" maxOccurs="unbounded" minOccurs="0"/>
  *       </sequence>
  *     </extension>
  *   </complexContent>
@@ -28,7 +28,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyUriDefinitionType", propOrder = {
+@XmlType(name = "cmisPropertyUriDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "defaultValue"
 })
 public class CmisPropertyUriDefinitionType
diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyXml.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyXml.java
index a29ec9b85f..b31bf43999 100755
--- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyXml.java
+++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyXml.java
@@ -6,7 +6,6 @@ import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
 import org.w3c.dom.Element;
 
@@ -19,11 +18,20 @@ import org.w3c.dom.Element;
  * 
  * <complexType name="cmisPropertyXml">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisProperty">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisProperty">
  *       <sequence>
- *         <any/>
+ *         <element name="value" maxOccurs="unbounded" minOccurs="0">
+ *           <complexType>
+ *             <complexContent>
+ *               <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 <sequence>
+ *                   <any/>
+ *                 </sequence>
+ *               </restriction>
+ *             </complexContent>
+ *           </complexType>
+ *         </element>
  *       </sequence>
- *       <attribute ref="{http://www.cmis.org/2008/05}propertyType default="xml""/>
  *     </extension>
  *   </complexContent>
  * </complexType>
@@ -32,74 +40,103 @@ import org.w3c.dom.Element;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyXml", propOrder = {
-    "any"
+@XmlType(name = "cmisPropertyXml", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
+    "value"
 })
 public class CmisPropertyXml
     extends CmisProperty
 {
 
-    @XmlAnyElement(lax = true)
-    protected List any;
-    @XmlAttribute(namespace = "http://www.cmis.org/2008/05")
-    protected EnumPropertyType propertyType;
+    protected List value;
 
     /**
-     * Gets the value of the any property.
+     * Gets the value of the value property.
      * 
      * 

* This accessor method returns a reference to the live list, * not a snapshot. Therefore any modification you make to the * returned list will be present inside the JAXB object. - * This is why there is not a set method for the any property. + * This is why there is not a set method for the value property. * *

* For example, to add a new item, do as follows: *

-     *    getAny().add(newItem);
+     *    getValue().add(newItem);
      * 
* * *

* Objects of the following type(s) are allowed in the list - * {@link Element } - * {@link Object } + * {@link CmisPropertyXml.Value } * * */ - public List getAny() { - if (any == null) { - any = new ArrayList(); + public List getValue() { + if (value == null) { + value = new ArrayList(); } - return this.any; + return this.value; } - /** - * Gets the value of the propertyType property. - * - * @return - * possible object is - * {@link EnumPropertyType } - * - */ - public EnumPropertyType getPropertyType() { - if (propertyType == null) { - return EnumPropertyType.XML; - } else { - return propertyType; - } - } /** - * Sets the value of the propertyType property. + *

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+     * <complexType>
+     *   <complexContent>
+     *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       <sequence>
+     *         <any/>
+     *       </sequence>
+     *     </restriction>
+     *   </complexContent>
+     * </complexType>
+     * 
+ * * - * @param value - * allowed object is - * {@link EnumPropertyType } - * */ - public void setPropertyType(EnumPropertyType value) { - this.propertyType = value; + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "any" + }) + public static class Value { + + @XmlAnyElement(lax = true) + protected List any; + + /** + * Gets the value of the any property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the any property. + * + *

+ * For example, to add a new item, do as follows: + *

+         *    getAny().add(newItem);
+         * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link Object } + * {@link Element } + * + * + */ + public List getAny() { + if (any == null) { + any = new ArrayList(); + } + return this.any; + } + } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyXmlDefinitionType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyXmlDefinitionType.java index 4831e89f08..056e1ccf36 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyXmlDefinitionType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisPropertyXmlDefinitionType.java @@ -17,11 +17,10 @@ import javax.xml.bind.annotation.XmlType; *
  * <complexType name="cmisPropertyXmlDefinitionType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisPropertyDefinitionType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPropertyDefinitionType">
  *       <sequence>
- *         <element name="defaultValue" type="{http://www.cmis.org/2008/05}cmisChoiceXmlType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="defaultValue" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisChoiceXmlType" maxOccurs="unbounded" minOccurs="0"/>
  *         <element name="schemaURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" minOccurs="0"/>
- *         <element name="encoding" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
  *       </sequence>
  *     </extension>
  *   </complexContent>
@@ -31,10 +30,9 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisPropertyXmlDefinitionType", propOrder = {
+@XmlType(name = "cmisPropertyXmlDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "defaultValue",
-    "schemaURI",
-    "encoding"
+    "schemaURI"
 })
 public class CmisPropertyXmlDefinitionType
     extends CmisPropertyDefinitionType
@@ -43,7 +41,6 @@ public class CmisPropertyXmlDefinitionType
     protected List defaultValue;
     @XmlSchemaType(name = "anyURI")
     protected String schemaURI;
-    protected String encoding;
 
     /**
      * Gets the value of the defaultValue property.
@@ -98,28 +95,4 @@ public class CmisPropertyXmlDefinitionType
         this.schemaURI = value;
     }
 
-    /**
-     * Gets the value of the encoding property.
-     * 
-     * @return
-     *     possible object is
-     *     {@link String }
-     *     
-     */
-    public String getEncoding() {
-        return encoding;
-    }
-
-    /**
-     * Sets the value of the encoding property.
-     * 
-     * @param value
-     *     allowed object is
-     *     {@link String }
-     *     
-     */
-    public void setEncoding(String value) {
-        this.encoding = value;
-    }
-
 }
diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisQueryType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisQueryType.java
index 4ab06c38cc..22521b5d7d 100755
--- a/source/generated/org/alfresco/repo/cmis/ws/CmisQueryType.java
+++ b/source/generated/org/alfresco/repo/cmis/ws/CmisQueryType.java
@@ -2,18 +2,14 @@
 package org.alfresco.repo.cmis.ws;
 
 import java.math.BigInteger;
-import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.namespace.QName;
-import org.w3c.dom.Element;
 
 
 /**
@@ -26,14 +22,15 @@ import org.w3c.dom.Element;
  *   <complexContent>
  *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
  *       <sequence>
+ *         <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
  *         <element name="statement" type="{http://www.w3.org/2001/XMLSchema}string"/>
  *         <element name="searchAllVersions" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
  *         <element name="pageSize" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/>
  *         <element name="skipCount" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/>
  *         <element name="returnAllowableActions" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
- *         <any/>
+ *         <element name="extension" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisAnyXml" minOccurs="0"/>
  *       </sequence>
- *       <attGroup ref="{http://www.cmis.org/2008/05}cmisUndefinedAttribute"/>
+ *       <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisUndefinedAttribute"/>
  *     </restriction>
  *   </complexContent>
  * </complexType>
@@ -42,27 +39,52 @@ import org.w3c.dom.Element;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisQueryType", propOrder = {
+@XmlType(name = "cmisQueryType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
+    "repositoryId",
     "statement",
     "searchAllVersions",
     "pageSize",
     "skipCount",
     "returnAllowableActions",
-    "any"
+    "extension"
 })
 public class CmisQueryType {
 
+    protected String repositoryId;
     @XmlElement(required = true)
     protected String statement;
     protected Boolean searchAllVersions;
     protected BigInteger pageSize;
     protected BigInteger skipCount;
     protected Boolean returnAllowableActions;
-    @XmlAnyElement(lax = true)
-    protected List any;
+    protected CmisAnyXml extension;
     @XmlAnyAttribute
     private Map otherAttributes = new HashMap();
 
+    /**
+     * Gets the value of the repositoryId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getRepositoryId() {
+        return repositoryId;
+    }
+
+    /**
+     * Sets the value of the repositoryId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setRepositoryId(String value) {
+        this.repositoryId = value;
+    }
+
     /**
      * Gets the value of the statement property.
      * 
@@ -184,33 +206,27 @@ public class CmisQueryType {
     }
 
     /**
-     * Gets the value of the any property.
-     * 
-     * 

- * This accessor method returns a reference to the live list, - * not a snapshot. Therefore any modification you make to the - * returned list will be present inside the JAXB object. - * This is why there is not a set method for the any property. - * - *

- * For example, to add a new item, do as follows: - *

-     *    getAny().add(newItem);
-     * 
- * - * - *

- * Objects of the following type(s) are allowed in the list - * {@link Element } - * {@link Object } - * + * Gets the value of the extension property. * + * @return + * possible object is + * {@link CmisAnyXml } + * */ - public List getAny() { - if (any == null) { - any = new ArrayList(); - } - return this.any; + public CmisAnyXml getExtension() { + return extension; + } + + /** + * Sets the value of the extension property. + * + * @param value + * allowed object is + * {@link CmisAnyXml } + * + */ + public void setExtension(CmisAnyXml value) { + this.extension = value; } /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisRepositoryCapabilitiesType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisRepositoryCapabilitiesType.java index b65f5fee1c..c7844dec1f 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisRepositoryCapabilitiesType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisRepositoryCapabilitiesType.java @@ -31,12 +31,15 @@ import org.w3c.dom.Element; * <element name="capabilityPWCUpdateable" type="{http://www.w3.org/2001/XMLSchema}boolean"/> * <element name="capabilityPWCSearchable" type="{http://www.w3.org/2001/XMLSchema}boolean"/> * <element name="capabilityAllVersionsSearchable" type="{http://www.w3.org/2001/XMLSchema}boolean"/> - * <element name="capabilityQuery" type="{http://www.cmis.org/2008/05}enumCapabilityQuery"/> - * <element name="capabilityJoin" type="{http://www.cmis.org/2008/05}enumCapabilityJoin"/> - * <element name="capabilityFullText" type="{http://www.cmis.org/2008/05}enumCapabilityFullText"/> + * <element name="capabilityQuery" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumCapabilityQuery"/> + * <element name="capabilityJoin" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumCapabilityJoin"/> + * <element name="capabilityChanges" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumCapabilityChanges" maxOccurs="unbounded"/> + * <element name="changesIncomplete" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> + * <element name="capabilityACL" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumCapabilityACL"/> + * <element name="permissionsSupported" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPermissionSetType" maxOccurs="unbounded" minOccurs="0"/> * <any/> * </sequence> - * <attGroup ref="{http://www.cmis.org/2008/05}cmisUndefinedAttribute"/> + * <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisUndefinedAttribute"/> * </restriction> * </complexContent> * </complexType> @@ -45,7 +48,7 @@ import org.w3c.dom.Element; * */ @XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "cmisRepositoryCapabilitiesType", propOrder = { +@XmlType(name = "cmisRepositoryCapabilitiesType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { "capabilityMultifiling", "capabilityUnfiling", "capabilityVersionSpecificFiling", @@ -54,7 +57,10 @@ import org.w3c.dom.Element; "capabilityAllVersionsSearchable", "capabilityQuery", "capabilityJoin", - "capabilityFullText", + "capabilityChanges", + "changesIncomplete", + "capabilityACL", + "permissionsSupported", "any" }) public class CmisRepositoryCapabilitiesType { @@ -70,7 +76,11 @@ public class CmisRepositoryCapabilitiesType { @XmlElement(required = true) protected EnumCapabilityJoin capabilityJoin; @XmlElement(required = true) - protected EnumCapabilityFullText capabilityFullText; + protected List capabilityChanges; + protected Boolean changesIncomplete; + @XmlElement(required = true) + protected EnumCapabilityACL capabilityACL; + protected List permissionsSupported; @XmlAnyElement protected List any; @XmlAnyAttribute @@ -221,27 +231,109 @@ public class CmisRepositoryCapabilitiesType { } /** - * Gets the value of the capabilityFullText property. + * Gets the value of the capabilityChanges property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the capabilityChanges property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getCapabilityChanges().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link EnumCapabilityChanges } + * * - * @return - * possible object is - * {@link EnumCapabilityFullText } - * */ - public EnumCapabilityFullText getCapabilityFullText() { - return capabilityFullText; + public List getCapabilityChanges() { + if (capabilityChanges == null) { + capabilityChanges = new ArrayList(); + } + return this.capabilityChanges; } /** - * Sets the value of the capabilityFullText property. + * Gets the value of the changesIncomplete property. + * + * @return + * possible object is + * {@link Boolean } + * + */ + public Boolean isChangesIncomplete() { + return changesIncomplete; + } + + /** + * Sets the value of the changesIncomplete property. * * @param value * allowed object is - * {@link EnumCapabilityFullText } + * {@link Boolean } * */ - public void setCapabilityFullText(EnumCapabilityFullText value) { - this.capabilityFullText = value; + public void setChangesIncomplete(Boolean value) { + this.changesIncomplete = value; + } + + /** + * Gets the value of the capabilityACL property. + * + * @return + * possible object is + * {@link EnumCapabilityACL } + * + */ + public EnumCapabilityACL getCapabilityACL() { + return capabilityACL; + } + + /** + * Sets the value of the capabilityACL property. + * + * @param value + * allowed object is + * {@link EnumCapabilityACL } + * + */ + public void setCapabilityACL(EnumCapabilityACL value) { + this.capabilityACL = value; + } + + /** + * Gets the value of the permissionsSupported property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the permissionsSupported property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getPermissionsSupported().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link CmisPermissionSetType } + * + * + */ + public List getPermissionsSupported() { + if (permissionsSupported == null) { + permissionsSupported = new ArrayList(); + } + return this.permissionsSupported; } /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisRepositoryEntryType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisRepositoryEntryType.java index 478a12b072..2483941153 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisRepositoryEntryType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisRepositoryEntryType.java @@ -26,12 +26,12 @@ import org.w3c.dom.Element; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element name="repositoryID" type="{http://www.w3.org/2001/XMLSchema}string"/> + * <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="repositoryName" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="repositoryURI" type="{http://www.w3.org/2001/XMLSchema}anyURI"/> * <any/> * </sequence> - * <attGroup ref="{http://www.cmis.org/2008/05}cmisUndefinedAttribute"/> + * <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisUndefinedAttribute"/> * </restriction> * </complexContent> * </complexType> @@ -40,8 +40,8 @@ import org.w3c.dom.Element; * */ @XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "cmisRepositoryEntryType", propOrder = { - "repositoryID", +@XmlType(name = "cmisRepositoryEntryType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { + "repositoryId", "repositoryName", "repositoryURI", "any" @@ -49,7 +49,7 @@ import org.w3c.dom.Element; public class CmisRepositoryEntryType { @XmlElement(required = true) - protected String repositoryID; + protected String repositoryId; @XmlElement(required = true) protected String repositoryName; @XmlElement(required = true) @@ -61,27 +61,27 @@ public class CmisRepositoryEntryType { private Map otherAttributes = new HashMap(); /** - * Gets the value of the repositoryID property. + * Gets the value of the repositoryId property. * * @return * possible object is * {@link String } * */ - public String getRepositoryID() { - return repositoryID; + public String getRepositoryId() { + return repositoryId; } /** - * Sets the value of the repositoryID property. + * Sets the value of the repositoryId property. * * @param value * allowed object is * {@link String } * */ - public void setRepositoryID(String value) { - this.repositoryID = value; + public void setRepositoryId(String value) { + this.repositoryId = value; } /** @@ -150,8 +150,8 @@ public class CmisRepositoryEntryType { * *

* Objects of the following type(s) are allowed in the list - * {@link Element } * {@link Object } + * {@link Element } * * */ diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisRepositoryInfoType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisRepositoryInfoType.java index 6179045207..3275710026 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisRepositoryInfoType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisRepositoryInfoType.java @@ -33,12 +33,12 @@ import org.w3c.dom.Element; * <element name="productName" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="productVersion" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="rootFolderId" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="capabilities" type="{http://www.cmis.org/2008/05}cmisRepositoryCapabilitiesType"/> - * <element name="cmisVersionsSupported" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="repositorySpecificInformation" type="{http://www.cmis.org/2008/05}cmisAnyXml" minOccurs="0"/> + * <element name="capabilities" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisRepositoryCapabilitiesType"/> + * <element name="cmisVersionSupported" type="{http://www.w3.org/2001/XMLSchema}string"/> + * <element name="repositorySpecificInformation" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisAnyXml" minOccurs="0"/> * <any/> * </sequence> - * <attGroup ref="{http://www.cmis.org/2008/05}cmisUndefinedAttribute"/> + * <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisUndefinedAttribute"/> * </restriction> * </complexContent> * </complexType> @@ -47,7 +47,7 @@ import org.w3c.dom.Element; * */ @XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "cmisRepositoryInfoType", propOrder = { +@XmlType(name = "cmisRepositoryInfoType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { "repositoryId", "repositoryName", "repositoryRelationship", @@ -57,7 +57,7 @@ import org.w3c.dom.Element; "productVersion", "rootFolderId", "capabilities", - "cmisVersionsSupported", + "cmisVersionSupported", "repositorySpecificInformation", "any" }) @@ -82,7 +82,7 @@ public class CmisRepositoryInfoType { @XmlElement(required = true) protected CmisRepositoryCapabilitiesType capabilities; @XmlElement(required = true) - protected String cmisVersionsSupported; + protected String cmisVersionSupported; protected CmisAnyXml repositorySpecificInformation; @XmlAnyElement(lax = true) protected List any; @@ -306,27 +306,27 @@ public class CmisRepositoryInfoType { } /** - * Gets the value of the cmisVersionsSupported property. + * Gets the value of the cmisVersionSupported property. * * @return * possible object is * {@link String } * */ - public String getCmisVersionsSupported() { - return cmisVersionsSupported; + public String getCmisVersionSupported() { + return cmisVersionSupported; } /** - * Sets the value of the cmisVersionsSupported property. + * Sets the value of the cmisVersionSupported property. * * @param value * allowed object is * {@link String } * */ - public void setCmisVersionsSupported(String value) { - this.cmisVersionsSupported = value; + public void setCmisVersionSupported(String value) { + this.cmisVersionSupported = value; } /** @@ -371,8 +371,8 @@ public class CmisRepositoryInfoType { * *

* Objects of the following type(s) are allowed in the list - * {@link Element } * {@link Object } + * {@link Element } * * */ diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisTypeDefinitionType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisTypeDefinitionType.java index 3664a70019..ddff71c6f8 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisTypeDefinitionType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisTypeDefinitionType.java @@ -30,9 +30,9 @@ import org.w3c.dom.Element; * <element name="typeId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="queryName" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="displayName" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="baseType" type="{http://www.cmis.org/2008/05}enumObjectType"/> + * <element name="baseType" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumBaseObjectType"/> * <element name="baseTypeQueryName" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="parentId" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/> + * <element name="parentId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <element name="creatable" type="{http://www.w3.org/2001/XMLSchema}boolean"/> * <element name="fileable" type="{http://www.w3.org/2001/XMLSchema}boolean"/> @@ -40,19 +40,19 @@ import org.w3c.dom.Element; * <element name="controllable" type="{http://www.w3.org/2001/XMLSchema}boolean"/> * <element name="includedInSupertypeQuery" type="{http://www.w3.org/2001/XMLSchema}boolean"/> * <choice maxOccurs="unbounded" minOccurs="0"> - * <element ref="{http://www.cmis.org/2008/05}propertyBooleanDefinition"/> - * <element ref="{http://www.cmis.org/2008/05}propertyDateTimeDefinition"/> - * <element ref="{http://www.cmis.org/2008/05}propertyDecimalDefinition"/> - * <element ref="{http://www.cmis.org/2008/05}propertyHtmlDefinition"/> - * <element ref="{http://www.cmis.org/2008/05}propertyIdDefinition"/> - * <element ref="{http://www.cmis.org/2008/05}propertyIntegerDefinition"/> - * <element ref="{http://www.cmis.org/2008/05}propertyStringDefinition"/> - * <element ref="{http://www.cmis.org/2008/05}propertyUriDefinition"/> - * <element ref="{http://www.cmis.org/2008/05}propertyXmlDefinition"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyBooleanDefinition"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyDateTimeDefinition"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyDecimalDefinition"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyHtmlDefinition"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyIdDefinition"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyIntegerDefinition"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyStringDefinition"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyUriDefinition"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}propertyXmlDefinition"/> * </choice> * <any/> * </sequence> - * <attGroup ref="{http://www.cmis.org/2008/05}cmisUndefinedAttribute"/> + * <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisUndefinedAttribute"/> * </restriction> * </complexContent> * </complexType> @@ -61,7 +61,7 @@ import org.w3c.dom.Element; * */ @XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "cmisTypeDefinitionType", propOrder = { +@XmlType(name = "cmisTypeDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { "typeId", "queryName", "displayName", @@ -78,9 +78,9 @@ import org.w3c.dom.Element; "any" }) @XmlSeeAlso({ - CmisTypeFolderDefinitionType.class, - CmisTypeRelationshipDefinitionType.class, CmisTypeDocumentDefinitionType.class, + CmisTypeRelationshipDefinitionType.class, + CmisTypeFolderDefinitionType.class, CmisTypePolicyDefinitionType.class }) public class CmisTypeDefinitionType { @@ -92,10 +92,10 @@ public class CmisTypeDefinitionType { @XmlElement(required = true) protected String displayName; @XmlElement(required = true) - protected EnumObjectType baseType; + protected EnumBaseObjectType baseType; @XmlElement(required = true) protected String baseTypeQueryName; - protected Object parentId; + protected String parentId; protected String description; protected boolean creatable; protected boolean fileable; @@ -104,15 +104,15 @@ public class CmisTypeDefinitionType { @XmlElement(defaultValue = "true") protected boolean includedInSupertypeQuery; @XmlElements({ - @XmlElement(name = "propertyHtmlDefinition", type = CmisPropertyHtmlDefinitionType.class), - @XmlElement(name = "propertyIdDefinition", type = CmisPropertyIdDefinitionType.class), - @XmlElement(name = "propertyIntegerDefinition", type = CmisPropertyIntegerDefinitionType.class), - @XmlElement(name = "propertyDateTimeDefinition", type = CmisPropertyDateTimeDefinitionType.class), - @XmlElement(name = "propertyDecimalDefinition", type = CmisPropertyDecimalDefinitionType.class), - @XmlElement(name = "propertyUriDefinition", type = CmisPropertyUriDefinitionType.class), - @XmlElement(name = "propertyStringDefinition", type = CmisPropertyStringDefinitionType.class), @XmlElement(name = "propertyXmlDefinition", type = CmisPropertyXmlDefinitionType.class), - @XmlElement(name = "propertyBooleanDefinition", type = CmisPropertyBooleanDefinitionType.class) + @XmlElement(name = "propertyStringDefinition", type = CmisPropertyStringDefinitionType.class), + @XmlElement(name = "propertyIdDefinition", type = CmisPropertyIdDefinitionType.class), + @XmlElement(name = "propertyBooleanDefinition", type = CmisPropertyBooleanDefinitionType.class), + @XmlElement(name = "propertyDecimalDefinition", type = CmisPropertyDecimalDefinitionType.class), + @XmlElement(name = "propertyIntegerDefinition", type = CmisPropertyIntegerDefinitionType.class), + @XmlElement(name = "propertyHtmlDefinition", type = CmisPropertyHtmlDefinitionType.class), + @XmlElement(name = "propertyDateTimeDefinition", type = CmisPropertyDateTimeDefinitionType.class), + @XmlElement(name = "propertyUriDefinition", type = CmisPropertyUriDefinitionType.class) }) protected List propertyDefinition; @XmlAnyElement(lax = true) @@ -197,10 +197,10 @@ public class CmisTypeDefinitionType { * * @return * possible object is - * {@link EnumObjectType } + * {@link EnumBaseObjectType } * */ - public EnumObjectType getBaseType() { + public EnumBaseObjectType getBaseType() { return baseType; } @@ -209,10 +209,10 @@ public class CmisTypeDefinitionType { * * @param value * allowed object is - * {@link EnumObjectType } + * {@link EnumBaseObjectType } * */ - public void setBaseType(EnumObjectType value) { + public void setBaseType(EnumBaseObjectType value) { this.baseType = value; } @@ -245,10 +245,10 @@ public class CmisTypeDefinitionType { * * @return * possible object is - * {@link Object } + * {@link String } * */ - public Object getParentId() { + public String getParentId() { return parentId; } @@ -257,10 +257,10 @@ public class CmisTypeDefinitionType { * * @param value * allowed object is - * {@link Object } + * {@link String } * */ - public void setParentId(Object value) { + public void setParentId(String value) { this.parentId = value; } @@ -386,15 +386,15 @@ public class CmisTypeDefinitionType { * *

* Objects of the following type(s) are allowed in the list - * {@link CmisPropertyHtmlDefinitionType } - * {@link CmisPropertyIdDefinitionType } - * {@link CmisPropertyIntegerDefinitionType } - * {@link CmisPropertyDateTimeDefinitionType } - * {@link CmisPropertyDecimalDefinitionType } - * {@link CmisPropertyUriDefinitionType } - * {@link CmisPropertyStringDefinitionType } * {@link CmisPropertyXmlDefinitionType } + * {@link CmisPropertyStringDefinitionType } + * {@link CmisPropertyIdDefinitionType } * {@link CmisPropertyBooleanDefinitionType } + * {@link CmisPropertyDecimalDefinitionType } + * {@link CmisPropertyIntegerDefinitionType } + * {@link CmisPropertyHtmlDefinitionType } + * {@link CmisPropertyDateTimeDefinitionType } + * {@link CmisPropertyUriDefinitionType } * * */ @@ -423,8 +423,8 @@ public class CmisTypeDefinitionType { * *

* Objects of the following type(s) are allowed in the list - * {@link Element } * {@link Object } + * {@link Element } * * */ diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisTypeDocumentDefinitionType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisTypeDocumentDefinitionType.java index 4749b16dbd..42ab8d3564 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CmisTypeDocumentDefinitionType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CmisTypeDocumentDefinitionType.java @@ -15,10 +15,10 @@ import javax.xml.bind.annotation.XmlType; *

  * <complexType name="cmisTypeDocumentDefinitionType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisTypeDefinitionType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisTypeDefinitionType">
  *       <sequence>
  *         <element name="versionable" type="{http://www.w3.org/2001/XMLSchema}boolean"/>
- *         <element name="contentStreamAllowed" type="{http://www.cmis.org/2008/05}enumContentStreamAllowed"/>
+ *         <element name="contentStreamAllowed" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumContentStreamAllowed"/>
  *       </sequence>
  *     </extension>
  *   </complexContent>
@@ -28,7 +28,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisTypeDocumentDefinitionType", propOrder = {
+@XmlType(name = "cmisTypeDocumentDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "versionable",
     "contentStreamAllowed"
 })
diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisTypeFolderDefinitionType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisTypeFolderDefinitionType.java
index 92a24ecc5b..2b73169d79 100755
--- a/source/generated/org/alfresco/repo/cmis/ws/CmisTypeFolderDefinitionType.java
+++ b/source/generated/org/alfresco/repo/cmis/ws/CmisTypeFolderDefinitionType.java
@@ -14,7 +14,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * <complexType name="cmisTypeFolderDefinitionType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisTypeDefinitionType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisTypeDefinitionType">
  *       <sequence>
  *       </sequence>
  *     </extension>
@@ -25,7 +25,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisTypeFolderDefinitionType")
+@XmlType(name = "cmisTypeFolderDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901")
 public class CmisTypeFolderDefinitionType
     extends CmisTypeDefinitionType
 {
diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisTypePolicyDefinitionType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisTypePolicyDefinitionType.java
index f45e970383..b89ec089f9 100755
--- a/source/generated/org/alfresco/repo/cmis/ws/CmisTypePolicyDefinitionType.java
+++ b/source/generated/org/alfresco/repo/cmis/ws/CmisTypePolicyDefinitionType.java
@@ -14,7 +14,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * <complexType name="cmisTypePolicyDefinitionType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisTypeDefinitionType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisTypeDefinitionType">
  *       <sequence>
  *       </sequence>
  *     </extension>
@@ -25,7 +25,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisTypePolicyDefinitionType")
+@XmlType(name = "cmisTypePolicyDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901")
 public class CmisTypePolicyDefinitionType
     extends CmisTypeDefinitionType
 {
diff --git a/source/generated/org/alfresco/repo/cmis/ws/CmisTypeRelationshipDefinitionType.java b/source/generated/org/alfresco/repo/cmis/ws/CmisTypeRelationshipDefinitionType.java
index aaa1ac38f4..e4e15ee34a 100755
--- a/source/generated/org/alfresco/repo/cmis/ws/CmisTypeRelationshipDefinitionType.java
+++ b/source/generated/org/alfresco/repo/cmis/ws/CmisTypeRelationshipDefinitionType.java
@@ -16,7 +16,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  * <complexType name="cmisTypeRelationshipDefinitionType">
  *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisTypeDefinitionType">
+ *     <extension base="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisTypeDefinitionType">
  *       <sequence>
  *         <element name="allowedSourceTypes" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
  *         <element name="allowedTargetTypes" type="{http://www.w3.org/2001/XMLSchema}string" maxOccurs="unbounded" minOccurs="0"/>
@@ -29,7 +29,7 @@ import javax.xml.bind.annotation.XmlType;
  * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "cmisTypeRelationshipDefinitionType", propOrder = {
+@XmlType(name = "cmisTypeRelationshipDefinitionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = {
     "allowedSourceTypes",
     "allowedTargetTypes"
 })
diff --git a/source/generated/org/alfresco/repo/cmis/ws/ConstraintViolationException.java b/source/generated/org/alfresco/repo/cmis/ws/ConstraintViolationException.java
deleted file mode 100644
index e463b4a0cb..0000000000
--- a/source/generated/org/alfresco/repo/cmis/ws/ConstraintViolationException.java
+++ /dev/null
@@ -1,45 +0,0 @@
-
-package org.alfresco.repo.cmis.ws;
-
-import javax.xml.ws.WebFault;
-
-
-/**
- * This class was generated by Apache CXF 2.1.2
- * Fri Sep 05 13:45:08 EEST 2008
- * Generated source version: 2.1.2
- * 
- */
-
-@WebFault(name = "constraintViolationException", targetNamespace = "http://www.cmis.org/2008/05")
-public class ConstraintViolationException extends Exception {
-    public static final long serialVersionUID = 20080905134508L;
-    
-    private org.alfresco.repo.cmis.ws.ConstraintViolationExceptionType constraintViolationException;
-
-    public ConstraintViolationException() {
-        super();
-    }
-    
-    public ConstraintViolationException(String message) {
-        super(message);
-    }
-    
-    public ConstraintViolationException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    public ConstraintViolationException(String message, org.alfresco.repo.cmis.ws.ConstraintViolationExceptionType constraintViolationException) {
-        super(message);
-        this.constraintViolationException = constraintViolationException;
-    }
-
-    public ConstraintViolationException(String message, org.alfresco.repo.cmis.ws.ConstraintViolationExceptionType constraintViolationException, Throwable cause) {
-        super(message, cause);
-        this.constraintViolationException = constraintViolationException;
-    }
-
-    public org.alfresco.repo.cmis.ws.ConstraintViolationExceptionType getFaultInfo() {
-        return this.constraintViolationException;
-    }
-}
diff --git a/source/generated/org/alfresco/repo/cmis/ws/ConstraintViolationExceptionType.java b/source/generated/org/alfresco/repo/cmis/ws/ConstraintViolationExceptionType.java
deleted file mode 100755
index e69c375f20..0000000000
--- a/source/generated/org/alfresco/repo/cmis/ws/ConstraintViolationExceptionType.java
+++ /dev/null
@@ -1,32 +0,0 @@
-
-package org.alfresco.repo.cmis.ws;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlType;
-
-
-/**
- * 

Java class for constraintViolationExceptionType complex type. - * - *

The following schema fragment specifies the expected content contained within this class. - * - *

- * <complexType name="constraintViolationExceptionType">
- *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisFaultType">
- *     </extension>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "constraintViolationExceptionType") -public class ConstraintViolationExceptionType - extends CmisFaultType -{ - - -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/ContentAlreadyExistsException.java b/source/generated/org/alfresco/repo/cmis/ws/ContentAlreadyExistsException.java deleted file mode 100755 index 8caad2573d..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/ContentAlreadyExistsException.java +++ /dev/null @@ -1,45 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.ws.WebFault; - - -/** - * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:38 EEST 2008 - * Generated source version: 2.1.2 - * - */ - -@WebFault(name = "contentAlreadyExistsException", targetNamespace = "http://www.cmis.org/2008/05") -public class ContentAlreadyExistsException extends Exception { - public static final long serialVersionUID = 20080905134438L; - - private org.alfresco.repo.cmis.ws.ContentAlreadyExistsExceptionType contentAlreadyExistsException; - - public ContentAlreadyExistsException() { - super(); - } - - public ContentAlreadyExistsException(String message) { - super(message); - } - - public ContentAlreadyExistsException(String message, Throwable cause) { - super(message, cause); - } - - public ContentAlreadyExistsException(String message, org.alfresco.repo.cmis.ws.ContentAlreadyExistsExceptionType contentAlreadyExistsException) { - super(message); - this.contentAlreadyExistsException = contentAlreadyExistsException; - } - - public ContentAlreadyExistsException(String message, org.alfresco.repo.cmis.ws.ContentAlreadyExistsExceptionType contentAlreadyExistsException, Throwable cause) { - super(message, cause); - this.contentAlreadyExistsException = contentAlreadyExistsException; - } - - public org.alfresco.repo.cmis.ws.ContentAlreadyExistsExceptionType getFaultInfo() { - return this.contentAlreadyExistsException; - } -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/ContentAlreadyExistsExceptionType.java b/source/generated/org/alfresco/repo/cmis/ws/ContentAlreadyExistsExceptionType.java deleted file mode 100755 index 239882ae3f..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/ContentAlreadyExistsExceptionType.java +++ /dev/null @@ -1,32 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - - -/** - *

Java class for contentAlreadyExistsExceptionType complex type. - * - *

The following schema fragment specifies the expected content contained within this class. - * - *

- * <complexType name="contentAlreadyExistsExceptionType">
- *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisFaultType">
- *     </extension>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "contentAlreadyExistsExceptionType") -public class ContentAlreadyExistsExceptionType - extends CmisFaultType -{ - - -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/CreateDocument.java b/source/generated/org/alfresco/repo/cmis/ws/CreateDocument.java index 93915c838d..192391195a 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/CreateDocument.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CreateDocument.java @@ -22,10 +22,10 @@ import javax.xml.bind.annotation.XmlType; * <sequence> * <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="typeId" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="properties" type="{http://www.cmis.org/2008/05}cmisPropertiesType"/> + * <element name="properties" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPropertiesType"/> * <element name="folderId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> - * <element name="contentStream" type="{http://www.cmis.org/2008/05}cmisContentStreamType" minOccurs="0"/> - * <element name="versioningState" type="{http://www.cmis.org/2008/05}enumVersioningState" minOccurs="0"/> + * <element name="contentStream" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisContentStreamType" minOccurs="0"/> + * <element name="versioningState" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumVersioningState" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> @@ -53,9 +53,9 @@ public class CreateDocument { @XmlElement(required = true) protected CmisPropertiesType properties; protected String folderId; - @XmlElementRef(name = "contentStream", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "contentStream", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement contentStream; - @XmlElementRef(name = "versioningState", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "versioningState", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement versioningState; /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/CreateFolder.java b/source/generated/org/alfresco/repo/cmis/ws/CreateFolder.java index d6974690b0..627fbdd06b 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/CreateFolder.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CreateFolder.java @@ -20,7 +20,7 @@ import javax.xml.bind.annotation.XmlType; * <sequence> * <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="typeId" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="properties" type="{http://www.cmis.org/2008/05}cmisPropertiesType"/> + * <element name="properties" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPropertiesType"/> * <element name="folderId" type="{http://www.w3.org/2001/XMLSchema}string"/> * </sequence> * </restriction> diff --git a/source/generated/org/alfresco/repo/cmis/ws/CreatePolicy.java b/source/generated/org/alfresco/repo/cmis/ws/CreatePolicy.java index f5cfce22e1..60400cce04 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/CreatePolicy.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CreatePolicy.java @@ -22,7 +22,7 @@ import javax.xml.bind.annotation.XmlType; * <sequence> * <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="typeId" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="properties" type="{http://www.cmis.org/2008/05}cmisPropertiesType"/> + * <element name="properties" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPropertiesType"/> * <element name="folderId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * </sequence> * </restriction> @@ -48,7 +48,7 @@ public class CreatePolicy { protected String typeId; @XmlElement(required = true) protected CmisPropertiesType properties; - @XmlElementRef(name = "folderId", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "folderId", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement folderId; /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/CreateRelationship.java b/source/generated/org/alfresco/repo/cmis/ws/CreateRelationship.java index 52f0597337..6aec6816da 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/CreateRelationship.java +++ b/source/generated/org/alfresco/repo/cmis/ws/CreateRelationship.java @@ -20,7 +20,7 @@ import javax.xml.bind.annotation.XmlType; * <sequence> * <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="typeId" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="properties" type="{http://www.cmis.org/2008/05}cmisPropertiesType"/> + * <element name="properties" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPropertiesType"/> * <element name="sourceObjectId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="targetObjectId" type="{http://www.w3.org/2001/XMLSchema}string"/> * </sequence> diff --git a/source/generated/org/alfresco/repo/cmis/ws/DeleteTree.java b/source/generated/org/alfresco/repo/cmis/ws/DeleteTree.java index 07fb677168..1876695115 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/DeleteTree.java +++ b/source/generated/org/alfresco/repo/cmis/ws/DeleteTree.java @@ -22,7 +22,7 @@ import javax.xml.bind.annotation.XmlType; * <sequence> * <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="folderId" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="unfileNonfolderObjects" type="{http://www.cmis.org/2008/05}enumUnfileNonfolderObjects"/> + * <element name="unfileNonfolderObjects" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumUnfileNonfolderObjects"/> * <element name="continueOnFailure" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> * </sequence> * </restriction> @@ -48,7 +48,7 @@ public class DeleteTree { protected String folderId; @XmlElement(required = true) protected EnumUnfileNonfolderObjects unfileNonfolderObjects; - @XmlElementRef(name = "continueOnFailure", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "continueOnFailure", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement continueOnFailure; /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/DiscoveryService.java b/source/generated/org/alfresco/repo/cmis/ws/DiscoveryService.java index 349db7da86..f50abe979b 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/DiscoveryService.java +++ b/source/generated/org/alfresco/repo/cmis/ws/DiscoveryService.java @@ -15,26 +15,26 @@ import javax.xml.ws.WebServiceFeature; /** * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:51 EEST 2008 + * Mon Apr 27 21:08:02 EEST 2009 * Generated source version: 2.1.2 * */ @WebServiceClient(name = "DiscoveryService", - wsdlLocation = "file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/DiscoveryService.wsdl", - targetNamespace = "http://www.cmis.org/2008/05") + wsdlLocation = "file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl", + targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901") public class DiscoveryService extends Service { public final static URL WSDL_LOCATION; - public final static QName SERVICE = new QName("http://www.cmis.org/2008/05", "DiscoveryService"); - public final static QName DiscoveryServicePort = new QName("http://www.cmis.org/2008/05", "DiscoveryServicePort"); + public final static QName SERVICE = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "DiscoveryService"); + public final static QName DiscoveryServicePort = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "DiscoveryServicePort"); static { URL url = null; try { - url = new URL("file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/DiscoveryService.wsdl"); + url = new URL("file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl"); } catch (MalformedURLException e) { - System.err.println("Can not initialize the default wsdl from file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/DiscoveryService.wsdl"); + System.err.println("Can not initialize the default wsdl from file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl"); // e.printStackTrace(); } WSDL_LOCATION = url; diff --git a/source/generated/org/alfresco/repo/cmis/ws/DiscoveryServicePort.java b/source/generated/org/alfresco/repo/cmis/ws/DiscoveryServicePort.java index 8d1567fa9e..4b94453a52 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/DiscoveryServicePort.java +++ b/source/generated/org/alfresco/repo/cmis/ws/DiscoveryServicePort.java @@ -2,28 +2,51 @@ package org.alfresco.repo.cmis.ws; import javax.jws.WebMethod; import javax.jws.WebParam; +import javax.jws.WebParam.Mode; import javax.jws.WebResult; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.jws.soap.SOAPBinding.ParameterStyle; import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.ws.RequestWrapper; +import javax.xml.ws.ResponseWrapper; /** * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:51 EEST 2008 + * Mon Apr 27 21:08:02 EEST 2009 * Generated source version: 2.1.2 * */ -@WebService(targetNamespace = "http://www.cmis.org/2008/05", name = "DiscoveryServicePort") +@WebService(targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901", name = "DiscoveryServicePort") @XmlSeeAlso({ObjectFactory.class}) -@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) public interface DiscoveryServicePort { - @WebResult(name = "queryResponse", targetNamespace = "http://www.cmis.org/2008/05", partName = "parameters") + @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) + @WebResult(name = "queryResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", partName = "parameters") @WebMethod public QueryResponse query( - @WebParam(partName = "parameters", name = "query", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(partName = "parameters", name = "query", targetNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901") CmisQueryType parameters - ) throws PermissionDeniedException, UpdateConflictException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; + ) throws CmisException; + + @RequestWrapper(localName = "getContentChanges", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.GetContentChanges") + @ResponseWrapper(localName = "getContentChangesResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.GetContentChangesResponse") + @WebMethod + public void getContentChanges( + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String repositoryId, + @WebParam(mode = WebParam.Mode.INOUT, name = "changeToken", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + javax.xml.ws.Holder changeToken, + @WebParam(name = "maxItems", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.math.BigInteger maxItems, + @WebParam(name = "includeACL", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.Boolean includeACL, + @WebParam(name = "includeProperties", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.Boolean includeProperties, + @WebParam(name = "filter", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String filter, + @WebParam(mode = WebParam.Mode.OUT, name = "changedObject", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + javax.xml.ws.Holder> changedObject + ) throws CmisException; } diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumBaseObjectType.java b/source/generated/org/alfresco/repo/cmis/ws/EnumBaseObjectType.java new file mode 100755 index 0000000000..b30b1b8de5 --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumBaseObjectType.java @@ -0,0 +1,57 @@ + +package org.alfresco.repo.cmis.ws; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for enumBaseObjectType. + * + *

The following schema fragment specifies the expected content contained within this class. + *

+ *

+ * <simpleType name="enumBaseObjectType">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="document"/>
+ *     <enumeration value="folder"/>
+ *     <enumeration value="relationship"/>
+ *     <enumeration value="policy"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "enumBaseObjectType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") +@XmlEnum +public enum EnumBaseObjectType { + + @XmlEnumValue("document") + DOCUMENT("document"), + @XmlEnumValue("folder") + FOLDER("folder"), + @XmlEnumValue("relationship") + RELATIONSHIP("relationship"), + @XmlEnumValue("policy") + POLICY("policy"); + private final String value; + + EnumBaseObjectType(String v) { + value = v; + } + + public String value() { + return value; + } + + public static EnumBaseObjectType fromValue(String v) { + for (EnumBaseObjectType c: EnumBaseObjectType.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumBasicPrivileges.java b/source/generated/org/alfresco/repo/cmis/ws/EnumBasicPrivileges.java new file mode 100755 index 0000000000..a91f3b1863 --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumBasicPrivileges.java @@ -0,0 +1,54 @@ + +package org.alfresco.repo.cmis.ws; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for enumBasicPrivileges. + * + *

The following schema fragment specifies the expected content contained within this class. + *

+ *

+ * <simpleType name="enumBasicPrivileges">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="CMIS.BasicPermission.Read"/>
+ *     <enumeration value="CMIS.BasicPermission.Write"/>
+ *     <enumeration value="CMIS.BasicPermission.All"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "enumBasicPrivileges", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") +@XmlEnum +public enum EnumBasicPrivileges { + + @XmlEnumValue("CMIS.BasicPermission.Read") + CMIS_BASIC_PERMISSION_READ("CMIS.BasicPermission.Read"), + @XmlEnumValue("CMIS.BasicPermission.Write") + CMIS_BASIC_PERMISSION_WRITE("CMIS.BasicPermission.Write"), + @XmlEnumValue("CMIS.BasicPermission.All") + CMIS_BASIC_PERMISSION_ALL("CMIS.BasicPermission.All"); + private final String value; + + EnumBasicPrivileges(String v) { + value = v; + } + + public String value() { + return value; + } + + public static EnumBasicPrivileges fromValue(String v) { + for (EnumBasicPrivileges c: EnumBasicPrivileges.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityFullText.java b/source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityACL.java similarity index 53% rename from source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityFullText.java rename to source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityACL.java index b1564f5936..319c0feed0 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityFullText.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityACL.java @@ -7,34 +7,34 @@ import javax.xml.bind.annotation.XmlType; /** - *

Java class for enumCapabilityFullText. + *

Java class for enumCapabilityACL. * *

The following schema fragment specifies the expected content contained within this class. *

*

- * <simpleType name="enumCapabilityFullText">
+ * <simpleType name="enumCapabilityACL">
  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
  *     <enumeration value="none"/>
- *     <enumeration value="fulltextonly"/>
- *     <enumeration value="fulltextandstructured"/>
+ *     <enumeration value="read"/>
+ *     <enumeration value="set"/>
  *   </restriction>
  * </simpleType>
  * 
* */ -@XmlType(name = "enumCapabilityFullText") +@XmlType(name = "enumCapabilityACL", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum -public enum EnumCapabilityFullText { +public enum EnumCapabilityACL { @XmlEnumValue("none") NONE("none"), - @XmlEnumValue("fulltextonly") - FULLTEXTONLY("fulltextonly"), - @XmlEnumValue("fulltextandstructured") - FULLTEXTANDSTRUCTURED("fulltextandstructured"); + @XmlEnumValue("read") + READ("read"), + @XmlEnumValue("set") + SET("set"); private final String value; - EnumCapabilityFullText(String v) { + EnumCapabilityACL(String v) { value = v; } @@ -42,8 +42,8 @@ public enum EnumCapabilityFullText { return value; } - public static EnumCapabilityFullText fromValue(String v) { - for (EnumCapabilityFullText c: EnumCapabilityFullText.values()) { + public static EnumCapabilityACL fromValue(String v) { + for (EnumCapabilityACL c: EnumCapabilityACL.values()) { if (c.value.equals(v)) { return c; } diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityChanges.java b/source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityChanges.java new file mode 100755 index 0000000000..175e34151f --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityChanges.java @@ -0,0 +1,69 @@ + +package org.alfresco.repo.cmis.ws; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for enumCapabilityChanges. + * + *

The following schema fragment specifies the expected content contained within this class. + *

+ *

+ * <simpleType name="enumCapabilityChanges">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="none"/>
+ *     <enumeration value="includeACL"/>
+ *     <enumeration value="includeProperties"/>
+ *     <enumeration value="includeFolders"/>
+ *     <enumeration value="includeDocuments"/>
+ *     <enumeration value="includeRelationships"/>
+ *     <enumeration value="includePolicies"/>
+ *     <enumeration value="all"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "enumCapabilityChanges", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") +@XmlEnum +public enum EnumCapabilityChanges { + + @XmlEnumValue("none") + NONE("none"), + @XmlEnumValue("includeACL") + INCLUDE_ACL("includeACL"), + @XmlEnumValue("includeProperties") + INCLUDE_PROPERTIES("includeProperties"), + @XmlEnumValue("includeFolders") + INCLUDE_FOLDERS("includeFolders"), + @XmlEnumValue("includeDocuments") + INCLUDE_DOCUMENTS("includeDocuments"), + @XmlEnumValue("includeRelationships") + INCLUDE_RELATIONSHIPS("includeRelationships"), + @XmlEnumValue("includePolicies") + INCLUDE_POLICIES("includePolicies"), + @XmlEnumValue("all") + ALL("all"); + private final String value; + + EnumCapabilityChanges(String v) { + value = v; + } + + public String value() { + return value; + } + + public static EnumCapabilityChanges fromValue(String v) { + for (EnumCapabilityChanges c: EnumCapabilityChanges.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityJoin.java b/source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityJoin.java index e376d29812..60ea348691 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityJoin.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityJoin.java @@ -14,7 +14,7 @@ import javax.xml.bind.annotation.XmlType; *
  * <simpleType name="enumCapabilityJoin">
  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
- *     <enumeration value="nojoin"/>
+ *     <enumeration value="none"/>
  *     <enumeration value="inneronly"/>
  *     <enumeration value="innerandouter"/>
  *   </restriction>
@@ -22,12 +22,12 @@ import javax.xml.bind.annotation.XmlType;
  * 
* */ -@XmlType(name = "enumCapabilityJoin") +@XmlType(name = "enumCapabilityJoin", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumCapabilityJoin { - @XmlEnumValue("nojoin") - NOJOIN("nojoin"), + @XmlEnumValue("none") + NONE("none"), @XmlEnumValue("inneronly") INNERONLY("inneronly"), @XmlEnumValue("innerandouter") diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityQuery.java b/source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityQuery.java index d1c66688ca..a4e86cb2e7 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityQuery.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumCapabilityQuery.java @@ -17,13 +17,14 @@ import javax.xml.bind.annotation.XmlType; * <enumeration value="none"/> * <enumeration value="metadataonly"/> * <enumeration value="fulltextonly"/> - * <enumeration value="both"/> + * <enumeration value="bothseparate"/> + * <enumeration value="bothcombined"/> * </restriction> * </simpleType> *
* */ -@XmlType(name = "enumCapabilityQuery") +@XmlType(name = "enumCapabilityQuery", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumCapabilityQuery { @@ -33,8 +34,10 @@ public enum EnumCapabilityQuery { METADATAONLY("metadataonly"), @XmlEnumValue("fulltextonly") FULLTEXTONLY("fulltextonly"), - @XmlEnumValue("both") - BOTH("both"); + @XmlEnumValue("bothseparate") + BOTHSEPARATE("bothseparate"), + @XmlEnumValue("bothcombined") + BOTHCOMBINED("bothcombined"); private final String value; EnumCapabilityQuery(String v) { diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumCardinality.java b/source/generated/org/alfresco/repo/cmis/ws/EnumCardinality.java index 11401b726e..c9b1f3d3f3 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumCardinality.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumCardinality.java @@ -21,7 +21,7 @@ import javax.xml.bind.annotation.XmlType; *
* */ -@XmlType(name = "enumCardinality") +@XmlType(name = "enumCardinality", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumCardinality { diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumCollectionType.java b/source/generated/org/alfresco/repo/cmis/ws/EnumCollectionType.java index 6cf4f82e3b..d45ed804bb 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumCollectionType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumCollectionType.java @@ -14,36 +14,39 @@ import javax.xml.bind.annotation.XmlType; *
  * <simpleType name="enumCollectionType">
  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
- *     <enumeration value="root-children"/>
- *     <enumeration value="root-descendants"/>
+ *     <enumeration value="rootchildren"/>
+ *     <enumeration value="rootdescendants"/>
  *     <enumeration value="unfiled"/>
  *     <enumeration value="checkedout"/>
- *     <enumeration value="types-children"/>
- *     <enumeration value="types-descendants"/>
+ *     <enumeration value="typeschildren"/>
+ *     <enumeration value="typesdescendants"/>
  *     <enumeration value="query"/>
+ *     <enumeration value="changes"/>
  *   </restriction>
  * </simpleType>
  * 
* */ -@XmlType(name = "enumCollectionType") +@XmlType(name = "enumCollectionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumCollectionType { - @XmlEnumValue("root-children") - ROOT_CHILDREN("root-children"), - @XmlEnumValue("root-descendants") - ROOT_DESCENDANTS("root-descendants"), + @XmlEnumValue("rootchildren") + ROOTCHILDREN("rootchildren"), + @XmlEnumValue("rootdescendants") + ROOTDESCENDANTS("rootdescendants"), @XmlEnumValue("unfiled") UNFILED("unfiled"), @XmlEnumValue("checkedout") CHECKEDOUT("checkedout"), - @XmlEnumValue("types-children") - TYPES_CHILDREN("types-children"), - @XmlEnumValue("types-descendants") - TYPES_DESCENDANTS("types-descendants"), + @XmlEnumValue("typeschildren") + TYPESCHILDREN("typeschildren"), + @XmlEnumValue("typesdescendants") + TYPESDESCENDANTS("typesdescendants"), @XmlEnumValue("query") - QUERY("query"); + QUERY("query"), + @XmlEnumValue("changes") + CHANGES("changes"); private final String value; EnumCollectionType(String v) { diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumContentStreamAllowed.java b/source/generated/org/alfresco/repo/cmis/ws/EnumContentStreamAllowed.java index 25c82fccc3..739a85d259 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumContentStreamAllowed.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumContentStreamAllowed.java @@ -22,7 +22,7 @@ import javax.xml.bind.annotation.XmlType; *
* */ -@XmlType(name = "enumContentStreamAllowed") +@XmlType(name = "enumContentStreamAllowed", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumContentStreamAllowed { diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumIncludeRelationships.java b/source/generated/org/alfresco/repo/cmis/ws/EnumIncludeRelationships.java index 45fbe4e55a..10aa84dfdc 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumIncludeRelationships.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumIncludeRelationships.java @@ -23,7 +23,7 @@ import javax.xml.bind.annotation.XmlType; *
* */ -@XmlType(name = "enumIncludeRelationships") +@XmlType(name = "enumIncludeRelationships", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumIncludeRelationships { diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumObjectType.java b/source/generated/org/alfresco/repo/cmis/ws/EnumObjectType.java index 64cd594cd7..8e96590ad7 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumObjectType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumObjectType.java @@ -23,7 +23,7 @@ import javax.xml.bind.annotation.XmlType; * * */ -@XmlType(name = "enumObjectType") +@XmlType(name = "enumObjectType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumObjectType { diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesBase.java b/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesBase.java index 5aef9d5265..a4d73868dd 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesBase.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesBase.java @@ -17,17 +17,19 @@ import javax.xml.bind.annotation.XmlType; * <enumeration value="ObjectId"/> * <enumeration value="Uri"/> * <enumeration value="ObjectTypeId"/> + * <enumeration value="BaseTypeId"/> * <enumeration value="CreatedBy"/> * <enumeration value="CreationDate"/> * <enumeration value="LastModifiedBy"/> * <enumeration value="LastModificationDate"/> * <enumeration value="ChangeToken"/> + * <enumeration value="Name"/> * </restriction> * </simpleType> * * */ -@XmlType(name = "enumPropertiesBase") +@XmlType(name = "enumPropertiesBase", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumPropertiesBase { @@ -37,6 +39,8 @@ public enum EnumPropertiesBase { URI("Uri"), @XmlEnumValue("ObjectTypeId") OBJECT_TYPE_ID("ObjectTypeId"), + @XmlEnumValue("BaseTypeId") + BASE_TYPE_ID("BaseTypeId"), @XmlEnumValue("CreatedBy") CREATED_BY("CreatedBy"), @XmlEnumValue("CreationDate") @@ -46,7 +50,9 @@ public enum EnumPropertiesBase { @XmlEnumValue("LastModificationDate") LAST_MODIFICATION_DATE("LastModificationDate"), @XmlEnumValue("ChangeToken") - CHANGE_TOKEN("ChangeToken"); + CHANGE_TOKEN("ChangeToken"), + @XmlEnumValue("Name") + NAME("Name"); private final String value; EnumPropertiesBase(String v) { diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesDocument.java b/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesDocument.java new file mode 100755 index 0000000000..8aff6969bd --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesDocument.java @@ -0,0 +1,120 @@ + +package org.alfresco.repo.cmis.ws; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for enumPropertiesDocument. + * + *

The following schema fragment specifies the expected content contained within this class. + *

+ *

+ * <simpleType name="enumPropertiesDocument">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Name"/>
+ *     <enumeration value="ObjectId"/>
+ *     <enumeration value="BaseTypeId"/>
+ *     <enumeration value="Uri"/>
+ *     <enumeration value="ObjectTypeId"/>
+ *     <enumeration value="CreatedBy"/>
+ *     <enumeration value="CreationDate"/>
+ *     <enumeration value="LastModifiedBy"/>
+ *     <enumeration value="LastModificationDate"/>
+ *     <enumeration value="ChangeToken"/>
+ *     <enumeration value="IsImmutable"/>
+ *     <enumeration value="IsLatestVersion"/>
+ *     <enumeration value="IsMajorVersion"/>
+ *     <enumeration value="IsLatestMajorVersion"/>
+ *     <enumeration value="VersionLabel"/>
+ *     <enumeration value="VersionSeriesId"/>
+ *     <enumeration value="IsVersionSeriesCheckedOut"/>
+ *     <enumeration value="VersionSeriesCheckedOutBy"/>
+ *     <enumeration value="VersionSeriesCheckedOutId"/>
+ *     <enumeration value="CheckinComment"/>
+ *     <enumeration value="ContentStreamAllowed"/>
+ *     <enumeration value="ContentStreamLength"/>
+ *     <enumeration value="ContentStreamMimeType"/>
+ *     <enumeration value="ContentStreamFilename"/>
+ *     <enumeration value="ContentStreamUri"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "enumPropertiesDocument", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") +@XmlEnum +public enum EnumPropertiesDocument { + + @XmlEnumValue("Name") + NAME("Name"), + @XmlEnumValue("ObjectId") + OBJECT_ID("ObjectId"), + @XmlEnumValue("BaseTypeId") + BASE_TYPE_ID("BaseTypeId"), + @XmlEnumValue("Uri") + URI("Uri"), + @XmlEnumValue("ObjectTypeId") + OBJECT_TYPE_ID("ObjectTypeId"), + @XmlEnumValue("CreatedBy") + CREATED_BY("CreatedBy"), + @XmlEnumValue("CreationDate") + CREATION_DATE("CreationDate"), + @XmlEnumValue("LastModifiedBy") + LAST_MODIFIED_BY("LastModifiedBy"), + @XmlEnumValue("LastModificationDate") + LAST_MODIFICATION_DATE("LastModificationDate"), + @XmlEnumValue("ChangeToken") + CHANGE_TOKEN("ChangeToken"), + @XmlEnumValue("IsImmutable") + IS_IMMUTABLE("IsImmutable"), + @XmlEnumValue("IsLatestVersion") + IS_LATEST_VERSION("IsLatestVersion"), + @XmlEnumValue("IsMajorVersion") + IS_MAJOR_VERSION("IsMajorVersion"), + @XmlEnumValue("IsLatestMajorVersion") + IS_LATEST_MAJOR_VERSION("IsLatestMajorVersion"), + @XmlEnumValue("VersionLabel") + VERSION_LABEL("VersionLabel"), + @XmlEnumValue("VersionSeriesId") + VERSION_SERIES_ID("VersionSeriesId"), + @XmlEnumValue("IsVersionSeriesCheckedOut") + IS_VERSION_SERIES_CHECKED_OUT("IsVersionSeriesCheckedOut"), + @XmlEnumValue("VersionSeriesCheckedOutBy") + VERSION_SERIES_CHECKED_OUT_BY("VersionSeriesCheckedOutBy"), + @XmlEnumValue("VersionSeriesCheckedOutId") + VERSION_SERIES_CHECKED_OUT_ID("VersionSeriesCheckedOutId"), + @XmlEnumValue("CheckinComment") + CHECKIN_COMMENT("CheckinComment"), + @XmlEnumValue("ContentStreamAllowed") + CONTENT_STREAM_ALLOWED("ContentStreamAllowed"), + @XmlEnumValue("ContentStreamLength") + CONTENT_STREAM_LENGTH("ContentStreamLength"), + @XmlEnumValue("ContentStreamMimeType") + CONTENT_STREAM_MIME_TYPE("ContentStreamMimeType"), + @XmlEnumValue("ContentStreamFilename") + CONTENT_STREAM_FILENAME("ContentStreamFilename"), + @XmlEnumValue("ContentStreamUri") + CONTENT_STREAM_URI("ContentStreamUri"); + private final String value; + + EnumPropertiesDocument(String v) { + value = v; + } + + public String value() { + return value; + } + + public static EnumPropertiesDocument fromValue(String v) { + for (EnumPropertiesDocument c: EnumPropertiesDocument.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesFolder.java b/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesFolder.java index 463d6ce7b0..0dbf9067cf 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesFolder.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesFolder.java @@ -14,7 +14,9 @@ import javax.xml.bind.annotation.XmlType; *
  * <simpleType name="enumPropertiesFolder">
  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Name"/>
  *     <enumeration value="ObjectId"/>
+ *     <enumeration value="BaseTypeId"/>
  *     <enumeration value="Uri"/>
  *     <enumeration value="ObjectTypeId"/>
  *     <enumeration value="CreatedBy"/>
@@ -29,12 +31,16 @@ import javax.xml.bind.annotation.XmlType;
  * 
* */ -@XmlType(name = "enumPropertiesFolder") +@XmlType(name = "enumPropertiesFolder", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumPropertiesFolder { + @XmlEnumValue("Name") + NAME("Name"), @XmlEnumValue("ObjectId") OBJECT_ID("ObjectId"), + @XmlEnumValue("BaseTypeId") + BASE_TYPE_ID("BaseTypeId"), @XmlEnumValue("Uri") URI("Uri"), @XmlEnumValue("ObjectTypeId") diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesPolicy.java b/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesPolicy.java index 16a3665104..f3d4195b4b 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesPolicy.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesPolicy.java @@ -14,9 +14,11 @@ import javax.xml.bind.annotation.XmlType; *
  * <simpleType name="enumPropertiesPolicy">
  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Name"/>
  *     <enumeration value="ObjectId"/>
  *     <enumeration value="Uri"/>
  *     <enumeration value="ObjectTypeId"/>
+ *     <enumeration value="BaseTypeId"/>
  *     <enumeration value="CreatedBy"/>
  *     <enumeration value="CreationDate"/>
  *     <enumeration value="LastModifiedBy"/>
@@ -29,16 +31,20 @@ import javax.xml.bind.annotation.XmlType;
  * 
* */ -@XmlType(name = "enumPropertiesPolicy") +@XmlType(name = "enumPropertiesPolicy", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumPropertiesPolicy { + @XmlEnumValue("Name") + NAME("Name"), @XmlEnumValue("ObjectId") OBJECT_ID("ObjectId"), @XmlEnumValue("Uri") URI("Uri"), @XmlEnumValue("ObjectTypeId") OBJECT_TYPE_ID("ObjectTypeId"), + @XmlEnumValue("BaseTypeId") + BASE_TYPE_ID("BaseTypeId"), @XmlEnumValue("CreatedBy") CREATED_BY("CreatedBy"), @XmlEnumValue("CreationDate") diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesRelationship.java b/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesRelationship.java index 40be3b8483..cced8c646d 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesRelationship.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumPropertiesRelationship.java @@ -14,9 +14,11 @@ import javax.xml.bind.annotation.XmlType; *
  * <simpleType name="enumPropertiesRelationship">
  *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="Name"/>
  *     <enumeration value="ObjectId"/>
  *     <enumeration value="Uri"/>
  *     <enumeration value="ObjectTypeId"/>
+ *     <enumeration value="BaseTypeId"/>
  *     <enumeration value="CreatedBy"/>
  *     <enumeration value="CreationDate"/>
  *     <enumeration value="LastModifiedBy"/>
@@ -29,16 +31,20 @@ import javax.xml.bind.annotation.XmlType;
  * 
* */ -@XmlType(name = "enumPropertiesRelationship") +@XmlType(name = "enumPropertiesRelationship", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumPropertiesRelationship { + @XmlEnumValue("Name") + NAME("Name"), @XmlEnumValue("ObjectId") OBJECT_ID("ObjectId"), @XmlEnumValue("Uri") URI("Uri"), @XmlEnumValue("ObjectTypeId") OBJECT_TYPE_ID("ObjectTypeId"), + @XmlEnumValue("BaseTypeId") + BASE_TYPE_ID("BaseTypeId"), @XmlEnumValue("CreatedBy") CREATED_BY("CreatedBy"), @XmlEnumValue("CreationDate") diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumPropertyType.java b/source/generated/org/alfresco/repo/cmis/ws/EnumPropertyType.java index a56e0008f4..bf89ee019b 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumPropertyType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumPropertyType.java @@ -28,7 +28,7 @@ import javax.xml.bind.annotation.XmlType; * * */ -@XmlType(name = "enumPropertyType") +@XmlType(name = "enumPropertyType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumPropertyType { diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumRelationshipDirection.java b/source/generated/org/alfresco/repo/cmis/ws/EnumRelationshipDirection.java index 59a8969892..bb9604e6af 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumRelationshipDirection.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumRelationshipDirection.java @@ -16,13 +16,13 @@ import javax.xml.bind.annotation.XmlType; * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> * <enumeration value="source"/> * <enumeration value="target"/> - * <enumeration value="both"/> + * <enumeration value="either"/> * </restriction> * </simpleType> * * */ -@XmlType(name = "enumRelationshipDirection") +@XmlType(name = "enumRelationshipDirection", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumRelationshipDirection { @@ -30,8 +30,8 @@ public enum EnumRelationshipDirection { SOURCE("source"), @XmlEnumValue("target") TARGET("target"), - @XmlEnumValue("both") - BOTH("both"); + @XmlEnumValue("either") + EITHER("either"); private final String value; EnumRelationshipDirection(String v) { diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumRepositoryRelationship.java b/source/generated/org/alfresco/repo/cmis/ws/EnumRepositoryRelationship.java index be7b83db04..b0cad47085 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumRepositoryRelationship.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumRepositoryRelationship.java @@ -25,7 +25,7 @@ import javax.xml.bind.annotation.XmlType; * * */ -@XmlType(name = "enumRepositoryRelationship") +@XmlType(name = "enumRepositoryRelationship", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumRepositoryRelationship { diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumRestArguments.java b/source/generated/org/alfresco/repo/cmis/ws/EnumRestArguments.java index 310f2bb65c..d11de9e7ef 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumRestArguments.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumRestArguments.java @@ -16,15 +16,19 @@ import javax.xml.bind.annotation.XmlType; * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> * <enumeration value="childTypes"/> * <enumeration value="continueOnFailure"/> + * <enumeration value="checkin"/> + * <enumeration value="checkinComment"/> * <enumeration value="depth"/> * <enumeration value="direction"/> * <enumeration value="filter"/> * <enumeration value="folderByPath"/> + * <enumeration value="folderId"/> * <enumeration value="includeAllowableActions"/> * <enumeration value="includePropertyDefinitions"/> * <enumeration value="includeRelationships"/> * <enumeration value="includeSubrelationshipTypes"/> * <enumeration value="length"/> + * <enumeration value="major"/> * <enumeration value="majorVersion"/> * <enumeration value="maxItems"/> * <enumeration value="offset"/> @@ -44,7 +48,7 @@ import javax.xml.bind.annotation.XmlType; * * */ -@XmlType(name = "enumRestArguments") +@XmlType(name = "enumRestArguments", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumRestArguments { @@ -52,6 +56,10 @@ public enum EnumRestArguments { CHILD_TYPES("childTypes"), @XmlEnumValue("continueOnFailure") CONTINUE_ON_FAILURE("continueOnFailure"), + @XmlEnumValue("checkin") + CHECKIN("checkin"), + @XmlEnumValue("checkinComment") + CHECKIN_COMMENT("checkinComment"), @XmlEnumValue("depth") DEPTH("depth"), @XmlEnumValue("direction") @@ -60,6 +68,8 @@ public enum EnumRestArguments { FILTER("filter"), @XmlEnumValue("folderByPath") FOLDER_BY_PATH("folderByPath"), + @XmlEnumValue("folderId") + FOLDER_ID("folderId"), @XmlEnumValue("includeAllowableActions") INCLUDE_ALLOWABLE_ACTIONS("includeAllowableActions"), @XmlEnumValue("includePropertyDefinitions") @@ -70,6 +80,8 @@ public enum EnumRestArguments { INCLUDE_SUBRELATIONSHIP_TYPES("includeSubrelationshipTypes"), @XmlEnumValue("length") LENGTH("length"), + @XmlEnumValue("major") + MAJOR("major"), @XmlEnumValue("majorVersion") MAJOR_VERSION("majorVersion"), @XmlEnumValue("maxItems") diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumRestOutputHeaders.java b/source/generated/org/alfresco/repo/cmis/ws/EnumRestOutputHeaders.java index 2261d692d9..b640d747a9 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumRestOutputHeaders.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumRestOutputHeaders.java @@ -20,7 +20,7 @@ import javax.xml.bind.annotation.XmlType; * * */ -@XmlType(name = "enumRestOutputHeaders") +@XmlType(name = "enumRestOutputHeaders", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumRestOutputHeaders { diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumReturnVersion.java b/source/generated/org/alfresco/repo/cmis/ws/EnumReturnVersion.java index 0badec073c..b7004c8727 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumReturnVersion.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumReturnVersion.java @@ -22,7 +22,7 @@ import javax.xml.bind.annotation.XmlType; * * */ -@XmlType(name = "enumReturnVersion") +@XmlType(name = "enumReturnVersion", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumReturnVersion { diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumServiceException.java b/source/generated/org/alfresco/repo/cmis/ws/EnumServiceException.java new file mode 100755 index 0000000000..58b16eb169 --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumServiceException.java @@ -0,0 +1,93 @@ + +package org.alfresco.repo.cmis.ws; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for enumServiceException. + * + *

The following schema fragment specifies the expected content contained within this class. + *

+ *

+ * <simpleType name="enumServiceException">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="constraint"/>
+ *     <enumeration value="contentAlreadyExists"/>
+ *     <enumeration value="filterNotValid"/>
+ *     <enumeration value="folderNotValid"/>
+ *     <enumeration value="invalidArgument"/>
+ *     <enumeration value="notInFolder"/>
+ *     <enumeration value="objectNotFound"/>
+ *     <enumeration value="offset"/>
+ *     <enumeration value="notSupported"/>
+ *     <enumeration value="permissionDenied"/>
+ *     <enumeration value="runtime"/>
+ *     <enumeration value="storage"/>
+ *     <enumeration value="streamNotSupported"/>
+ *     <enumeration value="type"/>
+ *     <enumeration value="updateConflict"/>
+ *     <enumeration value="versioning"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "enumServiceException") +@XmlEnum +public enum EnumServiceException { + + @XmlEnumValue("constraint") + CONSTRAINT("constraint"), + @XmlEnumValue("contentAlreadyExists") + CONTENT_ALREADY_EXISTS("contentAlreadyExists"), + @XmlEnumValue("filterNotValid") + FILTER_NOT_VALID("filterNotValid"), + @XmlEnumValue("folderNotValid") + FOLDER_NOT_VALID("folderNotValid"), + @XmlEnumValue("invalidArgument") + INVALID_ARGUMENT("invalidArgument"), + @XmlEnumValue("notInFolder") + NOT_IN_FOLDER("notInFolder"), + @XmlEnumValue("objectNotFound") + OBJECT_NOT_FOUND("objectNotFound"), + @XmlEnumValue("offset") + OFFSET("offset"), + @XmlEnumValue("notSupported") + NOT_SUPPORTED("notSupported"), + @XmlEnumValue("permissionDenied") + PERMISSION_DENIED("permissionDenied"), + @XmlEnumValue("runtime") + RUNTIME("runtime"), + @XmlEnumValue("storage") + STORAGE("storage"), + @XmlEnumValue("streamNotSupported") + STREAM_NOT_SUPPORTED("streamNotSupported"), + @XmlEnumValue("type") + TYPE("type"), + @XmlEnumValue("updateConflict") + UPDATE_CONFLICT("updateConflict"), + @XmlEnumValue("versioning") + VERSIONING("versioning"); + private final String value; + + EnumServiceException(String v) { + value = v; + } + + public String value() { + return value; + } + + public static EnumServiceException fromValue(String v) { + for (EnumServiceException c: EnumServiceException.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumTypeOfChanges.java b/source/generated/org/alfresco/repo/cmis/ws/EnumTypeOfChanges.java new file mode 100755 index 0000000000..04e5ac2b10 --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumTypeOfChanges.java @@ -0,0 +1,57 @@ + +package org.alfresco.repo.cmis.ws; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for enumTypeOfChanges. + * + *

The following schema fragment specifies the expected content contained within this class. + *

+ *

+ * <simpleType name="enumTypeOfChanges">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="created"/>
+ *     <enumeration value="updated"/>
+ *     <enumeration value="deleted"/>
+ *     <enumeration value="security"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "enumTypeOfChanges", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") +@XmlEnum +public enum EnumTypeOfChanges { + + @XmlEnumValue("created") + CREATED("created"), + @XmlEnumValue("updated") + UPDATED("updated"), + @XmlEnumValue("deleted") + DELETED("deleted"), + @XmlEnumValue("security") + SECURITY("security"); + private final String value; + + EnumTypeOfChanges(String v) { + value = v; + } + + public String value() { + return value; + } + + public static EnumTypeOfChanges fromValue(String v) { + for (EnumTypeOfChanges c: EnumTypeOfChanges.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumTypesOfFileableObjects.java b/source/generated/org/alfresco/repo/cmis/ws/EnumTypesOfFileableObjects.java index c89071f554..ca0f5be7b3 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumTypesOfFileableObjects.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumTypesOfFileableObjects.java @@ -23,7 +23,7 @@ import javax.xml.bind.annotation.XmlType; * * */ -@XmlType(name = "enumTypesOfFileableObjects") +@XmlType(name = "enumTypesOfFileableObjects", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumTypesOfFileableObjects { diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumUnfileNonfolderObjects.java b/source/generated/org/alfresco/repo/cmis/ws/EnumUnfileNonfolderObjects.java index d9893bd4cd..f9ff6f29c7 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumUnfileNonfolderObjects.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumUnfileNonfolderObjects.java @@ -22,7 +22,7 @@ import javax.xml.bind.annotation.XmlType; * * */ -@XmlType(name = "enumUnfileNonfolderObjects") +@XmlType(name = "enumUnfileNonfolderObjects", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumUnfileNonfolderObjects { diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumUpdatability.java b/source/generated/org/alfresco/repo/cmis/ws/EnumUpdatability.java new file mode 100755 index 0000000000..563cedc176 --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumUpdatability.java @@ -0,0 +1,54 @@ + +package org.alfresco.repo.cmis.ws; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for enumUpdatability. + * + *

The following schema fragment specifies the expected content contained within this class. + *

+ *

+ * <simpleType name="enumUpdatability">
+ *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ *     <enumeration value="readonly"/>
+ *     <enumeration value="readwrite"/>
+ *     <enumeration value="whencheckedout"/>
+ *   </restriction>
+ * </simpleType>
+ * 
+ * + */ +@XmlType(name = "enumUpdatability", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") +@XmlEnum +public enum EnumUpdatability { + + @XmlEnumValue("readonly") + READONLY("readonly"), + @XmlEnumValue("readwrite") + READWRITE("readwrite"), + @XmlEnumValue("whencheckedout") + WHENCHECKEDOUT("whencheckedout"); + private final String value; + + EnumUpdatability(String v) { + value = v; + } + + public String value() { + return value; + } + + public static EnumUpdatability fromValue(String v) { + for (EnumUpdatability c: EnumUpdatability.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumUpdateability.java b/source/generated/org/alfresco/repo/cmis/ws/EnumUpdateability.java index 2a6a643f95..cfe8549df8 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumUpdateability.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumUpdateability.java @@ -22,7 +22,7 @@ import javax.xml.bind.annotation.XmlType; * * */ -@XmlType(name = "enumUpdateability") +@XmlType(name = "enumUpdateability", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumUpdateability { diff --git a/source/generated/org/alfresco/repo/cmis/ws/EnumVersioningState.java b/source/generated/org/alfresco/repo/cmis/ws/EnumVersioningState.java index ce2c2032a7..495b8ca089 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/EnumVersioningState.java +++ b/source/generated/org/alfresco/repo/cmis/ws/EnumVersioningState.java @@ -22,7 +22,7 @@ import javax.xml.bind.annotation.XmlType; * * */ -@XmlType(name = "enumVersioningState") +@XmlType(name = "enumVersioningState", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") @XmlEnum public enum EnumVersioningState { diff --git a/source/generated/org/alfresco/repo/cmis/ws/FilterNotValidException.java b/source/generated/org/alfresco/repo/cmis/ws/FilterNotValidException.java deleted file mode 100644 index f095a4078a..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/FilterNotValidException.java +++ /dev/null @@ -1,45 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.ws.WebFault; - - -/** - * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:45:08 EEST 2008 - * Generated source version: 2.1.2 - * - */ - -@WebFault(name = "filterNotValidException", targetNamespace = "http://www.cmis.org/2008/05") -public class FilterNotValidException extends Exception { - public static final long serialVersionUID = 20080905134508L; - - private org.alfresco.repo.cmis.ws.FilterNotValidExceptionType filterNotValidException; - - public FilterNotValidException() { - super(); - } - - public FilterNotValidException(String message) { - super(message); - } - - public FilterNotValidException(String message, Throwable cause) { - super(message, cause); - } - - public FilterNotValidException(String message, org.alfresco.repo.cmis.ws.FilterNotValidExceptionType filterNotValidException) { - super(message); - this.filterNotValidException = filterNotValidException; - } - - public FilterNotValidException(String message, org.alfresco.repo.cmis.ws.FilterNotValidExceptionType filterNotValidException, Throwable cause) { - super(message, cause); - this.filterNotValidException = filterNotValidException; - } - - public org.alfresco.repo.cmis.ws.FilterNotValidExceptionType getFaultInfo() { - return this.filterNotValidException; - } -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/FilterNotValidExceptionType.java b/source/generated/org/alfresco/repo/cmis/ws/FilterNotValidExceptionType.java deleted file mode 100755 index bc1447acbf..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/FilterNotValidExceptionType.java +++ /dev/null @@ -1,32 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - - -/** - *

Java class for filterNotValidExceptionType complex type. - * - *

The following schema fragment specifies the expected content contained within this class. - * - *

- * <complexType name="filterNotValidExceptionType">
- *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisFaultType">
- *     </extension>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "filterNotValidExceptionType") -public class FilterNotValidExceptionType - extends CmisFaultType -{ - - -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/FolderNotValidException.java b/source/generated/org/alfresco/repo/cmis/ws/FolderNotValidException.java deleted file mode 100644 index 9b4e5f0994..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/FolderNotValidException.java +++ /dev/null @@ -1,45 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.ws.WebFault; - - -/** - * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:55 EEST 2008 - * Generated source version: 2.1.2 - * - */ - -@WebFault(name = "folderNotValidException", targetNamespace = "http://www.cmis.org/2008/05") -public class FolderNotValidException extends Exception { - public static final long serialVersionUID = 20080905134455L; - - private org.alfresco.repo.cmis.ws.FolderNotValidExceptionType folderNotValidException; - - public FolderNotValidException() { - super(); - } - - public FolderNotValidException(String message) { - super(message); - } - - public FolderNotValidException(String message, Throwable cause) { - super(message, cause); - } - - public FolderNotValidException(String message, org.alfresco.repo.cmis.ws.FolderNotValidExceptionType folderNotValidException) { - super(message); - this.folderNotValidException = folderNotValidException; - } - - public FolderNotValidException(String message, org.alfresco.repo.cmis.ws.FolderNotValidExceptionType folderNotValidException, Throwable cause) { - super(message, cause); - this.folderNotValidException = folderNotValidException; - } - - public org.alfresco.repo.cmis.ws.FolderNotValidExceptionType getFaultInfo() { - return this.folderNotValidException; - } -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/FolderNotValidExceptionType.java b/source/generated/org/alfresco/repo/cmis/ws/FolderNotValidExceptionType.java deleted file mode 100755 index f759d492cf..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/FolderNotValidExceptionType.java +++ /dev/null @@ -1,32 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - - -/** - *

Java class for folderNotValidExceptionType complex type. - * - *

The following schema fragment specifies the expected content contained within this class. - * - *

- * <complexType name="folderNotValidExceptionType">
- *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisFaultType">
- *     </extension>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "folderNotValidExceptionType") -public class FolderNotValidExceptionType - extends CmisFaultType -{ - - -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetAllVersions.java b/source/generated/org/alfresco/repo/cmis/ws/GetAllVersions.java index 038bd3e3b1..fd462cb7b7 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetAllVersions.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetAllVersions.java @@ -24,7 +24,7 @@ import javax.xml.bind.annotation.XmlType; * <element name="versionSeriesId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="filter" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <element name="includeAllowableActions" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> - * <element name="includeRelationships" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> + * <element name="includeRelationships" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumIncludeRelationships" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> @@ -48,12 +48,12 @@ public class GetAllVersions { protected String repositoryId; @XmlElement(required = true) protected String versionSeriesId; - @XmlElementRef(name = "filter", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "filter", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement filter; - @XmlElementRef(name = "includeAllowableActions", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "includeAllowableActions", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement includeAllowableActions; - @XmlElementRef(name = "includeRelationships", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) - protected JAXBElement includeRelationships; + @XmlElementRef(name = "includeRelationships", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) + protected JAXBElement includeRelationships; /** * Gets the value of the repositoryId property. @@ -156,10 +156,10 @@ public class GetAllVersions { * * @return * possible object is - * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >} * */ - public JAXBElement getIncludeRelationships() { + public JAXBElement getIncludeRelationships() { return includeRelationships; } @@ -168,11 +168,11 @@ public class GetAllVersions { * * @param value * allowed object is - * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >} * */ - public void setIncludeRelationships(JAXBElement value) { - this.includeRelationships = ((JAXBElement ) value); + public void setIncludeRelationships(JAXBElement value) { + this.includeRelationships = ((JAXBElement ) value); } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetAllVersionsResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetAllVersionsResponse.java index 8cd1442f88..14df04b4d3 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetAllVersionsResponse.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetAllVersionsResponse.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @@ -19,7 +20,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element ref="{http://www.cmis.org/2008/05}object" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}object" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> @@ -35,6 +36,7 @@ import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "getAllVersionsResponse") public class GetAllVersionsResponse { + @XmlElement(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") protected List object; /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetAllowableActionsResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetAllowableActionsResponse.java index 84965c952a..9d0f1306ca 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetAllowableActionsResponse.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetAllowableActionsResponse.java @@ -18,7 +18,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element name="allowableActions" type="{http://www.cmis.org/2008/05}cmisAllowableActionsType"/> + * <element name="allowableActions" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisAllowableActionsType"/> * </sequence> * </restriction> * </complexContent> diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetAppliedPolicies.java b/source/generated/org/alfresco/repo/cmis/ws/GetAppliedPolicies.java index 93c8513ad2..7a3b7d7bc7 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/GetAppliedPolicies.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetAppliedPolicies.java @@ -44,7 +44,7 @@ public class GetAppliedPolicies { protected String repositoryId; @XmlElement(required = true) protected String objectId; - @XmlElementRef(name = "filter", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "filter", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement filter; /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetAppliedPoliciesResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetAppliedPoliciesResponse.java index fa5105226d..e4fa207b87 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/GetAppliedPoliciesResponse.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetAppliedPoliciesResponse.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @@ -19,7 +20,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element ref="{http://www.cmis.org/2008/05}object" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}object" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> @@ -35,6 +36,7 @@ import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "getAppliedPoliciesResponse") public class GetAppliedPoliciesResponse { + @XmlElement(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") protected List object; /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetCheckedoutDocs.java b/source/generated/org/alfresco/repo/cmis/ws/GetCheckedoutDocs.java index 7e64618566..fa1c931f20 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetCheckedoutDocs.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetCheckedoutDocs.java @@ -22,10 +22,11 @@ import javax.xml.bind.annotation.XmlType; * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> * <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="folderID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * <element name="folderId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <element name="filter" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> + * <element name="orderBy" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <element name="includeAllowableActions" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> - * <element name="includeRelationships" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> + * <element name="includeRelationships" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumIncludeRelationships" minOccurs="0"/> * <element name="maxItems" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/> * <element name="skipCount" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/> * </sequence> @@ -39,8 +40,9 @@ import javax.xml.bind.annotation.XmlType; @XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "", propOrder = { "repositoryId", - "folderID", + "folderId", "filter", + "orderBy", "includeAllowableActions", "includeRelationships", "maxItems", @@ -51,17 +53,19 @@ public class GetCheckedoutDocs { @XmlElement(required = true) protected String repositoryId; - @XmlElementRef(name = "folderID", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) - protected JAXBElement folderID; - @XmlElementRef(name = "filter", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "folderId", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) + protected JAXBElement folderId; + @XmlElementRef(name = "filter", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement filter; - @XmlElementRef(name = "includeAllowableActions", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "orderBy", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) + protected JAXBElement orderBy; + @XmlElementRef(name = "includeAllowableActions", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement includeAllowableActions; - @XmlElementRef(name = "includeRelationships", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) - protected JAXBElement includeRelationships; - @XmlElementRef(name = "maxItems", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "includeRelationships", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) + protected JAXBElement includeRelationships; + @XmlElementRef(name = "maxItems", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement maxItems; - @XmlElementRef(name = "skipCount", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "skipCount", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement skipCount; /** @@ -89,27 +93,27 @@ public class GetCheckedoutDocs { } /** - * Gets the value of the folderID property. + * Gets the value of the folderId property. * * @return * possible object is * {@link JAXBElement }{@code <}{@link String }{@code >} * */ - public JAXBElement getFolderID() { - return folderID; + public JAXBElement getFolderId() { + return folderId; } /** - * Sets the value of the folderID property. + * Sets the value of the folderId property. * * @param value * allowed object is * {@link JAXBElement }{@code <}{@link String }{@code >} * */ - public void setFolderID(JAXBElement value) { - this.folderID = ((JAXBElement ) value); + public void setFolderId(JAXBElement value) { + this.folderId = ((JAXBElement ) value); } /** @@ -136,6 +140,30 @@ public class GetCheckedoutDocs { this.filter = ((JAXBElement ) value); } + /** + * Gets the value of the orderBy property. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public JAXBElement getOrderBy() { + return orderBy; + } + + /** + * Sets the value of the orderBy property. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link String }{@code >} + * + */ + public void setOrderBy(JAXBElement value) { + this.orderBy = ((JAXBElement ) value); + } + /** * Gets the value of the includeAllowableActions property. * @@ -165,10 +193,10 @@ public class GetCheckedoutDocs { * * @return * possible object is - * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >} * */ - public JAXBElement getIncludeRelationships() { + public JAXBElement getIncludeRelationships() { return includeRelationships; } @@ -177,11 +205,11 @@ public class GetCheckedoutDocs { * * @param value * allowed object is - * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >} * */ - public void setIncludeRelationships(JAXBElement value) { - this.includeRelationships = ((JAXBElement ) value); + public void setIncludeRelationships(JAXBElement value) { + this.includeRelationships = ((JAXBElement ) value); } /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetCheckedoutDocsResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetCheckedoutDocsResponse.java index f699eb45be..1ce7c5aa03 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetCheckedoutDocsResponse.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetCheckedoutDocsResponse.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @@ -19,7 +20,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element ref="{http://www.cmis.org/2008/05}object" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}object" maxOccurs="unbounded" minOccurs="0"/> * <element name="hasMoreItems" type="{http://www.w3.org/2001/XMLSchema}boolean"/> * </sequence> * </restriction> @@ -37,6 +38,7 @@ import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "getCheckedoutDocsResponse") public class GetCheckedoutDocsResponse { + @XmlElement(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") protected List object; protected boolean hasMoreItems; diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetChildren.java b/source/generated/org/alfresco/repo/cmis/ws/GetChildren.java index c4f88c1540..277949a1e4 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetChildren.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetChildren.java @@ -23,12 +23,13 @@ import javax.xml.bind.annotation.XmlType; * <sequence> * <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="folderId" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="type" type="{http://www.cmis.org/2008/05}enumTypesOfFileableObjects" minOccurs="0"/> + * <element name="type" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumTypesOfFileableObjects" minOccurs="0"/> * <element name="filter" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <element name="includeAllowableActions" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> - * <element name="includeRelationships" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> + * <element name="includeRelationships" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumIncludeRelationships" minOccurs="0"/> * <element name="maxItems" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/> * <element name="skipCount" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/> + * <element name="orderBy" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> @@ -46,7 +47,8 @@ import javax.xml.bind.annotation.XmlType; "includeAllowableActions", "includeRelationships", "maxItems", - "skipCount" + "skipCount", + "orderBy" }) @XmlRootElement(name = "getChildren") public class GetChildren { @@ -55,18 +57,19 @@ public class GetChildren { protected String repositoryId; @XmlElement(required = true) protected String folderId; - @XmlElementRef(name = "type", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "type", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement type; - @XmlElementRef(name = "filter", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "filter", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement filter; - @XmlElementRef(name = "includeAllowableActions", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "includeAllowableActions", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement includeAllowableActions; - @XmlElementRef(name = "includeRelationships", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) - protected JAXBElement includeRelationships; - @XmlElementRef(name = "maxItems", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "includeRelationships", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) + protected JAXBElement includeRelationships; + @XmlElementRef(name = "maxItems", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement maxItems; - @XmlElementRef(name = "skipCount", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "skipCount", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement skipCount; + protected String orderBy; /** * Gets the value of the repositoryId property. @@ -193,10 +196,10 @@ public class GetChildren { * * @return * possible object is - * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >} * */ - public JAXBElement getIncludeRelationships() { + public JAXBElement getIncludeRelationships() { return includeRelationships; } @@ -205,11 +208,11 @@ public class GetChildren { * * @param value * allowed object is - * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >} * */ - public void setIncludeRelationships(JAXBElement value) { - this.includeRelationships = ((JAXBElement ) value); + public void setIncludeRelationships(JAXBElement value) { + this.includeRelationships = ((JAXBElement ) value); } /** @@ -260,4 +263,28 @@ public class GetChildren { this.skipCount = ((JAXBElement ) value); } + /** + * Gets the value of the orderBy property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOrderBy() { + return orderBy; + } + + /** + * Sets the value of the orderBy property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOrderBy(String value) { + this.orderBy = value; + } + } diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetChildrenResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetChildrenResponse.java index 6e6b650a6d..44c15c62c3 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetChildrenResponse.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetChildrenResponse.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @@ -19,7 +20,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element ref="{http://www.cmis.org/2008/05}object" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}object" maxOccurs="unbounded" minOccurs="0"/> * <element name="hasMoreItems" type="{http://www.w3.org/2001/XMLSchema}boolean"/> * </sequence> * </restriction> @@ -37,6 +38,7 @@ import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "getChildrenResponse") public class GetChildrenResponse { + @XmlElement(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") protected List object; protected boolean hasMoreItems; diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetContentChanges.java b/source/generated/org/alfresco/repo/cmis/ws/GetContentChanges.java new file mode 100755 index 0000000000..0f68b2084d --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/GetContentChanges.java @@ -0,0 +1,205 @@ + +package org.alfresco.repo.cmis.ws; + +import java.math.BigInteger; +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType>
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         <element name="changeToken" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         <element name="maxItems" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/>
+ *         <element name="includeACL" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="includeProperties" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
+ *         <element name="filter" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = { + "repositoryId", + "changeToken", + "maxItems", + "includeACL", + "includeProperties", + "filter" +}) +@XmlRootElement(name = "getContentChanges") +public class GetContentChanges { + + @XmlElement(required = true) + protected String repositoryId; + protected String changeToken; + @XmlElementRef(name = "maxItems", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) + protected JAXBElement maxItems; + @XmlElementRef(name = "includeACL", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) + protected JAXBElement includeACL; + @XmlElementRef(name = "includeProperties", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) + protected JAXBElement includeProperties; + protected String filter; + + /** + * Gets the value of the repositoryId property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getRepositoryId() { + return repositoryId; + } + + /** + * Sets the value of the repositoryId property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setRepositoryId(String value) { + this.repositoryId = value; + } + + /** + * Gets the value of the changeToken property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getChangeToken() { + return changeToken; + } + + /** + * Sets the value of the changeToken property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setChangeToken(String value) { + this.changeToken = value; + } + + /** + * Gets the value of the maxItems property. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link BigInteger }{@code >} + * + */ + public JAXBElement getMaxItems() { + return maxItems; + } + + /** + * Sets the value of the maxItems property. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link BigInteger }{@code >} + * + */ + public void setMaxItems(JAXBElement value) { + this.maxItems = ((JAXBElement ) value); + } + + /** + * Gets the value of the includeACL property. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * + */ + public JAXBElement getIncludeACL() { + return includeACL; + } + + /** + * Sets the value of the includeACL property. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * + */ + public void setIncludeACL(JAXBElement value) { + this.includeACL = ((JAXBElement ) value); + } + + /** + * Gets the value of the includeProperties property. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * + */ + public JAXBElement getIncludeProperties() { + return includeProperties; + } + + /** + * Sets the value of the includeProperties property. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * + */ + public void setIncludeProperties(JAXBElement value) { + this.includeProperties = ((JAXBElement ) value); + } + + /** + * Gets the value of the filter property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getFilter() { + return filter; + } + + /** + * Sets the value of the filter property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setFilter(String value) { + this.filter = value; + } + +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetContentChangesResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetContentChangesResponse.java new file mode 100755 index 0000000000..e6730708b7 --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/GetContentChangesResponse.java @@ -0,0 +1,99 @@ + +package org.alfresco.repo.cmis.ws; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType>
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="changedObject" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisObjectType" maxOccurs="unbounded" minOccurs="0"/>
+ *         <element name="changeToken" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = { + "changedObject", + "changeToken" +}) +@XmlRootElement(name = "getContentChangesResponse") +public class GetContentChangesResponse { + + @XmlElement(nillable = true) + protected List changedObject; + @XmlElement(required = true) + protected String changeToken; + + /** + * Gets the value of the changedObject property. + * + *

+ * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a set method for the changedObject property. + * + *

+ * For example, to add a new item, do as follows: + *

+     *    getChangedObject().add(newItem);
+     * 
+ * + * + *

+ * Objects of the following type(s) are allowed in the list + * {@link CmisObjectType } + * + * + */ + public List getChangedObject() { + if (changedObject == null) { + changedObject = new ArrayList(); + } + return this.changedObject; + } + + /** + * Gets the value of the changeToken property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getChangeToken() { + return changeToken; + } + + /** + * Sets the value of the changeToken property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setChangeToken(String value) { + this.changeToken = value; + } + +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetContentStreamResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetContentStreamResponse.java index 761001c298..059d44ddd7 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetContentStreamResponse.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetContentStreamResponse.java @@ -18,7 +18,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element name="contentStream" type="{http://www.cmis.org/2008/05}cmisContentStreamType"/> + * <element name="contentStream" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisContentStreamType"/> * </sequence> * </restriction> * </complexContent> diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetDescendants.java b/source/generated/org/alfresco/repo/cmis/ws/GetDescendants.java index cfddbe4ac0..47dc40cff1 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetDescendants.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetDescendants.java @@ -23,11 +23,12 @@ import javax.xml.bind.annotation.XmlType; * <sequence> * <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="folderId" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="type" type="{http://www.cmis.org/2008/05}enumTypesOfFileableObjects" minOccurs="0"/> + * <element name="type" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumTypesOfFileableObjects" minOccurs="0"/> * <element name="depth" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/> * <element name="filter" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <element name="includeAllowableActions" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> - * <element name="includeRelationships" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> + * <element name="includeRelationships" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumIncludeRelationships" minOccurs="0"/> + * <element name="orderBy" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> @@ -44,7 +45,8 @@ import javax.xml.bind.annotation.XmlType; "depth", "filter", "includeAllowableActions", - "includeRelationships" + "includeRelationships", + "orderBy" }) @XmlRootElement(name = "getDescendants") public class GetDescendants { @@ -54,14 +56,15 @@ public class GetDescendants { @XmlElement(required = true) protected String folderId; protected EnumTypesOfFileableObjects type; - @XmlElementRef(name = "depth", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "depth", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement depth; - @XmlElementRef(name = "filter", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "filter", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement filter; - @XmlElementRef(name = "includeAllowableActions", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "includeAllowableActions", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement includeAllowableActions; - @XmlElementRef(name = "includeRelationships", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) - protected JAXBElement includeRelationships; + @XmlElementRef(name = "includeRelationships", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) + protected JAXBElement includeRelationships; + protected String orderBy; /** * Gets the value of the repositoryId property. @@ -212,10 +215,10 @@ public class GetDescendants { * * @return * possible object is - * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >} * */ - public JAXBElement getIncludeRelationships() { + public JAXBElement getIncludeRelationships() { return includeRelationships; } @@ -224,11 +227,35 @@ public class GetDescendants { * * @param value * allowed object is - * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >} * */ - public void setIncludeRelationships(JAXBElement value) { - this.includeRelationships = ((JAXBElement ) value); + public void setIncludeRelationships(JAXBElement value) { + this.includeRelationships = ((JAXBElement ) value); + } + + /** + * Gets the value of the orderBy property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getOrderBy() { + return orderBy; + } + + /** + * Sets the value of the orderBy property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setOrderBy(String value) { + this.orderBy = value; } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetDescendantsResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetDescendantsResponse.java index b8ed7bdadc..5f218b6c91 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetDescendantsResponse.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetDescendantsResponse.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @@ -19,7 +20,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element ref="{http://www.cmis.org/2008/05}object" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}object" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> @@ -35,6 +36,7 @@ import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "getDescendantsResponse") public class GetDescendantsResponse { + @XmlElement(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") protected List object; /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetFolderParent.java b/source/generated/org/alfresco/repo/cmis/ws/GetFolderParent.java index 3450ba290d..3a0e3b63dc 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetFolderParent.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetFolderParent.java @@ -24,7 +24,7 @@ import javax.xml.bind.annotation.XmlType; * <element name="folderId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="filter" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <element name="includeAllowableActions" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> - * <element name="includeRelationships" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> + * <element name="includeRelationships" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumIncludeRelationships" minOccurs="0"/> * <element name="returnToRoot" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> * </sequence> * </restriction> @@ -51,11 +51,11 @@ public class GetFolderParent { @XmlElement(required = true) protected String folderId; protected String filter; - @XmlElementRef(name = "includeAllowableActions", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "includeAllowableActions", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement includeAllowableActions; - @XmlElementRef(name = "includeRelationships", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) - protected JAXBElement includeRelationships; - @XmlElementRef(name = "returnToRoot", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "includeRelationships", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) + protected JAXBElement includeRelationships; + @XmlElementRef(name = "returnToRoot", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement returnToRoot; /** @@ -159,10 +159,10 @@ public class GetFolderParent { * * @return * possible object is - * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >} * */ - public JAXBElement getIncludeRelationships() { + public JAXBElement getIncludeRelationships() { return includeRelationships; } @@ -171,11 +171,11 @@ public class GetFolderParent { * * @param value * allowed object is - * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >} * */ - public void setIncludeRelationships(JAXBElement value) { - this.includeRelationships = ((JAXBElement ) value); + public void setIncludeRelationships(JAXBElement value) { + this.includeRelationships = ((JAXBElement ) value); } /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetFolderParentResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetFolderParentResponse.java index 2b24c1f6b2..acaa54f957 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetFolderParentResponse.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetFolderParentResponse.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @@ -19,7 +20,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element ref="{http://www.cmis.org/2008/05}object" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}object" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> @@ -35,6 +36,7 @@ import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "getFolderParentResponse") public class GetFolderParentResponse { + @XmlElement(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") protected List object; /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetObjectParents.java b/source/generated/org/alfresco/repo/cmis/ws/GetObjectParents.java index d8410550dd..fdcc479428 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/GetObjectParents.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetObjectParents.java @@ -24,7 +24,7 @@ import javax.xml.bind.annotation.XmlType; * <element name="objectId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="filter" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <element name="includeAllowableActions" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> - * <element name="includeRelationships" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> + * <element name="includeRelationships" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumIncludeRelationships" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> @@ -49,10 +49,10 @@ public class GetObjectParents { @XmlElement(required = true) protected String objectId; protected String filter; - @XmlElementRef(name = "includeAllowableActions", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "includeAllowableActions", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement includeAllowableActions; - @XmlElementRef(name = "includeRelationships", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) - protected JAXBElement includeRelationships; + @XmlElementRef(name = "includeRelationships", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) + protected JAXBElement includeRelationships; /** * Gets the value of the repositoryId property. @@ -155,10 +155,10 @@ public class GetObjectParents { * * @return * possible object is - * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >} * */ - public JAXBElement getIncludeRelationships() { + public JAXBElement getIncludeRelationships() { return includeRelationships; } @@ -167,11 +167,11 @@ public class GetObjectParents { * * @param value * allowed object is - * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >} * */ - public void setIncludeRelationships(JAXBElement value) { - this.includeRelationships = ((JAXBElement ) value); + public void setIncludeRelationships(JAXBElement value) { + this.includeRelationships = ((JAXBElement ) value); } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetObjectParentsResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetObjectParentsResponse.java index 344ef7ab4c..3441924f31 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/GetObjectParentsResponse.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetObjectParentsResponse.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @@ -19,7 +20,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element ref="{http://www.cmis.org/2008/05}object" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}object" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> @@ -35,6 +36,7 @@ import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "getObjectParentsResponse") public class GetObjectParentsResponse { + @XmlElement(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") protected List object; /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetProperties.java b/source/generated/org/alfresco/repo/cmis/ws/GetProperties.java index 97e694be15..a8646d5e67 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetProperties.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetProperties.java @@ -22,10 +22,10 @@ import javax.xml.bind.annotation.XmlType; * <sequence> * <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="objectId" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="returnVersion" type="{http://www.cmis.org/2008/05}enumReturnVersion" minOccurs="0"/> + * <element name="returnVersion" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumReturnVersion" minOccurs="0"/> * <element name="filter" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <element name="includeAllowableActions" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> - * <element name="includeRelationships" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> + * <element name="includeRelationships" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumIncludeRelationships" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> @@ -50,14 +50,14 @@ public class GetProperties { protected String repositoryId; @XmlElement(required = true) protected String objectId; - @XmlElementRef(name = "returnVersion", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "returnVersion", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement returnVersion; - @XmlElementRef(name = "filter", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "filter", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement filter; - @XmlElementRef(name = "includeAllowableActions", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "includeAllowableActions", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement includeAllowableActions; - @XmlElementRef(name = "includeRelationships", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) - protected JAXBElement includeRelationships; + @XmlElementRef(name = "includeRelationships", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) + protected JAXBElement includeRelationships; /** * Gets the value of the repositoryId property. @@ -184,10 +184,10 @@ public class GetProperties { * * @return * possible object is - * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >} * */ - public JAXBElement getIncludeRelationships() { + public JAXBElement getIncludeRelationships() { return includeRelationships; } @@ -196,11 +196,11 @@ public class GetProperties { * * @param value * allowed object is - * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >} * */ - public void setIncludeRelationships(JAXBElement value) { - this.includeRelationships = ((JAXBElement ) value); + public void setIncludeRelationships(JAXBElement value) { + this.includeRelationships = ((JAXBElement ) value); } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetPropertiesOfLatestVersion.java b/source/generated/org/alfresco/repo/cmis/ws/GetPropertiesOfLatestVersion.java index 005ea25aee..ca51eed5c4 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/GetPropertiesOfLatestVersion.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetPropertiesOfLatestVersion.java @@ -47,7 +47,7 @@ public class GetPropertiesOfLatestVersion { @XmlElement(required = true) protected String versionSeriesId; protected boolean majorVersion; - @XmlElementRef(name = "filter", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "filter", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement filter; /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetPropertiesOfLatestVersionResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetPropertiesOfLatestVersionResponse.java index c4f09a659c..1c60d18098 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/GetPropertiesOfLatestVersionResponse.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetPropertiesOfLatestVersionResponse.java @@ -18,7 +18,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element ref="{http://www.cmis.org/2008/05}object"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}object"/> * </sequence> * </restriction> * </complexContent> @@ -34,7 +34,7 @@ import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "getPropertiesOfLatestVersionResponse") public class GetPropertiesOfLatestVersionResponse { - @XmlElement(required = true) + @XmlElement(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", required = true) protected CmisObjectType object; /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetPropertiesResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetPropertiesResponse.java index c3b14d7cbf..0682eda53e 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetPropertiesResponse.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetPropertiesResponse.java @@ -18,7 +18,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element ref="{http://www.cmis.org/2008/05}object"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}object"/> * </sequence> * </restriction> * </complexContent> @@ -34,7 +34,7 @@ import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "getPropertiesResponse") public class GetPropertiesResponse { - @XmlElement(required = true) + @XmlElement(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", required = true) protected CmisObjectType object; /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetRelationships.java b/source/generated/org/alfresco/repo/cmis/ws/GetRelationships.java index cd9acb1fa1..ef105fb547 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetRelationships.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetRelationships.java @@ -23,12 +23,12 @@ import javax.xml.bind.annotation.XmlType; * <sequence> * <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="objectId" type="{http://www.w3.org/2001/XMLSchema}string"/> - * <element name="direction" type="{http://www.cmis.org/2008/05}enumRelationshipDirection" minOccurs="0"/> + * <element name="direction" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumRelationshipDirection" minOccurs="0"/> * <element name="typeId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <element name="includeSubRelationshipTypes" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> * <element name="filter" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> * <element name="includeAllowableActions" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> - * <element name="includeRelationships" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> + * <element name="includeRelationships" type="{http://docs.oasis-open.org/ns/cmis/core/200901}enumIncludeRelationships" minOccurs="0"/> * <element name="maxItems" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/> * <element name="skipCount" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/> * </sequence> @@ -59,21 +59,21 @@ public class GetRelationships { protected String repositoryId; @XmlElement(required = true) protected String objectId; - @XmlElementRef(name = "direction", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "direction", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement direction; - @XmlElementRef(name = "typeId", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "typeId", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement typeId; - @XmlElementRef(name = "includeSubRelationshipTypes", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "includeSubRelationshipTypes", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement includeSubRelationshipTypes; - @XmlElementRef(name = "filter", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "filter", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement filter; - @XmlElementRef(name = "includeAllowableActions", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "includeAllowableActions", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement includeAllowableActions; - @XmlElementRef(name = "includeRelationships", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) - protected JAXBElement includeRelationships; - @XmlElementRef(name = "maxItems", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "includeRelationships", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) + protected JAXBElement includeRelationships; + @XmlElementRef(name = "maxItems", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement maxItems; - @XmlElementRef(name = "skipCount", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "skipCount", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement skipCount; /** @@ -249,10 +249,10 @@ public class GetRelationships { * * @return * possible object is - * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >} * */ - public JAXBElement getIncludeRelationships() { + public JAXBElement getIncludeRelationships() { return includeRelationships; } @@ -261,11 +261,11 @@ public class GetRelationships { * * @param value * allowed object is - * {@link JAXBElement }{@code <}{@link Boolean }{@code >} + * {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >} * */ - public void setIncludeRelationships(JAXBElement value) { - this.includeRelationships = ((JAXBElement ) value); + public void setIncludeRelationships(JAXBElement value) { + this.includeRelationships = ((JAXBElement ) value); } /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetRelationshipsResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetRelationshipsResponse.java index 9cbb191d0d..bebf688167 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetRelationshipsResponse.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetRelationshipsResponse.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @@ -19,7 +20,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element ref="{http://www.cmis.org/2008/05}object" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}object" maxOccurs="unbounded" minOccurs="0"/> * <element name="hasMoreItems" type="{http://www.w3.org/2001/XMLSchema}boolean"/> * </sequence> * </restriction> @@ -37,6 +38,7 @@ import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "getRelationshipsResponse") public class GetRelationshipsResponse { + @XmlElement(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") protected List object; protected boolean hasMoreItems; diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetRepositoriesResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetRepositoriesResponse.java index 37f7f33d5d..ac73e38ad3 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/GetRepositoriesResponse.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetRepositoriesResponse.java @@ -20,7 +20,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element name="repository" type="{http://www.cmis.org/2008/05}cmisRepositoryEntryType" maxOccurs="unbounded" minOccurs="0"/> + * <element name="repository" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisRepositoryEntryType" maxOccurs="unbounded" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetRepositoryInfoResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetRepositoryInfoResponse.java new file mode 100755 index 0000000000..8962c4d091 --- /dev/null +++ b/source/generated/org/alfresco/repo/cmis/ws/GetRepositoryInfoResponse.java @@ -0,0 +1,64 @@ + +package org.alfresco.repo.cmis.ws; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; + + +/** + *

Java class for anonymous complex type. + * + *

The following schema fragment specifies the expected content contained within this class. + * + *

+ * <complexType>
+ *   <complexContent>
+ *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       <sequence>
+ *         <element name="repositoryInfo" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisRepositoryInfoType"/>
+ *       </sequence>
+ *     </restriction>
+ *   </complexContent>
+ * </complexType>
+ * 
+ * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = { + "repositoryInfo" +}) +@XmlRootElement(name = "getRepositoryInfoResponse") +public class GetRepositoryInfoResponse { + + @XmlElement(required = true) + protected CmisRepositoryInfoType repositoryInfo; + + /** + * Gets the value of the repositoryInfo property. + * + * @return + * possible object is + * {@link CmisRepositoryInfoType } + * + */ + public CmisRepositoryInfoType getRepositoryInfo() { + return repositoryInfo; + } + + /** + * Sets the value of the repositoryInfo property. + * + * @param value + * allowed object is + * {@link CmisRepositoryInfoType } + * + */ + public void setRepositoryInfo(CmisRepositoryInfoType value) { + this.repositoryInfo = value; + } + +} diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetTypeDefinitionResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetTypeDefinitionResponse.java index adfbfc9e78..d27e7416f0 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetTypeDefinitionResponse.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetTypeDefinitionResponse.java @@ -1,10 +1,8 @@ package org.alfresco.repo.cmis.ws; -import javax.xml.bind.JAXBElement; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElementRef; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @@ -19,7 +17,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element ref="{http://www.cmis.org/2008/05}type" minOccurs="0"/> + * <element name="type" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisTypeDefinitionType" minOccurs="0"/> * </sequence> * </restriction> * </complexContent> @@ -35,22 +33,17 @@ import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "getTypeDefinitionResponse") public class GetTypeDefinitionResponse { - @XmlElementRef(name = "type", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) - protected JAXBElement type; + protected CmisTypeDefinitionType type; /** * Gets the value of the type property. * * @return * possible object is - * {@link JAXBElement }{@code <}{@link CmisTypeFolderDefinitionType }{@code >} - * {@link JAXBElement }{@code <}{@link CmisTypePolicyDefinitionType }{@code >} - * {@link JAXBElement }{@code <}{@link CmisTypeDocumentDefinitionType }{@code >} - * {@link JAXBElement }{@code <}{@link CmisTypeRelationshipDefinitionType }{@code >} - * {@link JAXBElement }{@code <}{@link CmisTypeDefinitionType }{@code >} + * {@link CmisTypeDefinitionType } * */ - public JAXBElement getType() { + public CmisTypeDefinitionType getType() { return type; } @@ -59,15 +52,11 @@ public class GetTypeDefinitionResponse { * * @param value * allowed object is - * {@link JAXBElement }{@code <}{@link CmisTypeFolderDefinitionType }{@code >} - * {@link JAXBElement }{@code <}{@link CmisTypePolicyDefinitionType }{@code >} - * {@link JAXBElement }{@code <}{@link CmisTypeDocumentDefinitionType }{@code >} - * {@link JAXBElement }{@code <}{@link CmisTypeRelationshipDefinitionType }{@code >} - * {@link JAXBElement }{@code <}{@link CmisTypeDefinitionType }{@code >} + * {@link CmisTypeDefinitionType } * */ - public void setType(JAXBElement value) { - this.type = ((JAXBElement ) value); + public void setType(CmisTypeDefinitionType value) { + this.type = value; } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetTypes.java b/source/generated/org/alfresco/repo/cmis/ws/GetTypes.java index d95bcfb87e..dd812154fa 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetTypes.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetTypes.java @@ -23,7 +23,7 @@ import javax.xml.bind.annotation.XmlType; * <sequence> * <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="typeId" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> - * <element name="returnPropertyDefinitions" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> + * <element name="includePropertyDefinitions" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> * <element name="maxItems" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/> * <element name="skipCount" type="{http://www.w3.org/2001/XMLSchema}integer" minOccurs="0"/> * </sequence> @@ -38,7 +38,7 @@ import javax.xml.bind.annotation.XmlType; @XmlType(name = "", propOrder = { "repositoryId", "typeId", - "returnPropertyDefinitions", + "includePropertyDefinitions", "maxItems", "skipCount" }) @@ -47,13 +47,13 @@ public class GetTypes { @XmlElement(required = true) protected String repositoryId; - @XmlElementRef(name = "typeId", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "typeId", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement typeId; - @XmlElementRef(name = "returnPropertyDefinitions", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) - protected JAXBElement returnPropertyDefinitions; - @XmlElementRef(name = "maxItems", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "includePropertyDefinitions", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) + protected JAXBElement includePropertyDefinitions; + @XmlElementRef(name = "maxItems", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement maxItems; - @XmlElementRef(name = "skipCount", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "skipCount", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement skipCount; /** @@ -105,27 +105,27 @@ public class GetTypes { } /** - * Gets the value of the returnPropertyDefinitions property. + * Gets the value of the includePropertyDefinitions property. * * @return * possible object is * {@link JAXBElement }{@code <}{@link Boolean }{@code >} * */ - public JAXBElement getReturnPropertyDefinitions() { - return returnPropertyDefinitions; + public JAXBElement getIncludePropertyDefinitions() { + return includePropertyDefinitions; } /** - * Sets the value of the returnPropertyDefinitions property. + * Sets the value of the includePropertyDefinitions property. * * @param value * allowed object is * {@link JAXBElement }{@code <}{@link Boolean }{@code >} * */ - public void setReturnPropertyDefinitions(JAXBElement value) { - this.returnPropertyDefinitions = ((JAXBElement ) value); + public void setIncludePropertyDefinitions(JAXBElement value) { + this.includePropertyDefinitions = ((JAXBElement ) value); } /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/GetTypesResponse.java b/source/generated/org/alfresco/repo/cmis/ws/GetTypesResponse.java index 50d5976719..795a454f45 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/GetTypesResponse.java +++ b/source/generated/org/alfresco/repo/cmis/ws/GetTypesResponse.java @@ -3,10 +3,8 @@ package org.alfresco.repo.cmis.ws; import java.util.ArrayList; import java.util.List; -import javax.xml.bind.JAXBElement; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElementRef; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @@ -21,7 +19,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element ref="{http://www.cmis.org/2008/05}type" maxOccurs="unbounded" minOccurs="0"/> + * <element name="type" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisTypeDefinitionType" maxOccurs="unbounded" minOccurs="0"/> * <element name="hasMoreItems" type="{http://www.w3.org/2001/XMLSchema}boolean"/> * </sequence> * </restriction> @@ -39,8 +37,7 @@ import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "getTypesResponse") public class GetTypesResponse { - @XmlElementRef(name = "type", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) - protected List> type; + protected List type; protected boolean hasMoreItems; /** @@ -61,17 +58,13 @@ public class GetTypesResponse { * *

* Objects of the following type(s) are allowed in the list - * {@link JAXBElement }{@code <}{@link CmisTypeFolderDefinitionType }{@code >} - * {@link JAXBElement }{@code <}{@link CmisTypePolicyDefinitionType }{@code >} - * {@link JAXBElement }{@code <}{@link CmisTypeDocumentDefinitionType }{@code >} - * {@link JAXBElement }{@code <}{@link CmisTypeRelationshipDefinitionType }{@code >} - * {@link JAXBElement }{@code <}{@link CmisTypeDefinitionType }{@code >} + * {@link CmisTypeDefinitionType } * * */ - public List> getType() { + public List getType() { if (type == null) { - type = new ArrayList>(); + type = new ArrayList(); } return this.type; } diff --git a/source/generated/org/alfresco/repo/cmis/ws/InvalidArgumentException.java b/source/generated/org/alfresco/repo/cmis/ws/InvalidArgumentException.java deleted file mode 100644 index 85aac0c4bc..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/InvalidArgumentException.java +++ /dev/null @@ -1,45 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.ws.WebFault; - - -/** - * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:45:08 EEST 2008 - * Generated source version: 2.1.2 - * - */ - -@WebFault(name = "invalidArgumentException", targetNamespace = "http://www.cmis.org/2008/05") -public class InvalidArgumentException extends Exception { - public static final long serialVersionUID = 20080905134508L; - - private org.alfresco.repo.cmis.ws.InvalidArgumentExceptionType invalidArgumentException; - - public InvalidArgumentException() { - super(); - } - - public InvalidArgumentException(String message) { - super(message); - } - - public InvalidArgumentException(String message, Throwable cause) { - super(message, cause); - } - - public InvalidArgumentException(String message, org.alfresco.repo.cmis.ws.InvalidArgumentExceptionType invalidArgumentException) { - super(message); - this.invalidArgumentException = invalidArgumentException; - } - - public InvalidArgumentException(String message, org.alfresco.repo.cmis.ws.InvalidArgumentExceptionType invalidArgumentException, Throwable cause) { - super(message, cause); - this.invalidArgumentException = invalidArgumentException; - } - - public org.alfresco.repo.cmis.ws.InvalidArgumentExceptionType getFaultInfo() { - return this.invalidArgumentException; - } -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/InvalidArgumentExceptionType.java b/source/generated/org/alfresco/repo/cmis/ws/InvalidArgumentExceptionType.java deleted file mode 100755 index 0ad32d46f1..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/InvalidArgumentExceptionType.java +++ /dev/null @@ -1,32 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - - -/** - *

Java class for invalidArgumentExceptionType complex type. - * - *

The following schema fragment specifies the expected content contained within this class. - * - *

- * <complexType name="invalidArgumentExceptionType">
- *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisFaultType">
- *     </extension>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "invalidArgumentExceptionType") -public class InvalidArgumentExceptionType - extends CmisFaultType -{ - - -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/MoveObject.java b/source/generated/org/alfresco/repo/cmis/ws/MoveObject.java index 55ef7cab82..a79af106c8 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/MoveObject.java +++ b/source/generated/org/alfresco/repo/cmis/ws/MoveObject.java @@ -48,7 +48,7 @@ public class MoveObject { protected String objectId; @XmlElement(required = true) protected String targetFolderId; - @XmlElementRef(name = "sourceFolderId", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "sourceFolderId", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement sourceFolderId; /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/MultiFilingService.java b/source/generated/org/alfresco/repo/cmis/ws/MultiFilingService.java index 31c6598238..134b32a26c 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/MultiFilingService.java +++ b/source/generated/org/alfresco/repo/cmis/ws/MultiFilingService.java @@ -15,26 +15,26 @@ import javax.xml.ws.WebServiceFeature; /** * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:55 EEST 2008 + * Mon Apr 27 21:08:02 EEST 2009 * Generated source version: 2.1.2 * */ @WebServiceClient(name = "MultiFilingService", - wsdlLocation = "file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/MultiFilingService.wsdl", - targetNamespace = "http://www.cmis.org/2008/05") + wsdlLocation = "file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl", + targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901") public class MultiFilingService extends Service { public final static URL WSDL_LOCATION; - public final static QName SERVICE = new QName("http://www.cmis.org/2008/05", "MultiFilingService"); - public final static QName MultiFilingServicePort = new QName("http://www.cmis.org/2008/05", "MultiFilingServicePort"); + public final static QName SERVICE = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "MultiFilingService"); + public final static QName MultiFilingServicePort = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "MultiFilingServicePort"); static { URL url = null; try { - url = new URL("file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/MultiFilingService.wsdl"); + url = new URL("file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl"); } catch (MalformedURLException e) { - System.err.println("Can not initialize the default wsdl from file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/MultiFilingService.wsdl"); + System.err.println("Can not initialize the default wsdl from file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl"); // e.printStackTrace(); } WSDL_LOCATION = url; diff --git a/source/generated/org/alfresco/repo/cmis/ws/MultiFilingServicePort.java b/source/generated/org/alfresco/repo/cmis/ws/MultiFilingServicePort.java index 5ba99bfc0d..8cdd524d95 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/MultiFilingServicePort.java +++ b/source/generated/org/alfresco/repo/cmis/ws/MultiFilingServicePort.java @@ -9,36 +9,36 @@ import javax.xml.ws.ResponseWrapper; /** * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:55 EEST 2008 + * Mon Apr 27 21:08:02 EEST 2009 * Generated source version: 2.1.2 * */ -@WebService(targetNamespace = "http://www.cmis.org/2008/05", name = "MultiFilingServicePort") +@WebService(targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901", name = "MultiFilingServicePort") @XmlSeeAlso({ObjectFactory.class}) public interface MultiFilingServicePort { - @ResponseWrapper(localName = "removeObjectFromFolderResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.RemoveObjectFromFolderResponse") - @RequestWrapper(localName = "removeObjectFromFolder", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.RemoveObjectFromFolder") + @RequestWrapper(localName = "removeObjectFromFolder", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.RemoveObjectFromFolder") + @ResponseWrapper(localName = "removeObjectFromFolderResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.RemoveObjectFromFolderResponse") @WebMethod public void removeObjectFromFolder( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String repositoryId, - @WebParam(name = "objectId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "objectId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String objectId, - @WebParam(name = "folderId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "folderId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String folderId - ) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, FolderNotValidException, OperationNotSupportedException, NotInFolderException, InvalidArgumentException, RuntimeException, ConstraintViolationException; + ) throws CmisException; - @ResponseWrapper(localName = "addObjectToFolderResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.AddObjectToFolderResponse") - @RequestWrapper(localName = "addObjectToFolder", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.AddObjectToFolder") + @RequestWrapper(localName = "addObjectToFolder", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.AddObjectToFolder") + @ResponseWrapper(localName = "addObjectToFolderResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.AddObjectToFolderResponse") @WebMethod public void addObjectToFolder( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String repositoryId, - @WebParam(name = "objectId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "objectId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String objectId, - @WebParam(name = "folderId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "folderId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String folderId - ) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, FolderNotValidException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; + ) throws CmisException; } diff --git a/source/generated/org/alfresco/repo/cmis/ws/NavigationService.java b/source/generated/org/alfresco/repo/cmis/ws/NavigationService.java index ed6424a598..71cf740157 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/NavigationService.java +++ b/source/generated/org/alfresco/repo/cmis/ws/NavigationService.java @@ -15,26 +15,26 @@ import javax.xml.ws.WebServiceFeature; /** * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:47 EEST 2008 + * Mon Apr 27 21:08:02 EEST 2009 * Generated source version: 2.1.2 * */ @WebServiceClient(name = "NavigationService", - wsdlLocation = "file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/NavigationService.wsdl", - targetNamespace = "http://www.cmis.org/2008/05") + wsdlLocation = "file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl", + targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901") public class NavigationService extends Service { public final static URL WSDL_LOCATION; - public final static QName SERVICE = new QName("http://www.cmis.org/2008/05", "NavigationService"); - public final static QName NavigationServicePort = new QName("http://www.cmis.org/2008/05", "NavigationServicePort"); + public final static QName SERVICE = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "NavigationService"); + public final static QName NavigationServicePort = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "NavigationServicePort"); static { URL url = null; try { - url = new URL("file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/NavigationService.wsdl"); + url = new URL("file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl"); } catch (MalformedURLException e) { - System.err.println("Can not initialize the default wsdl from file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/NavigationService.wsdl"); + System.err.println("Can not initialize the default wsdl from file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl"); // e.printStackTrace(); } WSDL_LOCATION = url; diff --git a/source/generated/org/alfresco/repo/cmis/ws/NavigationServicePort.java b/source/generated/org/alfresco/repo/cmis/ws/NavigationServicePort.java index 1c4685a7ec..b61e509bf0 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/NavigationServicePort.java +++ b/source/generated/org/alfresco/repo/cmis/ws/NavigationServicePort.java @@ -10,48 +10,48 @@ import javax.xml.bind.annotation.XmlSeeAlso; /** * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:47 EEST 2008 + * Mon Apr 27 21:08:02 EEST 2009 * Generated source version: 2.1.2 * */ -@WebService(targetNamespace = "http://www.cmis.org/2008/05", name = "NavigationServicePort") +@WebService(targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901", name = "NavigationServicePort") @XmlSeeAlso({ObjectFactory.class}) @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) public interface NavigationServicePort { - @WebResult(name = "getCheckedoutDocsResponse", targetNamespace = "http://www.cmis.org/2008/05", partName = "parameters") - @WebMethod - public GetCheckedoutDocsResponse getCheckedoutDocs( - @WebParam(partName = "parameters", name = "getCheckedoutDocs", targetNamespace = "http://www.cmis.org/2008/05") - GetCheckedoutDocs parameters - ) throws PermissionDeniedException, UpdateConflictException, FilterNotValidException, ObjectNotFoundException, FolderNotValidException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; - - @WebResult(name = "getChildrenResponse", targetNamespace = "http://www.cmis.org/2008/05", partName = "parameters") - @WebMethod - public GetChildrenResponse getChildren( - @WebParam(partName = "parameters", name = "getChildren", targetNamespace = "http://www.cmis.org/2008/05") - GetChildren parameters - ) throws PermissionDeniedException, UpdateConflictException, FilterNotValidException, ObjectNotFoundException, FolderNotValidException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; - - @WebResult(name = "getObjectParentsResponse", targetNamespace = "http://www.cmis.org/2008/05", partName = "parameters") - @WebMethod - public GetObjectParentsResponse getObjectParents( - @WebParam(partName = "parameters", name = "getObjectParents", targetNamespace = "http://www.cmis.org/2008/05") - GetObjectParents parameters - ) throws PermissionDeniedException, UpdateConflictException, FilterNotValidException, ObjectNotFoundException, FolderNotValidException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; - - @WebResult(name = "getFolderParentResponse", targetNamespace = "http://www.cmis.org/2008/05", partName = "parameters") + @WebResult(name = "getFolderParentResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", partName = "parameters") @WebMethod public GetFolderParentResponse getFolderParent( - @WebParam(partName = "parameters", name = "getFolderParent", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(partName = "parameters", name = "getFolderParent", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") GetFolderParent parameters - ) throws PermissionDeniedException, UpdateConflictException, FilterNotValidException, ObjectNotFoundException, FolderNotValidException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; + ) throws CmisException; - @WebResult(name = "getDescendantsResponse", targetNamespace = "http://www.cmis.org/2008/05", partName = "parameters") + @WebResult(name = "getObjectParentsResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", partName = "parameters") + @WebMethod + public GetObjectParentsResponse getObjectParents( + @WebParam(partName = "parameters", name = "getObjectParents", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + GetObjectParents parameters + ) throws CmisException; + + @WebResult(name = "getCheckedoutDocsResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", partName = "parameters") + @WebMethod + public GetCheckedoutDocsResponse getCheckedoutDocs( + @WebParam(partName = "parameters", name = "getCheckedoutDocs", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + GetCheckedoutDocs parameters + ) throws CmisException; + + @WebResult(name = "getDescendantsResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", partName = "parameters") @WebMethod public GetDescendantsResponse getDescendants( - @WebParam(partName = "parameters", name = "getDescendants", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(partName = "parameters", name = "getDescendants", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") GetDescendants parameters - ) throws PermissionDeniedException, UpdateConflictException, FilterNotValidException, ObjectNotFoundException, FolderNotValidException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; + ) throws CmisException; + + @WebResult(name = "getChildrenResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", partName = "parameters") + @WebMethod + public GetChildrenResponse getChildren( + @WebParam(partName = "parameters", name = "getChildren", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + GetChildren parameters + ) throws CmisException; } diff --git a/source/generated/org/alfresco/repo/cmis/ws/NotInFolderException.java b/source/generated/org/alfresco/repo/cmis/ws/NotInFolderException.java deleted file mode 100644 index ba51feda4f..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/NotInFolderException.java +++ /dev/null @@ -1,45 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.ws.WebFault; - - -/** - * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:55 EEST 2008 - * Generated source version: 2.1.2 - * - */ - -@WebFault(name = "notInFolderException", targetNamespace = "http://www.cmis.org/2008/05") -public class NotInFolderException extends Exception { - public static final long serialVersionUID = 20080905134455L; - - private org.alfresco.repo.cmis.ws.NotInFolderExceptionType notInFolderException; - - public NotInFolderException() { - super(); - } - - public NotInFolderException(String message) { - super(message); - } - - public NotInFolderException(String message, Throwable cause) { - super(message, cause); - } - - public NotInFolderException(String message, org.alfresco.repo.cmis.ws.NotInFolderExceptionType notInFolderException) { - super(message); - this.notInFolderException = notInFolderException; - } - - public NotInFolderException(String message, org.alfresco.repo.cmis.ws.NotInFolderExceptionType notInFolderException, Throwable cause) { - super(message, cause); - this.notInFolderException = notInFolderException; - } - - public org.alfresco.repo.cmis.ws.NotInFolderExceptionType getFaultInfo() { - return this.notInFolderException; - } -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/NotInFolderExceptionType.java b/source/generated/org/alfresco/repo/cmis/ws/NotInFolderExceptionType.java deleted file mode 100755 index c2559b9103..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/NotInFolderExceptionType.java +++ /dev/null @@ -1,32 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - - -/** - *

Java class for notInFolderExceptionType complex type. - * - *

The following schema fragment specifies the expected content contained within this class. - * - *

- * <complexType name="notInFolderExceptionType">
- *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisFaultType">
- *     </extension>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "notInFolderExceptionType") -public class NotInFolderExceptionType - extends CmisFaultType -{ - - -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/ObjectFactory.java b/source/generated/org/alfresco/repo/cmis/ws/ObjectFactory.java index fcd509e534..a4dfad6c82 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/ObjectFactory.java +++ b/source/generated/org/alfresco/repo/cmis/ws/ObjectFactory.java @@ -25,87 +25,74 @@ import javax.xml.namespace.QName; @XmlRegistry public class ObjectFactory { - private final static QName _UpdatePropertiesChangeToken_QNAME = new QName("http://www.cmis.org/2008/05", "changeToken"); - private final static QName _CreatePolicyFolderId_QNAME = new QName("http://www.cmis.org/2008/05", "folderId"); - private final static QName _CreateDocumentVersioningState_QNAME = new QName("http://www.cmis.org/2008/05", "versioningState"); - private final static QName _CreateDocumentContentStream_QNAME = new QName("http://www.cmis.org/2008/05", "contentStream"); - private final static QName _GetAllVersionsIncludeAllowableActions_QNAME = new QName("http://www.cmis.org/2008/05", "includeAllowableActions"); - private final static QName _GetAllVersionsFilter_QNAME = new QName("http://www.cmis.org/2008/05", "filter"); - private final static QName _GetAllVersionsIncludeRelationships_QNAME = new QName("http://www.cmis.org/2008/05", "includeRelationships"); - private final static QName _GetRelationshipsSkipCount_QNAME = new QName("http://www.cmis.org/2008/05", "skipCount"); - private final static QName _GetRelationshipsTypeId_QNAME = new QName("http://www.cmis.org/2008/05", "typeId"); - private final static QName _GetRelationshipsIncludeSubRelationshipTypes_QNAME = new QName("http://www.cmis.org/2008/05", "includeSubRelationshipTypes"); - private final static QName _GetRelationshipsDirection_QNAME = new QName("http://www.cmis.org/2008/05", "direction"); - private final static QName _GetRelationshipsMaxItems_QNAME = new QName("http://www.cmis.org/2008/05", "maxItems"); - private final static QName _PropertyStringDefinition_QNAME = new QName("http://www.cmis.org/2008/05", "propertyStringDefinition"); - private final static QName _PropertyXml_QNAME = new QName("http://www.cmis.org/2008/05", "propertyXml"); - private final static QName _ChoiceDateTime_QNAME = new QName("http://www.cmis.org/2008/05", "choiceDateTime"); - private final static QName _Terminator_QNAME = new QName("http://www.cmis.org/2008/05", "terminator"); - private final static QName _Object_QNAME = new QName("http://www.cmis.org/2008/05", "object"); - private final static QName _ObjectNotFoundException_QNAME = new QName("http://www.cmis.org/2008/05", "objectNotFoundException"); - private final static QName _HasMoreItems_QNAME = new QName("http://www.cmis.org/2008/05", "hasMoreItems"); - private final static QName _ChoiceBoolean_QNAME = new QName("http://www.cmis.org/2008/05", "choiceBoolean"); - private final static QName _PropertyDecimal_QNAME = new QName("http://www.cmis.org/2008/05", "propertyDecimal"); - private final static QName _PropertyDefinition_QNAME = new QName("http://www.cmis.org/2008/05", "propertyDefinition"); - private final static QName _ChoiceHtml_QNAME = new QName("http://www.cmis.org/2008/05", "choiceHtml"); - private final static QName _ConstraintViolationException_QNAME = new QName("http://www.cmis.org/2008/05", "constraintViolationException"); - private final static QName _OperationNotSupportedException_QNAME = new QName("http://www.cmis.org/2008/05", "operationNotSupportedException"); - private final static QName _TypeNotFoundException_QNAME = new QName("http://www.cmis.org/2008/05", "typeNotFoundException"); - private final static QName _FolderNotValidException_QNAME = new QName("http://www.cmis.org/2008/05", "folderNotValidException"); - private final static QName _DocumentType_QNAME = new QName("http://www.cmis.org/2008/05", "documentType"); - private final static QName _Type_QNAME = new QName("http://www.cmis.org/2008/05", "type"); - private final static QName _ChoiceInteger_QNAME = new QName("http://www.cmis.org/2008/05", "choiceInteger"); - private final static QName _InvalidArgumentException_QNAME = new QName("http://www.cmis.org/2008/05", "invalidArgumentException"); - private final static QName _OffsetException_QNAME = new QName("http://www.cmis.org/2008/05", "offsetException"); - private final static QName _StorageException_QNAME = new QName("http://www.cmis.org/2008/05", "storageException"); - private final static QName _ChoiceDecimal_QNAME = new QName("http://www.cmis.org/2008/05", "choiceDecimal"); - private final static QName _RelationshipType_QNAME = new QName("http://www.cmis.org/2008/05", "relationshipType"); - private final static QName _AllowableActions_QNAME = new QName("http://www.cmis.org/2008/05", "allowableActions"); - private final static QName _ChoiceString_QNAME = new QName("http://www.cmis.org/2008/05", "choiceString"); - private final static QName _FolderType_QNAME = new QName("http://www.cmis.org/2008/05", "folderType"); - private final static QName _VersioningException_QNAME = new QName("http://www.cmis.org/2008/05", "versioningException"); - private final static QName _ChoiceId_QNAME = new QName("http://www.cmis.org/2008/05", "choiceId"); - private final static QName _Query_QNAME = new QName("http://www.cmis.org/2008/05", "query"); - private final static QName _ChoiceUri_QNAME = new QName("http://www.cmis.org/2008/05", "choiceUri"); - private final static QName _PropertyBoolean_QNAME = new QName("http://www.cmis.org/2008/05", "propertyBoolean"); - private final static QName _PropertyDecimalDefinition_QNAME = new QName("http://www.cmis.org/2008/05", "propertyDecimalDefinition"); - private final static QName _PolicyType_QNAME = new QName("http://www.cmis.org/2008/05", "policyType"); - private final static QName _PropertyInteger_QNAME = new QName("http://www.cmis.org/2008/05", "propertyInteger"); - private final static QName _PropertyBooleanDefinition_QNAME = new QName("http://www.cmis.org/2008/05", "propertyBooleanDefinition"); - private final static QName _PropertyString_QNAME = new QName("http://www.cmis.org/2008/05", "propertyString"); - private final static QName _PropertyIdDefinition_QNAME = new QName("http://www.cmis.org/2008/05", "propertyIdDefinition"); - private final static QName _GetRepositoryInfoResponse_QNAME = new QName("http://www.cmis.org/2008/05", "getRepositoryInfoResponse"); - private final static QName _PropertyUriDefinition_QNAME = new QName("http://www.cmis.org/2008/05", "propertyUriDefinition"); - private final static QName _PropertyDateTime_QNAME = new QName("http://www.cmis.org/2008/05", "propertyDateTime"); - private final static QName _RepositoryInfo_QNAME = new QName("http://www.cmis.org/2008/05", "repositoryInfo"); - private final static QName _ContentAlreadyExistsException_QNAME = new QName("http://www.cmis.org/2008/05", "contentAlreadyExistsException"); - private final static QName _UpdateConflictException_QNAME = new QName("http://www.cmis.org/2008/05", "updateConflictException"); - private final static QName _Choice_QNAME = new QName("http://www.cmis.org/2008/05", "choice"); - private final static QName _PropertyXmlDefinition_QNAME = new QName("http://www.cmis.org/2008/05", "propertyXmlDefinition"); - private final static QName _PermissionDeniedException_QNAME = new QName("http://www.cmis.org/2008/05", "permissionDeniedException"); - private final static QName _ChoiceXml_QNAME = new QName("http://www.cmis.org/2008/05", "choiceXml"); - private final static QName _NotInFolderException_QNAME = new QName("http://www.cmis.org/2008/05", "notInFolderException"); - private final static QName _StreamNotSupportedException_QNAME = new QName("http://www.cmis.org/2008/05", "streamNotSupportedException"); - private final static QName _Property_QNAME = new QName("http://www.cmis.org/2008/05", "property"); - private final static QName _FilterNotValidException_QNAME = new QName("http://www.cmis.org/2008/05", "filterNotValidException"); - private final static QName _PropertyHtmlDefinition_QNAME = new QName("http://www.cmis.org/2008/05", "propertyHtmlDefinition"); - private final static QName _PropertyUri_QNAME = new QName("http://www.cmis.org/2008/05", "propertyUri"); - private final static QName _PropertyDateTimeDefinition_QNAME = new QName("http://www.cmis.org/2008/05", "propertyDateTimeDefinition"); - private final static QName _PropertyHtml_QNAME = new QName("http://www.cmis.org/2008/05", "propertyHtml"); - private final static QName _PropertyId_QNAME = new QName("http://www.cmis.org/2008/05", "propertyId"); - private final static QName _RuntimeException_QNAME = new QName("http://www.cmis.org/2008/05", "runtimeException"); - private final static QName _PropertyIntegerDefinition_QNAME = new QName("http://www.cmis.org/2008/05", "propertyIntegerDefinition"); - private final static QName _DeleteTreeContinueOnFailure_QNAME = new QName("http://www.cmis.org/2008/05", "continueOnFailure"); - private final static QName _CheckInProperties_QNAME = new QName("http://www.cmis.org/2008/05", "properties"); - private final static QName _CheckInMajor_QNAME = new QName("http://www.cmis.org/2008/05", "major"); - private final static QName _CheckInCheckinComment_QNAME = new QName("http://www.cmis.org/2008/05", "checkinComment"); - private final static QName _GetDescendantsDepth_QNAME = new QName("http://www.cmis.org/2008/05", "depth"); - private final static QName _GetTypesReturnPropertyDefinitions_QNAME = new QName("http://www.cmis.org/2008/05", "returnPropertyDefinitions"); - private final static QName _GetCheckedoutDocsFolderID_QNAME = new QName("http://www.cmis.org/2008/05", "folderID"); - private final static QName _GetPropertiesReturnVersion_QNAME = new QName("http://www.cmis.org/2008/05", "returnVersion"); - private final static QName _SetContentStreamOverwriteFlag_QNAME = new QName("http://www.cmis.org/2008/05", "overwriteFlag"); - private final static QName _MoveObjectSourceFolderId_QNAME = new QName("http://www.cmis.org/2008/05", "sourceFolderId"); - private final static QName _GetFolderParentReturnToRoot_QNAME = new QName("http://www.cmis.org/2008/05", "returnToRoot"); + private final static QName _ChoiceDateTime_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "choiceDateTime"); + private final static QName _AllowableActions_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "allowableActions"); + private final static QName _DocumentType_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "documentType"); + private final static QName _PropertyUriDefinition_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyUriDefinition"); + private final static QName _ChoiceDecimal_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "choiceDecimal"); + private final static QName _ChoiceString_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "choiceString"); + private final static QName _Query_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "query"); + private final static QName _PropertyHtml_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyHtml"); + private final static QName _Choice_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "choice"); + private final static QName _Object_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "object"); + private final static QName _RepositoryInfo_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "repositoryInfo"); + private final static QName _PropertyDecimal_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyDecimal"); + private final static QName _Type_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "type"); + private final static QName _PropertyHtmlDefinition_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyHtmlDefinition"); + private final static QName _RelationshipType_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "relationshipType"); + private final static QName _PropertyStringDefinition_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyStringDefinition"); + private final static QName _ChoiceXml_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "choiceXml"); + private final static QName _PropertyId_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyId"); + private final static QName _ChoiceUri_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "choiceUri"); + private final static QName _ChoiceInteger_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "choiceInteger"); + private final static QName _PropertyIntegerDefinition_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyIntegerDefinition"); + private final static QName _HasMoreItems_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "hasMoreItems"); + private final static QName _ChoiceBoolean_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "choiceBoolean"); + private final static QName _PropertyIdDefinition_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyIdDefinition"); + private final static QName _PropertyXmlDefinition_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyXmlDefinition"); + private final static QName _PropertyDateTime_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyDateTime"); + private final static QName _CmisFault_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "cmisFault"); + private final static QName _PropertyBooleanDefinition_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyBooleanDefinition"); + private final static QName _Terminator_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "terminator"); + private final static QName _FolderType_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "folderType"); + private final static QName _Property_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "property"); + private final static QName _PropertyDefinition_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyDefinition"); + private final static QName _PropertyXml_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyXml"); + private final static QName _PolicyType_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "policyType"); + private final static QName _PropertyBoolean_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyBoolean"); + private final static QName _PropertyString_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyString"); + private final static QName _PropertyUri_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyUri"); + private final static QName _PropertyDecimalDefinition_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyDecimalDefinition"); + private final static QName _ChoiceId_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "choiceId"); + private final static QName _ChoiceHtml_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "choiceHtml"); + private final static QName _PropertyDateTimeDefinition_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyDateTimeDefinition"); + private final static QName _PropertyInteger_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/core/200901", "propertyInteger"); + private final static QName _RemoveObjectFromFolderFolderId_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "folderId"); + private final static QName _GetDescendantsFilter_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "filter"); + private final static QName _GetDescendantsDepth_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "depth"); + private final static QName _GetDescendantsIncludeRelationships_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "includeRelationships"); + private final static QName _GetDescendantsIncludeAllowableActions_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "includeAllowableActions"); + private final static QName _GetPropertiesReturnVersion_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "returnVersion"); + private final static QName _GetContentChangesIncludeProperties_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "includeProperties"); + private final static QName _GetContentChangesIncludeACL_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "includeACL"); + private final static QName _GetContentChangesMaxItems_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "maxItems"); + private final static QName _DeleteTreeContinueOnFailure_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "continueOnFailure"); + private final static QName _SetContentStreamOverwriteFlag_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "overwriteFlag"); + private final static QName _GetTypesIncludePropertyDefinitions_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "includePropertyDefinitions"); + private final static QName _GetTypesSkipCount_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "skipCount"); + private final static QName _GetTypesTypeId_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "typeId"); + private final static QName _CreateDocumentContentStream_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "contentStream"); + private final static QName _CreateDocumentVersioningState_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "versioningState"); + private final static QName _GetFolderParentReturnToRoot_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "returnToRoot"); + private final static QName _MoveObjectSourceFolderId_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "sourceFolderId"); + private final static QName _GetChildrenType_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "type"); + private final static QName _GetRelationshipsIncludeSubRelationshipTypes_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "includeSubRelationshipTypes"); + private final static QName _GetRelationshipsDirection_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "direction"); + private final static QName _UpdatePropertiesChangeToken_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "changeToken"); + private final static QName _CheckInProperties_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "properties"); + private final static QName _CheckInMajor_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "major"); + private final static QName _CheckInCheckinComment_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "checkinComment"); + private final static QName _GetCheckedoutDocsOrderBy_QNAME = new QName("http://docs.oasis-open.org/ns/cmis/messaging/200901", "orderBy"); /** * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.alfresco.repo.cmis.ws @@ -115,19 +102,27 @@ public class ObjectFactory { } /** - * Create an instance of {@link GetAllowableActionsResponse } + * Create an instance of {@link CmisChoiceXmlType } * */ - public GetAllowableActionsResponse createGetAllowableActionsResponse() { - return new GetAllowableActionsResponse(); + public CmisChoiceXmlType createCmisChoiceXmlType() { + return new CmisChoiceXmlType(); } /** - * Create an instance of {@link GetPropertiesOfLatestVersionResponse } + * Create an instance of {@link GetProperties } * */ - public GetPropertiesOfLatestVersionResponse createGetPropertiesOfLatestVersionResponse() { - return new GetPropertiesOfLatestVersionResponse(); + public GetProperties createGetProperties() { + return new GetProperties(); + } + + /** + * Create an instance of {@link CancelCheckOut } + * + */ + public CancelCheckOut createCancelCheckOut() { + return new CancelCheckOut(); } /** @@ -139,99 +134,243 @@ public class ObjectFactory { } /** - * Create an instance of {@link DeleteTree } + * Create an instance of {@link GetAllVersionsResponse } * */ - public DeleteTree createDeleteTree() { - return new DeleteTree(); + public GetAllVersionsResponse createGetAllVersionsResponse() { + return new GetAllVersionsResponse(); } /** - * Create an instance of {@link CmisPropertyStringDefinitionType } + * Create an instance of {@link GetCheckedoutDocsResponse } * */ - public CmisPropertyStringDefinitionType createCmisPropertyStringDefinitionType() { - return new CmisPropertyStringDefinitionType(); + public GetCheckedoutDocsResponse createGetCheckedoutDocsResponse() { + return new GetCheckedoutDocsResponse(); } /** - * Create an instance of {@link ApplyPolicyResponse } + * Create an instance of {@link CmisChoiceBooleanType } * */ - public ApplyPolicyResponse createApplyPolicyResponse() { - return new ApplyPolicyResponse(); + public CmisChoiceBooleanType createCmisChoiceBooleanType() { + return new CmisChoiceBooleanType(); } /** - * Create an instance of {@link DeleteAllVersions } + * Create an instance of {@link CmisPropertyXml.Value } * */ - public DeleteAllVersions createDeleteAllVersions() { - return new DeleteAllVersions(); + public CmisPropertyXml.Value createCmisPropertyXmlValue() { + return new CmisPropertyXml.Value(); } /** - * Create an instance of {@link CmisPropertyUriDefinitionType } + * Create an instance of {@link CmisTypePolicyDefinitionType } * */ - public CmisPropertyUriDefinitionType createCmisPropertyUriDefinitionType() { - return new CmisPropertyUriDefinitionType(); + public CmisTypePolicyDefinitionType createCmisTypePolicyDefinitionType() { + return new CmisTypePolicyDefinitionType(); } /** - * Create an instance of {@link RemoveObjectFromFolderResponse } + * Create an instance of {@link CmisPropertyIdDefinitionType } * */ - public RemoveObjectFromFolderResponse createRemoveObjectFromFolderResponse() { - return new RemoveObjectFromFolderResponse(); + public CmisPropertyIdDefinitionType createCmisPropertyIdDefinitionType() { + return new CmisPropertyIdDefinitionType(); } /** - * Create an instance of {@link CmisPropertyBoolean } + * Create an instance of {@link GetObjectParents } * */ - public CmisPropertyBoolean createCmisPropertyBoolean() { - return new CmisPropertyBoolean(); + public GetObjectParents createGetObjectParents() { + return new GetObjectParents(); } /** - * Create an instance of {@link CreatePolicy } + * Create an instance of {@link GetContentChangesResponse } * */ - public CreatePolicy createCreatePolicy() { - return new CreatePolicy(); + public GetContentChangesResponse createGetContentChangesResponse() { + return new GetContentChangesResponse(); } /** - * Create an instance of {@link CmisRepositoryEntryType } + * Create an instance of {@link CheckInResponse } * */ - public CmisRepositoryEntryType createCmisRepositoryEntryType() { - return new CmisRepositoryEntryType(); + public CheckInResponse createCheckInResponse() { + return new CheckInResponse(); } /** - * Create an instance of {@link DeleteTreeResponse.FailedToDelete } + * Create an instance of {@link GetContentStream } * */ - public DeleteTreeResponse.FailedToDelete createDeleteTreeResponseFailedToDelete() { - return new DeleteTreeResponse.FailedToDelete(); + public GetContentStream createGetContentStream() { + return new GetContentStream(); } /** - * Create an instance of {@link CreateFolderResponse } + * Create an instance of {@link CmisAccessControlEntryType } * */ - public CreateFolderResponse createCreateFolderResponse() { - return new CreateFolderResponse(); + public CmisAccessControlEntryType createCmisAccessControlEntryType() { + return new CmisAccessControlEntryType(); } /** - * Create an instance of {@link CmisRepositoryInfoType } + * Create an instance of {@link GetContentChanges } * */ - public CmisRepositoryInfoType createCmisRepositoryInfoType() { - return new CmisRepositoryInfoType(); + public GetContentChanges createGetContentChanges() { + return new GetContentChanges(); + } + + /** + * Create an instance of {@link CmisPropertyHtml } + * + */ + public CmisPropertyHtml createCmisPropertyHtml() { + return new CmisPropertyHtml(); + } + + /** + * Create an instance of {@link GetRepositoriesResponse } + * + */ + public GetRepositoriesResponse createGetRepositoriesResponse() { + return new GetRepositoriesResponse(); + } + + /** + * Create an instance of {@link CmisPropertyDecimal } + * + */ + public CmisPropertyDecimal createCmisPropertyDecimal() { + return new CmisPropertyDecimal(); + } + + /** + * Create an instance of {@link CheckOut } + * + */ + public CheckOut createCheckOut() { + return new CheckOut(); + } + + /** + * Create an instance of {@link GetFolderParentResponse } + * + */ + public GetFolderParentResponse createGetFolderParentResponse() { + return new GetFolderParentResponse(); + } + + /** + * Create an instance of {@link CmisChoiceStringType } + * + */ + public CmisChoiceStringType createCmisChoiceStringType() { + return new CmisChoiceStringType(); + } + + /** + * Create an instance of {@link CmisChoiceUriType } + * + */ + public CmisChoiceUriType createCmisChoiceUriType() { + return new CmisChoiceUriType(); + } + + /** + * Create an instance of {@link GetChildren } + * + */ + public GetChildren createGetChildren() { + return new GetChildren(); + } + + /** + * Create an instance of {@link CmisPropertyHtml.Value } + * + */ + public CmisPropertyHtml.Value createCmisPropertyHtmlValue() { + return new CmisPropertyHtml.Value(); + } + + /** + * Create an instance of {@link CmisPropertiesType } + * + */ + public CmisPropertiesType createCmisPropertiesType() { + return new CmisPropertiesType(); + } + + /** + * Create an instance of {@link UpdateProperties } + * + */ + public UpdateProperties createUpdateProperties() { + return new UpdateProperties(); + } + + /** + * Create an instance of {@link CmisChoiceHtmlType } + * + */ + public CmisChoiceHtmlType createCmisChoiceHtmlType() { + return new CmisChoiceHtmlType(); + } + + /** + * Create an instance of {@link CheckIn } + * + */ + public CheckIn createCheckIn() { + return new CheckIn(); + } + + /** + * Create an instance of {@link DeleteObject } + * + */ + public DeleteObject createDeleteObject() { + return new DeleteObject(); + } + + /** + * Create an instance of {@link CmisTypeDocumentDefinitionType } + * + */ + public CmisTypeDocumentDefinitionType createCmisTypeDocumentDefinitionType() { + return new CmisTypeDocumentDefinitionType(); + } + + /** + * Create an instance of {@link CmisChangedObjectType } + * + */ + public CmisChangedObjectType createCmisChangedObjectType() { + return new CmisChangedObjectType(); + } + + /** + * Create an instance of {@link CmisRepositoryCapabilitiesType } + * + */ + public CmisRepositoryCapabilitiesType createCmisRepositoryCapabilitiesType() { + return new CmisRepositoryCapabilitiesType(); + } + + /** + * Create an instance of {@link CmisPropertyBooleanDefinitionType } + * + */ + public CmisPropertyBooleanDefinitionType createCmisPropertyBooleanDefinitionType() { + return new CmisPropertyBooleanDefinitionType(); } /** @@ -242,6 +381,334 @@ public class ObjectFactory { return new CmisPropertyUri(); } + /** + * Create an instance of {@link DeleteAllVersionsResponse } + * + */ + public DeleteAllVersionsResponse createDeleteAllVersionsResponse() { + return new DeleteAllVersionsResponse(); + } + + /** + * Create an instance of {@link GetRepositoryInfoResponse } + * + */ + public GetRepositoryInfoResponse createGetRepositoryInfoResponse() { + return new GetRepositoryInfoResponse(); + } + + /** + * Create an instance of {@link DeleteObjectResponse } + * + */ + public DeleteObjectResponse createDeleteObjectResponse() { + return new DeleteObjectResponse(); + } + + /** + * Create an instance of {@link CmisPropertyIntegerDefinitionType } + * + */ + public CmisPropertyIntegerDefinitionType createCmisPropertyIntegerDefinitionType() { + return new CmisPropertyIntegerDefinitionType(); + } + + /** + * Create an instance of {@link GetRelationshipsResponse } + * + */ + public GetRelationshipsResponse createGetRelationshipsResponse() { + return new GetRelationshipsResponse(); + } + + /** + * Create an instance of {@link CmisPermissionSetType } + * + */ + public CmisPermissionSetType createCmisPermissionSetType() { + return new CmisPermissionSetType(); + } + + /** + * Create an instance of {@link GetAllowableActions } + * + */ + public GetAllowableActions createGetAllowableActions() { + return new GetAllowableActions(); + } + + /** + * Create an instance of {@link MoveObjectResponse } + * + */ + public MoveObjectResponse createMoveObjectResponse() { + return new MoveObjectResponse(); + } + + /** + * Create an instance of {@link CmisChoiceIdType } + * + */ + public CmisChoiceIdType createCmisChoiceIdType() { + return new CmisChoiceIdType(); + } + + /** + * Create an instance of {@link GetRelationships } + * + */ + public GetRelationships createGetRelationships() { + return new GetRelationships(); + } + + /** + * Create an instance of {@link DeleteTreeResponse.FailedToDelete } + * + */ + public DeleteTreeResponse.FailedToDelete createDeleteTreeResponseFailedToDelete() { + return new DeleteTreeResponse.FailedToDelete(); + } + + /** + * Create an instance of {@link CmisPropertyUriDefinitionType } + * + */ + public CmisPropertyUriDefinitionType createCmisPropertyUriDefinitionType() { + return new CmisPropertyUriDefinitionType(); + } + + /** + * Create an instance of {@link ObjectTreeCollectionType } + * + */ + public ObjectTreeCollectionType createObjectTreeCollectionType() { + return new ObjectTreeCollectionType(); + } + + /** + * Create an instance of {@link CreateFolderResponse } + * + */ + public CreateFolderResponse createCreateFolderResponse() { + return new CreateFolderResponse(); + } + + /** + * Create an instance of {@link CmisObjectType } + * + */ + public CmisObjectType createCmisObjectType() { + return new CmisObjectType(); + } + + /** + * Create an instance of {@link CmisRepositoryInfoType } + * + */ + public CmisRepositoryInfoType createCmisRepositoryInfoType() { + return new CmisRepositoryInfoType(); + } + + /** + * Create an instance of {@link GetCheckedoutDocs } + * + */ + public GetCheckedoutDocs createGetCheckedoutDocs() { + return new GetCheckedoutDocs(); + } + + /** + * Create an instance of {@link CreateFolder } + * + */ + public CreateFolder createCreateFolder() { + return new CreateFolder(); + } + + /** + * Create an instance of {@link SetContentStream } + * + */ + public SetContentStream createSetContentStream() { + return new SetContentStream(); + } + + /** + * Create an instance of {@link CreateDocument } + * + */ + public CreateDocument createCreateDocument() { + return new CreateDocument(); + } + + /** + * Create an instance of {@link QueryResponse } + * + */ + public QueryResponse createQueryResponse() { + return new QueryResponse(); + } + + /** + * Create an instance of {@link CmisPropertyStringDefinitionType } + * + */ + public CmisPropertyStringDefinitionType createCmisPropertyStringDefinitionType() { + return new CmisPropertyStringDefinitionType(); + } + + /** + * Create an instance of {@link GetChildrenResponse } + * + */ + public GetChildrenResponse createGetChildrenResponse() { + return new GetChildrenResponse(); + } + + /** + * Create an instance of {@link CreatePolicyResponse } + * + */ + public CreatePolicyResponse createCreatePolicyResponse() { + return new CreatePolicyResponse(); + } + + /** + * Create an instance of {@link CmisAccessControlPrincipalType } + * + */ + public CmisAccessControlPrincipalType createCmisAccessControlPrincipalType() { + return new CmisAccessControlPrincipalType(); + } + + /** + * Create an instance of {@link DeleteContentStream } + * + */ + public DeleteContentStream createDeleteContentStream() { + return new DeleteContentStream(); + } + + /** + * Create an instance of {@link CmisPropertyDecimalDefinitionType } + * + */ + public CmisPropertyDecimalDefinitionType createCmisPropertyDecimalDefinitionType() { + return new CmisPropertyDecimalDefinitionType(); + } + + /** + * Create an instance of {@link AddObjectToFolder } + * + */ + public AddObjectToFolder createAddObjectToFolder() { + return new AddObjectToFolder(); + } + + /** + * Create an instance of {@link CmisPropertyString } + * + */ + public CmisPropertyString createCmisPropertyString() { + return new CmisPropertyString(); + } + + /** + * Create an instance of {@link AddObjectToFolderResponse } + * + */ + public AddObjectToFolderResponse createAddObjectToFolderResponse() { + return new AddObjectToFolderResponse(); + } + + /** + * Create an instance of {@link RemovePolicy } + * + */ + public RemovePolicy createRemovePolicy() { + return new RemovePolicy(); + } + + /** + * Create an instance of {@link GetAllowableActionsResponse } + * + */ + public GetAllowableActionsResponse createGetAllowableActionsResponse() { + return new GetAllowableActionsResponse(); + } + + /** + * Create an instance of {@link RemovePolicyResponse } + * + */ + public RemovePolicyResponse createRemovePolicyResponse() { + return new RemovePolicyResponse(); + } + + /** + * Create an instance of {@link DeleteContentStreamResponse } + * + */ + public DeleteContentStreamResponse createDeleteContentStreamResponse() { + return new DeleteContentStreamResponse(); + } + + /** + * Create an instance of {@link ApplyPolicy } + * + */ + public ApplyPolicy createApplyPolicy() { + return new ApplyPolicy(); + } + + /** + * Create an instance of {@link CmisPermissionDefinitionType } + * + */ + public CmisPermissionDefinitionType createCmisPermissionDefinitionType() { + return new CmisPermissionDefinitionType(); + } + + /** + * Create an instance of {@link CmisPropertyBoolean } + * + */ + public CmisPropertyBoolean createCmisPropertyBoolean() { + return new CmisPropertyBoolean(); + } + + /** + * Create an instance of {@link GetDescendantsResponse } + * + */ + public GetDescendantsResponse createGetDescendantsResponse() { + return new GetDescendantsResponse(); + } + + /** + * Create an instance of {@link CmisAccessControlListType } + * + */ + public CmisAccessControlListType createCmisAccessControlListType() { + return new CmisAccessControlListType(); + } + + /** + * Create an instance of {@link CancelCheckOutResponse } + * + */ + public CancelCheckOutResponse createCancelCheckOutResponse() { + return new CancelCheckOutResponse(); + } + + /** + * Create an instance of {@link GetAppliedPolicies } + * + */ + public GetAppliedPolicies createGetAppliedPolicies() { + return new GetAppliedPolicies(); + } + /** * Create an instance of {@link CmisChoiceDateTimeType } * @@ -251,11 +718,355 @@ public class ObjectFactory { } /** - * Create an instance of {@link CmisChoiceUriType } + * Create an instance of {@link GetAppliedPoliciesResponse } * */ - public CmisChoiceUriType createCmisChoiceUriType() { - return new CmisChoiceUriType(); + public GetAppliedPoliciesResponse createGetAppliedPoliciesResponse() { + return new GetAppliedPoliciesResponse(); + } + + /** + * Create an instance of {@link CmisAnyXml } + * + */ + public CmisAnyXml createCmisAnyXml() { + return new CmisAnyXml(); + } + + /** + * Create an instance of {@link CmisPropertyInteger } + * + */ + public CmisPropertyInteger createCmisPropertyInteger() { + return new CmisPropertyInteger(); + } + + /** + * Create an instance of {@link CmisPropertyXml } + * + */ + public CmisPropertyXml createCmisPropertyXml() { + return new CmisPropertyXml(); + } + + /** + * Create an instance of {@link MoveObject } + * + */ + public MoveObject createMoveObject() { + return new MoveObject(); + } + + /** + * Create an instance of {@link CmisChoiceHtmlType.Value } + * + */ + public CmisChoiceHtmlType.Value createCmisChoiceHtmlTypeValue() { + return new CmisChoiceHtmlType.Value(); + } + + /** + * Create an instance of {@link GetObjectParentsResponse } + * + */ + public GetObjectParentsResponse createGetObjectParentsResponse() { + return new GetObjectParentsResponse(); + } + + /** + * Create an instance of {@link CmisTypeRelationshipDefinitionType } + * + */ + public CmisTypeRelationshipDefinitionType createCmisTypeRelationshipDefinitionType() { + return new CmisTypeRelationshipDefinitionType(); + } + + /** + * Create an instance of {@link CmisChoiceDecimalType } + * + */ + public CmisChoiceDecimalType createCmisChoiceDecimalType() { + return new CmisChoiceDecimalType(); + } + + /** + * Create an instance of {@link DeleteAllVersions } + * + */ + public DeleteAllVersions createDeleteAllVersions() { + return new DeleteAllVersions(); + } + + /** + * Create an instance of {@link CreateDocumentResponse } + * + */ + public CreateDocumentResponse createCreateDocumentResponse() { + return new CreateDocumentResponse(); + } + + /** + * Create an instance of {@link RemoveObjectFromFolderResponse } + * + */ + public RemoveObjectFromFolderResponse createRemoveObjectFromFolderResponse() { + return new RemoveObjectFromFolderResponse(); + } + + /** + * Create an instance of {@link GetTypeDefinition } + * + */ + public GetTypeDefinition createGetTypeDefinition() { + return new GetTypeDefinition(); + } + + /** + * Create an instance of {@link RemoveObjectFromFolder } + * + */ + public RemoveObjectFromFolder createRemoveObjectFromFolder() { + return new RemoveObjectFromFolder(); + } + + /** + * Create an instance of {@link GetDescendants } + * + */ + public GetDescendants createGetDescendants() { + return new GetDescendants(); + } + + /** + * Create an instance of {@link GetPropertiesOfLatestVersionResponse } + * + */ + public GetPropertiesOfLatestVersionResponse createGetPropertiesOfLatestVersionResponse() { + return new GetPropertiesOfLatestVersionResponse(); + } + + /** + * Create an instance of {@link UpdatePropertiesResponse } + * + */ + public UpdatePropertiesResponse createUpdatePropertiesResponse() { + return new UpdatePropertiesResponse(); + } + + /** + * Create an instance of {@link GetPropertiesResponse } + * + */ + public GetPropertiesResponse createGetPropertiesResponse() { + return new GetPropertiesResponse(); + } + + /** + * Create an instance of {@link CmisContentStreamType } + * + */ + public CmisContentStreamType createCmisContentStreamType() { + return new CmisContentStreamType(); + } + + /** + * Create an instance of {@link CmisPropertyXmlDefinitionType } + * + */ + public CmisPropertyXmlDefinitionType createCmisPropertyXmlDefinitionType() { + return new CmisPropertyXmlDefinitionType(); + } + + /** + * Create an instance of {@link DeleteTreeResponse } + * + */ + public DeleteTreeResponse createDeleteTreeResponse() { + return new DeleteTreeResponse(); + } + + /** + * Create an instance of {@link ApplyPolicyResponse } + * + */ + public ApplyPolicyResponse createApplyPolicyResponse() { + return new ApplyPolicyResponse(); + } + + /** + * Create an instance of {@link SetContentStreamResponse } + * + */ + public SetContentStreamResponse createSetContentStreamResponse() { + return new SetContentStreamResponse(); + } + + /** + * Create an instance of {@link GetRepositories } + * + */ + public GetRepositories createGetRepositories() { + return new GetRepositories(); + } + + /** + * Create an instance of {@link GetFolderParent } + * + */ + public GetFolderParent createGetFolderParent() { + return new GetFolderParent(); + } + + /** + * Create an instance of {@link CreateRelationshipResponse } + * + */ + public CreateRelationshipResponse createCreateRelationshipResponse() { + return new CreateRelationshipResponse(); + } + + /** + * Create an instance of {@link CmisFaultType } + * + */ + public CmisFaultType createCmisFaultType() { + return new CmisFaultType(); + } + + /** + * Create an instance of {@link GetAllVersions } + * + */ + public GetAllVersions createGetAllVersions() { + return new GetAllVersions(); + } + + /** + * Create an instance of {@link GetTypeDefinitionResponse } + * + */ + public GetTypeDefinitionResponse createGetTypeDefinitionResponse() { + return new GetTypeDefinitionResponse(); + } + + /** + * Create an instance of {@link CreateRelationship } + * + */ + public CreateRelationship createCreateRelationship() { + return new CreateRelationship(); + } + + /** + * Create an instance of {@link CheckOutResponse } + * + */ + public CheckOutResponse createCheckOutResponse() { + return new CheckOutResponse(); + } + + /** + * Create an instance of {@link CmisRepositoryEntryType } + * + */ + public CmisRepositoryEntryType createCmisRepositoryEntryType() { + return new CmisRepositoryEntryType(); + } + + /** + * Create an instance of {@link GetRepositoryInfo } + * + */ + public GetRepositoryInfo createGetRepositoryInfo() { + return new GetRepositoryInfo(); + } + + /** + * Create an instance of {@link CmisTypeFolderDefinitionType } + * + */ + public CmisTypeFolderDefinitionType createCmisTypeFolderDefinitionType() { + return new CmisTypeFolderDefinitionType(); + } + + /** + * Create an instance of {@link CmisQueryType } + * + */ + public CmisQueryType createCmisQueryType() { + return new CmisQueryType(); + } + + /** + * Create an instance of {@link DeleteTree } + * + */ + public DeleteTree createDeleteTree() { + return new DeleteTree(); + } + + /** + * Create an instance of {@link GetTypes } + * + */ + public GetTypes createGetTypes() { + return new GetTypes(); + } + + /** + * Create an instance of {@link CreatePolicy } + * + */ + public CreatePolicy createCreatePolicy() { + return new CreatePolicy(); + } + + /** + * Create an instance of {@link GetContentStreamResponse } + * + */ + public GetContentStreamResponse createGetContentStreamResponse() { + return new GetContentStreamResponse(); + } + + /** + * Create an instance of {@link CmisPropertyDateTimeDefinitionType } + * + */ + public CmisPropertyDateTimeDefinitionType createCmisPropertyDateTimeDefinitionType() { + return new CmisPropertyDateTimeDefinitionType(); + } + + /** + * Create an instance of {@link CmisProperty } + * + */ + public CmisProperty createCmisProperty() { + return new CmisProperty(); + } + + /** + * Create an instance of {@link CmisTypeDefinitionType } + * + */ + public CmisTypeDefinitionType createCmisTypeDefinitionType() { + return new CmisTypeDefinitionType(); + } + + /** + * Create an instance of {@link CmisAllowableActionsType } + * + */ + public CmisAllowableActionsType createCmisAllowableActionsType() { + return new CmisAllowableActionsType(); + } + + /** + * Create an instance of {@link CmisPropertyDefinitionType } + * + */ + public CmisPropertyDefinitionType createCmisPropertyDefinitionType() { + return new CmisPropertyDefinitionType(); } /** @@ -275,195 +1086,11 @@ public class ObjectFactory { } /** - * Create an instance of {@link NotInFolderExceptionType } + * Create an instance of {@link CmisPropertyId } * */ - public NotInFolderExceptionType createNotInFolderExceptionType() { - return new NotInFolderExceptionType(); - } - - /** - * Create an instance of {@link RemovePolicy } - * - */ - public RemovePolicy createRemovePolicy() { - return new RemovePolicy(); - } - - /** - * Create an instance of {@link CmisPropertyDateTimeDefinitionType } - * - */ - public CmisPropertyDateTimeDefinitionType createCmisPropertyDateTimeDefinitionType() { - return new CmisPropertyDateTimeDefinitionType(); - } - - /** - * Create an instance of {@link CmisObjectType } - * - */ - public CmisObjectType createCmisObjectType() { - return new CmisObjectType(); - } - - /** - * Create an instance of {@link CmisChoiceStringType } - * - */ - public CmisChoiceStringType createCmisChoiceStringType() { - return new CmisChoiceStringType(); - } - - /** - * Create an instance of {@link SetContentStreamResponse } - * - */ - public SetContentStreamResponse createSetContentStreamResponse() { - return new SetContentStreamResponse(); - } - - /** - * Create an instance of {@link GetRelationships } - * - */ - public GetRelationships createGetRelationships() { - return new GetRelationships(); - } - - /** - * Create an instance of {@link CmisChoiceIdType } - * - */ - public CmisChoiceIdType createCmisChoiceIdType() { - return new CmisChoiceIdType(); - } - - /** - * Create an instance of {@link CmisProperty } - * - */ - public CmisProperty createCmisProperty() { - return new CmisProperty(); - } - - /** - * Create an instance of {@link CreateFolder } - * - */ - public CreateFolder createCreateFolder() { - return new CreateFolder(); - } - - /** - * Create an instance of {@link DeleteContentStream } - * - */ - public DeleteContentStream createDeleteContentStream() { - return new DeleteContentStream(); - } - - /** - * Create an instance of {@link CmisQueryType } - * - */ - public CmisQueryType createCmisQueryType() { - return new CmisQueryType(); - } - - /** - * Create an instance of {@link CmisPropertyXmlDefinitionType } - * - */ - public CmisPropertyXmlDefinitionType createCmisPropertyXmlDefinitionType() { - return new CmisPropertyXmlDefinitionType(); - } - - /** - * Create an instance of {@link GetAllowableActions } - * - */ - public GetAllowableActions createGetAllowableActions() { - return new GetAllowableActions(); - } - - /** - * Create an instance of {@link StreamNotSupportedExceptionType } - * - */ - public StreamNotSupportedExceptionType createStreamNotSupportedExceptionType() { - return new StreamNotSupportedExceptionType(); - } - - /** - * Create an instance of {@link CmisChoiceHtmlType } - * - */ - public CmisChoiceHtmlType createCmisChoiceHtmlType() { - return new CmisChoiceHtmlType(); - } - - /** - * Create an instance of {@link GetFolderParentResponse } - * - */ - public GetFolderParentResponse createGetFolderParentResponse() { - return new GetFolderParentResponse(); - } - - /** - * Create an instance of {@link MoveObject } - * - */ - public MoveObject createMoveObject() { - return new MoveObject(); - } - - /** - * Create an instance of {@link CmisPropertyDefinitionType } - * - */ - public CmisPropertyDefinitionType createCmisPropertyDefinitionType() { - return new CmisPropertyDefinitionType(); - } - - /** - * Create an instance of {@link CreateRelationship } - * - */ - public CreateRelationship createCreateRelationship() { - return new CreateRelationship(); - } - - /** - * Create an instance of {@link QueryResponse } - * - */ - public QueryResponse createQueryResponse() { - return new QueryResponse(); - } - - /** - * Create an instance of {@link ApplyPolicy } - * - */ - public ApplyPolicy createApplyPolicy() { - return new ApplyPolicy(); - } - - /** - * Create an instance of {@link CheckOut } - * - */ - public CheckOut createCheckOut() { - return new CheckOut(); - } - - /** - * Create an instance of {@link CmisAnyXml } - * - */ - public CmisAnyXml createCmisAnyXml() { - return new CmisAnyXml(); + public CmisPropertyId createCmisPropertyId() { + return new CmisPropertyId(); } /** @@ -474,118 +1101,6 @@ public class ObjectFactory { return new CmisPropertyDateTime(); } - /** - * Create an instance of {@link CmisPropertyIntegerDefinitionType } - * - */ - public CmisPropertyIntegerDefinitionType createCmisPropertyIntegerDefinitionType() { - return new CmisPropertyIntegerDefinitionType(); - } - - /** - * Create an instance of {@link GetAllVersionsResponse } - * - */ - public GetAllVersionsResponse createGetAllVersionsResponse() { - return new GetAllVersionsResponse(); - } - - /** - * Create an instance of {@link ObjectTreeCollectionType } - * - */ - public ObjectTreeCollectionType createObjectTreeCollectionType() { - return new ObjectTreeCollectionType(); - } - - /** - * Create an instance of {@link GetTypes } - * - */ - public GetTypes createGetTypes() { - return new GetTypes(); - } - - /** - * Create an instance of {@link GetCheckedoutDocs } - * - */ - public GetCheckedoutDocs createGetCheckedoutDocs() { - return new GetCheckedoutDocs(); - } - - /** - * Create an instance of {@link CmisChoiceXmlType } - * - */ - public CmisChoiceXmlType createCmisChoiceXmlType() { - return new CmisChoiceXmlType(); - } - - /** - * Create an instance of {@link DeleteObjectResponse } - * - */ - public DeleteObjectResponse createDeleteObjectResponse() { - return new DeleteObjectResponse(); - } - - /** - * Create an instance of {@link CmisPropertyHtml } - * - */ - public CmisPropertyHtml createCmisPropertyHtml() { - return new CmisPropertyHtml(); - } - - /** - * Create an instance of {@link DeleteAllVersionsResponse } - * - */ - public DeleteAllVersionsResponse createDeleteAllVersionsResponse() { - return new DeleteAllVersionsResponse(); - } - - /** - * Create an instance of {@link SetContentStream } - * - */ - public SetContentStream createSetContentStream() { - return new SetContentStream(); - } - - /** - * Create an instance of {@link CancelCheckOut } - * - */ - public CancelCheckOut createCancelCheckOut() { - return new CancelCheckOut(); - } - - /** - * Create an instance of {@link CmisPropertiesType } - * - */ - public CmisPropertiesType createCmisPropertiesType() { - return new CmisPropertiesType(); - } - - /** - * Create an instance of {@link GetRepositoriesResponse } - * - */ - public GetRepositoriesResponse createGetRepositoriesResponse() { - return new GetRepositoriesResponse(); - } - - /** - * Create an instance of {@link GetRelationshipsResponse } - * - */ - public GetRelationshipsResponse createGetRelationshipsResponse() { - return new GetRelationshipsResponse(); - } - /** * Create an instance of {@link CmisPropertyHtmlDefinitionType } * @@ -594,1219 +1109,191 @@ public class ObjectFactory { return new CmisPropertyHtmlDefinitionType(); } - /** - * Create an instance of {@link DeleteObject } - * - */ - public DeleteObject createDeleteObject() { - return new DeleteObject(); - } - - /** - * Create an instance of {@link UpdateProperties } - * - */ - public UpdateProperties createUpdateProperties() { - return new UpdateProperties(); - } - - /** - * Create an instance of {@link OffsetExceptionType } - * - */ - public OffsetExceptionType createOffsetExceptionType() { - return new OffsetExceptionType(); - } - - /** - * Create an instance of {@link CmisTypeFolderDefinitionType } - * - */ - public CmisTypeFolderDefinitionType createCmisTypeFolderDefinitionType() { - return new CmisTypeFolderDefinitionType(); - } - - /** - * Create an instance of {@link StorageExceptionType } - * - */ - public StorageExceptionType createStorageExceptionType() { - return new StorageExceptionType(); - } - - /** - * Create an instance of {@link GetObjectParentsResponse } - * - */ - public GetObjectParentsResponse createGetObjectParentsResponse() { - return new GetObjectParentsResponse(); - } - - /** - * Create an instance of {@link GetContentStreamResponse } - * - */ - public GetContentStreamResponse createGetContentStreamResponse() { - return new GetContentStreamResponse(); - } - - /** - * Create an instance of {@link CmisPropertyInteger } - * - */ - public CmisPropertyInteger createCmisPropertyInteger() { - return new CmisPropertyInteger(); - } - - /** - * Create an instance of {@link CmisTypeDocumentDefinitionType } - * - */ - public CmisTypeDocumentDefinitionType createCmisTypeDocumentDefinitionType() { - return new CmisTypeDocumentDefinitionType(); - } - - /** - * Create an instance of {@link CancelCheckOutResponse } - * - */ - public CancelCheckOutResponse createCancelCheckOutResponse() { - return new CancelCheckOutResponse(); - } - - /** - * Create an instance of {@link CmisPropertyString } - * - */ - public CmisPropertyString createCmisPropertyString() { - return new CmisPropertyString(); - } - - /** - * Create an instance of {@link GetPropertiesResponse } - * - */ - public GetPropertiesResponse createGetPropertiesResponse() { - return new GetPropertiesResponse(); - } - - /** - * Create an instance of {@link UpdatePropertiesResponse } - * - */ - public UpdatePropertiesResponse createUpdatePropertiesResponse() { - return new UpdatePropertiesResponse(); - } - - /** - * Create an instance of {@link CheckInResponse } - * - */ - public CheckInResponse createCheckInResponse() { - return new CheckInResponse(); - } - - /** - * Create an instance of {@link AddObjectToFolderResponse } - * - */ - public AddObjectToFolderResponse createAddObjectToFolderResponse() { - return new AddObjectToFolderResponse(); - } - - /** - * Create an instance of {@link CmisTypePolicyDefinitionType } - * - */ - public CmisTypePolicyDefinitionType createCmisTypePolicyDefinitionType() { - return new CmisTypePolicyDefinitionType(); - } - - /** - * Create an instance of {@link GetFolderParent } - * - */ - public GetFolderParent createGetFolderParent() { - return new GetFolderParent(); - } - - /** - * Create an instance of {@link GetContentStream } - * - */ - public GetContentStream createGetContentStream() { - return new GetContentStream(); - } - - /** - * Create an instance of {@link CreateDocument } - * - */ - public CreateDocument createCreateDocument() { - return new CreateDocument(); - } - - /** - * Create an instance of {@link UpdateConflictExceptionType } - * - */ - public UpdateConflictExceptionType createUpdateConflictExceptionType() { - return new UpdateConflictExceptionType(); - } - - /** - * Create an instance of {@link CreatePolicyResponse } - * - */ - public CreatePolicyResponse createCreatePolicyResponse() { - return new CreatePolicyResponse(); - } - - /** - * Create an instance of {@link CmisRepositoryCapabilitiesType } - * - */ - public CmisRepositoryCapabilitiesType createCmisRepositoryCapabilitiesType() { - return new CmisRepositoryCapabilitiesType(); - } - - /** - * Create an instance of {@link ObjectNotFoundExceptionType } - * - */ - public ObjectNotFoundExceptionType createObjectNotFoundExceptionType() { - return new ObjectNotFoundExceptionType(); - } - - /** - * Create an instance of {@link CmisAllowableActionsType } - * - */ - public CmisAllowableActionsType createCmisAllowableActionsType() { - return new CmisAllowableActionsType(); - } - - /** - * Create an instance of {@link GetDescendants } - * - */ - public GetDescendants createGetDescendants() { - return new GetDescendants(); - } - - /** - * Create an instance of {@link CheckIn } - * - */ - public CheckIn createCheckIn() { - return new CheckIn(); - } - - /** - * Create an instance of {@link GetRepositoryInfo } - * - */ - public GetRepositoryInfo createGetRepositoryInfo() { - return new GetRepositoryInfo(); - } - - /** - * Create an instance of {@link GetCheckedoutDocsResponse } - * - */ - public GetCheckedoutDocsResponse createGetCheckedoutDocsResponse() { - return new GetCheckedoutDocsResponse(); - } - - /** - * Create an instance of {@link CheckOutResponse } - * - */ - public CheckOutResponse createCheckOutResponse() { - return new CheckOutResponse(); - } - - /** - * Create an instance of {@link GetProperties } - * - */ - public GetProperties createGetProperties() { - return new GetProperties(); - } - - /** - * Create an instance of {@link CmisChoiceDecimalType } - * - */ - public CmisChoiceDecimalType createCmisChoiceDecimalType() { - return new CmisChoiceDecimalType(); - } - - /** - * Create an instance of {@link FilterNotValidExceptionType } - * - */ - public FilterNotValidExceptionType createFilterNotValidExceptionType() { - return new FilterNotValidExceptionType(); - } - - /** - * Create an instance of {@link CmisTypeDefinitionType } - * - */ - public CmisTypeDefinitionType createCmisTypeDefinitionType() { - return new CmisTypeDefinitionType(); - } - - /** - * Create an instance of {@link CmisPropertyXml } - * - */ - public CmisPropertyXml createCmisPropertyXml() { - return new CmisPropertyXml(); - } - - /** - * Create an instance of {@link CmisFaultType } - * - */ - public CmisFaultType createCmisFaultType() { - return new CmisFaultType(); - } - - /** - * Create an instance of {@link DeleteContentStreamResponse } - * - */ - public DeleteContentStreamResponse createDeleteContentStreamResponse() { - return new DeleteContentStreamResponse(); - } - - /** - * Create an instance of {@link InvalidArgumentExceptionType } - * - */ - public InvalidArgumentExceptionType createInvalidArgumentExceptionType() { - return new InvalidArgumentExceptionType(); - } - - /** - * Create an instance of {@link TypeNotFoundExceptionType } - * - */ - public TypeNotFoundExceptionType createTypeNotFoundExceptionType() { - return new TypeNotFoundExceptionType(); - } - - /** - * Create an instance of {@link CmisPropertyDecimalDefinitionType } - * - */ - public CmisPropertyDecimalDefinitionType createCmisPropertyDecimalDefinitionType() { - return new CmisPropertyDecimalDefinitionType(); - } - - /** - * Create an instance of {@link GetAppliedPoliciesResponse } - * - */ - public GetAppliedPoliciesResponse createGetAppliedPoliciesResponse() { - return new GetAppliedPoliciesResponse(); - } - - /** - * Create an instance of {@link CmisContentStreamType } - * - */ - public CmisContentStreamType createCmisContentStreamType() { - return new CmisContentStreamType(); - } - - /** - * Create an instance of {@link ContentAlreadyExistsExceptionType } - * - */ - public ContentAlreadyExistsExceptionType createContentAlreadyExistsExceptionType() { - return new ContentAlreadyExistsExceptionType(); - } - - /** - * Create an instance of {@link RuntimeExceptionType } - * - */ - public RuntimeExceptionType createRuntimeExceptionType() { - return new RuntimeExceptionType(); - } - - /** - * Create an instance of {@link CreateDocumentResponse } - * - */ - public CreateDocumentResponse createCreateDocumentResponse() { - return new CreateDocumentResponse(); - } - - /** - * Create an instance of {@link ConstraintViolationExceptionType } - * - */ - public ConstraintViolationExceptionType createConstraintViolationExceptionType() { - return new ConstraintViolationExceptionType(); - } - - /** - * Create an instance of {@link CmisPropertyId } - * - */ - public CmisPropertyId createCmisPropertyId() { - return new CmisPropertyId(); - } - - /** - * Create an instance of {@link GetTypeDefinition } - * - */ - public GetTypeDefinition createGetTypeDefinition() { - return new GetTypeDefinition(); - } - - /** - * Create an instance of {@link CmisPropertyIdDefinitionType } - * - */ - public CmisPropertyIdDefinitionType createCmisPropertyIdDefinitionType() { - return new CmisPropertyIdDefinitionType(); - } - - /** - * Create an instance of {@link CmisTypeRelationshipDefinitionType } - * - */ - public CmisTypeRelationshipDefinitionType createCmisTypeRelationshipDefinitionType() { - return new CmisTypeRelationshipDefinitionType(); - } - - /** - * Create an instance of {@link CreateRelationshipResponse } - * - */ - public CreateRelationshipResponse createCreateRelationshipResponse() { - return new CreateRelationshipResponse(); - } - - /** - * Create an instance of {@link VersioningExceptionType } - * - */ - public VersioningExceptionType createVersioningExceptionType() { - return new VersioningExceptionType(); - } - - /** - * Create an instance of {@link PermissionDeniedExceptionType } - * - */ - public PermissionDeniedExceptionType createPermissionDeniedExceptionType() { - return new PermissionDeniedExceptionType(); - } - - /** - * Create an instance of {@link OperationNotSupportedExceptionType } - * - */ - public OperationNotSupportedExceptionType createOperationNotSupportedExceptionType() { - return new OperationNotSupportedExceptionType(); - } - - /** - * Create an instance of {@link GetAllVersions } - * - */ - public GetAllVersions createGetAllVersions() { - return new GetAllVersions(); - } - - /** - * Create an instance of {@link GetDescendantsResponse } - * - */ - public GetDescendantsResponse createGetDescendantsResponse() { - return new GetDescendantsResponse(); - } - - /** - * Create an instance of {@link GetChildren } - * - */ - public GetChildren createGetChildren() { - return new GetChildren(); - } - - /** - * Create an instance of {@link CmisChoiceBooleanType } - * - */ - public CmisChoiceBooleanType createCmisChoiceBooleanType() { - return new CmisChoiceBooleanType(); - } - - /** - * Create an instance of {@link RemoveObjectFromFolder } - * - */ - public RemoveObjectFromFolder createRemoveObjectFromFolder() { - return new RemoveObjectFromFolder(); - } - - /** - * Create an instance of {@link AddObjectToFolder } - * - */ - public AddObjectToFolder createAddObjectToFolder() { - return new AddObjectToFolder(); - } - - /** - * Create an instance of {@link GetRepositories } - * - */ - public GetRepositories createGetRepositories() { - return new GetRepositories(); - } - - /** - * Create an instance of {@link GetObjectParents } - * - */ - public GetObjectParents createGetObjectParents() { - return new GetObjectParents(); - } - - /** - * Create an instance of {@link CmisPropertyBooleanDefinitionType } - * - */ - public CmisPropertyBooleanDefinitionType createCmisPropertyBooleanDefinitionType() { - return new CmisPropertyBooleanDefinitionType(); - } - - /** - * Create an instance of {@link GetAppliedPolicies } - * - */ - public GetAppliedPolicies createGetAppliedPolicies() { - return new GetAppliedPolicies(); - } - - /** - * Create an instance of {@link GetChildrenResponse } - * - */ - public GetChildrenResponse createGetChildrenResponse() { - return new GetChildrenResponse(); - } - - /** - * Create an instance of {@link DeleteTreeResponse } - * - */ - public DeleteTreeResponse createDeleteTreeResponse() { - return new DeleteTreeResponse(); - } - - /** - * Create an instance of {@link FolderNotValidExceptionType } - * - */ - public FolderNotValidExceptionType createFolderNotValidExceptionType() { - return new FolderNotValidExceptionType(); - } - - /** - * Create an instance of {@link GetTypeDefinitionResponse } - * - */ - public GetTypeDefinitionResponse createGetTypeDefinitionResponse() { - return new GetTypeDefinitionResponse(); - } - - /** - * Create an instance of {@link CmisPropertyDecimal } - * - */ - public CmisPropertyDecimal createCmisPropertyDecimal() { - return new CmisPropertyDecimal(); - } - - /** - * Create an instance of {@link MoveObjectResponse } - * - */ - public MoveObjectResponse createMoveObjectResponse() { - return new MoveObjectResponse(); - } - - /** - * Create an instance of {@link RemovePolicyResponse } - * - */ - public RemovePolicyResponse createRemovePolicyResponse() { - return new RemovePolicyResponse(); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "changeToken", scope = UpdateProperties.class) - public JAXBElement createUpdatePropertiesChangeToken(String value) { - return new JAXBElement(_UpdatePropertiesChangeToken_QNAME, String.class, UpdateProperties.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "folderId", scope = CreatePolicy.class) - public JAXBElement createCreatePolicyFolderId(String value) { - return new JAXBElement(_CreatePolicyFolderId_QNAME, String.class, CreatePolicy.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link EnumVersioningState }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "versioningState", scope = CreateDocument.class) - public JAXBElement createCreateDocumentVersioningState(EnumVersioningState value) { - return new JAXBElement(_CreateDocumentVersioningState_QNAME, EnumVersioningState.class, CreateDocument.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisContentStreamType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "contentStream", scope = CreateDocument.class) - public JAXBElement createCreateDocumentContentStream(CmisContentStreamType value) { - return new JAXBElement(_CreateDocumentContentStream_QNAME, CmisContentStreamType.class, CreateDocument.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeAllowableActions", scope = GetAllVersions.class) - public JAXBElement createGetAllVersionsIncludeAllowableActions(Boolean value) { - return new JAXBElement(_GetAllVersionsIncludeAllowableActions_QNAME, Boolean.class, GetAllVersions.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "filter", scope = GetAllVersions.class) - public JAXBElement createGetAllVersionsFilter(String value) { - return new JAXBElement(_GetAllVersionsFilter_QNAME, String.class, GetAllVersions.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeRelationships", scope = GetAllVersions.class) - public JAXBElement createGetAllVersionsIncludeRelationships(Boolean value) { - return new JAXBElement(_GetAllVersionsIncludeRelationships_QNAME, Boolean.class, GetAllVersions.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeAllowableActions", scope = GetRelationships.class) - public JAXBElement createGetRelationshipsIncludeAllowableActions(Boolean value) { - return new JAXBElement(_GetAllVersionsIncludeAllowableActions_QNAME, Boolean.class, GetRelationships.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "skipCount", scope = GetRelationships.class) - public JAXBElement createGetRelationshipsSkipCount(BigInteger value) { - return new JAXBElement(_GetRelationshipsSkipCount_QNAME, BigInteger.class, GetRelationships.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "typeId", scope = GetRelationships.class) - public JAXBElement createGetRelationshipsTypeId(String value) { - return new JAXBElement(_GetRelationshipsTypeId_QNAME, String.class, GetRelationships.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeSubRelationshipTypes", scope = GetRelationships.class) - public JAXBElement createGetRelationshipsIncludeSubRelationshipTypes(Boolean value) { - return new JAXBElement(_GetRelationshipsIncludeSubRelationshipTypes_QNAME, Boolean.class, GetRelationships.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link EnumRelationshipDirection }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "direction", scope = GetRelationships.class) - public JAXBElement createGetRelationshipsDirection(EnumRelationshipDirection value) { - return new JAXBElement(_GetRelationshipsDirection_QNAME, EnumRelationshipDirection.class, GetRelationships.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "filter", scope = GetRelationships.class) - public JAXBElement createGetRelationshipsFilter(String value) { - return new JAXBElement(_GetAllVersionsFilter_QNAME, String.class, GetRelationships.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "maxItems", scope = GetRelationships.class) - public JAXBElement createGetRelationshipsMaxItems(BigInteger value) { - return new JAXBElement(_GetRelationshipsMaxItems_QNAME, BigInteger.class, GetRelationships.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeRelationships", scope = GetRelationships.class) - public JAXBElement createGetRelationshipsIncludeRelationships(Boolean value) { - return new JAXBElement(_GetAllVersionsIncludeRelationships_QNAME, Boolean.class, GetRelationships.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyStringDefinitionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyStringDefinition", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "propertyDefinition") - public JAXBElement createPropertyStringDefinition(CmisPropertyStringDefinitionType value) { - return new JAXBElement(_PropertyStringDefinition_QNAME, CmisPropertyStringDefinitionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyXml }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyXml", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "property") - public JAXBElement createPropertyXml(CmisPropertyXml value) { - return new JAXBElement(_PropertyXml_QNAME, CmisPropertyXml.class, null, value); - } - /** * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceDateTimeType }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "choiceDateTime", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "choice") + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "choiceDateTime", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "choice") public JAXBElement createChoiceDateTime(CmisChoiceDateTimeType value) { return new JAXBElement(_ChoiceDateTime_QNAME, CmisChoiceDateTimeType.class, null, value); } - /** - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "terminator") - public JAXBElement createTerminator(String value) { - return new JAXBElement(_Terminator_QNAME, String.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisObjectType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "object") - public JAXBElement createObject(CmisObjectType value) { - return new JAXBElement(_Object_QNAME, CmisObjectType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ObjectNotFoundExceptionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "objectNotFoundException") - public JAXBElement createObjectNotFoundException(ObjectNotFoundExceptionType value) { - return new JAXBElement(_ObjectNotFoundException_QNAME, ObjectNotFoundExceptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "hasMoreItems") - public JAXBElement createHasMoreItems(Boolean value) { - return new JAXBElement(_HasMoreItems_QNAME, Boolean.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceBooleanType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "choiceBoolean", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "choice") - public JAXBElement createChoiceBoolean(CmisChoiceBooleanType value) { - return new JAXBElement(_ChoiceBoolean_QNAME, CmisChoiceBooleanType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyDecimal }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyDecimal", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "property") - public JAXBElement createPropertyDecimal(CmisPropertyDecimal value) { - return new JAXBElement(_PropertyDecimal_QNAME, CmisPropertyDecimal.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyDefinitionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyDefinition") - public JAXBElement createPropertyDefinition(CmisPropertyDefinitionType value) { - return new JAXBElement(_PropertyDefinition_QNAME, CmisPropertyDefinitionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceHtmlType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "choiceHtml", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "choice") - public JAXBElement createChoiceHtml(CmisChoiceHtmlType value) { - return new JAXBElement(_ChoiceHtml_QNAME, CmisChoiceHtmlType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link ConstraintViolationExceptionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "constraintViolationException") - public JAXBElement createConstraintViolationException(ConstraintViolationExceptionType value) { - return new JAXBElement(_ConstraintViolationException_QNAME, ConstraintViolationExceptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link OperationNotSupportedExceptionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "operationNotSupportedException") - public JAXBElement createOperationNotSupportedException(OperationNotSupportedExceptionType value) { - return new JAXBElement(_OperationNotSupportedException_QNAME, OperationNotSupportedExceptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link TypeNotFoundExceptionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "typeNotFoundException") - public JAXBElement createTypeNotFoundException(TypeNotFoundExceptionType value) { - return new JAXBElement(_TypeNotFoundException_QNAME, TypeNotFoundExceptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link FolderNotValidExceptionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "folderNotValidException") - public JAXBElement createFolderNotValidException(FolderNotValidExceptionType value) { - return new JAXBElement(_FolderNotValidException_QNAME, FolderNotValidExceptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisTypeDocumentDefinitionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "documentType", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "type") - public JAXBElement createDocumentType(CmisTypeDocumentDefinitionType value) { - return new JAXBElement(_DocumentType_QNAME, CmisTypeDocumentDefinitionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisTypeDefinitionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "type") - public JAXBElement createType(CmisTypeDefinitionType value) { - return new JAXBElement(_Type_QNAME, CmisTypeDefinitionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceIntegerType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "choiceInteger", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "choice") - public JAXBElement createChoiceInteger(CmisChoiceIntegerType value) { - return new JAXBElement(_ChoiceInteger_QNAME, CmisChoiceIntegerType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link InvalidArgumentExceptionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "invalidArgumentException") - public JAXBElement createInvalidArgumentException(InvalidArgumentExceptionType value) { - return new JAXBElement(_InvalidArgumentException_QNAME, InvalidArgumentExceptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link OffsetExceptionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "offsetException") - public JAXBElement createOffsetException(OffsetExceptionType value) { - return new JAXBElement(_OffsetException_QNAME, OffsetExceptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link StorageExceptionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "storageException") - public JAXBElement createStorageException(StorageExceptionType value) { - return new JAXBElement(_StorageException_QNAME, StorageExceptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceDecimalType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "choiceDecimal", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "choice") - public JAXBElement createChoiceDecimal(CmisChoiceDecimalType value) { - return new JAXBElement(_ChoiceDecimal_QNAME, CmisChoiceDecimalType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisTypeRelationshipDefinitionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "relationshipType", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "type") - public JAXBElement createRelationshipType(CmisTypeRelationshipDefinitionType value) { - return new JAXBElement(_RelationshipType_QNAME, CmisTypeRelationshipDefinitionType.class, null, value); - } - /** * Create an instance of {@link JAXBElement }{@code <}{@link CmisAllowableActionsType }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "allowableActions") + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "allowableActions") public JAXBElement createAllowableActions(CmisAllowableActionsType value) { return new JAXBElement(_AllowableActions_QNAME, CmisAllowableActionsType.class, null, value); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceStringType }{@code >}} + * Create an instance of {@link JAXBElement }{@code <}{@link CmisTypeDocumentDefinitionType }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "choiceString", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "choice") - public JAXBElement createChoiceString(CmisChoiceStringType value) { - return new JAXBElement(_ChoiceString_QNAME, CmisChoiceStringType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisTypeFolderDefinitionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "folderType", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "type") - public JAXBElement createFolderType(CmisTypeFolderDefinitionType value) { - return new JAXBElement(_FolderType_QNAME, CmisTypeFolderDefinitionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link VersioningExceptionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "versioningException") - public JAXBElement createVersioningException(VersioningExceptionType value) { - return new JAXBElement(_VersioningException_QNAME, VersioningExceptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceIdType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "choiceId", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "choice") - public JAXBElement createChoiceId(CmisChoiceIdType value) { - return new JAXBElement(_ChoiceId_QNAME, CmisChoiceIdType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisQueryType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "query") - public JAXBElement createQuery(CmisQueryType value) { - return new JAXBElement(_Query_QNAME, CmisQueryType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceUriType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "choiceUri", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "choice") - public JAXBElement createChoiceUri(CmisChoiceUriType value) { - return new JAXBElement(_ChoiceUri_QNAME, CmisChoiceUriType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyBoolean }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyBoolean", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "property") - public JAXBElement createPropertyBoolean(CmisPropertyBoolean value) { - return new JAXBElement(_PropertyBoolean_QNAME, CmisPropertyBoolean.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyDecimalDefinitionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyDecimalDefinition", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "propertyDefinition") - public JAXBElement createPropertyDecimalDefinition(CmisPropertyDecimalDefinitionType value) { - return new JAXBElement(_PropertyDecimalDefinition_QNAME, CmisPropertyDecimalDefinitionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisTypePolicyDefinitionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "policyType", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "type") - public JAXBElement createPolicyType(CmisTypePolicyDefinitionType value) { - return new JAXBElement(_PolicyType_QNAME, CmisTypePolicyDefinitionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyInteger }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyInteger", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "property") - public JAXBElement createPropertyInteger(CmisPropertyInteger value) { - return new JAXBElement(_PropertyInteger_QNAME, CmisPropertyInteger.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyBooleanDefinitionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyBooleanDefinition", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "propertyDefinition") - public JAXBElement createPropertyBooleanDefinition(CmisPropertyBooleanDefinitionType value) { - return new JAXBElement(_PropertyBooleanDefinition_QNAME, CmisPropertyBooleanDefinitionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyString }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyString", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "property") - public JAXBElement createPropertyString(CmisPropertyString value) { - return new JAXBElement(_PropertyString_QNAME, CmisPropertyString.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyIdDefinitionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyIdDefinition", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "propertyDefinition") - public JAXBElement createPropertyIdDefinition(CmisPropertyIdDefinitionType value) { - return new JAXBElement(_PropertyIdDefinition_QNAME, CmisPropertyIdDefinitionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisRepositoryInfoType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "getRepositoryInfoResponse") - public JAXBElement createGetRepositoryInfoResponse(CmisRepositoryInfoType value) { - return new JAXBElement(_GetRepositoryInfoResponse_QNAME, CmisRepositoryInfoType.class, null, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "documentType", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "type") + public JAXBElement createDocumentType(CmisTypeDocumentDefinitionType value) { + return new JAXBElement(_DocumentType_QNAME, CmisTypeDocumentDefinitionType.class, null, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyUriDefinitionType }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyUriDefinition", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "propertyDefinition") + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyUriDefinition", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "propertyDefinition") public JAXBElement createPropertyUriDefinition(CmisPropertyUriDefinitionType value) { return new JAXBElement(_PropertyUriDefinition_QNAME, CmisPropertyUriDefinitionType.class, null, value); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyDateTime }{@code >}} + * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceDecimalType }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyDateTime", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "property") - public JAXBElement createPropertyDateTime(CmisPropertyDateTime value) { - return new JAXBElement(_PropertyDateTime_QNAME, CmisPropertyDateTime.class, null, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "choiceDecimal", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "choice") + public JAXBElement createChoiceDecimal(CmisChoiceDecimalType value) { + return new JAXBElement(_ChoiceDecimal_QNAME, CmisChoiceDecimalType.class, null, value); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisRepositoryInfoType }{@code >}} + * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceStringType }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "repositoryInfo") - public JAXBElement createRepositoryInfo(CmisRepositoryInfoType value) { - return new JAXBElement(_RepositoryInfo_QNAME, CmisRepositoryInfoType.class, null, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "choiceString", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "choice") + public JAXBElement createChoiceString(CmisChoiceStringType value) { + return new JAXBElement(_ChoiceString_QNAME, CmisChoiceStringType.class, null, value); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link ContentAlreadyExistsExceptionType }{@code >}} + * Create an instance of {@link JAXBElement }{@code <}{@link CmisQueryType }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "contentAlreadyExistsException") - public JAXBElement createContentAlreadyExistsException(ContentAlreadyExistsExceptionType value) { - return new JAXBElement(_ContentAlreadyExistsException_QNAME, ContentAlreadyExistsExceptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link UpdateConflictExceptionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "updateConflictException") - public JAXBElement createUpdateConflictException(UpdateConflictExceptionType value) { - return new JAXBElement(_UpdateConflictException_QNAME, UpdateConflictExceptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "choice") - public JAXBElement createChoice(CmisChoiceType value) { - return new JAXBElement(_Choice_QNAME, CmisChoiceType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyXmlDefinitionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyXmlDefinition", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "propertyDefinition") - public JAXBElement createPropertyXmlDefinition(CmisPropertyXmlDefinitionType value) { - return new JAXBElement(_PropertyXmlDefinition_QNAME, CmisPropertyXmlDefinitionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link PermissionDeniedExceptionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "permissionDeniedException") - public JAXBElement createPermissionDeniedException(PermissionDeniedExceptionType value) { - return new JAXBElement(_PermissionDeniedException_QNAME, PermissionDeniedExceptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceXmlType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "choiceXml", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "choice") - public JAXBElement createChoiceXml(CmisChoiceXmlType value) { - return new JAXBElement(_ChoiceXml_QNAME, CmisChoiceXmlType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link NotInFolderExceptionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "notInFolderException") - public JAXBElement createNotInFolderException(NotInFolderExceptionType value) { - return new JAXBElement(_NotInFolderException_QNAME, NotInFolderExceptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link StreamNotSupportedExceptionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "streamNotSupportedException") - public JAXBElement createStreamNotSupportedException(StreamNotSupportedExceptionType value) { - return new JAXBElement(_StreamNotSupportedException_QNAME, StreamNotSupportedExceptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisProperty }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "property") - public JAXBElement createProperty(CmisProperty value) { - return new JAXBElement(_Property_QNAME, CmisProperty.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link FilterNotValidExceptionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "filterNotValidException") - public JAXBElement createFilterNotValidException(FilterNotValidExceptionType value) { - return new JAXBElement(_FilterNotValidException_QNAME, FilterNotValidExceptionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyHtmlDefinitionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyHtmlDefinition", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "propertyDefinition") - public JAXBElement createPropertyHtmlDefinition(CmisPropertyHtmlDefinitionType value) { - return new JAXBElement(_PropertyHtmlDefinition_QNAME, CmisPropertyHtmlDefinitionType.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyUri }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyUri", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "property") - public JAXBElement createPropertyUri(CmisPropertyUri value) { - return new JAXBElement(_PropertyUri_QNAME, CmisPropertyUri.class, null, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyDateTimeDefinitionType }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyDateTimeDefinition", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "propertyDefinition") - public JAXBElement createPropertyDateTimeDefinition(CmisPropertyDateTimeDefinitionType value) { - return new JAXBElement(_PropertyDateTimeDefinition_QNAME, CmisPropertyDateTimeDefinitionType.class, null, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "query") + public JAXBElement createQuery(CmisQueryType value) { + return new JAXBElement(_Query_QNAME, CmisQueryType.class, null, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyHtml }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyHtml", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "property") + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyHtml", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "property") public JAXBElement createPropertyHtml(CmisPropertyHtml value) { return new JAXBElement(_PropertyHtml_QNAME, CmisPropertyHtml.class, null, value); } + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "choice") + public JAXBElement createChoice(CmisChoiceType value) { + return new JAXBElement(_Choice_QNAME, CmisChoiceType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisObjectType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "object") + public JAXBElement createObject(CmisObjectType value) { + return new JAXBElement(_Object_QNAME, CmisObjectType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisRepositoryInfoType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "repositoryInfo") + public JAXBElement createRepositoryInfo(CmisRepositoryInfoType value) { + return new JAXBElement(_RepositoryInfo_QNAME, CmisRepositoryInfoType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyDecimal }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyDecimal", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "property") + public JAXBElement createPropertyDecimal(CmisPropertyDecimal value) { + return new JAXBElement(_PropertyDecimal_QNAME, CmisPropertyDecimal.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisTypeDefinitionType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "type") + public JAXBElement createType(CmisTypeDefinitionType value) { + return new JAXBElement(_Type_QNAME, CmisTypeDefinitionType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyHtmlDefinitionType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyHtmlDefinition", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "propertyDefinition") + public JAXBElement createPropertyHtmlDefinition(CmisPropertyHtmlDefinitionType value) { + return new JAXBElement(_PropertyHtmlDefinition_QNAME, CmisPropertyHtmlDefinitionType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisTypeRelationshipDefinitionType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "relationshipType", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "type") + public JAXBElement createRelationshipType(CmisTypeRelationshipDefinitionType value) { + return new JAXBElement(_RelationshipType_QNAME, CmisTypeRelationshipDefinitionType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyStringDefinitionType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyStringDefinition", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "propertyDefinition") + public JAXBElement createPropertyStringDefinition(CmisPropertyStringDefinitionType value) { + return new JAXBElement(_PropertyStringDefinition_QNAME, CmisPropertyStringDefinitionType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceXmlType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "choiceXml", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "choice") + public JAXBElement createChoiceXml(CmisChoiceXmlType value) { + return new JAXBElement(_ChoiceXml_QNAME, CmisChoiceXmlType.class, null, value); + } + /** * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyId }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyId", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "property") + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyId", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "property") public JAXBElement createPropertyId(CmisPropertyId value) { return new JAXBElement(_PropertyId_QNAME, CmisPropertyId.class, null, value); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link RuntimeExceptionType }{@code >}} + * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceUriType }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "runtimeException") - public JAXBElement createRuntimeException(RuntimeExceptionType value) { - return new JAXBElement(_RuntimeException_QNAME, RuntimeExceptionType.class, null, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "choiceUri", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "choice") + public JAXBElement createChoiceUri(CmisChoiceUriType value) { + return new JAXBElement(_ChoiceUri_QNAME, CmisChoiceUriType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceIntegerType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "choiceInteger", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "choice") + public JAXBElement createChoiceInteger(CmisChoiceIntegerType value) { + return new JAXBElement(_ChoiceInteger_QNAME, CmisChoiceIntegerType.class, null, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyIntegerDefinitionType }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "propertyIntegerDefinition", substitutionHeadNamespace = "http://www.cmis.org/2008/05", substitutionHeadName = "propertyDefinition") + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyIntegerDefinition", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "propertyDefinition") public JAXBElement createPropertyIntegerDefinition(CmisPropertyIntegerDefinitionType value) { return new JAXBElement(_PropertyIntegerDefinition_QNAME, CmisPropertyIntegerDefinitionType.class, null, value); } @@ -1815,313 +1302,421 @@ public class ObjectFactory { * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeAllowableActions", scope = GetChildren.class) - public JAXBElement createGetChildrenIncludeAllowableActions(Boolean value) { - return new JAXBElement(_GetAllVersionsIncludeAllowableActions_QNAME, Boolean.class, GetChildren.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "hasMoreItems") + public JAXBElement createHasMoreItems(Boolean value) { + return new JAXBElement(_HasMoreItems_QNAME, Boolean.class, null, value); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link EnumTypesOfFileableObjects }{@code >}} + * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceBooleanType }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "type", scope = GetChildren.class) - public JAXBElement createGetChildrenType(EnumTypesOfFileableObjects value) { - return new JAXBElement(_Type_QNAME, EnumTypesOfFileableObjects.class, GetChildren.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "choiceBoolean", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "choice") + public JAXBElement createChoiceBoolean(CmisChoiceBooleanType value) { + return new JAXBElement(_ChoiceBoolean_QNAME, CmisChoiceBooleanType.class, null, value); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} + * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyIdDefinitionType }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "skipCount", scope = GetChildren.class) - public JAXBElement createGetChildrenSkipCount(BigInteger value) { - return new JAXBElement(_GetRelationshipsSkipCount_QNAME, BigInteger.class, GetChildren.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyIdDefinition", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "propertyDefinition") + public JAXBElement createPropertyIdDefinition(CmisPropertyIdDefinitionType value) { + return new JAXBElement(_PropertyIdDefinition_QNAME, CmisPropertyIdDefinitionType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyXmlDefinitionType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyXmlDefinition", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "propertyDefinition") + public JAXBElement createPropertyXmlDefinition(CmisPropertyXmlDefinitionType value) { + return new JAXBElement(_PropertyXmlDefinition_QNAME, CmisPropertyXmlDefinitionType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyDateTime }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyDateTime", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "property") + public JAXBElement createPropertyDateTime(CmisPropertyDateTime value) { + return new JAXBElement(_PropertyDateTime_QNAME, CmisPropertyDateTime.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisFaultType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "cmisFault") + public JAXBElement createCmisFault(CmisFaultType value) { + return new JAXBElement(_CmisFault_QNAME, CmisFaultType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyBooleanDefinitionType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyBooleanDefinition", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "propertyDefinition") + public JAXBElement createPropertyBooleanDefinition(CmisPropertyBooleanDefinitionType value) { + return new JAXBElement(_PropertyBooleanDefinition_QNAME, CmisPropertyBooleanDefinitionType.class, null, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "filter", scope = GetChildren.class) - public JAXBElement createGetChildrenFilter(String value) { - return new JAXBElement(_GetAllVersionsFilter_QNAME, String.class, GetChildren.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "terminator") + public JAXBElement createTerminator(String value) { + return new JAXBElement(_Terminator_QNAME, String.class, null, value); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} + * Create an instance of {@link JAXBElement }{@code <}{@link CmisTypeFolderDefinitionType }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "maxItems", scope = GetChildren.class) - public JAXBElement createGetChildrenMaxItems(BigInteger value) { - return new JAXBElement(_GetRelationshipsMaxItems_QNAME, BigInteger.class, GetChildren.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "folderType", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "type") + public JAXBElement createFolderType(CmisTypeFolderDefinitionType value) { + return new JAXBElement(_FolderType_QNAME, CmisTypeFolderDefinitionType.class, null, value); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} + * Create an instance of {@link JAXBElement }{@code <}{@link CmisProperty }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeRelationships", scope = GetChildren.class) - public JAXBElement createGetChildrenIncludeRelationships(Boolean value) { - return new JAXBElement(_GetAllVersionsIncludeRelationships_QNAME, Boolean.class, GetChildren.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "property") + public JAXBElement createProperty(CmisProperty value) { + return new JAXBElement(_Property_QNAME, CmisProperty.class, null, value); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} + * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyDefinitionType }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "continueOnFailure", scope = DeleteTree.class) - public JAXBElement createDeleteTreeContinueOnFailure(Boolean value) { - return new JAXBElement(_DeleteTreeContinueOnFailure_QNAME, Boolean.class, DeleteTree.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyDefinition") + public JAXBElement createPropertyDefinition(CmisPropertyDefinitionType value) { + return new JAXBElement(_PropertyDefinition_QNAME, CmisPropertyDefinitionType.class, null, value); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertiesType }{@code >}} + * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyXml }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "properties", scope = CheckIn.class) - public JAXBElement createCheckInProperties(CmisPropertiesType value) { - return new JAXBElement(_CheckInProperties_QNAME, CmisPropertiesType.class, CheckIn.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyXml", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "property") + public JAXBElement createPropertyXml(CmisPropertyXml value) { + return new JAXBElement(_PropertyXml_QNAME, CmisPropertyXml.class, null, value); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} + * Create an instance of {@link JAXBElement }{@code <}{@link CmisTypePolicyDefinitionType }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "major", scope = CheckIn.class) - public JAXBElement createCheckInMajor(Boolean value) { - return new JAXBElement(_CheckInMajor_QNAME, Boolean.class, CheckIn.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "policyType", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "type") + public JAXBElement createPolicyType(CmisTypePolicyDefinitionType value) { + return new JAXBElement(_PolicyType_QNAME, CmisTypePolicyDefinitionType.class, null, value); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link CmisContentStreamType }{@code >}} + * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyBoolean }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "contentStream", scope = CheckIn.class) - public JAXBElement createCheckInContentStream(CmisContentStreamType value) { - return new JAXBElement(_CreateDocumentContentStream_QNAME, CmisContentStreamType.class, CheckIn.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyBoolean", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "property") + public JAXBElement createPropertyBoolean(CmisPropertyBoolean value) { + return new JAXBElement(_PropertyBoolean_QNAME, CmisPropertyBoolean.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyString }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyString", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "property") + public JAXBElement createPropertyString(CmisPropertyString value) { + return new JAXBElement(_PropertyString_QNAME, CmisPropertyString.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyUri }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyUri", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "property") + public JAXBElement createPropertyUri(CmisPropertyUri value) { + return new JAXBElement(_PropertyUri_QNAME, CmisPropertyUri.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyDecimalDefinitionType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyDecimalDefinition", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "propertyDefinition") + public JAXBElement createPropertyDecimalDefinition(CmisPropertyDecimalDefinitionType value) { + return new JAXBElement(_PropertyDecimalDefinition_QNAME, CmisPropertyDecimalDefinitionType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceIdType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "choiceId", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "choice") + public JAXBElement createChoiceId(CmisChoiceIdType value) { + return new JAXBElement(_ChoiceId_QNAME, CmisChoiceIdType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisChoiceHtmlType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "choiceHtml", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "choice") + public JAXBElement createChoiceHtml(CmisChoiceHtmlType value) { + return new JAXBElement(_ChoiceHtml_QNAME, CmisChoiceHtmlType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyDateTimeDefinitionType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyDateTimeDefinition", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "propertyDefinition") + public JAXBElement createPropertyDateTimeDefinition(CmisPropertyDateTimeDefinitionType value) { + return new JAXBElement(_PropertyDateTimeDefinition_QNAME, CmisPropertyDateTimeDefinitionType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertyInteger }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", name = "propertyInteger", substitutionHeadNamespace = "http://docs.oasis-open.org/ns/cmis/core/200901", substitutionHeadName = "property") + public JAXBElement createPropertyInteger(CmisPropertyInteger value) { + return new JAXBElement(_PropertyInteger_QNAME, CmisPropertyInteger.class, null, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "checkinComment", scope = CheckIn.class) - public JAXBElement createCheckInCheckinComment(String value) { - return new JAXBElement(_CheckInCheckinComment_QNAME, String.class, CheckIn.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeAllowableActions", scope = GetDescendants.class) - public JAXBElement createGetDescendantsIncludeAllowableActions(Boolean value) { - return new JAXBElement(_GetAllVersionsIncludeAllowableActions_QNAME, Boolean.class, GetDescendants.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "folderId", scope = RemoveObjectFromFolder.class) + public JAXBElement createRemoveObjectFromFolderFolderId(String value) { + return new JAXBElement(_RemoveObjectFromFolderFolderId_QNAME, String.class, RemoveObjectFromFolder.class, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "filter", scope = GetDescendants.class) + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "filter", scope = GetDescendants.class) public JAXBElement createGetDescendantsFilter(String value) { - return new JAXBElement(_GetAllVersionsFilter_QNAME, String.class, GetDescendants.class, value); + return new JAXBElement(_GetDescendantsFilter_QNAME, String.class, GetDescendants.class, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "depth", scope = GetDescendants.class) + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "depth", scope = GetDescendants.class) public JAXBElement createGetDescendantsDepth(BigInteger value) { return new JAXBElement(_GetDescendantsDepth_QNAME, BigInteger.class, GetDescendants.class, value); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} + * Create an instance of {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeRelationships", scope = GetDescendants.class) - public JAXBElement createGetDescendantsIncludeRelationships(Boolean value) { - return new JAXBElement(_GetAllVersionsIncludeRelationships_QNAME, Boolean.class, GetDescendants.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeRelationships", scope = GetDescendants.class) + public JAXBElement createGetDescendantsIncludeRelationships(EnumIncludeRelationships value) { + return new JAXBElement(_GetDescendantsIncludeRelationships_QNAME, EnumIncludeRelationships.class, GetDescendants.class, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "returnPropertyDefinitions", scope = GetTypes.class) - public JAXBElement createGetTypesReturnPropertyDefinitions(Boolean value) { - return new JAXBElement(_GetTypesReturnPropertyDefinitions_QNAME, Boolean.class, GetTypes.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "skipCount", scope = GetTypes.class) - public JAXBElement createGetTypesSkipCount(BigInteger value) { - return new JAXBElement(_GetRelationshipsSkipCount_QNAME, BigInteger.class, GetTypes.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeAllowableActions", scope = GetDescendants.class) + public JAXBElement createGetDescendantsIncludeAllowableActions(Boolean value) { + return new JAXBElement(_GetDescendantsIncludeAllowableActions_QNAME, Boolean.class, GetDescendants.class, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "typeId", scope = GetTypes.class) - public JAXBElement createGetTypesTypeId(String value) { - return new JAXBElement(_GetRelationshipsTypeId_QNAME, String.class, GetTypes.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "maxItems", scope = GetTypes.class) - public JAXBElement createGetTypesMaxItems(BigInteger value) { - return new JAXBElement(_GetRelationshipsMaxItems_QNAME, BigInteger.class, GetTypes.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeAllowableActions", scope = GetCheckedoutDocs.class) - public JAXBElement createGetCheckedoutDocsIncludeAllowableActions(Boolean value) { - return new JAXBElement(_GetAllVersionsIncludeAllowableActions_QNAME, Boolean.class, GetCheckedoutDocs.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "skipCount", scope = GetCheckedoutDocs.class) - public JAXBElement createGetCheckedoutDocsSkipCount(BigInteger value) { - return new JAXBElement(_GetRelationshipsSkipCount_QNAME, BigInteger.class, GetCheckedoutDocs.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "filter", scope = GetCheckedoutDocs.class) - public JAXBElement createGetCheckedoutDocsFilter(String value) { - return new JAXBElement(_GetAllVersionsFilter_QNAME, String.class, GetCheckedoutDocs.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "maxItems", scope = GetCheckedoutDocs.class) - public JAXBElement createGetCheckedoutDocsMaxItems(BigInteger value) { - return new JAXBElement(_GetRelationshipsMaxItems_QNAME, BigInteger.class, GetCheckedoutDocs.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeRelationships", scope = GetCheckedoutDocs.class) - public JAXBElement createGetCheckedoutDocsIncludeRelationships(Boolean value) { - return new JAXBElement(_GetAllVersionsIncludeRelationships_QNAME, Boolean.class, GetCheckedoutDocs.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "folderID", scope = GetCheckedoutDocs.class) - public JAXBElement createGetCheckedoutDocsFolderID(String value) { - return new JAXBElement(_GetCheckedoutDocsFolderID_QNAME, String.class, GetCheckedoutDocs.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "folderId", scope = RemoveObjectFromFolder.class) - public JAXBElement createRemoveObjectFromFolderFolderId(String value) { - return new JAXBElement(_CreatePolicyFolderId_QNAME, String.class, RemoveObjectFromFolder.class, value); - } - - /** - * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} - * - */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeAllowableActions", scope = GetProperties.class) - public JAXBElement createGetPropertiesIncludeAllowableActions(Boolean value) { - return new JAXBElement(_GetAllVersionsIncludeAllowableActions_QNAME, Boolean.class, GetProperties.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "filter", scope = GetProperties.class) + public JAXBElement createGetPropertiesFilter(String value) { + return new JAXBElement(_GetDescendantsFilter_QNAME, String.class, GetProperties.class, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link EnumReturnVersion }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "returnVersion", scope = GetProperties.class) + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "returnVersion", scope = GetProperties.class) public JAXBElement createGetPropertiesReturnVersion(EnumReturnVersion value) { return new JAXBElement(_GetPropertiesReturnVersion_QNAME, EnumReturnVersion.class, GetProperties.class, value); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * Create an instance of {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "filter", scope = GetProperties.class) - public JAXBElement createGetPropertiesFilter(String value) { - return new JAXBElement(_GetAllVersionsFilter_QNAME, String.class, GetProperties.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeRelationships", scope = GetProperties.class) + public JAXBElement createGetPropertiesIncludeRelationships(EnumIncludeRelationships value) { + return new JAXBElement(_GetDescendantsIncludeRelationships_QNAME, EnumIncludeRelationships.class, GetProperties.class, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeRelationships", scope = GetProperties.class) - public JAXBElement createGetPropertiesIncludeRelationships(Boolean value) { - return new JAXBElement(_GetAllVersionsIncludeRelationships_QNAME, Boolean.class, GetProperties.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeAllowableActions", scope = GetProperties.class) + public JAXBElement createGetPropertiesIncludeAllowableActions(Boolean value) { + return new JAXBElement(_GetDescendantsIncludeAllowableActions_QNAME, Boolean.class, GetProperties.class, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "overwriteFlag", scope = SetContentStream.class) + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeProperties", scope = GetContentChanges.class) + public JAXBElement createGetContentChangesIncludeProperties(Boolean value) { + return new JAXBElement(_GetContentChangesIncludeProperties_QNAME, Boolean.class, GetContentChanges.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeACL", scope = GetContentChanges.class) + public JAXBElement createGetContentChangesIncludeACL(Boolean value) { + return new JAXBElement(_GetContentChangesIncludeACL_QNAME, Boolean.class, GetContentChanges.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "maxItems", scope = GetContentChanges.class) + public JAXBElement createGetContentChangesMaxItems(BigInteger value) { + return new JAXBElement(_GetContentChangesMaxItems_QNAME, BigInteger.class, GetContentChanges.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "continueOnFailure", scope = DeleteTree.class) + public JAXBElement createDeleteTreeContinueOnFailure(Boolean value) { + return new JAXBElement(_DeleteTreeContinueOnFailure_QNAME, Boolean.class, DeleteTree.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "overwriteFlag", scope = SetContentStream.class) public JAXBElement createSetContentStreamOverwriteFlag(Boolean value) { return new JAXBElement(_SetContentStreamOverwriteFlag_QNAME, Boolean.class, SetContentStream.class, value); } /** - * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeAllowableActions", scope = GetObjectParents.class) - public JAXBElement createGetObjectParentsIncludeAllowableActions(Boolean value) { - return new JAXBElement(_GetAllVersionsIncludeAllowableActions_QNAME, Boolean.class, GetObjectParents.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "filter", scope = GetAppliedPolicies.class) + public JAXBElement createGetAppliedPoliciesFilter(String value) { + return new JAXBElement(_GetDescendantsFilter_QNAME, String.class, GetAppliedPolicies.class, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeRelationships", scope = GetObjectParents.class) - public JAXBElement createGetObjectParentsIncludeRelationships(Boolean value) { - return new JAXBElement(_GetAllVersionsIncludeRelationships_QNAME, Boolean.class, GetObjectParents.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includePropertyDefinitions", scope = GetTypes.class) + public JAXBElement createGetTypesIncludePropertyDefinitions(Boolean value) { + return new JAXBElement(_GetTypesIncludePropertyDefinitions_QNAME, Boolean.class, GetTypes.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "skipCount", scope = GetTypes.class) + public JAXBElement createGetTypesSkipCount(BigInteger value) { + return new JAXBElement(_GetTypesSkipCount_QNAME, BigInteger.class, GetTypes.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "maxItems", scope = GetTypes.class) + public JAXBElement createGetTypesMaxItems(BigInteger value) { + return new JAXBElement(_GetContentChangesMaxItems_QNAME, BigInteger.class, GetTypes.class, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "filter", scope = GetPropertiesOfLatestVersion.class) - public JAXBElement createGetPropertiesOfLatestVersionFilter(String value) { - return new JAXBElement(_GetAllVersionsFilter_QNAME, String.class, GetPropertiesOfLatestVersion.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "typeId", scope = GetTypes.class) + public JAXBElement createGetTypesTypeId(String value) { + return new JAXBElement(_GetTypesTypeId_QNAME, String.class, GetTypes.class, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "sourceFolderId", scope = MoveObject.class) + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "folderId", scope = CreatePolicy.class) + public JAXBElement createCreatePolicyFolderId(String value) { + return new JAXBElement(_RemoveObjectFromFolderFolderId_QNAME, String.class, CreatePolicy.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisContentStreamType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "contentStream", scope = CreateDocument.class) + public JAXBElement createCreateDocumentContentStream(CmisContentStreamType value) { + return new JAXBElement(_CreateDocumentContentStream_QNAME, CmisContentStreamType.class, CreateDocument.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EnumVersioningState }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "versioningState", scope = CreateDocument.class) + public JAXBElement createCreateDocumentVersioningState(EnumVersioningState value) { + return new JAXBElement(_CreateDocumentVersioningState_QNAME, EnumVersioningState.class, CreateDocument.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "returnToRoot", scope = GetFolderParent.class) + public JAXBElement createGetFolderParentReturnToRoot(Boolean value) { + return new JAXBElement(_GetFolderParentReturnToRoot_QNAME, Boolean.class, GetFolderParent.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeRelationships", scope = GetFolderParent.class) + public JAXBElement createGetFolderParentIncludeRelationships(EnumIncludeRelationships value) { + return new JAXBElement(_GetDescendantsIncludeRelationships_QNAME, EnumIncludeRelationships.class, GetFolderParent.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeAllowableActions", scope = GetFolderParent.class) + public JAXBElement createGetFolderParentIncludeAllowableActions(Boolean value) { + return new JAXBElement(_GetDescendantsIncludeAllowableActions_QNAME, Boolean.class, GetFolderParent.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "sourceFolderId", scope = MoveObject.class) public JAXBElement createMoveObjectSourceFolderId(String value) { return new JAXBElement(_MoveObjectSourceFolderId_QNAME, String.class, MoveObject.class, value); } @@ -2130,36 +1725,288 @@ public class ObjectFactory { * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "filter", scope = GetAppliedPolicies.class) - public JAXBElement createGetAppliedPoliciesFilter(String value) { - return new JAXBElement(_GetAllVersionsFilter_QNAME, String.class, GetAppliedPolicies.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "filter", scope = GetChildren.class) + public JAXBElement createGetChildrenFilter(String value) { + return new JAXBElement(_GetDescendantsFilter_QNAME, String.class, GetChildren.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "skipCount", scope = GetChildren.class) + public JAXBElement createGetChildrenSkipCount(BigInteger value) { + return new JAXBElement(_GetTypesSkipCount_QNAME, BigInteger.class, GetChildren.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "maxItems", scope = GetChildren.class) + public JAXBElement createGetChildrenMaxItems(BigInteger value) { + return new JAXBElement(_GetContentChangesMaxItems_QNAME, BigInteger.class, GetChildren.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeRelationships", scope = GetChildren.class) + public JAXBElement createGetChildrenIncludeRelationships(EnumIncludeRelationships value) { + return new JAXBElement(_GetDescendantsIncludeRelationships_QNAME, EnumIncludeRelationships.class, GetChildren.class, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeAllowableActions", scope = GetFolderParent.class) - public JAXBElement createGetFolderParentIncludeAllowableActions(Boolean value) { - return new JAXBElement(_GetAllVersionsIncludeAllowableActions_QNAME, Boolean.class, GetFolderParent.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeAllowableActions", scope = GetChildren.class) + public JAXBElement createGetChildrenIncludeAllowableActions(Boolean value) { + return new JAXBElement(_GetDescendantsIncludeAllowableActions_QNAME, Boolean.class, GetChildren.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EnumTypesOfFileableObjects }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "type", scope = GetChildren.class) + public JAXBElement createGetChildrenType(EnumTypesOfFileableObjects value) { + return new JAXBElement(_GetChildrenType_QNAME, EnumTypesOfFileableObjects.class, GetChildren.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "filter", scope = GetAllVersions.class) + public JAXBElement createGetAllVersionsFilter(String value) { + return new JAXBElement(_GetDescendantsFilter_QNAME, String.class, GetAllVersions.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeRelationships", scope = GetAllVersions.class) + public JAXBElement createGetAllVersionsIncludeRelationships(EnumIncludeRelationships value) { + return new JAXBElement(_GetDescendantsIncludeRelationships_QNAME, EnumIncludeRelationships.class, GetAllVersions.class, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "returnToRoot", scope = GetFolderParent.class) - public JAXBElement createGetFolderParentReturnToRoot(Boolean value) { - return new JAXBElement(_GetFolderParentReturnToRoot_QNAME, Boolean.class, GetFolderParent.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeAllowableActions", scope = GetAllVersions.class) + public JAXBElement createGetAllVersionsIncludeAllowableActions(Boolean value) { + return new JAXBElement(_GetDescendantsIncludeAllowableActions_QNAME, Boolean.class, GetAllVersions.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "filter", scope = GetRelationships.class) + public JAXBElement createGetRelationshipsFilter(String value) { + return new JAXBElement(_GetDescendantsFilter_QNAME, String.class, GetRelationships.class, value); } /** * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} * */ - @XmlElementDecl(namespace = "http://www.cmis.org/2008/05", name = "includeRelationships", scope = GetFolderParent.class) - public JAXBElement createGetFolderParentIncludeRelationships(Boolean value) { - return new JAXBElement(_GetAllVersionsIncludeRelationships_QNAME, Boolean.class, GetFolderParent.class, value); + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeSubRelationshipTypes", scope = GetRelationships.class) + public JAXBElement createGetRelationshipsIncludeSubRelationshipTypes(Boolean value) { + return new JAXBElement(_GetRelationshipsIncludeSubRelationshipTypes_QNAME, Boolean.class, GetRelationships.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "skipCount", scope = GetRelationships.class) + public JAXBElement createGetRelationshipsSkipCount(BigInteger value) { + return new JAXBElement(_GetTypesSkipCount_QNAME, BigInteger.class, GetRelationships.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "maxItems", scope = GetRelationships.class) + public JAXBElement createGetRelationshipsMaxItems(BigInteger value) { + return new JAXBElement(_GetContentChangesMaxItems_QNAME, BigInteger.class, GetRelationships.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "typeId", scope = GetRelationships.class) + public JAXBElement createGetRelationshipsTypeId(String value) { + return new JAXBElement(_GetTypesTypeId_QNAME, String.class, GetRelationships.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeRelationships", scope = GetRelationships.class) + public JAXBElement createGetRelationshipsIncludeRelationships(EnumIncludeRelationships value) { + return new JAXBElement(_GetDescendantsIncludeRelationships_QNAME, EnumIncludeRelationships.class, GetRelationships.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeAllowableActions", scope = GetRelationships.class) + public JAXBElement createGetRelationshipsIncludeAllowableActions(Boolean value) { + return new JAXBElement(_GetDescendantsIncludeAllowableActions_QNAME, Boolean.class, GetRelationships.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EnumRelationshipDirection }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "direction", scope = GetRelationships.class) + public JAXBElement createGetRelationshipsDirection(EnumRelationshipDirection value) { + return new JAXBElement(_GetRelationshipsDirection_QNAME, EnumRelationshipDirection.class, GetRelationships.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "changeToken", scope = UpdateProperties.class) + public JAXBElement createUpdatePropertiesChangeToken(String value) { + return new JAXBElement(_UpdatePropertiesChangeToken_QNAME, String.class, UpdateProperties.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "filter", scope = GetPropertiesOfLatestVersion.class) + public JAXBElement createGetPropertiesOfLatestVersionFilter(String value) { + return new JAXBElement(_GetDescendantsFilter_QNAME, String.class, GetPropertiesOfLatestVersion.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisPropertiesType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "properties", scope = CheckIn.class) + public JAXBElement createCheckInProperties(CmisPropertiesType value) { + return new JAXBElement(_CheckInProperties_QNAME, CmisPropertiesType.class, CheckIn.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "major", scope = CheckIn.class) + public JAXBElement createCheckInMajor(Boolean value) { + return new JAXBElement(_CheckInMajor_QNAME, Boolean.class, CheckIn.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CmisContentStreamType }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "contentStream", scope = CheckIn.class) + public JAXBElement createCheckInContentStream(CmisContentStreamType value) { + return new JAXBElement(_CreateDocumentContentStream_QNAME, CmisContentStreamType.class, CheckIn.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "checkinComment", scope = CheckIn.class) + public JAXBElement createCheckInCheckinComment(String value) { + return new JAXBElement(_CheckInCheckinComment_QNAME, String.class, CheckIn.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeRelationships", scope = GetObjectParents.class) + public JAXBElement createGetObjectParentsIncludeRelationships(EnumIncludeRelationships value) { + return new JAXBElement(_GetDescendantsIncludeRelationships_QNAME, EnumIncludeRelationships.class, GetObjectParents.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeAllowableActions", scope = GetObjectParents.class) + public JAXBElement createGetObjectParentsIncludeAllowableActions(Boolean value) { + return new JAXBElement(_GetDescendantsIncludeAllowableActions_QNAME, Boolean.class, GetObjectParents.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "folderId", scope = GetCheckedoutDocs.class) + public JAXBElement createGetCheckedoutDocsFolderId(String value) { + return new JAXBElement(_RemoveObjectFromFolderFolderId_QNAME, String.class, GetCheckedoutDocs.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "filter", scope = GetCheckedoutDocs.class) + public JAXBElement createGetCheckedoutDocsFilter(String value) { + return new JAXBElement(_GetDescendantsFilter_QNAME, String.class, GetCheckedoutDocs.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "skipCount", scope = GetCheckedoutDocs.class) + public JAXBElement createGetCheckedoutDocsSkipCount(BigInteger value) { + return new JAXBElement(_GetTypesSkipCount_QNAME, BigInteger.class, GetCheckedoutDocs.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link BigInteger }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "maxItems", scope = GetCheckedoutDocs.class) + public JAXBElement createGetCheckedoutDocsMaxItems(BigInteger value) { + return new JAXBElement(_GetContentChangesMaxItems_QNAME, BigInteger.class, GetCheckedoutDocs.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EnumIncludeRelationships }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeRelationships", scope = GetCheckedoutDocs.class) + public JAXBElement createGetCheckedoutDocsIncludeRelationships(EnumIncludeRelationships value) { + return new JAXBElement(_GetDescendantsIncludeRelationships_QNAME, EnumIncludeRelationships.class, GetCheckedoutDocs.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link Boolean }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "includeAllowableActions", scope = GetCheckedoutDocs.class) + public JAXBElement createGetCheckedoutDocsIncludeAllowableActions(Boolean value) { + return new JAXBElement(_GetDescendantsIncludeAllowableActions_QNAME, Boolean.class, GetCheckedoutDocs.class, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}} + * + */ + @XmlElementDecl(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", name = "orderBy", scope = GetCheckedoutDocs.class) + public JAXBElement createGetCheckedoutDocsOrderBy(String value) { + return new JAXBElement(_GetCheckedoutDocsOrderBy_QNAME, String.class, GetCheckedoutDocs.class, value); } } diff --git a/source/generated/org/alfresco/repo/cmis/ws/ObjectNotFoundException.java b/source/generated/org/alfresco/repo/cmis/ws/ObjectNotFoundException.java deleted file mode 100644 index ef70fa686b..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/ObjectNotFoundException.java +++ /dev/null @@ -1,45 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.ws.WebFault; - - -/** - * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:45:08 EEST 2008 - * Generated source version: 2.1.2 - * - */ - -@WebFault(name = "objectNotFoundException", targetNamespace = "http://www.cmis.org/2008/05") -public class ObjectNotFoundException extends Exception { - public static final long serialVersionUID = 20080905134508L; - - private org.alfresco.repo.cmis.ws.ObjectNotFoundExceptionType objectNotFoundException; - - public ObjectNotFoundException() { - super(); - } - - public ObjectNotFoundException(String message) { - super(message); - } - - public ObjectNotFoundException(String message, Throwable cause) { - super(message, cause); - } - - public ObjectNotFoundException(String message, org.alfresco.repo.cmis.ws.ObjectNotFoundExceptionType objectNotFoundException) { - super(message); - this.objectNotFoundException = objectNotFoundException; - } - - public ObjectNotFoundException(String message, org.alfresco.repo.cmis.ws.ObjectNotFoundExceptionType objectNotFoundException, Throwable cause) { - super(message, cause); - this.objectNotFoundException = objectNotFoundException; - } - - public org.alfresco.repo.cmis.ws.ObjectNotFoundExceptionType getFaultInfo() { - return this.objectNotFoundException; - } -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/ObjectNotFoundExceptionType.java b/source/generated/org/alfresco/repo/cmis/ws/ObjectNotFoundExceptionType.java deleted file mode 100755 index 89ab366e4c..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/ObjectNotFoundExceptionType.java +++ /dev/null @@ -1,32 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - - -/** - *

Java class for objectNotFoundExceptionType complex type. - * - *

The following schema fragment specifies the expected content contained within this class. - * - *

- * <complexType name="objectNotFoundExceptionType">
- *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisFaultType">
- *     </extension>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "objectNotFoundExceptionType") -public class ObjectNotFoundExceptionType - extends CmisFaultType -{ - - -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/ObjectService.java b/source/generated/org/alfresco/repo/cmis/ws/ObjectService.java index ef0aa718d9..48d5762a13 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/ObjectService.java +++ b/source/generated/org/alfresco/repo/cmis/ws/ObjectService.java @@ -15,26 +15,26 @@ import javax.xml.ws.WebServiceFeature; /** * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:38 EEST 2008 + * Mon Apr 27 21:08:02 EEST 2009 * Generated source version: 2.1.2 * */ @WebServiceClient(name = "ObjectService", - wsdlLocation = "file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/ObjectService.wsdl", - targetNamespace = "http://www.cmis.org/2008/05") + wsdlLocation = "file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl", + targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901") public class ObjectService extends Service { public final static URL WSDL_LOCATION; - public final static QName SERVICE = new QName("http://www.cmis.org/2008/05", "ObjectService"); - public final static QName ObjectServicePort = new QName("http://www.cmis.org/2008/05", "ObjectServicePort"); + public final static QName SERVICE = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "ObjectService"); + public final static QName ObjectServicePort = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "ObjectServicePort"); static { URL url = null; try { - url = new URL("file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/ObjectService.wsdl"); + url = new URL("file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl"); } catch (MalformedURLException e) { - System.err.println("Can not initialize the default wsdl from file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/ObjectService.wsdl"); + System.err.println("Can not initialize the default wsdl from file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl"); // e.printStackTrace(); } WSDL_LOCATION = url; diff --git a/source/generated/org/alfresco/repo/cmis/ws/ObjectServicePort.java b/source/generated/org/alfresco/repo/cmis/ws/ObjectServicePort.java index e823698b40..786da51130 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/ObjectServicePort.java +++ b/source/generated/org/alfresco/repo/cmis/ws/ObjectServicePort.java @@ -13,185 +13,185 @@ import javax.xml.ws.ResponseWrapper; /** * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:38 EEST 2008 + * Mon Apr 27 21:08:02 EEST 2009 * Generated source version: 2.1.2 * */ -@WebService(targetNamespace = "http://www.cmis.org/2008/05", name = "ObjectServicePort") +@WebService(targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901", name = "ObjectServicePort") @XmlSeeAlso({ObjectFactory.class}) public interface ObjectServicePort { - @ResponseWrapper(localName = "setContentStreamResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.SetContentStreamResponse") - @RequestWrapper(localName = "setContentStream", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.SetContentStream") - @WebMethod - public void setContentStream( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String repositoryId, - @WebParam(mode = WebParam.Mode.INOUT, name = "documentId", targetNamespace = "http://www.cmis.org/2008/05") - javax.xml.ws.Holder documentId, - @WebParam(name = "overwriteFlag", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.Boolean overwriteFlag, - @WebParam(name = "contentStream", targetNamespace = "http://www.cmis.org/2008/05") - org.alfresco.repo.cmis.ws.CmisContentStreamType contentStream - ) throws PermissionDeniedException, UpdateConflictException, StorageException, StreamNotSupportedException, ObjectNotFoundException, OperationNotSupportedException, ContentAlreadyExistsException, InvalidArgumentException, RuntimeException, ConstraintViolationException; - - @ResponseWrapper(localName = "createRelationshipResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.CreateRelationshipResponse") - @RequestWrapper(localName = "createRelationship", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.CreateRelationship") - @WebResult(name = "objectId", targetNamespace = "http://www.cmis.org/2008/05") - @WebMethod - public java.lang.String createRelationship( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String repositoryId, - @WebParam(name = "typeId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String typeId, - @WebParam(name = "properties", targetNamespace = "http://www.cmis.org/2008/05") - org.alfresco.repo.cmis.ws.CmisPropertiesType properties, - @WebParam(name = "sourceObjectId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String sourceObjectId, - @WebParam(name = "targetObjectId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String targetObjectId - ) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, TypeNotFoundException, InvalidArgumentException, RuntimeException, ConstraintViolationException; - - @ResponseWrapper(localName = "createDocumentResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.CreateDocumentResponse") - @RequestWrapper(localName = "createDocument", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.CreateDocument") - @WebResult(name = "objectId", targetNamespace = "http://www.cmis.org/2008/05") - @WebMethod - public java.lang.String createDocument( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String repositoryId, - @WebParam(name = "typeId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String typeId, - @WebParam(name = "properties", targetNamespace = "http://www.cmis.org/2008/05") - org.alfresco.repo.cmis.ws.CmisPropertiesType properties, - @WebParam(name = "folderId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String folderId, - @WebParam(name = "contentStream", targetNamespace = "http://www.cmis.org/2008/05") - org.alfresco.repo.cmis.ws.CmisContentStreamType contentStream, - @WebParam(name = "versioningState", targetNamespace = "http://www.cmis.org/2008/05") - org.alfresco.repo.cmis.ws.EnumVersioningState versioningState - ) throws PermissionDeniedException, UpdateConflictException, StorageException, StreamNotSupportedException, FolderNotValidException, OperationNotSupportedException, TypeNotFoundException, InvalidArgumentException, RuntimeException, ConstraintViolationException; - - @ResponseWrapper(localName = "getContentStreamResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.GetContentStreamResponse") - @RequestWrapper(localName = "getContentStream", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.GetContentStream") - @WebResult(name = "contentStream", targetNamespace = "http://www.cmis.org/2008/05") + @WebResult(name = "contentStream", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + @RequestWrapper(localName = "getContentStream", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.GetContentStream") + @ResponseWrapper(localName = "getContentStreamResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.GetContentStreamResponse") @WebMethod public org.alfresco.repo.cmis.ws.CmisContentStreamType getContentStream( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String repositoryId, - @WebParam(name = "documentId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "documentId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String documentId - ) throws PermissionDeniedException, UpdateConflictException, StorageException, StreamNotSupportedException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, OffsetException; + ) throws CmisException; - @ResponseWrapper(localName = "updatePropertiesResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.UpdatePropertiesResponse") - @RequestWrapper(localName = "updateProperties", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.UpdateProperties") + @WebResult(name = "objectId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + @RequestWrapper(localName = "createRelationship", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.CreateRelationship") + @ResponseWrapper(localName = "createRelationshipResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.CreateRelationshipResponse") + @WebMethod + public java.lang.String createRelationship( + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String repositoryId, + @WebParam(name = "typeId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String typeId, + @WebParam(name = "properties", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + org.alfresco.repo.cmis.ws.CmisPropertiesType properties, + @WebParam(name = "sourceObjectId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String sourceObjectId, + @WebParam(name = "targetObjectId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String targetObjectId + ) throws CmisException; + + @WebResult(name = "objectId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + @RequestWrapper(localName = "createDocument", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.CreateDocument") + @ResponseWrapper(localName = "createDocumentResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.CreateDocumentResponse") + @WebMethod + public java.lang.String createDocument( + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String repositoryId, + @WebParam(name = "typeId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String typeId, + @WebParam(name = "properties", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + org.alfresco.repo.cmis.ws.CmisPropertiesType properties, + @WebParam(name = "folderId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String folderId, + @WebParam(name = "contentStream", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + org.alfresco.repo.cmis.ws.CmisContentStreamType contentStream, + @WebParam(name = "versioningState", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + org.alfresco.repo.cmis.ws.EnumVersioningState versioningState + ) throws CmisException; + + @RequestWrapper(localName = "updateProperties", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.UpdateProperties") + @ResponseWrapper(localName = "updatePropertiesResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.UpdatePropertiesResponse") @WebMethod public void updateProperties( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String repositoryId, - @WebParam(mode = WebParam.Mode.INOUT, name = "objectId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(mode = WebParam.Mode.INOUT, name = "objectId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") javax.xml.ws.Holder objectId, - @WebParam(name = "changeToken", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "changeToken", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String changeToken, - @WebParam(name = "properties", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "properties", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") org.alfresco.repo.cmis.ws.CmisPropertiesType properties - ) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; + ) throws CmisException; - @ResponseWrapper(localName = "createFolderResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.CreateFolderResponse") - @RequestWrapper(localName = "createFolder", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.CreateFolder") - @WebResult(name = "objectId", targetNamespace = "http://www.cmis.org/2008/05") + @WebResult(name = "objectId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + @RequestWrapper(localName = "createFolder", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.CreateFolder") + @ResponseWrapper(localName = "createFolderResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.CreateFolderResponse") @WebMethod public java.lang.String createFolder( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String repositoryId, - @WebParam(name = "typeId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "typeId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String typeId, - @WebParam(name = "properties", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "properties", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") org.alfresco.repo.cmis.ws.CmisPropertiesType properties, - @WebParam(name = "folderId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "folderId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String folderId - ) throws PermissionDeniedException, UpdateConflictException, FolderNotValidException, OperationNotSupportedException, TypeNotFoundException, InvalidArgumentException, RuntimeException, ConstraintViolationException; - - @ResponseWrapper(localName = "deleteContentStreamResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.DeleteContentStreamResponse") - @RequestWrapper(localName = "deleteContentStream", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.DeleteContentStream") - @WebMethod - public void deleteContentStream( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String repositoryId, - @WebParam(name = "documentId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String documentId - ) throws PermissionDeniedException, UpdateConflictException, StorageException, StreamNotSupportedException, ObjectNotFoundException, OperationNotSupportedException, VersioningException, InvalidArgumentException, RuntimeException, ConstraintViolationException; - - @ResponseWrapper(localName = "moveObjectResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.MoveObjectResponse") - @RequestWrapper(localName = "moveObject", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.MoveObject") - @WebMethod - public void moveObject( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String repositoryId, - @WebParam(name = "objectId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String objectId, - @WebParam(name = "targetFolderId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String targetFolderId, - @WebParam(name = "sourceFolderId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String sourceFolderId - ) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, FolderNotValidException, OperationNotSupportedException, NotInFolderException, InvalidArgumentException, RuntimeException, ConstraintViolationException; - - @ResponseWrapper(localName = "deleteObjectResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.DeleteObjectResponse") - @RequestWrapper(localName = "deleteObject", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.DeleteObject") - @WebMethod - public void deleteObject( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String repositoryId, - @WebParam(name = "objectId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String objectId - ) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; - - @ResponseWrapper(localName = "deleteTreeResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.DeleteTreeResponse") - @RequestWrapper(localName = "deleteTree", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.DeleteTree") - @WebResult(name = "failedToDelete", targetNamespace = "http://www.cmis.org/2008/05") - @WebMethod - public org.alfresco.repo.cmis.ws.DeleteTreeResponse.FailedToDelete deleteTree( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String repositoryId, - @WebParam(name = "folderId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String folderId, - @WebParam(name = "unfileNonfolderObjects", targetNamespace = "http://www.cmis.org/2008/05") - org.alfresco.repo.cmis.ws.EnumUnfileNonfolderObjects unfileNonfolderObjects, - @WebParam(name = "continueOnFailure", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.Boolean continueOnFailure - ) throws PermissionDeniedException, UpdateConflictException, FolderNotValidException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; + ) throws CmisException; @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) - @WebResult(name = "getPropertiesResponse", targetNamespace = "http://www.cmis.org/2008/05", partName = "parameters") + @WebResult(name = "getPropertiesResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", partName = "parameters") @WebMethod public GetPropertiesResponse getProperties( - @WebParam(partName = "parameters", name = "getProperties", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(partName = "parameters", name = "getProperties", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") GetProperties parameters - ) throws PermissionDeniedException, UpdateConflictException, FilterNotValidException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException; + ) throws CmisException; - @ResponseWrapper(localName = "createPolicyResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.CreatePolicyResponse") - @RequestWrapper(localName = "createPolicy", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.CreatePolicy") - @WebResult(name = "objectId", targetNamespace = "http://www.cmis.org/2008/05") + @WebResult(name = "objectId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + @RequestWrapper(localName = "createPolicy", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.CreatePolicy") + @ResponseWrapper(localName = "createPolicyResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.CreatePolicyResponse") @WebMethod public java.lang.String createPolicy( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String repositoryId, - @WebParam(name = "typeId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "typeId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String typeId, - @WebParam(name = "properties", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "properties", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") org.alfresco.repo.cmis.ws.CmisPropertiesType properties, - @WebParam(name = "folderId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "folderId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String folderId - ) throws PermissionDeniedException, UpdateConflictException, FolderNotValidException, OperationNotSupportedException, TypeNotFoundException, InvalidArgumentException, RuntimeException, ConstraintViolationException; + ) throws CmisException; - @ResponseWrapper(localName = "getAllowableActionsResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.GetAllowableActionsResponse") - @RequestWrapper(localName = "getAllowableActions", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.GetAllowableActions") - @WebResult(name = "allowableActions", targetNamespace = "http://www.cmis.org/2008/05") + @WebResult(name = "failedToDelete", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + @RequestWrapper(localName = "deleteTree", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.DeleteTree") + @ResponseWrapper(localName = "deleteTreeResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.DeleteTreeResponse") + @WebMethod + public org.alfresco.repo.cmis.ws.DeleteTreeResponse.FailedToDelete deleteTree( + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String repositoryId, + @WebParam(name = "folderId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String folderId, + @WebParam(name = "unfileNonfolderObjects", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + org.alfresco.repo.cmis.ws.EnumUnfileNonfolderObjects unfileNonfolderObjects, + @WebParam(name = "continueOnFailure", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.Boolean continueOnFailure + ) throws CmisException; + + @RequestWrapper(localName = "setContentStream", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.SetContentStream") + @ResponseWrapper(localName = "setContentStreamResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.SetContentStreamResponse") + @WebMethod + public void setContentStream( + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String repositoryId, + @WebParam(mode = WebParam.Mode.INOUT, name = "documentId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + javax.xml.ws.Holder documentId, + @WebParam(name = "overwriteFlag", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.Boolean overwriteFlag, + @WebParam(name = "contentStream", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + org.alfresco.repo.cmis.ws.CmisContentStreamType contentStream + ) throws CmisException; + + @RequestWrapper(localName = "deleteContentStream", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.DeleteContentStream") + @ResponseWrapper(localName = "deleteContentStreamResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.DeleteContentStreamResponse") + @WebMethod + public void deleteContentStream( + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String repositoryId, + @WebParam(name = "documentId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String documentId + ) throws CmisException; + + @RequestWrapper(localName = "deleteObject", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.DeleteObject") + @ResponseWrapper(localName = "deleteObjectResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.DeleteObjectResponse") + @WebMethod + public void deleteObject( + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String repositoryId, + @WebParam(name = "objectId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String objectId + ) throws CmisException; + + @RequestWrapper(localName = "moveObject", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.MoveObject") + @ResponseWrapper(localName = "moveObjectResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.MoveObjectResponse") + @WebMethod + public void moveObject( + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String repositoryId, + @WebParam(name = "objectId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String objectId, + @WebParam(name = "targetFolderId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String targetFolderId, + @WebParam(name = "sourceFolderId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String sourceFolderId + ) throws CmisException; + + @WebResult(name = "allowableActions", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + @RequestWrapper(localName = "getAllowableActions", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.GetAllowableActions") + @ResponseWrapper(localName = "getAllowableActionsResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.GetAllowableActionsResponse") @WebMethod public org.alfresco.repo.cmis.ws.CmisAllowableActionsType getAllowableActions( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String repositoryId, - @WebParam(name = "objectId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "objectId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String objectId - ) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException; + ) throws CmisException; } diff --git a/source/generated/org/alfresco/repo/cmis/ws/ObjectTreeCollectionType.java b/source/generated/org/alfresco/repo/cmis/ws/ObjectTreeCollectionType.java index efbd1f9458..972c131a14 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/ObjectTreeCollectionType.java +++ b/source/generated/org/alfresco/repo/cmis/ws/ObjectTreeCollectionType.java @@ -22,9 +22,9 @@ import javax.xml.namespace.QName; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element name="object" type="{http://www.cmis.org/2008/05}cmisObjectType" maxOccurs="unbounded" minOccurs="0"/> + * <element name="object" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisObjectType" maxOccurs="unbounded" minOccurs="0"/> * </sequence> - * <attGroup ref="{http://www.cmis.org/2008/05}cmisUndefinedAttribute"/> + * <attGroup ref="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisUndefinedAttribute"/> * </restriction> * </complexContent> * </complexType> @@ -33,7 +33,7 @@ import javax.xml.namespace.QName; * */ @XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "objectTreeCollectionType", propOrder = { +@XmlType(name = "objectTreeCollectionType", namespace = "http://docs.oasis-open.org/ns/cmis/core/200901", propOrder = { "object" }) public class ObjectTreeCollectionType { diff --git a/source/generated/org/alfresco/repo/cmis/ws/OffsetException.java b/source/generated/org/alfresco/repo/cmis/ws/OffsetException.java deleted file mode 100644 index 836c48158a..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/OffsetException.java +++ /dev/null @@ -1,45 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.ws.WebFault; - - -/** - * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:38 EEST 2008 - * Generated source version: 2.1.2 - * - */ - -@WebFault(name = "offsetException", targetNamespace = "http://www.cmis.org/2008/05") -public class OffsetException extends Exception { - public static final long serialVersionUID = 20080905134438L; - - private org.alfresco.repo.cmis.ws.OffsetExceptionType offsetException; - - public OffsetException() { - super(); - } - - public OffsetException(String message) { - super(message); - } - - public OffsetException(String message, Throwable cause) { - super(message, cause); - } - - public OffsetException(String message, org.alfresco.repo.cmis.ws.OffsetExceptionType offsetException) { - super(message); - this.offsetException = offsetException; - } - - public OffsetException(String message, org.alfresco.repo.cmis.ws.OffsetExceptionType offsetException, Throwable cause) { - super(message, cause); - this.offsetException = offsetException; - } - - public org.alfresco.repo.cmis.ws.OffsetExceptionType getFaultInfo() { - return this.offsetException; - } -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/OffsetExceptionType.java b/source/generated/org/alfresco/repo/cmis/ws/OffsetExceptionType.java deleted file mode 100755 index 241d98fff7..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/OffsetExceptionType.java +++ /dev/null @@ -1,32 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - - -/** - *

Java class for offsetExceptionType complex type. - * - *

The following schema fragment specifies the expected content contained within this class. - * - *

- * <complexType name="offsetExceptionType">
- *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisFaultType">
- *     </extension>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "offsetExceptionType") -public class OffsetExceptionType - extends CmisFaultType -{ - - -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/OperationNotSupportedException.java b/source/generated/org/alfresco/repo/cmis/ws/OperationNotSupportedException.java deleted file mode 100644 index 98b92b5237..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/OperationNotSupportedException.java +++ /dev/null @@ -1,45 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.ws.WebFault; - - -/** - * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:45:08 EEST 2008 - * Generated source version: 2.1.2 - * - */ - -@WebFault(name = "operationNotSupportedException", targetNamespace = "http://www.cmis.org/2008/05") -public class OperationNotSupportedException extends Exception { - public static final long serialVersionUID = 20080905134508L; - - private org.alfresco.repo.cmis.ws.OperationNotSupportedExceptionType operationNotSupportedException; - - public OperationNotSupportedException() { - super(); - } - - public OperationNotSupportedException(String message) { - super(message); - } - - public OperationNotSupportedException(String message, Throwable cause) { - super(message, cause); - } - - public OperationNotSupportedException(String message, org.alfresco.repo.cmis.ws.OperationNotSupportedExceptionType operationNotSupportedException) { - super(message); - this.operationNotSupportedException = operationNotSupportedException; - } - - public OperationNotSupportedException(String message, org.alfresco.repo.cmis.ws.OperationNotSupportedExceptionType operationNotSupportedException, Throwable cause) { - super(message, cause); - this.operationNotSupportedException = operationNotSupportedException; - } - - public org.alfresco.repo.cmis.ws.OperationNotSupportedExceptionType getFaultInfo() { - return this.operationNotSupportedException; - } -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/OperationNotSupportedExceptionType.java b/source/generated/org/alfresco/repo/cmis/ws/OperationNotSupportedExceptionType.java deleted file mode 100755 index c5420be91e..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/OperationNotSupportedExceptionType.java +++ /dev/null @@ -1,32 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - - -/** - *

Java class for operationNotSupportedExceptionType complex type. - * - *

The following schema fragment specifies the expected content contained within this class. - * - *

- * <complexType name="operationNotSupportedExceptionType">
- *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisFaultType">
- *     </extension>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "operationNotSupportedExceptionType") -public class OperationNotSupportedExceptionType - extends CmisFaultType -{ - - -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/PermissionDeniedException.java b/source/generated/org/alfresco/repo/cmis/ws/PermissionDeniedException.java deleted file mode 100644 index 7100ee31a4..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/PermissionDeniedException.java +++ /dev/null @@ -1,45 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.ws.WebFault; - - -/** - * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:45:07 EEST 2008 - * Generated source version: 2.1.2 - * - */ - -@WebFault(name = "permissionDeniedException", targetNamespace = "http://www.cmis.org/2008/05") -public class PermissionDeniedException extends Exception { - public static final long serialVersionUID = 20080905134507L; - - private org.alfresco.repo.cmis.ws.PermissionDeniedExceptionType permissionDeniedException; - - public PermissionDeniedException() { - super(); - } - - public PermissionDeniedException(String message) { - super(message); - } - - public PermissionDeniedException(String message, Throwable cause) { - super(message, cause); - } - - public PermissionDeniedException(String message, org.alfresco.repo.cmis.ws.PermissionDeniedExceptionType permissionDeniedException) { - super(message); - this.permissionDeniedException = permissionDeniedException; - } - - public PermissionDeniedException(String message, org.alfresco.repo.cmis.ws.PermissionDeniedExceptionType permissionDeniedException, Throwable cause) { - super(message, cause); - this.permissionDeniedException = permissionDeniedException; - } - - public org.alfresco.repo.cmis.ws.PermissionDeniedExceptionType getFaultInfo() { - return this.permissionDeniedException; - } -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/PermissionDeniedExceptionType.java b/source/generated/org/alfresco/repo/cmis/ws/PermissionDeniedExceptionType.java deleted file mode 100755 index 532bdd054d..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/PermissionDeniedExceptionType.java +++ /dev/null @@ -1,32 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - - -/** - *

Java class for permissionDeniedExceptionType complex type. - * - *

The following schema fragment specifies the expected content contained within this class. - * - *

- * <complexType name="permissionDeniedExceptionType">
- *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisFaultType">
- *     </extension>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "permissionDeniedExceptionType") -public class PermissionDeniedExceptionType - extends CmisFaultType -{ - - -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/PolicyService.java b/source/generated/org/alfresco/repo/cmis/ws/PolicyService.java index 766ba75e83..5047297c49 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/PolicyService.java +++ b/source/generated/org/alfresco/repo/cmis/ws/PolicyService.java @@ -15,26 +15,26 @@ import javax.xml.ws.WebServiceFeature; /** * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:59 EEST 2008 + * Mon Apr 27 21:08:02 EEST 2009 * Generated source version: 2.1.2 * */ @WebServiceClient(name = "PolicyService", - wsdlLocation = "file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/PolicyService.wsdl", - targetNamespace = "http://www.cmis.org/2008/05") + wsdlLocation = "file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl", + targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901") public class PolicyService extends Service { public final static URL WSDL_LOCATION; - public final static QName SERVICE = new QName("http://www.cmis.org/2008/05", "PolicyService"); - public final static QName PolicyServicePort = new QName("http://www.cmis.org/2008/05", "PolicyServicePort"); + public final static QName SERVICE = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "PolicyService"); + public final static QName PolicyServicePort = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "PolicyServicePort"); static { URL url = null; try { - url = new URL("file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/PolicyService.wsdl"); + url = new URL("file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl"); } catch (MalformedURLException e) { - System.err.println("Can not initialize the default wsdl from file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/PolicyService.wsdl"); + System.err.println("Can not initialize the default wsdl from file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl"); // e.printStackTrace(); } WSDL_LOCATION = url; diff --git a/source/generated/org/alfresco/repo/cmis/ws/PolicyServicePort.java b/source/generated/org/alfresco/repo/cmis/ws/PolicyServicePort.java index c5a7127cd7..fe5de9eadf 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/PolicyServicePort.java +++ b/source/generated/org/alfresco/repo/cmis/ws/PolicyServicePort.java @@ -12,44 +12,44 @@ import javax.xml.ws.ResponseWrapper; /** * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:59 EEST 2008 + * Mon Apr 27 21:08:02 EEST 2009 * Generated source version: 2.1.2 * */ -@WebService(targetNamespace = "http://www.cmis.org/2008/05", name = "PolicyServicePort") +@WebService(targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901", name = "PolicyServicePort") @XmlSeeAlso({ObjectFactory.class}) public interface PolicyServicePort { - @ResponseWrapper(localName = "removePolicyResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.RemovePolicyResponse") - @RequestWrapper(localName = "removePolicy", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.RemovePolicy") - @WebMethod - public void removePolicy( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String repositoryId, - @WebParam(name = "policyId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String policyId, - @WebParam(name = "objectId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String objectId - ) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; - - @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) - @WebResult(name = "getAppliedPoliciesResponse", targetNamespace = "http://www.cmis.org/2008/05", partName = "parameters") - @WebMethod - public GetAppliedPoliciesResponse getAppliedPolicies( - @WebParam(partName = "parameters", name = "getAppliedPolicies", targetNamespace = "http://www.cmis.org/2008/05") - GetAppliedPolicies parameters - ) throws PermissionDeniedException, UpdateConflictException, FilterNotValidException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; - - @ResponseWrapper(localName = "applyPolicyResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.ApplyPolicyResponse") - @RequestWrapper(localName = "applyPolicy", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.ApplyPolicy") + @RequestWrapper(localName = "applyPolicy", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.ApplyPolicy") + @ResponseWrapper(localName = "applyPolicyResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.ApplyPolicyResponse") @WebMethod public void applyPolicy( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String repositoryId, - @WebParam(name = "policyId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "policyId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String policyId, - @WebParam(name = "objectId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "objectId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String objectId - ) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; + ) throws CmisException; + + @RequestWrapper(localName = "removePolicy", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.RemovePolicy") + @ResponseWrapper(localName = "removePolicyResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.RemovePolicyResponse") + @WebMethod + public void removePolicy( + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String repositoryId, + @WebParam(name = "policyId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String policyId, + @WebParam(name = "objectId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String objectId + ) throws CmisException; + + @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) + @WebResult(name = "getAppliedPoliciesResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", partName = "parameters") + @WebMethod + public GetAppliedPoliciesResponse getAppliedPolicies( + @WebParam(partName = "parameters", name = "getAppliedPolicies", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + GetAppliedPolicies parameters + ) throws CmisException; } diff --git a/source/generated/org/alfresco/repo/cmis/ws/QueryResponse.java b/source/generated/org/alfresco/repo/cmis/ws/QueryResponse.java index c458503a13..603c728df2 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/QueryResponse.java +++ b/source/generated/org/alfresco/repo/cmis/ws/QueryResponse.java @@ -5,6 +5,7 @@ import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAccessType; import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlType; @@ -19,7 +20,7 @@ import javax.xml.bind.annotation.XmlType; * <complexContent> * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> * <sequence> - * <element ref="{http://www.cmis.org/2008/05}object" maxOccurs="unbounded" minOccurs="0"/> + * <element ref="{http://docs.oasis-open.org/ns/cmis/core/200901}object" maxOccurs="unbounded" minOccurs="0"/> * <element name="hasMoreItems" type="{http://www.w3.org/2001/XMLSchema}boolean"/> * </sequence> * </restriction> @@ -37,6 +38,7 @@ import javax.xml.bind.annotation.XmlType; @XmlRootElement(name = "queryResponse") public class QueryResponse { + @XmlElement(namespace = "http://docs.oasis-open.org/ns/cmis/core/200901") protected List object; protected boolean hasMoreItems; diff --git a/source/generated/org/alfresco/repo/cmis/ws/RelationshipService.java b/source/generated/org/alfresco/repo/cmis/ws/RelationshipService.java index 2289585c12..a72a3b5d3b 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/RelationshipService.java +++ b/source/generated/org/alfresco/repo/cmis/ws/RelationshipService.java @@ -15,26 +15,26 @@ import javax.xml.ws.WebServiceFeature; /** * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:45:03 EEST 2008 + * Mon Apr 27 21:08:02 EEST 2009 * Generated source version: 2.1.2 * */ @WebServiceClient(name = "RelationshipService", - wsdlLocation = "file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/RelationshipService.wsdl", - targetNamespace = "http://www.cmis.org/2008/05") + wsdlLocation = "file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl", + targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901") public class RelationshipService extends Service { public final static URL WSDL_LOCATION; - public final static QName SERVICE = new QName("http://www.cmis.org/2008/05", "RelationshipService"); - public final static QName RelationshipServicePort = new QName("http://www.cmis.org/2008/05", "RelationshipServicePort"); + public final static QName SERVICE = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "RelationshipService"); + public final static QName RelationshipServicePort = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "RelationshipServicePort"); static { URL url = null; try { - url = new URL("file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/RelationshipService.wsdl"); + url = new URL("file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl"); } catch (MalformedURLException e) { - System.err.println("Can not initialize the default wsdl from file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/RelationshipService.wsdl"); + System.err.println("Can not initialize the default wsdl from file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl"); // e.printStackTrace(); } WSDL_LOCATION = url; diff --git a/source/generated/org/alfresco/repo/cmis/ws/RelationshipServicePort.java b/source/generated/org/alfresco/repo/cmis/ws/RelationshipServicePort.java index f7c00f306d..ab2dba40c1 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/RelationshipServicePort.java +++ b/source/generated/org/alfresco/repo/cmis/ws/RelationshipServicePort.java @@ -10,20 +10,20 @@ import javax.xml.bind.annotation.XmlSeeAlso; /** * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:45:03 EEST 2008 + * Mon Apr 27 21:08:02 EEST 2009 * Generated source version: 2.1.2 * */ -@WebService(targetNamespace = "http://www.cmis.org/2008/05", name = "RelationshipServicePort") +@WebService(targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901", name = "RelationshipServicePort") @XmlSeeAlso({ObjectFactory.class}) @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) public interface RelationshipServicePort { - @WebResult(name = "getRelationshipsResponse", targetNamespace = "http://www.cmis.org/2008/05", partName = "parameters") + @WebResult(name = "getRelationshipsResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", partName = "parameters") @WebMethod public GetRelationshipsResponse getRelationships( - @WebParam(partName = "parameters", name = "getRelationships", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(partName = "parameters", name = "getRelationships", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") GetRelationships parameters - ) throws PermissionDeniedException, UpdateConflictException, FilterNotValidException, ObjectNotFoundException, OperationNotSupportedException, TypeNotFoundException, InvalidArgumentException, RuntimeException, ConstraintViolationException; + ) throws CmisException; } diff --git a/source/generated/org/alfresco/repo/cmis/ws/RemoveObjectFromFolder.java b/source/generated/org/alfresco/repo/cmis/ws/RemoveObjectFromFolder.java index c180200cf2..93aad1812f 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/RemoveObjectFromFolder.java +++ b/source/generated/org/alfresco/repo/cmis/ws/RemoveObjectFromFolder.java @@ -44,7 +44,7 @@ public class RemoveObjectFromFolder { protected String repositoryId; @XmlElement(required = true) protected String objectId; - @XmlElementRef(name = "folderId", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "folderId", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement folderId; /** diff --git a/source/generated/org/alfresco/repo/cmis/ws/RepositoryService.java b/source/generated/org/alfresco/repo/cmis/ws/RepositoryService.java index 6bc3dbe197..13d24f3828 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/RepositoryService.java +++ b/source/generated/org/alfresco/repo/cmis/ws/RepositoryService.java @@ -15,26 +15,26 @@ import javax.xml.ws.WebServiceFeature; /** * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:43 EEST 2008 + * Mon Apr 27 21:08:02 EEST 2009 * Generated source version: 2.1.2 * */ @WebServiceClient(name = "RepositoryService", - wsdlLocation = "file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/RepositoryService.wsdl", - targetNamespace = "http://www.cmis.org/2008/05") + wsdlLocation = "file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl", + targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901") public class RepositoryService extends Service { public final static URL WSDL_LOCATION; - public final static QName SERVICE = new QName("http://www.cmis.org/2008/05", "RepositoryService"); - public final static QName RepositoryServicePort = new QName("http://www.cmis.org/2008/05", "RepositoryServicePort"); + public final static QName SERVICE = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "RepositoryService"); + public final static QName RepositoryServicePort = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "RepositoryServicePort"); static { URL url = null; try { - url = new URL("file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/RepositoryService.wsdl"); + url = new URL("file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl"); } catch (MalformedURLException e) { - System.err.println("Can not initialize the default wsdl from file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/RepositoryService.wsdl"); + System.err.println("Can not initialize the default wsdl from file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl"); // e.printStackTrace(); } WSDL_LOCATION = url; diff --git a/source/generated/org/alfresco/repo/cmis/ws/RepositoryServicePort.java b/source/generated/org/alfresco/repo/cmis/ws/RepositoryServicePort.java index f96db45857..5114959117 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/RepositoryServicePort.java +++ b/source/generated/org/alfresco/repo/cmis/ws/RepositoryServicePort.java @@ -2,52 +2,67 @@ package org.alfresco.repo.cmis.ws; import javax.jws.WebMethod; import javax.jws.WebParam; +import javax.jws.WebParam.Mode; import javax.jws.WebResult; import javax.jws.WebService; -import javax.jws.soap.SOAPBinding; -import javax.jws.soap.SOAPBinding.ParameterStyle; import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.ws.RequestWrapper; import javax.xml.ws.ResponseWrapper; /** * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:43 EEST 2008 + * Mon Apr 27 21:08:02 EEST 2009 * Generated source version: 2.1.2 * */ -@WebService(targetNamespace = "http://www.cmis.org/2008/05", name = "RepositoryServicePort") +@WebService(targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901", name = "RepositoryServicePort") @XmlSeeAlso({ObjectFactory.class}) public interface RepositoryServicePort { - @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) - @WebResult(name = "getTypeDefinitionResponse", targetNamespace = "http://www.cmis.org/2008/05", partName = "parameters") + @WebResult(name = "repositoryInfo", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + @RequestWrapper(localName = "getRepositoryInfo", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.GetRepositoryInfo") + @ResponseWrapper(localName = "getRepositoryInfoResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.GetRepositoryInfoResponse") @WebMethod - public GetTypeDefinitionResponse getTypeDefinition( - @WebParam(partName = "parameters", name = "getTypeDefinition", targetNamespace = "http://www.cmis.org/2008/05") - GetTypeDefinition parameters - ) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, TypeNotFoundException, InvalidArgumentException, RuntimeException, ConstraintViolationException; + public org.alfresco.repo.cmis.ws.CmisRepositoryInfoType getRepositoryInfo( + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String repositoryId + ) throws CmisException; - @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) - @WebResult(name = "getRepositoryInfoResponse", targetNamespace = "http://www.cmis.org/2008/05", partName = "parameters") + @WebResult(name = "type", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + @RequestWrapper(localName = "getTypeDefinition", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.GetTypeDefinition") + @ResponseWrapper(localName = "getTypeDefinitionResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.GetTypeDefinitionResponse") @WebMethod - public CmisRepositoryInfoType getRepositoryInfo( - @WebParam(partName = "parameters", name = "getRepositoryInfo", targetNamespace = "http://www.cmis.org/2008/05") - GetRepositoryInfo parameters - ) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; + public org.alfresco.repo.cmis.ws.CmisTypeDefinitionType getTypeDefinition( + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String repositoryId, + @WebParam(name = "typeId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String typeId + ) throws CmisException; - @ResponseWrapper(localName = "getRepositoriesResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.GetRepositoriesResponse") - @RequestWrapper(localName = "getRepositories", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.GetRepositories") - @WebResult(name = "repository", targetNamespace = "http://www.cmis.org/2008/05") + @WebResult(name = "repository", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + @RequestWrapper(localName = "getRepositories", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.GetRepositories") + @ResponseWrapper(localName = "getRepositoriesResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.GetRepositoriesResponse") @WebMethod - public java.util.List getRepositories() throws PermissionDeniedException, UpdateConflictException, OperationNotSupportedException, InvalidArgumentException, RuntimeException; + public java.util.List getRepositories() throws CmisException; - @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) - @WebResult(name = "getTypesResponse", targetNamespace = "http://www.cmis.org/2008/05", partName = "parameters") + @RequestWrapper(localName = "getTypes", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.GetTypes") + @ResponseWrapper(localName = "getTypesResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.GetTypesResponse") @WebMethod - public GetTypesResponse getTypes( - @WebParam(partName = "parameters", name = "getTypes", targetNamespace = "http://www.cmis.org/2008/05") - GetTypes parameters - ) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; + public void getTypes( + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String repositoryId, + @WebParam(name = "typeId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String typeId, + @WebParam(name = "includePropertyDefinitions", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.Boolean includePropertyDefinitions, + @WebParam(name = "maxItems", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.math.BigInteger maxItems, + @WebParam(name = "skipCount", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.math.BigInteger skipCount, + @WebParam(mode = WebParam.Mode.OUT, name = "type", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + javax.xml.ws.Holder> type, + @WebParam(mode = WebParam.Mode.OUT, name = "hasMoreItems", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + javax.xml.ws.Holder hasMoreItems + ) throws CmisException; } diff --git a/source/generated/org/alfresco/repo/cmis/ws/RuntimeException.java b/source/generated/org/alfresco/repo/cmis/ws/RuntimeException.java deleted file mode 100644 index c4ef7410e7..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/RuntimeException.java +++ /dev/null @@ -1,45 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.ws.WebFault; - - -/** - * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:45:08 EEST 2008 - * Generated source version: 2.1.2 - * - */ - -@WebFault(name = "runtimeException", targetNamespace = "http://www.cmis.org/2008/05") -public class RuntimeException extends Exception { - public static final long serialVersionUID = 20080905134508L; - - private org.alfresco.repo.cmis.ws.RuntimeExceptionType runtimeException; - - public RuntimeException() { - super(); - } - - public RuntimeException(String message) { - super(message); - } - - public RuntimeException(String message, Throwable cause) { - super(message, cause); - } - - public RuntimeException(String message, org.alfresco.repo.cmis.ws.RuntimeExceptionType runtimeException) { - super(message); - this.runtimeException = runtimeException; - } - - public RuntimeException(String message, org.alfresco.repo.cmis.ws.RuntimeExceptionType runtimeException, Throwable cause) { - super(message, cause); - this.runtimeException = runtimeException; - } - - public org.alfresco.repo.cmis.ws.RuntimeExceptionType getFaultInfo() { - return this.runtimeException; - } -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/RuntimeExceptionType.java b/source/generated/org/alfresco/repo/cmis/ws/RuntimeExceptionType.java deleted file mode 100755 index 4be84c9662..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/RuntimeExceptionType.java +++ /dev/null @@ -1,32 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - - -/** - *

Java class for runtimeExceptionType complex type. - * - *

The following schema fragment specifies the expected content contained within this class. - * - *

- * <complexType name="runtimeExceptionType">
- *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisFaultType">
- *     </extension>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "runtimeExceptionType") -public class RuntimeExceptionType - extends CmisFaultType -{ - - -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/SetContentStream.java b/source/generated/org/alfresco/repo/cmis/ws/SetContentStream.java index c9924052be..a251ba187d 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/SetContentStream.java +++ b/source/generated/org/alfresco/repo/cmis/ws/SetContentStream.java @@ -23,7 +23,7 @@ import javax.xml.bind.annotation.XmlType; * <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="documentId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="overwriteFlag" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/> - * <element name="contentStream" type="{http://www.cmis.org/2008/05}cmisContentStreamType"/> + * <element name="contentStream" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisContentStreamType"/> * </sequence> * </restriction> * </complexContent> @@ -46,7 +46,7 @@ public class SetContentStream { protected String repositoryId; @XmlElement(required = true) protected String documentId; - @XmlElementRef(name = "overwriteFlag", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "overwriteFlag", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement overwriteFlag; @XmlElement(required = true) protected CmisContentStreamType contentStream; diff --git a/source/generated/org/alfresco/repo/cmis/ws/StorageException.java b/source/generated/org/alfresco/repo/cmis/ws/StorageException.java deleted file mode 100644 index a0013a160a..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/StorageException.java +++ /dev/null @@ -1,45 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.ws.WebFault; - - -/** - * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:45:08 EEST 2008 - * Generated source version: 2.1.2 - * - */ - -@WebFault(name = "storageException", targetNamespace = "http://www.cmis.org/2008/05") -public class StorageException extends Exception { - public static final long serialVersionUID = 20080905134508L; - - private org.alfresco.repo.cmis.ws.StorageExceptionType storageException; - - public StorageException() { - super(); - } - - public StorageException(String message) { - super(message); - } - - public StorageException(String message, Throwable cause) { - super(message, cause); - } - - public StorageException(String message, org.alfresco.repo.cmis.ws.StorageExceptionType storageException) { - super(message); - this.storageException = storageException; - } - - public StorageException(String message, org.alfresco.repo.cmis.ws.StorageExceptionType storageException, Throwable cause) { - super(message, cause); - this.storageException = storageException; - } - - public org.alfresco.repo.cmis.ws.StorageExceptionType getFaultInfo() { - return this.storageException; - } -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/StorageExceptionType.java b/source/generated/org/alfresco/repo/cmis/ws/StorageExceptionType.java deleted file mode 100755 index 8601b2d39e..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/StorageExceptionType.java +++ /dev/null @@ -1,32 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - - -/** - *

Java class for storageExceptionType complex type. - * - *

The following schema fragment specifies the expected content contained within this class. - * - *

- * <complexType name="storageExceptionType">
- *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisFaultType">
- *     </extension>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "storageExceptionType") -public class StorageExceptionType - extends CmisFaultType -{ - - -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/StreamNotSupportedException.java b/source/generated/org/alfresco/repo/cmis/ws/StreamNotSupportedException.java deleted file mode 100644 index cb80bd28dd..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/StreamNotSupportedException.java +++ /dev/null @@ -1,45 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.ws.WebFault; - - -/** - * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:45:08 EEST 2008 - * Generated source version: 2.1.2 - * - */ - -@WebFault(name = "streamNotSupportedException", targetNamespace = "http://www.cmis.org/2008/05") -public class StreamNotSupportedException extends Exception { - public static final long serialVersionUID = 20080905134508L; - - private org.alfresco.repo.cmis.ws.StreamNotSupportedExceptionType streamNotSupportedException; - - public StreamNotSupportedException() { - super(); - } - - public StreamNotSupportedException(String message) { - super(message); - } - - public StreamNotSupportedException(String message, Throwable cause) { - super(message, cause); - } - - public StreamNotSupportedException(String message, org.alfresco.repo.cmis.ws.StreamNotSupportedExceptionType streamNotSupportedException) { - super(message); - this.streamNotSupportedException = streamNotSupportedException; - } - - public StreamNotSupportedException(String message, org.alfresco.repo.cmis.ws.StreamNotSupportedExceptionType streamNotSupportedException, Throwable cause) { - super(message, cause); - this.streamNotSupportedException = streamNotSupportedException; - } - - public org.alfresco.repo.cmis.ws.StreamNotSupportedExceptionType getFaultInfo() { - return this.streamNotSupportedException; - } -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/StreamNotSupportedExceptionType.java b/source/generated/org/alfresco/repo/cmis/ws/StreamNotSupportedExceptionType.java deleted file mode 100755 index f7bd683f15..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/StreamNotSupportedExceptionType.java +++ /dev/null @@ -1,32 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - - -/** - *

Java class for streamNotSupportedExceptionType complex type. - * - *

The following schema fragment specifies the expected content contained within this class. - * - *

- * <complexType name="streamNotSupportedExceptionType">
- *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisFaultType">
- *     </extension>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "streamNotSupportedExceptionType") -public class StreamNotSupportedExceptionType - extends CmisFaultType -{ - - -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/TypeNotFoundException.java b/source/generated/org/alfresco/repo/cmis/ws/TypeNotFoundException.java deleted file mode 100644 index 5a50f86ac9..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/TypeNotFoundException.java +++ /dev/null @@ -1,45 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.ws.WebFault; - - -/** - * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:45:03 EEST 2008 - * Generated source version: 2.1.2 - * - */ - -@WebFault(name = "typeNotFoundException", targetNamespace = "http://www.cmis.org/2008/05") -public class TypeNotFoundException extends Exception { - public static final long serialVersionUID = 20080905134503L; - - private org.alfresco.repo.cmis.ws.TypeNotFoundExceptionType typeNotFoundException; - - public TypeNotFoundException() { - super(); - } - - public TypeNotFoundException(String message) { - super(message); - } - - public TypeNotFoundException(String message, Throwable cause) { - super(message, cause); - } - - public TypeNotFoundException(String message, org.alfresco.repo.cmis.ws.TypeNotFoundExceptionType typeNotFoundException) { - super(message); - this.typeNotFoundException = typeNotFoundException; - } - - public TypeNotFoundException(String message, org.alfresco.repo.cmis.ws.TypeNotFoundExceptionType typeNotFoundException, Throwable cause) { - super(message, cause); - this.typeNotFoundException = typeNotFoundException; - } - - public org.alfresco.repo.cmis.ws.TypeNotFoundExceptionType getFaultInfo() { - return this.typeNotFoundException; - } -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/TypeNotFoundExceptionType.java b/source/generated/org/alfresco/repo/cmis/ws/TypeNotFoundExceptionType.java deleted file mode 100755 index 81022fbc41..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/TypeNotFoundExceptionType.java +++ /dev/null @@ -1,32 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - - -/** - *

Java class for typeNotFoundExceptionType complex type. - * - *

The following schema fragment specifies the expected content contained within this class. - * - *

- * <complexType name="typeNotFoundExceptionType">
- *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisFaultType">
- *     </extension>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "typeNotFoundExceptionType") -public class TypeNotFoundExceptionType - extends CmisFaultType -{ - - -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/UpdateConflictException.java b/source/generated/org/alfresco/repo/cmis/ws/UpdateConflictException.java deleted file mode 100755 index c98b8e523c..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/UpdateConflictException.java +++ /dev/null @@ -1,45 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.ws.WebFault; - - -/** - * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:45:07 EEST 2008 - * Generated source version: 2.1.2 - * - */ - -@WebFault(name = "updateConflictException", targetNamespace = "http://www.cmis.org/2008/05") -public class UpdateConflictException extends Exception { - public static final long serialVersionUID = 20080905134507L; - - private org.alfresco.repo.cmis.ws.UpdateConflictExceptionType updateConflictException; - - public UpdateConflictException() { - super(); - } - - public UpdateConflictException(String message) { - super(message); - } - - public UpdateConflictException(String message, Throwable cause) { - super(message, cause); - } - - public UpdateConflictException(String message, org.alfresco.repo.cmis.ws.UpdateConflictExceptionType updateConflictException) { - super(message); - this.updateConflictException = updateConflictException; - } - - public UpdateConflictException(String message, org.alfresco.repo.cmis.ws.UpdateConflictExceptionType updateConflictException, Throwable cause) { - super(message, cause); - this.updateConflictException = updateConflictException; - } - - public org.alfresco.repo.cmis.ws.UpdateConflictExceptionType getFaultInfo() { - return this.updateConflictException; - } -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/UpdateConflictExceptionType.java b/source/generated/org/alfresco/repo/cmis/ws/UpdateConflictExceptionType.java deleted file mode 100755 index 13f0273040..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/UpdateConflictExceptionType.java +++ /dev/null @@ -1,32 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - - -/** - *

Java class for updateConflictExceptionType complex type. - * - *

The following schema fragment specifies the expected content contained within this class. - * - *

- * <complexType name="updateConflictExceptionType">
- *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisFaultType">
- *     </extension>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "updateConflictExceptionType") -public class UpdateConflictExceptionType - extends CmisFaultType -{ - - -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/UpdateProperties.java b/source/generated/org/alfresco/repo/cmis/ws/UpdateProperties.java index d4259d8104..ca5b1d14e5 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/UpdateProperties.java +++ b/source/generated/org/alfresco/repo/cmis/ws/UpdateProperties.java @@ -23,7 +23,7 @@ import javax.xml.bind.annotation.XmlType; * <element name="repositoryId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="objectId" type="{http://www.w3.org/2001/XMLSchema}string"/> * <element name="changeToken" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/> - * <element name="properties" type="{http://www.cmis.org/2008/05}cmisPropertiesType"/> + * <element name="properties" type="{http://docs.oasis-open.org/ns/cmis/core/200901}cmisPropertiesType"/> * </sequence> * </restriction> * </complexContent> @@ -46,7 +46,7 @@ public class UpdateProperties { protected String repositoryId; @XmlElement(required = true) protected String objectId; - @XmlElementRef(name = "changeToken", namespace = "http://www.cmis.org/2008/05", type = JAXBElement.class) + @XmlElementRef(name = "changeToken", namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", type = JAXBElement.class) protected JAXBElement changeToken; @XmlElement(required = true) protected CmisPropertiesType properties; diff --git a/source/generated/org/alfresco/repo/cmis/ws/VersioningException.java b/source/generated/org/alfresco/repo/cmis/ws/VersioningException.java deleted file mode 100755 index 7191fd1001..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/VersioningException.java +++ /dev/null @@ -1,45 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.ws.WebFault; - - -/** - * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:44:38 EEST 2008 - * Generated source version: 2.1.2 - * - */ - -@WebFault(name = "versioningException", targetNamespace = "http://www.cmis.org/2008/05") -public class VersioningException extends Exception { - public static final long serialVersionUID = 20080905134438L; - - private org.alfresco.repo.cmis.ws.VersioningExceptionType versioningException; - - public VersioningException() { - super(); - } - - public VersioningException(String message) { - super(message); - } - - public VersioningException(String message, Throwable cause) { - super(message, cause); - } - - public VersioningException(String message, org.alfresco.repo.cmis.ws.VersioningExceptionType versioningException) { - super(message); - this.versioningException = versioningException; - } - - public VersioningException(String message, org.alfresco.repo.cmis.ws.VersioningExceptionType versioningException, Throwable cause) { - super(message, cause); - this.versioningException = versioningException; - } - - public org.alfresco.repo.cmis.ws.VersioningExceptionType getFaultInfo() { - return this.versioningException; - } -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/VersioningExceptionType.java b/source/generated/org/alfresco/repo/cmis/ws/VersioningExceptionType.java deleted file mode 100755 index 93ed99b4ae..0000000000 --- a/source/generated/org/alfresco/repo/cmis/ws/VersioningExceptionType.java +++ /dev/null @@ -1,32 +0,0 @@ - -package org.alfresco.repo.cmis.ws; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; - - -/** - *

Java class for versioningExceptionType complex type. - * - *

The following schema fragment specifies the expected content contained within this class. - * - *

- * <complexType name="versioningExceptionType">
- *   <complexContent>
- *     <extension base="{http://www.cmis.org/2008/05}cmisFaultType">
- *     </extension>
- *   </complexContent>
- * </complexType>
- * 
- * - * - */ -@XmlAccessorType(XmlAccessType.FIELD) -@XmlType(name = "versioningExceptionType") -public class VersioningExceptionType - extends CmisFaultType -{ - - -} diff --git a/source/generated/org/alfresco/repo/cmis/ws/VersioningService.java b/source/generated/org/alfresco/repo/cmis/ws/VersioningService.java index 5913622549..a22451386f 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/VersioningService.java +++ b/source/generated/org/alfresco/repo/cmis/ws/VersioningService.java @@ -15,26 +15,26 @@ import javax.xml.ws.WebServiceFeature; /** * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:45:08 EEST 2008 + * Mon Apr 27 21:08:02 EEST 2009 * Generated source version: 2.1.2 * */ @WebServiceClient(name = "VersioningService", - wsdlLocation = "file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/VersioningService.wsdl", - targetNamespace = "http://www.cmis.org/2008/05") + wsdlLocation = "file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl", + targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901") public class VersioningService extends Service { public final static URL WSDL_LOCATION; - public final static QName SERVICE = new QName("http://www.cmis.org/2008/05", "VersioningService"); - public final static QName VersioningServicePort = new QName("http://www.cmis.org/2008/05", "VersioningServicePort"); + public final static QName SERVICE = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "VersioningService"); + public final static QName VersioningServicePort = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "VersioningServicePort"); static { URL url = null; try { - url = new URL("file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/VersioningService.wsdl"); + url = new URL("file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl"); } catch (MalformedURLException e) { - System.err.println("Can not initialize the default wsdl from file:/D:/work/CMIS-WS/CMIS-WS/web/wsdl/cmis/VersioningService.wsdl"); + System.err.println("Can not initialize the default wsdl from file:/D:/work/alfresco-cmis/WS-Binding-061c-t2/source/wsdl/CMISWS-Service.wsdl"); // e.printStackTrace(); } WSDL_LOCATION = url; diff --git a/source/generated/org/alfresco/repo/cmis/ws/VersioningServicePort.java b/source/generated/org/alfresco/repo/cmis/ws/VersioningServicePort.java index 1560328a3b..c6056ef062 100755 --- a/source/generated/org/alfresco/repo/cmis/ws/VersioningServicePort.java +++ b/source/generated/org/alfresco/repo/cmis/ws/VersioningServicePort.java @@ -13,78 +13,78 @@ import javax.xml.ws.ResponseWrapper; /** * This class was generated by Apache CXF 2.1.2 - * Fri Sep 05 13:45:08 EEST 2008 + * Mon Apr 27 21:08:02 EEST 2009 * Generated source version: 2.1.2 * */ -@WebService(targetNamespace = "http://www.cmis.org/2008/05", name = "VersioningServicePort") +@WebService(targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901", name = "VersioningServicePort") @XmlSeeAlso({ObjectFactory.class}) public interface VersioningServicePort { - @ResponseWrapper(localName = "checkOutResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.CheckOutResponse") - @RequestWrapper(localName = "checkOut", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.CheckOut") - @WebMethod - public void checkOut( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String repositoryId, - @WebParam(mode = WebParam.Mode.INOUT, name = "documentId", targetNamespace = "http://www.cmis.org/2008/05") - javax.xml.ws.Holder documentId, - @WebParam(mode = WebParam.Mode.OUT, name = "contentCopied", targetNamespace = "http://www.cmis.org/2008/05") - javax.xml.ws.Holder contentCopied - ) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; - - @ResponseWrapper(localName = "checkInResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.CheckInResponse") - @RequestWrapper(localName = "checkIn", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.CheckIn") - @WebMethod - public void checkIn( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String repositoryId, - @WebParam(mode = WebParam.Mode.INOUT, name = "documentId", targetNamespace = "http://www.cmis.org/2008/05") - javax.xml.ws.Holder documentId, - @WebParam(name = "major", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.Boolean major, - @WebParam(name = "properties", targetNamespace = "http://www.cmis.org/2008/05") - org.alfresco.repo.cmis.ws.CmisPropertiesType properties, - @WebParam(name = "contentStream", targetNamespace = "http://www.cmis.org/2008/05") - org.alfresco.repo.cmis.ws.CmisContentStreamType contentStream, - @WebParam(name = "checkinComment", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String checkinComment - ) throws PermissionDeniedException, UpdateConflictException, StorageException, StreamNotSupportedException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; - - @ResponseWrapper(localName = "cancelCheckOutResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.CancelCheckOutResponse") - @RequestWrapper(localName = "cancelCheckOut", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.CancelCheckOut") - @WebMethod - public void cancelCheckOut( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String repositoryId, - @WebParam(name = "documentId", targetNamespace = "http://www.cmis.org/2008/05") - java.lang.String documentId - ) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException; - @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) - @WebResult(name = "getPropertiesOfLatestVersionResponse", targetNamespace = "http://www.cmis.org/2008/05", partName = "parameters") - @WebMethod - public GetPropertiesOfLatestVersionResponse getPropertiesOfLatestVersion( - @WebParam(partName = "parameters", name = "getPropertiesOfLatestVersion", targetNamespace = "http://www.cmis.org/2008/05") - GetPropertiesOfLatestVersion parameters - ) throws PermissionDeniedException, UpdateConflictException, FilterNotValidException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException; - - @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) - @WebResult(name = "getAllVersionsResponse", targetNamespace = "http://www.cmis.org/2008/05", partName = "parameters") + @WebResult(name = "getAllVersionsResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", partName = "parameters") @WebMethod public GetAllVersionsResponse getAllVersions( - @WebParam(partName = "parameters", name = "getAllVersions", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(partName = "parameters", name = "getAllVersions", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") GetAllVersions parameters - ) throws PermissionDeniedException, UpdateConflictException, FilterNotValidException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; + ) throws CmisException; - @ResponseWrapper(localName = "deleteAllVersionsResponse", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.DeleteAllVersionsResponse") - @RequestWrapper(localName = "deleteAllVersions", targetNamespace = "http://www.cmis.org/2008/05", className = "org.alfresco.repo.cmis.ws.DeleteAllVersions") + @RequestWrapper(localName = "checkOut", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.CheckOut") + @ResponseWrapper(localName = "checkOutResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.CheckOutResponse") + @WebMethod + public void checkOut( + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String repositoryId, + @WebParam(mode = WebParam.Mode.INOUT, name = "documentId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + javax.xml.ws.Holder documentId, + @WebParam(mode = WebParam.Mode.OUT, name = "contentCopied", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + javax.xml.ws.Holder contentCopied + ) throws CmisException; + + @RequestWrapper(localName = "checkIn", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.CheckIn") + @ResponseWrapper(localName = "checkInResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.CheckInResponse") + @WebMethod + public void checkIn( + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String repositoryId, + @WebParam(mode = WebParam.Mode.INOUT, name = "documentId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + javax.xml.ws.Holder documentId, + @WebParam(name = "major", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.Boolean major, + @WebParam(name = "properties", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + org.alfresco.repo.cmis.ws.CmisPropertiesType properties, + @WebParam(name = "contentStream", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + org.alfresco.repo.cmis.ws.CmisContentStreamType contentStream, + @WebParam(name = "checkinComment", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String checkinComment + ) throws CmisException; + + @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) + @WebResult(name = "getPropertiesOfLatestVersionResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", partName = "parameters") + @WebMethod + public GetPropertiesOfLatestVersionResponse getPropertiesOfLatestVersion( + @WebParam(partName = "parameters", name = "getPropertiesOfLatestVersion", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + GetPropertiesOfLatestVersion parameters + ) throws CmisException; + + @RequestWrapper(localName = "cancelCheckOut", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.CancelCheckOut") + @ResponseWrapper(localName = "cancelCheckOutResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.CancelCheckOutResponse") + @WebMethod + public void cancelCheckOut( + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String repositoryId, + @WebParam(name = "documentId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") + java.lang.String documentId + ) throws CmisException; + + @RequestWrapper(localName = "deleteAllVersions", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.DeleteAllVersions") + @ResponseWrapper(localName = "deleteAllVersionsResponse", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", className = "org.alfresco.repo.cmis.ws.DeleteAllVersionsResponse") @WebMethod public void deleteAllVersions( - @WebParam(name = "repositoryId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "repositoryId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String repositoryId, - @WebParam(name = "versionSeriesId", targetNamespace = "http://www.cmis.org/2008/05") + @WebParam(name = "versionSeriesId", targetNamespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901") java.lang.String versionSeriesId - ) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException; + ) throws CmisException; } diff --git a/source/generated/org/alfresco/repo/cmis/ws/package-info.java b/source/generated/org/alfresco/repo/cmis/ws/package-info.java index ce5d40abbc..1e4fe06558 100644 --- a/source/generated/org/alfresco/repo/cmis/ws/package-info.java +++ b/source/generated/org/alfresco/repo/cmis/ws/package-info.java @@ -1,2 +1,2 @@ -@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.cmis.org/2008/05", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) +@javax.xml.bind.annotation.XmlSchema(namespace = "http://docs.oasis-open.org/ns/cmis/messaging/200901", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) package org.alfresco.repo.cmis.ws; diff --git a/source/java/org/alfresco/repo/cmis/PropertyFilter.java b/source/java/org/alfresco/repo/cmis/PropertyFilter.java index d0131da8ba..38ef2f203d 100644 --- a/source/java/org/alfresco/repo/cmis/PropertyFilter.java +++ b/source/java/org/alfresco/repo/cmis/PropertyFilter.java @@ -28,7 +28,9 @@ import java.util.HashSet; import java.util.Set; import java.util.regex.Pattern; -import org.alfresco.repo.cmis.ws.FilterNotValidException; +import org.alfresco.repo.cmis.ws.CmisException; +import org.alfresco.repo.cmis.ws.EnumServiceException; +import org.alfresco.repo.cmis.ws.utils.CmisObjectsUtils; /** * Property filter supporting CMIS filter expression @@ -52,11 +54,11 @@ public class PropertyFilter * @param filter filter value (case insensitive) * @throws FilterNotValidException if filter string isn't valid */ - public PropertyFilter(String filter) throws FilterNotValidException + public PropertyFilter(String filter, CmisObjectsUtils cmisObjectsUtils) throws CmisException { if (filter == null || filter.length() < MINIMAL_ALLOWED_STRUCTURE_SIZE ? false : !PROPERTY_FILTER_REGEX.matcher(filter).matches()) { - throw new FilterNotValidException("\"" + filter + "\" filter value is invalid"); + throw cmisObjectsUtils.createCmisException(("\"" + filter + "\" filter value is invalid"), EnumServiceException.FILTER_NOT_VALID); } if (!filter.equals(MATCH_ALL_FILTER) && filter.length() >= MINIMAL_ALLOWED_STRUCTURE_SIZE) diff --git a/source/java/org/alfresco/repo/cmis/PropertyFilterTest.java b/source/java/org/alfresco/repo/cmis/PropertyFilterTest.java index 1d9285521c..22a3ffe6f4 100755 --- a/source/java/org/alfresco/repo/cmis/PropertyFilterTest.java +++ b/source/java/org/alfresco/repo/cmis/PropertyFilterTest.java @@ -24,15 +24,15 @@ */ package org.alfresco.repo.cmis; -import org.alfresco.repo.cmis.PropertyFilter; -import org.alfresco.repo.cmis.ws.FilterNotValidException; - -import junit.framework.TestCase; +import org.alfresco.repo.cmis.ws.CmisException; +import org.alfresco.repo.cmis.ws.EnumServiceException; +import org.alfresco.repo.cmis.ws.utils.CmisObjectsUtils; +import org.springframework.test.AbstractDependencyInjectionSpringContextTests; /** * @author Dmitry Velichkevich */ -public class PropertyFilterTest extends TestCase +public class PropertyFilterTest extends AbstractDependencyInjectionSpringContextTests { private static final String NAME_TOKEN = "name"; @@ -58,22 +58,28 @@ public class PropertyFilterTest extends TestCase private static final String INVALID_FILTER_WITH_DENIED_SYMBOL = "ObjectId; name"; private static final String INVALID_FILTER_WITH_LAST_INVALID_SYMBOL = "ObjectId, name*"; - + private CmisObjectsUtils cmisObjectsUtils; + + public void setCmisObjectsUtils(CmisObjectsUtils cmisObjectsUtils) + { + this.cmisObjectsUtils = cmisObjectsUtils; + } + public void testValidFilters() throws Exception { try { allTokensValidAssertion(new PropertyFilter()); - allTokensValidAssertion(new PropertyFilter(VALID_MATCHE_ALL_EMPTY_FILTER)); - allTokensValidAssertion(new PropertyFilter(VALID_MATCHE_ALL_FILTER)); + allTokensValidAssertion(new PropertyFilter(VALID_MATCHE_ALL_EMPTY_FILTER, cmisObjectsUtils)); + allTokensValidAssertion(new PropertyFilter(VALID_MATCHE_ALL_FILTER, cmisObjectsUtils)); - onlyNameTokensAssertionValid(new PropertyFilter(VALID_FILTER_WITH_NAME)); + onlyNameTokensAssertionValid(new PropertyFilter(VALID_FILTER_WITH_NAME, cmisObjectsUtils)); - nameAndObjectIdTokensAssertionValid(new PropertyFilter(VALID_FILTER_WITH_SEVERAL_TOKENS)); - nameAndObjectIdTokensAssertionValid(new PropertyFilter(LONG_VALID_FILTER_WITH_SEVERAL_TOKENS)); - nameAndObjectIdTokensAssertionValid(new PropertyFilter(VALID_FILTER_WITH_SEVERAL_TOKENS_WITHOUT_BREAKS)); - nameAndObjectIdTokensAssertionValid(new PropertyFilter(VALID_FILTER_WITH_SEVERAL_TOKENS_AND_WITH_BREAKS_IN_SOME_PLACES)); - nameAndObjectIdTokensAssertionValid(new PropertyFilter(VALID_FILTER_WITH_SEVERAL_TOKENS_AND_WITH_SEVERAL_BREAKS_IN_SOME_PLACES)); + nameAndObjectIdTokensAssertionValid(new PropertyFilter(VALID_FILTER_WITH_SEVERAL_TOKENS, cmisObjectsUtils)); + nameAndObjectIdTokensAssertionValid(new PropertyFilter(LONG_VALID_FILTER_WITH_SEVERAL_TOKENS, cmisObjectsUtils)); + nameAndObjectIdTokensAssertionValid(new PropertyFilter(VALID_FILTER_WITH_SEVERAL_TOKENS_WITHOUT_BREAKS, cmisObjectsUtils)); + nameAndObjectIdTokensAssertionValid(new PropertyFilter(VALID_FILTER_WITH_SEVERAL_TOKENS_AND_WITH_BREAKS_IN_SOME_PLACES, cmisObjectsUtils)); + nameAndObjectIdTokensAssertionValid(new PropertyFilter(VALID_FILTER_WITH_SEVERAL_TOKENS_AND_WITH_SEVERAL_BREAKS_IN_SOME_PLACES, cmisObjectsUtils)); } catch (Throwable e) { @@ -142,14 +148,22 @@ public class PropertyFilterTest extends TestCase { try { - new PropertyFilter(filterValue); + new PropertyFilter(filterValue, cmisObjectsUtils); fail("Invalid filter \"" + filterValue + "\" was interpreted as valid"); } - catch (Throwable e) + catch (CmisException e) { - assertTrue(("Unexpected exception type was thrown: " + e.getClass().getName()), e instanceof FilterNotValidException); + assertEquals(("Unexpected exception type was thrown: " + e.getClass().getName()), EnumServiceException.FILTER_NOT_VALID, e.getFaultInfo().getType()); } } - + + @Override + protected String[] getConfigLocations() + { + setAutowireMode(AUTOWIRE_BY_NAME); + setDependencyCheck(false); + + return new String[] { "classpath:alfresco/cmis-ws-context.xml" }; + } } diff --git a/source/java/org/alfresco/repo/cmis/ws/AuthenticationInterceptor.java b/source/java/org/alfresco/repo/cmis/ws/AuthenticationInterceptor.java index 48f3eb840b..cabb821607 100644 --- a/source/java/org/alfresco/repo/cmis/ws/AuthenticationInterceptor.java +++ b/source/java/org/alfresco/repo/cmis/ws/AuthenticationInterceptor.java @@ -39,6 +39,7 @@ import org.apache.ws.security.handler.WSHandlerConstants; import org.apache.ws.security.handler.WSHandlerResult; /** + * * @author Dmitry Velichkevich */ public class AuthenticationInterceptor extends AbstractSoapInterceptor diff --git a/source/java/org/alfresco/repo/cmis/ws/ContentReaderDataSource.java b/source/java/org/alfresco/repo/cmis/ws/ContentReaderDataSource.java index eaa0f627f1..0b79fe6f89 100755 --- a/source/java/org/alfresco/repo/cmis/ws/ContentReaderDataSource.java +++ b/source/java/org/alfresco/repo/cmis/ws/ContentReaderDataSource.java @@ -48,7 +48,9 @@ public class ContentReaderDataSource implements DataSource this.name = name; } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see javax.activation.DataSource#getContentType() */ public String getContentType() @@ -56,7 +58,9 @@ public class ContentReaderDataSource implements DataSource return contentReader.getMimetype(); } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see javax.activation.DataSource#getInputStream() */ public InputStream getInputStream() throws IOException @@ -64,7 +68,9 @@ public class ContentReaderDataSource implements DataSource return contentReader.getContentInputStream(); } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see javax.activation.DataSource#getName() */ public String getName() @@ -72,7 +78,9 @@ public class ContentReaderDataSource implements DataSource return name; } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see javax.activation.DataSource#getOutputStream() */ public OutputStream getOutputStream() throws IOException diff --git a/source/java/org/alfresco/repo/cmis/ws/DMAbstractServicePort.java b/source/java/org/alfresco/repo/cmis/ws/DMAbstractServicePort.java index 1cc1556e77..1a52a49ac5 100644 --- a/source/java/org/alfresco/repo/cmis/ws/DMAbstractServicePort.java +++ b/source/java/org/alfresco/repo/cmis/ws/DMAbstractServicePort.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2008 Alfresco Software Limited. + * Copyright (C) 2005-2009 Alfresco Software Limited. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -67,7 +67,7 @@ import org.alfresco.service.descriptor.DescriptorService; /** * Base class for all CMIS web services - * + * * @author Michael Shavnev * @author Dmitry Lazurkin * @author Dmitry Velichkevich @@ -77,6 +77,9 @@ public class DMAbstractServicePort private static final String BASE_TYPE_PROPERTY_NAME = "BaseType"; protected static final String INITIAL_VERSION_DESCRIPTION = "Initial version"; + private static final String INVALID_REPOSITORY_ID_MESSAGE = "Invalid repository id"; + private static final String INVALID_FOLDER_OBJECT_ID_MESSAGE = "OID for non-existent object or not folder object"; + private DatatypeFactory _datatypeFactory; private Paging paging = new Paging(); @@ -92,7 +95,6 @@ public class DMAbstractServicePort protected SearchService searchService; protected CmisObjectsUtils cmisObjectsUtils; - public void setCmisService(CMISServices cmisService) { this.cmisService = cmisService; @@ -143,13 +145,13 @@ public class DMAbstractServicePort { this.searchService = searchService; } - - protected static PropertyFilter createPropertyFilter(String filter) throws FilterNotValidException + + protected PropertyFilter createPropertyFilter(String filter) throws CmisException { - return (filter == null) ? (new PropertyFilter()) : (new PropertyFilter(filter)); + return (filter == null) ? (new PropertyFilter()) : (new PropertyFilter(filter, cmisObjectsUtils)); } - protected static PropertyFilter createPropertyFilter(JAXBElement element) throws FilterNotValidException + protected PropertyFilter createPropertyFilter(JAXBElement element) throws CmisException { String filter = null; if (element != null) @@ -167,7 +169,7 @@ public class DMAbstractServicePort /** * Converts Date object to XMLGregorianCalendar object - * + * * @param date Date object * @return XMLGregorianCalendar object */ @@ -200,10 +202,9 @@ public class DMAbstractServicePort * @param filter properties filter value for filtering objects returning properties * @param sourceList the list that contains all returning Node References * @param resultList the list of CmisObjectType values for end response result collecting - * @throws InvalidArgumentException - * @throws FilterNotValidException + * @throws CmisException */ - protected void createCmisObjectList(PropertyFilter filter, List sourceList, List resultList) throws InvalidArgumentException, FilterNotValidException + protected void createCmisObjectList(PropertyFilter filter, List sourceList, List resultList) throws CmisException { for (NodeRef objectNodeRef : sourceList) { @@ -227,15 +228,15 @@ public class DMAbstractServicePort /** * Asserts "Folder with folderNodeRef exists" - * + * * @param folderNodeRef node reference * @throws FolderNotValidException folderNodeRef doesn't exist or folderNodeRef isn't for folder object */ - protected void assertExistFolder(NodeRef folderNodeRef) throws FolderNotValidException + protected void assertExistFolder(NodeRef folderNodeRef) throws CmisException { if (!this.cmisObjectsUtils.isFolder(folderNodeRef)) { - throw new FolderNotValidException("OID for non-existent object or not folder object"); + throw new CmisException(INVALID_FOLDER_OBJECT_ID_MESSAGE, cmisObjectsUtils.createCmisException(INVALID_FOLDER_OBJECT_ID_MESSAGE, EnumServiceException.INVALID_ARGUMENT)); } } @@ -243,19 +244,19 @@ public class DMAbstractServicePort * Checks specified in CMIS request parameters repository Id. * * @param repositoryId repository id - * @throws InvalidArgumentException repository diesn't exist + * @throws CmisException repository diesn't exist */ - protected void checkRepositoryId(String repositoryId) throws InvalidArgumentException + protected void checkRepositoryId(String repositoryId) throws CmisException { if (!this.descriptorService.getCurrentRepositoryDescriptor().getId().equals(repositoryId)) { - throw new InvalidArgumentException("Invalid repository id"); + throw cmisObjectsUtils.createCmisException(INVALID_REPOSITORY_ID_MESSAGE, EnumServiceException.INVALID_ARGUMENT); } } /** * Get CMIS properties for object - * + * * @param nodeRef node reference * @param filter property filter * @return properties @@ -352,7 +353,8 @@ public class DMAbstractServicePort result.put(VersionModel.PROP_VERSION_TYPE, versionType); return result; } - + + @SuppressWarnings("unchecked") protected void addBooleanProperty(CmisPropertiesType properties, PropertyFilter filter, String name, Map alfrescoProperties) { Serializable value = alfrescoProperties.get(name); @@ -360,26 +362,25 @@ public class DMAbstractServicePort { if (value instanceof Collection) { - long index = 0; - for (Object multiValue : (Collection)value) + for (Object multiValue : (Collection) value) { - CmisPropertyBoolean propBoolean = new CmisPropertyBoolean (); - propBoolean.setIndex(BigInteger.valueOf(index++)); + CmisPropertyBoolean propBoolean = new CmisPropertyBoolean(); propBoolean.setName(PropertyUtil.getCMISPropertyName(name)); - propBoolean.setValue((Boolean) multiValue); + propBoolean.getValue().add((Boolean) multiValue); properties.getProperty().add(propBoolean); } } else { - CmisPropertyBoolean propBoolean = new CmisPropertyBoolean (); + CmisPropertyBoolean propBoolean = new CmisPropertyBoolean(); propBoolean.setName(PropertyUtil.getCMISPropertyName(name)); - propBoolean.setValue((Boolean) value); + propBoolean.getValue().add((Boolean) value); properties.getProperty().add(propBoolean); } } } + @SuppressWarnings("unchecked") protected void addDateTimeProperty(CmisPropertiesType properties, PropertyFilter filter, String name, Map alfrescoProperties) { Serializable value = alfrescoProperties.get(name); @@ -387,13 +388,11 @@ public class DMAbstractServicePort { if (value instanceof Collection) { - long index = 0; - for (Object multiValue : (Collection)value) + for (Object multiValue : (Collection) value) { CmisPropertyDateTime propDateTime = new CmisPropertyDateTime(); - propDateTime.setIndex(BigInteger.valueOf(index++)); propDateTime.setName(PropertyUtil.getCMISPropertyName(name)); - propDateTime.setValue(convert((Date) multiValue)); + propDateTime.getValue().add(convert((Date) multiValue)); properties.getProperty().add(propDateTime); } } @@ -401,12 +400,13 @@ public class DMAbstractServicePort { CmisPropertyDateTime propDateTime = new CmisPropertyDateTime(); propDateTime.setName(PropertyUtil.getCMISPropertyName(name)); - propDateTime.setValue(convert((Date) value)); + propDateTime.getValue().add(convert((Date) value)); properties.getProperty().add(propDateTime); } } } + @SuppressWarnings("unchecked") protected void addIDProperty(CmisPropertiesType properties, PropertyFilter filter, String name, Map alfrescoProperties) { Serializable value = alfrescoProperties.get(name); @@ -414,13 +414,11 @@ public class DMAbstractServicePort { if (value instanceof Collection) { - long index = 0; - for (Object multiValue : (Collection)value) + for (Object multiValue : (Collection) value) { CmisPropertyId propID = new CmisPropertyId(); - propID.setIndex(BigInteger.valueOf(index++)); propID.setName(PropertyUtil.getCMISPropertyName(name)); - propID.setValue(multiValue.toString()); + propID.getValue().add(multiValue.toString()); properties.getProperty().add(propID); } } @@ -428,12 +426,13 @@ public class DMAbstractServicePort { CmisPropertyId propID = new CmisPropertyId(); propID.setName(PropertyUtil.getCMISPropertyName(name)); - propID.setValue(value.toString()); + propID.getValue().add(value.toString()); properties.getProperty().add(propID); } } } + @SuppressWarnings("unchecked") protected void addIntegerProperty(CmisPropertiesType properties, PropertyFilter filter, String name, Map alfrescoProperties) { Serializable value = alfrescoProperties.get(name); @@ -441,13 +440,11 @@ public class DMAbstractServicePort { if (value instanceof Collection) { - long index = 0; - for (Object multiValue : (Collection)value) + for (Object multiValue : (Collection) value) { CmisPropertyInteger propInteger = new CmisPropertyInteger(); - propInteger.setIndex(BigInteger.valueOf(index++)); propInteger.setName(PropertyUtil.getCMISPropertyName(name)); - propInteger.setValue(BigInteger.valueOf((Long) multiValue)); + propInteger.getValue().add(BigInteger.valueOf((Long) multiValue)); properties.getProperty().add(propInteger); } } @@ -455,12 +452,13 @@ public class DMAbstractServicePort { CmisPropertyInteger propInteger = new CmisPropertyInteger(); propInteger.setName(PropertyUtil.getCMISPropertyName(name)); - propInteger.setValue(BigInteger.valueOf((Long) value)); + propInteger.getValue().add(BigInteger.valueOf((Long) value)); properties.getProperty().add(propInteger); } } } + @SuppressWarnings("unchecked") protected void addDecimalProperty(CmisPropertiesType properties, PropertyFilter filter, String name, Map alfrescoProperties) { Serializable value = alfrescoProperties.get(name); @@ -468,13 +466,11 @@ public class DMAbstractServicePort { if (value instanceof Collection) { - long index = 0; - for (Object multiValue : (Collection)value) + for (Object multiValue : (Collection) value) { CmisPropertyDecimal propDecimal = new CmisPropertyDecimal(); - propDecimal.setIndex(BigInteger.valueOf(index++)); propDecimal.setName(PropertyUtil.getCMISPropertyName(name)); - propDecimal.setValue(BigDecimal.valueOf((Long) multiValue)); + propDecimal.getValue().add(BigDecimal.valueOf((Long) multiValue)); properties.getProperty().add(propDecimal); } } @@ -482,12 +478,13 @@ public class DMAbstractServicePort { CmisPropertyDecimal propDecimal = new CmisPropertyDecimal(); propDecimal.setName(PropertyUtil.getCMISPropertyName(name)); - propDecimal.setValue(BigDecimal.valueOf((Long) value)); + propDecimal.getValue().add(BigDecimal.valueOf((Long) value)); properties.getProperty().add(propDecimal); } } } + @SuppressWarnings("unchecked") protected void addStringProperty(CmisPropertiesType properties, PropertyFilter filter, String name, Map alfrescoProperties) { Serializable value = alfrescoProperties.get(name); @@ -495,13 +492,11 @@ public class DMAbstractServicePort { if (value instanceof Collection) { - long index = 0; - for (Object multiValue : (Collection)value) + for (Object multiValue : (Collection) value) { CmisPropertyString propString = new CmisPropertyString(); - propString.setIndex(BigInteger.valueOf(index++)); propString.setName(PropertyUtil.getCMISPropertyName(name)); - propString.setValue(multiValue.toString()); + propString.getValue().add(multiValue.toString()); properties.getProperty().add(propString); } } @@ -509,7 +504,7 @@ public class DMAbstractServicePort { CmisPropertyString propString = new CmisPropertyString(); propString.setName(PropertyUtil.getCMISPropertyName(name)); - propString.setValue(value.toString()); + propString.getValue().add(value.toString()); properties.getProperty().add(propString); } } @@ -521,11 +516,12 @@ public class DMAbstractServicePort { CmisPropertyString propString = new CmisPropertyString(); propString.setName(name); - propString.setValue(value); + propString.getValue().add(value); properties.getProperty().add(propString); } } + @SuppressWarnings("unchecked") protected void addURIProperty(CmisPropertiesType properties, PropertyFilter filter, String name, Map alfrescoProperties) { Serializable value = alfrescoProperties.get(name); @@ -533,13 +529,11 @@ public class DMAbstractServicePort { if (value instanceof Collection) { - long index = 0; - for (Object multiValue : (Collection)value) + for (Object multiValue : (Collection) value) { CmisPropertyUri propString = new CmisPropertyUri(); - propString.setIndex(BigInteger.valueOf(index++)); propString.setName(PropertyUtil.getCMISPropertyName(name)); - propString.setValue(multiValue.toString()); + propString.getValue().add(multiValue.toString()); properties.getProperty().add(propString); } } @@ -547,12 +541,12 @@ public class DMAbstractServicePort { CmisPropertyUri propString = new CmisPropertyUri(); propString.setName(PropertyUtil.getCMISPropertyName(name)); - propString.setValue(value.toString()); + propString.getValue().add(value.toString()); properties.getProperty().add(propString); } } } - + /** * Sets all properties' fields for specified node * @@ -572,7 +566,7 @@ public class DMAbstractServicePort /** * Returns latest minor or major version of document - * + * * @param documentNodeRef document node reference * @param major need latest major version * @return latest version node reference @@ -590,23 +584,29 @@ public class DMAbstractServicePort { Version latestVersion = versionService.getCurrentVersion(latestVersionNodeRef); - if (latestVersion.getVersionType().equals(VersionType.MAJOR) == false) + if ((latestVersion != null) && (VersionType.MAJOR != latestVersion.getVersionType())) { VersionHistory versionHistory = versionService.getVersionHistory(currentVersion.getVersionedNodeRef()); - do + if (versionHistory != null) { - latestVersion = versionHistory.getPredecessor(latestVersion); - } while (latestVersion.getVersionType().equals(VersionType.MAJOR) == false); + do + { + latestVersion = versionHistory.getPredecessor(latestVersion); + } while (latestVersion != null && (VersionType.MAJOR != latestVersion.getVersionType())); + } - latestVersionNodeRef = latestVersion.getFrozenStateNodeRef(); + if (latestVersion != null) + { + latestVersionNodeRef = latestVersion.getFrozenStateNodeRef(); + } } } } return latestVersionNodeRef; } - + protected NodeRef checkoutNode(NodeRef documentNodeReference) { if (!this.nodeService.hasAspect(documentNodeReference, ContentModel.ASPECT_VERSIONABLE)) @@ -616,7 +616,7 @@ public class DMAbstractServicePort return checkOutCheckInService.checkout(documentNodeReference); } - protected CMISTypeDefinition getCmisTypeDefinition(String typeId) throws InvalidArgumentException + protected CMISTypeDefinition getCmisTypeDefinition(String typeId) throws CmisException { try { @@ -624,7 +624,7 @@ public class DMAbstractServicePort } catch (Exception e) { - throw new InvalidArgumentException("Invalid typeId " + typeId); + throw new CmisException(("Invalid typeId " + typeId), cmisObjectsUtils.createCmisException(("Invalid typeId " + typeId), EnumServiceException.INVALID_ARGUMENT)); } } diff --git a/source/java/org/alfresco/repo/cmis/ws/DMDiscoveryServicePort.java b/source/java/org/alfresco/repo/cmis/ws/DMDiscoveryServicePort.java index ce2d73be37..9ad39d5f5d 100755 --- a/source/java/org/alfresco/repo/cmis/ws/DMDiscoveryServicePort.java +++ b/source/java/org/alfresco/repo/cmis/ws/DMDiscoveryServicePort.java @@ -25,8 +25,12 @@ package org.alfresco.repo.cmis.ws; import java.io.Serializable; +import java.math.BigInteger; +import java.util.List; import java.util.Map; +import javax.xml.ws.Holder; + import org.alfresco.cmis.CMISDataTypeEnum; import org.alfresco.cmis.CMISQueryOptions; import org.alfresco.cmis.CMISResultSet; @@ -40,7 +44,7 @@ import org.alfresco.repo.cmis.PropertyFilter; * * @author Dmitry Lazurkin */ -@javax.jws.WebService(name = "DiscoveryServicePort", serviceName = "DiscoveryService", portName = "DiscoveryServicePort", targetNamespace = "http://www.cmis.org/ns/1.0", endpointInterface = "org.alfresco.repo.cmis.ws.DiscoveryServicePort") +@javax.jws.WebService(name = "DiscoveryServicePort", serviceName = "DiscoveryService", portName = "DiscoveryServicePort", targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901", endpointInterface = "org.alfresco.repo.cmis.ws.DiscoveryServicePort") public class DMDiscoveryServicePort extends DMAbstractServicePort implements DiscoveryServicePort { @@ -49,18 +53,13 @@ public class DMDiscoveryServicePort extends DMAbstractServicePort implements Dis * part of query * * @param parameters query parameters - * @return collection of CmisObjectType and boolean hasMoreItems - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws OperationNotSupportedException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME) */ - public QueryResponse query(CmisQueryType parameters) throws PermissionDeniedException, UpdateConflictException, OperationNotSupportedException, InvalidArgumentException, - RuntimeException, ConstraintViolationException + public QueryResponse query(CmisQueryType parameters) throws CmisException { - // TODO: searchAllVersions, returnAllowableActions, includeRelationships + checkRepositoryId(parameters.getRepositoryId()); + + // TODO: searchAllVersions, returnAllowableActions CMISQueryOptions options = new CMISQueryOptions(parameters.getStatement(), cmisService.getDefaultRootStoreRef()); if (parameters.getSkipCount() != null) @@ -78,7 +77,7 @@ public class DMDiscoveryServicePort extends DMAbstractServicePort implements Dis CMISResultSetMetaData metaData = resultSet.getMetaData(); CMISResultSetColumn[] columns = metaData.getColumns(); PropertyFilter filter = new PropertyFilter(); - + // build query response QueryResponse response = new QueryResponse(); @@ -87,7 +86,7 @@ public class DMDiscoveryServicePort extends DMAbstractServicePort implements Dis { CmisPropertiesType properties = new CmisPropertiesType(); Map values = row.getValues(); - + // for each column... for (CMISResultSetColumn column : columns) { @@ -123,22 +122,27 @@ public class DMDiscoveryServicePort extends DMAbstractServicePort implements Dis else if (type == CMISDataTypeEnum.XML) { // TODO: - throw new UnsupportedOperationException(); + throw cmisObjectsUtils.createCmisException("", EnumServiceException.NOT_SUPPORTED); } else if (type == CMISDataTypeEnum.HTML) { // TODO: - throw new UnsupportedOperationException(); + throw cmisObjectsUtils.createCmisException("", EnumServiceException.NOT_SUPPORTED); } } - + CmisObjectType object = new CmisObjectType(); object.setProperties(properties); response.getObject().add(object); } - + response.setHasMoreItems(resultSet.hasMore()); return response; } + public void getContentChanges(String repositoryId, Holder changeToken, BigInteger maxItems, Boolean includeACL, Boolean includeProperties, String filter, + Holder> changedObject) throws CmisException + { + // TODO + } } diff --git a/source/java/org/alfresco/repo/cmis/ws/DMMultiFilingServicePort.java b/source/java/org/alfresco/repo/cmis/ws/DMMultiFilingServicePort.java index b1cb1c8f4c..bc0aac2fb0 100755 --- a/source/java/org/alfresco/repo/cmis/ws/DMMultiFilingServicePort.java +++ b/source/java/org/alfresco/repo/cmis/ws/DMMultiFilingServicePort.java @@ -24,6 +24,8 @@ */ package org.alfresco.repo.cmis.ws; +import org.alfresco.cmis.CMISDictionaryModel; +import org.alfresco.cmis.CMISTypeDefinition; import org.alfresco.repo.cmis.ws.utils.AlfrescoObjectType; import org.alfresco.service.cmr.repository.NodeRef; @@ -33,7 +35,7 @@ import org.alfresco.service.cmr.repository.NodeRef; * @author Dmitry Lazurkin * @author Dmitry Velichkevich */ -@javax.jws.WebService(name = "MultiFilingServicePort", serviceName = "MultiFilingService", portName = "MultiFilingServicePort", targetNamespace = "http://www.cmis.org/ns/1.0", endpointInterface = "org.alfresco.repo.cmis.ws.MultiFilingServicePort") +@javax.jws.WebService(name = "MultiFilingServicePort", serviceName = "MultiFilingService", portName = "MultiFilingServicePort", targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901", endpointInterface = "org.alfresco.repo.cmis.ws.MultiFilingServicePort") public class DMMultiFilingServicePort extends DMAbstractServicePort implements MultiFilingServicePort { /** @@ -42,24 +44,22 @@ public class DMMultiFilingServicePort extends DMAbstractServicePort implements M * @param repositoryId Repository Id * @param objectId object Id to be added to a folder * @param folderId folder Id to which the object is added - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws ObjectNotFoundException - * @throws FolderNotValidException - * @throws OperationNotSupportedException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, CONSTRAINT) */ - public void addObjectToFolder(String repositoryId, String objectId, String folderId) - throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, FolderNotValidException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public void addObjectToFolder(String repositoryId, String objectId, String folderId) throws CmisException { checkRepositoryId(repositoryId); NodeRef objectNodeRef = cmisObjectsUtils.getIdentifierInstance(objectId, AlfrescoObjectType.DOCUMENT_OR_FOLDER_OBJECT).getConvertedIdentifier(); NodeRef parentFolderNodeRef = cmisObjectsUtils.getIdentifierInstance(folderId, AlfrescoObjectType.FOLDER_OBJECT).getConvertedIdentifier(); - // TODO: check for allowed child object types + CMISTypeDefinition objectType = cmisDictionaryService.findType((String) cmisService.getProperty(objectNodeRef, CMISDictionaryModel.PROP_OBJECT_TYPE_ID)); + CMISTypeDefinition folderType = cmisDictionaryService.findType((String) cmisService.getProperty(parentFolderNodeRef, CMISDictionaryModel.PROP_OBJECT_TYPE_ID)); + if (!folderType.getAllowedTargetTypes().contains(objectType)) + { + cmisObjectsUtils.createCmisException("The typeID of Object is not in the list of AllowedChildObjectTypeIds of the parent-folder specified by folderId", + EnumServiceException.CONSTRAINT); + } cmisObjectsUtils.addObjectToFolder(objectNodeRef, parentFolderNodeRef); } @@ -69,18 +69,9 @@ public class DMMultiFilingServicePort extends DMAbstractServicePort implements M * @param repositoryId repository Id * @param objectId The object to be removed from a folder * @param folderId The folder to be removed from. - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws ObjectNotFoundException - * @throws FolderNotValidException - * @throws OperationNotSupportedException - * @throws NotInFolderException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME) */ - public void removeObjectFromFolder(String repositoryId, String objectId, String folderId) - throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, FolderNotValidException, OperationNotSupportedException, NotInFolderException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public void removeObjectFromFolder(String repositoryId, String objectId, String folderId) throws CmisException { checkRepositoryId(repositoryId); @@ -92,11 +83,11 @@ public class DMMultiFilingServicePort extends DMAbstractServicePort implements M if (!cmisObjectsUtils.removeObject(objectNodeReference, folderNodeReference)) { - throw new NotInFolderException("The specified Object is not child of the specified Folder Object"); + throw cmisObjectsUtils.createCmisException("The specified Object is not child of the specified Folder Object", EnumServiceException.INVALID_ARGUMENT); } } - private NodeRef checkAndReceiveFolderIdentifier(String folderIdentifier) throws OperationNotSupportedException + private NodeRef checkAndReceiveFolderIdentifier(String folderIdentifier) throws CmisException { try { @@ -104,15 +95,15 @@ public class DMMultiFilingServicePort extends DMAbstractServicePort implements M } catch (Throwable e) { - throw new OperationNotSupportedException("Unfiling is not supported. An Object can't be deleted from all Folders"); + throw cmisObjectsUtils.createCmisException("Unfiling is not supported. An Object can't be deleted from all Folders", EnumServiceException.NOT_SUPPORTED, e); } } - private void checkObjectChildParentRelationships(NodeRef objectNodeReference, NodeRef folderNodeReference) throws OperationNotSupportedException + private void checkObjectChildParentRelationships(NodeRef objectNodeReference, NodeRef folderNodeReference) throws CmisException { if (cmisObjectsUtils.isPrimaryObjectParent(folderNodeReference, objectNodeReference)) { - throw new OperationNotSupportedException("Unfiling is not supported. Use deleteObjectService instead"); + throw cmisObjectsUtils.createCmisException("Unfiling is not supported. Use deleteObjectService instead", EnumServiceException.NOT_SUPPORTED); } } } diff --git a/source/java/org/alfresco/repo/cmis/ws/DMNavigationServicePort.java b/source/java/org/alfresco/repo/cmis/ws/DMNavigationServicePort.java index 65c3bc5436..1cbbe72104 100644 --- a/source/java/org/alfresco/repo/cmis/ws/DMNavigationServicePort.java +++ b/source/java/org/alfresco/repo/cmis/ws/DMNavigationServicePort.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2008 Alfresco Software Limited. + * Copyright (C) 2005-2009 Alfresco Software Limited. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -28,15 +28,19 @@ import java.math.BigInteger; import java.util.Arrays; import java.util.LinkedList; import java.util.List; +import java.util.regex.Pattern; +import org.alfresco.cmis.CMISDictionaryModel; import org.alfresco.cmis.CMISTypesFilterEnum; import org.alfresco.repo.cmis.PropertyFilter; import org.alfresco.repo.cmis.ws.utils.AlfrescoObjectType; import org.alfresco.repo.security.authentication.AuthenticationUtil; import org.alfresco.repo.web.util.paging.Cursor; import org.alfresco.service.cmr.repository.ChildAssociationRef; -import org.alfresco.service.cmr.repository.InvalidNodeRefException; import org.alfresco.service.cmr.repository.NodeRef; +import org.alfresco.util.Pair; + +import com.sun.star.auth.InvalidArgumentException; /** * Port for navigation service @@ -44,42 +48,45 @@ import org.alfresco.service.cmr.repository.NodeRef; * @author Dmitry Lazurkin * @author Dmitry Velichkevich */ -@javax.jws.WebService(name = "NavigationServicePort", serviceName = "NavigationService", portName = "NavigationServicePort", targetNamespace = "http://www.cmis.org/ns/1.0", endpointInterface = "org.alfresco.repo.cmis.ws.NavigationServicePort") +@javax.jws.WebService(name = "NavigationServicePort", serviceName = "NavigationService", portName = "NavigationServicePort", targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901", endpointInterface = "org.alfresco.repo.cmis.ws.NavigationServicePort") public class DMNavigationServicePort extends DMAbstractServicePort implements NavigationServicePort { - private static final String POLICIES_LISTING_UNSUPPORTED_EXCEPTION_MESSAGE = "Policies listing isn't supported"; private static final int EQUALS_CONDITION_VALUE = 0; private static final BigInteger FULL_DESCENDANTS_HIERARCHY_CONDITION = BigInteger.valueOf(-1l); + private static final String FILTER_TOKENS_DELIMETER = ", "; + private static final String POLICIES_LISTING_UNSUPPORTED_EXCEPTION_MESSAGE = "Policies listing isn't supported"; + + private static final Pattern ORDER_BY_CLAUSE_MASK = Pattern.compile("^( )*([\\p{Alnum}_]+(( )+((ASC)|(DESC)))?){1}((,){1}( )*[\\p{Alnum}_]+(( )+((ASC)|(DESC)))?)*( )*$", + Pattern.CASE_INSENSITIVE); + /** * Gets the private working copies of checked-out objects that the user is allowed to update. * * @param parameters repositoryId: repository Id; folderID: folder Id; filter: property filter; includeAllowableActions; includeRelationships; maxItems: 0 = Unlimited; * skipCount: 0 = start at beginning - * @return collection of CmisObjectType and boolean hasMoreItems - * @throws RuntimeException - * @throws InvalidArgumentException - * @throws ObjectNotFoundException - * @throws ConstraintViolationException - * @throws FilterNotValidException - * @throws OperationNotSupportedException - * @throws UpdateConflictException - * @throws FolderNotValidException - * @throws PermissionDeniedException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, FILTER_NOT_VALID) */ - public GetCheckedoutDocsResponse getCheckedoutDocs(GetCheckedoutDocs parameters) throws RuntimeException, InvalidArgumentException, ObjectNotFoundException, - ConstraintViolationException, FilterNotValidException, OperationNotSupportedException, UpdateConflictException, FolderNotValidException, PermissionDeniedException + public GetCheckedoutDocsResponse getCheckedoutDocs(GetCheckedoutDocs parameters) throws CmisException { checkRepositoryId(parameters.getRepositoryId()); PropertyFilter propertyFilter = createPropertyFilter(parameters.getFilter()); NodeRef folderId = null; - String folderIdParam = parameters.getFolderID() == null ? null : parameters.getFolderID().getValue(); - if (folderIdParam != null) + String folderIdParam = parameters.getFolderId() == null ? null : parameters.getFolderId().getValue(); + if ((folderIdParam != null) && !folderIdParam.equals("")) { folderId = cmisObjectsUtils.getIdentifierInstance(folderIdParam, AlfrescoObjectType.FOLDER_OBJECT).getConvertedIdentifier(); } - + + @SuppressWarnings("unused") + List> orderingFields = null; + if ((parameters.getOrderBy() != null) && (parameters.getOrderBy().getValue() != null) && !parameters.getOrderBy().getValue().equals("")) + { + orderingFields = checkAndParseOrderByClause(parameters.getOrderBy().getValue()); + } + + // TODO: Ordering functionality SHOULD be moved to getChildren service method NodeRef[] nodeRefs = cmisService.getCheckedOut(AuthenticationUtil.getFullyAuthenticatedUser(), folderId, (folderId == null)); Cursor cursor = createCursor(nodeRefs.length, parameters.getSkipCount() != null ? parameters.getSkipCount().getValue() : null, parameters.getMaxItems() != null ? parameters.getMaxItems().getValue() : null); @@ -106,29 +113,29 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na * @param parameters repositoryId: repository Id; folderId: folder Id; type: DOCUMENTS, FOLDERS, POLICIES, ANY; filter: property filter; includeAllowableActions; * includeRelationships; maxItems: 0 = Unlimited; skipCount: 0 = start at beginning * @return collection of CmisObjectType and boolean hasMoreItems - * @throws RuntimeException - * @throws InvalidArgumentException - * @throws ObjectNotFoundException - * @throws ConstraintViolationException - * @throws FilterNotValidException - * @throws OperationNotSupportedException - * @throws UpdateConflictException - * @throws FolderNotValidException - * @throws PermissionDeniedException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, FILTER_NOT_VALID) */ - public GetChildrenResponse getChildren(GetChildren parameters) throws RuntimeException, InvalidArgumentException, ObjectNotFoundException, ConstraintViolationException, - FilterNotValidException, OperationNotSupportedException, UpdateConflictException, FolderNotValidException, PermissionDeniedException + public GetChildrenResponse getChildren(GetChildren parameters) throws CmisException { + checkRepositoryId(parameters.getRepositoryId()); PropertyFilter propertyFilter = createPropertyFilter(parameters.getFilter()); NodeRef folderNodeRef = cmisObjectsUtils.getIdentifierInstance(parameters.getFolderId(), AlfrescoObjectType.FOLDER_OBJECT).getConvertedIdentifier(); EnumTypesOfFileableObjects types = EnumTypesOfFileableObjects.ANY; - if (parameters.getType() != null) + if ((parameters.getType() != null) && ((parameters.getType().getValue() != null))) { types = parameters.getType().getValue(); } + @SuppressWarnings("unused") + List> orderingFields = null; + if ((parameters.getOrderBy() != null) && !parameters.getOrderBy().equals("")) + { + orderingFields = checkAndParseOrderByClause(parameters.getOrderBy()); + } + + // TODO: Ordering functionality SHOULD be moved to getChildren service method NodeRef[] listing = null; switch (types) { @@ -139,7 +146,8 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na listing = cmisService.getChildren(folderNodeRef, CMISTypesFilterEnum.FOLDERS); break; case POLICIES: - throw new OperationNotSupportedException(POLICIES_LISTING_UNSUPPORTED_EXCEPTION_MESSAGE); + throw new CmisException(POLICIES_LISTING_UNSUPPORTED_EXCEPTION_MESSAGE, cmisObjectsUtils.createCmisException(POLICIES_LISTING_UNSUPPORTED_EXCEPTION_MESSAGE, + EnumServiceException.NOT_SUPPORTED)); case ANY: listing = cmisService.getChildren(folderNodeRef, CMISTypesFilterEnum.ANY); break; @@ -156,11 +164,36 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na resultListing.add(createCmisObject(listing[index].toString(), propertyFilter)); } + // TODO: includeAllowableActions, includeRelationships + response.setHasMoreItems(cursor.getEndRow() < (listing.length - 1)); return response; } + // TODO: This method will create appropriate Ordering fields + private List> checkAndParseOrderByClause(String orderByClause) throws CmisException + { + List> result = new LinkedList>(); + + if (!ORDER_BY_CLAUSE_MASK.matcher(orderByClause).matches()) + { + throw cmisObjectsUtils.createCmisException(("\"" + orderByClause + "\" Order By Clause is invalid!"), EnumServiceException.INVALID_ARGUMENT); + } + + for (String token : orderByClause.split(",")) + { + token = token.trim(); + + String[] direction = token.split(" "); + String fieldName = direction[0]; + + result.add(new Pair(fieldName, ((direction.length == 1) ? (true) : (direction[direction.length - 1].toLowerCase().equals("asc"))))); + } + + return result; + } + /** * Gets the list of descendant objects contained at one or more levels in the tree rooted at the specified folder. Only the filter-selected properties associated with each * object are returned. The content-stream is not returned. For paging through the children (depth of 1) only use {@link #getChildren(GetChildren parameters)}. @@ -168,18 +201,9 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na * @param parameters repositoryId: repository Id; folderId: folder Id; depth: 1 this folder only (Default), N folders deep, -1 for all levels; filter: property filter; * includeAllowableActions; includeRelationships; * @return collection of CmisObjectType - * @throws RuntimeException - * @throws InvalidArgumentException - * @throws ObjectNotFoundException - * @throws ConstraintViolationException - * @throws FilterNotValidException - * @throws OperationNotSupportedException - * @throws UpdateConflictException - * @throws FolderNotValidException - * @throws PermissionDeniedException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, FILTER_NOT_VALID) */ - public GetDescendantsResponse getDescendants(GetDescendants parameters) throws RuntimeException, InvalidArgumentException, ObjectNotFoundException, - ConstraintViolationException, FilterNotValidException, OperationNotSupportedException, UpdateConflictException, FolderNotValidException, PermissionDeniedException + public GetDescendantsResponse getDescendants(GetDescendants parameters) throws CmisException { checkRepositoryId(parameters.getRepositoryId()); PropertyFilter propertyFilter = createPropertyFilter(parameters.getFilter()); @@ -188,18 +212,27 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na GetDescendantsResponse response = new GetDescendantsResponse(); HierarchyReceiverStrategy receiver = createHierarchyReceiver(parameters.getType() != null ? parameters.getType() : EnumTypesOfFileableObjects.ANY, depth); - createCmisObjectList(propertyFilter, receiver.receiveHierarchy(parameters.getFolderId()), response.getObject()); + + List> orderingFields = null; + if ((parameters.getOrderBy() != null) && !parameters.getOrderBy().equals("")) + { + orderingFields = checkAndParseOrderByClause(parameters.getOrderBy()); + } + + // TODO: Ordering functionality SHOULD be moved to getChildren service method + createCmisObjectList(propertyFilter, receiver.receiveHierarchy(parameters.getFolderId(), orderingFields), response.getObject()); // TODO: includeAllowableActions, includeRelationships return response; } - private void checkDepthParameter(BigInteger depth) throws InvalidArgumentException + private void checkDepthParameter(BigInteger depth) throws CmisException { if (depth.equals(BigInteger.ZERO) || (depth.compareTo(FULL_DESCENDANTS_HIERARCHY_CONDITION) < EQUALS_CONDITION_VALUE)) { - throw new InvalidArgumentException("The specified descendants depth is not valid. Valid depth values are: -1 (full hierarchy), N > 0"); + throw cmisObjectsUtils.createCmisException("The specified descendants depth is not valid. Valid depth values are: -1 (full hierarchy), N > 0", + EnumServiceException.INVALID_ARGUMENT); } } @@ -209,20 +242,26 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na * @param parameters repositoryId: repository Id; folderId: folder Id; filter: property filter; includeAllowableActions; includeRelationships; returnToRoot: If false, return * only the immediate parent of the folder. If true, return an ordered list of all ancestor folders from the specified folder to the root folder * @return collection of CmisObjectType - * @throws RuntimeException - * @throws InvalidArgumentException - * @throws ObjectNotFoundException - * @throws ConstraintViolationException - * @throws FilterNotValidException - * @throws OperationNotSupportedException - * @throws UpdateConflictException - * @throws FolderNotValidException - * @throws PermissionDeniedException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, FILTER_NOT_VALID) */ - public GetFolderParentResponse getFolderParent(GetFolderParent parameters) - throws RuntimeException, InvalidArgumentException, ObjectNotFoundException, ConstraintViolationException, FilterNotValidException, OperationNotSupportedException, UpdateConflictException, FolderNotValidException, PermissionDeniedException + public GetFolderParentResponse getFolderParent(GetFolderParent parameters) throws CmisException { checkRepositoryId(parameters.getRepositoryId()); + + String filter = parameters.getFilter(); + if (filter != null) + { + if (!filter.contains(CMISDictionaryModel.PROP_PARENT_ID)) + { + filter = CMISDictionaryModel.PROP_PARENT_ID + FILTER_TOKENS_DELIMETER + filter; + } + + if (!filter.contains(CMISDictionaryModel.PROP_OBJECT_ID)) + { + filter = CMISDictionaryModel.PROP_OBJECT_ID + FILTER_TOKENS_DELIMETER + filter; + } + } + PropertyFilter propertyFilter = createPropertyFilter(parameters.getFilter()); GetFolderParentResponse response = new GetFolderParentResponse(); @@ -240,18 +279,10 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na * * @param parameters repositoryId: repository Id; objectId: object Id; filter: property filter; includeAllowableActions; includeRelationships; * @return collection of CmisObjectType - * @throws RuntimeException - * @throws InvalidArgumentException - * @throws ObjectNotFoundException - * @throws ConstraintViolationException - * @throws FilterNotValidException - * @throws OperationNotSupportedException - * @throws UpdateConflictException - * @throws FolderNotValidException - * @throws PermissionDeniedException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, CONSTRAINT, + * FILTER_NOT_VALID) */ - public GetObjectParentsResponse getObjectParents(GetObjectParents parameters) - throws RuntimeException, InvalidArgumentException, ObjectNotFoundException, ConstraintViolationException, FilterNotValidException, OperationNotSupportedException, UpdateConflictException, FolderNotValidException, PermissionDeniedException + public GetObjectParentsResponse getObjectParents(GetObjectParents parameters) throws CmisException { // TODO: Policy @@ -259,7 +290,8 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na PropertyFilter propertyFilter = createPropertyFilter(parameters.getFilter()); GetObjectParentsResponse response = new GetObjectParentsResponse(); - List parents = receiveObjectParents((NodeRef) cmisObjectsUtils.getIdentifierInstance(parameters.getObjectId(), AlfrescoObjectType.DOCUMENT_OBJECT).getConvertedIdentifier()); + List parents = receiveObjectParents((NodeRef) cmisObjectsUtils.getIdentifierInstance(parameters.getObjectId(), AlfrescoObjectType.DOCUMENT_OBJECT) + .getConvertedIdentifier()); createCmisObjectList(propertyFilter, parents, response.getObject()); // TODO: includeAllowableActions, includeRelationships @@ -267,19 +299,19 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na return response; } - private List receiveParentList(String targetChildIdentifier, boolean fullParentsHierarchy) - throws InvalidNodeRefException, InvalidArgumentException, ObjectNotFoundException + private List receiveParentList(String targetChildIdentifier, boolean fullParentsHierarchy) throws CmisException { List result = new LinkedList(); if (targetChildIdentifier.equals(cmisService.getDefaultRootNodeRef().toString())) { return result; } - - NodeRef currentParent = receiveNextParentNodeReference((NodeRef) cmisObjectsUtils.getIdentifierInstance(targetChildIdentifier, AlfrescoObjectType.FOLDER_OBJECT).getConvertedIdentifier(), result); + + NodeRef currentParent = receiveNextParentNodeReference((NodeRef) cmisObjectsUtils.getIdentifierInstance(targetChildIdentifier, AlfrescoObjectType.FOLDER_OBJECT) + .getConvertedIdentifier(), result); return (fullParentsHierarchy) ? (receiveFullAncestorsHierachy(currentParent, result)) : (result); } - + private List receiveFullAncestorsHierachy(NodeRef currentParent, List parents) { String lastAncestorIdentifier = cmisService.getDefaultRootNodeRef().toString(); @@ -289,18 +321,18 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na } return parents; } - + private NodeRef receiveNextParentNodeReference(NodeRef currentParent, List parents) { - currentParent = nodeService.getPrimaryParent(currentParent).getParentRef(); + currentParent = nodeService.getPrimaryParent(currentParent).getParentRef(); if (currentParent != null) { parents.add(currentParent); } return currentParent; } - - private List receiveObjectParents(NodeRef objectId) throws InvalidArgumentException + + private List receiveObjectParents(NodeRef objectId) throws CmisException { List parents = new LinkedList(); for (ChildAssociationRef childParentAssociation : nodeService.getParentAssocs(objectId)) @@ -310,7 +342,6 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na return parents; } - private HierarchyReceiverStrategy createHierarchyReceiver(EnumTypesOfFileableObjects returnObjectsType, BigInteger finalDepth) { if (finalDepth.equals(FULL_DESCENDANTS_HIERARCHY_CONDITION)) @@ -323,14 +354,15 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na } } - private void separateDescendantsObjects(EnumTypesOfFileableObjects returnObjectsType, List descendantsFolders, List currentLayerFolders, List currentLayerDocuments) + private void separateDescendantsObjects(EnumTypesOfFileableObjects returnObjectsType, List descendantsFolders, List currentLayerFolders, + List currentLayerDocuments, List> orderingFields) { for (NodeRef element : descendantsFolders) { - // TODO: OrderBy functionality processing. Instead Arrays.asList() it is necessary to add ordering processing method to store each new element where it should go + // TODO: Ordering functionality SHOULD be moved to getChildren service method currentLayerFolders.addAll(Arrays.asList(cmisService.getChildren(element, CMISTypesFilterEnum.FOLDERS))); - // TODO: OrderBy functionality processing. Instead Arrays.asList() it is necessary to add ordering processing method to store each new element where it should go + // TODO: Ordering functionality SHOULD be moved to getChildren service method if ((returnObjectsType == EnumTypesOfFileableObjects.ANY) || (returnObjectsType == EnumTypesOfFileableObjects.DOCUMENTS)) { currentLayerDocuments.addAll(Arrays.asList(cmisService.getChildren(element, CMISTypesFilterEnum.DOCUMENTS))); @@ -339,9 +371,9 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na } private List performDescendantsResultObjectsStoring(EnumTypesOfFileableObjects returnObjectsType, List resultList, List descendantsFolders, - List currentLayerFolders, List currentLayerDocuments) + List currentLayerFolders, List currentLayerDocuments, List> orderingFields) { - separateDescendantsObjects(returnObjectsType, descendantsFolders, currentLayerFolders, currentLayerDocuments); + separateDescendantsObjects(returnObjectsType, descendantsFolders, currentLayerFolders, currentLayerDocuments, orderingFields); if ((returnObjectsType == EnumTypesOfFileableObjects.ANY) || (returnObjectsType == EnumTypesOfFileableObjects.FOLDERS)) { @@ -363,7 +395,7 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na * @return List that contains all appropriates layers of Alfresco objects * @throws InvalidArgumentException */ - public List receiveHierarchy(String rootFolderIdentifier) throws InvalidArgumentException; + public List receiveHierarchy(String rootFolderIdentifier, List> orderFields) throws CmisException; } /** @@ -386,12 +418,13 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na /** * Traverse Alfresco objects hierarchy until there is some Folder-objects can be found */ - public List receiveHierarchy(String rootFolderIdentifier) throws InvalidArgumentException + public List receiveHierarchy(String rootFolderIdentifier, List> orderingFields) throws CmisException { descendantsFolders.add((NodeRef) cmisObjectsUtils.getIdentifierInstance(rootFolderIdentifier, AlfrescoObjectType.FOLDER_OBJECT).getConvertedIdentifier()); while (!descendantsFolders.isEmpty()) { - descendantsFolders = performDescendantsResultObjectsStoring(returnObjectsType, resultList, descendantsFolders, new LinkedList(), new LinkedList()); + descendantsFolders = performDescendantsResultObjectsStoring(returnObjectsType, resultList, descendantsFolders, new LinkedList(), + new LinkedList(), orderingFields); } return resultList; @@ -422,13 +455,14 @@ public class DMNavigationServicePort extends DMAbstractServicePort implements Na /** * This method of this class receives Alfresco objects hierarchy until specified layer number */ - public List receiveHierarchy(String rootFolderIdentifier) throws InvalidArgumentException + public List receiveHierarchy(String rootFolderIdentifier, List> orderingFields) throws CmisException { descendantsFolders.add((NodeRef) cmisObjectsUtils.getIdentifierInstance(rootFolderIdentifier, AlfrescoObjectType.FOLDER_OBJECT).getConvertedIdentifier()); do { - descendantsFolders = performDescendantsResultObjectsStoring(this.returnObjectsType, this.resultList, this.descendantsFolders, new LinkedList(), new LinkedList()); + descendantsFolders = performDescendantsResultObjectsStoring(this.returnObjectsType, this.resultList, this.descendantsFolders, new LinkedList(), + new LinkedList(), orderingFields); currentDepth = currentDepth.add(BigInteger.ONE); } while (!descendantsFolders.isEmpty() && (currentDepth.compareTo(this.finalDepth) < EQUALS_CONDITION_VALUE)); diff --git a/source/java/org/alfresco/repo/cmis/ws/DMObjectServicePort.java b/source/java/org/alfresco/repo/cmis/ws/DMObjectServicePort.java index 9dbd9fcb8d..0f54f07a5d 100644 --- a/source/java/org/alfresco/repo/cmis/ws/DMObjectServicePort.java +++ b/source/java/org/alfresco/repo/cmis/ws/DMObjectServicePort.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2008 Alfresco Software Limited. + * Copyright (C) 2005-2009 Alfresco Software Limited. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -29,12 +29,15 @@ import java.io.InputStream; import java.io.Serializable; import java.math.BigInteger; import java.util.HashMap; +import java.util.List; import java.util.Map; import javax.activation.DataHandler; import javax.xml.ws.Holder; +import org.alfresco.cmis.CMISContentStreamAllowedEnum; import org.alfresco.cmis.CMISDictionaryModel; +import org.alfresco.cmis.CMISPropertyDefinition; import org.alfresco.cmis.CMISScope; import org.alfresco.cmis.CMISTypeDefinition; import org.alfresco.model.ContentModel; @@ -49,11 +52,13 @@ import org.alfresco.service.cmr.dictionary.DictionaryService; import org.alfresco.service.cmr.lock.NodeLockedException; import org.alfresco.service.cmr.model.FileExistsException; import org.alfresco.service.cmr.repository.AssociationRef; +import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.ContentReader; import org.alfresco.service.cmr.repository.ContentWriter; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.security.AccessStatus; import org.alfresco.service.cmr.security.PermissionService; +import org.alfresco.service.cmr.version.Version; import org.alfresco.service.cmr.version.VersionType; import org.alfresco.service.namespace.QName; @@ -63,7 +68,7 @@ import org.alfresco.service.namespace.QName; * @author Dmitry Lazurkin * @author Dmitry Velichkevich */ -@javax.jws.WebService(name = "ObjectServicePort", serviceName = "ObjectService", portName = "ObjectServicePort", targetNamespace = "http://www.cmis.org/ns/1.0", endpointInterface = "org.alfresco.repo.cmis.ws.ObjectServicePort") +@javax.jws.WebService(name = "ObjectServicePort", serviceName = "ObjectService", portName = "ObjectServicePort", targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901", endpointInterface = "org.alfresco.repo.cmis.ws.ObjectServicePort") public class DMObjectServicePort extends DMAbstractServicePort implements ObjectServicePort { private static final int SINGLE_PARENT_CONDITION = 1; @@ -76,13 +81,12 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object { this.permissionService = permissionService; } - + public void setDictionaryService(DictionaryService dictionaryService) { this.dictionaryService = dictionaryService; } - /** * Creates a document object of the specified type, and optionally adds the document to a folder * @@ -93,37 +97,18 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object * @param contentStream content stream * @param versioningState versioning state (checkedout, minor, major) * @return Id of the created document object - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws StorageException - * @throws StreamNotSupportedException - * @throws FolderNotValidException - * @throws OperationNotSupportedException - * @throws TypeNotFoundException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, CONSTRAINT, STORAGE, + * STREAM_NOT_SUPPORTED) */ - public String createDocument(String repositoryId, String typeId, CmisPropertiesType properties, String folderId, CmisContentStreamType contentStream, EnumVersioningState versioningState) - throws PermissionDeniedException, UpdateConflictException, StorageException, StreamNotSupportedException, FolderNotValidException, - OperationNotSupportedException, TypeNotFoundException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public String createDocument(String repositoryId, String typeId, CmisPropertiesType properties, String folderId, CmisContentStreamType contentStream, + EnumVersioningState versioningState) throws CmisException { checkRepositoryId(repositoryId); - + NodeRef parentNodeRef = safeGetFolderNodeRef(folderId); Map propertiesMap = getPropertiesMap(properties); CMISTypeDefinition typeDef = cmisDictionaryService.findType(typeId); - if (typeDef.getTypeId().getScope() != CMISScope.DOCUMENT) - { - throw new ConstraintViolationException("Invalid document type " + typeId); - } - NodeRef parentNodeRef = safeGetFolderNodeRef(folderId); - - String documentName = (String) propertiesMap.get(CMISDictionaryModel.PROP_NAME); - if (documentName == null) - { - throw new InvalidArgumentException("Name property not found"); - } + String documentName = checkConstraintsAndGetName(typeId, typeDef, parentNodeRef, contentStream, propertiesMap, versioningState); NodeRef newDocumentNodeRef = fileFolderService.create(parentNodeRef, documentName, typeDef.getTypeId().getQName()).getNodeRef(); ContentWriter writer = fileFolderService.getWriter(newDocumentNodeRef); @@ -132,6 +117,10 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object { writer.setMimetype(mimeType); } + else if (contentStream.getMimeType() != null) + { + writer.setMimetype(contentStream.getMimeType()); + } InputStream inputstream = null; try { @@ -139,7 +128,7 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object } catch (IOException e) { - throw new ConstraintViolationException("", e.getCause()); + throw cmisObjectsUtils.createCmisException(e.toString(), EnumServiceException.CONSTRAINT); } writer.putContent(inputstream); @@ -153,21 +142,70 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object switch (versioningState) { - case CHECKEDOUT: - newDocumentNodeRef = checkoutNode(newDocumentNodeRef); - break; - case MAJOR: - this.versionService.createVersion(newDocumentNodeRef, createVersionProperties(INITIAL_VERSION_DESCRIPTION, VersionType.MAJOR)); - break; - case MINOR: - this.versionService.createVersion(newDocumentNodeRef, createVersionProperties(INITIAL_VERSION_DESCRIPTION, VersionType.MINOR)); - break; + case CHECKEDOUT: + newDocumentNodeRef = checkoutNode(newDocumentNodeRef); + break; + case MAJOR: + this.versionService.createVersion(newDocumentNodeRef, createVersionProperties(INITIAL_VERSION_DESCRIPTION, VersionType.MAJOR)); + break; + case MINOR: + this.versionService.createVersion(newDocumentNodeRef, createVersionProperties(INITIAL_VERSION_DESCRIPTION, VersionType.MINOR)); + break; } String versionLabel = (String) cmisService.getProperty(newDocumentNodeRef, CMISDictionaryModel.PROP_VERSION_LABEL); - return versionLabel != null && versionLabel.contains(VERSION_DELIMETER) ? - newDocumentNodeRef.toString() + CmisObjectsUtils.NODE_REFERENCE_ID_DELIMETER + versionLabel : - newDocumentNodeRef.toString(); + return versionLabel != null && versionLabel.contains(VERSION_DELIMETER) ? newDocumentNodeRef.toString() + CmisObjectsUtils.NODE_REFERENCE_ID_DELIMETER + versionLabel + : newDocumentNodeRef.toString(); + } + + private String checkConstraintsAndGetName(String documentTypeId, CMISTypeDefinition typeDef, NodeRef parentNodeRef, CmisContentStreamType contentStream, + Map propertiesMap, EnumVersioningState versioningState) throws CmisException + { + if ((typeDef.getTypeId().getScope() != CMISScope.DOCUMENT) || !typeDef.isCreatable()) + { + throw cmisObjectsUtils.createCmisException(("Invalid document type \"" + documentTypeId + "\". Specified type is not Document type or type is not Creatable"), + EnumServiceException.CONSTRAINT); + } + + if (CMISContentStreamAllowedEnum.NOT_ALLOWED == typeDef.getContentStreamAllowed()) + { + throw cmisObjectsUtils.createCmisException(("Content stream not allowed for \"" + documentTypeId + "\" document object type"), + EnumServiceException.STREAM_NOT_SUPPORTED); + } + else + { + if ((CMISContentStreamAllowedEnum.REQUIRED == typeDef.getContentStreamAllowed()) && (contentStream == null)) + { + throw cmisObjectsUtils.createCmisException("Content stream for document object of " + documentTypeId + " type is required", EnumServiceException.CONSTRAINT); + } + } + + if (typeDef.isVersionable() && (versioningState != null)) + { + throw cmisObjectsUtils.createCmisException(("Verioning for \"" + documentTypeId + "\" document type is not allowed"), EnumServiceException.CONSTRAINT); + } + + String folderTypeId = (String) cmisService.getProperty(parentNodeRef, CMISDictionaryModel.PROP_OBJECT_TYPE_ID); + CMISTypeDefinition folderTypeDefinition = cmisDictionaryService.findType(folderTypeId); + if ((folderTypeDefinition.getAllowedTargetTypes() != null) && !folderTypeDefinition.getAllowedTargetTypes().isEmpty() + && !folderTypeDefinition.getAllowedTargetTypes().contains(typeDef)) + { + throw cmisObjectsUtils.createCmisException(("Children of \"" + documentTypeId + "\" type are not allowed for specified folder"), EnumServiceException.CONSTRAINT); + } + + String result = (String) propertiesMap.get(CMISDictionaryModel.PROP_NAME); + if (result == null) + { + throw cmisObjectsUtils.createCmisException("Name property not found", EnumServiceException.INVALID_ARGUMENT); + } + + CMISPropertyDefinition nameProperty = cmisDictionaryService.findProperty(CMISDictionaryModel.PROP_NAME, null); + if ((nameProperty.getMaximumLength() > 0) && (result.length() > nameProperty.getMaximumLength())) + { + throw cmisObjectsUtils.createCmisException("Name property length too big", EnumServiceException.CONSTRAINT); + } + + return result; } /** @@ -178,34 +216,31 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object * @param properties CMIS properties * @param folderId parent folder for this new folder * @return Id of the created folder object - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws FolderNotValidException - * @throws OperationNotSupportedException - * @throws TypeNotFoundException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, CONSTRAINT, STORAGE) */ - public String createFolder(String repositoryId, String typeId, CmisPropertiesType properties, String folderId) - throws PermissionDeniedException, UpdateConflictException, FolderNotValidException, OperationNotSupportedException, TypeNotFoundException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public String createFolder(String repositoryId, String typeId, CmisPropertiesType properties, String folderId) throws CmisException { checkRepositoryId(repositoryId); - NodeRef folderNodeRef = cmisObjectsUtils.getIdentifierInstance(folderId, AlfrescoObjectType.FOLDER_OBJECT).getConvertedIdentifier(); + NodeRef folderNodeRef = null; + try + { + folderNodeRef = cmisObjectsUtils.getIdentifierInstance(folderId, AlfrescoObjectType.FOLDER_OBJECT).getConvertedIdentifier(); + } + catch (CmisException e) + { + e.getFaultInfo().setType(EnumServiceException.CONSTRAINT); + throw e; + } CMISTypeDefinition type = getCmisTypeDefinition(typeId); if (type == null || type.getTypeId().getScope() != CMISScope.FOLDER) { - throw new TypeNotFoundException(typeId); + throw cmisObjectsUtils.createCmisException("The typeID is not an Object-Type whose baseType is 'Folder': " + typeId, EnumServiceException.CONSTRAINT); } Map propertiesMap = getPropertiesMap(properties); String name = (String) propertiesMap.get(CMISDictionaryModel.PROP_NAME); - if (name == null) - { - throw new InvalidArgumentException("Name property not found"); - } - + checkPropertyName(type, name); assertExistFolder(folderNodeRef); try @@ -217,7 +252,7 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object } catch (FileExistsException e) { - throw new UpdateConflictException("Folder already exists"); + throw cmisObjectsUtils.createCmisException("Folder already exists", EnumServiceException.CONTENT_ALREADY_EXISTS); } } @@ -229,20 +264,11 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object * @param properties CMIS properties * @param folderId parent folder for this new policy * @return Id of the created policy object - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws FolderNotValidException - * @throws OperationNotSupportedException - * @throws TypeNotFoundException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, CONSTRAINT, STORAGE) */ - public String createPolicy(String repositoryId, String typeId, CmisPropertiesType properties, String folderId) - throws PermissionDeniedException, UpdateConflictException, FolderNotValidException, OperationNotSupportedException, TypeNotFoundException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public String createPolicy(String repositoryId, String typeId, CmisPropertiesType properties, String folderId) throws CmisException { - // TODO: - return null; + throw cmisObjectsUtils.createCmisException("Policy objects not supported", EnumServiceException.NOT_SUPPORTED); } /** @@ -254,41 +280,34 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object * @param sourceObjectId source object Id * @param targetObjectId target object Id * @return Id of the created relationship object - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws TypeNotFoundException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, CONSTRAINT, STORAGE) */ - public String createRelationship(String repositoryId, String typeId, CmisPropertiesType properties, String sourceObjectId, String targetObjectId) - throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, TypeNotFoundException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public String createRelationship(String repositoryId, String typeId, CmisPropertiesType properties, String sourceObjectId, String targetObjectId) throws CmisException { checkRepositoryId(repositoryId); NodeRef sourceNodeRef; NodeRef targetNodeRef; - try - { - sourceNodeRef = cmisObjectsUtils.getIdentifierInstance(sourceObjectId, AlfrescoObjectType.ANY_OBJECT).getConvertedIdentifier(); - targetNodeRef = cmisObjectsUtils.getIdentifierInstance(targetObjectId, AlfrescoObjectType.ANY_OBJECT).getConvertedIdentifier(); - } - catch (InvalidArgumentException e) - { - if (e.getCause() instanceof ObjectNotFoundException) - { - throw new ObjectNotFoundException(e.getMessage()); - } - throw e; - } + sourceNodeRef = cmisObjectsUtils.getIdentifierInstance(sourceObjectId, AlfrescoObjectType.ANY_OBJECT).getConvertedIdentifier(); + targetNodeRef = cmisObjectsUtils.getIdentifierInstance(targetObjectId, AlfrescoObjectType.ANY_OBJECT).getConvertedIdentifier(); CMISTypeDefinition relationshipType = cmisDictionaryService.findType(typeId); if (relationshipType == null || relationshipType.getTypeId().getScope() != CMISScope.RELATIONSHIP) { - throw new TypeNotFoundException(typeId); + throw cmisObjectsUtils.createCmisException(typeId, EnumServiceException.INVALID_ARGUMENT); + } + + CMISTypeDefinition sourceType = cmisDictionaryService.findType((String) cmisService.getProperty(sourceNodeRef, CMISDictionaryModel.PROP_OBJECT_TYPE_ID)); + CMISTypeDefinition targetType = cmisDictionaryService.findType((String) cmisService.getProperty(targetNodeRef, CMISDictionaryModel.PROP_OBJECT_TYPE_ID)); + + if (!relationshipType.getAllowedSourceTypes().contains(sourceType)) + { + cmisObjectsUtils.createCmisException(("Source object type is not allowed for \"" + typeId + "\" Relationship type"), EnumServiceException.CONSTRAINT); + } + if (!relationshipType.getAllowedTargetTypes().contains(targetType)) + { + cmisObjectsUtils.createCmisException(("Target object type is not allowed for \"" + typeId + "\" Relationship type"), EnumServiceException.CONSTRAINT); } QName relationshipTypeQName = relationshipType.getTypeId().getQName(); @@ -297,19 +316,19 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object { if (!dictionaryService.isSubClass(nodeService.getType(sourceNodeRef), associationDef.getSourceClass().getName())) { - throw new ConstraintViolationException("Source object type isn't allowed as source type"); + throw cmisObjectsUtils.createCmisException("Source object type isn't allowed as source type", EnumServiceException.CONSTRAINT); } if (!dictionaryService.isSubClass(nodeService.getType(targetNodeRef), associationDef.getTargetClass().getName())) { - throw new ConstraintViolationException("Target object type isn't allowed as target type"); + throw cmisObjectsUtils.createCmisException("Target object type isn't allowed as target type", EnumServiceException.CONSTRAINT); } return nodeService.createAssociation(sourceNodeRef, targetNodeRef, relationshipTypeQName).toString(); } else { - throw new TypeNotFoundException(relationshipType.getTypeId().getQName() + " Relationship type not found"); + throw cmisObjectsUtils.createCmisException((relationshipType.getTypeId().getQName() + " Relationship type not found"), EnumServiceException.INVALID_ARGUMENT); } } @@ -319,22 +338,25 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object * * @param repositoryId repository Id * @param documentId document Id - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws StorageException - * @throws StreamNotSupportedException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws VersioningException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, CONSTRAINT, STORAGE, + * UPDATE_CONFLICT, VERSIONING) */ - public void deleteContentStream(String repositoryId, String documentId) - throws PermissionDeniedException, UpdateConflictException, StorageException, StreamNotSupportedException, ObjectNotFoundException, OperationNotSupportedException, VersioningException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public void deleteContentStream(String repositoryId, String documentId) throws CmisException { + // TODO: Where is changeToken? checkRepositoryId(repositoryId); - safeDeleteContentStream((NodeRef) cmisObjectsUtils.getIdentifierInstance(documentId, AlfrescoObjectType.DOCUMENT_OBJECT).getConvertedIdentifier()); + NodeRef currentNode = (NodeRef) cmisObjectsUtils.getIdentifierInstance(documentId, AlfrescoObjectType.DOCUMENT_OBJECT).getConvertedIdentifier(); + + CMISTypeDefinition typeDef = cmisDictionaryService.findType((String) cmisService.getProperty(currentNode, CMISDictionaryModel.PROP_OBJECT_TYPE_ID)); + if (CMISContentStreamAllowedEnum.REQUIRED.equals(typeDef.getContentStreamAllowed())) + { + throw cmisObjectsUtils.createCmisException("The Objects Object-Type definition 'contentStreamAllowed' attribute is set to 'required'.", + EnumServiceException.CONSTRAINT); + } + + checkVersion(currentNode); + + safeDeleteContentStream(currentNode); } /** @@ -342,16 +364,10 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object * * @param repositoryId repository Id * @param objectId object Id - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, CONSTRAINT, + * UPDATE_CONFLICT) */ - public void deleteObject(String repositoryId, String objectId) - throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public void deleteObject(String repositoryId, String objectId) throws CmisException { checkRepositoryId(repositoryId); @@ -360,7 +376,8 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object checkObjectTypeAndAppropriateStates(objectNodeReference, nodeService.getType(objectNodeReference)); if (!cmisObjectsUtils.deleteObject(objectNodeReference)) { - throw new PermissionDeniedException("Currently authenticated User has no appropriate Permissions to delete specified Object"); + throw cmisObjectsUtils.createCmisException("Currently authenticated User has no appropriate Permissions to delete specified Object", + EnumServiceException.PERMISSION_DENIED); } } @@ -374,16 +391,9 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object * objects in this tree (Default) * @param continueOnFailure flag * @return collection of object IDs that failed to delete (if continueOnFailure is FALSE, then single object ID) - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws FolderNotValidException - * @throws OperationNotSupportedException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, UPDATE_CONFLICT) */ - public FailedToDelete deleteTree(String repositoryId, String folderId, EnumUnfileNonfolderObjects unfileNonfolderObjects, Boolean continueOnFailure) - throws PermissionDeniedException, UpdateConflictException, FolderNotValidException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public FailedToDelete deleteTree(String repositoryId, String folderId, EnumUnfileNonfolderObjects unfileNonfolderObjects, Boolean continueOnFailure) throws CmisException { checkRepositoryId(repositoryId); checkUnfilingIsNotRequested(unfileNonfolderObjects); @@ -403,15 +413,9 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object * @param repositoryId repository Id * @param objectId object Id * @return list of allowable actions - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws InvalidArgumentException - * @throws RuntimeException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME) */ - public CmisAllowableActionsType getAllowableActions(String repositoryId, String objectId) - throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException + public CmisAllowableActionsType getAllowableActions(String repositoryId, String objectId) throws CmisException { checkRepositoryId(repositoryId); return determineObjectAllowableActions(cmisObjectsUtils.getIdentifierInstance(objectId, AlfrescoObjectType.ANY_OBJECT)); @@ -423,21 +427,27 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object * @param repositoryId repository Id * @param documentId document to return the content-stream * @return content stream - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws StorageException - * @throws StreamNotSupportedException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws OffsetException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, STREAM_NOT_SUPPORTED) */ - public CmisContentStreamType getContentStream(String repositoryId, String documentId) - throws PermissionDeniedException, UpdateConflictException, StorageException, StreamNotSupportedException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, OffsetException + public CmisContentStreamType getContentStream(String repositoryId, String documentId) throws CmisException { + // TODO: + // Specification says: + // Each CMIS protocol binding SHALL provide a way for fetching a sub-range within + // a content stream, in a manner appropriate to that protocol. + // + // Implementation of sub-range fetching is suspended. + // See http://tools.oasis-open.org/issues/browse/CMIS-134 + + checkRepositoryId(repositoryId); NodeRef nodeRef = cmisObjectsUtils.getIdentifierInstance(documentId, AlfrescoObjectType.DOCUMENT_OBJECT).getConvertedIdentifier(); + CMISTypeDefinition typeDefinition = cmisDictionaryService.findType((String) cmisService.getProperty(nodeRef, CMISDictionaryModel.PROP_OBJECT_TYPE_ID)); + if (CMISContentStreamAllowedEnum.NOT_ALLOWED == typeDefinition.getContentStreamAllowed()) + { + cmisObjectsUtils.createCmisException("Content stream not allowed", EnumServiceException.STREAM_NOT_SUPPORTED); + } + CmisContentStreamType response = new CmisContentStreamType(); ContentReader reader = safeGetContentReader(nodeRef); @@ -457,31 +467,53 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object * @param objectId object Id * @param targetFolderId the target folder to be moved into * @param sourceFolderId the source folder to be moved out of - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws ObjectNotFoundException - * @throws FolderNotValidException - * @throws OperationNotSupportedException - * @throws NotInFolderException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, CONSTRAINT, STORAGE, + * UPDATE_CONFLICT, VERSIONING) */ - public void moveObject(String repositoryId, String objectId, String targetFolderId, String sourceFolderId) - throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, FolderNotValidException, OperationNotSupportedException, NotInFolderException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public void moveObject(String repositoryId, String objectId, String targetFolderId, String sourceFolderId) throws CmisException { checkRepositoryId(repositoryId); - NodeRef objectNodeRef = cmisObjectsUtils.getIdentifierInstance(objectId, AlfrescoObjectType.DOCUMENT_OR_FOLDER_OBJECT).getConvertedIdentifier(); - NodeRef targetFolderNodeRef = cmisObjectsUtils.getIdentifierInstance(targetFolderId, AlfrescoObjectType.FOLDER_OBJECT).getConvertedIdentifier(); - NodeRef sourceFolderNodeRef = cmisObjectsUtils.getIdentifierInstance(sourceFolderId, AlfrescoObjectType.FOLDER_OBJECT).getConvertedIdentifier(); - - // TODO: Allowed_Child_Object_Types + NodeRef objectNodeRef = null; - if (nodeService.getParentAssocs(objectNodeRef).size() == SINGLE_PARENT_CONDITION || !changeObjectParentAssociation(objectNodeRef, targetFolderNodeRef, sourceFolderNodeRef)) + try { - safeMove(objectNodeRef, targetFolderNodeRef); + objectNodeRef = cmisObjectsUtils.getIdentifierInstance(objectId, AlfrescoObjectType.DOCUMENT_OR_FOLDER_OBJECT).getConvertedIdentifier(); } + catch (CmisException e) + { + e.getFaultInfo().setType(EnumServiceException.CONSTRAINT); + throw e; + } + + checkVersion(objectNodeRef); + + NodeRef targetFolderNodeRef = cmisObjectsUtils.getIdentifierInstance(targetFolderId, AlfrescoObjectType.FOLDER_OBJECT).getConvertedIdentifier(); + List parentsAssociations = nodeService.getParentAssocs(objectNodeRef); + NodeRef sourceFolderNodeRef = null; + if ((parentsAssociations != null) && (SINGLE_PARENT_CONDITION != nodeService.getParentAssocs(objectNodeRef).size())) + { + try + { + sourceFolderNodeRef = cmisObjectsUtils.getIdentifierInstance(sourceFolderId, AlfrescoObjectType.FOLDER_OBJECT).getConvertedIdentifier(); + + if (!cmisObjectsUtils.isPrimaryObjectParent(sourceFolderNodeRef, objectNodeRef)) + { + changeObjectParentAssociation(objectNodeRef, targetFolderNodeRef, sourceFolderNodeRef); + return; + } + } + catch (CmisException e) + { + e.getFaultInfo().setMessage( + "Invalid source forlder for multifiled document was specified. Multifiled document must be moved from concrete folder. Exception message: " + + e.getFaultInfo().getMessage()); + throw e; + } + } + + safeMove(objectNodeRef, targetFolderNodeRef); + // TODO: Allowed_Child_Object_Types } /** @@ -491,32 +523,30 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object * @param documentId document Id * @param overwriteFlag flag * @param contentStream content stream - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws StorageException - * @throws StreamNotSupportedException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws ContentAlreadyExistsException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, CONSTRAINT, + * CONTENT_ALREADY_EXISTS, STORAGE, STREAM_NOT_SUPPORTED, UPDATE_CONFLICT, VERSIONING) */ - public void setContentStream(String repositoryId, Holder documentId, Boolean overwriteFlag, CmisContentStreamType contentStream) - throws PermissionDeniedException, UpdateConflictException, StorageException, StreamNotSupportedException, ObjectNotFoundException, OperationNotSupportedException, ContentAlreadyExistsException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public void setContentStream(String repositoryId, Holder documentId, Boolean overwriteFlag, CmisContentStreamType contentStream) throws CmisException { checkRepositoryId(repositoryId); NodeRef nodeRef = cmisObjectsUtils.getIdentifierInstance(documentId.value, AlfrescoObjectType.DOCUMENT_OBJECT).getConvertedIdentifier(); + CMISTypeDefinition typeDef = cmisDictionaryService.findType((String) cmisService.getProperty(nodeRef, CMISDictionaryModel.PROP_OBJECT_TYPE_ID)); + if (CMISContentStreamAllowedEnum.NOT_ALLOWED.equals(typeDef.getContentStreamAllowed())) + { + throw cmisObjectsUtils.createCmisException("The Objects Object-Type definition 'contentStreamAllowed' attribute is set to 'notAllowed'.", + EnumServiceException.CONSTRAINT); + } + if (contentStream.getStream() == null) { - throw new InvalidArgumentException("New Content Stream was not provided"); + throw cmisObjectsUtils.createCmisException("New Content Stream was not provided", EnumServiceException.CONSTRAINT); } if ((nodeService.getProperty(nodeRef, ContentModel.PROP_CONTENT) != null) && !overwriteFlag) { - throw new ContentAlreadyExistsException(); + throw cmisObjectsUtils.createCmisException("Content already exists", EnumServiceException.CONTENT_ALREADY_EXISTS); } ContentWriter writer = fileFolderService.getWriter(nodeRef); @@ -527,7 +557,7 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object } catch (IOException e) { - throw new ConstraintViolationException("", e.getCause()); + throw cmisObjectsUtils.createCmisException(e.getMessage(), EnumServiceException.CONSTRAINT); } writer.setMimetype(contentStream.getMimeType()); @@ -541,20 +571,17 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object * @param objectId object Id * @param changeToken change token * @param properties list of properties to update - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws ObjectNotFoundException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, CONSTRAINT, + * UPDATE_CONFLICT, VERSIONING) */ - public void updateProperties(String repositoryId, Holder objectId, String changeToken, CmisPropertiesType properties) - throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public void updateProperties(String repositoryId, Holder objectId, String changeToken, CmisPropertiesType properties) throws CmisException { checkRepositoryId(repositoryId); checkForReadOnlyProperties(properties); NodeRef objectNodeRef = cmisObjectsUtils.getIdentifierInstance(objectId.value, AlfrescoObjectType.DOCUMENT_OR_FOLDER_OBJECT).getConvertedIdentifier(); + String name = (String) PropertyUtil.getProperty(properties, CMISDictionaryModel.PROP_NAME); + checkPropertyName(objectNodeRef, name); setProperties(objectNodeRef, properties); // TODO: change token @@ -568,27 +595,21 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object * * @param parameters * @return collection collection of CmisObjectType - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws FilterNotValidException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws InvalidArgumentException - * @throws RuntimeException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, FOLDER_NOT_VALID) */ - public GetPropertiesResponse getProperties(GetProperties parameters) - throws PermissionDeniedException, UpdateConflictException, FilterNotValidException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException + public GetPropertiesResponse getProperties(GetProperties parameters) throws CmisException { checkRepositoryId(parameters.getRepositoryId()); PropertyFilter propertyFilter = createPropertyFilter(parameters.getFilter()); String identifier = ((NodeRef) cmisObjectsUtils.getIdentifierInstance(parameters.getObjectId(), AlfrescoObjectType.ANY_OBJECT).getConvertedIdentifier()).toString(); - EnumReturnVersion returnVersion = (parameters.getReturnVersion() != null && parameters.getReturnVersion().getValue() != null) ? parameters.getReturnVersion().getValue() : null; - - if ((cmisObjectsUtils.determineObjectType(identifier) == EnumObjectType.DOCUMENT) && returnVersion != null) + EnumReturnVersion returnVersion = (parameters.getReturnVersion() != null && parameters.getReturnVersion().getValue() != null) ? parameters.getReturnVersion().getValue() + : null; + + if ((returnVersion != null) && (cmisObjectsUtils.determineObjectType(identifier) == EnumObjectType.DOCUMENT)) { - identifier = getLatestNode(new NodeRef(identifier), returnVersion != EnumReturnVersion.LATEST).toString(); + identifier = getLatestNode(new NodeRef(identifier), (EnumReturnVersion.LATEST != returnVersion)).toString(); } GetPropertiesResponse response = new GetPropertiesResponse(); @@ -609,8 +630,7 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object return response; } - - private Map getPropertiesMap(CmisPropertiesType cmisProperties) throws InvalidArgumentException + private Map getPropertiesMap(CmisPropertiesType cmisProperties) throws CmisException { Map properties = new HashMap(); @@ -619,7 +639,7 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object String name = PropertyUtil.getRepositoryPropertyName(cmisProperty.getName()); if (name == null) { - throw new InvalidArgumentException("Unknown property with name " + name); + throw cmisObjectsUtils.createCmisException(("Unknown property with name " + name), EnumServiceException.INVALID_ARGUMENT); } properties.put(name, PropertyUtil.getValue(cmisProperty)); @@ -628,24 +648,15 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object return properties; } - private boolean changeObjectParentAssociation(NodeRef objectNodeRef, NodeRef targetFolderNodeRef, NodeRef sourceFolderNodeReference) - throws UpdateConflictException, PermissionDeniedException + private void changeObjectParentAssociation(NodeRef objectNodeRef, NodeRef targetFolderNodeRef, NodeRef sourceFolderNodeReference) throws CmisException { - if (cmisObjectsUtils.isPrimaryObjectParent(sourceFolderNodeReference, objectNodeRef)) - { - return false; - } - - if (!cmisObjectsUtils.removeObject(objectNodeRef, sourceFolderNodeReference) && cmisObjectsUtils.addObjectToFolder(objectNodeRef, targetFolderNodeRef)) + if (!cmisObjectsUtils.removeObject(objectNodeRef, sourceFolderNodeReference) || !cmisObjectsUtils.addObjectToFolder(objectNodeRef, targetFolderNodeRef)) { determineException(cmisObjectsUtils.getLastOperationException()); } - - return true; } - private void safeMove(NodeRef objectNodeRef, NodeRef targetFolderNodeRef) - throws PermissionDeniedException, UpdateConflictException + private void safeMove(NodeRef objectNodeRef, NodeRef targetFolderNodeRef) throws CmisException { try { @@ -657,7 +668,7 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object } } - private void safeDeleteContentStream(NodeRef documentNodeReference) throws ConstraintViolationException + private void safeDeleteContentStream(NodeRef documentNodeReference) throws CmisException { try { @@ -665,73 +676,109 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object } catch (NodeLockedException e) { - throw new ConstraintViolationException("Content Stream Deletion is not allowed for specified Document", e); + throw cmisObjectsUtils.createCmisException("Content Stream Deletion is not allowed for specified Document", EnumServiceException.UPDATE_CONFLICT); } } - private ContentReader safeGetContentReader(NodeRef objectNodeReference) throws StorageException + private ContentReader safeGetContentReader(NodeRef objectNodeReference) throws CmisException { ContentReader reader = fileFolderService.getReader(objectNodeReference); if (reader == null) { - throw new StorageException("The specified Document has no Content Stream"); + throw cmisObjectsUtils.createCmisException("The specified Document has no Content Stream", EnumServiceException.INVALID_ARGUMENT); } return reader; } - private NodeRef safeGetFolderNodeRef(String folderId) throws FolderNotValidException + private NodeRef safeGetFolderNodeRef(String folderId) throws CmisException { try { return this.cmisObjectsUtils.getIdentifierInstance(folderId, AlfrescoObjectType.FOLDER_OBJECT).getConvertedIdentifier(); } - catch (InvalidArgumentException e) + catch (CmisException e) { - throw new FolderNotValidException("Unfiling is not suppoerted. Each Document must have existent parent Folder"); + throw cmisObjectsUtils.createCmisException("Unfiling is not suppoerted. Each Document must have existent parent Folder", EnumServiceException.OBJECT_NOT_FOUND, e); } } - - private void checkObjectTypeAndAppropriateStates(NodeRef objectNodeReference, QName objectType) throws InvalidArgumentException, ConstraintViolationException + + private void checkObjectTypeAndAppropriateStates(NodeRef objectNodeReference, QName objectType) throws CmisException { if (objectType == null) { - throw new InvalidArgumentException("Specified Object has invalid Object Type"); + throw cmisObjectsUtils.createCmisException("Specified Object has invalid Object Type", EnumServiceException.INVALID_ARGUMENT); } if (objectType.equals(ContentModel.TYPE_FOLDER) && (nodeService.getChildAssocs(objectNodeReference).size() > 0)) { - throw new ConstraintViolationException("Could not delete folder with at least one Child"); + throw cmisObjectsUtils.createCmisException("Could not delete folder with at least one Child", EnumServiceException.CONSTRAINT); } } - private void checkUnfilingIsNotRequested(EnumUnfileNonfolderObjects unfileNonfolderObjects) throws OperationNotSupportedException + private void checkUnfilingIsNotRequested(EnumUnfileNonfolderObjects unfileNonfolderObjects) throws CmisException { if (unfileNonfolderObjects == EnumUnfileNonfolderObjects.UNFILE) { - throw new OperationNotSupportedException("Unfiling is not supported"); + throw cmisObjectsUtils.createCmisException("Unfiling is not supported", EnumServiceException.NOT_SUPPORTED); } } - private void checkForRootObject(String repositoryId, String objectId) throws OperationNotSupportedException + private void checkForRootObject(String repositoryId, String objectId) throws CmisException { if (this.cmisService.getDefaultRootNodeRef().toString().equals(objectId) || repositoryId.equals(objectId)) { - throw new OperationNotSupportedException("Could not delete Repository object or Root Folder object - operation is not allowed or not supported"); + throw cmisObjectsUtils.createCmisException("Could not delete Repository object or Root Folder object - operation is not allowed or not supported", + EnumServiceException.NOT_SUPPORTED); } } - private void checkForReadOnlyProperties(CmisPropertiesType properties) throws ConstraintViolationException + private void checkForReadOnlyProperties(CmisPropertiesType properties) throws CmisException { for (CmisProperty property : properties.getProperty()) { if (PropertyUtil.isReadOnlyRepositoryProperty(property.getName())) { - throw new ConstraintViolationException("The property " + property.getName() + " is Read Only and couldn't be updated"); + throw cmisObjectsUtils.createCmisException(("The property " + property.getName() + " is Read Only and couldn't be updated"), EnumServiceException.CONSTRAINT); } } } - private CmisAllowableActionsType determineObjectAllowableActions(IdentifierConversionResults objectIdentifierContainer) throws OperationNotSupportedException + private void checkVersion(NodeRef currentNode) throws CmisException + { + if (!cmisObjectsUtils.isFolder(currentNode)) + { + NodeRef latestNode = getLatestNode(currentNode, true); + Version currentVersion = versionService.getCurrentVersion(currentNode); + Version latestVersion = versionService.getCurrentVersion(latestNode); + if ((currentVersion != null && latestVersion != null) && (!currentVersion.getVersionLabel().equals(latestVersion.getVersionLabel()))) + { + throw cmisObjectsUtils.createCmisException("Document is a non-current Document Version", EnumServiceException.VERSIONING); + } + } + } + + private void checkPropertyName(CMISTypeDefinition type, String name) throws CmisException + { + CMISPropertyDefinition propertyDefinition = cmisDictionaryService.findProperty(CMISDictionaryModel.PROP_NAME, type); + + if (propertyDefinition.isRequired() && (name == null || name.length() < 1)) + { + throw cmisObjectsUtils.createCmisException("Name property required", EnumServiceException.CONSTRAINT); + } + + if (name != null && (propertyDefinition.getMaximumLength() > 0) && (name.length() > propertyDefinition.getMaximumLength())) + { + throw cmisObjectsUtils.createCmisException("Name is too long", EnumServiceException.CONSTRAINT); + } + } + + private void checkPropertyName(NodeRef node, String name) throws CmisException + { + CMISTypeDefinition type = cmisDictionaryService.findType((String) cmisService.getProperty(node, CMISDictionaryModel.PROP_OBJECT_TYPE_ID)); + checkPropertyName(type, name); + } + + private CmisAllowableActionsType determineObjectAllowableActions(IdentifierConversionResults objectIdentifierContainer) throws CmisException { Object objectNodeReference = objectIdentifierContainer.getConvertedIdentifier(); @@ -742,18 +789,18 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object switch (cmisObjectsUtils.determineObjectType(objectNodeReference.toString())) { - case DOCUMENT: - { - return determineDocumentAllowableActions((NodeRef) objectNodeReference); - } - case FOLDER: - { - return determineFolderAllowableActions((NodeRef) objectNodeReference); - } + case DOCUMENT: + { + return determineDocumentAllowableActions((NodeRef) objectNodeReference); + } + case FOLDER: + { + return determineFolderAllowableActions((NodeRef) objectNodeReference); + } } // TODO: determinePolicyAllowableActions() when Policy functionality is ready - throw new OperationNotSupportedException("It is impossible to get Allowable actions for the specified Object"); + throw cmisObjectsUtils.createCmisException("It is impossible to get Allowable actions for the specified Object", EnumServiceException.NOT_SUPPORTED); } private CmisAllowableActionsType determineBaseAllowableActions(NodeRef objectNodeReference) @@ -816,14 +863,14 @@ public class DMObjectServicePort extends DMAbstractServicePort implements Object return result; } - private void determineException(Throwable lastException) throws PermissionDeniedException, UpdateConflictException + private void determineException(Throwable lastException) throws CmisException { if (lastException instanceof AccessDeniedException) { - throw new PermissionDeniedException(lastException.getMessage()); + throw cmisObjectsUtils.createCmisException(lastException.toString(), EnumServiceException.PERMISSION_DENIED); } - throw new UpdateConflictException("Couldn't to relocate multi-filed Object"); + throw cmisObjectsUtils.createCmisException("Couldn't to relocate multi-filed Object", EnumServiceException.UPDATE_CONFLICT); } - + } diff --git a/source/java/org/alfresco/repo/cmis/ws/DMPolicyServicePort.java b/source/java/org/alfresco/repo/cmis/ws/DMPolicyServicePort.java index 25a82e5322..948205e5cd 100755 --- a/source/java/org/alfresco/repo/cmis/ws/DMPolicyServicePort.java +++ b/source/java/org/alfresco/repo/cmis/ws/DMPolicyServicePort.java @@ -24,9 +24,11 @@ */ package org.alfresco.repo.cmis.ws; -@javax.jws.WebService(name = "PolicyServicePort", serviceName = "PolicyServicePort", portName = "PolicyServicePort", targetNamespace = "http://www.cmis.org/ns/1.0", endpointInterface = "org.alfresco.repo.cmis.ws.PolicyServicePort") + +@javax.jws.WebService(name = "PolicyServicePort", serviceName = "PolicyServicePort", portName = "PolicyServicePort", targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901", endpointInterface = "org.alfresco.repo.cmis.ws.PolicyServicePort") public class DMPolicyServicePort extends DMAbstractServicePort implements PolicyServicePort { + private static final String POLICY_NOT_SUPPORTED_MESSAGE = "PolicyService not supported"; /** * Applies a policy object to a target object. @@ -34,38 +36,22 @@ public class DMPolicyServicePort extends DMAbstractServicePort implements Policy * @param repositoryId repository Id * @param policyId policy Id * @param objectId target object Id - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, CONSTRAINT) */ - public void applyPolicy(String repositoryId, String policyId, String objectId) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, - OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public void applyPolicy(String repositoryId, String policyId, String objectId) throws CmisException { - // TODO Auto-generated method stub + throw cmisObjectsUtils.createCmisException(POLICY_NOT_SUPPORTED_MESSAGE, EnumServiceException.NOT_SUPPORTED); } /** * Gets the list of policy objects currently applied to a target object. * * @param parameters repositoryId: repository Id; objectId: target object Id; filter: filter specifying which properties to return - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws FilterNotValidException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, FILTER_NOT_VALID) */ - public GetAppliedPoliciesResponse getAppliedPolicies(GetAppliedPolicies parameters) throws PermissionDeniedException, UpdateConflictException, FilterNotValidException, - ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public GetAppliedPoliciesResponse getAppliedPolicies(GetAppliedPolicies parameters) throws CmisException { - // TODO Auto-generated method stub - return null; + throw cmisObjectsUtils.createCmisException(POLICY_NOT_SUPPORTED_MESSAGE, EnumServiceException.NOT_SUPPORTED); } /** @@ -74,18 +60,10 @@ public class DMPolicyServicePort extends DMAbstractServicePort implements Policy * @param repositoryId repository Id * @param policyId policy Id * @param objectId target object Id. - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, CONSTRAINT) */ - public void removePolicy(String repositoryId, String policyId, String objectId) throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, - OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public void removePolicy(String repositoryId, String policyId, String objectId) throws CmisException { - // TODO Auto-generated method stub + throw cmisObjectsUtils.createCmisException(POLICY_NOT_SUPPORTED_MESSAGE, EnumServiceException.NOT_SUPPORTED); } - } diff --git a/source/java/org/alfresco/repo/cmis/ws/DMRelationshipServicePort.java b/source/java/org/alfresco/repo/cmis/ws/DMRelationshipServicePort.java index 844dfc3a0a..91076f3210 100755 --- a/source/java/org/alfresco/repo/cmis/ws/DMRelationshipServicePort.java +++ b/source/java/org/alfresco/repo/cmis/ws/DMRelationshipServicePort.java @@ -30,7 +30,6 @@ import java.util.List; import org.alfresco.cmis.CMISScope; import org.alfresco.cmis.CMISTypeDefinition; -import org.alfresco.cmis.CMISTypeId; import org.alfresco.repo.cmis.PropertyFilter; import org.alfresco.repo.cmis.ws.utils.AlfrescoObjectType; import org.alfresco.repo.web.util.paging.Cursor; @@ -45,7 +44,7 @@ import org.alfresco.service.namespace.QNamePattern; * * @author Dmitry Velichkevich */ -@javax.jws.WebService(name = "RelationshipServicePort", serviceName = "RelationshipService", portName = "RelationshipServicePort", targetNamespace = "http://www.cmis.org/ns/1.0", endpointInterface = "org.alfresco.repo.cmis.ws.RelationshipServicePort") +@javax.jws.WebService(name = "RelationshipServicePort", serviceName = "RelationshipService", portName = "RelationshipServicePort", targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901", endpointInterface = "org.alfresco.repo.cmis.ws.RelationshipServicePort") public class DMRelationshipServicePort extends DMAbstractServicePort implements RelationshipServicePort { private DictionaryService dictionaryService; @@ -55,7 +54,6 @@ public class DMRelationshipServicePort extends DMAbstractServicePort implements this.dictionaryService = dictionaryService; } - /** * Gets a list of relationships associated with the object, optionally of a specified relationship type, and optionally in a specified direction. * @@ -63,34 +61,39 @@ public class DMRelationshipServicePort extends DMAbstractServicePort implements * Relationship Type; includeSubRelationshipTypes: false (Default); filter: property filter; includeAllowableActions: false (default); maxItems: 0 = Unlimited; * skipCount: 0 = start at beginning * @return collection of CmisObjectType and boolean hasMoreItems - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws FilterNotValidException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws TypeNotFoundException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, FILTER_NOT_VALID) */ - public GetRelationshipsResponse getRelationships(GetRelationships parameters) throws PermissionDeniedException, UpdateConflictException, FilterNotValidException, - ObjectNotFoundException, OperationNotSupportedException, TypeNotFoundException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public GetRelationshipsResponse getRelationships(GetRelationships parameters) throws CmisException { checkRepositoryId(parameters.getRepositoryId()); - EnumRelationshipDirection direction = ((parameters.getDirection() != null) && (parameters.getDirection().getValue() != null)) ? parameters.getDirection().getValue() : EnumRelationshipDirection.SOURCE; - Boolean includingSubtypes = ((parameters.getIncludeSubRelationshipTypes() != null) && (parameters.getIncludeSubRelationshipTypes().getValue() != null)) ? parameters.getIncludeSubRelationshipTypes().getValue() : false; + EnumRelationshipDirection direction = ((parameters.getDirection() != null) && (parameters.getDirection().getValue() != null)) ? parameters.getDirection().getValue() + : EnumRelationshipDirection.SOURCE; + Boolean includingSubtypes = ((parameters.getIncludeSubRelationshipTypes() != null) && (parameters.getIncludeSubRelationshipTypes().getValue() != null)) ? parameters + .getIncludeSubRelationshipTypes().getValue() : false; String typeId = ((parameters.getTypeId() != null) && (parameters.getTypeId().getValue() != null)) ? parameters.getTypeId().getValue() : null; BigInteger skipCount = ((parameters.getSkipCount() != null) && (parameters.getSkipCount().getValue() != null)) ? parameters.getSkipCount().getValue() : BigInteger.ZERO; BigInteger maxItems = ((parameters.getMaxItems() != null) && (parameters.getMaxItems().getValue() != null)) ? parameters.getMaxItems().getValue() : BigInteger.ZERO; - CMISTypeDefinition cmisTypeDef = cmisDictionaryService.findType(typeId); - QName associationType = cmisTypeDef.getTypeId().getQName(); + QName associationType = null; + if ((parameters.getTypeId() != null) && (parameters.getTypeId().getValue() != null) && !parameters.getTypeId().getValue().equals("")) + { + CMISTypeDefinition cmisTypeDef = cmisDictionaryService.findType(typeId); + associationType = cmisTypeDef.getTypeId().getQName(); + } + // TODO: process 'includeAllowableActions' param, see DMObjectServicePort->determineObjectAllowableActions PropertyFilter propertyFilter = createPropertyFilter(parameters.getFilter()); NodeRef objectNodeRef = (NodeRef) cmisObjectsUtils.getIdentifierInstance(parameters.getObjectId(), AlfrescoObjectType.DOCUMENT_OR_FOLDER_OBJECT).getConvertedIdentifier(); - List assocs = receiveAssociations(objectNodeRef, associationType, direction, includingSubtypes); - + List assocs = null; + try + { + assocs = receiveAssociations(objectNodeRef, associationType, direction, includingSubtypes); + } + catch (Exception e) + { + throw cmisObjectsUtils.createCmisException("Can't receive associations", e); + } return formatResponse(propertyFilter, assocs.toArray(), new GetRelationshipsResponse(), skipCount, maxItems); } @@ -99,21 +102,20 @@ public class DMRelationshipServicePort extends DMAbstractServicePort implements List result = new LinkedList(); QNamePattern matcher = new RelationshipTypeFilter(relationshipType, includeSubtypes); - if ((direction == EnumRelationshipDirection.BOTH) || (direction == EnumRelationshipDirection.TARGET)) + if ((direction == EnumRelationshipDirection.EITHER) || (direction == EnumRelationshipDirection.TARGET)) { result.addAll(nodeService.getSourceAssocs(objectNodeReference, matcher)); } - if ((direction == EnumRelationshipDirection.BOTH) || (direction == EnumRelationshipDirection.SOURCE)) + if ((direction == EnumRelationshipDirection.EITHER) || (direction == EnumRelationshipDirection.SOURCE)) { result.addAll(nodeService.getTargetAssocs(objectNodeReference, matcher)); } return result; } - + private GetRelationshipsResponse formatResponse(PropertyFilter filter, Object[] sourceArray, GetRelationshipsResponse result, BigInteger skipCount, BigInteger maxItems) - throws InvalidArgumentException, FilterNotValidException { Cursor cursor = createCursor(sourceArray.length, skipCount, maxItems); for (int i = cursor.getStartRow(); i < cursor.getEndRow(); i++) @@ -123,7 +125,6 @@ public class DMRelationshipServicePort extends DMAbstractServicePort implements return result; } - private class RelationshipTypeFilter implements QNamePattern { private boolean includeSubtypes; @@ -152,4 +153,5 @@ public class DMRelationshipServicePort extends DMAbstractServicePort implements } } } + } diff --git a/source/java/org/alfresco/repo/cmis/ws/DMRepositoryServicePort.java b/source/java/org/alfresco/repo/cmis/ws/DMRepositoryServicePort.java index 60276feb8d..15bb38cd6b 100644 --- a/source/java/org/alfresco/repo/cmis/ws/DMRepositoryServicePort.java +++ b/source/java/org/alfresco/repo/cmis/ws/DMRepositoryServicePort.java @@ -31,10 +31,12 @@ import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.Iterator; +import java.util.LinkedList; import java.util.List; import java.util.Map; import javax.xml.bind.JAXBElement; +import javax.xml.ws.Holder; import org.alfresco.cmis.CMISCardinalityEnum; import org.alfresco.cmis.CMISChoice; @@ -43,6 +45,7 @@ import org.alfresco.cmis.CMISDataTypeEnum; import org.alfresco.cmis.CMISDictionaryModel; import org.alfresco.cmis.CMISJoinEnum; import org.alfresco.cmis.CMISPropertyDefinition; +import org.alfresco.cmis.CMISQueryEnum; import org.alfresco.cmis.CMISTypeDefinition; import org.alfresco.cmis.CMISUpdatabilityEnum; import org.alfresco.repo.web.util.paging.Cursor; @@ -50,34 +53,38 @@ import org.alfresco.service.descriptor.Descriptor; /** * Port for repository service. - * + * * @author Dmitry Lazurkin */ -@javax.jws.WebService(name = "RepositoryServicePort", serviceName = "RepositoryService", portName = "RepositoryServicePort", targetNamespace = "http://www.cmis.org/ns/1.0", endpointInterface = "org.alfresco.repo.cmis.ws.RepositoryServicePort") +@javax.jws.WebService(name = "RepositoryServicePort", serviceName = "RepositoryService", portName = "RepositoryServicePort", targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901", endpointInterface = "org.alfresco.repo.cmis.ws.RepositoryServicePort") public class DMRepositoryServicePort extends DMAbstractServicePort implements RepositoryServicePort { private static Map joinEnumMapping; private static Map contentStreamAllowedEnumMapping; - private static Map updatabilityEnumMapping; + private static Map updatabilityEnumMapping; private static Map cardinalityEnumMapping; private static Map propertyTypeEnumMapping; + private static HashMap queryTypeEnumMapping; + + // TODO: Hardcoded! should be reteived using standart mechanism + private String repositoryUri = " http://localhost:8080/alfresco/cmis"; static { joinEnumMapping = new HashMap(); joinEnumMapping.put(CMISJoinEnum.INNER_AND_OUTER_JOIN_SUPPORT, EnumCapabilityJoin.INNERANDOUTER); joinEnumMapping.put(CMISJoinEnum.INNER_JOIN_SUPPORT, EnumCapabilityJoin.INNERONLY); - joinEnumMapping.put(CMISJoinEnum.NO_JOIN_SUPPORT, EnumCapabilityJoin.NOJOIN); + joinEnumMapping.put(CMISJoinEnum.NO_JOIN_SUPPORT, EnumCapabilityJoin.NONE); contentStreamAllowedEnumMapping = new HashMap(); contentStreamAllowedEnumMapping.put(CMISContentStreamAllowedEnum.ALLOWED, EnumContentStreamAllowed.ALLOWED); contentStreamAllowedEnumMapping.put(CMISContentStreamAllowedEnum.NOT_ALLOWED, EnumContentStreamAllowed.NOTALLOWED); contentStreamAllowedEnumMapping.put(CMISContentStreamAllowedEnum.REQUIRED, EnumContentStreamAllowed.REQUIRED); - updatabilityEnumMapping = new HashMap(); - updatabilityEnumMapping.put(CMISUpdatabilityEnum.READ_AND_WRITE, EnumUpdateability.READWRITE); - updatabilityEnumMapping.put(CMISUpdatabilityEnum.READ_AND_WRITE_WHEN_CHECKED_OUT, EnumUpdateability.WHENCHECKEDOUT); - updatabilityEnumMapping.put(CMISUpdatabilityEnum.READ_ONLY, EnumUpdateability.READONLY); + updatabilityEnumMapping = new HashMap(); + updatabilityEnumMapping.put(CMISUpdatabilityEnum.READ_AND_WRITE, EnumUpdatability.READWRITE); + updatabilityEnumMapping.put(CMISUpdatabilityEnum.READ_AND_WRITE_WHEN_CHECKED_OUT, EnumUpdatability.WHENCHECKEDOUT); + updatabilityEnumMapping.put(CMISUpdatabilityEnum.READ_ONLY, EnumUpdatability.READONLY); cardinalityEnumMapping = new HashMap(); cardinalityEnumMapping.put(CMISCardinalityEnum.MULTI_VALUED, EnumCardinality.MULTI); @@ -93,25 +100,29 @@ public class DMRepositoryServicePort extends DMAbstractServicePort implements Re propertyTypeEnumMapping.put(CMISDataTypeEnum.STRING, EnumPropertyType.STRING); propertyTypeEnumMapping.put(CMISDataTypeEnum.URI, EnumPropertyType.URI); propertyTypeEnumMapping.put(CMISDataTypeEnum.XML, EnumPropertyType.XML); + + queryTypeEnumMapping = new HashMap(); + queryTypeEnumMapping.put(CMISQueryEnum.BOTH_COMBINED, EnumCapabilityQuery.BOTHCOMBINED); + queryTypeEnumMapping.put(CMISQueryEnum.BOTH_SEPERATE, EnumCapabilityQuery.BOTHSEPARATE); + queryTypeEnumMapping.put(CMISQueryEnum.FULLTEXT_ONLY, EnumCapabilityQuery.FULLTEXTONLY); + queryTypeEnumMapping.put(CMISQueryEnum.METADATA_ONLY, EnumCapabilityQuery.METADATAONLY); + queryTypeEnumMapping.put(CMISQueryEnum.NONE, EnumCapabilityQuery.NONE); } /** * Gets a list of available repositories for this CMIS service endpoint. * * @return collection of CmisRepositoryEntryType (repositoryId - repository Id, repositoryName: repository name, repositoryURI: Repository URI) - * @throws RuntimeException - * @throws InvalidArgumentException - * @throws OperationNotSupportedException - * @throws UpdateConflictException - * @throws PermissionDeniedException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME) */ - public List getRepositories() - throws RuntimeException, InvalidArgumentException, OperationNotSupportedException, UpdateConflictException, PermissionDeniedException + public List getRepositories() throws CmisException { CmisRepositoryEntryType repositoryEntryType = new CmisRepositoryEntryType(); Descriptor serverDescriptor = descriptorService.getCurrentRepositoryDescriptor(); - repositoryEntryType.setRepositoryID(serverDescriptor.getId()); + repositoryEntryType.setRepositoryId(serverDescriptor.getId()); repositoryEntryType.setRepositoryName(serverDescriptor.getName()); + // TODO: Hardcoded! repositoryUri should be reteived using standart mechanism + repositoryEntryType.setRepositoryURI(repositoryUri); return Collections.singletonList(repositoryEntryType); } @@ -120,18 +131,11 @@ public class DMRepositoryServicePort extends DMAbstractServicePort implements Re * * @param parameters repositoryId: repository Id * @return CMIS repository Info - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME) */ - public CmisRepositoryInfoType getRepositoryInfo(GetRepositoryInfo parameters) - throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public CmisRepositoryInfoType getRepositoryInfo(String repositoryId) throws CmisException { - checkRepositoryId(parameters.getRepositoryId()); + checkRepositoryId(repositoryId); Descriptor serverDescriptor = descriptorService.getCurrentRepositoryDescriptor(); CmisRepositoryInfoType repositoryInfoType = new CmisRepositoryInfoType(); @@ -139,27 +143,27 @@ public class DMRepositoryServicePort extends DMAbstractServicePort implements Re repositoryInfoType.setRepositoryName(serverDescriptor.getName()); repositoryInfoType.setRepositoryRelationship("self"); repositoryInfoType.setRepositoryDescription(""); - repositoryInfoType.setRootFolderId((String) cmisService.getProperty(cmisService.getDefaultRootNodeRef(), CMISDictionaryModel.PROP_OBJECT_ID)); repositoryInfoType.setVendorName("Alfresco"); repositoryInfoType.setProductName("Alfresco Repository (" + serverDescriptor.getEdition() + ")"); repositoryInfoType.setProductVersion(serverDescriptor.getVersion()); - + repositoryInfoType.setRootFolderId((String) cmisService.getProperty(cmisService.getDefaultRootNodeRef(), CMISDictionaryModel.PROP_OBJECT_ID)); CmisRepositoryCapabilitiesType capabilities = new CmisRepositoryCapabilitiesType(); capabilities.setCapabilityMultifiling(true); capabilities.setCapabilityUnfiling(false); capabilities.setCapabilityVersionSpecificFiling(false); capabilities.setCapabilityPWCUpdateable(true); + capabilities.setCapabilityPWCSearchable(cmisQueryService.getPwcSearchable()); capabilities.setCapabilityAllVersionsSearchable(cmisQueryService.getAllVersionsSearchable()); + capabilities.setCapabilityQuery(queryTypeEnumMapping.get(cmisQueryService.getQuerySupport())); capabilities.setCapabilityJoin(joinEnumMapping.get(cmisQueryService.getJoinSupport())); repositoryInfoType.setCapabilities(capabilities); - - repositoryInfoType.setCmisVersionsSupported(cmisService.getCMISVersion()); + repositoryInfoType.setCmisVersionSupported(cmisService.getCMISVersion()); return repositoryInfoType; } /** * Create web service choice object from repository choice object - * + * * @param choice repository choice * @param propertyType type of property * @return web service choice @@ -170,54 +174,48 @@ public class DMRepositoryServicePort extends DMAbstractServicePort implements Re switch (propertyType) { - case BOOLEAN: - CmisChoiceBooleanType choiceBooleanType = new CmisChoiceBooleanType(); - choiceBooleanType.setIndex(BigInteger.valueOf(choice.getIndex())); - choiceBooleanType.setKey(choice.getName()); - choiceBooleanType.setValue((Boolean) choice.getValue()); - result = cmisObjectFactory.createChoiceBoolean(choiceBooleanType); - break; - case DATETIME: - CmisChoiceDateTimeType choiceDateTimeType = new CmisChoiceDateTimeType(); - choiceDateTimeType.setIndex(BigInteger.valueOf(choice.getIndex())); - choiceDateTimeType.setKey(choice.getName()); - choiceDateTimeType.setValue(convert((Date) choice.getValue())); - result = cmisObjectFactory.createChoiceDateTime(choiceDateTimeType); - break; - case DECIMAL: - CmisChoiceDecimalType choiceDecimalType = new CmisChoiceDecimalType(); - choiceDecimalType.setIndex(BigInteger.valueOf(choice.getIndex())); - choiceDecimalType.setKey(choice.getName()); - choiceDecimalType.setValue(BigDecimal.valueOf((Double) choice.getValue())); - result = cmisObjectFactory.createChoiceDecimal(choiceDecimalType); - break; - case HTML: - break; - case ID: - CmisChoiceIdType choiceIdType = new CmisChoiceIdType(); - choiceIdType.setIndex(BigInteger.valueOf(choice.getIndex())); - choiceIdType.setKey(choice.getName()); - choiceIdType.setValue((String) choice.getValue()); - result = cmisObjectFactory.createChoiceId(choiceIdType); - break; - case INTEGER: - CmisChoiceIntegerType choiceIntegerType = new CmisChoiceIntegerType(); - choiceIntegerType.setIndex(BigInteger.valueOf(choice.getIndex())); - choiceIntegerType.setKey(choice.getName()); - choiceIntegerType.setValue(BigInteger.valueOf((Integer) choice.getValue())); - result = cmisObjectFactory.createChoiceInteger(choiceIntegerType); - break; - case STRING: - CmisChoiceStringType choiceStringType = new CmisChoiceStringType(); - choiceStringType.setIndex(BigInteger.valueOf(choice.getIndex())); - choiceStringType.setKey(choice.getName()); - choiceStringType.setValue((String) choice.getValue()); - result = cmisObjectFactory.createChoiceString(choiceStringType); - break; - case URI: - break; - case XML: - break; + case BOOLEAN: + CmisChoiceBooleanType choiceBooleanType = new CmisChoiceBooleanType(); + choiceBooleanType.setKey(choice.getName()); + choiceBooleanType.getValue().add(Boolean.parseBoolean(choice.getValue().toString())); + result = cmisObjectFactory.createChoiceBoolean(choiceBooleanType); + break; + case DATETIME: + CmisChoiceDateTimeType choiceDateTimeType = new CmisChoiceDateTimeType(); + choiceDateTimeType.setKey(choice.getName()); + choiceDateTimeType.getValue().add(convert((Date) choice.getValue())); + result = cmisObjectFactory.createChoiceDateTime(choiceDateTimeType); + break; + case DECIMAL: + CmisChoiceDecimalType choiceDecimalType = new CmisChoiceDecimalType(); + choiceDecimalType.setKey(choice.getName()); + choiceDecimalType.getValue().add(BigDecimal.valueOf(Double.parseDouble(choice.getValue().toString()))); + result = cmisObjectFactory.createChoiceDecimal(choiceDecimalType); + break; + case HTML: + break; + case ID: + CmisChoiceIdType choiceIdType = new CmisChoiceIdType(); + choiceIdType.setKey(choice.getName()); + choiceIdType.getValue().add(choice.getValue().toString()); + result = cmisObjectFactory.createChoiceId(choiceIdType); + break; + case INTEGER: + CmisChoiceIntegerType choiceIntegerType = new CmisChoiceIntegerType(); + choiceIntegerType.setKey(choice.getName()); + choiceIntegerType.getValue().add(BigInteger.valueOf(Integer.parseInt(choice.getValue().toString()))); + result = cmisObjectFactory.createChoiceInteger(choiceIntegerType); + break; + case STRING: + CmisChoiceStringType choiceStringType = new CmisChoiceStringType(); + choiceStringType.setKey(choice.getName()); + choiceStringType.getValue().add(choice.getValue().toString()); + result = cmisObjectFactory.createChoiceString(choiceStringType); + break; + case URI: + break; + case XML: + break; } return result; @@ -225,7 +223,7 @@ public class DMRepositoryServicePort extends DMAbstractServicePort implements Re /** * Add choices childrens to list of JAXBElements - * + * * @param propertyType type of property * @param choices repository choice object * @param cmisChoices web service choice object @@ -246,11 +244,12 @@ public class DMRepositoryServicePort extends DMAbstractServicePort implements Re /** * Add root choices to list of choices - * + * * @param propertyType type of property * @param choices repository choice object * @param cmisChoices web service choice object */ + @SuppressWarnings("unused") private void addChoices(CMISDataTypeEnum propertyType, Collection choices, List cmisChoices) { for (CMISChoice choice : choices) @@ -267,20 +266,21 @@ public class DMRepositoryServicePort extends DMAbstractServicePort implements Re /** * Add property definitions to list of definitions - * + * * @param propertyDefinition repository property definition * @param wsPropertyDefs web service property definition */ private void addPropertyDefs(CMISTypeDefinition typeDefinition, CMISPropertyDefinition propertyDefinition, List wsPropertyDefs) + throws CmisException { - CmisPropertyDefinitionType wsPropertyDef = new CmisPropertyDefinitionType(); + CmisPropertyDefinitionType wsPropertyDef = createPropertyDefinitionType(propertyDefinition.getDataType()); wsPropertyDef.setName(propertyDefinition.getPropertyId().getName()); wsPropertyDef.setId(propertyDefinition.getPropertyId().getId()); wsPropertyDef.setDisplayName(propertyDefinition.getDisplayName()); wsPropertyDef.setDescription(propertyDefinition.getDescription()); wsPropertyDef.setPropertyType(propertyTypeEnumMapping.get(propertyDefinition.getDataType())); wsPropertyDef.setCardinality(cardinalityEnumMapping.get(propertyDefinition.getCardinality())); - wsPropertyDef.setUpdateability(updatabilityEnumMapping.get(propertyDefinition.getUpdatability())); + wsPropertyDef.setUpdatability(updatabilityEnumMapping.get(propertyDefinition.getUpdatability())); wsPropertyDef.setInherited(!typeDefinition.getOwnedPropertyDefinitions().containsKey(propertyDefinition.getPropertyId())); wsPropertyDef.setRequired(propertyDefinition.isRequired()); wsPropertyDef.setQueryable(propertyDefinition.isQueryable()); @@ -291,19 +291,67 @@ public class DMRepositoryServicePort extends DMAbstractServicePort implements Re wsPropertyDefs.add(wsPropertyDef); } + private CmisPropertyDefinitionType createPropertyDefinitionType(CMISDataTypeEnum type) throws CmisException + { + switch (type) + { + case BOOLEAN: + { + return new CmisPropertyBooleanDefinitionType(); + } + case DATETIME: + { + return new CmisPropertyDateTimeDefinitionType(); + } + case DECIMAL: + { + return new CmisPropertyDecimalDefinitionType(); + } + case HTML: + { + return new CmisPropertyHtmlDefinitionType(); + } + case ID: + { + return new CmisPropertyIdDefinitionType(); + } + case INTEGER: + { + return new CmisPropertyIntegerDefinitionType(); + } + case STRING: + { + return new CmisPropertyStringDefinitionType(); + } + case URI: + { + return new CmisPropertyUriDefinitionType(); + } + case XML: + { + return new CmisPropertyXmlDefinitionType(); + } + default: + { + throw cmisObjectsUtils.createCmisException(type.getLabel(), EnumServiceException.OBJECT_NOT_FOUND); + } + } + } + /** * Set properties for web service type definition - * + * * @param cmisTypeDefinition web service type definition * @param typeDefinition repository type definition * @param includeProperties true if need property definitions for type definition */ - private void setCmisTypeDefinitionProperties(CmisTypeDefinitionType cmisTypeDefinition, CMISTypeDefinition typeDefinition, boolean includeProperties) + @SuppressWarnings("unused") + private void setCmisTypeDefinitionProperties(CmisTypeDefinitionType cmisTypeDefinition, CMISTypeDefinition typeDefinition, boolean includeProperties) throws CmisException { cmisTypeDefinition.setTypeId(typeDefinition.getTypeId().getId()); cmisTypeDefinition.setQueryName(typeDefinition.getQueryName()); cmisTypeDefinition.setDisplayName(typeDefinition.getDisplayName()); - cmisTypeDefinition.setBaseType(EnumObjectType.fromValue(typeDefinition.getBaseType().getTypeId().getId())); + cmisTypeDefinition.setBaseType(EnumBaseObjectType.fromValue(typeDefinition.getBaseType().getTypeId().getId())); cmisTypeDefinition.setParentId(typeDefinition.getParentType().getTypeId().getId()); cmisTypeDefinition.setBaseTypeQueryName(typeDefinition.getBaseType().getQueryName()); cmisTypeDefinition.setDescription(typeDefinition.getDescription()); @@ -325,13 +373,13 @@ public class DMRepositoryServicePort extends DMAbstractServicePort implements Re /** * Create web service type definition for typeId - * + * * @param typeId type id * @param includeProperties true if need property definitions for type definition * @return web service type definition - * @throws ObjectNotFoundException if type id not found + * @throws CmisException if type id not found */ - private JAXBElement getCmisTypeDefinition(CMISTypeDefinition typeDef, boolean includeProperties) throws ObjectNotFoundException + private CmisTypeDefinitionType getCmisTypeDefinition(CMISTypeDefinition typeDef, boolean includeProperties) throws CmisException { if (typeDef.getParentType() == null) { @@ -340,40 +388,40 @@ public class DMRepositoryServicePort extends DMAbstractServicePort implements Re if (typeDef == null) { - throw new ObjectNotFoundException("Type not found"); + throw cmisObjectsUtils.createCmisException("Type not found", EnumServiceException.OBJECT_NOT_FOUND); } JAXBElement result = null; switch (typeDef.getTypeId().getScope()) { - case DOCUMENT: - CmisTypeDocumentDefinitionType documentDefinitionType = new CmisTypeDocumentDefinitionType(); - setCmisTypeDefinitionProperties(documentDefinitionType, typeDef, includeProperties); - documentDefinitionType.setVersionable(typeDef.isVersionable()); - documentDefinitionType.setContentStreamAllowed(contentStreamAllowedEnumMapping.get(typeDef.getContentStreamAllowed())); - result = cmisObjectFactory.createDocumentType(documentDefinitionType); - break; - case FOLDER: - CmisTypeFolderDefinitionType folderDefinitionType = new CmisTypeFolderDefinitionType(); - setCmisTypeDefinitionProperties(folderDefinitionType, typeDef, includeProperties); - result = cmisObjectFactory.createFolderType(folderDefinitionType); - break; - case POLICY: - CmisTypePolicyDefinitionType policyDefinitionType = new CmisTypePolicyDefinitionType(); - setCmisTypeDefinitionProperties(policyDefinitionType, typeDef, includeProperties); - result = cmisObjectFactory.createPolicyType(policyDefinitionType); - break; - case RELATIONSHIP: - CmisTypeRelationshipDefinitionType relationshipDefinitionType = new CmisTypeRelationshipDefinitionType(); - setCmisTypeDefinitionProperties(relationshipDefinitionType, typeDef, includeProperties); - result = cmisObjectFactory.createRelationshipType(relationshipDefinitionType); - break; - case UNKNOWN: - throw new ObjectNotFoundException("Unknown CMIS Type"); + case DOCUMENT: + CmisTypeDocumentDefinitionType documentDefinitionType = new CmisTypeDocumentDefinitionType(); + setCmisTypeDefinitionProperties(documentDefinitionType, typeDef, includeProperties); + documentDefinitionType.setVersionable(typeDef.isVersionable()); + documentDefinitionType.setContentStreamAllowed(contentStreamAllowedEnumMapping.get(typeDef.getContentStreamAllowed())); + result = cmisObjectFactory.createDocumentType(documentDefinitionType); + break; + case FOLDER: + CmisTypeFolderDefinitionType folderDefinitionType = new CmisTypeFolderDefinitionType(); + setCmisTypeDefinitionProperties(folderDefinitionType, typeDef, includeProperties); + result = cmisObjectFactory.createFolderType(folderDefinitionType); + break; + case POLICY: + CmisTypePolicyDefinitionType policyDefinitionType = new CmisTypePolicyDefinitionType(); + setCmisTypeDefinitionProperties(policyDefinitionType, typeDef, includeProperties); + result = cmisObjectFactory.createPolicyType(policyDefinitionType); + break; + case RELATIONSHIP: + CmisTypeRelationshipDefinitionType relationshipDefinitionType = new CmisTypeRelationshipDefinitionType(); + setCmisTypeDefinitionProperties(relationshipDefinitionType, typeDef, includeProperties); + result = cmisObjectFactory.createRelationshipType(relationshipDefinitionType); + break; + case UNKNOWN: + throw new CmisException("Unknown CMIS Type"); } - return result; + return result.getValue(); } /** @@ -381,58 +429,50 @@ public class DMRepositoryServicePort extends DMAbstractServicePort implements Re * * @param parameters repositoryId: repository Id; typeId: type Id; returnPropertyDefinitions: false (default); maxItems: 0 = Repository-default number of items(Default); * skipCount: 0 = start; - * @return collection of CmisTypeDefinitionType and boolean hasMoreItems - * @throws RuntimeException - * @throws InvalidArgumentException - * @throws ObjectNotFoundException - * @throws ConstraintViolationException - * @throws OperationNotSupportedException - * @throws UpdateConflictException - * @throws PermissionDeniedException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME) */ - public GetTypesResponse getTypes(GetTypes parameters) - throws RuntimeException, InvalidArgumentException, ObjectNotFoundException, ConstraintViolationException, OperationNotSupportedException, UpdateConflictException, PermissionDeniedException + public void getTypes(String repositoryId, String typeId, Boolean returnPropertyDefinitions, BigInteger maxItems, BigInteger skipCount, + Holder> type, Holder hasMoreItems) throws CmisException { - checkRepositoryId(parameters.getRepositoryId()); + checkRepositoryId(repositoryId); Collection typeDefs; - if (parameters.getTypeId() == null) + if ((typeId == null) || typeId.equals("")) { typeDefs = cmisDictionaryService.getAllTypes(); } else { - CMISTypeDefinition typeDef = cmisDictionaryService.findType(parameters.getTypeId().getValue()); + CMISTypeDefinition typeDef = cmisDictionaryService.findType(typeId); typeDefs = typeDef.getSubTypes(true); } - GetTypesResponse response = new GetTypesResponse(); - if (parameters.getMaxItems() != null) + if (maxItems != null) { - response.setHasMoreItems(parameters.getMaxItems().getValue().intValue() < typeDefs.size()); + hasMoreItems.value = new Boolean((skipCount.intValue() + maxItems.intValue()) < typeDefs.size()); } // skip - Cursor cursor = createCursor(typeDefs.size(), parameters.getSkipCount() != null ? parameters.getSkipCount().getValue() : null, parameters.getMaxItems() != null ? parameters.getMaxItems().getValue() : null); + Cursor cursor = createCursor(typeDefs.size(), skipCount, maxItems); Iterator iterTypeDefs = typeDefs.iterator(); for (int i = 0; i < cursor.getStartRow(); i++) { iterTypeDefs.next(); } - boolean returnPropertyDefinitions = parameters.getReturnPropertyDefinitions() == null ? false : parameters.getReturnPropertyDefinitions().getValue(); + boolean returnPropertyDefinitionsVal = returnPropertyDefinitions == null ? false : returnPropertyDefinitions.booleanValue(); - List> types = response.getType(); + type.value = new LinkedList(); for (int i = cursor.getStartRow(); i <= cursor.getEndRow(); i++) { - JAXBElement element = getCmisTypeDefinition(iterTypeDefs.next(), returnPropertyDefinitions); + CmisTypeDefinitionType element = getCmisTypeDefinition(iterTypeDefs.next(), returnPropertyDefinitionsVal); if (element != null) { - types.add(element); + type.value.add(element); } } - return response; + hasMoreItems.value = ((skipCount == null) || (maxItems == null)) ? (false) : ((cursor.getEndRow() < typeDefs.size())); } /** @@ -440,24 +480,13 @@ public class DMRepositoryServicePort extends DMAbstractServicePort implements Re * * @param parameters repositoryId: repository Id; typeId: type Id; * @return CMIS type definition - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws TypeNotFoundException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME) */ - public GetTypeDefinitionResponse getTypeDefinition(GetTypeDefinition parameters) - throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, TypeNotFoundException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public CmisTypeDefinitionType getTypeDefinition(String repositoryId, String typeId) throws CmisException { - checkRepositoryId(parameters.getRepositoryId()); - - GetTypeDefinitionResponse response = new GetTypeDefinitionResponse(); - CMISTypeDefinition typeDef = cmisDictionaryService.findType(parameters.getTypeId()); - response.setType(getCmisTypeDefinition(typeDef, true)); - return response; + checkRepositoryId(repositoryId); + CMISTypeDefinition typeDef = cmisDictionaryService.findType(typeId); + return getCmisTypeDefinition(typeDef, true); } } diff --git a/source/java/org/alfresco/repo/cmis/ws/DMServicePortThrowsAdvice.java b/source/java/org/alfresco/repo/cmis/ws/DMServicePortThrowsAdvice.java index c7d087d335..ca62c92ddc 100644 --- a/source/java/org/alfresco/repo/cmis/ws/DMServicePortThrowsAdvice.java +++ b/source/java/org/alfresco/repo/cmis/ws/DMServicePortThrowsAdvice.java @@ -24,6 +24,7 @@ */ package org.alfresco.repo.cmis.ws; +import org.alfresco.repo.cmis.ws.utils.CmisObjectsUtils; import org.alfresco.repo.security.permissions.AccessDeniedException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -37,27 +38,49 @@ import org.springframework.aop.ThrowsAdvice; */ public class DMServicePortThrowsAdvice implements ThrowsAdvice { - private static final Log log = LogFactory.getLog("org.alfresco.repo.cmis.ws"); + private static final Log LOGGER = LogFactory.getLog("org.alfresco.repo.cmis.ws"); - public void afterThrowing(AccessDeniedException e) - throws PermissionDeniedException + private CmisObjectsUtils cmisObjectsUtils; + + public void setCmisObjectsUtils(CmisObjectsUtils cmisObjectsUtils) { - if (log.isInfoEnabled()) - { - log.info(e); - } - - throw new PermissionDeniedException("Access denied. Message: " + e.getMessage(), e); + this.cmisObjectsUtils = cmisObjectsUtils; } - public void afterThrowing(java.lang.RuntimeException e) - throws RuntimeException + public void afterThrowing(AccessDeniedException e) throws CmisException { - if (log.isErrorEnabled()) + if (LOGGER.isInfoEnabled()) { - log.error(e); + LOGGER.error(e.toString(), e); } - throw new RuntimeException("Runtime error. Message: " + e.getMessage(), e); + throw cmisObjectsUtils.createCmisException(("Access denied. Message: " + e.toString()), e); + } + + public void afterThrowing(java.lang.RuntimeException e) throws CmisException + { + if (LOGGER.isErrorEnabled()) + { + LOGGER.error(e.toString(), e); + } + + throw cmisObjectsUtils.createCmisException(("Runtime error. Message: " + e.toString()), e); + } + + public void afterThrowing(java.lang.Exception e) throws CmisException + { + if (LOGGER.isInfoEnabled()) + { + LOGGER.error(e.toString(), e); + } + + if (!(e instanceof CmisException)) + { + throw cmisObjectsUtils.createCmisException(("Some error occured during last service invokation. Message: " + e.toString()), e); + } + else + { + throw (CmisException) e; + } } } diff --git a/source/java/org/alfresco/repo/cmis/ws/DMVersioningServicePort.java b/source/java/org/alfresco/repo/cmis/ws/DMVersioningServicePort.java index 511bdaec0f..c9e900f4a4 100755 --- a/source/java/org/alfresco/repo/cmis/ws/DMVersioningServicePort.java +++ b/source/java/org/alfresco/repo/cmis/ws/DMVersioningServicePort.java @@ -24,6 +24,7 @@ */ package org.alfresco.repo.cmis.ws; +import java.io.Serializable; import java.util.List; import javax.xml.ws.Holder; @@ -46,7 +47,7 @@ import org.alfresco.service.cmr.version.VersionType; * @author Dmitry Lazurkin * @author Dmitry Velichkevich */ -@javax.jws.WebService(name = "VersioningServicePort", serviceName = "VersioningService", portName = "VersioningServicePort", targetNamespace = "http://www.cmis.org/ns/1.0", endpointInterface = "org.alfresco.repo.cmis.ws.VersioningServicePort") +@javax.jws.WebService(name = "VersioningServicePort", serviceName = "VersioningService", portName = "VersioningServicePort", targetNamespace = "http://docs.oasis-open.org/ns/cmis/ws/200901", endpointInterface = "org.alfresco.repo.cmis.ws.VersioningServicePort") public class DMVersioningServicePort extends DMAbstractServicePort implements VersioningServicePort { private LockService lockService; @@ -56,22 +57,16 @@ public class DMVersioningServicePort extends DMAbstractServicePort implements Ve this.lockService = lockService; } - /** * Reverses the effect of a check-out. Removes the private working copy of the checked-out document object, allowing other documents in the version series to be checked out * again. * * @param repositoryId repository Id * @param documentId document Id - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws InvalidArgumentException - * @throws RuntimeException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, CONSTRAINT, + * UPDATE_CONFLICT, VERSIONING) */ - public void cancelCheckOut(String repositoryId, String documentId) - throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException + public void cancelCheckOut(String repositoryId, String documentId) throws CmisException { checkRepositoryId(repositoryId); NodeRef workingCopyNodeRef = cmisObjectsUtils.getIdentifierInstance(documentId, AlfrescoObjectType.DOCUMENT_OBJECT).getConvertedIdentifier(); @@ -88,18 +83,11 @@ public class DMVersioningServicePort extends DMAbstractServicePort implements Ve * @param properties CMIS properties * @param contentStream content stream * @param checkinComment check in comment - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws StorageException - * @throws StreamNotSupportedException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, CONSTRAINT, STORAGE, + * STREAM_NOT_SUPPORTED, UPDATE_CONFLICT, VERSIONING) */ public void checkIn(String repositoryId, Holder documentId, Boolean major, CmisPropertiesType properties, CmisContentStreamType contentStream, String checkinComment) - throws PermissionDeniedException, UpdateConflictException, StorageException, StreamNotSupportedException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException + throws CmisException { checkRepositoryId(repositoryId); NodeRef workingCopyNodeRef = cmisObjectsUtils.getIdentifierInstance(documentId.value, AlfrescoObjectType.DOCUMENT_OBJECT).getConvertedIdentifier(); @@ -115,16 +103,17 @@ public class DMVersioningServicePort extends DMAbstractServicePort implements Ve } catch (Exception e) { - throw new RuntimeException("Exception while updating content stream"); + throw cmisObjectsUtils.createCmisException("Exception while updating content stream", EnumServiceException.RUNTIME, e); } } + NodeRef nodeRef = checkOutCheckInService.checkin(workingCopyNodeRef, + createVersionProperties(checkinComment, major != null && major ? VersionType.MAJOR : VersionType.MINOR)); + if (properties != null) { - setProperties(workingCopyNodeRef, properties); + setProperties(nodeRef, properties); } - - NodeRef nodeRef = checkOutCheckInService.checkin(workingCopyNodeRef, createVersionProperties(checkinComment, major != null && major ? VersionType.MAJOR : VersionType.MINOR)); documentId.value = (String) cmisService.getProperty(nodeRef, CMISDictionaryModel.PROP_OBJECT_ID); } @@ -135,16 +124,10 @@ public class DMVersioningServicePort extends DMAbstractServicePort implements Ve * @param documentId ObjectID of document version to checkout * @param contentCopied * @return ObjectID of private working copy as documentId; True if succeed, False otherwise as contentCopied - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, CONSTRAINT, STORAGE, + * UPDATE_CONFLICT, VERSIONING) */ - public void checkOut(String repositoryId, Holder documentId, Holder contentCopied) - throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public void checkOut(String repositoryId, Holder documentId, Holder contentCopied) throws CmisException { checkRepositoryId(repositoryId); @@ -153,7 +136,7 @@ public class DMVersioningServicePort extends DMAbstractServicePort implements Ve if (lockStatus.equals(LockStatus.LOCKED) || lockStatus.equals(LockStatus.LOCK_OWNER) || nodeService.hasAspect(documentNodeRef, ContentModel.ASPECT_WORKING_COPY)) { - throw new OperationNotSupportedException("Object is already checked out"); + throw cmisObjectsUtils.createCmisException("Object is already checked out", EnumServiceException.NOT_SUPPORTED); } NodeRef pwcNodeRef = checkoutNode(documentNodeRef); @@ -166,16 +149,9 @@ public class DMVersioningServicePort extends DMAbstractServicePort implements Ve * * @param repositoryId repository Id * @param versionSeriesId version series Id - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME) */ - public void deleteAllVersions(String repositoryId, String versionSeriesId) - throws PermissionDeniedException, UpdateConflictException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public void deleteAllVersions(String repositoryId, String versionSeriesId) throws CmisException { checkRepositoryId(repositoryId); NodeRef documentNodeRef = cmisObjectsUtils.getIdentifierInstance(versionSeriesId, AlfrescoObjectType.DOCUMENT_OBJECT).getConvertedIdentifier(); @@ -187,17 +163,9 @@ public class DMVersioningServicePort extends DMAbstractServicePort implements Ve * * @param parameters repositoryId: repository Id; versionSeriesId: version series Id; filter: property filter; includeAllowableActions; includeRelationships; * @return list of CmisObjectType - * @throws PermissionDeniedException - * @throws UpdateConflictException - * @throws FilterNotValidException - * @throws ObjectNotFoundException - * @throws OperationNotSupportedException - * @throws InvalidArgumentException - * @throws RuntimeException - * @throws ConstraintViolationException + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, FILTER_NOT_VALID) */ - public GetAllVersionsResponse getAllVersions(GetAllVersions parameters) - throws PermissionDeniedException, UpdateConflictException, FilterNotValidException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException, ConstraintViolationException + public GetAllVersionsResponse getAllVersions(GetAllVersions parameters) throws CmisException { checkRepositoryId(parameters.getRepositoryId()); @@ -234,9 +202,9 @@ public class DMVersioningServicePort extends DMAbstractServicePort implements Ve * @param parameters repositoryId: repository Id; versionSeriesId: version series Id; majorVersion: whether or not to return the latest major version. Default=FALSE; filter: * property filter * @return CmisObjectType with properties + * @throws CmisException (with following {@link EnumServiceException} : INVALID_ARGUMENT, OBJECT_NOT_FOUND, NOT_SUPPORTED, PERMISSION_DENIED, RUNTIME, FILTER_NOT_VALID) */ - public GetPropertiesOfLatestVersionResponse getPropertiesOfLatestVersion(GetPropertiesOfLatestVersion parameters) - throws PermissionDeniedException, UpdateConflictException, FilterNotValidException, ObjectNotFoundException, OperationNotSupportedException, InvalidArgumentException, RuntimeException + public GetPropertiesOfLatestVersionResponse getPropertiesOfLatestVersion(GetPropertiesOfLatestVersion parameters) throws CmisException { checkRepositoryId(parameters.getRepositoryId()); PropertyFilter propertyFilter = createPropertyFilter(parameters.getFilter()); @@ -244,10 +212,15 @@ public class DMVersioningServicePort extends DMAbstractServicePort implements Ve NodeRef documentNodeRef = cmisObjectsUtils.getIdentifierInstance(parameters.getVersionSeriesId(), AlfrescoObjectType.DOCUMENT_OBJECT).getConvertedIdentifier(); NodeRef latestVersionNodeRef = getLatestNode(documentNodeRef, parameters.isMajorVersion()); + Serializable property = cmisService.getProperty(latestVersionNodeRef, CMISDictionaryModel.PROP_IS_MAJOR_VERSION); + if (parameters.isMajorVersion() && ((property == null) || !((Boolean)property))) + { + throw cmisObjectsUtils.createCmisException("Object that was specified has no latest major version", EnumServiceException.OBJECT_NOT_FOUND); + } + GetPropertiesOfLatestVersionResponse response = new GetPropertiesOfLatestVersionResponse(); response.setObject(new CmisObjectType()); - CmisObjectType object = response.getObject(); - object.setProperties(getPropertiesType(latestVersionNodeRef.toString(), propertyFilter)); + response.getObject().setProperties(getPropertiesType(latestVersionNodeRef.toString(), propertyFilter)); return response; } @@ -261,11 +234,11 @@ public class DMVersioningServicePort extends DMAbstractServicePort implements Ve } } - private void assertWorkingCopy(NodeRef nodeRef) throws OperationNotSupportedException + private void assertWorkingCopy(NodeRef nodeRef) throws CmisException { if (!cmisObjectsUtils.isWorkingCopy(nodeRef)) { - throw new OperationNotSupportedException("Object isn't checked out"); + throw cmisObjectsUtils.createCmisException("Object isn't checked out", EnumServiceException.NOT_SUPPORTED); } } } diff --git a/source/java/org/alfresco/repo/cmis/ws/PropertyUtil.java b/source/java/org/alfresco/repo/cmis/ws/PropertyUtil.java index cd8c76270d..6912f4391b 100755 --- a/source/java/org/alfresco/repo/cmis/ws/PropertyUtil.java +++ b/source/java/org/alfresco/repo/cmis/ws/PropertyUtil.java @@ -129,30 +129,36 @@ public class PropertyUtil if (cmisProperty instanceof CmisPropertyBoolean) { - value = ((CmisPropertyBoolean) cmisProperty).isValue(); + value = ((CmisPropertyBoolean) cmisProperty).getValue() != null && ((CmisPropertyBoolean) cmisProperty).getValue().size() > 0 ? ((CmisPropertyBoolean) cmisProperty) + .getValue().get(0) : null; } else if (cmisProperty instanceof CmisPropertyDateTime) { -// value = ((CmisPropertyDateTime) cmisProperty).getValue().; + value = ((CmisPropertyDateTime) cmisProperty).getValue() != null && ((CmisPropertyDateTime) cmisProperty).getValue().size() > 0 ? ((CmisPropertyDateTime) cmisProperty) + .getValue().get(0).toXMLFormat() : null; } else if (cmisProperty instanceof CmisPropertyDecimal) { - value = ((CmisPropertyDecimal) cmisProperty).getValue().doubleValue(); + value = ((CmisPropertyDecimal) cmisProperty).getValue() != null && ((CmisPropertyDecimal) cmisProperty).getValue().size() > 0 ? ((CmisPropertyDecimal) cmisProperty) + .getValue().get(0) : null; } else if (cmisProperty instanceof CmisPropertyHtml) { } else if (cmisProperty instanceof CmisPropertyId) { - value = ((CmisPropertyId) cmisProperty).getValue(); + value = ((CmisPropertyId) cmisProperty).getValue() != null && ((CmisPropertyId) cmisProperty).getValue().size() > 0 ? ((CmisPropertyId) cmisProperty).getValue().get(0) + : null; } else if (cmisProperty instanceof CmisPropertyInteger) { - value = ((CmisPropertyInteger) cmisProperty).getValue(); + value = ((CmisPropertyInteger) cmisProperty).getValue() != null && ((CmisPropertyInteger) cmisProperty).getValue().size() > 0 ? ((CmisPropertyInteger) cmisProperty) + .getValue().get(0) : null; } else if (cmisProperty instanceof CmisPropertyString) { - value = ((CmisPropertyString) cmisProperty).getValue(); + value = ((CmisPropertyString) cmisProperty).getValue() != null && ((CmisPropertyString) cmisProperty).getValue().size() > 0 ? ((CmisPropertyString) cmisProperty) + .getValue().get(0) : null; } else if (cmisProperty instanceof CmisPropertyUri) { diff --git a/source/java/org/alfresco/repo/cmis/ws/utils/CmisObjectsUtils.java b/source/java/org/alfresco/repo/cmis/ws/utils/CmisObjectsUtils.java index c4b426bb82..8256b5fd36 100755 --- a/source/java/org/alfresco/repo/cmis/ws/utils/CmisObjectsUtils.java +++ b/source/java/org/alfresco/repo/cmis/ws/utils/CmisObjectsUtils.java @@ -24,20 +24,23 @@ */ package org.alfresco.repo.cmis.ws.utils; +import java.math.BigInteger; +import java.util.HashMap; import java.util.LinkedList; import java.util.List; +import java.util.Map; import org.alfresco.cmis.CMISDictionaryService; import org.alfresco.cmis.CMISScope; import org.alfresco.cmis.CMISTypeDefinition; -import org.alfresco.cmis.CMISTypeId; import org.alfresco.model.ContentModel; +import org.alfresco.repo.cmis.ws.CmisException; +import org.alfresco.repo.cmis.ws.CmisFaultType; import org.alfresco.repo.cmis.ws.EnumObjectType; -import org.alfresco.repo.cmis.ws.InvalidArgumentException; -import org.alfresco.repo.cmis.ws.ObjectNotFoundException; -import org.alfresco.repo.cmis.ws.OperationNotSupportedException; +import org.alfresco.repo.cmis.ws.EnumServiceException; import org.alfresco.repo.cmis.ws.utils.DescendantsQueueManager.DescendantElement; import org.alfresco.repo.security.authentication.AuthenticationUtil; +import org.alfresco.repo.security.permissions.AccessDeniedException; import org.alfresco.service.cmr.coci.CheckOutCheckInService; import org.alfresco.service.cmr.lock.LockService; import org.alfresco.service.cmr.lock.LockStatus; @@ -67,6 +70,15 @@ public class CmisObjectsUtils DOCUMENT_AND_FOLDER_TYPES.add(ContentModel.TYPE_FOLDER); } + private static final Map CLASS_TO_ENUM_EXCEPTION_MAPPING; + static + { + CLASS_TO_ENUM_EXCEPTION_MAPPING = new HashMap(); + CLASS_TO_ENUM_EXCEPTION_MAPPING.put(AccessDeniedException.class.getName(), EnumServiceException.PERMISSION_DENIED); + CLASS_TO_ENUM_EXCEPTION_MAPPING.put(java.lang.RuntimeException.class.getName(), EnumServiceException.RUNTIME); + // TODO: insert CLASS_TO_ENUM_EXCEPTION_MAPPING.put(.class.getName(), EnumServiceException.); + } + private CheckOutCheckInService checkOutCheckInService; private CMISDictionaryService cmisDictionaryService; private FileFolderService fileFolderService; @@ -76,7 +88,6 @@ public class CmisObjectsUtils private Throwable lastOperationException; - public void setCmisDictionaryService(CMISDictionaryService cmisDictionaryService) { this.cmisDictionaryService = cmisDictionaryService; @@ -106,13 +117,46 @@ public class CmisObjectsUtils { this.authorityService = authorityService; } - - - public IdentifierConversionResults getIdentifierInstance(String identifier, AlfrescoObjectType expectedType) throws InvalidArgumentException + + public CmisException createCmisException(String message, EnumServiceException exceptionType) + { + return createCmisException(message, exceptionType, null, 0); + } + + public CmisException createCmisException(String message, Throwable cause) + { + EnumServiceException exceptionType = null; + + if (CLASS_TO_ENUM_EXCEPTION_MAPPING.containsKey(cause.getClass().getName())) + { + exceptionType = CLASS_TO_ENUM_EXCEPTION_MAPPING.get(cause.getClass().getName()); + } + + exceptionType = (exceptionType == null) ? (EnumServiceException.RUNTIME) : (exceptionType); + + return createCmisException(message, exceptionType, cause, 0); + } + + public CmisException createCmisException(String message, EnumServiceException exceptionType, Throwable cause) + { + return createCmisException(message, exceptionType, cause, 0); + } + + public CmisException createCmisException(String message, EnumServiceException exceptionType, Throwable cause, int errorCode) + { + CmisFaultType fault = new CmisFaultType(); + fault.setMessage(message); + fault.setType(exceptionType); + fault.setCode(BigInteger.valueOf(errorCode)); + + return new CmisException(message, fault, cause); + } + + public IdentifierConversionResults getIdentifierInstance(String identifier, AlfrescoObjectType expectedType) throws CmisException { if (!(identifier instanceof String)) { - throw new InvalidArgumentException("Invalid Object Identifier was specified"); + throw createCmisException("Invalid Object Identifier was specified", EnumServiceException.INVALID_ARGUMENT); } IdentifierConversionResults result; @@ -135,11 +179,10 @@ public class CmisObjectsUtils return result; } - throw new InvalidArgumentException("Unexpected object type of the specified Object Identifier " + identifier); + throw createCmisException(("Unexpected object type of the specified Object Identifier " + identifier), EnumServiceException.INVALID_ARGUMENT); } - public void deleteFolder(NodeRef folderNodeReference, boolean continueOnFailure, boolean totalDeletion, List resultList) - throws OperationNotSupportedException + public void deleteFolder(NodeRef folderNodeReference, boolean continueOnFailure, boolean totalDeletion, List resultList) throws CmisException { DescendantsQueueManager queueManager = new DescendantsQueueManager(new ChildAssociationRef(ContentModel.ASSOC_CONTAINS, null, null, folderNodeReference)); @@ -159,7 +202,8 @@ public class CmisObjectsUtils } while (!queueManager.isEmpty() && (continueOnFailure || resultList.isEmpty())); } - private void processUnlinkStatus(DescendantElement currentElement, UnlinkOperationStatus unlinkStatus, DescendantsQueueManager queueManager, List resultList, boolean addAllFailedToDelete) + private void processUnlinkStatus(DescendantElement currentElement, UnlinkOperationStatus unlinkStatus, DescendantsQueueManager queueManager, List resultList, + boolean addAllFailedToDelete) { if (!unlinkStatus.getChildren().isEmpty()) { @@ -174,7 +218,7 @@ public class CmisObjectsUtils queueManager.removeParents(currentElement, resultList); } } - + public boolean deleteObject(NodeRef objectNodeReference) { return canLock(objectNodeReference) && performNodeDeletion(objectNodeReference); @@ -202,7 +246,8 @@ public class CmisObjectsUtils { try { - QName name = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, QName.createValidLocalName((String)nodeService.getProperty(objectNodeRef, ContentModel.PROP_NAME))); + QName name = QName.createQName(NamespaceService.CONTENT_MODEL_1_0_URI, QName.createValidLocalName((String) nodeService.getProperty(objectNodeRef, + ContentModel.PROP_NAME))); nodeService.addChild(parentFolderNodeRef, objectNodeRef, ContentModel.ASSOC_CONTAINS, name); return true; } @@ -277,7 +322,7 @@ public class CmisObjectsUtils public boolean isChildOfThisFolder(NodeRef objectNodeReference, NodeRef folderNodeReference) { - NodeRef searchedObjectNodeReference = fileFolderService.searchSimple(folderNodeReference, (String)nodeService.getProperty(objectNodeReference, ContentModel.PROP_NAME)); + NodeRef searchedObjectNodeReference = fileFolderService.searchSimple(folderNodeReference, (String) nodeService.getProperty(objectNodeReference, ContentModel.PROP_NAME)); return (searchedObjectNodeReference != null) && searchedObjectNodeReference.equals(objectNodeReference); } @@ -333,12 +378,12 @@ public class CmisObjectsUtils } else { - objectUnlinked = !isPrimaryObjectParent(parentFolderNodeReference, objectNodeReference) && removeObject(objectNodeReference, parentFolderNodeReference); + objectUnlinked = !isPrimaryObjectParent(parentFolderNodeReference, objectNodeReference) && removeObject(objectNodeReference, parentFolderNodeReference); } return new UnlinkOperationStatus(objectUnlinked, new LinkedList()); } - private NodeRef safeGetNodeRef(String nodeIdentifier) throws InvalidArgumentException + private NodeRef safeGetNodeRef(String nodeIdentifier) throws CmisException { if (NodeRef.isNodeRef(nodeIdentifier)) { @@ -349,7 +394,8 @@ public class CmisObjectsUtils } } - throw new InvalidArgumentException("Invalid Object Identifier was specified: Identifier is incorrect or Object with the specified Identifier does not exist", new ObjectNotFoundException()); + throw createCmisException("Invalid Object Identifier was specified: Identifier is incorrect or Object with the specified Identifier does not exist", + EnumServiceException.OBJECT_NOT_FOUND); } private String cutNodeVersionIfNecessary(String identifier, String[] splitNodeIdentifier, int startIndex) @@ -357,7 +403,8 @@ public class CmisObjectsUtils String withoutVersionSuffix = identifier; if (splitNodeIdentifier.length == NODE_REFERENCE_WITH_SUFFIX_DELIMETERS_COUNT) { - withoutVersionSuffix = splitNodeIdentifier[startIndex++ - 1] + DOUBLE_NODE_REFERENCE_ID_DELIMETER + splitNodeIdentifier[startIndex++] + NODE_REFERENCE_ID_DELIMETER + splitNodeIdentifier[startIndex]; + withoutVersionSuffix = splitNodeIdentifier[startIndex++ - 1] + DOUBLE_NODE_REFERENCE_ID_DELIMETER + splitNodeIdentifier[startIndex++] + NODE_REFERENCE_ID_DELIMETER + + splitNodeIdentifier[startIndex]; } return withoutVersionSuffix; } @@ -382,6 +429,7 @@ public class CmisObjectsUtils { return new IdentifierConversionResults() { + @SuppressWarnings("unchecked") public AssociationRef getConvertedIdentifier() { return new AssociationRef(identifier); @@ -393,6 +441,7 @@ public class CmisObjectsUtils { return new IdentifierConversionResults() { + @SuppressWarnings("unchecked") public NodeRef getConvertedIdentifier() { return identifier; @@ -430,10 +479,10 @@ public class CmisObjectsUtils return this.children; } } - + public Throwable getLastOperationException() { return lastOperationException; } - + } diff --git a/source/java/org/alfresco/repo/cmis/ws/utils/DescendantsQueueManager.java b/source/java/org/alfresco/repo/cmis/ws/utils/DescendantsQueueManager.java index 8c7a4be869..a5aed3e5e2 100755 --- a/source/java/org/alfresco/repo/cmis/ws/utils/DescendantsQueueManager.java +++ b/source/java/org/alfresco/repo/cmis/ws/utils/DescendantsQueueManager.java @@ -45,7 +45,7 @@ public class DescendantsQueueManager protected DescendantsQueueManager() { } - + public boolean isEmpty() { return this.queue.isEmpty(); @@ -62,7 +62,7 @@ public class DescendantsQueueManager queue.remove(result); return result; } - + public void addFirst(DescendantElement parent, List children) { for (ChildAssociationRef child : children) @@ -70,7 +70,7 @@ public class DescendantsQueueManager queue.addFirst(createElement(parent, child)); } } - + private DescendantElement createElement(DescendantElement parent, ChildAssociationRef child) { return new DescendantElement(parent, child); @@ -80,7 +80,7 @@ public class DescendantsQueueManager { queue.addLast(element); } - + public void removeParents(DescendantElement element, List undeletedNodes) { @@ -134,5 +134,5 @@ public class DescendantsQueueManager return (childAssoc != null) ? (childAssoc.equals(currentElement.getChildAssoc())) : (currentElement.getChildAssoc() == null); } } - + } diff --git a/source/sample/JavaCmisTest/cmis-test.bat b/source/sample/JavaCmisTest/cmis-test.bat index 2d985cf560..fe29636925 100755 --- a/source/sample/JavaCmisTest/cmis-test.bat +++ b/source/sample/JavaCmisTest/cmis-test.bat @@ -1,6 +1,6 @@ @echo off -set CLASSPATH=cmis-test.jar +set CLASSPATH=cmis-test-client.jar for %%i in (./lib/*.jar) do call set CLASSPATH=./lib/%%~i;%%CLASSPATH%% java org.alfresco.cmis.ws.example.SimpleExecutableCmisServicesUtilizer %1 %2 %3 diff --git a/source/sample/JavaCmisTest/lib/cmis-types.jar b/source/sample/JavaCmisTest/lib/cmis-types.jar index 4a454022d3f8b0beb1802aa708f0408640bc9cd3..caa9eb9adc46c7c364c951193687e9523ba84767 100755 GIT binary patch literal 186310 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%0D&`YpBB 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�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

F6U{QAWF! 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%0DaQI8}sN$4D#KAYGVttuDX2)-_d*G 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�o#gHQVt2+s!=Ey1?@Xe+Wk%3lCD(;JSrr_ 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 E2f^EYSbIzIj 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%0D>Ub(Bx{ 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�AO&XxMf^n0LSE5OweKAN9BavKuU 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

B$#mGd7~YaE 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
RZBGM{G44KgT}KwXjC~V5hln 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 literal 0 HcmV?d00001 diff --git a/source/sample/JavaCmisTest/src/org/alfresco/cmis/ws/example/ExecutableServicesHelper.java b/source/sample/JavaCmisTest/src/org/alfresco/cmis/ws/example/ExecutableServicesHelper.java index 59bca4cda2..2ce526a09a 100755 --- a/source/sample/JavaCmisTest/src/org/alfresco/cmis/ws/example/ExecutableServicesHelper.java +++ b/source/sample/JavaCmisTest/src/org/alfresco/cmis/ws/example/ExecutableServicesHelper.java @@ -39,15 +39,9 @@ import javax.xml.namespace.QName; import javax.xml.ws.Service; import org.alfresco.repo.cmis.ws.CmisObjectType; -import org.alfresco.repo.cmis.ws.CmisQueryType; -import org.alfresco.repo.cmis.ws.CmisRepositoryEntryType; import org.alfresco.repo.cmis.ws.EnumTypesOfFileableObjects; import org.alfresco.repo.cmis.ws.GetChildren; import org.alfresco.repo.cmis.ws.GetChildrenResponse; -import org.alfresco.repo.cmis.ws.GetFolderParent; -import org.alfresco.repo.cmis.ws.GetRepositories; -import org.alfresco.repo.cmis.ws.GetRepositoryInfo; -import org.alfresco.repo.cmis.ws.GetTypes; import org.alfresco.repo.cmis.ws.NavigationServicePort; import org.alfresco.repo.cmis.ws.ObjectFactory; import org.alfresco.repo.cmis.ws.RepositoryServicePort; @@ -68,12 +62,13 @@ import org.apache.ws.security.handler.WSHandlerConstants; */ public class ExecutableServicesHelper { - private static final QName NAVIGATION_SERVICE_NAME = new QName("http://www.cmis.org/ns/1.0", "NavigationService"); - private static final QName REPOSITORY_SERVICE_NAME = new QName("http://www.cmis.org/ns/1.0", "RepositoryService"); + private static final QName NAVIGATION_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "NavigationService"); + private static final QName REPOSITORY_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "RepositoryService"); private static final String NAVIGATION_SERVER_URL_POSTFIX = "/alfresco/cmis/NavigationService?wsdl"; private static final String REPOSITORY_SERVER_URL_POSTFIX = "/alfresco/cmis/RepositoryService?wsdl"; + @SuppressWarnings("unused") private static final Log LOGGER = LogFactory.getLog(ExecutableServicesHelper.class); private String username; @@ -164,10 +159,7 @@ public class ExecutableServicesHelper */ public String receiveCompanyHomeObjectId(RepositoryServicePort servicesPort) throws Exception { - GetRepositoryInfo parameteers = new GetRepositoryInfo(); - parameteers.setRepositoryId(servicesPort.getRepositories().get(0).getRepositoryID()); - - return servicesPort.getRepositoryInfo(parameteers).getRootFolderId(); + return servicesPort.getRepositoryInfo(servicesPort.getRepositories().get(0).getRepositoryId()).getRootFolderId(); } /** @@ -191,7 +183,7 @@ public class ExecutableServicesHelper RepositoryServicePort authorizedRepositoryServicePort = receiveAuthorizedRepositoryServicePort(); GetChildren requestParameters = objectFactory.createGetChildren(); - requestParameters.setRepositoryId(authorizedRepositoryServicePort.getRepositories().get(0).getRepositoryID()); + requestParameters.setRepositoryId(authorizedRepositoryServicePort.getRepositories().get(0).getRepositoryId()); requestParameters.setFilter(objectFactory.createGetChildrenFilter("*")); requestParameters.setMaxItems(objectFactory.createGetChildrenMaxItems(BigInteger.valueOf(Long.MAX_VALUE))); requestParameters.setFolderId(receiveCompanyHomeObjectId(authorizedRepositoryServicePort)); @@ -214,7 +206,7 @@ public class ExecutableServicesHelper Map outInterceptorProperties = new HashMap(); outInterceptorProperties.put(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN + " " + WSHandlerConstants.TIMESTAMP); outInterceptorProperties.put(WSHandlerConstants.USER, username); - outInterceptorProperties.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_DIGEST); + outInterceptorProperties.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_TEXT); outInterceptorProperties.put(WSHandlerConstants.PW_CALLBACK_REF, new CallbackHandler() { diff --git a/source/sample/JavaCmisTest/src/org/alfresco/cmis/ws/example/SimpleExecutableCmisServicesUtilizer.java b/source/sample/JavaCmisTest/src/org/alfresco/cmis/ws/example/SimpleExecutableCmisServicesUtilizer.java index 247ae59bda..a3e621776a 100755 --- a/source/sample/JavaCmisTest/src/org/alfresco/cmis/ws/example/SimpleExecutableCmisServicesUtilizer.java +++ b/source/sample/JavaCmisTest/src/org/alfresco/cmis/ws/example/SimpleExecutableCmisServicesUtilizer.java @@ -102,7 +102,7 @@ public class SimpleExecutableCmisServicesUtilizer for (CmisObjectType item : response) { boolean thisIsFolder = ((CmisPropertyString) getCmisProperty(item.getProperties(), "BaseType")).getValue().contains("folder"); - String itemName = ((CmisPropertyString) getCmisProperty(item.getProperties(), "Name")).getValue(); + String itemName = ((CmisPropertyString) getCmisProperty(item.getProperties(), "Name")).getValue().get(0); System.out.println(((thisIsFolder) ? ("[") : ("")) + itemName + ((thisIsFolder) ? ("]") : (""))); } diff --git a/source/test/java/org/alfresco/repo/cmis/ws/CmisServiceTestHelper.java b/source/test/java/org/alfresco/repo/cmis/ws/CmisServiceTestHelper.java index 35ff4c49a1..63c1373b89 100755 --- a/source/test/java/org/alfresco/repo/cmis/ws/CmisServiceTestHelper.java +++ b/source/test/java/org/alfresco/repo/cmis/ws/CmisServiceTestHelper.java @@ -195,7 +195,7 @@ public class CmisServiceTestHelper extends TestCase List propertiesList = properties.getProperty(); CmisPropertyString cmisProperty = new CmisPropertyString(); cmisProperty.setName(CMISDictionaryModel.PROP_NAME); - cmisProperty.setValue(name); + cmisProperty.getValue().add(name); propertiesList.add(cmisProperty); CmisContentStreamType cmisStream = new CmisContentStreamType(); @@ -221,7 +221,7 @@ public class CmisServiceTestHelper extends TestCase List propertiesList = properties.getProperty(); CmisPropertyString cmisProperty = new CmisPropertyString(); cmisProperty.setName(CMISDictionaryModel.PROP_NAME); - cmisProperty.setValue(name); + cmisProperty.getValue().add(name); propertiesList.add(cmisProperty); CmisContentStreamType cmisStream = new CmisContentStreamType(); @@ -252,7 +252,7 @@ public class CmisServiceTestHelper extends TestCase List propertiesList = properties.getProperty(); CmisPropertyString cmisProperty = new CmisPropertyString(); cmisProperty.setName(CMISDictionaryModel.PROP_NAME); - cmisProperty.setValue(name + dataSource.getName()); + cmisProperty.getValue().add(name + dataSource.getName()); propertiesList.add(cmisProperty); // public String createDocument(String repositoryId, String typeId, CmisPropertiesType properties, String folderId, CmisContentStreamType contentStream, @@ -277,9 +277,7 @@ public class CmisServiceTestHelper extends TestCase CmisPropertyString cmisProperty = new CmisPropertyString(); cmisProperty.setName(CMISDictionaryModel.PROP_NAME); - cmisProperty.setPropertyType(EnumPropertyType.STRING); - cmisProperty.setIndex(BigInteger.valueOf(1)); - cmisProperty.setValue(name); + cmisProperty.getValue().add(name); propertiesList.add(cmisProperty); // public String createFolder(String repositoryId, String typeId, CmisPropertiesType properties, String folderId) @@ -296,9 +294,7 @@ public class CmisServiceTestHelper extends TestCase CmisPropertyString cmisProperty = new CmisPropertyString(); cmisProperty.setName(CMISDictionaryModel.PROP_NAME); - cmisProperty.setPropertyType(EnumPropertyType.STRING); - cmisProperty.setIndex(BigInteger.valueOf(1)); - cmisProperty.setValue(name); + cmisProperty.getValue().add(name); propertiesList.add(cmisProperty); // public String createFolder(String repositoryId, String typeId, CmisPropertiesType properties, String folderId) @@ -316,7 +312,6 @@ public class CmisServiceTestHelper extends TestCase public void deleteFolder(String folderId) throws Exception { objectServicePort.deleteTree(repositoryId, folderId, EnumUnfileNonfolderObjects.DELETE, true); - assertNull("Folder has not been deleted", getObjectProperties(folderId)); } public GetPropertiesResponse getObjectProperties(String objectId) @@ -329,25 +324,16 @@ public class CmisServiceTestHelper extends TestCase request.setFilter(cmisObjectFactory.createGetPropertiesFilter("*")); request.setIncludeAllowableActions(cmisObjectFactory.createGetPropertiesIncludeAllowableActions(true)); - request.setIncludeRelationships(cmisObjectFactory.createGetPropertiesIncludeRelationships(true)); + request.setIncludeRelationships(cmisObjectFactory.createGetPropertiesIncludeRelationships(EnumIncludeRelationships.BOTH)); GetPropertiesResponse response = null; try { response = objectServicePort.getProperties(request); } - - catch (InvalidArgumentException e) - { - // e.printStackTrace(); - } - catch (ObjectNotFoundException e) - { - - } catch (Exception e) { - e.printStackTrace(); + } return response; } @@ -362,32 +348,23 @@ public class CmisServiceTestHelper extends TestCase request.setFilter(cmisObjectFactory.createGetPropertiesFilter(filter)); request.setIncludeAllowableActions(cmisObjectFactory.createGetPropertiesIncludeAllowableActions(true)); - request.setIncludeRelationships(cmisObjectFactory.createGetPropertiesIncludeRelationships(true)); + request.setIncludeRelationships(cmisObjectFactory.createGetPropertiesIncludeRelationships(EnumIncludeRelationships.BOTH)); GetPropertiesResponse response = null; try { response = objectServicePort.getProperties(request); } - - catch (FilterNotValidException e) - { - fail("FilterNotValidException"); - } - catch (ObjectNotFoundException e) - { - - } catch (Exception e) { - e.printStackTrace(); + fail(e.getMessage()); } return response; } /** * This method simplify receiving of Object Identificator for Company Home Root Folder - * + * * @param servicesPort - RepositoryServicePort instance that configured with WSS4J Client * @return String representation of Object Identificator * @throws Exception This exception throws when any CMIS Services operations was failed @@ -395,11 +372,9 @@ public class CmisServiceTestHelper extends TestCase public String getCompanyHomeId(String repositoryId) { String rootFolder = null; - GetRepositoryInfo parameters = new GetRepositoryInfo(); try { - parameters.setRepositoryId(repositoryId); - rootFolder = repositoryServicePort.getRepositoryInfo(parameters).getRootFolderId(); + rootFolder = repositoryServicePort.getRepositoryInfo(repositoryId).getRootFolderId(); } catch (Exception e) { @@ -411,10 +386,8 @@ public class CmisServiceTestHelper extends TestCase public String getUserHomeId(String repositoryId, String companyHomeId) { String userHomeFolder = null; - GetRepositoryInfo parameters = new GetRepositoryInfo(); try { - parameters.setRepositoryId(repositoryId); GetChildrenResponse response = getChildren(companyHomeId, EnumTypesOfFileableObjects.FOLDERS, 0, "*"); for (CmisObjectType object : response.getObject()) { @@ -424,7 +397,7 @@ public class CmisServiceTestHelper extends TestCase } } - userHomeFolder = repositoryServicePort.getRepositoryInfo(parameters).getRootFolderId(); + userHomeFolder = repositoryServicePort.getRepositoryInfo(repositoryId).getRootFolderId(); } catch (Exception e) { @@ -434,7 +407,7 @@ public class CmisServiceTestHelper extends TestCase } public final static String REPOSITORY_SERVICE_WSDL_LOCATION = ALFRESCO_URL + "/cmis/RepositoryService?wsdl"; - public final static QName REPOSITORY_SERVICE_NAME = new QName("http://www.cmis.org/ns/1.0", "RepositoryService"); + public final static QName REPOSITORY_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "RepositoryService"); protected RepositoryServicePort getRepositoryServicePort() { @@ -455,7 +428,7 @@ public class CmisServiceTestHelper extends TestCase } public final static String OBJECT_SERVICE_WSDL_LOCATION = ALFRESCO_URL + "/cmis/ObjectService?wsdl"; - public final static QName OBJECT_SERVICE_NAME = new QName("http://www.cmis.org/ns/1.0", "ObjectService"); + public final static QName OBJECT_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "ObjectService"); protected ObjectServicePort getObjectServicePort() { @@ -476,7 +449,7 @@ public class CmisServiceTestHelper extends TestCase } public final static String VERSIONING_SERVICE_WSDL_LOCATION = ALFRESCO_URL + "/cmis/VersioningService?wsdl"; - public final static QName VERSIONING_SERVICE_NAME = new QName("http://www.cmis.org/ns/1.0", "VersioningService"); + public final static QName VERSIONING_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "VersioningService"); protected VersioningServicePort getVersioningServicePort() { @@ -495,7 +468,7 @@ public class CmisServiceTestHelper extends TestCase } public final static String MULTIFILING_SERVICE_WSDL_LOCATION = ALFRESCO_URL + "/cmis/MultiFilingService?wsdl"; - public final static QName MULTIFILING_SERVICE_NAME = new QName("http://www.cmis.org/ns/1.0", "MultiFilingService"); + public final static QName MULTIFILING_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "MultiFilingService"); protected MultiFilingServicePort getMultiFilingServicePort() { @@ -514,7 +487,7 @@ public class CmisServiceTestHelper extends TestCase } public final static String NAVIGATION_SERVICE_WSDL_LOCATION = ALFRESCO_URL + "/cmis/NavigationService?wsdl"; - public final static QName NAVIGATION_SERVICE_NAME = new QName("http://www.cmis.org/ns/1.0", "NavigationService"); + public final static QName NAVIGATION_SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "NavigationService"); protected NavigationServicePort getNavigationServicePort() { @@ -539,7 +512,7 @@ public class CmisServiceTestHelper extends TestCase { try { - return repositoryServicePort.getRepositories().get(0).getRepositoryID(); + return repositoryServicePort.getRepositories().get(0).getRepositoryId(); } catch (Exception e) { @@ -588,7 +561,7 @@ public class CmisServiceTestHelper extends TestCase request.setVersionSeriesId(documentId); request.setFilter(cmisObjectFactory.createGetAllVersionsFilter("*")); request.setIncludeAllowableActions(cmisObjectFactory.createGetAllVersionsIncludeAllowableActions(Boolean.FALSE)); - request.setIncludeRelationships(cmisObjectFactory.createGetAllVersionsIncludeRelationships(Boolean.FALSE)); + request.setIncludeRelationships(cmisObjectFactory.createGetAllVersionsIncludeRelationships(EnumIncludeRelationships.NONE)); response = versioningServicePort.getAllVersions(request); assertNotNull(response.getObject()); @@ -609,9 +582,7 @@ public class CmisServiceTestHelper extends TestCase CmisPropertyString cmisProperty = new CmisPropertyString(); cmisProperty.setName(CMISDictionaryModel.PROP_NAME); - cmisProperty.setPropertyType(EnumPropertyType.STRING); - cmisProperty.setIndex(BigInteger.valueOf(1)); - cmisProperty.setValue(name); + cmisProperty.getValue().add(name); propertiesList.add(cmisProperty); // createRelationship(String repositoryId, String typeId, CmisPropertiesType properties, String sourceObjectId, String targetObjectId) @@ -630,7 +601,7 @@ public class CmisServiceTestHelper extends TestCase List propertiesList = properties.getProperty(); CmisPropertyString cmisProperty = new CmisPropertyString(); cmisProperty.setName(propName); - cmisProperty.setValue(propValue); + cmisProperty.getValue().add(propValue); propertiesList.add(cmisProperty); Holder documentIdHolder = new Holder(documentId); @@ -673,7 +644,7 @@ public class CmisServiceTestHelper extends TestCase request.setObjectId(objectId); request.setFilter("*"); request.setIncludeAllowableActions(cmisObjectFactory.createGetObjectParentsIncludeAllowableActions(true)); - request.setIncludeRelationships(cmisObjectFactory.createGetObjectParentsIncludeRelationships(true)); + request.setIncludeRelationships(cmisObjectFactory.createGetObjectParentsIncludeRelationships(EnumIncludeRelationships.BOTH)); GetObjectParentsResponse response = null; @@ -681,7 +652,7 @@ public class CmisServiceTestHelper extends TestCase { response = navigationServicePort.getObjectParents(request); } - catch (FilterNotValidException e) + catch (Exception e) { fail(e.getMessage()); } @@ -741,7 +712,7 @@ public class CmisServiceTestHelper extends TestCase { response = navigationServicePort.getChildren(request); } - catch (FilterNotValidException e) + catch (Exception e) { fail(e.getMessage()); } diff --git a/source/test/java/org/alfresco/repo/cmis/ws/DMDiscoveryServiceTest.java b/source/test/java/org/alfresco/repo/cmis/ws/DMDiscoveryServiceTest.java index e05a29ac08..b636b8e14a 100755 --- a/source/test/java/org/alfresco/repo/cmis/ws/DMDiscoveryServiceTest.java +++ b/source/test/java/org/alfresco/repo/cmis/ws/DMDiscoveryServiceTest.java @@ -34,7 +34,7 @@ public class DMDiscoveryServiceTest extends AbstractServiceTest { public final static String SERVICE_WSDL_LOCATION = CmisServiceTestHelper.ALFRESCO_URL + "/cmis/DiscoveryService?wsdl"; - public final static QName SERVICE_NAME = new QName("http://www.cmis.org/ns/1.0", "DiscoveryService"); + public final static QName SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "DiscoveryService"); public final static String STATEMENT = "SELECT * FROM Document"; public DMDiscoveryServiceTest() @@ -46,7 +46,7 @@ public class DMDiscoveryServiceTest extends AbstractServiceTest { super(testCase, username, password); } - + protected Object getServicePort() { URL serviceWsdlURL; @@ -63,9 +63,10 @@ public class DMDiscoveryServiceTest extends AbstractServiceTest return service.getPort(DiscoveryServicePort.class); } - public void testQuery() throws Exception + public void testQuery() throws Exception { CmisQueryType request = new CmisQueryType(); + request.setRepositoryId(repositoryId); request.setStatement(STATEMENT); QueryResponse response = ((DiscoveryServicePort) servicePort).query(request); assertNotNull(response); diff --git a/source/test/java/org/alfresco/repo/cmis/ws/DMMultiFilingServiceTest.java b/source/test/java/org/alfresco/repo/cmis/ws/DMMultiFilingServiceTest.java index 1c07023fe4..bb4a1e4aa8 100755 --- a/source/test/java/org/alfresco/repo/cmis/ws/DMMultiFilingServiceTest.java +++ b/source/test/java/org/alfresco/repo/cmis/ws/DMMultiFilingServiceTest.java @@ -32,7 +32,7 @@ public class DMMultiFilingServiceTest extends AbstractServiceTest { public final static String SERVICE_WSDL_LOCATION = CmisServiceTestHelper.ALFRESCO_URL + "/cmis/MultiFilingService?wsdl"; - public final static QName SERVICE_NAME = new QName("http://www.cmis.org/ns/1.0", "MultiFilingService"); + public final static QName SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "MultiFilingService"); private String anotherFolderId; public DMMultiFilingServiceTest() @@ -58,8 +58,16 @@ public class DMMultiFilingServiceTest extends AbstractServiceTest protected void tearDown() throws Exception { super.tearDown(); - deleteInitialContent(); - helper.deleteFolder(anotherFolderId); + try + { + deleteInitialContent(); + helper.deleteFolder(anotherFolderId); + } + catch (Exception e) + { + + } + } protected Object getServicePort() @@ -92,9 +100,9 @@ public class DMMultiFilingServiceTest extends AbstractServiceTest ((MultiFilingServicePort) servicePort).removeObjectFromFolder(repositoryId, documentId, null); fail("Expects exception"); } - catch (Exception e) + catch (CmisException e) { - assertTrue(e instanceof OperationNotSupportedException); + assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.NOT_SUPPORTED)); } helper.removeObjectFromFolder(documentId, anotherFolderId); @@ -105,9 +113,9 @@ public class DMMultiFilingServiceTest extends AbstractServiceTest ((MultiFilingServicePort) servicePort).removeObjectFromFolder(repositoryId, documentId, folderId); fail("Expected exception"); } - catch (Exception e) + catch (CmisException e) { - assertTrue(e instanceof NotInFolderException); + assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.INVALID_ARGUMENT)); } try @@ -116,9 +124,9 @@ public class DMMultiFilingServiceTest extends AbstractServiceTest ((MultiFilingServicePort) servicePort).removeObjectFromFolder(repositoryId, documentId, companyHomeId); fail("Expected exception"); } - catch (Exception e) + catch (CmisException e) { - assertTrue(e instanceof OperationNotSupportedException); + assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.NOT_SUPPORTED)); } } } diff --git a/source/test/java/org/alfresco/repo/cmis/ws/DMNavigationServiceTest.java b/source/test/java/org/alfresco/repo/cmis/ws/DMNavigationServiceTest.java index 35a1e2a2d9..37ccbedd94 100755 --- a/source/test/java/org/alfresco/repo/cmis/ws/DMNavigationServiceTest.java +++ b/source/test/java/org/alfresco/repo/cmis/ws/DMNavigationServiceTest.java @@ -122,8 +122,10 @@ public class DMNavigationServiceTest extends AbstractServiceTest } String folderName1 = "Test Cmis Folder (" + System.currentTimeMillis() + ")"; + @SuppressWarnings("unused") String folderId1 = helper.createFolder(folderName1, folderId); String documentName1 = "Test cmis document (" + System.currentTimeMillis() + ")"; + @SuppressWarnings("unused") String documentId1 = helper.createDocument(documentName1, folderId, CMISDictionaryModel.DOCUMENT_TYPE_ID, EnumVersioningState.MAJOR); response = getChildren(folderId, EnumTypesOfFileableObjects.ANY, 0); @@ -180,6 +182,7 @@ public class DMNavigationServiceTest extends AbstractServiceTest folderName = "Test Cmis Folder (" + System.currentTimeMillis() + ")"; String folderId1 = helper.createFolder(folderName, folderId); documentName = "Test cmis document (" + System.currentTimeMillis() + ")"; + @SuppressWarnings("unused") String documentId1 = helper.createDocument(documentName, folderId1, CMISDictionaryModel.DOCUMENT_TYPE_ID, EnumVersioningState.MAJOR); response = getDescendants(folderId, EnumTypesOfFileableObjects.FOLDERS, 1); @@ -299,7 +302,7 @@ public class DMNavigationServiceTest extends AbstractServiceTest request.setDepth(cmisObjectFactory.createGetDescendantsDepth(BigInteger.valueOf(depth))); request.setFilter(cmisObjectFactory.createGetPropertiesFilter("*")); request.setIncludeAllowableActions(cmisObjectFactory.createGetDescendantsIncludeAllowableActions(true)); - request.setIncludeRelationships(cmisObjectFactory.createGetDescendantsIncludeRelationships(true)); + request.setIncludeRelationships(cmisObjectFactory.createGetDescendantsIncludeRelationships(EnumIncludeRelationships.BOTH)); GetDescendantsResponse response = ((NavigationServicePort) servicePort).getDescendants(request); return response; @@ -359,7 +362,7 @@ public class DMNavigationServiceTest extends AbstractServiceTest request.setReturnToRoot(cmisObjectFactory.createGetFolderParentReturnToRoot(setReturnToRoot)); request.setIncludeAllowableActions(cmisObjectFactory.createGetFolderParentIncludeAllowableActions(true)); - request.setIncludeRelationships(cmisObjectFactory.createGetFolderParentIncludeRelationships(true)); + request.setIncludeRelationships(cmisObjectFactory.createGetFolderParentIncludeRelationships(EnumIncludeRelationships.BOTH)); GetFolderParentResponse response = ((NavigationServicePort) servicePort).getFolderParent(request); return response; @@ -376,14 +379,14 @@ public class DMNavigationServiceTest extends AbstractServiceTest request.setFilter(filter); request.setIncludeAllowableActions(cmisObjectFactory.createGetFolderParentIncludeAllowableActions(true)); - request.setIncludeRelationships(cmisObjectFactory.createGetFolderParentIncludeRelationships(true)); + request.setIncludeRelationships(cmisObjectFactory.createGetFolderParentIncludeRelationships(EnumIncludeRelationships.BOTH)); GetFolderParentResponse response = null; try { response = ((NavigationServicePort) servicePort).getFolderParent(request); } - catch (FilterNotValidException e) + catch (Exception e) { fail(e.getMessage()); } @@ -408,13 +411,13 @@ public class DMNavigationServiceTest extends AbstractServiceTest request.setRepositoryId(repositoryId); - request.setFolderID(cmisObjectFactory.createGetCheckedoutDocsFolderID(folderId)); + request.setFolderId(cmisObjectFactory.createGetCheckedoutDocsFolderId(folderId)); request.setFilter(cmisObjectFactory.createGetCheckedoutDocsFilter("*")); request.setMaxItems(cmisObjectFactory.createGetCheckedoutDocsMaxItems(BigInteger.valueOf(maxItems))); request.setSkipCount(cmisObjectFactory.createGetCheckedoutDocsSkipCount(BigInteger.valueOf(skipCount))); request.setIncludeAllowableActions(cmisObjectFactory.createGetCheckedoutDocsIncludeAllowableActions(true)); - request.setIncludeRelationships(cmisObjectFactory.createGetCheckedoutDocsIncludeRelationships(true)); + request.setIncludeRelationships(cmisObjectFactory.createGetCheckedoutDocsIncludeRelationships(EnumIncludeRelationships.BOTH)); GetCheckedoutDocsResponse response = ((NavigationServicePort) servicePort).getCheckedoutDocs(request); diff --git a/source/test/java/org/alfresco/repo/cmis/ws/DMObjectServiceTest.java b/source/test/java/org/alfresco/repo/cmis/ws/DMObjectServiceTest.java index f4e5fe791a..75dc314202 100644 --- a/source/test/java/org/alfresco/repo/cmis/ws/DMObjectServiceTest.java +++ b/source/test/java/org/alfresco/repo/cmis/ws/DMObjectServiceTest.java @@ -24,14 +24,12 @@ */ package org.alfresco.repo.cmis.ws; -import java.math.BigInteger; import java.util.List; import javax.activation.DataHandler; import javax.xml.ws.Holder; import org.alfresco.cmis.CMISDictionaryModel; -import org.alfresco.cmis.mapping.CMISMapping; import org.alfresco.repo.content.MimetypeMap; /** @@ -83,7 +81,7 @@ public class DMObjectServiceTest extends AbstractServiceTest List propertiesList = properties.getProperty(); CmisPropertyString cmisProperty = new CmisPropertyString(); cmisProperty.setName(CMISDictionaryModel.PROP_NAME); - cmisProperty.setValue(documentName); + cmisProperty.getValue().add(documentName); propertiesList.add(cmisProperty); CmisContentStreamType cmisStream = new CmisContentStreamType(); @@ -137,14 +135,14 @@ public class DMObjectServiceTest extends AbstractServiceTest public void testCreateDocument_Exceptions() throws Exception { - // • If unfiling is not supported and a Folder is not specified, throw FolderNotValidException. + // If unfiling is not supported and a Folder is not specified, throw FolderNotValidException. try { documentName = "Test cmis document (" + System.currentTimeMillis() + ")"; documentId = helper.createDocument(documentName, null, CMISDictionaryModel.DOCUMENT_TYPE_ID, EnumVersioningState.MAJOR); fail(); } - catch (FolderNotValidException e) + catch (CmisException e) { } @@ -178,7 +176,7 @@ public class DMObjectServiceTest extends AbstractServiceTest assertNotNull(getPropertyValue(propertiesResponse, CMISDictionaryModel.PROP_CONTENT_STREAM_MIME_TYPE)); assertTrue(getPropertyBooleanValue(propertiesResponse, CMISDictionaryModel.PROP_IS_LATEST_VERSION)); - // A property filter is a string that contains either ‘*’ (to return all properties) or a comma-separated list of property names (to return selected properties). An + // A property filter is a string that contains either (to return all properties) or a comma-separated list of property names (to return selected properties). An // arbitrary number of spaces are allowed before or after each comma. // filter = "*Stream*"; @@ -222,19 +220,22 @@ public class DMObjectServiceTest extends AbstractServiceTest assertEquals(3, responseVersions.getObject().size()); assertTrue("Initial version was not returned", isExistItemWithProperty(responseVersions.getObject(), CMISDictionaryModel.PROP_VERSION_LABEL, "1.0")); - assertTrue("Invalid response ordering: First object is not latest version", (Boolean) PropertyUtil.getProperty(responseVersions.getObject().get(0).getProperties(), CMISDictionaryModel.PROP_IS_LATEST_VERSION)); - assertTrue("Invalid response ordering: Second object is not head version", (Boolean) PropertyUtil.getProperty(responseVersions.getObject().get(1).getProperties(), CMISDictionaryModel.PROP_IS_LATEST_VERSION)); + assertTrue("Invalid response ordering: First object is not latest version", (Boolean) PropertyUtil.getProperty(responseVersions.getObject().get(0).getProperties(), + CMISDictionaryModel.PROP_IS_LATEST_VERSION)); + assertTrue("Invalid response ordering: Second object is not head version", (Boolean) PropertyUtil.getProperty(responseVersions.getObject().get(1).getProperties(), + CMISDictionaryModel.PROP_IS_LATEST_VERSION)); } // This test don't asserts until CMIS setProperty()/setProperties() logic is unimplemented public void testGetDocumentProperties_Other() throws Exception { - // • If “includeAllowableActions” is TRUE, the repository will return the allowable actions for the current user for the object as part of the output. - // • "IncludeRelationships" indicates whether relationships are also returned for the object. If it is set to "source" or "target", relationships for which the returned + // If includeAllowableActions is TRUE, the repository will return the allowable actions for the current user for the object as part of the output. + // "IncludeRelationships" indicates whether relationships are also returned for the object. If it is set to "source" or "target", relationships for which the returned // object is a source, or respectively a target, will also be returned. If it is set to "both", relationships for which the returned object is either a source or a target // will be returned. If it is set to "none", relationships are not returned. GetPropertiesResponse response = helper.getObjectProperties(documentId); + @SuppressWarnings("unused") CmisObjectType object = response.getObject(); // TODO: not implemented // assertNotNull(object.getAllowableActions()); @@ -250,12 +251,10 @@ public class DMObjectServiceTest extends AbstractServiceTest { ((ObjectServicePort) servicePort).getProperties(request); } - catch (InvalidArgumentException e) + catch (CmisException e) { - return; + assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.INVALID_ARGUMENT)); } - - fail("Expects exception"); } public void testGetContentStream() throws Exception @@ -276,9 +275,6 @@ public class DMObjectServiceTest extends AbstractServiceTest result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentId); } } - catch (InvalidArgumentException e) - { - } catch (Throwable e) { e.printStackTrace(); @@ -302,34 +298,6 @@ public class DMObjectServiceTest extends AbstractServiceTest } - // this method is not implemented yet - public void testCreatePolicy() throws Exception - { - CreatePolicy request = cmisObjectFactory.createCreatePolicy(); - - request.setRepositoryId(repositoryId); - request.setFolderId(cmisObjectFactory.createCreatePolicyFolderId(companyHomeId)); - // there is no CMISMapping.POLICY_TYPE_ID - request.setTypeId("policy"); - - CmisPropertiesType properties = new CmisPropertiesType(); - List propertiesList = properties.getProperty(); - - CmisPropertyString cmisProperty = new CmisPropertyString(); - cmisProperty.setName(CMISDictionaryModel.PROP_NAME); - cmisProperty.setPropertyType(EnumPropertyType.STRING); - cmisProperty.setIndex(BigInteger.valueOf(1)); - cmisProperty.setValue("Cmis Test Policy"); - propertiesList.add(cmisProperty); - request.setProperties(properties); - - // TODO: not implemented - // String createPolicy(String repositoryId, String typeId, CmisPropertiesType properties, String folderId) - String response = ((ObjectServicePort) servicePort).createPolicy(repositoryId, request.getTypeId(), request.getProperties(), companyHomeId); - - // assertNotNull(response); - } - public void testCreateRelationship() throws Exception { // TODO: uncomment @@ -360,15 +328,13 @@ public class DMObjectServiceTest extends AbstractServiceTest try { + @SuppressWarnings("unused") CmisContentStreamType result = ((ObjectServicePort) servicePort).getContentStream(repositoryId, documentId); - } - catch (StorageException e) - { + fail("Content stream was not deleted"); } catch (Exception e) { - e.printStackTrace(); // org.alfresco.repo.cmis.ws.StorageException: The specified Document has no Content Stream - fail(e.getMessage()); + } // on content update and on content delete new version should be created @@ -390,36 +356,29 @@ public class DMObjectServiceTest extends AbstractServiceTest // • If the object is the Root Folder, throw OperationNotSupportedException. documentName = "Test cmis document (" + System.currentTimeMillis() + ")"; + @SuppressWarnings("unused") String documentId = helper.createDocument(documentName, folderId); - // Try to delere folder with child + // Try to delete folder with child try { ((ObjectServicePort) servicePort).deleteObject(repositoryId, folderId); fail("Try to delere folder with child"); } - catch (ConstraintViolationException e) + catch (CmisException e) { - } - catch (Exception e) - { - e.printStackTrace(); - fail(e.getClass().getName() + ": " + e.getMessage()); + assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.CONSTRAINT)); } - // Try to delere root folder + // Try to delete root folder try { ((ObjectServicePort) servicePort).deleteObject(repositoryId, helper.getCompanyHomeId(repositoryId)); fail("Try to delere root folder"); } - catch (OperationNotSupportedException e) + catch (CmisException e) { - } - catch (Exception e) - { - e.printStackTrace();// org.alfresco.repo.cmis.ws.ConstraintViolationException: Could not delete folder with at least one Child - fail(e.getClass().getName() + ": " + e.getMessage()); + assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.NOT_SUPPORTED)); } } @@ -467,57 +426,34 @@ public class DMObjectServiceTest extends AbstractServiceTest helper.deleteFolder(folderId1); - /* - // on DELETESINGLEFILED deletes only relationships and folder. Primary parent folder and contend should not be deleted - folderName = "Test Cmis Folder (" + System.currentTimeMillis() + ")"; - folderId1 = helper.createFolder(folderName, folderId); - - folderName = "Test Cmis Folder (" + System.currentTimeMillis() + ")"; - folderId2 = helper.createFolder(folderName, companyHomeId); - - documentName = "Test cmis document (" + System.currentTimeMillis() + ")"; - documentId2 = helper.createDocument(documentName, folderId2); - - String relationshipId = createRelationship("test relashionship", folderId1, documentId2); - - response = ((ObjectServicePort) servicePort).deleteTree(repositoryId, folderId1, EnumUnfileNonfolderObjects.DELETESINGLEFILED, true); - assertNotNull("DELETESINGLEFILED", response); - - assertNull("DELETESINGLEFILED", helper.getObjectProperties(folderId1)); - assertNull("DELETESINGLEFILED", helper.getObjectProperties(relationshipId)); - - assertNotNull("DELETESINGLEFILED", helper.getObjectProperties(folderId2)); - assertNotNull("DELETESINGLEFILED", helper.getObjectProperties(documentId2)); - - deleteFolder(folderId2); - - // response = ((ObjectServicePort) servicePort).deleteTree(repositoryId, folderId, EnumUnfileNonfolderObjects.UNFILE, true); - // assertNotNull("UNFILE", response); - // - // assertNull(getObjectProperties(folderId)); - - // deleteFolder(folderId); - * - */ + /* + * // on DELETESINGLEFILED deletes only relationships and folder. Primary parent folder and contend should not be deleted folderName = "Test Cmis Folder (" + + * System.currentTimeMillis() + ")"; folderId1 = helper.createFolder(folderName, folderId); folderName = "Test Cmis Folder (" + System.currentTimeMillis() + ")"; folderId2 = + * helper.createFolder(folderName, companyHomeId); documentName = "Test cmis document (" + System.currentTimeMillis() + ")"; documentId2 = + * helper.createDocument(documentName, folderId2); String relationshipId = createRelationship("test relashionship", folderId1, documentId2); response = ((ObjectServicePort) + * servicePort).deleteTree(repositoryId, folderId1, EnumUnfileNonfolderObjects.DELETESINGLEFILED, true); assertNotNull("DELETESINGLEFILED", response); + * assertNull("DELETESINGLEFILED", helper.getObjectProperties(folderId1)); assertNull("DELETESINGLEFILED", helper.getObjectProperties(relationshipId)); + * assertNotNull("DELETESINGLEFILED", helper.getObjectProperties(folderId2)); assertNotNull("DELETESINGLEFILED", helper.getObjectProperties(documentId2)); + * deleteFolder(folderId2); // response = ((ObjectServicePort) servicePort).deleteTree(repositoryId, folderId, EnumUnfileNonfolderObjects.UNFILE, true); // + * assertNotNull("UNFILE", response); // // assertNull(getObjectProperties(folderId)); // deleteFolder(folderId); + */ } public void testDeleteTree_Exceptions() throws Exception { - // Try to delere root folder + // Try to delete root folder try { + @SuppressWarnings("unused") DeleteTreeResponse.FailedToDelete response = ((ObjectServicePort) servicePort).deleteTree(repositoryId, helper.getCompanyHomeId(repositoryId), EnumUnfileNonfolderObjects.DELETE, true); fail("Try to delere root folder"); } - catch (OperationNotSupportedException e) + catch (CmisException e) { + assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.NOT_SUPPORTED)); } - catch (Exception e) - { - e.printStackTrace(); - fail(e.getMessage()); - } + } public void testGetAllowableActions() throws Exception @@ -567,15 +503,11 @@ public class DMObjectServiceTest extends AbstractServiceTest ((ObjectServicePort) servicePort).moveObject(repositoryId, documentId, folderId, null); fail("sourceFolderId is not specified - should throw InvalidArgumentException"); } - catch (InvalidArgumentException e) + catch (CmisException e) { + assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.INVALID_ARGUMENT)); + } - } - catch (Exception e) - { - e.printStackTrace(); - fail(e.getClass().getName() + ": " + e.getMessage()); - } } public void testSetContentStream() throws Exception @@ -633,14 +565,9 @@ public class DMObjectServiceTest extends AbstractServiceTest ((ObjectServicePort) servicePort).setContentStream(repositoryId, new Holder(documentId), false, contentStream); fail("ContentAlreadyExists should be thrown"); } - catch (ContentAlreadyExistsException e) + catch (CmisException e) { - - } - catch (Exception e) - { - e.printStackTrace(); - fail(e.getMessage()); + assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.CONTENT_ALREADY_EXISTS)); } // now we can not set any property (beside name) when we create new document - so this case not working @@ -654,15 +581,11 @@ public class DMObjectServiceTest extends AbstractServiceTest ((ObjectServicePort) servicePort).setContentStream(repositoryId, new Holder(documentId), true, contentStream); fail("ConstraintViolationException should be thrown"); } - catch (ConstraintViolationException e) + catch (CmisException e) { + assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.CONSTRAINT)); + } - } - catch (Exception e) - { - e.printStackTrace(); - fail(e.getMessage()); - } } } @@ -677,7 +600,7 @@ public class DMObjectServiceTest extends AbstractServiceTest List propertiesList = properties.getProperty(); CmisPropertyString cmisProperty = new CmisPropertyString(); cmisProperty.setName(CMISDictionaryModel.PROP_NAME); - cmisProperty.setValue(newName); + cmisProperty.getValue().add(newName); propertiesList.add(cmisProperty); // public void updateProperties(String repositoryId, Holder objectId, String changeToken, CmisPropertiesType properties) @@ -697,7 +620,7 @@ public class DMObjectServiceTest extends AbstractServiceTest List propertiesList = properties.getProperty(); CmisPropertyString cmisProperty = new CmisPropertyString(); cmisProperty.setName(CMISDictionaryModel.PROP_OBJECT_ID); - cmisProperty.setValue("new id value"); + cmisProperty.getValue().add("new id value"); propertiesList.add(cmisProperty); try @@ -706,14 +629,9 @@ public class DMObjectServiceTest extends AbstractServiceTest ((ObjectServicePort) servicePort).updateProperties(repositoryId, new Holder(documentId), new String(""), properties); fail("should not update read only propery"); } - catch (ConstraintViolationException e) + catch (CmisException e) { - - } - catch (Exception e) - { - e.printStackTrace(); - fail(e.getMessage()); + assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.CONSTRAINT)); } } } \ No newline at end of file diff --git a/source/test/java/org/alfresco/repo/cmis/ws/DMPolicyServiceTest.java b/source/test/java/org/alfresco/repo/cmis/ws/DMPolicyServiceTest.java index 230646684b..d39a0cee6c 100755 --- a/source/test/java/org/alfresco/repo/cmis/ws/DMPolicyServiceTest.java +++ b/source/test/java/org/alfresco/repo/cmis/ws/DMPolicyServiceTest.java @@ -34,7 +34,7 @@ public class DMPolicyServiceTest extends AbstractServiceTest { public final static String SERVICE_WSDL_LOCATION = CmisServiceTestHelper.ALFRESCO_URL + "/cmis/PolicyService?wsdl"; - public final static QName SERVICE_NAME = new QName("http://www.cmis.org/ns/1.0", "PolicyServicePort"); + public final static QName SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "PolicyServicePort"); public DMPolicyServiceTest() { @@ -66,44 +66,44 @@ public class DMPolicyServiceTest extends AbstractServiceTest public void testApplyPolicy() throws Exception { - String documentId = helper.createDocument("Test cmis document (" + System.currentTimeMillis() + ")", companyHomeId); - assertNotNull(documentId); - ((PolicyServicePort) servicePort).applyPolicy(repositoryId, "policyId", documentId); // TODO policyId - helper.deleteDocument(documentId); + try + { + ((PolicyServicePort) servicePort).applyPolicy(repositoryId, "policyId", documentId); + } + catch (CmisException e) + { + assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.NOT_SUPPORTED)); + } } public void testGetAppliedPolicies() throws Exception { - String documentId = helper.createDocument("Test cmis document (" + System.currentTimeMillis() + ")", companyHomeId); - assertNotNull(documentId); + try + { - GetAppliedPolicies request = new GetAppliedPolicies(); - request.setRepositoryId(repositoryId); - request.setObjectId(documentId); - request.setFilter(cmisObjectFactory.createGetAppliedPoliciesFilter("")); // TODO - GetAppliedPoliciesResponse response = ((PolicyServicePort) servicePort).getAppliedPolicies(request); + GetAppliedPolicies request = new GetAppliedPolicies(); + request.setRepositoryId(repositoryId); + request.setObjectId(documentId); + request.setFilter(cmisObjectFactory.createGetAppliedPoliciesFilter("")); + @SuppressWarnings("unused") + GetAppliedPoliciesResponse response = ((PolicyServicePort) servicePort).getAppliedPolicies(request); - // TODO: Uncomment - // assertNotNull(response); - // assertNotNull(response.getObject()); - // if (!response.getObject().isEmpty()) - // { - // for (CmisObjectType object : response.getObject()) - // { - // assertNotNull(object.getProperties()); - // } - // } - - helper.deleteDocument(documentId); + } + catch (CmisException e) + { + assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.NOT_SUPPORTED)); + } } public void testRemovePolicy() throws Exception { - String documentId = helper.createDocument("Test cmis document (" + System.currentTimeMillis() + ")", companyHomeId); - assertNotNull(documentId); - - ((PolicyServicePort) servicePort).removePolicy(repositoryId, "policyId", documentId); // TODO policyId - - helper.deleteDocument(documentId); + try + { + ((PolicyServicePort) servicePort).removePolicy(repositoryId, "policyId", documentId); // TODO policyId + } + catch (CmisException e) + { + assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.NOT_SUPPORTED)); + } } } diff --git a/source/test/java/org/alfresco/repo/cmis/ws/DMRelationshipServiceTest.java b/source/test/java/org/alfresco/repo/cmis/ws/DMRelationshipServiceTest.java index 3d24d57cd0..5f30c2c6c8 100755 --- a/source/test/java/org/alfresco/repo/cmis/ws/DMRelationshipServiceTest.java +++ b/source/test/java/org/alfresco/repo/cmis/ws/DMRelationshipServiceTest.java @@ -24,21 +24,19 @@ */ package org.alfresco.repo.cmis.ws; -import java.math.BigInteger; import java.net.MalformedURLException; import java.net.URL; import javax.xml.namespace.QName; import javax.xml.ws.Service; -import org.alfresco.cmis.mapping.CMISMapping; - public class DMRelationshipServiceTest extends AbstractServiceTest { public final static String SERVICE_WSDL_LOCATION = CmisServiceTestHelper.ALFRESCO_URL + "/cmis/RelationshipService?wsdl"; - public final static QName SERVICE_NAME = new QName("http://www.cmis.org/ns/1.0", "RelationshipService"); + public final static QName SERVICE_NAME = new QName("http://docs.oasis-open.org/ns/cmis/ws/200901", "RelationshipService"); + @SuppressWarnings("unused") private String relationshipId; private String document2Id; diff --git a/source/test/java/org/alfresco/repo/cmis/ws/DMRepositoryServiceTest.java b/source/test/java/org/alfresco/repo/cmis/ws/DMRepositoryServiceTest.java index 5756449f8b..043374eb1d 100644 --- a/source/test/java/org/alfresco/repo/cmis/ws/DMRepositoryServiceTest.java +++ b/source/test/java/org/alfresco/repo/cmis/ws/DMRepositoryServiceTest.java @@ -27,6 +27,8 @@ package org.alfresco.repo.cmis.ws; import java.math.BigInteger; import java.util.List; +import javax.xml.ws.Holder; + public class DMRepositoryServiceTest extends AbstractServiceTest { public final static String TYPE_ID = "D/wcm_avmlayeredcontent"; @@ -50,7 +52,7 @@ public class DMRepositoryServiceTest extends AbstractServiceTest { List repositories = ((RepositoryServicePort) servicePort).getRepositories(); assertTrue(repositories.size() == 1); - assertFalse(repositories.get(0).getRepositoryID() == null); + assertFalse(repositories.get(0).getRepositoryId() == null); assertFalse(repositories.get(0).getRepositoryName() == null); } @@ -58,10 +60,10 @@ public class DMRepositoryServiceTest extends AbstractServiceTest { List repositories = ((RepositoryServicePort) servicePort).getRepositories(); GetRepositoryInfo parameters = new GetRepositoryInfo(); - parameters.setRepositoryId(repositories.get(0).getRepositoryID()); - CmisRepositoryInfoType cmisRepositoryInfoType = ((RepositoryServicePort) servicePort).getRepositoryInfo(parameters); + parameters.setRepositoryId(repositories.get(0).getRepositoryId()); + CmisRepositoryInfoType cmisRepositoryInfoType = ((RepositoryServicePort) servicePort).getRepositoryInfo(repositoryId); - assertTrue(cmisRepositoryInfoType.getRepositoryId().equals(repositories.get(0).getRepositoryID())); + assertTrue(cmisRepositoryInfoType.getRepositoryId().equals(repositories.get(0).getRepositoryId())); assertTrue(cmisRepositoryInfoType.getRepositoryName().equals(repositories.get(0).getRepositoryName())); CmisRepositoryCapabilitiesType capabilities = cmisRepositoryInfoType.getCapabilities(); assertTrue(capabilities.isCapabilityMultifiling() && capabilities.isCapabilityPWCUpdateable()); @@ -71,26 +73,22 @@ public class DMRepositoryServiceTest extends AbstractServiceTest public void testGetTypes() throws Exception { GetTypes request = new GetTypes(); - request.setMaxItems(cmisObjectFactory.createGetTypesMaxItems(BigInteger.valueOf(0))); - request.setSkipCount(cmisObjectFactory.createGetTypesMaxItems(BigInteger.valueOf(0))); + BigInteger maxItems = BigInteger.valueOf(0); + BigInteger skipItems = BigInteger.valueOf(0); request.setRepositoryId(repositoryId); - request.setReturnPropertyDefinitions(cmisObjectFactory.createGetTypesReturnPropertyDefinitions(Boolean.FALSE)); - GetTypesResponse response = ((RepositoryServicePort) servicePort).getTypes(request); - assertNotNull(response.getType()); - assertFalse(response.getType().isEmpty()); - CmisTypeDefinitionType element = response.getType().get(0).getValue(); + request.setIncludePropertyDefinitions(cmisObjectFactory.createGetTypesIncludePropertyDefinitions(Boolean.FALSE)); + Holder> typeHolder = new Holder>(); + Holder hasMoreElementsHolder = new Holder(); + ((RepositoryServicePort) servicePort).getTypes(repositoryId, "", Boolean.FALSE, maxItems, skipItems, typeHolder, hasMoreElementsHolder); + assertNotNull(typeHolder.value); + assertFalse(typeHolder.value.isEmpty()); + CmisTypeDefinitionType element = typeHolder.value.get(0); assertNotNull(element); } public void testGetTypeDefinition() throws Exception { - GetTypeDefinition request = new GetTypeDefinition(); - request.setRepositoryId(repositoryId); - request.setTypeId(TYPE_ID); - GetTypeDefinitionResponse response = ((RepositoryServicePort) servicePort).getTypeDefinition(request); - assertNotNull(response); - assertNotNull(response.getType()); - CmisTypeDefinitionType element = response.getType().getValue(); - assertNotNull(element); + CmisTypeDefinitionType type = ((RepositoryServicePort) servicePort).getTypeDefinition(repositoryId, TYPE_ID); + assertNotNull(type); } } diff --git a/source/test/java/org/alfresco/repo/cmis/ws/DMVersioningServiceTest.java b/source/test/java/org/alfresco/repo/cmis/ws/DMVersioningServiceTest.java index 1af282f725..464e208041 100755 --- a/source/test/java/org/alfresco/repo/cmis/ws/DMVersioningServiceTest.java +++ b/source/test/java/org/alfresco/repo/cmis/ws/DMVersioningServiceTest.java @@ -126,9 +126,9 @@ public class DMVersioningServiceTest extends AbstractServiceTest fail("Expects exception"); } - catch (Throwable e) + catch (CmisException e) { - assertTrue(e instanceof OperationNotSupportedException); + assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.NOT_SUPPORTED)); } } @@ -141,9 +141,9 @@ public class DMVersioningServiceTest extends AbstractServiceTest fail("Expects exception"); } - catch (Throwable e) + catch (CmisException e) { - assertTrue(e instanceof OperationNotSupportedException); + assertTrue(e.getFaultInfo().getType().equals(EnumServiceException.NOT_SUPPORTED)); } } @@ -210,7 +210,7 @@ public class DMVersioningServiceTest extends AbstractServiceTest request.setVersionSeriesId(documentId); request.setFilter(cmisObjectFactory.createGetAllVersionsFilter("*")); request.setIncludeAllowableActions(cmisObjectFactory.createGetAllVersionsIncludeAllowableActions(Boolean.FALSE)); - request.setIncludeRelationships(cmisObjectFactory.createGetAllVersionsIncludeRelationships(Boolean.FALSE)); + request.setIncludeRelationships(cmisObjectFactory.createGetAllVersionsIncludeRelationships(EnumIncludeRelationships.NONE)); GetAllVersionsResponse response = ((VersioningServicePort) servicePort).getAllVersions(request); assertNotNull(response); @@ -226,7 +226,7 @@ public class DMVersioningServiceTest extends AbstractServiceTest request.setVersionSeriesId(documentId); request.setFilter(cmisObjectFactory.createGetAllVersionsFilter("*")); request.setIncludeAllowableActions(cmisObjectFactory.createGetAllVersionsIncludeAllowableActions(Boolean.FALSE)); - request.setIncludeRelationships(cmisObjectFactory.createGetAllVersionsIncludeRelationships(Boolean.FALSE)); + request.setIncludeRelationships(cmisObjectFactory.createGetAllVersionsIncludeRelationships(EnumIncludeRelationships.NONE)); GetAllVersionsResponse response = ((VersioningServicePort) servicePort).getAllVersions(request); assertNotNull(response); @@ -247,7 +247,7 @@ public class DMVersioningServiceTest extends AbstractServiceTest request.setVersionSeriesId(documentId); request.setFilter(cmisObjectFactory.createGetAllVersionsFilter("*")); request.setIncludeAllowableActions(cmisObjectFactory.createGetAllVersionsIncludeAllowableActions(Boolean.FALSE)); - request.setIncludeRelationships(cmisObjectFactory.createGetAllVersionsIncludeRelationships(Boolean.FALSE)); + request.setIncludeRelationships(cmisObjectFactory.createGetAllVersionsIncludeRelationships(EnumIncludeRelationships.NONE)); GetAllVersionsResponse response = ((VersioningServicePort) servicePort).getAllVersions(request); assertNotNull(response);