diff --git a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/messages/action-service.properties b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/messages/action-service.properties index 2c89111f41..fe9a6d959e 100644 --- a/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/messages/action-service.properties +++ b/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/messages/action-service.properties @@ -36,7 +36,12 @@ rm.action.records_only_undeclared=You can only complete records. rm.action.event-not-undone=You can't undo the event {0} because it's not defined on the retention lifecycle. rm.action.node-not-record-category=You can't create a retention schedule for ({0}) because it's not a record category. rm.action.parameter-not-supplied=Add a ''{0}'' to continue. -rm.action.delete-not-hold-type=We couldn't delete the hold because {1} isn't of type {0}. +rm.action.delete-not-hold-type=We couldn't delete the hold because {1} isn't of type {0}. rm.action.cast-to-rm-type=You can't upload a custom folder type to the records management file plan. rm.action.record-folder-create=You can't create a record folder in another record folder. +rm.action.unique.child.type-error-message=Operation failed. Multiple children of this type are not allowed. +rm.action.multiple.children.type-error-message=Operation failed. Children of type {0} are not allowed +rm.action.create.transfer.container.child-error-message=Operation failed. Creation is not allowed in Transfer Container. +rm.action.create.transfer.child-error-message=Operation failed. Creation is not allowed in Transfer Folders. +rm.action.create.record.folder.child-error-message=Only records can be created in record folders but it was {0} diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/BaseBehaviourBean.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/BaseBehaviourBean.java index de61dcc7c7..306740dae1 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/BaseBehaviourBean.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/BaseBehaviourBean.java @@ -40,6 +40,7 @@ import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.namespace.QName; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.springframework.extensions.surf.util.I18NUtil; import com.google.common.collect.Sets; @@ -56,6 +57,10 @@ public abstract class BaseBehaviourBean extends ServiceBaseImpl /** Logger */ protected static final Log LOGGER = LogFactory.getLog(BaseBehaviourBean.class); + /** I18N */ + protected static final String UNIQUE_CHILD_TYPE_ERROR = "rm.action.unique.child.type-error-message"; + protected static final String MULTIPLE_CHILDREN_TYPE_ERROR = "rm.action.multiple.children.type-error-message"; + /** behaviour filter */ protected BehaviourFilter behaviourFilter; @@ -109,12 +114,12 @@ public abstract class BaseBehaviourBean extends ServiceBaseImpl // check the user is not trying to create multiple children of a type that is only accepted once if(nodeService.getChildAssocs(parent, Sets.newHashSet(childType)).size() > 1) { - throw new IntegrityException("Operation failed. Multiple children of this type are not allowed.", null); + throw new IntegrityException(I18NUtil.getMessage(UNIQUE_CHILD_TYPE_ERROR), null); } } else if(!acceptedMultipleChildType.contains(childType)) { - throw new IntegrityException("Operation failed. Children of type " + childType + " are not allowed", null); + throw new IntegrityException(I18NUtil.getMessage(MULTIPLE_CHILDREN_TYPE_ERROR, childType), null); } } @@ -135,6 +140,6 @@ public abstract class BaseBehaviourBean extends ServiceBaseImpl } } //no match was found in sub-types of permitted types list - throw new IntegrityException("Operation failed. Children of type " + childType + " are not allowed", null); + throw new IntegrityException(I18NUtil.getMessage(MULTIPLE_CHILDREN_TYPE_ERROR, childType), null); } } diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordFolderType.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordFolderType.java index 9fb22a875c..bf43fc7210 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordFolderType.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordFolderType.java @@ -78,7 +78,7 @@ public class RecordFolderType extends AbstractDisposableItem protected VitalRecordService vitalRecordService; /** I18N */ - private static final String MSG_CANNOT_CREATE_RECORD_FOLDER = "rm.action.record-folder-create"; + private static final String MSG_CANNOT_CREATE_RECORD_FOLDER_CHILD = "rm.action.create.record.folder.child-error-message"; /** * @param recordService record service @@ -228,7 +228,7 @@ public class RecordFolderType extends AbstractDisposableItem if (!instanceOf(nodeRef, ContentModel.TYPE_CONTENT) && notFolderOrRmFolderSubType) { - throw new IntegrityException(I18NUtil.getMessage(MSG_CANNOT_CREATE_RECORD_FOLDER), null); + throw new IntegrityException(I18NUtil.getMessage(MSG_CANNOT_CREATE_RECORD_FOLDER_CHILD, nodeService.getType(nodeRef)), null); } // ensure nothing is being added to a closed record folder NodeRef recordFolder = childAssocRef.getParentRef(); @@ -258,7 +258,7 @@ public class RecordFolderType extends AbstractDisposableItem // only records can be added in a record folder or hidden folders(is the case of e-mail attachments) if (instanceOf(recordFolder, ContentModel.TYPE_FOLDER) && !nodeService.hasAspect(recordFolder, ContentModel.ASPECT_HIDDEN)) { - throw new IntegrityException(I18NUtil.getMessage(MSG_CANNOT_CREATE_RECORD_FOLDER), null); + throw new IntegrityException(I18NUtil.getMessage(MSG_CANNOT_CREATE_RECORD_FOLDER_CHILD, nodeService.getType(recordFolder)), null); } behaviourFilter.disableBehaviour(); diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RmSiteType.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RmSiteType.java index 4dce98a20c..82eb0b57ac 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RmSiteType.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RmSiteType.java @@ -59,6 +59,7 @@ import org.alfresco.service.cmr.site.SiteVisibility; import org.alfresco.service.namespace.QName; import org.alfresco.util.ParameterCheck; import org.alfresco.util.PropertyMap; +import org.springframework.extensions.surf.util.I18NUtil; import com.google.common.collect.Sets; @@ -350,7 +351,7 @@ public class RmSiteType extends BaseBehaviourBean // check the user is not trying to create more than 2 folders that are created by default. if(nodeService.getChildAssocs(parent, Sets.newHashSet(ContentModel.TYPE_FOLDER)).size() > 2) { - throw new IntegrityException("Operation failed. Children of type " + ContentModel.TYPE_FOLDER + " are not allowed", null); + throw new IntegrityException(I18NUtil.getMessage(MULTIPLE_CHILDREN_TYPE_ERROR, ContentModel.TYPE_FOLDER), null); } } } diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/TransferContainerType.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/TransferContainerType.java index 6c9657a543..d0fba4ff99 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/TransferContainerType.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/TransferContainerType.java @@ -49,6 +49,7 @@ public class TransferContainerType extends BaseBehaviourBean implements NodeServicePolicies.OnCreateChildAssociationPolicy, NodeServicePolicies.OnCreateNodePolicy { private final static String MSG_ERROR_ADD_CONTENT_CONTAINER = "rm.service.error-add-content-container"; + private final static String MSG_ERROR_ADD_CHILD_TO_TRANSFER_CONTAINER = "rm.action.create.transfer.container.child-error-message"; private static final String BEHAVIOUR_NAME = "onCreateChildAssocsForTransferContainer"; /** @@ -83,7 +84,7 @@ public class TransferContainerType extends BaseBehaviourBean ) public void onCreateChildAssociation(ChildAssociationRef childAssocRef, boolean bNew) { - throw new IntegrityException("Operation failed. Creation is not allowed in Transfer Container", null); + throw new IntegrityException(I18NUtil.getMessage(MSG_ERROR_ADD_CHILD_TO_TRANSFER_CONTAINER), null); } @Override diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/TransferType.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/TransferType.java index 0d8bba494d..aa8be553e4 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/TransferType.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/TransferType.java @@ -34,6 +34,7 @@ import org.alfresco.repo.policy.annotation.Behaviour; import org.alfresco.repo.policy.annotation.BehaviourBean; import org.alfresco.repo.policy.annotation.BehaviourKind; import org.alfresco.service.cmr.repository.ChildAssociationRef; +import org.springframework.extensions.surf.util.I18NUtil; /** * rma:transfer behaviour bean @@ -44,6 +45,7 @@ import org.alfresco.service.cmr.repository.ChildAssociationRef; @BehaviourBean(defaultType = "rma:transfer") public class TransferType extends BaseBehaviourBean implements NodeServicePolicies.OnCreateChildAssociationPolicy { + private final static String MSG_ERROR_ADD_CHILD_TO_TRANSFER = "rm.action.create.transfer.child-error-message"; private static final String BEHAVIOUR_NAME = "onCreateChildAssocsForTransferType"; /** @@ -75,6 +77,6 @@ public class TransferType extends BaseBehaviourBean implements NodeServicePolici ) public void onCreateChildAssociation(ChildAssociationRef childAssocRef, boolean isNewNode) { - throw new IntegrityException("Operation failed. Creation is not allowed in Transfer Folders", null); + throw new IntegrityException(I18NUtil.getMessage(MSG_ERROR_ADD_CHILD_TO_TRANSFER), null); } }