RM-664 (Not possible to edit event without changing the name)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.0@48772 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2013-04-03 12:48:45 +00:00
parent ccf4f1cd54
commit 8e9dc2deb0
3 changed files with 24 additions and 14 deletions

View File

@@ -87,9 +87,10 @@ public interface RecordsManagementEventService
*
* @param eventDisplayLabel event display label
* @param eventName event name
* @param eventType event type
* @return true if the event can be edited, false otherwise
*/
boolean canEditEvent(String eventDisplayLabel, String eventName);
boolean canEditEvent(String eventDisplayLabel, String eventName, String eventType);
/**
* Add an event

View File

@@ -145,7 +145,7 @@ public class RecordsManagementEventServiceImpl implements RecordsManagementEvent
for (Iterator iterator = getEventMap().values().iterator(); iterator.hasNext();)
{
RecordsManagementEvent recordsManagementEvent = (RecordsManagementEvent) iterator.next();
if (recordsManagementEvent.getDisplayLabel().equalsIgnoreCase(eventDisplayLabel))
if (recordsManagementEvent.getDisplayLabel().equalsIgnoreCase(eventDisplayLabel) == true)
{
canCreateEvent = false;
break;
@@ -157,13 +157,14 @@ public class RecordsManagementEventServiceImpl implements RecordsManagementEvent
}
/**
* @see org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService#canEditEvent(java.lang.String, java.lang.String)
* @see org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService#canEditEvent(java.lang.String, java.lang.String, java.lang.String)
*/
@SuppressWarnings("rawtypes")
public boolean canEditEvent(String eventDisplayLabel, String eventName)
public boolean canEditEvent(String eventDisplayLabel, String eventName, String eventType)
{
ParameterCheck.mandatoryString("eventDisplayLabel", eventDisplayLabel);
ParameterCheck.mandatoryString("eventName", eventName);
ParameterCheck.mandatoryString("eventType", eventType);
boolean canEditEvent = true;
@@ -175,11 +176,18 @@ public class RecordsManagementEventServiceImpl implements RecordsManagementEvent
for (Iterator iterator = getEventMap().values().iterator(); iterator.hasNext();)
{
RecordsManagementEvent recordsManagementEvent = (RecordsManagementEvent) iterator.next();
if (recordsManagementEvent.getDisplayLabel().equalsIgnoreCase(eventDisplayLabel))
if (recordsManagementEvent.getDisplayLabel().equalsIgnoreCase(eventDisplayLabel) == true)
{
if (recordsManagementEvent.getName().equalsIgnoreCase(eventName))
if (recordsManagementEvent.getName().equalsIgnoreCase(eventName) == true)
{
canEditEvent = false;
if (recordsManagementEvent.getType().equalsIgnoreCase(eventType) == false)
{
canEditEvent = true;
}
else
{
canEditEvent = false;
}
}
else
{

View File

@@ -79,14 +79,14 @@ public class RmEventPut extends RMEventBase
String eventDisplayLabel = getValue(json, "eventDisplayLabel");
doCheck(eventDisplayLabel, "No event display label was provided.");
// Check the event type
String eventType = getValue(json, "eventType");
doCheck(eventType, "No event type was provided.");
// Check if the event can be edited or not
RecordsManagementEvent event = null;
if (canEditEvent(eventDisplayLabel, eventName) == true)
if (canEditEvent(eventDisplayLabel, eventName, eventType) == true)
{
// Check the event type
String eventType = getValue(json, "eventType");
doCheck(eventType, "No event type was provided.");
// Create event
event = rmEventService.addEvent(eventType, eventName, eventDisplayLabel);
}
@@ -118,15 +118,16 @@ public class RmEventPut extends RMEventBase
*
* @param eventDisplayLabel The display label of the event
* @param eventName The name of the event
* @param eventType The type of the event
* @return true if the event can be edited, false otherwise
*/
private boolean canEditEvent(String eventDisplayLabel, String eventName)
private boolean canEditEvent(String eventDisplayLabel, String eventName, String eventType)
{
boolean canEditEvent;
try
{
canEditEvent = rmEventService.canEditEvent(eventDisplayLabel, eventName);
canEditEvent = rmEventService.canEditEvent(eventDisplayLabel, eventName, eventType);
}
catch (AlfrescoRuntimeException are)
{