Merged V3.2 to HEAD

16823: ETHREEOH-3028 -  Multivalue property does not allow deploy
    16827: ETHREEOH-2678 - Unfriendly system error occurs when trying to view Workflows information on content Details page if workflow was canceled
    16832: ALFCOM-3021 - Replace 3.1 POI with version 3.5
    16927: 15614 - ETHREEOH-2273 - FSR Prepare callback exception messages

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@16978 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Mark Rogers
2009-10-16 09:23:10 +00:00
parent f4e057c0af
commit 7df0bd8088
4 changed files with 41 additions and 12 deletions

View File

@@ -850,7 +850,7 @@ public class DeploymentServiceImpl implements DeploymentService
} }
catch (Exception e) catch (Exception e)
{ {
throw new AVMException("Could not connect to remote FSR, transportName:" + transportName + ", hostName:" + hostName + ", port: " + port, e); throw new AVMException("Could not connect to remote deployment receiver, transportName:" + transportName + ", hostName:" + hostName + ", port: " + port, e);
} }
} }

View File

@@ -687,13 +687,23 @@ public class PropertyValue implements Cloneable, Serializable
} }
else if (value instanceof Collection) else if (value instanceof Collection)
{ {
Collection collection = (Collection) value; if(typeQName != null)
ValueType collectionValueType = makeValueType(typeQName); {
// convert the collection values - we need to do this to ensure that the Collection collection = (Collection) value;
// values provided conform to the given type ValueType collectionValueType = makeValueType(typeQName);
ArrayList<Serializable> convertedCollection = collectionValueType.convert(collection); // convert the collection values - we need to do this to ensure that the
// the persisted type is, nonetheless, a serializable // values provided conform to the given type
setPersistedValue(ValueType.SERIALIZABLE, convertedCollection);
ArrayList<Serializable> convertedCollection = collectionValueType.convert(collection);
// the persisted type is, nonetheless, a serializable
setPersistedValue(ValueType.SERIALIZABLE, convertedCollection);
}
else
{
setPersistedValue(ValueType.SERIALIZABLE, value);
}
setMultiValued(true); setMultiValued(true);
} }
else else

View File

@@ -28,6 +28,9 @@ import java.util.List;
import org.alfresco.repo.processor.BaseProcessorExtension; import org.alfresco.repo.processor.BaseProcessorExtension;
import org.alfresco.repo.template.BaseContentNode.TemplateContentData; import org.alfresco.repo.template.BaseContentNode.TemplateContentData;
import org.alfresco.service.cmr.repository.ContentIOException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import freemarker.ext.beans.BeanModel; import freemarker.ext.beans.BeanModel;
import freemarker.template.TemplateMethodModelEx; import freemarker.template.TemplateMethodModelEx;
@@ -43,6 +46,7 @@ import freemarker.template.TemplateNumberModel;
*/ */
public final class CropContentMethod extends BaseProcessorExtension implements TemplateMethodModelEx public final class CropContentMethod extends BaseProcessorExtension implements TemplateMethodModelEx
{ {
private static final Log logger = LogFactory.getLog(CropContentMethod.class);
/** /**
* @see freemarker.template.TemplateMethodModel#exec(java.util.List) * @see freemarker.template.TemplateMethodModel#exec(java.util.List)
*/ */
@@ -60,9 +64,23 @@ public final class CropContentMethod extends BaseProcessorExtension implements T
Object wrapped = ((BeanModel)arg0).getWrappedObject(); Object wrapped = ((BeanModel)arg0).getWrappedObject();
if (wrapped instanceof TemplateContentData) if (wrapped instanceof TemplateContentData)
{ {
int bytes = ((TemplateNumberModel)arg1).getAsNumber().intValue(); int bytes = ((TemplateNumberModel)arg1).getAsNumber().intValue();
result = ((TemplateContentData)wrapped).getContentAsText(bytes); try
{
result = ((TemplateContentData)wrapped).getContentAsText(bytes);
}
catch (ContentIOException e)
{
logger.warn("unable to getContentAsText", e);
/*
* Unable to extract content - return empty text instead.
* Probably here through a transformation failure.
* This method is called from FreeMarker so throwing the
* exception causes problems.
*/
result = "";
}
} }
} }
} }

View File

@@ -187,7 +187,8 @@ public class WorkflowPackageImpl implements WorkflowPackageComponent
for (ChildAssociationRef packageItemParent : packageItemParents) for (ChildAssociationRef packageItemParent : packageItemParents)
{ {
NodeRef parentRef = packageItemParent.getParentRef(); NodeRef parentRef = packageItemParent.getParentRef();
if (nodeService.hasAspect(parentRef, WorkflowModel.ASPECT_WORKFLOW_PACKAGE)) if (nodeService.hasAspect(parentRef, WorkflowModel.ASPECT_WORKFLOW_PACKAGE)
&& !nodeService.hasAspect(parentRef, ContentModel.ASPECT_ARCHIVED))
{ {
String workflowInstance = (String)nodeService.getProperty(parentRef, WorkflowModel.PROP_WORKFLOW_INSTANCE_ID); String workflowInstance = (String)nodeService.getProperty(parentRef, WorkflowModel.PROP_WORKFLOW_INSTANCE_ID);
if (workflowInstance != null && workflowInstance.length() > 0) if (workflowInstance != null && workflowInstance.length() > 0)