use of org.alfresco.module.org_alfresco_module_rm.capability.Group in project records-management by Alfresco.
the class CapabilitiesGet method executeImpl.
/**
* @see org.alfresco.repo.web.scripts.content.StreamContent#executeImpl(org.springframework.extensions.webscripts.WebScriptRequest, org.springframework.extensions.webscripts.Status, org.springframework.extensions.webscripts.Cache)
*/
@Override
protected Map<String, Object> executeImpl(WebScriptRequest req, Status status, Cache cache) {
Map<String, String> templateVars = req.getServiceMatch().getTemplateVars();
String storeType = templateVars.get("store_type");
String storeId = templateVars.get("store_id");
String nodeId = templateVars.get("id");
NodeRef nodeRef = null;
if (StringUtils.isNotBlank(storeType) && StringUtils.isNotBlank(storeId) && StringUtils.isNotBlank(nodeId)) {
nodeRef = new NodeRef(new StoreRef(storeType, storeId), nodeId);
} else {
// we are talking about the file plan node
// TODO we are making the assumption there is only one file plan here!
nodeRef = filePlanService.getFilePlanBySiteId(FilePlanService.DEFAULT_RM_SITE_ID);
if (nodeRef == null) {
throw new WebScriptException(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "The default file plan node could not be found.");
}
}
boolean grouped = false;
String groupedString = req.getParameter("grouped");
if (StringUtils.isNotBlank(groupedString)) {
grouped = Boolean.parseBoolean(groupedString);
}
Map<String, Object> model = new TreeMap<String, Object>();
if (grouped) {
// Construct the map which is needed to build the model
Map<String, GroupedCapabilities> groupedCapabilitiesMap = new TreeMap<String, GroupedCapabilities>();
List<Group> groups = capabilityService.getGroups();
for (Group group : groups) {
String capabilityGroupTitle = group.getTitle();
if (StringUtils.isNotBlank(capabilityGroupTitle)) {
String capabilityGroupId = group.getId();
List<Capability> capabilities = capabilityService.getCapabilitiesByGroupId(capabilityGroupId);
for (Capability capability : capabilities) {
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 {
boolean includePrivate = false;
String includePrivateString = req.getParameter("includeAll");
if (StringUtils.isNotBlank(includePrivateString)) {
includePrivate = Boolean.parseBoolean(includePrivateString);
}
Map<Capability, AccessStatus> map = capabilityService.getCapabilitiesAccessState(nodeRef, includePrivate);
List<String> list = new ArrayList<String>(map.size());
for (Map.Entry<Capability, AccessStatus> entry : map.entrySet()) {
AccessStatus accessStatus = entry.getValue();
if (!AccessStatus.DENIED.equals(accessStatus)) {
Capability capability = entry.getKey();
list.add(capability.getName());
}
}
model.put("capabilities", list);
}
return model;
}
use of org.alfresco.module.org_alfresco_module_rm.capability.Group in project records-management by Alfresco.
the class CapabilityServiceImplTest method testGetAddRemoveGroups.
public void testGetAddRemoveGroups() throws Exception {
doTestInTransaction(new Test<Void>() {
@Override
public Void run() throws Exception {
Group auditGroup = capabilityService.getGroup("audit");
assertNotNull(auditGroup);
assertEquals(10, auditGroup.getIndex());
assertEquals("Audit", auditGroup.getTitle());
assertEquals("audit", auditGroup.getId());
return null;
}
});
doTestInTransaction(new Test<Void>() {
@Override
public Void run() throws Exception {
int initialSize = capabilityService.getGroups().size();
GroupImpl testGroup = new GroupImpl();
testGroup.setId("testGroup");
testGroup.setIndex(140);
testGroup.setTitle("Test group");
capabilityService.addGroup(testGroup);
assertEquals(initialSize + 1, capabilityService.getGroups().size());
Group group = capabilityService.getGroup("testGroup");
assertNotNull(group);
assertTrue(group.getId().equalsIgnoreCase("testGroup"));
assertTrue(group.getTitle().equalsIgnoreCase("Test group"));
assertTrue(group.getIndex() == 140);
return null;
}
});
doTestInTransaction(new Test<Void>() {
@Override
public Void run() throws Exception {
Group testGroup = capabilityService.getGroup("testGroup");
assertNotNull(testGroup);
int initialSize = capabilityService.getGroups().size();
capabilityService.removeGroup(testGroup);
assertEquals(initialSize - 1, capabilityService.getGroups().size());
return null;
}
});
}
Aggregations