Merge branch 'develop' into feature/REPO-2626_HB2.0

This commit is contained in:
Ancuta Morarasu
2017-09-14 10:41:43 +03:00
9 changed files with 116 additions and 53 deletions

3
.gitignore vendored
View File

@@ -32,3 +32,6 @@ target
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid* hs_err_pid*
alf_data
/src/main/resources/alfresco-global.properties
/src/main/resources/alfresco/extension/custom-log4j.properties

View File

@@ -40,7 +40,7 @@
<dependency.alfresco-mbeans.version>6.0</dependency.alfresco-mbeans.version> <dependency.alfresco-mbeans.version>6.0</dependency.alfresco-mbeans.version>
<dependency.alfresco-core.version>6.13</dependency.alfresco-core.version> <dependency.alfresco-core.version>6.13</dependency.alfresco-core.version>
<dependency.alfresco-greenmail.version>6.0</dependency.alfresco-greenmail.version> <dependency.alfresco-greenmail.version>6.0</dependency.alfresco-greenmail.version>
<dependency.alfresco-data-model.version>6.17</dependency.alfresco-data-model.version> <dependency.alfresco-data-model.version>6.18</dependency.alfresco-data-model.version>
<dependency.alfresco-jlan.version>6.3</dependency.alfresco-jlan.version> <dependency.alfresco-jlan.version>6.3</dependency.alfresco-jlan.version>
<dependency.alfresco-pdf-renderer.version>1.0</dependency.alfresco-pdf-renderer.version> <dependency.alfresco-pdf-renderer.version>1.0</dependency.alfresco-pdf-renderer.version>

View File

