mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
Merged V2.9 to HEAD
9231: Merged V2.2 to V2.9 9207: Merged V2.1 to V2.2 9124: Class behaviour compilation doesn't throw exceptions for missing model class definitions. 9125: Part-fix for ACT-2935: AVMSyncException during index rebuild in AVM 9171: Improvements to I18N freemarker template message() method as supplied by Will Abson 9202: Additional servlet mappings added to example NTLM auth section in web.xml git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@9235 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -28,8 +28,10 @@ import java.util.List;
|
||||
|
||||
import org.alfresco.i18n.I18NUtil;
|
||||
|
||||
import freemarker.template.TemplateDateModel;
|
||||
import freemarker.template.TemplateMethodModelEx;
|
||||
import freemarker.template.TemplateModelException;
|
||||
import freemarker.template.TemplateNumberModel;
|
||||
import freemarker.template.TemplateScalarModel;
|
||||
|
||||
/**
|
||||
@@ -50,40 +52,50 @@ public class I18NMessageMethod extends BaseTemplateProcessorExtension implements
|
||||
{
|
||||
String result = "";
|
||||
int argSize = args.size();
|
||||
|
||||
if (argSize > 0)
|
||||
|
||||
if (argSize != 0)
|
||||
{
|
||||
String id = "";
|
||||
Object arg0 = args.get(0);
|
||||
if (arg0 instanceof TemplateScalarModel)
|
||||
{
|
||||
id = ((TemplateScalarModel)arg0).getAsString();
|
||||
}
|
||||
|
||||
if (argSize == 1)
|
||||
{
|
||||
// Shortcut for no additional params
|
||||
result = I18NUtil.getMessage(id);
|
||||
}
|
||||
else
|
||||
{
|
||||
Object arg;
|
||||
Object[] params = new Object[argSize - 1];
|
||||
for (int i = 0; i < argSize-1; i++)
|
||||
{
|
||||
// Note: need to ignore first passed-in arg
|
||||
arg = args.get(i+1);
|
||||
if (arg instanceof TemplateScalarModel)
|
||||
{
|
||||
params[i] = ((TemplateScalarModel)arg).getAsString();
|
||||
}
|
||||
else
|
||||
{
|
||||
params[i] = new String("");
|
||||
}
|
||||
}
|
||||
result = I18NUtil.getMessage(id, params);
|
||||
}
|
||||
String id = "";
|
||||
Object arg0 = args.get(0);
|
||||
if (arg0 instanceof TemplateScalarModel)
|
||||
{
|
||||
id = ((TemplateScalarModel)arg0).getAsString();
|
||||
}
|
||||
|
||||
if (id != null)
|
||||
{
|
||||
if (argSize == 1)
|
||||
{
|
||||
// shortcut for no additional msg params
|
||||
result = I18NUtil.getMessage(id);
|
||||
}
|
||||
else
|
||||
{
|
||||
Object[] params = new Object[argSize - 1];
|
||||
for (int i = 0; i < argSize-1; i++)
|
||||
{
|
||||
// ignore first passed-in arg which is the msg id
|
||||
Object arg = args.get(i + 1);
|
||||
if (arg instanceof TemplateScalarModel)
|
||||
{
|
||||
params[i] = ((TemplateScalarModel)arg).getAsString();
|
||||
}
|
||||
else if (arg instanceof TemplateNumberModel)
|
||||
{
|
||||
params[i] = ((TemplateNumberModel)arg).getAsNumber();
|
||||
}
|
||||
else if (arg instanceof TemplateDateModel)
|
||||
{
|
||||
params[i] = ((TemplateDateModel)arg).getAsDate();
|
||||
}
|
||||
else
|
||||
{
|
||||
params[i] = "";
|
||||
}
|
||||
}
|
||||
result = I18NUtil.getMessage(id, params);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
|
Reference in New Issue
Block a user