From a212fef8e22d98dcb9e0f49b763330926e26e37a Mon Sep 17 00:00:00 2001 From: Roy Wetherall Date: Wed, 15 Jan 2014 13:52:30 +0000 Subject: [PATCH] RM-765: Remove DOD meta-data from core RM model * remove DOD meta-date from record aspect * create dod record aspect in dod model to contain dod specific meta-data (modelled as record mate data aspect so can be added manaually and UI reacts accodingly without modification) * automatically add dod record aspect to record when created (maintains status quo for the time being) * allow groups to be automatically added to form UI template when record meta-data found on record (DOD meta-data automatically displayed and editable if present) * add simple module patch frameowrk so RM patches going forward are module schema based (so order and application is predictable) * fix up existing patchs (pre 2.2) so basic order is guarenteed * add patch for DOD data reshuffle * general restructuring of patch configuration and implementations for clarity git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@59943 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../dod5015/dod5015-context.xml | 16 +- .../dod5015/dod5015Model.xml | 95 ------- .../dod5015/messages/dod5015-model.properties | 92 ------- .../messages/dod5015-model_de.properties | 73 ----- .../messages/dod5015-model_es.properties | 73 ----- .../messages/dod5015-model_fr.properties | 73 ----- .../messages/dod5015-model_it.properties | 73 ----- .../messages/dod5015-model_ja.properties | 73 ----- .../dod5015/messages/dod5015.properties | 8 - .../dod5015/messages/dod5015_de.properties | 8 - .../dod5015/messages/dod5015_es.properties | 8 - .../dod5015/messages/dod5015_fr.properties | 8 - .../dod5015/messages/dod5015_it.properties | 8 - .../dod5015/messages/dod5015_ja.properties | 8 - .../org_alfresco_module_rm/log4j.properties | 14 +- .../messages/records-model.properties | 16 ++ .../model/recordsModel.xml | 84 +++++- .../org_alfresco_module_rm/module-context.xml | 3 +- .../module-schema.properties | 6 + .../patch/rm-patch-context.xml | 44 +++ .../patch/rm-patch-v20-context.xml | 66 +++++ .../rm-patch-v21-context.xml} | 129 +-------- .../patch/rm-patch-v22-context.xml | 40 +++ .../rm-audit-context.xml | 0 .../rm-disposition-properties-context.xml | 6 + rm-server/config/readme.txt | 1 + ...annotApplyConstraintMetadataException.java | 72 ++--- .../CustomMetadataException.java | 64 ++--- .../InvalidCustomAspectMetadataException.java | 72 ++--- .../NotCustomisableMetadataException.java | 70 ++--- ...ropertyAlreadyExistsMetadataException.java | 72 ++--- ...cordsManagementAuditServiceDeprecated.java | 0 .../AuditableActionExecuterAbstractBase.java | 0 .../ManualEventParameterConstraint.java | 0 .../action/dm/ExecuteScriptAction.java | 0 .../audit/event/CreateObjectAuditEvent.java | 0 .../audit/event/CreatePersonAuditEvent.java | 0 .../audit/event/DeleteObjectAuditEvent.java | 0 .../audit/event/UpdateObjectAuditEvent.java | 0 .../BootstrapImporterModuleComponent.java | 23 ++ .../capability/CompositeCapability.java | 0 .../dod5015/DOD5015Model.java | 11 +- .../model/dod/aspect/DOD5015RecordAspect.java | 63 ----- .../fileplan/FilePlanServiceImpl.java | 3 +- .../forms/RecordsManagementFormFilter.java | 4 +- .../RecordsManagementNodeFormFilter.java | 14 +- .../model/RecordsManagementModel.java | 12 +- .../aspect/DispositionLifecycleAspect.java | 0 .../model/rma/aspect/GhostedAspect.java | 16 +- .../model/rma/aspect/RecordSearchAspect.java | 0 .../model/rma/aspect/VitalRecordAspect.java | 0 .../model/rma/type/RecordFolderType.java | 0 .../patch/AbstractModulePatch.java | 260 ++++++++++++++++++ .../patch/ModulePatch.java | 64 +++++ .../patch/ModulePatchExecuter.java | 40 +++ .../patch/ModulePatchExecuterImpl.java | 168 +++++++++++ .../patch/RMv22CapabilityPatch.java | 61 ---- .../ModulePatchComponent.java | 25 +- .../{ => v20}/NotificationTemplatePatch.java | 9 +- .../{ => v20}/RMv2FilePlanNodeRefPatch.java | 5 +- .../patch/{ => v20}/RMv2ModelPatch.java | 6 +- .../patch/{ => v20}/RMv2SavedSearchPatch.java | 6 +- .../NotificationTemplatePatch_v21.java | 4 +- .../{ => v21}/RMv21BehaviorScriptsPatch.java | 7 +- .../patch/{ => v21}/RMv21CapabilityPatch.java | 92 ++++++- .../patch/{ => v21}/RMv21InPlacePatch.java | 7 +- .../patch/v21/RMv21PatchComponent.java | 76 +++++ .../RMv21RMAdminUserPatch.java} | 5 +- .../RMv21RecordInheritancePatch.java | 5 +- .../{ => v21}/RMv21ReportServicePatch.java | 5 +- .../patch/{ => v21}/RMv21RolesPatch.java | 7 +- .../RMv22CapabilityPatch.java} | 36 ++- .../{ => v22}/RMv22ReportTemplatePatch.java | 10 +- .../repo/admin/patch/AppliedModulePatch.java | 33 +++ .../policy/annotation/BehaviourRegistry.java | 0 rm-server/source/resources/readme.txt | 1 + 76 files changed, 1340 insertions(+), 1113 deletions(-) delete mode 100644 rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model.properties delete mode 100644 rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_de.properties delete mode 100644 rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_es.properties delete mode 100644 rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_fr.properties delete mode 100644 rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_it.properties delete mode 100644 rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_ja.properties delete mode 100644 rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015.properties delete mode 100644 rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_de.properties delete mode 100644 rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_es.properties delete mode 100644 rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_fr.properties delete mode 100644 rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_it.properties delete mode 100644 rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_ja.properties create mode 100755 rm-server/config/alfresco/module/org_alfresco_module_rm/module-schema.properties create mode 100644 rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-context.xml create mode 100644 rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v20-context.xml rename rm-server/config/alfresco/module/org_alfresco_module_rm/{rm-patch-context.xml => patch/rm-patch-v21-context.xml} (52%) create mode 100644 rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v22-context.xml mode change 100644 => 100755 rm-server/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml create mode 100644 rm-server/config/readme.txt mode change 100644 => 100755 rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceDeprecated.java mode change 100644 => 100755 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/AuditableActionExecuterAbstractBase.java mode change 100644 => 100755 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/constraint/ManualEventParameterConstraint.java mode change 100644 => 100755 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/ExecuteScriptAction.java mode change 100644 => 100755 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/CreateObjectAuditEvent.java mode change 100644 => 100755 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/CreatePersonAuditEvent.java mode change 100644 => 100755 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/DeleteObjectAuditEvent.java mode change 100644 => 100755 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/UpdateObjectAuditEvent.java mode change 100644 => 100755 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/CompositeCapability.java delete mode 100644 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dod5015/model/dod/aspect/DOD5015RecordAspect.java mode change 100644 => 100755 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/DispositionLifecycleAspect.java mode change 100644 => 100755 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordSearchAspect.java mode change 100644 => 100755 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/VitalRecordAspect.java mode change 100644 => 100755 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordFolderType.java create mode 100755 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/AbstractModulePatch.java create mode 100755 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatch.java create mode 100755 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchExecuter.java create mode 100755 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchExecuterImpl.java delete mode 100644 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv22CapabilityPatch.java rename rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/{ => compatibility}/ModulePatchComponent.java (81%) mode change 100644 => 100755 rename rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/{ => v20}/NotificationTemplatePatch.java (93%) mode change 100644 => 100755 rename rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/{ => v20}/RMv2FilePlanNodeRefPatch.java (94%) mode change 100644 => 100755 rename rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/{ => v20}/RMv2ModelPatch.java (93%) mode change 100644 => 100755 rename rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/{ => v20}/RMv2SavedSearchPatch.java (92%) rename rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/{ => v21}/NotificationTemplatePatch_v21.java (94%) rename rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/{ => v21}/RMv21BehaviorScriptsPatch.java (93%) mode change 100644 => 100755 rename rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/{ => v21}/RMv21CapabilityPatch.java (53%) rename rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/{ => v21}/RMv21InPlacePatch.java (95%) mode change 100644 => 100755 create mode 100644 rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21PatchComponent.java rename rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/{RMv2RMAdminUserPatch.java => v21/RMv21RMAdminUserPatch.java} (94%) mode change 100644 => 100755 rename rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/{ => v21}/RMv21RecordInheritancePatch.java (93%) mode change 100644 => 100755 rename rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/{ => v21}/RMv21ReportServicePatch.java (94%) mode change 100644 => 100755 rename rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/{ => v21}/RMv21RolesPatch.java (90%) mode change 100644 => 100755 rename rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/{BaseRMCapabilityPatch.java => v22/RMv22CapabilityPatch.java} (75%) rename rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/{ => v22}/RMv22ReportTemplatePatch.java (89%) create mode 100755 rm-server/source/java/org/alfresco/repo/admin/patch/AppliedModulePatch.java mode change 100644 => 100755 rm-server/source/java/org/alfresco/repo/policy/annotation/BehaviourRegistry.java create mode 100644 rm-server/source/resources/readme.txt diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/dod5015-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/dod5015-context.xml index 85db9e087f..48816440e8 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/dod5015-context.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/dod5015-context.xml @@ -12,7 +12,7 @@ - alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model + alfresco/module/org_alfresco_module_rm/dod5015/dod5015-model @@ -21,22 +21,12 @@ - alfresco.module.org_alfresco_module_rm.dod5015.messages.dod5015 + alfresco.module.org_alfresco_module_rm.dod5015.dod5015 - - - - - - - - - - - + \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/dod5015Model.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/dod5015Model.xml index 85bf755290..c96a58b304 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/dod5015Model.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/dod5015Model.xml @@ -26,7 +26,6 @@ - Image Formats @@ -57,100 +56,6 @@ - - - - - - DOD5015 Record - rma:recordMetaData - - - - - Publication Date - d:date - true - - - - Originator - d:text - true - - true - false - false - - - - - Originating Organization - d:text - true - - true - false - false - - - - - Media Type - d:text - false - - true - false - false - - - - - Format - d:text - false - - true - false - false - - - - - Date Received - d:date - false - - - - - Addressee - d:text - false - - true - false - false - - - - Other Addressee - d:text - false - - true - false - false - - - - - - Scanned Record diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model.properties deleted file mode 100644 index 72b68b6a6c..0000000000 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model.properties +++ /dev/null @@ -1,92 +0,0 @@ -dod_dod5015.description=DOD5015 Content Model - -dod_dod5015.type.dod_recordSeries.title=Record Series (Deprecated) -dod_dod5015.type.dod_recordSeries.description=Record Series (Deprecated) - -dod_dod5015.aspect.dod_dod5015record.title=DOD5015 Record -dod_dod5015.aspect.dod_dod5015record.description=DOD5015 Record -dod_dod5015.property.rma_publicationDate.title=Publication Date -dod_dod5015.property.rma_publicationDate.decription=Publication Date -dod_dod5015.property.rma_originator.title=Originator -dod_dod5015.property.rma_originator.decription=Originator -dod_dod5015.property.rma_originatingOrganization.title=Originating Organization -dod_dod5015.property.rma_originatingOrganization.decription=Originating Organization -dod_dod5015.property.rma_mediaType.title=Media Type -dod_dod5015.property.rma_mediaType.decription=Media Type -dod_dod5015.property.rma_format.title=Format -dod_dod5015.property.rma_format.decription=Format -dod_dod5015.property.rma_dateReceived.title=Date Received -dod_dod5015.property.rma_dateReceived.decription=Date Received -dod_dod5015.property.rma_address.title=Addressee -dod_dod5015.property.rma_address.decription=Addressee -dod_dod5015.property.rma_otherAddress.title=Other Addressee -dod_dod5015.property.rma_otherAddress.decription=Other Addressee - -dod_dod5015.aspect.dod_scannedRecord.title=Scanned Record -dod_dod5015.aspect.dod_scannedRecord.description=Scanned Record -dod_dod5015.property.dod_scannedFormat.title=Image Format -dod_dod5015.property.dod_scannedFormat.description=Image Format -dod_dod5015.property.dod_scannedFormatVersion.title=Image Format and Version -dod_dod5015.property.dod_scannedFormatVersion.description=Image Format and Version -dod_dod5015.property.dod_resolutionX.title=Image Resolution X -dod_dod5015.property.dod_resolutionX.description=Image Resolution X -dod_dod5015.property.dod_resolutionY.title=Image Resolution Y -dod_dod5015.property.dod_resolutionY.description=Image Resolution Y -dod_dod5015.property.dod_scannedBitDepth.title=Scanned Bit Depth -dod_dod5015.property.dod_scannedBitDepth.description=Scanned Bit Depth - -dod_dod5015.aspect.dod_pdfRecord.title=PDF Record -dod_dod5015.aspect.dod_pdfRecord.description=PDF Record -dod_dod5015.property.dod_producingApplication.title=Producing Application -dod_dod5015.property.dod_producingApplication.description=Producing Application -dod_dod5015.property.dod_producingApplicationVersion.title=Producing Application Version -dod_dod5015.property.dod_producingApplicationVersion.description=Producing Application Version -dod_dod5015.property.dod_pdfVersion.title=PDF Version -dod_dod5015.property.dod_pdfVersion.description=PDF Version -dod_dod5015.property.dod_creatingApplication.title=Creating Application -dod_dod5015.property.dod_creatingApplication.description=Creating Application -dod_dod5015.property.dod_documentSecuritySettings.title=Document Security Settings -dod_dod5015.property.dod_documentSecuritySettings.description=Document Security Settings - -dod_dod5015.aspect.dod_digitalPhotographRecord.title=Digital Photograph Record -dod_dod5015.aspect.dod_digitalPhotographRecord.description=Digital Photograph Record -dod_dod5015.property.dod_caption.title=Caption -dod_dod5015.property.dod_caption.description=Caption -dod_dod5015.property.dod_photographer.title=Photographer -dod_dod5015.property.dod_photographer.description=Photographer -dod_dod5015.property.dod_copyright.title=Copyright -dod_dod5015.property.dod_copyright.description=Copyright -dod_dod5015.property.dod_bitDepth.title=Bit Depth -dod_dod5015.property.dod_bitDepth.description=Bit Depth -dod_dod5015.property.dod_imageSizeX.title=Image Size X -dod_dod5015.property.dod_imageSizeX.description=Image Size X -dod_dod5015.property.dod_imageSizeY.title=Image Size Y -dod_dod5015.property.dod_imageSizeY.description=Image Size Y -dod_dod5015.property.dod_imageSource.title=Image Source -dod_dod5015.property.dod_imageSource.description=Image Source -dod_dod5015.property.dod_compression.title=Compression -dod_dod5015.property.dod_compression.description=Compression -dod_dod5015.property.dod_iccIcmProfile.title=ICC/ICM Profile -dod_dod5015.property.dod_iccIcmProfile.description=ICC/ICM Profile -dod_dod5015.property.dod_exifInformation.title=EXIF Information -dod_dod5015.property.dod_exifInformation.description=EXIF Information - -dod_dod5015.aspect.dod_webRecord.title=Web Record -dod_dod5015.aspect.dod_webRecord.description=Web Record -dod_dod5015.property.dod_webFileName.title=Web File Name -dod_dod5015.property.dod_webFileName.description=Web File Name -dod_dod5015.property.dod_webPlatform.title=Web Platform -dod_dod5015.property.dod_webPlatform.description=Web Platform -dod_dod5015.property.dod_webSiteName.title=Web Site Name -dod_dod5015.property.dod_webSiteName.description=Web Site Name -dod_dod5015.property.dod_webSiteURL.title=Web Site URL -dod_dod5015.property.dod_webSiteURL.description=Web Site URL -dod_dod5015.property.dod_captureMethod.title=Capture Method -dod_dod5015.property.dod_captureMethod.description=Capture Method -dod_dod5015.property.dod_captureDate.title=Capture Date -dod_dod5015.property.dod_captureDate.description=Capture Date -dod_dod5015.property.dod_contact.title=Contact -dod_dod5015.property.dod_contact.description=Contact -dod_dod5015.property.dod_contentManagementSystem.title=Content Management System -dod_dod5015.property.dod_contentManagementSystem.description=Content Management System - diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_de.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_de.properties deleted file mode 100644 index 241681f191..0000000000 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_de.properties +++ /dev/null @@ -1,73 +0,0 @@ -dod_dod5015.description=DOD5015 Content Model - -dod_dod5015.type.dod_recordSeries.title=Datensatzserie (veraltet) -dod_dod5015.type.dod_recordSeries.description=Datensatzserie (veraltet) - -dod_dod5015.aspect.dod_scannedRecord.title=Eingescannter Datensatz -dod_dod5015.aspect.dod_scannedRecord.description=Eingescannter Datensatz -dod_dod5015.property.dod_scannedFormat.title=Bildformat -dod_dod5015.property.dod_scannedFormat.description=Bildformat -dod_dod5015.property.dod_scannedFormatVersion.title=Bildformat und Version -dod_dod5015.property.dod_scannedFormatVersion.description=Bildformat und Version -dod_dod5015.property.dod_resolutionX.title=Bildaufl\u00f6sung X -dod_dod5015.property.dod_resolutionX.description=Bildaufl\u00f6sung X -dod_dod5015.property.dod_resolutionY.title=Bildaufl\u00f6sung Y -dod_dod5015.property.dod_resolutionY.description=Bildaufl\u00f6sung Y -dod_dod5015.property.dod_scannedBitDepth.title=Gescannte Bittiefe -dod_dod5015.property.dod_scannedBitDepth.description=Gescannte Bittiefe - -dod_dod5015.aspect.dod_pdfRecord.title=PDF-Datensatz -dod_dod5015.aspect.dod_pdfRecord.description=PDF-Datensatz -dod_dod5015.property.dod_producingApplication.title=Ausgebende Anwendung -dod_dod5015.property.dod_producingApplication.description=Ausgebende Anwendung -dod_dod5015.property.dod_producingApplicationVersion.title=Version der ausgebenden Anwendung -dod_dod5015.property.dod_producingApplicationVersion.description=Version der ausgebenden Anwendung -dod_dod5015.property.dod_pdfVersion.title=PDF-Version -dod_dod5015.property.dod_pdfVersion.description=PDF-Version -dod_dod5015.property.dod_creatingApplication.title=Erstellende Anwendung -dod_dod5015.property.dod_creatingApplication.description=Erstellende Anwendung -dod_dod5015.property.dod_documentSecuritySettings.title=Sicherheitseinstellungen des Dokuments -dod_dod5015.property.dod_documentSecuritySettings.description=Sicherheitseinstellungen des Dokuments - -dod_dod5015.aspect.dod_digitalPhotographRecord.title=Digitaler Fotodatensatz -dod_dod5015.aspect.dod_digitalPhotographRecord.description=Digitaler Fotodatensatz -dod_dod5015.property.dod_caption.title=Beschriftung -dod_dod5015.property.dod_caption.description=Beschriftung -dod_dod5015.property.dod_photographer.title=Fotograf -dod_dod5015.property.dod_photographer.description=Fotograf -dod_dod5015.property.dod_copyright.title=Copyright -dod_dod5015.property.dod_copyright.description=Copyright -dod_dod5015.property.dod_bitDepth.title=Bittiefe -dod_dod5015.property.dod_bitDepth.description=Bittiefe -dod_dod5015.property.dod_imageSizeX.title=Bildgr\u00f6\u00dfe X -dod_dod5015.property.dod_imageSizeX.description=Bildgr\u00f6\u00dfe X -dod_dod5015.property.dod_imageSizeY.title=Bildgr\u00f6\u00dfe Y -dod_dod5015.property.dod_imageSizeY.description=Bildgr\u00f6\u00dfe Y -dod_dod5015.property.dod_imageSource.title=Bildquelle -dod_dod5015.property.dod_imageSource.description=Bildquelle -dod_dod5015.property.dod_compression.title=Komprimierung -dod_dod5015.property.dod_compression.description=Komprimierung -dod_dod5015.property.dod_iccIcmProfile.title=ICC/ICM-Profil -dod_dod5015.property.dod_iccIcmProfile.description=ICC/ICM-Profil -dod_dod5015.property.dod_exifInformation.title=EXIF-Informationen -dod_dod5015.property.dod_exifInformation.description=EXIF-Informationen - -dod_dod5015.aspect.dod_webRecord.title=Webdatensatz -dod_dod5015.aspect.dod_webRecord.description=Webdatensatz -dod_dod5015.property.dod_webFileName.title=Webdateiname -dod_dod5015.property.dod_webFileName.description=Webdateiname -dod_dod5015.property.dod_webPlatform.title=Webplattform -dod_dod5015.property.dod_webPlatform.description=Webplattform -dod_dod5015.property.dod_webSiteName.title=Website-Name -dod_dod5015.property.dod_webSiteName.description=Website-Name -dod_dod5015.property.dod_webSiteURL.title=Website-URL -dod_dod5015.property.dod_webSiteURL.description=Website-URL -dod_dod5015.property.dod_captureMethod.title=Erfassungsmethode -dod_dod5015.property.dod_captureMethod.description=Erfassungsmethode -dod_dod5015.property.dod_captureDate.title=Erfassungsdatum -dod_dod5015.property.dod_captureDate.description=Erfassungsdatum -dod_dod5015.property.dod_contact.title=Kontakt -dod_dod5015.property.dod_contact.description=Kontakt -dod_dod5015.property.dod_contentManagementSystem.title=Content Management System -dod_dod5015.property.dod_contentManagementSystem.description=Content Management System - diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_es.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_es.properties deleted file mode 100644 index 3a2e219927..0000000000 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_es.properties +++ /dev/null @@ -1,73 +0,0 @@ -dod_dod5015.description=Modelo de contenido DOD5015 - -dod_dod5015.type.dod_recordSeries.title=Series de documentos de archivo (obsoletas) -dod_dod5015.type.dod_recordSeries.description=Series de documentos de archivo (obsoletas) - -dod_dod5015.aspect.dod_scannedRecord.title=Documento de archivo escaneado -dod_dod5015.aspect.dod_scannedRecord.description=Documento de archivo escaneado -dod_dod5015.property.dod_scannedFormat.title=Formato de imagen -dod_dod5015.property.dod_scannedFormat.description=Formato de imagen -dod_dod5015.property.dod_scannedFormatVersion.title=Formato de imagen y versi\u00f3n -dod_dod5015.property.dod_scannedFormatVersion.description=Formato de imagen y versi\u00f3n -dod_dod5015.property.dod_resolutionX.title=Resoluci\u00f3n de imagen X -dod_dod5015.property.dod_resolutionX.description=Resoluci\u00f3n de imagen X -dod_dod5015.property.dod_resolutionY.title=Resoluci\u00f3n de imagen Y -dod_dod5015.property.dod_resolutionY.description=Resoluci\u00f3n de imagen Y -dod_dod5015.property.dod_scannedBitDepth.title=Profundidad de bits de escaneado -dod_dod5015.property.dod_scannedBitDepth.description=Profundidad de bits de escaneado - -dod_dod5015.aspect.dod_pdfRecord.title=Archivo PDF -dod_dod5015.aspect.dod_pdfRecord.description=Archivo PDF -dod_dod5015.property.dod_producingApplication.title=Produciendo aplicaci\u00f3n -dod_dod5015.property.dod_producingApplication.description=Produciendo aplicaci\u00f3n -dod_dod5015.property.dod_producingApplicationVersion.title=Produciendo versi\u00f3n de la aplicaci\u00f3n -dod_dod5015.property.dod_producingApplicationVersion.description=Produciendo versi\u00f3n de la aplicaci\u00f3n -dod_dod5015.property.dod_pdfVersion.title=Versi\u00f3n PDF -dod_dod5015.property.dod_pdfVersion.description=Versi\u00f3n PDF -dod_dod5015.property.dod_creatingApplication.title=Creando aplicaci\u00f3n -dod_dod5015.property.dod_creatingApplication.description=Creando aplicaci\u00f3n -dod_dod5015.property.dod_documentSecuritySettings.title=Configuraci\u00f3n de seguridad del documento -dod_dod5015.property.dod_documentSecuritySettings.description=Configuraci\u00f3n de seguridad del documento - -dod_dod5015.aspect.dod_digitalPhotographRecord.title=Documento de archivo fotogr\u00e1fico digital -dod_dod5015.aspect.dod_digitalPhotographRecord.description=Documento de archivo fotogr\u00e1fico digital -dod_dod5015.property.dod_caption.title=T\u00edtulo -dod_dod5015.property.dod_caption.description=T\u00edtulo -dod_dod5015.property.dod_photographer.title=Fot\u00f3grafo -dod_dod5015.property.dod_photographer.description=Fot\u00f3grafo -dod_dod5015.property.dod_copyright.title=Copyright -dod_dod5015.property.dod_copyright.description=Copyright -dod_dod5015.property.dod_bitDepth.title=Profundidad de bits -dod_dod5015.property.dod_bitDepth.description=Profundidad de bits -dod_dod5015.property.dod_imageSizeX.title=Tama\u00f1o de imagen X -dod_dod5015.property.dod_imageSizeX.description=Tama\u00f1o de imagen X -dod_dod5015.property.dod_imageSizeY.title=Tama\u00f1o de imagen Y -dod_dod5015.property.dod_imageSizeY.description=Tama\u00f1o de imagen Y -dod_dod5015.property.dod_imageSource.title=Procedencia de la imagen -dod_dod5015.property.dod_imageSource.description=Procedencia de la imagen -dod_dod5015.property.dod_compression.title=Compresi\u00f3n -dod_dod5015.property.dod_compression.description=Compresi\u00f3n -dod_dod5015.property.dod_iccIcmProfile.title=Perfil ICC/ICM -dod_dod5015.property.dod_iccIcmProfile.description=Perfil ICC/ICM -dod_dod5015.property.dod_exifInformation.title=Informaci\u00f3n EXIF -dod_dod5015.property.dod_exifInformation.description=Informaci\u00f3n EXIF - -dod_dod5015.aspect.dod_webRecord.title=Documento de archivo web -dod_dod5015.aspect.dod_webRecord.description=Documento de archivo web -dod_dod5015.property.dod_webFileName.title=Nombre del fichero web -dod_dod5015.property.dod_webFileName.description=Nombre del fichero web -dod_dod5015.property.dod_webPlatform.title=Plataforma web -dod_dod5015.property.dod_webPlatform.description=Plataforma web -dod_dod5015.property.dod_webSiteName.title=Nombre del sitio web -dod_dod5015.property.dod_webSiteName.description=Nombre del sitio web -dod_dod5015.property.dod_webSiteURL.title=URL del sitio web -dod_dod5015.property.dod_webSiteURL.description=URL del sitio web -dod_dod5015.property.dod_captureMethod.title=M\u00e9todo de captura -dod_dod5015.property.dod_captureMethod.description=M\u00e9todo de captura -dod_dod5015.property.dod_captureDate.title=Fecha de captura -dod_dod5015.property.dod_captureDate.description=Fecha de captura -dod_dod5015.property.dod_contact.title=Contacto -dod_dod5015.property.dod_contact.description=Contacto -dod_dod5015.property.dod_contentManagementSystem.title=Sistema de gesti\u00f3n de contenidos -dod_dod5015.property.dod_contentManagementSystem.description=Sistema de gesti\u00f3n de contenidos - diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_fr.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_fr.properties deleted file mode 100644 index 6ac118614a..0000000000 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_fr.properties +++ /dev/null @@ -1,73 +0,0 @@ -dod_dod5015.description=Mod\u00e8le de contenu DOD5015 - -dod_dod5015.type.dod_recordSeries.title=S\u00e9rie de document d'archives (Obsol\u00e8te) -dod_dod5015.type.dod_recordSeries.description=S\u00e9rie de document d'archives (Obsol\u00e8te) - -dod_dod5015.aspect.dod_scannedRecord.title=Document d'archives num\u00e9ris\u00e9 -dod_dod5015.aspect.dod_scannedRecord.description=Document d'archives num\u00e9ris\u00e9 -dod_dod5015.property.dod_scannedFormat.title=Format d'image -dod_dod5015.property.dod_scannedFormat.description=Format d'image -dod_dod5015.property.dod_scannedFormatVersion.title=Format et version d'image -dod_dod5015.property.dod_scannedFormatVersion.description=Format et version d'mage -dod_dod5015.property.dod_resolutionX.title=R\u00e9solution d'image X -dod_dod5015.property.dod_resolutionX.description=R\u00e9solution d'image X -dod_dod5015.property.dod_resolutionY.title=R\u00e9solution d'image Y -dod_dod5015.property.dod_resolutionY.description=R\u00e9solution d'image Y -dod_dod5015.property.dod_scannedBitDepth.title=Profondeur de couleur num\u00e9ris\u00e9e -dod_dod5015.property.dod_scannedBitDepth.description=Profondeur de couleur num\u00e9ris\u00e9e - -dod_dod5015.aspect.dod_pdfRecord.title=Document d'archives PDF -dod_dod5015.aspect.dod_pdfRecord.description=Document d'archives PDF -dod_dod5015.property.dod_producingApplication.title=Application de production -dod_dod5015.property.dod_producingApplication.description=Application de production -dod_dod5015.property.dod_producingApplicationVersion.title=Version de l'application de production -dod_dod5015.property.dod_producingApplicationVersion.description=Version de l'application de production -dod_dod5015.property.dod_pdfVersion.title=Version PDF -dod_dod5015.property.dod_pdfVersion.description=Version PDF -dod_dod5015.property.dod_creatingApplication.title=Application de cr\u00e9ation -dod_dod5015.property.dod_creatingApplication.description=Application de cr\u00e9ation -dod_dod5015.property.dod_documentSecuritySettings.title=Param\u00e8tres de s\u00e9curit\u00e9 de document -dod_dod5015.property.dod_documentSecuritySettings.description=Param\u00e8tres de s\u00e9curit\u00e9 de document - -dod_dod5015.aspect.dod_digitalPhotographRecord.title=Document d'archives de photographie num\u00e9rique -dod_dod5015.aspect.dod_digitalPhotographRecord.description=Document d'archives de photographie num\u00e9rique -dod_dod5015.property.dod_caption.title=L\u00e9gende -dod_dod5015.property.dod_caption.description=L\u00e9gende -dod_dod5015.property.dod_photographer.title=Photographe -dod_dod5015.property.dod_photographer.description=Photographe -dod_dod5015.property.dod_copyright.title=Copyright -dod_dod5015.property.dod_copyright.description=Copyright -dod_dod5015.property.dod_bitDepth.title=Profondeur de couleur -dod_dod5015.property.dod_bitDepth.description=Profondeur de couleur -dod_dod5015.property.dod_imageSizeX.title=Taille d'image X -dod_dod5015.property.dod_imageSizeX.description=Taille d'image X -dod_dod5015.property.dod_imageSizeY.title=Taille d'image Y -dod_dod5015.property.dod_imageSizeY.description=Taille d'image Y -dod_dod5015.property.dod_imageSource.title=Source d'image -dod_dod5015.property.dod_imageSource.description=Source d'image -dod_dod5015.property.dod_compression.title=Compression -dod_dod5015.property.dod_compression.description=Compression -dod_dod5015.property.dod_iccIcmProfile.title=Profil ICC/ICM -dod_dod5015.property.dod_iccIcmProfile.description=Profil ICC/ICM -dod_dod5015.property.dod_exifInformation.title=Informations EXIF -dod_dod5015.property.dod_exifInformation.description=Informations EXIF - -dod_dod5015.aspect.dod_webRecord.title=Document d'archives Web -dod_dod5015.aspect.dod_webRecord.description=Document d'archives Web -dod_dod5015.property.dod_webFileName.title=Nom de fichier Web -dod_dod5015.property.dod_webFileName.description=Nom de fichier Web -dod_dod5015.property.dod_webPlatform.title=Plate-forme Web -dod_dod5015.property.dod_webPlatform.description=Plate-forme Web -dod_dod5015.property.dod_webSiteName.title=Nom de site Web -dod_dod5015.property.dod_webSiteName.description=Nom de site Web -dod_dod5015.property.dod_webSiteURL.title=URL de site Web -dod_dod5015.property.dod_webSiteURL.description=URL de site Web -dod_dod5015.property.dod_captureMethod.title=M\u00e9thode de capture -dod_dod5015.property.dod_captureMethod.description=M\u00e9thode de capture -dod_dod5015.property.dod_captureDate.title=Date de capture -dod_dod5015.property.dod_captureDate.description=Date de capture -dod_dod5015.property.dod_contact.title=Contact -dod_dod5015.property.dod_contact.description=Contact -dod_dod5015.property.dod_contentManagementSystem.title=Syst\u00e8me de gestion du contenu -dod_dod5015.property.dod_contentManagementSystem.description=Syst\u00e8me de gestion du contenu - diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_it.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_it.properties deleted file mode 100644 index 06489bf3b0..0000000000 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_it.properties +++ /dev/null @@ -1,73 +0,0 @@ -dod_dod5015.description=Modello di contenuto DOD5015 - -dod_dod5015.type.dod_recordSeries.title=Serie di record (obsoleto) -dod_dod5015.type.dod_recordSeries.description=Serie di record (obsoleto) - -dod_dod5015.aspect.dod_scannedRecord.title=Record scansionato -dod_dod5015.aspect.dod_scannedRecord.description=Record scansionato -dod_dod5015.property.dod_scannedFormat.title=Formato immagine -dod_dod5015.property.dod_scannedFormat.description=Formato immagine -dod_dod5015.property.dod_scannedFormatVersion.title=Formato immagine e versione -dod_dod5015.property.dod_scannedFormatVersion.description=Formato immagine e versione -dod_dod5015.property.dod_resolutionX.title=Risoluzione immagine X -dod_dod5015.property.dod_resolutionX.description=Risoluzione immagine X -dod_dod5015.property.dod_resolutionY.title=Risoluzione immagine Y -dod_dod5015.property.dod_resolutionY.description=Risoluzione immagine Y -dod_dod5015.property.dod_scannedBitDepth.title=Profondit\u00e0 in bit scansionata -dod_dod5015.property.dod_scannedBitDepth.description=Profondit\u00e0 in bit scansionata - -dod_dod5015.aspect.dod_pdfRecord.title=Record PDF -dod_dod5015.aspect.dod_pdfRecord.description=Record PDF -dod_dod5015.property.dod_producingApplication.title=Generazione applicazione -dod_dod5015.property.dod_producingApplication.description=Generazione applicazione -dod_dod5015.property.dod_producingApplicationVersion.title=Generazione versione applicazione -dod_dod5015.property.dod_producingApplicationVersion.description=Generazione versione applicazione -dod_dod5015.property.dod_pdfVersion.title=Versione PDF -dod_dod5015.property.dod_pdfVersion.description=Versione PDF -dod_dod5015.property.dod_creatingApplication.title=Creazione applicazione -dod_dod5015.property.dod_creatingApplication.description=Creazione applicazione -dod_dod5015.property.dod_documentSecuritySettings.title=Impostazioni di protezione documento -dod_dod5015.property.dod_documentSecuritySettings.description=Impostazioni di protezione documento - -dod_dod5015.aspect.dod_digitalPhotographRecord.title=Record fotografia digitale -dod_dod5015.aspect.dod_digitalPhotographRecord.description=Record fotografia digitale -dod_dod5015.property.dod_caption.title=Didascalia -dod_dod5015.property.dod_caption.description=Didascalia -dod_dod5015.property.dod_photographer.title=Fotografo -dod_dod5015.property.dod_photographer.description=Fotografo -dod_dod5015.property.dod_copyright.title=Copyright -dod_dod5015.property.dod_copyright.description=Copyright -dod_dod5015.property.dod_bitDepth.title=Profondit\u00e0 in bit -dod_dod5015.property.dod_bitDepth.description=Profondit\u00e0 in bit -dod_dod5015.property.dod_imageSizeX.title=Dimensioni immagine X -dod_dod5015.property.dod_imageSizeX.description=Dimensioni immagine X -dod_dod5015.property.dod_imageSizeY.title=Dimensioni immagine Y -dod_dod5015.property.dod_imageSizeY.description=Dimensioni immagine Y -dod_dod5015.property.dod_imageSource.title=Origine immagine -dod_dod5015.property.dod_imageSource.description=Origine immagine -dod_dod5015.property.dod_compression.title=Compressione -dod_dod5015.property.dod_compression.description=Compressione -dod_dod5015.property.dod_iccIcmProfile.title=Profilo ICC/ICM -dod_dod5015.property.dod_iccIcmProfile.description=Profilo ICC/ICM -dod_dod5015.property.dod_exifInformation.title=Informazioni EXIF -dod_dod5015.property.dod_exifInformation.description=Informazioni EXIF - -dod_dod5015.aspect.dod_webRecord.title=Record Web -dod_dod5015.aspect.dod_webRecord.description=Record Web -dod_dod5015.property.dod_webFileName.title=Nome file Web -dod_dod5015.property.dod_webFileName.description=Nome file Web -dod_dod5015.property.dod_webPlatform.title=Piattaforma Web -dod_dod5015.property.dod_webPlatform.description=Piattaforma Web -dod_dod5015.property.dod_webSiteName.title=Nome sito Web -dod_dod5015.property.dod_webSiteName.description=Nome sito Web -dod_dod5015.property.dod_webSiteURL.title=URL sito Web -dod_dod5015.property.dod_webSiteURL.description=URL sito Web -dod_dod5015.property.dod_captureMethod.title=Metodo di acquisizione -dod_dod5015.property.dod_captureMethod.description=Metodo di acquisizione -dod_dod5015.property.dod_captureDate.title=Data di acquisizione -dod_dod5015.property.dod_captureDate.description=Data di acquisizione -dod_dod5015.property.dod_contact.title=Contatto -dod_dod5015.property.dod_contact.description=Contatto -dod_dod5015.property.dod_contentManagementSystem.title=Sistema di gestione dei contenuti -dod_dod5015.property.dod_contentManagementSystem.description=Sistema di gestione dei contenuti - diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_ja.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_ja.properties deleted file mode 100644 index 9620bdf261..0000000000 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015-model_ja.properties +++ /dev/null @@ -1,73 +0,0 @@ -dod_dod5015.description=DOD5015\u30b3\u30f3\u30c6\u30f3\u30c4\u30e2\u30c7\u30eb - -dod_dod5015.type.dod_recordSeries.title=\u30ec\u30b3\u30fc\u30c9\u30b7\u30ea\u30fc\u30ba\uff08\u975e\u63a8\u5968\uff09 -dod_dod5015.type.dod_recordSeries.description=\u30ec\u30b3\u30fc\u30c9\u30b7\u30ea\u30fc\u30ba\uff08\u975e\u63a8\u5968\uff09 - -dod_dod5015.aspect.dod_scannedRecord.title=\u30b9\u30ad\u30e3\u30f3\u6e08\u307f\u30ec\u30b3\u30fc\u30c9 -dod_dod5015.aspect.dod_scannedRecord.description=\u30b9\u30ad\u30e3\u30f3\u6e08\u307f\u30ec\u30b3\u30fc\u30c9 -dod_dod5015.property.dod_scannedFormat.title=\u30a4\u30e1\u30fc\u30b8\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8 -dod_dod5015.property.dod_scannedFormat.description=\u30a4\u30e1\u30fc\u30b8\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8 -dod_dod5015.property.dod_scannedFormatVersion.title=\u30a4\u30e1\u30fc\u30b8\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3068\u30d0\u30fc\u30b8\u30e7\u30f3 -dod_dod5015.property.dod_scannedFormatVersion.description=\u30a4\u30e1\u30fc\u30b8\u306e\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3068\u30d0\u30fc\u30b8\u30e7\u30f3 -dod_dod5015.property.dod_resolutionX.title=\u30a4\u30e1\u30fc\u30b8\u306e\u89e3\u50cf\u5ea6X -dod_dod5015.property.dod_resolutionX.description=\u30a4\u30e1\u30fc\u30b8\u306e\u89e3\u50cf\u5ea6X -dod_dod5015.property.dod_resolutionY.title=\u30a4\u30e1\u30fc\u30b8\u306e\u89e3\u50cf\u5ea6Y -dod_dod5015.property.dod_resolutionY.description=\u30a4\u30e1\u30fc\u30b8\u306e\u89e3\u50cf\u5ea6Y -dod_dod5015.property.dod_scannedBitDepth.title=\u30b9\u30ad\u30e3\u30f3\u3057\u305f\u30d3\u30c3\u30c8\u6df1\u5ea6 -dod_dod5015.property.dod_scannedBitDepth.description=\u30b9\u30ad\u30e3\u30f3\u3057\u305f\u30d3\u30c3\u30c8\u6df1\u5ea6 - -dod_dod5015.aspect.dod_pdfRecord.title=PDF\u30ec\u30b3\u30fc\u30c9 -dod_dod5015.aspect.dod_pdfRecord.description=PDF\u30ec\u30b3\u30fc\u30c9 -dod_dod5015.property.dod_producingApplication.title=\u88fd\u4f5c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 -dod_dod5015.property.dod_producingApplication.description=\u88fd\u4f5c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 -dod_dod5015.property.dod_producingApplicationVersion.title=\u88fd\u4f5c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30d0\u30fc\u30b8\u30e7\u30f3 -dod_dod5015.property.dod_producingApplicationVersion.description=\u88fd\u4f5c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30d0\u30fc\u30b8\u30e7\u30f3 -dod_dod5015.property.dod_pdfVersion.title=PDF\u30d0\u30fc\u30b8\u30e7\u30f3 -dod_dod5015.property.dod_pdfVersion.description=PDF\u30d0\u30fc\u30b8\u30e7\u30f3 -dod_dod5015.property.dod_creatingApplication.title=\u5275\u4f5c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 -dod_dod5015.property.dod_creatingApplication.description=\u5275\u4f5c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 -dod_dod5015.property.dod_documentSecuritySettings.title=\u6587\u66f8\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u8a2d\u5b9a -dod_dod5015.property.dod_documentSecuritySettings.description=\u6587\u66f8\u306e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u8a2d\u5b9a - -dod_dod5015.aspect.dod_digitalPhotographRecord.title=\u30c7\u30b8\u30bf\u30eb\u5199\u771f\u30ec\u30b3\u30fc\u30c9 -dod_dod5015.aspect.dod_digitalPhotographRecord.description=\u30c7\u30b8\u30bf\u30eb\u5199\u771f\u30ec\u30b3\u30fc\u30c9 -dod_dod5015.property.dod_caption.title=\u30ad\u30e3\u30d7\u30b7\u30e7\u30f3 -dod_dod5015.property.dod_caption.description=\u30ad\u30e3\u30d7\u30b7\u30e7\u30f3 -dod_dod5015.property.dod_photographer.title=\u5199\u771f\u5bb6 -dod_dod5015.property.dod_photographer.description=\u5199\u771f\u5bb6 -dod_dod5015.property.dod_copyright.title=\u8457\u4f5c\u6a29 -dod_dod5015.property.dod_copyright.description=\u8457\u4f5c\u6a29 -dod_dod5015.property.dod_bitDepth.title=\u30d3\u30c3\u30c8\u6df1\u5ea6 -dod_dod5015.property.dod_bitDepth.description=\u30d3\u30c3\u30c8\u6df1\u5ea6 -dod_dod5015.property.dod_imageSizeX.title=\u30a4\u30e1\u30fc\u30b8\u306e\u30b5\u30a4\u30baX -dod_dod5015.property.dod_imageSizeX.description=\u30a4\u30e1\u30fc\u30b8\u306e\u30b5\u30a4\u30baX -dod_dod5015.property.dod_imageSizeY.title=\u30a4\u30e1\u30fc\u30b8\u306e\u30b5\u30a4\u30baY -dod_dod5015.property.dod_imageSizeY.description=\u30a4\u30e1\u30fc\u30b8\u306e\u30b5\u30a4\u30baY -dod_dod5015.property.dod_imageSource.title=\u30a4\u30e1\u30fc\u30b8\u30bd\u30fc\u30b9 -dod_dod5015.property.dod_imageSource.description=\u30a4\u30e1\u30fc\u30b8\u30bd\u30fc\u30b9 -dod_dod5015.property.dod_compression.title=\u5727\u7e2e -dod_dod5015.property.dod_compression.description=\u5727\u7e2e -dod_dod5015.property.dod_iccIcmProfile.title=ICC/ICM\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb -dod_dod5015.property.dod_iccIcmProfile.description=ICC/ICM\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb -dod_dod5015.property.dod_exifInformation.title=EXIF\u60c5\u5831 -dod_dod5015.property.dod_exifInformation.description=EXIF\u60c5\u5831 - -dod_dod5015.aspect.dod_webRecord.title=Web\u30ec\u30b3\u30fc\u30c9 -dod_dod5015.aspect.dod_webRecord.description=Web\u30ec\u30b3\u30fc\u30c9 -dod_dod5015.property.dod_webFileName.title=Web\u30d5\u30a1\u30a4\u30eb\u540d -dod_dod5015.property.dod_webFileName.description=Web\u30d5\u30a1\u30a4\u30eb\u540d -dod_dod5015.property.dod_webPlatform.title=Web\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0 -dod_dod5015.property.dod_webPlatform.description=Web\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0 -dod_dod5015.property.dod_webSiteName.title=Web\u30b5\u30a4\u30c8\u540d -dod_dod5015.property.dod_webSiteName.description=Web\u30b5\u30a4\u30c8\u540d -dod_dod5015.property.dod_webSiteURL.title=Web\u30b5\u30a4\u30c8URL -dod_dod5015.property.dod_webSiteURL.description=Web\u30b5\u30a4\u30c8URL -dod_dod5015.property.dod_captureMethod.title=\u30ad\u30e3\u30d7\u30c1\u30e3\u624b\u6cd5 -dod_dod5015.property.dod_captureMethod.description=\u30ad\u30e3\u30d7\u30c1\u30e3\u624b\u6cd5 -dod_dod5015.property.dod_captureDate.title=\u30ad\u30e3\u30d7\u30c1\u30e3\u65e5 -dod_dod5015.property.dod_captureDate.description=\u30ad\u30e3\u30d7\u30c1\u30e3\u65e5 -dod_dod5015.property.dod_contact.title=\u9023\u7d61\u5148 -dod_dod5015.property.dod_contact.description=\u9023\u7d61\u5148 -dod_dod5015.property.dod_contentManagementSystem.title=\u30b3\u30f3\u30c6\u30f3\u30c4\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0 -dod_dod5015.property.dod_contentManagementSystem.description=\u30b3\u30f3\u30c6\u30f3\u30c4\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0 - diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015.properties deleted file mode 100644 index ae0fd1111b..0000000000 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015.properties +++ /dev/null @@ -1,8 +0,0 @@ -# Classified Records Capabilities -capability.group.classifiedRecords.title=Classified Records -capability.UpdateClassificationDates.title=Update Classification Dates -capability.CreateModifyDestroyClassificationGuides.title=Create Modify Destroy Classification Guides -capability.UpgradeDowngradeAndDeclassifyRecords.title=Upgrade Downgrade and Declassify Records -capability.UpdateExemptionCategories.title=Update Exemption Categories -capability.MapClassificationGuideMetadata.title=Map Classification Guide Metadata -capability.CreateModifyDestroyTimeframes.title=Create Modify Destroy Time Frames \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_de.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_de.properties deleted file mode 100644 index 72a9f222c2..0000000000 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_de.properties +++ /dev/null @@ -1,8 +0,0 @@ -# Classified Records Capabilities -capability.group.classifiedRecords.title=Klassifizierte Datens\u00e4tze -capability.UpdateClassificationDates.title=Klassifizierungsdaten aktualisieren -capability.CreateModifyDestroyClassificationGuides.title=Klassifizierungsleitfaden erstellen/\u00e4ndern/vernichten -capability.UpgradeDowngradeAndDeclassifyRecords.title=Datens\u00e4tze h\u00f6her-/herunterstufen und ihre Klassifizierung aufheben -capability.UpdateExemptionCategories.title=Ausnahmekategorien aktualisieren -capability.MapClassificationGuideMetadata.title=Metadaten f\u00fcr Klassifizierungsleitfaden zuordnen -capability.CreateModifyDestroyTimeframes.title=Zeitrahmen erstellen/\u00e4ndern/vernichten \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_es.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_es.properties deleted file mode 100644 index a1e5dd3aab..0000000000 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_es.properties +++ /dev/null @@ -1,8 +0,0 @@ -# Classified Records Capabilities -capability.group.classifiedRecords.title=Documentos de archivo clasificados -capability.UpdateClassificationDates.title=Actualizar fechas de clasificaci\u00f3n -capability.CreateModifyDestroyClassificationGuides.title=Crear, modificar o destruir gu\u00edas de clasificaci\u00f3n -capability.UpgradeDowngradeAndDeclassifyRecords.title=Subir, bajar y desclasificar documentos de archivo -capability.UpdateExemptionCategories.title=Actualizar categor\u00edas de exenci\u00f3n -capability.MapClassificationGuideMetadata.title=Asignar metadatos de gu\u00eda de clasificaci\u00f3n -capability.CreateModifyDestroyTimeframes.title=Crear, modificar o destruir plazos de tiempo \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_fr.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_fr.properties deleted file mode 100644 index e83b6808fe..0000000000 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_fr.properties +++ /dev/null @@ -1,8 +0,0 @@ -# Classified Records Capabilities -capability.group.classifiedRecords.title=Documents d'archives classifi\u00e9s -capability.UpdateClassificationDates.title=Dates de mise \u00e0 jour des classifications -capability.CreateModifyDestroyClassificationGuides.title=Guides de cr\u00e9ation, de modification et de destruction de classification -capability.UpgradeDowngradeAndDeclassifyRecords.title=Mettre \u00e0 jour, r\u00e9trograder et d\u00e9classifier des documents d'archives -capability.UpdateExemptionCategories.title=Mettre \u00e0 jour des cat\u00e9gories d'exemptions -capability.MapClassificationGuideMetadata.title=Mapper les m\u00e9tadonn\u00e9es de guide de classification -capability.CreateModifyDestroyTimeframes.title=Cr\u00e9er, modifier, d\u00e9truire des p\u00e9riodes \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_it.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_it.properties deleted file mode 100644 index 53ee730540..0000000000 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_it.properties +++ /dev/null @@ -1,8 +0,0 @@ -# Classified Records Capabilities -capability.group.classifiedRecords.title=Record classificati -capability.UpdateClassificationDates.title=Aggiorna date di classificazione -capability.CreateModifyDestroyClassificationGuides.title=Crea, modifica, elimina definitivamente le guide di classificazione -capability.UpgradeDowngradeAndDeclassifyRecords.title=Aggiorna, esegui downgrade e declassifica record -capability.UpdateExemptionCategories.title=Aggiorna categorie di esclusione -capability.MapClassificationGuideMetadata.title=Esegui mapping dei metadati delle guide di classificazione -capability.CreateModifyDestroyTimeframes.title=Crea, modifica, elimina definitivamente gli intervalli di tempo \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_ja.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_ja.properties deleted file mode 100644 index 6fc51c1f4b..0000000000 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/dod5015/messages/dod5015_ja.properties +++ /dev/null @@ -1,8 +0,0 @@ -# Classified Records Capabilities -capability.group.classifiedRecords.title=\u5206\u985e\u6e08\u307f\u30ec\u30b3\u30fc\u30c9 -capability.UpdateClassificationDates.title=\u5206\u985e\u65e5\u306e\u66f4\u65b0 -capability.CreateModifyDestroyClassificationGuides.title=\u5206\u985e\u30ac\u30a4\u30c9\u306e\u4f5c\u6210/\u4fee\u6b63/\u7834\u68c4 -capability.UpgradeDowngradeAndDeclassifyRecords.title=\u30ec\u30b3\u30fc\u30c9\u306e\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9/\u30c0\u30a6\u30f3\u30b0\u30ec\u30fc\u30c9/\u5206\u985e\u89e3\u9664 -capability.UpdateExemptionCategories.title=\u9069\u7528\u9664\u5916\u30ab\u30c6\u30b4\u30ea\u306e\u66f4\u65b0 -capability.MapClassificationGuideMetadata.title=\u5206\u985e\u30ac\u30a4\u30c9\u30e1\u30bf\u30c7\u30fc\u30bf\u306e\u30de\u30c3\u30d7 -capability.CreateModifyDestroyTimeframes.title=\u6642\u9593\u67a0\u306e\u4f5c\u6210/\u4fee\u6b63/\u7834\u68c4 \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/log4j.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/log4j.properties index 232fb9847f..baf53dd4bf 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/log4j.properties +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/log4j.properties @@ -4,11 +4,6 @@ log4j.logger.org.alfresco.module.org_alfresco_module_rm.caveat=warn log4j.logger.org.alfresco.module.org_alfresco_module_rm.security.RMMethodSecurityPostProcessor=warn -# -# Module patches -# -log4j.logger.org.alfresco.module.org_alfresco_module_rm.patch=info - # # RM permission debug # @@ -24,5 +19,10 @@ log4j.logger.org.alfresco.module.org_alfresco_module_rm.patch=info # # Behaviour debug # -log4j.logger.org.alfresco.repo.policy.annotation.AnnotatedBehaviourPostProcessor=debug -log4j.logger.org.alfresco.module.org_alfresco_module_rm.behaviour.BaseBehaviourBean=debug \ No newline at end of file +log4j.logger.org.alfresco.repo.policy.annotation.AnnotatedBehaviourPostProcessor=info +log4j.logger.org.alfresco.module.org_alfresco_module_rm.behaviour.BaseBehaviourBean=info + +# +# Patch debug +# +log4j.logger.org.alfresco.module.org_alfresco_module_rm.patch=info \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/records-model.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/records-model.properties index 71dcabdf8e..c4a8f6abc7 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/records-model.properties +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/records-model.properties @@ -160,6 +160,22 @@ rma_recordsmanagement.aspect.rma_record.title=Record rma_recordsmanagement.aspect.rma_record.decription=Record rma_recordsmanagement.property.rma_dateFiled.title=Date Filed rma_recordsmanagement.property.rma_dateFiled.decription=Date Filed +rma_recordsmanagement.property.rma_publicationDate.title=Publication Date +rma_recordsmanagement.property.rma_publicationDate.decription=Publication Date +rma_recordsmanagement.property.rma_originator.title=Originator +rma_recordsmanagement.property.rma_originator.decription=Originator +rma_recordsmanagement.property.rma_originatingOrganization.title=Originating Organization +rma_recordsmanagement.property.rma_originatingOrganization.decription=Originating Organization +rma_recordsmanagement.property.rma_mediaType.title=Media Type +rma_recordsmanagement.property.rma_mediaType.decription=Media Type +rma_recordsmanagement.property.rma_format.title=Format +rma_recordsmanagement.property.rma_format.decription=Format +rma_recordsmanagement.property.rma_dateReceived.title=Date Received +rma_recordsmanagement.property.rma_dateReceived.decription=Date Received +rma_recordsmanagement.property.rma_address.title=Addressee +rma_recordsmanagement.property.rma_address.decription=Addressee +rma_recordsmanagement.property.rma_otherAddress.title=Other Addressee +rma_recordsmanagement.property.rma_otherAddress.decription=Other Addressee rma_recordsmanagement.property.rma_origionalName=Original Name rma_recordsmanagement.aspect.rma_recordMetaData.title=Record Meta-data diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/model/recordsModel.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/model/recordsModel.xml index 21c6b126e4..f1506022ac 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/model/recordsModel.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/model/recordsModel.xml @@ -610,7 +610,6 @@ - Records Management Root @@ -733,7 +732,88 @@ Original Name d:text true - + + + + Publication Date + d:date + true + + + + Originator + d:text + true + + true + false + false + + + + + Originating Organization + d:text + true + + true + false + false + + + + + Media Type + d:text + false + + true + false + false + + + + + Format + d:text + false + + true + false + false + + + + + Date Received + d:date + false + + + + + Addressee + d:text + false + + true + false + false + + + + Other Addressee + d:text + false + + true + false + false + + diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/module-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/module-context.xml index ef3ba4d3ca..d2597c510e 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/module-context.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/module-context.xml @@ -24,6 +24,7 @@ + @@ -86,7 +87,7 @@ - + diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/module-schema.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/module-schema.properties new file mode 100755 index 0000000000..dc4bce14b5 --- /dev/null +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/module-schema.properties @@ -0,0 +1,6 @@ +# +# Alfresco Records Management Module Schema Version +# +# @since 2.2 +# +org_alfresco_module_rm.schema=1000 \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-context.xml new file mode 100644 index 0000000000..ba47c77f86 --- /dev/null +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-context.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v20-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v20-context.xml new file mode 100644 index 0000000000..863cc68bac --- /dev/null +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v20-context.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-patch-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v21-context.xml similarity index 52% rename from rm-server/config/alfresco/module/org_alfresco_module_rm/rm-patch-context.xml rename to rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v21-context.xml index e64be41bde..65930dcf9a 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-patch-context.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v21-context.xml @@ -3,84 +3,11 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + class="org.alfresco.module.org_alfresco_module_rm.patch.v21.NotificationTemplatePatch_v21"> @@ -98,7 +25,7 @@ + class="org.alfresco.module.org_alfresco_module_rm.patch.v21.RMv21InPlacePatch"> @@ -113,20 +40,23 @@ + parent="rm.baseModulePatch" + class="org.alfresco.module.org_alfresco_module_rm.patch.v21.RMv21CapabilityPatch"> + + + - + class="org.alfresco.module.org_alfresco_module_rm.patch.v21.RMv21RMAdminUserPatch"> - + @@ -139,7 +69,7 @@ + class="org.alfresco.module.org_alfresco_module_rm.patch.v21.RMv21RecordInheritancePatch"> @@ -154,7 +84,7 @@ + class="org.alfresco.module.org_alfresco_module_rm.patch.v21.RMv21RolesPatch"> @@ -167,7 +97,7 @@ + class="org.alfresco.module.org_alfresco_module_rm.patch.v21.RMv21ReportServicePatch"> @@ -179,7 +109,7 @@ + class="org.alfresco.module.org_alfresco_module_rm.patch.v21.RMv21BehaviorScriptsPatch"> @@ -188,34 +118,5 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v22-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v22-context.xml new file mode 100644 index 0000000000..9962527d11 --- /dev/null +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/patch/rm-patch-v22-context.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-audit-context.xml old mode 100644 new mode 100755 diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-disposition-properties-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-disposition-properties-context.xml index b83ba6243b..c16bd5567d 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-disposition-properties-context.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-disposition-properties-context.xml @@ -33,8 +33,14 @@ + + + + + + \ No newline at end of file diff --git a/rm-server/config/readme.txt b/rm-server/config/readme.txt new file mode 100644 index 0000000000..4659be670f --- /dev/null +++ b/rm-server/config/readme.txt @@ -0,0 +1 @@ +Files in this directory will be added to the amp. \ No newline at end of file diff --git a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/CannotApplyConstraintMetadataException.java b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/CannotApplyConstraintMetadataException.java index 5550b8f4ae..163c50e5d6 100644 --- a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/CannotApplyConstraintMetadataException.java +++ b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/CannotApplyConstraintMetadataException.java @@ -1,36 +1,36 @@ -/* - * Copyright (C) 2005-2011 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.module.org_alfresco_module_rm; - -import org.alfresco.service.namespace.QName; -import org.springframework.extensions.surf.util.I18NUtil; - -/** - * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.CannotApplyConstraintMetadataException} - */ -public class CannotApplyConstraintMetadataException extends CustomMetadataException -{ - private static final long serialVersionUID = -6194867814140009959L; - public static final String MSG_CANNOT_APPLY_CONSTRAINT = "rm.admin.cannot-apply-constraint"; - - public CannotApplyConstraintMetadataException(QName lovConstraint, String propIdAsString, QName dataType) - { - super(I18NUtil.getMessage(CannotApplyConstraintMetadataException.MSG_CANNOT_APPLY_CONSTRAINT, lovConstraint, propIdAsString, dataType)); - } -} +/* + * Copyright (C) 2005-2011 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.module.org_alfresco_module_rm; + +import org.alfresco.service.namespace.QName; +import org.springframework.extensions.surf.util.I18NUtil; + +/** + * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.CannotApplyConstraintMetadataException} + */ +public class CannotApplyConstraintMetadataException extends CustomMetadataException +{ + private static final long serialVersionUID = -6194867814140009959L; + public static final String MSG_CANNOT_APPLY_CONSTRAINT = "rm.admin.cannot-apply-constraint"; + + public CannotApplyConstraintMetadataException(QName lovConstraint, String propIdAsString, QName dataType) + { + super(I18NUtil.getMessage(CannotApplyConstraintMetadataException.MSG_CANNOT_APPLY_CONSTRAINT, lovConstraint, propIdAsString, dataType)); + } +} diff --git a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/CustomMetadataException.java b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/CustomMetadataException.java index ac98c5467c..6b360ef97a 100644 --- a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/CustomMetadataException.java +++ b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/CustomMetadataException.java @@ -1,32 +1,32 @@ -/* - * Copyright (C) 2005-2011 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.module.org_alfresco_module_rm; - -/** - * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.CustomMetadataException} - */ -public abstract class CustomMetadataException extends Exception -{ - private static final long serialVersionUID = -6676112294794381360L; - - public CustomMetadataException(String msg) - { - super(msg); - } -} +/* + * Copyright (C) 2005-2011 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.module.org_alfresco_module_rm; + +/** + * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.CustomMetadataException} + */ +public abstract class CustomMetadataException extends Exception +{ + private static final long serialVersionUID = -6676112294794381360L; + + public CustomMetadataException(String msg) + { + super(msg); + } +} diff --git a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/InvalidCustomAspectMetadataException.java b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/InvalidCustomAspectMetadataException.java index f468610476..6ffe9b7bbd 100644 --- a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/InvalidCustomAspectMetadataException.java +++ b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/InvalidCustomAspectMetadataException.java @@ -1,36 +1,36 @@ -/* - * Copyright (C) 2005-2011 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.module.org_alfresco_module_rm; - -import org.alfresco.service.namespace.QName; -import org.springframework.extensions.surf.util.I18NUtil; - -/** - * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.InvalidCustomAspectMetadataException} - */ -public class InvalidCustomAspectMetadataException extends CustomMetadataException -{ - private static final long serialVersionUID = -6194867814140009959L; - public static final String MSG_INVALID_CUSTOM_ASPECT = "rm.admin.invalid-custom-aspect"; - - public InvalidCustomAspectMetadataException(QName customAspect, String aspectName) - { - super(I18NUtil.getMessage(MSG_INVALID_CUSTOM_ASPECT, customAspect, aspectName)); - } -} +/* + * Copyright (C) 2005-2011 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.module.org_alfresco_module_rm; + +import org.alfresco.service.namespace.QName; +import org.springframework.extensions.surf.util.I18NUtil; + +/** + * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.InvalidCustomAspectMetadataException} + */ +public class InvalidCustomAspectMetadataException extends CustomMetadataException +{ + private static final long serialVersionUID = -6194867814140009959L; + public static final String MSG_INVALID_CUSTOM_ASPECT = "rm.admin.invalid-custom-aspect"; + + public InvalidCustomAspectMetadataException(QName customAspect, String aspectName) + { + super(I18NUtil.getMessage(MSG_INVALID_CUSTOM_ASPECT, customAspect, aspectName)); + } +} diff --git a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/NotCustomisableMetadataException.java b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/NotCustomisableMetadataException.java index 75e35e4fce..dff3eb4e7e 100644 --- a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/NotCustomisableMetadataException.java +++ b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/NotCustomisableMetadataException.java @@ -1,35 +1,35 @@ -/* - * Copyright (C) 2005-2011 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.module.org_alfresco_module_rm; - -import org.springframework.extensions.surf.util.I18NUtil; - -/** - * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.NotCustomisableMetadataException} - */ -public class NotCustomisableMetadataException extends CustomMetadataException -{ - private static final long serialVersionUID = -6194867814140009959L; - public static final String MSG_NOT_CUSTOMISABLE = "rm.admin.not-customisable"; - - public NotCustomisableMetadataException(String aspectName) - { - super(I18NUtil.getMessage(MSG_NOT_CUSTOMISABLE, aspectName)); - } -} +/* + * Copyright (C) 2005-2011 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.module.org_alfresco_module_rm; + +import org.springframework.extensions.surf.util.I18NUtil; + +/** + * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.NotCustomisableMetadataException} + */ +public class NotCustomisableMetadataException extends CustomMetadataException +{ + private static final long serialVersionUID = -6194867814140009959L; + public static final String MSG_NOT_CUSTOMISABLE = "rm.admin.not-customisable"; + + public NotCustomisableMetadataException(String aspectName) + { + super(I18NUtil.getMessage(MSG_NOT_CUSTOMISABLE, aspectName)); + } +} diff --git a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/PropertyAlreadyExistsMetadataException.java b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/PropertyAlreadyExistsMetadataException.java index 292b8029a4..e902e2cc0a 100644 --- a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/PropertyAlreadyExistsMetadataException.java +++ b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/PropertyAlreadyExistsMetadataException.java @@ -1,36 +1,36 @@ -/* - * Copyright (C) 2005-2011 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.module.org_alfresco_module_rm; - -import org.springframework.extensions.surf.util.I18NUtil; - -/** - * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.PropertyAlreadyExistsMetadataException} - */ -public class PropertyAlreadyExistsMetadataException extends CustomMetadataException -{ - private static final long serialVersionUID = -6194867814140009959L; - - public static final String MSG_PROPERTY_ALREADY_EXISTS = "rm.admin.property-already-exists"; - - public PropertyAlreadyExistsMetadataException(String propIdAsString) - { - super(I18NUtil.getMessage(MSG_PROPERTY_ALREADY_EXISTS, propIdAsString)); - } -} +/* + * Copyright (C) 2005-2011 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.module.org_alfresco_module_rm; + +import org.springframework.extensions.surf.util.I18NUtil; + +/** + * @deprecated as of 2.1 see {@link org.alfresco.module.org_alfresco_module_rm.admin.PropertyAlreadyExistsMetadataException} + */ +public class PropertyAlreadyExistsMetadataException extends CustomMetadataException +{ + private static final long serialVersionUID = -6194867814140009959L; + + public static final String MSG_PROPERTY_ALREADY_EXISTS = "rm.admin.property-already-exists"; + + public PropertyAlreadyExistsMetadataException(String propIdAsString) + { + super(I18NUtil.getMessage(MSG_PROPERTY_ALREADY_EXISTS, propIdAsString)); + } +} diff --git a/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceDeprecated.java b/rm-server/source/compatibility/org/alfresco/module/org_alfresco_module_rm/audit/RecordsManagementAuditServiceDeprecated.java old mode 100644 new mode 100755 diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/AuditableActionExecuterAbstractBase.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/AuditableActionExecuterAbstractBase.java old mode 100644 new mode 100755 diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/constraint/ManualEventParameterConstraint.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/constraint/ManualEventParameterConstraint.java old mode 100644 new mode 100755 diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/ExecuteScriptAction.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/action/dm/ExecuteScriptAction.java old mode 100644 new mode 100755 diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/CreateObjectAuditEvent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/CreateObjectAuditEvent.java old mode 100644 new mode 100755 diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/CreatePersonAuditEvent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/CreatePersonAuditEvent.java old mode 100644 new mode 100755 diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/DeleteObjectAuditEvent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/DeleteObjectAuditEvent.java old mode 100644 new mode 100755 diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/UpdateObjectAuditEvent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/audit/event/UpdateObjectAuditEvent.java old mode 100644 new mode 100755 diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/bootstrap/BootstrapImporterModuleComponent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/bootstrap/BootstrapImporterModuleComponent.java index 3df844e692..4549f7edd8 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/bootstrap/BootstrapImporterModuleComponent.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/bootstrap/BootstrapImporterModuleComponent.java @@ -18,6 +18,7 @@ */ package org.alfresco.module.org_alfresco_module_rm.bootstrap; +import org.alfresco.module.org_alfresco_module_rm.patch.ModulePatchExecuter; import org.alfresco.repo.module.ImporterModuleComponent; import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; @@ -31,15 +32,31 @@ import org.alfresco.service.cmr.repository.StoreRef; */ public class BootstrapImporterModuleComponent extends ImporterModuleComponent { + /** root config nore id */ private static final String CONFIG_NODEID = "rm_config_folder"; + /** node service */ private NodeService nodeService; + /** module patch executer */ + private ModulePatchExecuter modulePatchExecuter; + + /** + * @param nodeService node service + */ public void setNodeService(NodeService nodeService) { this.nodeService = nodeService; } + /** + * @param modulePatchExecuter module patch executer + */ + public void setModulePatchExecuter(ModulePatchExecuter modulePatchExecuter) + { + this.modulePatchExecuter = modulePatchExecuter; + } + /** * Need to check whether this module has already been executed. * @@ -53,7 +70,13 @@ public class BootstrapImporterModuleComponent extends ImporterModuleComponent NodeRef nodeRef = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, CONFIG_NODEID); if (nodeService.exists(nodeRef) == false) { + // execute internal super.executeInternal(); + + System.out.println("Initialising schema version from config value"); + + // initialise the schema version (based on current configured value) + modulePatchExecuter.initSchemaVersion(); } } catch (Throwable exception) diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/CompositeCapability.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/CompositeCapability.java old mode 100644 new mode 100755 diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dod5015/DOD5015Model.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dod5015/DOD5015Model.java index 454ead7431..1562e72f96 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dod5015/DOD5015Model.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dod5015/DOD5015Model.java @@ -32,16 +32,7 @@ public interface DOD5015Model public static final String DOD_URI = "http://www.alfresco.org/model/dod5015/1.0"; public static final String DOD_PREFIX = "dod"; - // DOD Record - - public static final QName ASPECT_DOD_5015_RECORD = QName.createQName(DOD_URI, "dod5015record"); - public static final QName PROP_ORIGINATOR = QName.createQName(DOD_URI, "originator"); - public static final QName PROP_ORIGINATING_ORGANIZATION = QName.createQName(DOD_URI, "originatingOrganization"); - public static final QName PROP_PUBLICATION_DATE = QName.createQName(DOD_URI, "publicationDate"); - public static final QName PROP_MEDIA_TYPE = QName.createQName(DOD_URI, "mediaType"); - public static final QName PROP_FORMAT = QName.createQName(DOD_URI, "format"); - public static final QName PROP_DATE_RECEIVED = QName.createQName(DOD_URI, "dateReceived"); - + // DOD 5015 Custom Type aspects and their properties // Scanned Record public static final QName ASPECT_SCANNED_RECORD = QName.createQName(DOD_URI, "scannedRecord"); public static final QName PROP_SCANNED_FORMAT = QName.createQName(DOD_URI, "scannedFormat"); diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dod5015/model/dod/aspect/DOD5015RecordAspect.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dod5015/model/dod/aspect/DOD5015RecordAspect.java deleted file mode 100644 index 9cc6235fbf..0000000000 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/dod5015/model/dod/aspect/DOD5015RecordAspect.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (C) 2005-2011 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.module.org_alfresco_module_rm.dod5015.model.dod.aspect; - -import org.alfresco.module.org_alfresco_module_rm.dod5015.DOD5015Model; -import org.alfresco.module.org_alfresco_module_rm.model.BaseBehaviourBean; -import org.alfresco.repo.node.NodeServicePolicies; -import org.alfresco.repo.policy.Behaviour.NotificationFrequency; -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.NodeRef; -import org.alfresco.service.namespace.QName; - -/** - * dod:dod5015record behaviour bean - * - * @author Roy Wetherall - * @since 2.2 - */ -@BehaviourBean -public class DOD5015RecordAspect extends BaseBehaviourBean - implements NodeServicePolicies.OnAddAspectPolicy, - DOD5015Model -{ - /** - * Ensure that the DOD record aspect meta-data is applied. - * - * @see org.alfresco.repo.node.NodeServicePolicies.OnAddAspectPolicy#onAddAspect(org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.namespace.QName) - */ - @Behaviour - ( - kind=BehaviourKind.CLASS, - type="rma:record", - notificationFrequency = NotificationFrequency.FIRST_EVENT - ) - @Override - public void onAddAspect(NodeRef nodeRef, QName aspect) - { - if (nodeService.exists(nodeRef) == true && - nodeService.hasAspect(nodeRef, ASPECT_DOD_5015_RECORD) == false) - { - nodeService.addAspect(nodeRef, ASPECT_DOD_5015_RECORD, null); - } - } - -} diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/fileplan/FilePlanServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/fileplan/FilePlanServiceImpl.java index 0c39199086..2ab354fc31 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/fileplan/FilePlanServiceImpl.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/fileplan/FilePlanServiceImpl.java @@ -426,7 +426,8 @@ public class FilePlanServiceImpl extends ServiceBaseImpl ParameterCheck.mandatory("filePlan", filePlan); if (isFilePlan(filePlan) == false) { - throw new AlfrescoRuntimeException("Unable to get the container " + containerName + ", because passed node is not a file plan."); + throw new AlfrescoRuntimeException("Unable to get the container " + containerName + + ", because passed node is not a file plan. (type=" + nodeService.getType(filePlan).toString() + ")"); } NodeRef result = null; diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementFormFilter.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementFormFilter.java index 99d285277b..733da7320d 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementFormFilter.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementFormFilter.java @@ -124,7 +124,7 @@ public abstract class RecordsManagementFormFilter extends AbstractFilt * @param props * @param setId */ - protected void addPropertyFieldsToGroup(Form form, Map props, String setId, String setLabel) + protected void addPropertyFieldsToGroup(Form form, Map props, String setId) { if (props != null) { @@ -137,7 +137,7 @@ public abstract class RecordsManagementFormFilter extends AbstractFilt NodeRef nodeRef = new NodeRef(id); Serializable value = nodeService.getProperty(nodeRef, entry.getKey()); - FieldGroup group = new FieldGroup(setId, setLabel, false, false, null); + FieldGroup group = new FieldGroup(setId, null, false, false, null); Field field = FieldUtils.makePropertyField(prop, value, group, namespaceService, dictionaryService); form.addField(field); diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementNodeFormFilter.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementNodeFormFilter.java index d0b740615f..21ad07f4ca 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementNodeFormFilter.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/forms/RecordsManagementNodeFormFilter.java @@ -39,9 +39,7 @@ import org.alfresco.repo.forms.Form; import org.alfresco.repo.forms.PropertyFieldDefinition; import org.alfresco.repo.forms.processor.node.FieldUtils; import org.alfresco.repo.forms.processor.node.FormFieldConstants; -import org.alfresco.repo.i18n.StaticMessageLookup; import org.alfresco.repo.security.authentication.AuthenticationUtil; -import org.alfresco.service.cmr.dictionary.AspectDefinition; import org.alfresco.service.cmr.dictionary.DataTypeDefinition; import org.alfresco.service.cmr.dictionary.PropertyDefinition; import org.alfresco.service.cmr.repository.NodeRef; @@ -171,7 +169,7 @@ public class RecordsManagementNodeFormFilter extends RecordsManagementFormFilter for (QName customisable : customisables) { - addPropertyFieldsToGroup(form, rmAdminService.getCustomPropertyDefinitions(customisable), CUSTOM_RM_FIELD_GROUP_ID, null); + addPropertyFieldsToGroup(form, rmAdminService.getCustomPropertyDefinitions(customisable), CUSTOM_RM_FIELD_GROUP_ID); } } @@ -190,15 +188,7 @@ public class RecordsManagementNodeFormFilter extends RecordsManagementFormFilter { String aspectName = aspect.getPrefixedQName(namespaceService).toPrefixString().replace(":", "-"); String setId = RM_METADATA_PREFIX + aspectName; - - String setLabel = null; - AspectDefinition aspectDefinition = dictionaryService.getAspect(aspect); - if (aspectDefinition != null) - { - setLabel = aspectDefinition.getTitle(new StaticMessageLookup()); - } - - addPropertyFieldsToGroup(form, dictionaryService.getPropertyDefs(aspect), setId, setLabel); + addPropertyFieldsToGroup(form, dictionaryService.getPropertyDefs(aspect), setId); } } } diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/RecordsManagementModel.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/RecordsManagementModel.java index 44e39bea27..b6e560e244 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/RecordsManagementModel.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/RecordsManagementModel.java @@ -100,12 +100,12 @@ public interface RecordsManagementModel extends RecordsManagementCustomModel public static final QName ASPECT_RECORD = QName.createQName(RM_URI, "record"); public static final QName PROP_DATE_FILED = QName.createQName(RM_URI, "dateFiled"); public static final QName PROP_ORIGIONAL_NAME = QName.createQName(RM_URI, "origionalName"); - // public static final QName PROP_ORIGINATOR = QName.createQName(RM_URI, "originator"); - // public static final QName PROP_ORIGINATING_ORGANIZATION = QName.createQName(RM_URI, "originatingOrganization"); - // public static final QName PROP_PUBLICATION_DATE = QName.createQName(RM_URI, "publicationDate"); - // public static final QName PROP_MEDIA_TYPE = QName.createQName(RM_URI, "mediaType"); - // public static final QName PROP_FORMAT = QName.createQName(RM_URI, "format"); - // public static final QName PROP_DATE_RECEIVED = QName.createQName(RM_URI, "dateReceived"); + public static final QName PROP_ORIGINATOR = QName.createQName(RM_URI, "originator"); + public static final QName PROP_ORIGINATING_ORGANIZATION = QName.createQName(RM_URI, "originatingOrganization"); + public static final QName PROP_PUBLICATION_DATE = QName.createQName(RM_URI, "publicationDate"); + public static final QName PROP_MEDIA_TYPE = QName.createQName(RM_URI, "mediaType"); + public static final QName PROP_FORMAT = QName.createQName(RM_URI, "format"); + public static final QName PROP_DATE_RECEIVED = QName.createQName(RM_URI, "dateReceived"); // Common record details public static final QName PROP_LOCATION = QName.createQName(RM_URI, "location"); diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/DispositionLifecycleAspect.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/DispositionLifecycleAspect.java old mode 100644 new mode 100755 diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/GhostedAspect.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/GhostedAspect.java index 977f95ee44..cc7aa4bbb2 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/GhostedAspect.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/GhostedAspect.java @@ -21,7 +21,6 @@ package org.alfresco.module.org_alfresco_module_rm.model.rma.aspect; import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.module.org_alfresco_module_rm.model.BaseBehaviourBean; import org.alfresco.repo.content.ContentServicePolicies; -import org.alfresco.repo.policy.Behaviour.NotificationFrequency; import org.alfresco.repo.policy.annotation.Behaviour; import org.alfresco.repo.policy.annotation.BehaviourBean; import org.alfresco.repo.policy.annotation.BehaviourKind; @@ -34,9 +33,9 @@ import org.springframework.extensions.surf.util.I18NUtil; * @author Roy Wetherall * @since 2.2 */ -@BehaviourBean +@BehaviourBean ( - defaultType = "rma:ghosted" // optional + defaultType = "rma:ghosted" ) public class GhostedAspect extends BaseBehaviourBean implements ContentServicePolicies.OnContentUpdatePolicy @@ -48,18 +47,11 @@ public class GhostedAspect extends BaseBehaviourBean * Ensure that the content of a ghosted node can not be updated. * * @see org.alfresco.repo.content.ContentServicePolicies.OnContentUpdatePolicy#onContentUpdate(org.alfresco.service.cmr.repository.NodeRef, boolean) - */ + */ @Override @Behaviour ( - kind = BehaviourKind.CLASS, // required, use ASSOC for association behaviors - notificationFrequency = NotificationFrequency.EVERY_EVENT, // (defaults to EVERY_EVENT) - policy = "alf:onContentUpdate", // (defaults to alf:) - type = "rma:ghosted" // required, unless defaultType set - - // isService (default false) - // name (only needs to specified if associated behvaiour object needs to be accessed) - // assocType (defaults to cm:contains, used with BehaviourKind.ASSOC) + kind = BehaviourKind.CLASS ) public void onContentUpdate(NodeRef Content, boolean bNew) { diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordSearchAspect.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/RecordSearchAspect.java old mode 100644 new mode 100755 diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/VitalRecordAspect.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/aspect/VitalRecordAspect.java old mode 100644 new mode 100755 diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordFolderType.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordFolderType.java old mode 100644 new mode 100755 diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/AbstractModulePatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/AbstractModulePatch.java new file mode 100755 index 0000000000..097c3ebba2 --- /dev/null +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/AbstractModulePatch.java @@ -0,0 +1,260 @@ +/* + * 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.module.org_alfresco_module_rm.patch; + +import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback; +import org.alfresco.service.transaction.TransactionService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.beans.factory.BeanNameAware; + +/** + * Abstract module patch implementation. + * + * @author Roy Wetherall + * @since 2.2 + */ +public abstract class AbstractModulePatch implements ModulePatch, BeanNameAware +{ + /** logger */ + protected static Log logger = LogFactory.getLog(ModulePatch.class); + + /** module patch service */ + private ModulePatchExecuter modulePatchExecuter; + + /** transaction service */ + protected TransactionService transactionService; + + /** module patch id */ + private String id; + + /** module patch description */ + private String description; + + /** module id */ + private String moduleId; + + /** module patch fixes from module schema number */ + private int fixesFromSchema; + + /** module patch fixes to module schema number */ + private int fixesToSchema; + + /** module patch target module schema number */ + private int targetSchema; + + /** + * Initiialisation method + */ + public void init() + { + modulePatchExecuter.register(this); + } + + /** + * @param modulePatchExecuter module patch executer + */ + public void setModulePatchExecuter(ModulePatchExecuter modulePatchExecuter) + { + this.modulePatchExecuter = modulePatchExecuter; + } + + /** + * @param transactionService transaction service + */ + public void setTransactionService(TransactionService transactionService) + { + this.transactionService = transactionService; + } + + /** + * @param id module patch id + */ + public void setId(String id) + { + this.id = id; + } + + /** + * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatch#getId() + */ + @Override + public String getId() + { + return id; + } + + /** + * Convenience method to set the module patch id to the bean name (if not already specified) + */ + @Override + public void setBeanName(String beanName) + { + if (id == null) + { + id = beanName; + } + } + + /** + * @param description module patch description + */ + public void setDescription(String description) + { + this.description = description; + } + + /** + * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatch#getDescription() + */ + @Override + public String getDescription() + { + return description; + } + + /** + * @param moduleId module id + */ + public void setModuleId(String moduleId) + { + this.moduleId = moduleId; + } + + /** + * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatch#getModuleId() + */ + @Override + public String getModuleId() + { + return moduleId; + } + + public void setFixesFromSchema(int fixesFromSchema) + { + this.fixesFromSchema = fixesFromSchema; + } + + /** + * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatch#getFixesFromSchema() + */ + @Override + public int getFixesFromSchema() + { + return fixesFromSchema; + } + + public void setFixesToSchema(int fixesToSchema) + { + this.fixesToSchema = fixesToSchema; + } + + /** + * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatch#getFixesToSchema() + */ + @Override + public int getFixesToSchema() + { + return fixesToSchema; + } + + public void setTargetSchema(int targetSchema) + { + this.targetSchema = targetSchema; + } + + /** + * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatch#getTargetSchema() + */ + @Override + public int getTargetSchema() + { + return targetSchema; + } + + /** + * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatch#apply() + */ + @Override + public void apply() + { + if (logger.isInfoEnabled() == true) + { + logger.info("Executing module patch \"" + description + "\""); + } + if (logger.isDebugEnabled() == true) + { + logger.debug(" ... id=" + id + + ",moduleId=" + moduleId + + ",from=" + fixesFromSchema + + ",to=" + fixesToSchema + + ",target=" + targetSchema); + } + + transactionService.getRetryingTransactionHelper().doInTransaction( + new ApplyCallback(), + true, + false); + + if (logger.isDebugEnabled() == true) + { + logger.debug(" ... module patch applied"); + } + } + + /** + * Apply patch internal method. Implementations can assume a transaction has + * been started. + */ + public abstract void applyInternal(); + + /** + * Apply callback worker class implementation + */ + private class ApplyCallback implements RetryingTransactionCallback + { + /** + * @see org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback#execute() + */ + @Override + public Void execute() throws Throwable + { + applyInternal(); + return null; + } + } + + /** + * @see java.lang.Comparable#compareTo(java.lang.Object) + */ + @Override + public int compareTo(ModulePatch o) + { + int result = 0; + if (getTargetSchema() < o.getTargetSchema()) + { + result = -1; + } + else if (getTargetSchema() > o.getTargetSchema()) + { + result = 1; + } + return result; + } +} diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatch.java new file mode 100755 index 0000000000..4c0bc086d6 --- /dev/null +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatch.java @@ -0,0 +1,64 @@ +/* + * 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.module.org_alfresco_module_rm.patch; + +/** + * Module Patch Interface + * + * @author Roy Wetherall + * @since 2.2 + */ +public interface ModulePatch extends Comparable +{ + /** + * @return module patch id + */ + String getId(); + + /** + * @return module patch description + */ + String getDescription(); + + /** + * @return module id this patch applies to + */ + String getModuleId(); + + /** + * @return smallest module schema number that this patch may be applied to + */ + int getFixesFromSchema(); + + /** + * @return largest module schema number that this patch may be applied to + */ + int getFixesToSchema(); + + /** + * @return module schema number that this patch attempts to bring the repo up to + */ + int getTargetSchema(); + + /** + * Apply the module patch + */ + void apply(); + +} diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchExecuter.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchExecuter.java new file mode 100755 index 0000000000..670c4df3fc --- /dev/null +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchExecuter.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2005-2015 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.module.org_alfresco_module_rm.patch; + +/** + * Module patch service interface + * + * @author Roy Wetherall + * @since 2.2 + */ +public interface ModulePatchExecuter +{ + /** + * Register module patch with the module patch executer + * + * @param modulePatch module patch + */ + void register(ModulePatch modulePatch); + + /** + * Init the schema version number + */ + void initSchemaVersion(); +} diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchExecuterImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchExecuterImpl.java new file mode 100755 index 0000000000..0f9d048472 --- /dev/null +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchExecuterImpl.java @@ -0,0 +1,168 @@ +/* + * 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.module.org_alfresco_module_rm.patch; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.alfresco.error.AlfrescoRuntimeException; +import org.alfresco.repo.module.AbstractModuleComponent; +import org.alfresco.service.cmr.attributes.AttributeService; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * Module patch executer base implementation + * + * @author Roy Wetherall + * @since 2.2 + */ +public class ModulePatchExecuterImpl extends AbstractModuleComponent + implements ModulePatchExecuter +{ + /** logger */ + protected static Log logger = LogFactory.getLog(ModulePatchExecuterImpl.class); + + /** default start schema */ + private static final int START_SCHEMA = 0; + + /** attribute key */ + private static final String KEY_MODULE_SCHEMA = "module-schema"; + + /** configured module schema version */ + protected int moduleSchema = START_SCHEMA; + + /** attribute service */ + protected AttributeService attributeService; + + /** module patches */ + protected Map modulePatches = new HashMap(21); + + /** + * @param attributeService attribute service + */ + public void setAttributeService(AttributeService attributeService) + { + this.attributeService = attributeService; + } + + /** + * @param moduleSchema configured module schema version + */ + public void setModuleSchema(int moduleSchema) + { + this.moduleSchema = moduleSchema; + } + + /** + * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatchExecuter#register(org.alfresco.module.org_alfresco_module_rm.patch.ModulePatch) + */ + @Override + public void register(ModulePatch modulePatch) + { + // ensure that the module patch being registered relates to the module id + if (getModuleId().equals(modulePatch.getModuleId()) == false) + { + throw new AlfrescoRuntimeException("Unable to register module patch, becuase module id is invalid."); + } + + if (logger.isDebugEnabled() == true) + { + logger.debug("Registering module patch " + modulePatch.getId() + " for module " + getModuleId()); + } + + modulePatches.put(modulePatch.getId(), modulePatch); + } + + /** + * @see org.alfresco.repo.module.AbstractModuleComponent#executeInternal() + */ + @Override + protected void executeInternal() throws Throwable + { + // get current schema version + int currentSchema = getCurrentSchema(); + + if (logger.isDebugEnabled() == true) + { + logger.debug("Running module patch executer (currentSchema=" + currentSchema + ", configuredSchema=" + moduleSchema + ")"); + } + + if (moduleSchema > currentSchema) + { + // determine what patches should be applied + List patchesToApply = new ArrayList(13); + for (ModulePatch modulePatch : modulePatches.values()) + { + if (modulePatch.getFixesFromSchema() <= currentSchema && + modulePatch.getFixesToSchema() >= currentSchema) + { + patchesToApply.add(modulePatch); + } + } + + // apply the patches in the correct order + Collections.sort(patchesToApply); + for (ModulePatch patchToApply : patchesToApply) + { + patchToApply.apply(); + } + + // update the schema + updateSchema(moduleSchema); + } + } + + /** + * Get the currently recorded schema version for the module + * + * @return int currently recorded schema version + */ + protected int getCurrentSchema() + { + Integer result = START_SCHEMA; + if (attributeService.exists(KEY_MODULE_SCHEMA, getModuleId()) == true) + { + result = (Integer)attributeService.getAttribute(KEY_MODULE_SCHEMA, getModuleId()); + } + return result; + } + + /** + * Update the recorded schema version for the module. + * + * @param newSchema new schema version + */ + protected void updateSchema(int newSchema) + { + attributeService.setAttribute(new Integer(newSchema), KEY_MODULE_SCHEMA, getModuleId()); + } + + /** + * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatchExecuter#initSchemaVersion() + */ + @Override + public void initSchemaVersion() + { + updateSchema(moduleSchema); + } +} diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv22CapabilityPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv22CapabilityPatch.java deleted file mode 100644 index b3316e92c1..0000000000 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv22CapabilityPatch.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (C) 2005-2013 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.module.org_alfresco_module_rm.patch; - -import java.util.Set; - -import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService; -import org.alfresco.service.cmr.repository.NodeRef; - -/** - * RM v2.2 patch to updated modified capabilities. - * - * @author Tuna Aksoy - * @since 2.2 - */ -public class RMv22CapabilityPatch extends BaseRMCapabilityPatch -{ - /** - * @see org.alfresco.repo.module.AbstractModuleComponent#executeInternal() - */ - @Override - protected void executePatch() throws Throwable - { - Set filePlans = getFilePlans(); - - if (logger.isDebugEnabled() == true) - { - logger.debug(" ... updating " + filePlans.size() + " file plans"); - } - - for (NodeRef filePlan : filePlans) - { - if (logger.isDebugEnabled() == true) - { - logger.debug(" ... updating file plan " + filePlan.toString()); - } - - // add new capability - addCapability(filePlan, - "FileDestructionReport", - FilePlanRoleService.ROLE_ADMIN, - FilePlanRoleService.ROLE_RECORDS_MANAGER); - } - } -} diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchComponent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/compatibility/ModulePatchComponent.java old mode 100644 new mode 100755 similarity index 81% rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchComponent.java rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/compatibility/ModulePatchComponent.java index cdd04dc257..b9dffa8015 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/ModulePatchComponent.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/compatibility/ModulePatchComponent.java @@ -16,8 +16,9 @@ * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see . */ -package org.alfresco.module.org_alfresco_module_rm.patch; +package org.alfresco.module.org_alfresco_module_rm.patch.compatibility; +import org.alfresco.module.org_alfresco_module_rm.patch.ModulePatchExecuterImpl; import org.alfresco.repo.module.AbstractModuleComponent; import org.alfresco.repo.policy.BehaviourFilter; import org.alfresco.repo.transaction.RetryingTransactionHelper; @@ -31,6 +32,7 @@ import org.apache.commons.logging.LogFactory; * @author Roy Wetherall * @since 2.1 */ +@Deprecated public abstract class ModulePatchComponent extends AbstractModuleComponent { /** logger */ @@ -42,6 +44,9 @@ public abstract class ModulePatchComponent extends AbstractModuleComponent /** Behaviour filter */ protected BehaviourFilter behaviourFilter; + /** module patch executer */ + protected ModulePatchExecuterImpl modulePatchExecuter; + /** * @param retryingTransactionHelper retrying transaction helper */ @@ -58,6 +63,24 @@ public abstract class ModulePatchComponent extends AbstractModuleComponent this.behaviourFilter = behaviourFilter; } + /** + * @param modulePatchExecuter module patch executer + */ + public void setModulePatchExecuter(ModulePatchExecuterImpl modulePatchExecuter) + { + this.modulePatchExecuter = modulePatchExecuter; + } + + /** + * Init method + */ + @Override + public void init() + { + super.init(); + modulePatchExecuter.getDependsOn().add(this); + } + /** * @see org.alfresco.repo.module.AbstractModuleComponent#executeInternal() */ diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/NotificationTemplatePatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/NotificationTemplatePatch.java old mode 100644 new mode 100755 similarity index 93% rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/NotificationTemplatePatch.java rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/NotificationTemplatePatch.java index 82ee7714c0..74a09160a2 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/NotificationTemplatePatch.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/NotificationTemplatePatch.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2005-2011 Alfresco Software Limited. + * Copyright (C) 2005-2014 Alfresco Software Limited. * * This file is part of Alfresco * @@ -16,7 +16,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see . */ -package org.alfresco.module.org_alfresco_module_rm.patch; +package org.alfresco.module.org_alfresco_module_rm.patch.v20; import java.io.InputStream; import java.io.Serializable; @@ -25,6 +25,7 @@ import java.util.Map; import org.alfresco.model.ContentModel; import org.alfresco.module.org_alfresco_module_rm.notification.RecordsManagementNotificationHelper; +import org.alfresco.module.org_alfresco_module_rm.patch.compatibility.ModulePatchComponent; import org.alfresco.repo.version.VersionModel; import org.alfresco.service.cmr.audit.AuditService; import org.alfresco.service.cmr.repository.ContentService; @@ -39,8 +40,12 @@ import org.alfresco.service.namespace.QName; import org.springframework.beans.factory.BeanNameAware; /** + * Notification template patch implementation + * * @author Roy Wetherall + * @since 2.0 */ +@SuppressWarnings("deprecation") public class NotificationTemplatePatch extends ModulePatchComponent implements BeanNameAware { diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2FilePlanNodeRefPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2FilePlanNodeRefPatch.java old mode 100644 new mode 100755 similarity index 94% rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2FilePlanNodeRefPatch.java rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2FilePlanNodeRefPatch.java index e3d50124ac..212a2a0947 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2FilePlanNodeRefPatch.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2FilePlanNodeRefPatch.java @@ -16,7 +16,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see . */ -package org.alfresco.module.org_alfresco_module_rm.patch; +package org.alfresco.module.org_alfresco_module_rm.patch.v20; import java.io.Serializable; import java.util.List; @@ -26,6 +26,7 @@ import org.alfresco.module.org_alfresco_module_rm.dod5015.DOD5015Model; import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanComponentKind; import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService; import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel; +import org.alfresco.module.org_alfresco_module_rm.patch.compatibility.ModulePatchComponent; import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService; import org.alfresco.module.org_alfresco_module_rm.role.Role; import org.alfresco.repo.domain.node.NodeDAO; @@ -43,7 +44,9 @@ import org.springframework.beans.factory.BeanNameAware; * RM v2.0 File Plan Node Ref Patch * * @author Roy Wetherall + * @since 2.0 */ +@SuppressWarnings("deprecation") public class RMv2FilePlanNodeRefPatch extends ModulePatchComponent implements BeanNameAware, RecordsManagementModel, DOD5015Model { diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2ModelPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2ModelPatch.java old mode 100644 new mode 100755 similarity index 93% rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2ModelPatch.java rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2ModelPatch.java index f142d9b972..65f22ed719 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2ModelPatch.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2ModelPatch.java @@ -16,12 +16,13 @@ * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see . */ -package org.alfresco.module.org_alfresco_module_rm.patch; +package org.alfresco.module.org_alfresco_module_rm.patch.v20; import java.util.List; import org.alfresco.module.org_alfresco_module_rm.dod5015.DOD5015Model; import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel; +import org.alfresco.module.org_alfresco_module_rm.patch.compatibility.ModulePatchComponent; import org.alfresco.repo.domain.node.NodeDAO; import org.alfresco.repo.domain.patch.PatchDAO; import org.alfresco.repo.domain.qname.QNameDAO; @@ -33,9 +34,10 @@ import org.springframework.beans.factory.BeanNameAware; /** * RM v2.0 Model Updates Patch * - * * @author Roy Wetherall + * @since 2.0 */ +@SuppressWarnings("deprecation") public class RMv2ModelPatch extends ModulePatchComponent implements BeanNameAware, RecordsManagementModel, DOD5015Model { diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2SavedSearchPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2SavedSearchPatch.java similarity index 92% rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2SavedSearchPatch.java rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2SavedSearchPatch.java index 1d6cb69455..e97256f02a 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2SavedSearchPatch.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v20/RMv2SavedSearchPatch.java @@ -16,13 +16,14 @@ * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see . */ -package org.alfresco.module.org_alfresco_module_rm.patch; +package org.alfresco.module.org_alfresco_module_rm.patch.v20; import java.util.List; import org.alfresco.model.ContentModel; import org.alfresco.module.org_alfresco_module_rm.dod5015.DOD5015Model; import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel; +import org.alfresco.module.org_alfresco_module_rm.patch.compatibility.ModulePatchComponent; import org.alfresco.module.org_alfresco_module_rm.search.RecordsManagementSearchService; import org.alfresco.module.org_alfresco_module_rm.search.SavedSearchDetails; import org.alfresco.service.cmr.repository.ContentService; @@ -34,9 +35,10 @@ import org.springframework.beans.factory.BeanNameAware; /** * RM v2.0 Saved Search Patch * - * * @author Roy Wetherall + * @since 2.0 */ +@SuppressWarnings("deprecation") public class RMv2SavedSearchPatch extends ModulePatchComponent implements BeanNameAware, RecordsManagementModel, DOD5015Model { diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/NotificationTemplatePatch_v21.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/NotificationTemplatePatch_v21.java similarity index 94% rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/NotificationTemplatePatch_v21.java rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/NotificationTemplatePatch_v21.java index d646df8a52..2bd10940a3 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/NotificationTemplatePatch_v21.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/NotificationTemplatePatch_v21.java @@ -16,7 +16,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see . */ -package org.alfresco.module.org_alfresco_module_rm.patch; +package org.alfresco.module.org_alfresco_module_rm.patch.v21; import java.io.InputStream; import java.io.Serializable; @@ -40,7 +40,7 @@ import org.alfresco.service.namespace.QName; * @author Tuna Aksoy * @since 2.1 */ -public class NotificationTemplatePatch_v21 extends ModulePatchComponent +public class NotificationTemplatePatch_v21 extends RMv21PatchComponent { /** Email template path */ private static final String PATH_REJECTED = "alfresco/module/org_alfresco_module_rm/bootstrap/content/record-rejected-email.ftl"; diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21BehaviorScriptsPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21BehaviorScriptsPatch.java old mode 100644 new mode 100755 similarity index 93% rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21BehaviorScriptsPatch.java rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21BehaviorScriptsPatch.java index 77990a6850..ccc17d1444 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21BehaviorScriptsPatch.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21BehaviorScriptsPatch.java @@ -16,7 +16,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see . */ -package org.alfresco.module.org_alfresco_module_rm.patch; +package org.alfresco.module.org_alfresco_module_rm.patch.v21; import java.io.Serializable; import java.util.HashMap; @@ -44,7 +44,8 @@ import org.springframework.beans.factory.BeanNameAware; * @author Craig Tan * @since 2.1 */ -public class RMv21BehaviorScriptsPatch extends ModulePatchComponent implements BeanNameAware +@SuppressWarnings("deprecation") +public class RMv21BehaviorScriptsPatch extends RMv21PatchComponent implements BeanNameAware { /** rm config folder root lookup */ protected static final NodeRef RM_CONFIG = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, "rm_config_folder"); @@ -81,7 +82,7 @@ public class RMv21BehaviorScriptsPatch extends ModulePatchComponent implements B } /** - * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatchComponent#executePatch() + * @see org.alfresco.module.org_alfresco_module_rm.patch.compatibility.ModulePatchComponent#executePatch() */ @Override protected void executePatch() throws Throwable diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21CapabilityPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21CapabilityPatch.java similarity index 53% rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21CapabilityPatch.java rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21CapabilityPatch.java index 94d01534cf..159b2712aa 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21CapabilityPatch.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21CapabilityPatch.java @@ -16,11 +16,16 @@ * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see . */ -package org.alfresco.module.org_alfresco_module_rm.patch; +package org.alfresco.module.org_alfresco_module_rm.patch.v21; import java.util.Set; +import org.alfresco.error.AlfrescoRuntimeException; +import org.alfresco.module.org_alfresco_module_rm.capability.Capability; +import org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService; +import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService; import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService; +import org.alfresco.module.org_alfresco_module_rm.role.Role; import org.alfresco.service.cmr.repository.NodeRef; /** @@ -29,8 +34,91 @@ import org.alfresco.service.cmr.repository.NodeRef; * @author Roy Wetherall * @since 2.1 */ -public class RMv21CapabilityPatch extends BaseRMCapabilityPatch +@SuppressWarnings("deprecation") +public class RMv21CapabilityPatch extends RMv21PatchComponent { + /** File plan service */ + private FilePlanService filePlanService; + + /** File plan role service */ + private FilePlanRoleService filePlanRoleService; + + /** Capability service */ + private CapabilityService capabilityService; + + /** + * @param filePlanRoleService file plan role service + */ + public void setFilePlanRoleService(FilePlanRoleService filePlanRoleService) + { + this.filePlanRoleService = filePlanRoleService; + } + + /** + * @param capabilityService capability service + */ + public void setCapabilityService(CapabilityService capabilityService) + { + this.capabilityService = capabilityService; + } + + /** + * @param filePlanService file plan service + */ + public void setFilePlanService(FilePlanService filePlanService) + { + this.filePlanService = filePlanService; + } + + /** + * Helper method to get the file plans + * + * @return Set of file plan node references + */ + protected Set getFilePlans() + { + return filePlanService.getFilePlans(); + } + + /** + * Adds a new capability to the specified roles. + * + * @param filePlan file plan + * @param capabilityName capability name + * @param roles roles + */ + protected void addCapability(NodeRef filePlan, String capabilityName, String ... roles) + { + Capability capability = capabilityService.getCapability(capabilityName); + if (capability == null) + { + throw new AlfrescoRuntimeException("Unable to bootstrap RMv21 capabilities, because capability " + capabilityName + " does not exist."); + } + + for (String roleName : roles) + { + Role role = filePlanRoleService.getRole(filePlan, roleName); + + if (role != null) + { + // get the roles current capabilities + Set capabilities = role.getCapabilities(); + + // only update if the capability is missing + if (capabilities.contains(capability) == false) + { + if (logger.isDebugEnabled() == true) + { + logger.debug(" ... adding capability " + capabilityName + " to role " + role.getName()); + } + + capabilities.add(capability); + filePlanRoleService.updateRole(filePlan, role.getName(), role.getDisplayLabel(), capabilities); + } + } + } + } + /** * @see org.alfresco.repo.module.AbstractModuleComponent#executeInternal() */ diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21InPlacePatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21InPlacePatch.java old mode 100644 new mode 100755 similarity index 95% rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21InPlacePatch.java rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21InPlacePatch.java index 83d3e842c6..7a4ef261c5 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21InPlacePatch.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21InPlacePatch.java @@ -16,7 +16,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see . */ -package org.alfresco.module.org_alfresco_module_rm.patch; +package org.alfresco.module.org_alfresco_module_rm.patch.v21; import java.util.HashSet; import java.util.List; @@ -47,7 +47,8 @@ import org.springframework.beans.factory.BeanNameAware; * @author Roy Wetherall * @since 2.1 */ -public class RMv21InPlacePatch extends ModulePatchComponent +@SuppressWarnings("deprecation") +public class RMv21InPlacePatch extends RMv21PatchComponent implements BeanNameAware, RecordsManagementModel, DOD5015Model { /** Extended reader and writer role details */ @@ -202,7 +203,6 @@ public class RMv21InPlacePatch extends ModulePatchComponent NodeRef container = filePlanService.getHoldContainer(filePlan); - @SuppressWarnings("deprecation") List assocs = nodeService.getChildAssocs(filePlan, ASSOC_HOLDS, RegexQNamePattern.MATCH_ALL); for (ChildAssociationRef assoc : assocs) { @@ -221,7 +221,6 @@ public class RMv21InPlacePatch extends ModulePatchComponent NodeRef container = filePlanService.getTransferContainer(filePlan); - @SuppressWarnings("deprecation") List assocs = nodeService.getChildAssocs(filePlan, ASSOC_TRANSFERS, RegexQNamePattern.MATCH_ALL); for (ChildAssociationRef assoc : assocs) { diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21PatchComponent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21PatchComponent.java new file mode 100644 index 0000000000..a447417f66 --- /dev/null +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21PatchComponent.java @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2005-2011 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.module.org_alfresco_module_rm.patch.v21; + +import java.util.List; + +import org.alfresco.module.org_alfresco_module_rm.patch.compatibility.ModulePatchComponent; +import org.alfresco.repo.module.ModuleComponent; +import org.springframework.beans.BeansException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; + +/** + * Convenience class to ensure all V2.0 patches are executed before v2.1 + * + * @author Roy Wetherall + * @since 2.2 + */ +@SuppressWarnings("deprecation") +public abstract class RMv21PatchComponent extends ModulePatchComponent + implements ApplicationContextAware +{ + /** application context */ + private ApplicationContext applicationContext; + + /** + * @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext) + */ + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException + { + this.applicationContext = applicationContext; + } + + /** + * init method + */ + @Override + public void init() + { + super.init(); + + // manual addition of V20 patch dependencies + List depends = getDependsOn(); + addDependency(depends, "org_alfresco_module_rm_notificationTemplatePatch"); + addDependency(depends, "org_alfresco_module_rm_RMv2ModelPatch"); + addDependency(depends, "org_alfresco_module_rm_RMv2FilePlanNodeRefPatch"); + addDependency(depends, "org_alfresco_module_rm_RMv2SavedSearchPatch"); + } + + /** + * @param depends list of module dependencies + * @param beanName bean name + */ + private void addDependency(List depends, String beanName) + { + ModuleComponent moduleComponent = (ModuleComponent)applicationContext.getBean(beanName); + depends.add(moduleComponent); + } +} diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2RMAdminUserPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RMAdminUserPatch.java old mode 100644 new mode 100755 similarity index 94% rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2RMAdminUserPatch.java rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RMAdminUserPatch.java index b39867284c..5b4b42e391 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv2RMAdminUserPatch.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RMAdminUserPatch.java @@ -16,7 +16,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see . */ -package org.alfresco.module.org_alfresco_module_rm.patch; +package org.alfresco.module.org_alfresco_module_rm.patch.v21; import java.io.Serializable; import java.util.HashMap; @@ -40,7 +40,8 @@ import org.springframework.extensions.surf.util.I18NUtil; * * @author Roy Wetherall */ -public class RMv2RMAdminUserPatch extends ModulePatchComponent implements BeanNameAware +@SuppressWarnings("deprecation") +public class RMv21RMAdminUserPatch extends RMv21PatchComponent implements BeanNameAware { /** I18N */ private static final String MSG_FIRST_NAME = "bootstrap.rmadmin.firstName"; diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21RecordInheritancePatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RecordInheritancePatch.java old mode 100644 new mode 100755 similarity index 93% rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21RecordInheritancePatch.java rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RecordInheritancePatch.java index 362780261b..86bf79d8a1 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21RecordInheritancePatch.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RecordInheritancePatch.java @@ -16,7 +16,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see . */ -package org.alfresco.module.org_alfresco_module_rm.patch; +package org.alfresco.module.org_alfresco_module_rm.patch.v21; import java.util.List; @@ -39,7 +39,8 @@ import org.springframework.beans.factory.BeanNameAware; * @author Roy Wetherall * @since 2.1 */ -public class RMv21RecordInheritancePatch extends ModulePatchComponent +@SuppressWarnings("deprecation") +public class RMv21RecordInheritancePatch extends RMv21PatchComponent implements BeanNameAware, RecordsManagementModel, DOD5015Model { /** file plan permission service */ diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21ReportServicePatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21ReportServicePatch.java old mode 100644 new mode 100755 similarity index 94% rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21ReportServicePatch.java rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21ReportServicePatch.java index 6c05d61354..f32688a230 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21ReportServicePatch.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21ReportServicePatch.java @@ -16,7 +16,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see . */ -package org.alfresco.module.org_alfresco_module_rm.patch; +package org.alfresco.module.org_alfresco_module_rm.patch.v21; import java.io.InputStream; import java.io.Serializable; @@ -40,7 +40,8 @@ import org.springframework.beans.factory.BeanNameAware; * @author Roy Wetherall * @since 2.1 */ -public class RMv21ReportServicePatch extends ModulePatchComponent +@SuppressWarnings("deprecation") +public class RMv21ReportServicePatch extends RMv21PatchComponent implements BeanNameAware { private static final NodeRef TEMPLATE_ROOT = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, "rm_report_templates"); diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21RolesPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RolesPatch.java old mode 100644 new mode 100755 similarity index 90% rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21RolesPatch.java rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RolesPatch.java index aa45d143c2..8215e7f297 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21RolesPatch.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v21/RMv21RolesPatch.java @@ -16,7 +16,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see . */ -package org.alfresco.module.org_alfresco_module_rm.patch; +package org.alfresco.module.org_alfresco_module_rm.patch.v21; import java.util.Arrays; import java.util.HashSet; @@ -36,7 +36,8 @@ import org.springframework.beans.factory.BeanNameAware; * @author Tuna Aksoy * @since 2.1 */ -public class RMv21RolesPatch extends ModulePatchComponent implements BeanNameAware +@SuppressWarnings("deprecation") +public class RMv21RolesPatch extends RMv21PatchComponent implements BeanNameAware { /** file plan service */ private FilePlanService filePlanService; @@ -63,7 +64,7 @@ public class RMv21RolesPatch extends ModulePatchComponent implements BeanNameAwa } /** - * @see org.alfresco.module.org_alfresco_module_rm.patch.ModulePatchComponent#executePatch() + * @see org.alfresco.module.org_alfresco_module_rm.patch.compatibility.ModulePatchComponent#executePatch() */ @Override protected void executePatch() throws Throwable diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/BaseRMCapabilityPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22CapabilityPatch.java similarity index 75% rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/BaseRMCapabilityPatch.java rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22CapabilityPatch.java index 2f2263b7af..73199bcb9d 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/BaseRMCapabilityPatch.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22CapabilityPatch.java @@ -16,7 +16,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see . */ -package org.alfresco.module.org_alfresco_module_rm.patch; +package org.alfresco.module.org_alfresco_module_rm.patch.v22; import java.util.Set; @@ -24,18 +24,20 @@ import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.module.org_alfresco_module_rm.capability.Capability; import org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService; import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService; +import org.alfresco.module.org_alfresco_module_rm.patch.AbstractModulePatch; import org.alfresco.module.org_alfresco_module_rm.role.FilePlanRoleService; import org.alfresco.module.org_alfresco_module_rm.role.Role; import org.alfresco.service.cmr.repository.NodeRef; /** - * Base class for the capability patch classes + * RM v2.2 patch to updated modified capabilities. * * @author Tuna Aksoy * @since 2.2 */ -public abstract class BaseRMCapabilityPatch extends ModulePatchComponent +public class RMv22CapabilityPatch extends AbstractModulePatch { + /** File plan service */ private FilePlanService filePlanService; @@ -117,4 +119,32 @@ public abstract class BaseRMCapabilityPatch extends ModulePatchComponent } } } + + /** + * @see org.alfresco.module.org_alfresco_module_rm.patch.AbstractModulePatch#applyInternal() + */ + @Override + public void applyInternal() + { + Set filePlans = getFilePlans(); + + if (logger.isDebugEnabled() == true) + { + logger.debug(" ... updating " + filePlans.size() + " file plans"); + } + + for (NodeRef filePlan : filePlans) + { + if (logger.isDebugEnabled() == true) + { + logger.debug(" ... updating file plan " + filePlan.toString()); + } + + // add new capability + addCapability(filePlan, + "FileDestructionReport", + FilePlanRoleService.ROLE_ADMIN, + FilePlanRoleService.ROLE_RECORDS_MANAGER); + } + } } diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv22ReportTemplatePatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22ReportTemplatePatch.java similarity index 89% rename from rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv22ReportTemplatePatch.java rename to rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22ReportTemplatePatch.java index 0832522c96..2fa4a4eb54 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv22ReportTemplatePatch.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22ReportTemplatePatch.java @@ -16,7 +16,7 @@ * You should have received a copy of the GNU Lesser General Public License * along with Alfresco. If not, see . */ -package org.alfresco.module.org_alfresco_module_rm.patch; +package org.alfresco.module.org_alfresco_module_rm.patch.v22; import java.io.InputStream; import java.io.Serializable; @@ -24,6 +24,7 @@ import java.util.HashMap; import java.util.Map; import org.alfresco.model.ContentModel; +import org.alfresco.module.org_alfresco_module_rm.patch.AbstractModulePatch; import org.alfresco.service.cmr.repository.ChildAssociationRef; import org.alfresco.service.cmr.repository.ContentService; import org.alfresco.service.cmr.repository.ContentWriter; @@ -39,7 +40,7 @@ import org.alfresco.service.namespace.QName; * @author Tuna Aksoy * @since 2.2 */ -public class RMv22ReportTemplatePatch extends ModulePatchComponent +public class RMv22ReportTemplatePatch extends AbstractModulePatch { /** Report template path */ private static final String REPORT_TEMPLATE_PATH = "alfresco/module/org_alfresco_module_rm/bootstrap/report/report_rmr_transferReport.html.ftl"; @@ -70,8 +71,11 @@ public class RMv22ReportTemplatePatch extends ModulePatchComponent this.contentService = contentService; } + /** + * @see org.alfresco.module.org_alfresco_module_rm.patch.AbstractModulePatch#applyInternal() + */ @Override - protected void executePatch() throws Throwable + public void applyInternal() { NodeRef transferReport = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, TRANSFER_REPORT); NodeRef destructionReport = new NodeRef(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, DESTRUCTION_REPORT); diff --git a/rm-server/source/java/org/alfresco/repo/admin/patch/AppliedModulePatch.java b/rm-server/source/java/org/alfresco/repo/admin/patch/AppliedModulePatch.java new file mode 100755 index 0000000000..d038c9bfb2 --- /dev/null +++ b/rm-server/source/java/org/alfresco/repo/admin/patch/AppliedModulePatch.java @@ -0,0 +1,33 @@ +package org.alfresco.repo.admin.patch; + +/** + * + * @author Roy Wetherall + */ +public class AppliedModulePatch extends AppliedPatch +{ + + private String moduleId; + + public AppliedModulePatch() + { + super(); + } + + public AppliedModulePatch(AppliedModulePatch appliedModulePatch) + { + super(appliedModulePatch); + + this.moduleId = appliedModulePatch.getModuleId(); + } + + public String getModuleId() + { + return this.moduleId; + } + + public void setModuleId(String moduleId) + { + this.moduleId = moduleId; + } +} diff --git a/rm-server/source/java/org/alfresco/repo/policy/annotation/BehaviourRegistry.java b/rm-server/source/java/org/alfresco/repo/policy/annotation/BehaviourRegistry.java old mode 100644 new mode 100755 diff --git a/rm-server/source/resources/readme.txt b/rm-server/source/resources/readme.txt new file mode 100644 index 0000000000..c3322908fb --- /dev/null +++ b/rm-server/source/resources/readme.txt @@ -0,0 +1 @@ +Files in this directory will be added to the jar. \ No newline at end of file