RM-563 (Add group id and title to Capability API and definitions)

* Sorting capabilities

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@44305 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2012-12-04 12:21:19 +00:00
parent 3e91b7ab54
commit 3ca20e6428
13 changed files with 96 additions and 5 deletions

View File

@@ -9,6 +9,7 @@
<property name="name" value="AccessAudit"/>
<property name="permission" value="AccessAudit"/>
<property name="group"><ref bean="auditGroup"/></property>
<property name="index" value="1" />
</bean>
<bean id="rmDeclareAuditAsRecordCapability"
@@ -16,6 +17,7 @@
<property name="name" value="DeclareAuditAsRecord" />
<property name="permission" value="DeclareAuditAsRecord" />
<property name="group"><ref bean="auditGroup"/></property>
<property name="index" value="2" />
</bean>
<bean id="rmDeleteAuditCapability"
@@ -23,6 +25,7 @@
<property name="name" value="DeleteAudit" />
<property name="permission" value="DeleteAudit" />
<property name="group"><ref bean="auditGroup"/></property>
<property name="index" value="3" />
</bean>
<bean id="rmEnableDisableAuditByTypesCapability"
@@ -30,6 +33,7 @@
<property name="name" value="EnableDisableAuditByTypes" />
<property name="permission" value="EnableDisableAuditByTypes" />
<property name="group"><ref bean="auditGroup"/></property>
<property name="index" value="4" />
</bean>
<bean id="rmExportAuditCapability"
@@ -37,6 +41,7 @@
<property name="name" value="ExportAudit" />
<property name="permission" value="ExportAudit" />
<property name="group"><ref bean="auditGroup"/></property>
<property name="index" value="5" />
</bean>
<bean id="rmSelectAuditMetadataCapability"
@@ -44,6 +49,7 @@
<property name="name" value="SelectAuditMetadata" />
<property name="permission" value="SelectAuditMetadata" />
<property name="group"><ref bean="auditGroup"/></property>
<property name="index" value="6" />
</bean>
<!-- Non-Assignable Capabilities -->

View File

@@ -22,6 +22,7 @@
</map>
</property>
<property name="group"><ref bean="cutoffGroup"/></property>
<property name="index" value="1" />
</bean>
<!-- Transfer -->
@@ -36,6 +37,7 @@
</list>
</property>
<property name="group"><ref bean="dispositionAndTransfersGroup"/></property>
<property name="index" value="1" />
</bean>
<!-- Accession -->
@@ -50,6 +52,7 @@
</list>
</property>
<property name="group"><ref bean="dispositionAndTransfersGroup"/></property>
<property name="index" value="2" />
</bean>
<!-- Destroy -->
@@ -71,6 +74,7 @@
</map>
</property>
<property name="group"><ref bean="dispositionAndTransfersGroup"/></property>
<property name="index" value="5" />
</bean>
<!-- Unscheduled Destroy -->
@@ -92,6 +96,7 @@
</map>
</property>
<property name="group"><ref bean="dispositionAndTransfersGroup"/></property>
<property name="index" value="4" />
</bean>
<!-- Manually Change Disposition Dates -->
@@ -114,6 +119,7 @@
</map>
</property>
<property name="group"><ref bean="dispositionAndTransfersGroup"/></property>
<property name="index" value="6" />
</bean>
<!-- Non-assignable Capabilities -->

View File

@@ -17,6 +17,7 @@
</list>
</property>
<property name="group"><ref bean="filePlanMetadataListsAndEmailGroup"/></property>
<property name="index" value="3" />
</bean>
<!-- Unassignable Capabilities -->

View File

@@ -22,6 +22,7 @@
</map>
</property>
<property name="group"><ref bean="holdControlsGroup"/></property>
<property name="index" value="1" />
</bean>
<bean id="rmUnfreezeCapability"
@@ -35,6 +36,7 @@
</map>
</property>
<property name="group"><ref bean="holdControlsGroup"/></property>
<property name="index" value="2" />
</bean>
<bean id="rmViewUpdateReasonsForFreezeCapability"
@@ -47,6 +49,7 @@
</map>
</property>
<property name="group"><ref bean="holdControlsGroup"/></property>
<property name="index" value="3" />
</bean>
</beans>

View File

@@ -10,6 +10,7 @@
<property name="name" value="CreateAndAssociateSelectionLists"/>
<property name="permission" value="CreateAndAssociateSelectionLists"/>
<property name="group"><ref bean="filePlanMetadataListsAndEmailGroup"/></property>
<property name="index" value="2" />
</bean>
<bean id="rmEditSelectionListsCapability"
@@ -17,6 +18,7 @@
<property name="name" value="EditSelectionLists" />
<property name="permission" value="EditSelectionLists" />
<property name="group"><ref bean="filePlanMetadataListsAndEmailGroup"/></property>
<property name="index" value="7" />
</bean>
<!-- Non-Assignable Capabilities -->

