Merged V3.1 to HEAD

14628: Second attempt at ETHREEOH-2144 fix - tested against several known good webforms.
   14854: Fix for ETHREEOH-2206. Also fixes minor issue where rule condition selection box was not reset after adding a condition to a composite.
   14862: Fix for ETHREEOH-1946 - correctly coerce nodes returned from javascript into AVMTemplateNode objects if they are AVM NodeRef objects.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14864 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2009-06-23 14:34:50 +00:00
parent 272a2812c1
commit e470d63e36
3 changed files with 60 additions and 32 deletions

View File

@@ -22,27 +22,42 @@
* http://www.alfresco.com/legal/licensing" */
package org.alfresco.web.forms;
import freemarker.ext.dom.NodeModel;
import freemarker.cache.TemplateLoader;
import freemarker.template.*;
import java.io.*;
import java.util.*;
import javax.xml.parsers.DocumentBuilder;
import org.alfresco.model.ContentModel;
import org.alfresco.service.cmr.repository.ContentReader;
import org.alfresco.service.cmr.repository.ContentService;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import org.alfresco.service.namespace.NamespaceService;
import org.alfresco.service.namespace.QName;
import org.alfresco.web.bean.wcm.AVMUtil;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.xml.sax.SAXException;
import freemarker.cache.TemplateLoader;
import freemarker.ext.dom.NodeModel;
import freemarker.template.Configuration;
import freemarker.template.SimpleDate;
import freemarker.template.SimpleHash;
import freemarker.template.SimpleNumber;
import freemarker.template.SimpleScalar;
import freemarker.template.SimpleSequence;
import freemarker.template.Template;
import freemarker.template.TemplateBooleanModel;
import freemarker.template.TemplateException;
import freemarker.template.TemplateExceptionHandler;
import freemarker.template.TemplateHashModel;
import freemarker.template.TemplateMethodModel;
import freemarker.template.TemplateModel;
import freemarker.template.TemplateModelException;
/**
* Implementation of a form data renderer for processing xml instance data
* using a freemarker template.
@@ -249,6 +264,10 @@ public class FreeMarkerRenderingEngine
{
return (Boolean)value ? TemplateBooleanModel.TRUE : TemplateBooleanModel.FALSE;
}
else if (value instanceof Date)
{
return new SimpleDate(((Date)value), SimpleDate.DATETIME);
}
else if (value instanceof Document)
{
return NodeModel.wrap((Document)value);

View File

@@ -384,7 +384,7 @@ public class RenderingEngineTemplateImpl
model.put(QName.createQName(NamespaceService.ALFRESCO_PREFIX,
"date",
namespacePrefixResolver),
new SimpleDate(new Date(), SimpleDate.DATETIME));
new Date());
model.put(QName.createQName(NamespaceService.ALFRESCO_PREFIX,
"avm_sandbox_url",
namespacePrefixResolver),