Author: lgawron Date: Wed Feb 23 05:28:04 2005 New Revision: 155006 URL: http://svn.apache.org/viewcvs?view=rev&rev=155006 Log: add TemplateObjectModelHelper.addJavaPackages so the object model is not messed with NativeJavaPackages by default
Modified: cocoon/trunk/src/blocks/template/java/org/apache/cocoon/environment/FlowObjectModelHelper.java cocoon/trunk/src/blocks/template/java/org/apache/cocoon/template/jxtg/script/event/Event.java cocoon/trunk/src/java/org/apache/cocoon/environment/TemplateObjectModelHelper.java Modified: cocoon/trunk/src/blocks/template/java/org/apache/cocoon/environment/FlowObjectModelHelper.java URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/template/java/org/apache/cocoon/environment/FlowObjectModelHelper.java?view=diff&r1=155005&r2=155006 ============================================================================== --- cocoon/trunk/src/blocks/template/java/org/apache/cocoon/environment/FlowObjectModelHelper.java (original) +++ cocoon/trunk/src/blocks/template/java/org/apache/cocoon/environment/FlowObjectModelHelper.java Wed Feb 23 05:28:04 2005 @@ -36,7 +36,9 @@ public static ExpressionContext getFOMExpressionContext(final Map objectModel, final Parameters parameters) { ExpressionContext context = new ExpressionContext(); - context.setVars((Map)TemplateObjectModelHelper.getTemplateObjectModel(objectModel, parameters)); + Map expressionContext = (Map)TemplateObjectModelHelper.getTemplateObjectModel(objectModel, parameters); + expressionContext = (Map) TemplateObjectModelHelper.addJavaPackages( expressionContext ); + context.setVars( expressionContext ); context.setContextBean(FlowHelper.getContextObject(objectModel)); return context; Modified: cocoon/trunk/src/blocks/template/java/org/apache/cocoon/template/jxtg/script/event/Event.java URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/template/java/org/apache/cocoon/template/jxtg/script/event/Event.java?view=diff&r1=155005&r2=155006 ============================================================================== --- cocoon/trunk/src/blocks/template/java/org/apache/cocoon/template/jxtg/script/event/Event.java (original) +++ cocoon/trunk/src/blocks/template/java/org/apache/cocoon/template/jxtg/script/event/Event.java Wed Feb 23 05:28:04 2005 @@ -15,7 +15,11 @@ */ package org.apache.cocoon.template.jxtg.script.event; +import org.apache.cocoon.components.expression.ExpressionContext; +import org.apache.cocoon.template.jxtg.environment.ExecutionContext; +import org.apache.cocoon.xml.XMLConsumer; import org.xml.sax.Locator; +import org.xml.sax.SAXException; import org.xml.sax.helpers.LocatorImpl; public class Event { @@ -52,5 +56,13 @@ buf.append("." + col); } return buf.toString(); + } + + public Event execute(final XMLConsumer consumer, + ExpressionContext expressionContext, + ExecutionContext executionContext, + StartElement macroCall, Event startEvent, Event endEvent) + throws SAXException { + return getNext(); } } Modified: cocoon/trunk/src/java/org/apache/cocoon/environment/TemplateObjectModelHelper.java URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/java/org/apache/cocoon/environment/TemplateObjectModelHelper.java?view=diff&r1=155005&r2=155006 ============================================================================== --- cocoon/trunk/src/java/org/apache/cocoon/environment/TemplateObjectModelHelper.java (original) +++ cocoon/trunk/src/java/org/apache/cocoon/environment/TemplateObjectModelHelper.java Wed Feb 23 05:28:04 2005 @@ -134,12 +134,21 @@ fillContext(contextObject, map); } + return map; + } + + /** + * Add java packages to object model. Allows to construct java objects. + * @param objectModel usually the result of invoking getTemplateObjectModel + */ + public static Object addJavaPackages( Map objectModel ) { Object javaPkg = FOM_JavaScriptFlowHelper.getJavaPackage(objectModel); Object pkgs = FOM_JavaScriptFlowHelper.getPackages(objectModel); + // packages might have already been set up if flowscript is being used if ( javaPkg != null && pkgs != null ) { - map.put( "Packages", javaPkg ); - map.put( "java", pkgs ); + objectModel.put( "Packages", javaPkg ); + objectModel.put( "java", pkgs ); } else { Context cx = Context.enter(); try { @@ -152,13 +161,12 @@ newPackages.setParentScope( scope ); newPackages.setPrototype( ScriptableObject.getClassPrototype( scope, JAVA_PACKAGE ) ); - map.put( "Packages", newPackages ); - map.put( "java", ScriptableObject.getProperty( scope, "java" ) ); + objectModel.put( "Packages", newPackages ); + objectModel.put( "java", ScriptableObject.getProperty( scope, "java" ) ); } finally { Context.exit(); } } - return map; + return objectModel; } - }