View File

@@ -8,6 +8,7 @@
class="org.alfresco.module.org_alfresco_module_rm.capability.impl.ViewRecordsCapability">
<property name="name" value="ViewRecords" />
<property name="group"><ref bean="recordsGroup"/></property>
<property name="index" value="3" />
</bean>
<bean id="rmUndeclareRecordsCapability"
@@ -28,6 +29,7 @@
</map>
</property>
<property name="group"><ref bean="recordsGroup"/></property>
<property name="index" value="2" />
</bean>
<bean id="rmCreateModifyRecordsInCuttoffFoldersCapability"
@@ -49,6 +51,7 @@
</map>
</property>
<property name="group"><ref bean="cutoffGroup"/></property>
<property name="index" value="2" />
</bean>
<bean id="rmFileCapability"
@@ -107,6 +110,7 @@
</map>
</property>
<property name="group"><ref bean="recordsGroup"/></property>
<property name="index" value="1" />
</bean>
<bean id="rmDeleteRecordsCapability"
@@ -124,6 +128,7 @@
</map>
</property>
<property name="group"><ref bean="dispositionAndTransfersGroup"/></property>
<property name="index" value="3" />
</bean>
<bean id="rmEditDeclaredRecordMetadataCapability"
@@ -144,6 +149,7 @@
</map>
</property>
<property name="group"><ref bean="metadataControlGroup"/></property>
<property name="index" value="1" />
</bean>
<!-- TODO .. this is being used for the wrong thing! ... should indicate that the use can edit the non-record meta-data of a record -->
@@ -160,6 +166,7 @@
</map>
</property>
<property name="group"><ref bean="metadataControlGroup"/></property>
<property name="index" value="2" />
</bean>
<bean id="rmEditRecordMetadataCapability"
@@ -182,6 +189,7 @@
</map>
</property>
<property name="group"><ref bean="metadataControlGroup"/></property>
<property name="index" value="3" />
</bean>
<bean id="rmMoveRecordsCapability"
@@ -198,6 +206,7 @@
</property>
<property name="targetCapability" ref="rmFileRecordsCapability"/>
<property name="group"><ref bean="metadataControlGroup"/></property>
<property name="index" value="4" />
</bean>
<bean id="rmUpgradeDowngradeAndDeclassifyRecordsCapability"
@@ -210,6 +219,7 @@
</map>
</property>
<property name="group"><ref bean="classifiedRecordsGroup"/></property>
<property name="index" value="6" />
</bean>
</beans>

View File

@@ -21,6 +21,7 @@
</map>
</property>
<property name="group"><ref bean="folderControlGroup"/></property>
<property name="index" value="1" />
</bean>
<bean id="rmCreateModifyDestroyFoldersCapability"
@@ -42,6 +43,7 @@
</map>
</property>
<property name="group"><ref bean="folderControlGroup"/></property>
<property name="index" value="2" />
</bean>
<bean id="rmMoveRecordFolderCapability"
@@ -75,6 +77,7 @@
</map>
</property>
<property name="group"><ref bean="folderControlGroup"/></property>
<property name="index" value="4" />
</bean>
<bean id="rmDeclareRecordsInClosedFoldersCapability"
@@ -96,5 +99,6 @@
</map>
</property>
<property name="group"><ref bean="folderControlGroup"/></property>
<property name="index" value="3" />
</bean>
</beans>

View File