@@ -1283,11 +1283,6 @@ public class AlfrescoCmisServiceImpl extends AbstractCmisService implements Alfr
throw new CmisConstraintException("This document type does requires content!"); throw new CmisConstraintException("This document type does requires content!");
} }
if (docType.isVersionable() && (versioningState == VersioningState.NONE))
{
throw new CmisConstraintException("This document type is versionable!");
}
if (!docType.isVersionable() && (versioningState != VersioningState.NONE)) if (!docType.isVersionable() && (versioningState != VersioningState.NONE))
{ {
throw new CmisConstraintException("This document type is not versionable!"); throw new CmisConstraintException("This document type is not versionable!");

View File

@@ -29,7 +29,6 @@
# #
#img.coders=${img.root}/modules/coders #img.coders=${img.root}/modules/coders
#img.config=${img.root}/config #img.config=${img.root}/config
#img.gslib=${img.root}/lib
# #
# Property to control whether schema updates are performed automatically. # Property to control whether schema updates are performed automatically.
@@ -69,16 +68,16 @@
#db.url=jdbc:postgresql://localhost:5432/alfresco #db.url=jdbc:postgresql://localhost:5432/alfresco
# #
# DB2 connection # DB2 connection
# #
#db.driver=com.ibm.db2.jcc.DB2Driver #db.driver=com.ibm.db2.jcc.DB2Driver
#db.url=jdbc:db2://localhost:50000/alfresco:retrieveMessagesFromServerOnGetMessage=true; #db.url=jdbc:db2://localhost:50000/alfresco:retrieveMessagesFromServerOnGetMessage=true;
# #
# When schema is used which does not match DB2 username then currentSchema and hibernate.default_schema should be set # When schema is used which does not match DB2 username then currentSchema and hibernate.default_schema should be set
#db.url=jdbc:db2://localhost:50000/alfresco:retrieveMessagesFromServerOnGetMessage=true;currentSchema=${hibernate.default_schema}; #db.url=jdbc:db2://localhost:50000/alfresco:retrieveMessagesFromServerOnGetMessage=true;currentSchema=${hibernate.default_schema};
#hibernate.default_schema=SAMPLE_SCHEMA #hibernate.default_schema=SAMPLE_SCHEMA
# #
# Index Recovery Mode # Index Recovery Mode
#------------- #-------------
#index.recovery.mode=AUTO #index.recovery.mode=AUTO
@@ -142,11 +141,11 @@
#imap.server.port=143 #imap.server.port=143
#imap.server.host=localhost #imap.server.host=localhost
# Default value of alfresco.rmi.services.host is 0.0.0.0 which means 'listen on all adapters'. # Default value of alfresco.rmi.services.host is 0.0.0.0 which means 'listen on all adapters'.
# This allows connections to JMX both remotely and locally. # This allows connections to JMX both remotely and locally.
# #
alfresco.rmi.services.host=0.0.0.0 alfresco.rmi.services.host=0.0.0.0
# #
# #
# Assign individual ports for each service for best performance # Assign individual ports for each service for best performance

View File

@@ -20,7 +20,7 @@
</entry> </entry>
</map> </map>
</property> </property>
<property name="processProperties" ref="#{systemProperties['os.name'].contains('Windows') ? 'processPropertiesWindows' : 'processPropertiesUnix'}" /> <property name="processProperties" ref="#{systemProperties['os.name'].contains('Windows') ? 'transformer.worker.subsys.alfresco-pdf-renderer.processPropertiesWindows' : 'transformer.worker.subsys.alfresco-pdf-renderer.processPropertiesUnix'}" />
<property name="defaultProperties"> <property name="defaultProperties">
<props> <props>
<prop key="options"></prop> <prop key="options"></prop>
@@ -47,7 +47,7 @@
</property> </property>
</bean> </bean>
<bean id="processPropertiesWindows" class="org.springframework.beans.factory.config.MapFactoryBean"> <bean id="transformer.worker.subsys.alfresco-pdf-renderer.processPropertiesWindows" class="org.springframework.beans.factory.config.MapFactoryBean">
<property name="sourceMap"> <property name="sourceMap">
<map> <map>
<entry key="ALFRESCO-PDF-RENDERER_HOME"> <entry key="ALFRESCO-PDF-RENDERER_HOME">
@@ -57,7 +57,7 @@
</property> </property>
</bean> </bean>
<bean id="processPropertiesUnix" class="org.springframework.beans.factory.config.MapFactoryBean"> <bean id="transformer.worker.subsys.alfresco-pdf-renderer.processPropertiesUnix" class="org.springframework.beans.factory.config.MapFactoryBean">
<property name="sourceMap"> <property name="sourceMap">
<map> <map>
<entry key="ALFRESCO-PDF-RENDERER_HOME"> <entry key="ALFRESCO-PDF-RENDERER_HOME">

View File

@@ -22,7 +22,7 @@
</entry> </entry>
</map> </map>
</property> </property>
<property name="processProperties" ref="#{systemProperties['os.name'].contains('Windows') ? 'processPropertiesWindows' : 'processPropertiesUnix'}" /> <property name="processProperties" ref="#{systemProperties['os.name'].contains('Windows') ? 'transformer.worker.ImageMagick.processPropertiesWindows' : 'transformer.worker.ImageMagick.processPropertiesUnix'}" />
<property name="defaultProperties"> <property name="defaultProperties">
<props> <props>
<prop key="options"></prop> <prop key="options"></prop>
@@ -50,7 +50,7 @@
</property> </property>
</bean> </bean>
<bean id="processPropertiesWindows" class="org.springframework.beans.factory.config.MapFactoryBean"> <bean id="transformer.worker.ImageMagick.processPropertiesWindows" class="org.springframework.beans.factory.config.MapFactoryBean">
<property name="sourceMap"> <property name="sourceMap">
<map> <map>
<entry key="MAGICK_HOME"> <entry key="MAGICK_HOME">
@@ -62,9 +62,6 @@
<entry key="MAGICK_CONFIGURE_PATH"> <entry key="MAGICK_CONFIGURE_PATH">
<value>${img.config}</value> <value>${img.config}</value>
</entry> </entry>
<entry key="GS_LIB">
<value>${img.gslib}</value>
</entry>
<entry key="DYLD_FALLBACK_LIBRARY_PATH"> <entry key="DYLD_FALLBACK_LIBRARY_PATH">
<value>${img.dyn}</value> <value>${img.dyn}</value>
</entry> </entry>
@@ -75,7 +72,7 @@
</property> </property>
</bean> </bean>
<bean id="processPropertiesUnix" class="org.springframework.beans.factory.config.MapFactoryBean"> <bean id="transformer.worker.ImageMagick.processPropertiesUnix" class="org.springframework.beans.factory.config.MapFactoryBean">
<property name="sourceMap"> <property name="sourceMap">
<map> <map>
<entry key="MAGICK_HOME"> <entry key="MAGICK_HOME">

View File

@@ -4,4 +4,3 @@ img.dyn=${img.root}/lib
img.exe=${img.root}/bin/convert img.exe=${img.root}/bin/convert
img.coders=${img.root}/modules/coders img.coders=${img.root}/modules/coders
img.config=${img.root}/config img.config=${img.root}/config
img.gslib=

View File

@@ -3668,6 +3668,64 @@ public class CMISTest
AuthenticationUtil.popAuthentication(); AuthenticationUtil.popAuthentication();
} }
} }
@Test
public void testCreateDocWithVersioningStateNone() throws Exception
{
AuthenticationUtil.pushAuthentication();
AuthenticationUtil.setFullyAuthenticatedUser(AuthenticationUtil.getAdminUserName());
try
{
// get repository id
final String repositoryId = withCmisService(new CmisServiceCallback<String>()
{
@Override
public String execute(CmisService cmisService)
{
List<RepositoryInfo> repositories = cmisService.getRepositoryInfos(null);
assertTrue(repositories.size() > 0);
RepositoryInfo repo = repositories.get(0);
final String repositoryId = repo.getId();
return repositoryId;
}
}, CmisVersion.CMIS_1_1);
final NodeRef documentNodeRef = withCmisService(new CmisServiceCallback<NodeRef>()
{
@Override
public NodeRef execute(CmisService cmisService)
{
final PropertiesImpl properties = new PropertiesImpl();
String objectTypeId = "cmis:document";
properties.addProperty(new PropertyIdImpl(PropertyIds.OBJECT_TYPE_ID, objectTypeId));
String fileName = "textFile" + GUID.generate();
properties.addProperty(new PropertyStringImpl(PropertyIds.NAME, fileName));
final ContentStreamImpl contentStream = new ContentStreamImpl(fileName, MimetypeMap.MIMETYPE_TEXT_PLAIN, "Simple text plain document");
String nodeId = cmisService.create(repositoryId, properties, repositoryHelper.getCompanyHome().getId(), contentStream, VersioningState.NONE, null, null);
return new NodeRef(nodeId.substring(0, nodeId.indexOf(';')));
}
}, CmisVersion.CMIS_1_1);
// check versioning properties
transactionService.getRetryingTransactionHelper().doInTransaction(new RetryingTransactionCallback<List<Void>>()
{
@Override
public List<Void> execute() throws Throwable
{
assertTrue(nodeService.exists(documentNodeRef));
assertFalse(nodeService.hasAspect(documentNodeRef, ContentModel.ASPECT_VERSIONABLE));
return null;
}
});
}
finally
{
AuthenticationUtil.popAuthentication();
}
}
/** /**
* MNT-14951: Test that the list of parents can be retrieved for a folder. * MNT-14951: Test that the list of parents can be retrieved for a folder.

View File

@@ -1,28 +1,28 @@
/* /*
* #%L * #%L
* Alfresco Repository * Alfresco Repository
* %% * %%
* Copyright (C) 2005 - 2016 Alfresco Software Limited * Copyright (C) 2005 - 2016 Alfresco Software Limited
* %% * %%
* This file is part of the Alfresco software. * This file is part of the Alfresco software.
* If the software was purchased under a paid Alfresco license, the terms of * If the software was purchased under a paid Alfresco license, the terms of
* the paid license agreement will prevail. Otherwise, the software is * the paid license agreement will prevail. Otherwise, the software is
* provided under the following open source license terms: * provided under the following open source license terms:
* *
* Alfresco is free software: you can redistribute it and/or modify * 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 * 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 * the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* Alfresco is distributed in the hope that it will be useful, * Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details. * GNU Lesser General Public License for more details.
* *
* You should have received a copy of the GNU Lesser General Public License * You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>. * along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
* #L% * #L%
*/ */
package org.alfresco.repo.content.transform.magick; package org.alfresco.repo.content.transform.magick;
import java.io.File; import java.io.File;
@@ -120,12 +120,24 @@ public class ImageMagickContentTransformerTest extends AbstractContentTransforme
} }
} }
public void testGifToPng() throws Exception
{
ImageTransformationOptions options = new ImageTransformationOptions();
transform(MimetypeMap.MIMETYPE_IMAGE_GIF, MimetypeMap.MIMETYPE_IMAGE_PNG, options);
}
public void testJpegToPng() throws Exception
{
ImageTransformationOptions options = new ImageTransformationOptions();
transform(MimetypeMap.MIMETYPE_IMAGE_JPEG, MimetypeMap.MIMETYPE_IMAGE_PNG, options);
}
public void testPageSourceOptions() throws Exception public void testPageSourceOptions() throws Exception
{ {
// Test empty source options // Test empty source options
ImageTransformationOptions options = new ImageTransformationOptions(); ImageTransformationOptions options = new ImageTransformationOptions();
this.transform(MimetypeMap.MIMETYPE_PDF, MimetypeMap.MIMETYPE_IMAGE_PNG, options); this.transform(MimetypeMap.MIMETYPE_PDF, MimetypeMap.MIMETYPE_IMAGE_PNG, options);
// Test first page // Test first page
options = new ImageTransformationOptions(); options = new ImageTransformationOptions();
List<TransformationSourceOptions> sourceOptionsList = new ArrayList<TransformationSourceOptions>(); List<TransformationSourceOptions> sourceOptionsList = new ArrayList<TransformationSourceOptions>();