Merged modules/recordsmanagement/BRANCHES/V2.0-BUG-FIX to modules/recordsmanagement/BRANCHES/V2.0

42527: RM-240 (In the RM Console: Can add two events of the same name)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.0@42569 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2012-10-12 10:29:29 +00:00
parent db77c51196
commit ba98a48c1f
5 changed files with 39 additions and 0 deletions

View File

@@ -606,6 +606,7 @@
org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService.addEvent=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService.removeEvent=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService.existsEvent=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService.existsEventDisplayLabel=RM_ALLOW
org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService.*=RM_DENY
]]>
</value>

View File

@@ -73,6 +73,14 @@ public interface RecordsManagementEventService
*/
boolean existsEvent(String eventName);
/**
* Indicates whether a particular event display label exists. Returns true if it does, false otherwise.
*
* @param eventDisplayLabel event display label
* @return true if event display label exists, false otherwise
*/
boolean existsEventDisplayLabel(String eventDisplayLabel);
/**
* Add an event
*

View File

@@ -20,6 +20,7 @@ package org.alfresco.module.org_alfresco_module_rm.event;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -122,6 +123,23 @@ public class RecordsManagementEventServiceImpl implements RecordsManagementEvent
return getEventMap().containsKey(eventName);
}
/**
* @see org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService#existsEventDisplayLabel(java.lang.String)
*/
@SuppressWarnings("rawtypes")
public boolean existsEventDisplayLabel(String eventDisplayLabel)
{
for (Iterator iterator = getEventMap().values().iterator(); iterator.hasNext();)
{
RecordsManagementEvent recordsManagementEvent = (RecordsManagementEvent) iterator.next();
if (recordsManagementEvent.getDisplayLabel().equalsIgnoreCase(eventDisplayLabel))
{
return true;
}
}
return false;
}
/**
* @see org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService#addEvent(java.lang.String, java.lang.String, java.lang.String)
*/

View File

@@ -90,6 +90,12 @@ public class RmEventPut extends DeclarativeWebScript
{
throw new WebScriptException(Status.STATUS_BAD_REQUEST, "No event display label provided.");
}
if (rmEventService.existsEventDisplayLabel(eventDisplayLabel))
{
throw new WebScriptException(Status.STATUS_BAD_REQUEST,
"Cannot edit event. The event display label '"
+ eventDisplayLabel + "' already exists.");
}
String eventType = null;
if (json.has("eventType") == true)

View File

@@ -90,6 +90,12 @@ public class RmEventsPost extends DeclarativeWebScript
{
throw new WebScriptException(Status.STATUS_BAD_REQUEST, "No event display label provided.");
}
if (rmEventService.existsEventDisplayLabel(eventDisplayLabel))
{
throw new WebScriptException(Status.STATUS_BAD_REQUEST,
"Cannot create event. The event display label '"
+ eventDisplayLabel + "' already exists.");
}
String eventType = null;
if (json.has("eventType") == true)