@@ -46,6 +46,7 @@
</map>
</property>
<property name="group"><ref bean="eventsGroup"/></property>
<property name="index" value="1" />
</bean>
<bean id="rmAttachRulesToMetadataPropertiesCapability"
@@ -53,6 +54,7 @@
<property name="name" value="AttachRulesToMetadataProperties"/>
<property name="permission" value="AttachRulesToMetadataProperties"/>
<property name="group"><ref bean="filePlanMetadataListsAndEmailGroup"/></property>
<property name="index" value="1" />
</bean>
<bean id="rmChangeOrDeleteReferencesCapability"
@@ -67,6 +69,7 @@
</map>
</property>
<property name="group"><ref bean="referencesAndLinksGroup"/></property>
<property name="index" value="1" />
</bean>
<bean id="rmCreateModifyDestroyClassificationGuidesCapability"
@@ -74,6 +77,7 @@
<property name="name" value="CreateModifyDestroyClassificationGuides"/>
<property name="permission" value="CreateModifyDestroyClassificationGuides"/>
<property name="group"><ref bean="classifiedRecordsGroup"/></property>
<property name="index" value="1" />
</bean>
<bean id="rmCreateModifyDestroyEventsCapability"
@@ -81,6 +85,7 @@
<property name="name" value="CreateModifyDestroyEvents" />
<property name="permission" value="CreateModifyDestroyEvents" />
<property name="group"><ref bean="eventsGroup"/></property>
<property name="index" value="2" />
</bean>
<bean id="rmCreateModifyDestroyFileplanTypesCapability"
@@ -88,6 +93,7 @@
<property name="name" value="CreateModifyDestroyFileplanTypes" />
<property name="permission" value="CreateModifyDestroyFileplanTypes" />
<property name="group"><ref bean="filePlanMetadataListsAndEmailGroup"/></property>
<property name="index" value="4" />
</bean>
<bean id="rmCreateModifyDestroyRecordTypesCapability"
@@ -95,6 +101,7 @@
<property name="name" value="CreateModifyDestroyRecordTypes" />
<property name="permission" value="CreateModifyDestroyRecordTypes" />
<property name="group"><ref bean="filePlanMetadataListsAndEmailGroup"/></property>
<property name="index" value="5" />
</bean>
<bean id="rmCreateModifyDestroyReferenceTypesCapability"
@@ -102,6 +109,7 @@
<property name="name" value="CreateModifyDestroyReferenceTypes" />
<property name="permission" value="CreateModifyDestroyReferenceTypes" />
<property name="group"><ref bean="filePlanMetadataListsAndEmailGroup"/></property>
<property name="index" value="6" />
</bean>
<bean id="rmCreateModifyDestroyRolesCapability"
@@ -109,6 +117,7 @@
<property name="name" value="CreateModifyDestroyRoles" />
<property name="permission" value="CreateModifyDestroyRoles" />
<property name="group"><ref bean="rolesAndAccessRightsGroup"/></property>
<property name="index" value="1" />
</bean>
<bean id="rmCreateModifyDestroyTimeframesCapability"
@@ -116,6 +125,7 @@
<property name="name" value="CreateModifyDestroyTimeframes" />
<property name="permission" value="CreateModifyDestroyTimeframes" />
<property name="group"><ref bean="classifiedRecordsGroup"/></property>
<property name="index" value="2" />
</bean>
<bean id="rmCreateModifyDestroyUsersAndGroupsCapability"
@@ -123,6 +133,7 @@
<property name="name" value="CreateModifyDestroyUsersAndGroups" />
<property name="permission" value="CreateModifyDestroyUsersAndGroups" />
<property name="group"><ref bean="rolesAndAccessRightsGroup"/></property>
<property name="index" value="2" />
</bean>
<bean id="rmCycleVitalRecordsCapability"
@@ -146,6 +157,7 @@
</map>
</property>
<property name="group"><ref bean="vitalRecordsGroup"/></property>
<property name="index" value="1" />
</bean>
<bean id="rmDeleteLinksCapability"
@@ -161,6 +173,7 @@
</map>
</property>
<property name="group"><ref bean="referencesAndLinksGroup"/></property>
<property name="index" value="2" />
</bean>
<bean id="rmDisplayRightsReportCapability"
@@ -168,6 +181,7 @@
<property name="name" value="DisplayRightsReport" />
<property name="permission" value="DisplayRightsReport" />
<property name="group"><ref bean="rolesAndAccessRightsGroup"/></property>
<property name="index" value="3" />
</bean>
<bean id="rmMakeOptionalPropertiesMandatoryCapability"
@@ -175,6 +189,7 @@
<property name="name" value="MakeOptionalParametersMandatory" />
<property name="permission" value="MakeOptionalParametersMandatory" />
<property name="group"><ref bean="filePlanMetadataListsAndEmailGroup"/></property>
<property name="index" value="8" />
</bean>
<bean id="rmManageAccessControlsCapability"
@@ -182,6 +197,7 @@
<property name="name" value="ManageAccessControls" />
<property name="permission" value="ManageAccessControls" />
<property name="group"><ref bean="rolesAndAccessRightsGroup"/></property>
<property name="index" value="4" />
</bean>
<bean id="rmManageAccessRightsCapability"
@@ -195,6 +211,7 @@
</map>
</property>
<property name="group"><ref bean="rolesAndAccessRightsGroup"/></property>
<property name="index" value="5" />
</bean>
<bean id="rmMapClassificationGuideMetadataCapability"
@@ -202,6 +219,7 @@
<property name="name" value="MapClassificationGuideMetadata" />
<property name="permission" value="MapClassificationGuideMetadata" />
<property name="group"><ref bean="classifiedRecordsGroup"/></property>
<property name="index" value="3" />
</bean>
<bean id="rmMapEmailMetadataCapability"
@@ -209,6 +227,7 @@
<property name="name" value="MapEmailMetadata" />
<property name="permission" value="MapEmailMetadata" />
<property name="group"><ref bean="filePlanMetadataListsAndEmailGroup"/></property>
<property name="index" value="9" />
</bean>
<bean id="rmPasswordControlCapability"
@@ -216,6 +235,7 @@
<property name="name" value="PasswordControl" />
<property name="permission" value="PasswordControl" />
<property name="group"><ref bean="rolesAndAccessRightsGroup"/></property>
<property name="index" value="6" />
</bean>
<bean id="rmPlanningReviewCyclesCapability"
@@ -231,6 +251,7 @@
</map>
</property>
<property name="group"><ref bean="vitalRecordsGroup"/></property>
<property name="index" value="2" />
</bean>
<bean id="rmTriggerAnEventCapability"
@@ -251,6 +272,7 @@
</map>
</property>
<property name="group"><ref bean="dispositionAndTransfersGroup"/></property>
<property name="index" value="7" />
</bean>
<bean id="rmUpdateClassificationDatesCapability"
@@ -258,6 +280,7 @@
<property name="name" value="UpdateClassificationDates" />
<property name="permission" value="UpdateClassificationDates" />
<property name="group"><ref bean="classifiedRecordsGroup"/></property>
<property name="index" value="4" />
</bean>
<bean id="rmUpdateExemptionCategoriesCapability"
@@ -265,6 +288,7 @@
<property name="name" value="UpdateExemptionCategories" />
<property name="permission" value="UpdateExemptionCategories" />
<property name="group"><ref bean="classifiedRecordsGroup"/></property>
<property name="index" value="5" />
</bean>
<bean id="rmUpdateTriggerDatesCapability"
@@ -277,6 +301,7 @@
</map>
</property>
<property name="group"><ref bean="dispositionAndTransfersGroup"/></property>
<property name="index" value="8" />
</bean>
<bean id="rmUpdateVitalRecordCycleInformationCapability"
@@ -289,6 +314,7 @@
</map>
</property>
<property name="group"><ref bean="vitalRecordsGroup"/></property>
<property name="index" value="3" />
</bean>
<!-- Record Folder capabilities -->

