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??>
|
<#if groupedCapabilities??>
|
||||||
"groupedCapabilities":
|
"groupedCapabilities":
|
||||||
[
|
[
|
||||||
<#assign keys = groupedCapabilities?keys>
|
<#list groupedCapabilities?keys as groupedCapabilityKey>
|
||||||
<#list keys as key>
|
|
||||||
{
|
{
|
||||||
"${key}":
|
"${groupedCapabilityKey}":
|
||||||
<#assign capabilitiesMap = groupedCapabilities[key]>
|
|
||||||
<#assign capabilitiesKeys = capabilitiesMap?keys>
|
|
||||||
{
|
{
|
||||||
<#list capabilitiesKeys as capabilitiesKey>
|
<#assign groupedCapability = groupedCapabilities[groupedCapabilityKey]>
|
||||||
"${capabilitiesKey}": "${capabilitiesMap[capabilitiesKey]}"
|
groupTitle: "${groupedCapability.groupTitle}",
|
||||||
<#if capabilitiesKey_has_next>,</#if>
|
capabilities:
|
||||||
|
{
|
||||||
|
<#assign capabilities = groupedCapability.capabilities>
|
||||||
|
<#list capabilities?keys as capabilityKey>
|
||||||
|
"${capabilityKey}": "${capabilities[capabilityKey]}"<#if capabilityKey_has_next>,</#if>
|
||||||
</#list>
|
</#list>
|
||||||
}
|
}
|
||||||
}<#if key_has_next>,</#if>
|
}
|
||||||
|
}<#if groupedCapabilityKey_has_next>,</#if>
|
||||||
</#list>
|
</#list>
|
||||||
]
|
]
|
||||||
<#else>
|
<#else>
|
||||||
|
@@ -95,12 +95,4 @@ public interface CapabilityService
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
AccessStatus getCapabilityAccessState(NodeRef nodeRef, String capabilityName);
|
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.repository.NodeRef;
|
||||||
import org.alfresco.service.cmr.security.AccessStatus;
|
import org.alfresco.service.cmr.security.AccessStatus;
|
||||||
import org.alfresco.util.ParameterCheck;
|
import org.alfresco.util.ParameterCheck;
|
||||||
import org.apache.commons.lang.StringUtils;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Roy Wetherall
|
* @author Roy Wetherall
|
||||||
@@ -170,35 +169,4 @@ public class CapabilityServiceImpl implements CapabilityService
|
|||||||
}
|
}
|
||||||
return result;
|
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.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
@@ -96,7 +97,33 @@ public class CapabilitiesGet extends DeclarativeWebScript
|
|||||||
Map<String, Object> model = new HashMap<String, Object>(1);
|
Map<String, Object> model = new HashMap<String, Object>(1);
|
||||||
if (grouped == true)
|
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
|
else
|
||||||
{
|
{
|
||||||
@@ -123,4 +150,56 @@ public class CapabilitiesGet extends DeclarativeWebScript
|
|||||||
|
|
||||||
return model;
|
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