mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-21 18:09:20 +00:00
Rule webscripts
- Modified parsing of rule webscripts so an attribute "parameterValues" may contain an empty object - Its now possible to create a rule (however action/conditions with multi parameters will fail on parsing on server: SAIL-306) - Started to use constraints webscripts and removed old testdata webscripts - Made rule-details component on folder rules page display values form server git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@18676 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -387,55 +387,58 @@ public abstract class AbstractRuleWebScript extends DeclarativeWebScript
|
||||
|
||||
// get parameters names
|
||||
JSONArray names = jsonParameterValues.names();
|
||||
|
||||
for (int i = 0; i < names.length(); i++)
|
||||
{
|
||||
String propertyName = names.getString(i);
|
||||
Object propertyValue = jsonParameterValues.get(propertyName);
|
||||
|
||||
// get parameter repository type
|
||||
QName typeQName = getPropertyType(propertyName);
|
||||
|
||||
if (typeQName == null)
|
||||
|
||||
if (names != null)
|
||||
{
|
||||
for (int i = 0; i < names.length(); i++)
|
||||
{
|
||||
if (propertyValue.toString().equals("true") || propertyValue.toString().equals("false"))
|
||||
{
|
||||
typeQName = DataTypeDefinition.BOOLEAN;
|
||||
}
|
||||
else
|
||||
{
|
||||
typeQName = DataTypeDefinition.TEXT;
|
||||
}
|
||||
}
|
||||
String propertyName = names.getString(i);
|
||||
Object propertyValue = jsonParameterValues.get(propertyName);
|
||||
|
||||
Serializable value = null;
|
||||
// get parameter repository type
|
||||
QName typeQName = getPropertyType(propertyName);
|
||||
|
||||
if (typeQName.equals(DataTypeDefinition.ANY))
|
||||
{
|
||||
try
|
||||
if (typeQName == null)
|
||||
{
|
||||
value = dateFormate.parse(propertyValue.toString());
|
||||
if (propertyValue.toString().equals("true") || propertyValue.toString().equals("false"))
|
||||
{
|
||||
typeQName = DataTypeDefinition.BOOLEAN;
|
||||
}
|
||||
else
|
||||
{
|
||||
typeQName = DataTypeDefinition.TEXT;
|
||||
}
|
||||
}
|
||||
catch (ParseException e)
|
||||
|
||||
Serializable value = null;
|
||||
|
||||
if (typeQName.equals(DataTypeDefinition.ANY))
|
||||
{
|
||||
try
|
||||
{
|
||||
value = Long.valueOf(propertyValue.toString());
|
||||
value = dateFormate.parse(propertyValue.toString());
|
||||
}
|
||||
catch (NumberFormatException e1)
|
||||
catch (ParseException e)
|
||||
{
|
||||
// do nothing
|
||||
try
|
||||
{
|
||||
value = Long.valueOf(propertyValue.toString());
|
||||
}
|
||||
catch (NumberFormatException e1)
|
||||
{
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (value == null)
|
||||
{
|
||||
// convert to correct repository type
|
||||
value = (Serializable)DefaultTypeConverter.INSTANCE.convert(dictionaryService.getDataType(typeQName), propertyValue);
|
||||
}
|
||||
if (value == null)
|
||||
{
|
||||
// convert to correct repository type
|
||||
value = (Serializable)DefaultTypeConverter.INSTANCE.convert(dictionaryService.getDataType(typeQName), propertyValue);
|
||||
}
|
||||
|
||||
parameterValues.put(propertyName, value);
|
||||
parameterValues.put(propertyName, value);
|
||||
}
|
||||
}
|
||||
|
||||
return parameterValues;
|
||||
|
Reference in New Issue
Block a user