diff --git a/source/java/org/alfresco/web/forms/ServletContextFormDataFunctionsAdapter.java b/source/java/org/alfresco/web/forms/ServletContextFormDataFunctionsAdapter.java index f1f3c9790e..0a01f4a092 100644 --- a/source/java/org/alfresco/web/forms/ServletContextFormDataFunctionsAdapter.java +++ b/source/java/org/alfresco/web/forms/ServletContextFormDataFunctionsAdapter.java @@ -17,6 +17,7 @@ package org.alfresco.web.forms; import org.alfresco.jndi.AVMFileDirContext; +import org.alfresco.util.JNDIPath; import org.w3c.dom.Document; import org.xml.sax.SAXException; import javax.servlet.ServletContext; @@ -39,13 +40,22 @@ public class ServletContextFormDataFunctionsAdapter { // The real_path will look something like this: // /alfresco.avm/avm.alfresco.localhost/$-1$alfreco-guest-main:/www/avm_webapps/my_webapp + System.err.println("looking up real path for " + path); path = this.servletContext.getRealPath(path); - - // The avm_path to the root of the context will look something like this: - // alfreco-guest-main:/www/avm_webapps/my_webapp - path = path.substring(path.indexOf('$', path.indexOf('$') + 1) + 1); - path = path.replace('\\','/'); - return path; + System.err.println("got real path " + path); + try + { + final JNDIPath jndiPath = new JNDIPath(AVMFileDirContext.getAVMFileDirAppBase(), path); + // The avm_path to the root of the context will look something like this: + // alfreco-guest-main:/www/avm_webapps/my_webapp + + return jndiPath.getAvmPath(); + } + catch (Exception e) + { + System.err.println(e.getMessage()); + return path; + } } public Document parseXMLDocument(final String path) diff --git a/source/test-resources/xforms/demos/press-release/press-release-plain-text.ftl b/source/test-resources/xforms/demos/press-release/press-release-plain-text.ftl index e88481d403..776362fa73 100644 --- a/source/test-resources/xforms/demos/press-release/press-release-plain-text.ftl +++ b/source/test-resources/xforms/demos/press-release/press-release-plain-text.ftl @@ -16,7 +16,7 @@ ${press_release.location}--${press_release.launch_date}-- ${body?trim} <#list press_release.include_company_footer as cf> -<#assign cf_document=alfresco.parseXMLDocument(cf)> +<#assign cf_document=alf.parseXMLDocument(cf)> <@show_heading heading="About ${cf_document.name}"/> <#list cf_document.body as body> diff --git a/source/test-resources/xforms/demos/press-release/press-release.xsl b/source/test-resources/xforms/demos/press-release/press-release.xsl index a7d99f2693..80486466e7 100644 --- a/source/test-resources/xforms/demos/press-release/press-release.xsl +++ b/source/test-resources/xforms/demos/press-release/press-release.xsl @@ -65,7 +65,7 @@ Produces an html rendition of a press release - +

About

@@ -79,7 +79,7 @@ Produces an html rendition of a press release - + view plain text version @@ -97,7 +97,7 @@ Produces an html rendition of a press release select="/pr:press_release/pr:title"/> + select="alf:parseXMLDocuments('press-release')"/>
    @@ -117,7 +117,7 @@ Produces an html rendition of a press release font-weight:bold; - + @@ -132,7 +132,7 @@ Produces an html rendition of a press release --> - + diff --git a/source/test-resources/xforms/unit-tests/repeat-tests/repeat-textarea.xsd b/source/test-resources/xforms/unit-tests/repeat-tests/repeat-textarea.xsd new file mode 100644 index 0000000000..bd67e93a7c --- /dev/null +++ b/source/test-resources/xforms/unit-tests/repeat-tests/repeat-textarea.xsd @@ -0,0 +1,14 @@ + + + + + + + + + + + + +