mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM-563 (Add group id and title to Capability API and definitions)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@44008 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -4,19 +4,21 @@
|
||||
<#if groupedCapabilities??>
|
||||
"groupedCapabilities":
|
||||
[
|
||||
<#assign keys = groupedCapabilities?keys>
|
||||
<#list keys as key>
|
||||
<#list groupedCapabilities?keys as groupedCapabilityKey>
|
||||
{
|
||||
"${key}":
|
||||
<#assign capabilitiesMap = groupedCapabilities[key]>
|
||||
<#assign capabilitiesKeys = capabilitiesMap?keys>
|
||||
"${groupedCapabilityKey}":
|
||||
{
|
||||
<#list capabilitiesKeys as capabilitiesKey>
|
||||
"${capabilitiesKey}": "${capabilitiesMap[capabilitiesKey]}"
|
||||
<#if capabilitiesKey_has_next>,</#if>
|
||||
<#assign groupedCapability = groupedCapabilities[groupedCapabilityKey]>
|
||||
groupTitle: "${groupedCapability.groupTitle}",
|
||||
capabilities:
|
||||
{
|
||||
<#assign capabilities = groupedCapability.capabilities>
|
||||
<#list capabilities?keys as capabilityKey>
|
||||
"${capabilityKey}": "${capabilities[capabilityKey]}"<#if capabilityKey_has_next>,</#if>
|
||||
</#list>
|
||||
}
|
||||
}<#if key_has_next>,</#if>
|
||||
}
|
||||
}<#if groupedCapabilityKey_has_next>,</#if>
|
||||
</#list>
|
||||
]
|
||||
<#else>
|
||||
|
@@ -95,12 +95,4 @@ public interface CapabilityService
|
||||
* @return
|
||||
*/
|
||||
AccessStatus getCapabilityAccessState(NodeRef nodeRef, String capabilityName);
|
||||
|
||||
/**
|
||||
* Gets all the capabilities grouped by their ids. The map key is the group id of a capability and the
|
||||
* value is another map with the key being the capability name and the value being the capability title
|
||||
*
|
||||
* @return Map of capabilities grouped by their ids
|
||||
*/
|
||||
Map<String, Map<String, String>> getGroupedCapabilities();
|
||||
}
|
||||
|
@@ -28,7 +28,6 @@ import java.util.Set;
|
||||
import org.alfresco.service.cmr.repository.NodeRef;
|
||||
import org.alfresco.service.cmr.security.AccessStatus;
|
||||
import org.alfresco.util.ParameterCheck;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
/**
|
||||
* @author Roy Wetherall
|
||||
@@ -170,35 +169,4 @@ public class CapabilityServiceImpl implements CapabilityService
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.capability.CapabilityService#getGroupedCapabilities()
|
||||
*/
|
||||
@Override
|
||||
public Map<String, Map<String, String>> getGroupedCapabilities()
|
||||
{
|
||||
Map<String, Map<String, String>> groupedCapabilities = new HashMap<String, Map<String, String>>(capabilities.size());
|
||||
for (Capability capability : getCapabilities(true))
|
||||
{
|
||||
String groupTitle = capability.getGroupTitle();
|
||||
if (StringUtils.isNotBlank(groupTitle))
|
||||
{
|
||||
String capabilityName = capability.getName();
|
||||
String capabilityTitle = capability.getTitle();
|
||||
|
||||
if (groupedCapabilities.containsKey(groupTitle))
|
||||
{
|
||||
groupedCapabilities.get(groupTitle).put(capabilityName, capabilityTitle);
|
||||
}
|
||||
else
|
||||
{
|
||||
Map<String, String> capabilityList = new HashMap<String, String>(13);
|
||||
capabilityList.put(capabilityName, capabilityTitle);
|
||||
groupedCapabilities.put(groupTitle, capabilityList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return groupedCapabilities;
|
||||
}
|
||||
}
|
||||
|
@@ -22,6 +22,7 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
@@ -96,7 +97,33 @@ public class CapabilitiesGet extends DeclarativeWebScript
|
||||
Map<String, Object> model = new HashMap<String, Object>(1);
|
||||
if (grouped == true)
|
||||
{
|
||||
model.put("groupedCapabilities", capabilityService.getGroupedCapabilities());
|
||||
// Construct the map which is needed to build the model
|
||||
Map<String, GroupedCapabilities> groupedCapabilitiesMap = new HashMap<String, GroupedCapabilities>(13);
|
||||
|
||||
Set<Capability> capabilities = capabilityService.getCapabilities();
|
||||
for (Capability capability : capabilities)
|
||||
{
|
||||
String capabilityGroupTitle = capability.getGroupTitle();
|
||||
if (StringUtils.isNotBlank(capabilityGroupTitle))
|
||||
{
|
||||
String capabilityGroupId = capability.getGroupId();
|
||||
String capabilityName = capability.getName();
|
||||
String capabilityTitle = capability.getTitle();
|
||||
|
||||
if (groupedCapabilitiesMap.containsKey(capabilityGroupId))
|
||||
{
|
||||
groupedCapabilitiesMap.get(capabilityGroupId).addCapability(capabilityName, capabilityTitle);
|
||||
}
|
||||
else
|
||||
{
|
||||
GroupedCapabilities groupedCapabilities = new GroupedCapabilities(capabilityGroupId, capabilityGroupTitle, capabilityName, capabilityTitle);
|
||||
groupedCapabilities.addCapability(capabilityName, capabilityTitle);
|
||||
groupedCapabilitiesMap.put(capabilityGroupId, groupedCapabilities);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
model.put("groupedCapabilities", groupedCapabilitiesMap);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -123,4 +150,56 @@ public class CapabilitiesGet extends DeclarativeWebScript
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
/**
|
||||
* Class to represent grouped capabilities for use in a Freemarker template
|
||||
*
|
||||
*/
|
||||
public class GroupedCapabilities
|
||||
{
|
||||
private String capabilityGroupId;
|
||||
private String capabilityGroupTitle;
|
||||
private String capabilityName;
|
||||
private String capabilityTitle;
|
||||
private Map<String, String> capabilities;
|
||||
|
||||
public GroupedCapabilities(String capabilityGroupId, String capabilityGroupTitle, String capabilityName, String capabilityTitle)
|
||||
{
|
||||
this.capabilityGroupId = capabilityGroupId;
|
||||
this.capabilityGroupTitle = capabilityGroupTitle;
|
||||
this.capabilityName = capabilityName;
|
||||
this.capabilityTitle = capabilityTitle;
|
||||
this.capabilities = new HashMap<String, String>(5);
|
||||
}
|
||||
|
||||
public String getGroupId()
|
||||
{
|
||||
return this.capabilityGroupId;
|
||||
}
|
||||
|
||||
public String getGroupTitle()
|
||||
{
|
||||
return this.capabilityGroupTitle;
|
||||
}
|
||||
|
||||
public String getCapabilityName()
|
||||
{
|
||||
return this.capabilityName;
|
||||
}
|
||||
|
||||
public String getCapabilityTitle()
|
||||
{
|
||||
return this.capabilityTitle;
|
||||
}
|
||||
|
||||
public Map<String, String> getCapabilities()
|
||||
{
|
||||
return this.capabilities;
|
||||
}
|
||||
|
||||
public void addCapability(String capabilityName, String capabilityTitle)
|
||||
{
|
||||
this.capabilities.put(capabilityName, capabilityTitle);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user