diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-audit-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-audit-context.xml
index bd134a7275..af429f0005 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-audit-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-audit-context.xml
@@ -9,6 +9,7 @@
+
+
+
+
+
+
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-disposition-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-disposition-context.xml
index a358dab64a..af191208d3 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-disposition-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-disposition-context.xml
@@ -22,6 +22,7 @@
+
@@ -36,6 +37,7 @@
+
@@ -50,6 +52,7 @@
+
@@ -71,6 +74,7 @@
+
@@ -92,6 +96,7 @@
+
@@ -114,6 +119,7 @@
+
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-fileplan-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-fileplan-context.xml
index 57bbcb9a87..e566e93cba 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-fileplan-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-fileplan-context.xml
@@ -17,6 +17,7 @@
+
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-freeze-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-freeze-context.xml
index 05d61be3d0..49d4dd02f9 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-freeze-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-freeze-context.xml
@@ -22,6 +22,7 @@
+
+
+
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-list-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-list-context.xml
index e41bc30206..d6ec629d4e 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-list-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-list-context.xml
@@ -10,6 +10,7 @@
+
+
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-record-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-record-context.xml
index 0ac8bb9851..ed2ea26d5d 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-record-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-record-context.xml
@@ -8,6 +8,7 @@
class="org.alfresco.module.org_alfresco_module_rm.capability.impl.ViewRecordsCapability">
+
+
+
+
+
+
@@ -160,6 +166,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-recordfolder-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-recordfolder-context.xml
index ab45c06cad..80efdcfbd3 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-recordfolder-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-recordfolder-context.xml
@@ -21,6 +21,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-capabilities-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-capabilities-context.xml
index ffce23a100..e9c39090ee 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-capabilities-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-capabilities-context.xml
@@ -46,6 +46,7 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/rm-server/config/alfresco/templates/webscripts/org/alfresco/rma/capability/capabilities.get.json.ftl b/rm-server/config/alfresco/templates/webscripts/org/alfresco/rma/capability/capabilities.get.json.ftl
index a6c3061bbf..0176923709 100644
--- a/rm-server/config/alfresco/templates/webscripts/org/alfresco/rma/capability/capabilities.get.json.ftl
+++ b/rm-server/config/alfresco/templates/webscripts/org/alfresco/rma/capability/capabilities.get.json.ftl
@@ -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>
}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/AbstractCapability.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/AbstractCapability.java
index 36f0a089fe..2d1dd7479b 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/AbstractCapability.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/AbstractCapability.java
@@ -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()
*/
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/Capability.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/Capability.java
index f00953491a..75790e95eb 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/Capability.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/Capability.java
@@ -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();
}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/CapabilityServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/CapabilityServiceImpl.java
index 7c5de444bd..6534e8bd38 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/CapabilityServiceImpl.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/CapabilityServiceImpl.java
@@ -188,6 +188,7 @@ public class CapabilityServiceImpl implements CapabilityService
Collections.sort(groups, new Comparator()
{
+ @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()
+ {
+ @Override
+ public int compare(Capability c1, Capability c2)
+ {
+ return Integer.parseInt(c1.getIndex()) - Integer.parseInt(c2.getIndex());
+ }
+ });
+
return capabilities;
}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/capability/CapabilitiesGet.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/capability/CapabilitiesGet.java
index 30d08f140d..a2bd9e0a6a 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/capability/CapabilitiesGet.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/capability/CapabilitiesGet.java
@@ -95,7 +95,7 @@ public class CapabilitiesGet extends DeclarativeWebScript
grouped = Boolean.parseBoolean(groupedString);
}
- Map model = new HashMap(1);
+ Map model = new TreeMap();
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(5);
+ this.capabilities = new TreeMap();
}
public String getGroupId()