View File

@@ -4,7 +4,7 @@
<#if groupedCapabilities??>
"groupedCapabilities":
[
<#list groupedCapabilities?keys as groupedCapabilityKey>
<#list groupedCapabilities?keys?sort as groupedCapabilityKey>
{
"${groupedCapabilityKey}":
{
@@ -13,7 +13,7 @@
capabilities:
{
<#assign capabilities = groupedCapability.capabilities>
<#list capabilities?keys as capabilityKey>
<#list capabilities?keys?sort as capabilityKey>
"${capabilityKey}": "${capabilities[capabilityKey]}"<#if capabilityKey_has_next>,</#if>
</#list>
}

View File

@@ -54,9 +54,12 @@ public abstract class AbstractCapability extends RMSecurityCommon
protected String title;
protected String description;
/** Capability Group */
/** Capability group */
protected Group group;
/** Capability index */
protected String index;
/** Indicates whether this is a private capability or not */
protected boolean isPrivate = false;
@@ -322,6 +325,19 @@ public abstract class AbstractCapability extends RMSecurityCommon
this.group = group;
}
/**
* @see org.alfresco.module.org_alfresco_module_rm.capability.Capability#getIndex()
*/
public String getIndex()
{
return this.index;
}
public void setIndex(String index)
{
this.index = index;
}
/**
* @see java.lang.Object#hashCode()
*/

View File

@@ -95,4 +95,11 @@ public interface Capability
* @return Group capability group
*/
Group getGroup();
/**
* Gets the index of a capability
*
* @return String capability index
*/
String getIndex();
}

View File

@@ -188,6 +188,7 @@ public class CapabilityServiceImpl implements CapabilityService
Collections.sort(groups, new Comparator<Group>()
{
@Override
public int compare(Group g1, Group g2)
{
return Integer.parseInt(g1.getIndex()) - Integer.parseInt(g2.getIndex());
@@ -220,6 +221,15 @@ public class CapabilityServiceImpl implements CapabilityService
}
}
Collections.sort(capabilities, new Comparator<Capability>()
{
@Override
public int compare(Capability c1, Capability c2)
{
return Integer.parseInt(c1.getIndex()) - Integer.parseInt(c2.getIndex());
}
});
return capabilities;
}

View File

@@ -95,7 +95,7 @@ public class CapabilitiesGet extends DeclarativeWebScript
grouped = Boolean.parseBoolean(groupedString);
}
Map<String, Object> model = new HashMap<String, Object>(1);
Map<String, Object> model = new TreeMap<String, Object>();
if (grouped == true)
{
// Construct the map which is needed to build the model
@@ -174,7 +174,7 @@ public class CapabilitiesGet extends DeclarativeWebScript
this.capabilityGroupTitle = capabilityGroupTitle;
this.capabilityName = capabilityName;
this.capabilityTitle = capabilityTitle;
this.capabilities = new HashMap<String, String>(5);
this.capabilities = new TreeMap<String, String>();
}
public String getGroupId()