RM-3000 - fixed issue for setPropertyValue, executeScript and sendEmail and added unit test

This commit is contained in:
Ana Bozianu
2016-03-23 13:03:34 +02:00
parent 28ca3ace3a
commit 426d782923
3 changed files with 59 additions and 1 deletions

View File

@@ -189,7 +189,7 @@ public abstract class RecordsManagementActionConditionEvaluatorAbstractBase exte
((RecordsManagementActionConditionDefinitionImpl)actionConditionDefinition).setDescriptionKey(getDescriptionKey());
((RecordsManagementActionConditionDefinitionImpl)actionConditionDefinition).setAdhocPropertiesAllowed(getAdhocPropertiesAllowed());
((RecordsManagementActionConditionDefinitionImpl)actionConditionDefinition).setConditionEvaluator(name);
((RecordsManagementActionConditionDefinitionImpl)actionConditionDefinition).setParameterDefinitions(getParameterDefintions());
((RecordsManagementActionConditionDefinitionImpl)actionConditionDefinition).setLocalizedParameterDefinitions(getLocalizedParameterDefinitions());
}
return this.actionConditionDefinition;
}

View File

@@ -94,4 +94,11 @@ public class DelegateAction extends RMActionExecuterAbstractBase
{
return delegateActionExecuter.getActionDefinition().getParameterDefinitions();
}
@Override
protected void addParameterDefinitions(List<ParameterDefinition> paramList)
{
super.addParameterDefinitions(paramList);
paramList.addAll(delegateActionExecuter.getActionDefinition().getParameterDefinitions());
}
}

View File

@@ -33,6 +33,7 @@ import org.alfresco.module.org_alfresco_module_rm.test.util.BaseRMTestCase;
import org.alfresco.module.org_alfresco_module_rm.test.util.TestActionPropertySubs;
import org.alfresco.service.cmr.action.Action;
import org.alfresco.service.cmr.action.ActionDefinition;
import org.alfresco.service.cmr.action.ParameterDefinition;
/**
* Extended action service test.
@@ -178,4 +179,54 @@ public class ExtendedActionServiceTest extends BaseRMTestCase
}
});
}
/**
* RM-3000
* Tests if the actions extending DelegateAction inherit the parameter definitions from their delegate action
*/
public void testDelegateActions()
{
/*
* set-property-value is the delegate action for setPropertyValue.
*/
assertTrue(inheritsAllParameterDefinitions("setPropertyValue", "set-property-value"));
/*
* rmscript is the delegate action for executeScript.
*/
assertTrue(inheritsAllParameterDefinitions("executeScript", "rmscript"));
/*
* mail is the delegate action for sendEmail.
*/
assertTrue(inheritsAllParameterDefinitions("sendEmail", "mail"));
}
/**
* Checks if the action definition rmAction inherits all the parameter definitions from delegateAction.
* @param rmAction The name of the action definition extending DelegateAction.
* @param delegateAction The name of the delegate action.
* @return true if rmAction inherits all the parameter definitions from delegateAction. false otherwise.
*/
private boolean inheritsAllParameterDefinitions(String rmAction, String delegateAction)
{
/*
* Get the parameter definition list for rmAction
*/
ActionDefinition rmActionDefinition = actionService.getActionDefinition(rmAction);
assertNotNull(rmActionDefinition);
List<ParameterDefinition> rmParameterDefinitions = rmActionDefinition.getParameterDefinitions();
/*
* Get the parameter definition list for the delegate action
*/
ActionDefinition delegateActionDefinition = actionService.getActionDefinition(delegateAction);
assertNotNull(delegateActionDefinition);
List<ParameterDefinition> delegateParameterDefinitions = delegateActionDefinition.getParameterDefinitions();
/*
* Check if rmActionDefinition contains all the elements in rmActionDefinition
*/
return rmParameterDefinitions.containsAll(delegateParameterDefinitions);
}
}