From 3f4da1face33fff7cc85bf766bd9b6a33d2cf12a Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Thu, 18 Sep 2014 17:13:46 +0000 Subject: [PATCH] Merged HEAD-BUG-FIX (5.0/Cloud) to HEAD (5.0/Cloud) 83757: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0/Cloud) << Bringing back the commit just reverted. Needed to revert another commit 80358 which changed pom.xml files to include the correct versions of external libs including open cmiss 0.11 >> 80966: Revere merged HEAD-BUG-FIX (5.0/Cloud) << Take out all OpenCMIS changes merged to HEAD-BUG-FIX that have come from V4.2-BUG-FIX >> 80355: Reverse Merge HEAD-BUG-FIX (5.0/Cloud) << And added alfresco-opencmis-extension 1.0 >> 79170: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0/Cloud) << Commit is actually a reverse merge of the original merges from V4.2-BUG-FIX 79113,79128 rather than the changes from V4.2-BUG-FIX >> 79166: Reverse merged V4.2-BUG-FIX (4.2.4) << Need a new version of alfresco-opencmis-extension as 0.9 is incompatible with OpenCMIS 0.11.0 and Steve is on holiday for a week. >> << The original commits are already merged to HBF for ACE-484 so will revert them too. >> 79070: Merged DEV to V4.2-BUG-FIX (4.2.4) 67851: MNT-11223 : Upgrade OpenCMIS library to 0.11.0 on 4.2 code line Updated OpenCMIS to 0.11 version. 79120: MNT-11223: Merged V4.1-BUG-FIX (4.1.10) to V4.2-BUG-FIX (4.2.4) 79117: MNT-11596 Fix dependencies declared in pom files after upgrade of OpenCMIS to 0.11.0, and all related upgrades 80358: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0/Cloud) 79166: Reverse merged V4.2-BUG-FIX (4.2.4) << Need a new version of alfresco-opencmis-extension as 0.9 is incompatible with OpenCMIS 0.11.0 and Steve is on holiday for a week. >> << The original commits are already merged to HBF for ACE-484 so will revert them too. >> 79070: Merged DEV to V4.2-BUG-FIX (4.2.4) 67851: MNT-11223 : Upgrade OpenCMIS library to 0.11.0 on 4.2 code line Updated OpenCMIS to 0.11 version. 79120: MNT-11223: Merged V4.1-BUG-FIX (4.1.10) to V4.2-BUG-FIX (4.2.4) 79117: MNT-11596 Fix dependencies declared in pom files after upgrade of OpenCMIS to 0.11.0, and all related upgrades 80365: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0/Cloud) 80356: MNT-11223 : Upgrade OpenCMIS library to 0.11.0 on 4.2 code line - Commit missed delete of old alfresco-opencmis-extension-0.9 sources/javadoc 80366: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0/Cloud) 80337: MNT-11223 follow-up: bring back test dependencies in web-framework-commons pom, to make the Maven build pass again 80814: MNT-11223: Fix build (pt1) - 80366: pom.xml contained a reference to an external surf which is now back in house. 80858: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0/Cloud) 80373: MNT-11223 : Upgrade OpenCMIS library to 0.11.0 on 4.2 code line - Found another reference to version 0.9 rather than 1.0 of alfresco-opencmis-extensions 80861: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0/Cloud) 80397: MNT-11223 : Upgrade OpenCMIS library to 0.11.0 on 4.2 code line Fixed TestCMIS.testMNT10430. Excluded sys:localized aspect from returned set in CMIS. 80865: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0/Cloud) 80840: MNT-11223 : Upgrade OpenCMIS library to 0.11.0 on 4.2 code line Fix for CMISTCKCRUD test. Added special handling of content stream file name property via accessor. 80866: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0/Cloud) 80841: MNT-11223 : Upgrade OpenCMIS library to 0.11.0 on 4.2 code line Changed Solr to Lucene for tests. 83745: Reverse Merge HEAD-BUG-FIX (5.0/Cloud) 83699: ACE-484: Merged V4.2-BUG-FIX (4.2.4) to HEAD-BUG-FIX (5.0/Cloud) VIA EOL 81016: MNT-11223 : Upgrade OpenCMIS library to 0.11.0 on 4.2 code line Fixed TestCMIS to check for secondary types list to be null. 81017: MNT-11223 : Upgrade OpenCMIS library to 0.11.0 on 4.2 code line Disabled assert for tests run by maven. 82255: Merged V4.2-BUG-FIX (4.2.4) to EOL (5.0/Cloud) 82252: MNT-11223 : Upgrade OpenCMIS library to 0.11.0 on 4.2 code line Disabled QueryRootFolderTest. - RECORD ONLY merge from V4.2-BUG-FIX extra commits not required on HEAD-BUG-FIX: 80373,80397,80840-80841,81707,81741,82245 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@84575 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- pom.xml | 6 +- .../org/alfresco/opencmis/CMISConnector.java | 8 +-- .../ContentStreamFileNameProperty.java | 56 +++++++++++++++++++ .../RuntimePropertyAccessorMapping.java | 3 +- 4 files changed, 65 insertions(+), 8 deletions(-) create mode 100644 source/java/org/alfresco/opencmis/mapping/ContentStreamFileNameProperty.java diff --git a/pom.xml b/pom.xml index 0c7d1f84fe..84d95c4435 100644 --- a/pom.xml +++ b/pom.xml @@ -274,12 +274,10 @@ org.slf4j slf4j-api - 1.5.11 org.slf4j slf4j-log4j12 - 1.5.11 org.beanshell @@ -392,6 +390,10 @@ woodstox wstx-asl + + org.codehaus.woodstox + wstx-asl + diff --git a/source/java/org/alfresco/opencmis/CMISConnector.java b/source/java/org/alfresco/opencmis/CMISConnector.java index a9a119a825..fdc30cc5ac 100644 --- a/source/java/org/alfresco/opencmis/CMISConnector.java +++ b/source/java/org/alfresco/opencmis/CMISConnector.java @@ -3962,17 +3962,17 @@ public class CMISConnector implements ApplicationContextAware, ApplicationListen PermissionDefinitionDataImpl cmisPermission; cmisPermission = new PermissionDefinitionDataImpl(); - cmisPermission.setPermission(BasicPermissions.READ); + cmisPermission.setId(BasicPermissions.READ); cmisPermission.setDescription("CMIS Read"); result.add(cmisPermission); cmisPermission = new PermissionDefinitionDataImpl(); - cmisPermission.setPermission(BasicPermissions.WRITE); + cmisPermission.setId(BasicPermissions.WRITE); cmisPermission.setDescription("CMIS Write"); result.add(cmisPermission); cmisPermission = new PermissionDefinitionDataImpl(); - cmisPermission.setPermission(BasicPermissions.ALL); + cmisPermission.setId(BasicPermissions.ALL); cmisPermission.setDescription("CMIS All"); result.add(cmisPermission); @@ -3982,7 +3982,7 @@ public class CMISConnector implements ApplicationContextAware, ApplicationListen private PermissionDefinition createPermissionDefinition(PermissionReference pr) { PermissionDefinitionDataImpl permission = new PermissionDefinitionDataImpl(); - permission.setPermission(pr.getQName().toString() + "." + pr.getName()); + permission.setId(pr.getQName().toString() + "." + pr.getName()); permission.setDescription(permission.getId()); return permission; diff --git a/source/java/org/alfresco/opencmis/mapping/ContentStreamFileNameProperty.java b/source/java/org/alfresco/opencmis/mapping/ContentStreamFileNameProperty.java new file mode 100644 index 0000000000..81ec3b2ac2 --- /dev/null +++ b/source/java/org/alfresco/opencmis/mapping/ContentStreamFileNameProperty.java @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2005-2014 Alfresco Software Limited. + * + * This file is part of Alfresco + * + * Alfresco is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Alfresco is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Alfresco. If not, see . + */ +package org.alfresco.opencmis.mapping; + +import java.io.Serializable; + +import org.alfresco.model.ContentModel; +import org.alfresco.opencmis.CMISConnector; +import org.alfresco.opencmis.dictionary.CMISNodeInfo; +import org.alfresco.service.ServiceRegistry; +import org.alfresco.service.cmr.repository.ContentData; +import org.apache.chemistry.opencmis.commons.PropertyIds; + +/** + * Accessor for CMIS content stream filename property + * + * @author alex.mukha + * @since 4.2.4 + */ +public class ContentStreamFileNameProperty extends DirectProperty +{ + public ContentStreamFileNameProperty(ServiceRegistry serviceRegistry, CMISConnector connector) + { + super(serviceRegistry, connector, PropertyIds.CONTENT_STREAM_FILE_NAME, ContentModel.PROP_NAME); + } + + @Override + public Serializable getValueInternal(CMISNodeInfo nodeInfo) + { + ContentData contentData = getContentData(nodeInfo); + if (contentData != null && contentData.getSize() > 0) + { + return super.getValueInternal(nodeInfo); + } + else + { + return null; + } + } +} diff --git a/source/java/org/alfresco/opencmis/mapping/RuntimePropertyAccessorMapping.java b/source/java/org/alfresco/opencmis/mapping/RuntimePropertyAccessorMapping.java index 41b1bcab89..67389a97b0 100644 --- a/source/java/org/alfresco/opencmis/mapping/RuntimePropertyAccessorMapping.java +++ b/source/java/org/alfresco/opencmis/mapping/RuntimePropertyAccessorMapping.java @@ -134,8 +134,7 @@ public class RuntimePropertyAccessorMapping implements PropertyAccessorMapping, registerPropertyAccessor(new ContentStreamLengthProperty(serviceRegistry, cmisConnector)); registerPropertyAccessor(new ContentStreamMimetypeProperty(serviceRegistry, cmisConnector)); registerPropertyAccessor(new ContentStreamIdProperty(serviceRegistry, cmisConnector)); - registerPropertyAccessor(new DirectProperty(serviceRegistry, cmisConnector, - PropertyIds.CONTENT_STREAM_FILE_NAME, ContentModel.PROP_NAME)); + registerPropertyAccessor(new ContentStreamFileNameProperty(serviceRegistry, cmisConnector)); registerPropertyAccessor(new ParentProperty(serviceRegistry, cmisConnector)); registerPropertyAccessor(new PathProperty(serviceRegistry, cmisConnector)); registerPropertyAccessor(new AllowedChildObjectTypeIdsProperty(serviceRegistry, cmisConnector, cmisMapping));