You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beehive.apache.org by ek...@apache.org on 2004/11/28 19:15:41 UTC
svn commit: r106823 - in incubator/beehive/trunk/netui: . src/pageflow/org/apache/beehive/netui/pageflow src/pageflow/org/apache/beehive/netui/script src/pageflow/org/apache/beehive/netui/script/common src/pageflow/org/apache/beehive/netui/script/el src/pageflow/org/apache/beehive/netui/script/el/tokens src/pageflow/org/apache/beehive/netui/script/el/util src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model src/tags-databinding/org/apache/beehive/netui/databinding/script src/tags-html/org/apache/beehive/netui/tags src/webapp-template/config src/webapp-template/default/WEB-INF test/src/fauxServlet test/src/junitTests/org/apache/beehive/netui/test/script test/src/junitTests/org/apache/beehive/netui/test/script/el test/src/junitTests/org/apache/beehive/netui/test/servlet test/src/testBeans test/webapps/drt/coreWeb/WEB-INF
Author: ekoneil
Date: Sun Nov 28 10:15:40 2004
New Revision: 106823
URL: http://svn.apache.org/viewcvs?view=rev&rev=106823
Log:
Checkpoint the rework the API to the NetUI expression language.
Previously, this used a propreitary object (ImplicitObjectBean) to transport implicit objects into the expression engine. Now, this is hidden behind a VariableResolver which can be decorated to expose a different API atop the JSP 2.0 standard VariableResolver.
Callers of the expression engine now call methods on the ImplicitObjectUtil class to get a VR to use for reads and updates.
Also:
- generally cleanup the EL tests
- delete empty directories fauxServlet and testBeans
- remove un-needed entries from the netui config files
This is stage one of a two stage process; left-over methods / classes will be deleted next.
BB: self
DRT: NetUI pass (win)
BVT: NetUI pass (win)
Removed:
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/ApplicationAttributeMap.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/PageContextAttributeMap.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/RequestParameterMap.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/script/
incubator/beehive/trunk/netui/test/src/fauxServlet/
incubator/beehive/trunk/netui/test/src/testBeans/
Modified:
incubator/beehive/trunk/netui/build.xml
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ProcessPopulate.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/ExpressionEvaluator.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/ExpressionEvaluatorFactory.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/BundleContext.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/BundleMap.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/ImplicitObjectUtil.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionEvaluatorImpl.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionParseException.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionTerm.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/LiteralTerm.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIReadVariableResolver.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIUpdateVariableResolver.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIVariableResolver.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ParsedExpression.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/Term.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/tokens/ExpressionToken.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/ParseUtils.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/RequestAttributeMap.java
incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/SessionAttributeMap.java
incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/AbstractClassicTag.java
incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/ExpressionHandling.java
incubator/beehive/trunk/netui/src/webapp-template/config/netui-config-default.xml
incubator/beehive/trunk/netui/src/webapp-template/default/WEB-INF/netui-config.xml
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/AbstractExpressionTest.java
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/AccessTest.java
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/BundleScriptTest.java
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/ExpressionTest.java
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/ExpressionUpdateTest.java
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/PageInputTest.java
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELCustomBindingContextTest.java
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELExpressionUpdateTest.java
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELPageInputTest.java
incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/servlet/FauxPageContext.java
incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/local-netui-config.xml
Modified: incubator/beehive/trunk/netui/build.xml
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/build.xml?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/build.xml&r1=106822&p2=incubator/beehive/trunk/netui/build.xml&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/build.xml (original)
+++ incubator/beehive/trunk/netui/build.xml Sun Nov 28 10:15:40 2004
@@ -81,7 +81,7 @@
</ant>
</target>
- <target name="undeploy.netui"
+ <target name="undeploy.netui"
description="Undeploy the NetUI runtime from a fully-quaflified webapp directory specified with the property 'webapp.dir'">
<echo>Undeploy NetUI from webapp rooted at: ${webapp.dir}</echo>
@@ -91,9 +91,8 @@
</ant>
</target>
- <target name="create.beehive.webapp" description="Utility target that will create a Beehive enabled webapp using the properties webapp.dir and context.path">
+ <target name="create.netui.webapp" description="Utility target that will create a Beehive enabled webapp using the properties webapp.dir">
<fail unless="webapp.dir" message="The ${webapp.dir} property is unset"/>
- <fail unless="context.path" message="The ${context.path} property is unset"/>
<copy todir="${webapp.dir}" overwrite="true">
<fileset dir="${os.BEEHIVE_HOME}/netui/build/dist/webapp"/>
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ProcessPopulate.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ProcessPopulate.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ProcessPopulate.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ProcessPopulate.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ProcessPopulate.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ProcessPopulate.java Sun Nov 28 10:15:40 2004
@@ -17,26 +17,27 @@
*/
package org.apache.beehive.netui.pageflow;
-// java imports
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import javax.servlet.ServletException;
+import javax.servlet.jsp.el.VariableResolver;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
import org.apache.beehive.netui.pageflow.internal.InternalUtils;
import org.apache.beehive.netui.script.Expression;
import org.apache.beehive.netui.script.ExpressionEvaluator;
import org.apache.beehive.netui.script.ExpressionEvaluatorFactory;
import org.apache.beehive.netui.script.ExpressionUpdateException;
-import org.apache.beehive.netui.script.common.ImplicitObjectBean;
+import org.apache.beehive.netui.script.el.NetUIUpdateVariableResolver;
import org.apache.beehive.netui.script.common.ImplicitObjectUtil;
import org.apache.beehive.netui.util.Bundle;
import org.apache.beehive.netui.util.logging.Logger;
+
import org.apache.commons.beanutils.BeanUtils;
import org.apache.struts.action.ActionForm;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
/**
* Implement the processPopulate stage of the Struts / PageFlow request
* processing lifecycle. The {@link #populate(HttpServletRequest, HttpServletResponse, ActionForm, boolean)} method is
@@ -48,7 +49,6 @@
* Updates are performed on a key / value pair if the key is an expression; otherwise,
* the updates are delegated to the Struts processPopulate infrastructure.
*
- * @exclude
*/
public class ProcessPopulate
{
@@ -181,15 +181,15 @@
return;
}
- // only needs to happen once; all of the objects herein are stable
- ImplicitObjectBean bean = ImplicitObjectUtil.getImplicitObjects(request, response, form);
+ /* explicitly build a variable resolver that is used to provide objects that may be updated to the expression engine */
+ VariableResolver variableResolver = ImplicitObjectUtil.getUpdateVariableResolver(form, request, response, true);
String[] idMap = (String[]) params.get(IDMAP_PARAMETER_NAME);
if (idMap != null) {
expressionMap = IdMapper.getExpressionMap(idMap[0]);
}
- // TODO: are there any ordering issues with using an Iterator vs. an Enumeration here?
+ /* todo: are there any ordering issues with using an Iterator vs. an Enumeration here? */
Iterator iterator = params.keySet().iterator();
while (iterator.hasNext())
{
@@ -250,14 +250,14 @@
{
// common case, make this fast
if (!requestHasPopulated)
- ee.update(expr, updateValue, bean, true);
+ ee.update(expr, updateValue, variableResolver, true);
// must check the expression to make sure pageFlow. and globalApp. don't get executed more than once
else
{
Expression pe = ee.parseExpression(expr);
String contextName = pe.getContext();
if (!contextName.equals(PAGE_FLOW_CONTEXT) && !contextName.equals(GLOBAL_APP_CONTEXT))
- ee.update(expr, updateValue, bean, true);
+ ee.update(expr, updateValue, variableResolver, true);
}
}
}
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/ExpressionEvaluator.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/ExpressionEvaluator.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/ExpressionEvaluator.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/ExpressionEvaluator.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/ExpressionEvaluator.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/ExpressionEvaluator.java Sun Nov 28 10:15:40 2004
@@ -17,12 +17,7 @@
*/
package org.apache.beehive.netui.script;
-// java imports
-
-// internal imports
-import org.apache.beehive.netui.script.common.ImplicitObjectBean;
-
-// external imports
+import javax.servlet.jsp.el.VariableResolver;
/**
* An interface for evaluating expressions in NetUI. Different languages may implement
@@ -35,12 +30,12 @@
* Evaluate an expression and return the result.
*
* @param expression the expression to evaluate
- * @param implicitObjects the set of contexts that may be used in expression evaluation. This set
+ * @param variableResolver the set of contexts that may be used in expression evaluation. This set
* is not necessarily complete as some objects that can be used as top-level expression contexts
* may be contained within an object available in this JavaBean.
* @throws ExpressionEvaluationException when an error occurs
*/
- public Object evaluateStrict(String expression, ImplicitObjectBean implicitObjects)
+ public Object evaluateStrict(String expression, VariableResolver variableResolver)
throws ExpressionEvaluationException;
/**
@@ -51,14 +46,13 @@
*
* @param expression the expression whose value to update
* @param value the new value for the update
- * @param implicitObjects the set of contexts that may be used in expression evaluation. This set
+ * @param variableResolver the set of contexts that may be used in expression evaluation. This set
* is not necessarily complete as some objects that can be used as top-level expression contexts
* may be contained within an object available in this JavaBean.
* @param requestParameter a boolean that marks this update as occurring from data in the request, if
* <code>true</code> or simply as a regular update.
- * @throws ExcpressionUpdateException when an error occurs
*/
- public void update(String expression, Object value, ImplicitObjectBean implicitObjects, boolean requestParameter)
+ public void update(String expression, Object value, VariableResolver variableResolver, boolean requestParameter)
throws ExpressionUpdateException;
/**
@@ -70,7 +64,6 @@
* @param oldContext the old context to replace, if present
* @param newContext the new context to replace if the expression starts with the <code>oldContext</code>
* @param lookupIndex an index used to qualify an expression into an array look-up.
- * @throws ExcpressionUpdateException when an error occurs
* @exclude
*/
public String changeContext(String expression, String oldContext, String newContext, int lookupIndex)
@@ -82,7 +75,6 @@
*
* @param contextName the new context
* @param expression the expression to qualify
- * @throws ExcpressionUpdateException when an error occurs
* @exclude
*/
public String qualify(String contextName, String expression)
@@ -113,7 +105,6 @@
*
* @param expression the String expression to parse
* @return the parsed expression
- * @throws IllegalExpresspionException if the expression can not be parsed or is not atomic
*/
public Expression parseExpression(String expression);
}
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/ExpressionEvaluatorFactory.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/ExpressionEvaluatorFactory.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/ExpressionEvaluatorFactory.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/ExpressionEvaluatorFactory.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/ExpressionEvaluatorFactory.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/ExpressionEvaluatorFactory.java Sun Nov 28 10:15:40 2004
@@ -17,20 +17,15 @@
*/
package org.apache.beehive.netui.script;
-// java imports
import java.util.HashMap;
import java.util.Map;
-// internal imports
import org.apache.beehive.netui.util.config.ConfigUtil;
import org.apache.beehive.netui.util.config.bean.NetuiConfigDocument.NetuiConfig;
import org.apache.beehive.netui.util.config.bean.ExpressionLanguages;
import org.apache.beehive.netui.util.config.bean.ExpressionLanguages.ExpressionLanguage;
-
import org.apache.beehive.netui.util.logging.Logger;
-// external imports
-
/**
* Get an expression evaluator.
*/
@@ -38,18 +33,18 @@
{
private static final Logger _logger = Logger.getInstance(ExpressionEvaluatorFactory.class);
- private static final HashMap _factoryMap = new HashMap();
- private static ExpressionEngineFactory _defaultFactory;
+ private static final HashMap FACTORY_MAP = new HashMap();
+ private static ExpressionEngineFactory DEFAULT_FACTORY;
static
{
try
{
- _defaultFactory = initialize(_factoryMap);
+ DEFAULT_FACTORY = initialize(FACTORY_MAP);
}
catch(Exception e)
{
- _defaultFactory = null;
+ DEFAULT_FACTORY = null;
if(_logger.isErrorEnabled())
_logger.error("An exception occurred loading the expression evaluator configuration. Cause: " + e, e);
@@ -74,28 +69,21 @@
*/
public final static ExpressionEvaluator getInstance(String name)
{
- assert _defaultFactory != null;
+ assert DEFAULT_FACTORY != null;
+ assert FACTORY_MAP != null;
if(name == null)
- return _defaultFactory.getInstance();
- else
- {
- assert _factoryMap != null;
-
- if(_factoryMap.containsKey(name))
- return ((ExpressionEngineFactory)_factoryMap.get(name)).getInstance();
- }
+ return DEFAULT_FACTORY.getInstance();
+ else if(FACTORY_MAP.containsKey(name))
+ return ((ExpressionEngineFactory)FACTORY_MAP.get(name)).getInstance();
String msg = "An ExpressionEvaluator named \"" + name + "\" is not available.";
- if(_logger.isErrorEnabled()) _logger.error(msg);
+ if(_logger.isErrorEnabled())
+ _logger.error(msg);
throw new IllegalArgumentException(msg);
}
- /**
- *
- *
- */
private static final ExpressionEngineFactory initialize(Map factoryMap)
{
assert factoryMap != null;
@@ -122,8 +110,8 @@
}
catch(ClassNotFoundException cnf)
{
- if(_logger.isInfoEnabled())
- _logger.info("Could not create an ExpressionEngineFactory for type \"" + className +
+ if(_logger.isWarnEnabled())
+ _logger.warn("Could not create an ExpressionEngineFactory for type \"" + className +
"\" because the implementation class could not be found.");
continue;
@@ -139,19 +127,20 @@
}
if(factoryMap.containsKey(name))
- if(_logger.isWarnEnabled()) _logger.warn("Overwriting a previously defined ExpressionEngineFactory named \"" + name +
- "\" with a new ExpressionEngineFactory of type \"" + className + "\"");
+ if(_logger.isWarnEnabled())
+ _logger.warn("Overwriting a previously defined ExpressionEngineFactory named \"" + name +
+ "\" with a new ExpressionEngineFactory of type \"" + className + "\"");
else _logger.info("Adding an ExpressionEngineFactory named \"" + name + "\" with implementation \"" + className + "\"");
factoryMap.put(name, factory);
}
- ExpressionEngineFactory def = null;
+ ExpressionEngineFactory defaultEngineFactory = null;
String defaultLanguage = languages.getDefaultLanguage();
if(defaultLanguage != null)
{
- def = (ExpressionEngineFactory)factoryMap.get(defaultLanguage);
- if(def != null)
+ defaultEngineFactory = (ExpressionEngineFactory)factoryMap.get(defaultLanguage);
+ if(defaultEngineFactory != null)
{
if(_logger.isInfoEnabled())
_logger.info("Using a default expression evaluator of type \"" + factoryMap.get(defaultLanguage).getClass().getName() + "\"");
@@ -161,6 +150,7 @@
String msg =
"The default ExpressionEvaluator named \"" + defaultLanguage + "\" was specified, but the ExpressionEngineFactory could not be found.";
if(_logger.isWarnEnabled()) _logger.warn(msg);
+
throw new RuntimeException(msg);
}
}
@@ -171,6 +161,6 @@
throw new RuntimeException(msg);
}
- return def;
+ return defaultEngineFactory;
}
}
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/BundleContext.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/BundleContext.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/BundleContext.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/BundleContext.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/BundleContext.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/BundleContext.java Sun Nov 28 10:15:40 2004
@@ -17,7 +17,6 @@
*/
package org.apache.beehive.netui.script.common;
-// java imports
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
@@ -26,10 +25,8 @@
import java.util.MissingResourceException;
import java.util.ResourceBundle;
-// internal imports
import org.apache.beehive.netui.util.logging.Logger;
-// external imports
import org.apache.struts.util.MessageResources;
/**
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/BundleMap.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/BundleMap.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/BundleMap.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/BundleMap.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/BundleMap.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/BundleMap.java Sun Nov 28 10:15:40 2004
@@ -17,22 +17,18 @@
*/
package org.apache.beehive.netui.script.common;
-// java imports
import java.util.ArrayList;
import java.util.Set;
import java.util.Iterator;
import java.util.Locale;
import java.util.Enumeration;
-
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.servlet.ServletContext;
-// internal imports
import org.apache.beehive.netui.script.common.BundleContext.BundleNode;
import org.apache.beehive.netui.util.logging.Logger;
-// external imports
import org.apache.struts.Globals;
import org.apache.struts.config.MessageResourcesConfig;
import org.apache.struts.config.ModuleConfig;
@@ -51,7 +47,7 @@
public class BundleMap
extends AbstractScriptableMap
{
- private Logger _logger = Logger.getInstance(BundleMap.class);
+ private static final Logger _logger = Logger.getInstance(BundleMap.class);
private BundleContext _bundleContext = null;
private HttpServletRequest _request = null;
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/ImplicitObjectUtil.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/ImplicitObjectUtil.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/ImplicitObjectUtil.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/ImplicitObjectUtil.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/ImplicitObjectUtil.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/common/ImplicitObjectUtil.java Sun Nov 28 10:15:40 2004
@@ -17,35 +17,29 @@
*/
package org.apache.beehive.netui.script.common;
-// java imports
import java.util.LinkedHashMap;
import java.util.Iterator;
import java.util.Map;
-
+import java.util.Collections;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
-import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.JspContext;
+import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.el.VariableResolver;
-import javax.servlet.jsp.tagext.Tag;
-import javax.servlet.jsp.tagext.JspTag;
-// internal imports
import org.apache.beehive.netui.pageflow.*;
import org.apache.beehive.netui.pageflow.internal.AnyBeanActionForm;
import org.apache.beehive.netui.pageflow.internal.InternalUtils;
-
import org.apache.beehive.netui.util.config.ConfigUtil;
import org.apache.beehive.netui.util.config.bean.NetuiConfigDocument.NetuiConfig;
import org.apache.beehive.netui.util.config.bean.ExpressionLanguages;
import org.apache.beehive.netui.util.config.bean.ExpressionLanguages.ExpressionLanguage;
import org.apache.beehive.netui.util.config.bean.BindingContexts;
import org.apache.beehive.netui.util.logging.Logger;
+import org.apache.beehive.netui.script.el.NetUIUpdateVariableResolver;
-// external imports
import org.apache.struts.action.ActionForm;
/**
@@ -54,7 +48,7 @@
public class ImplicitObjectUtil
{
private static final Logger _logger = Logger.getInstance(ImplicitObjectUtil.class);
- private static final String IMPLICIT_OBJECT_BEAN = (ImplicitObjectBean.class).getName() + "_KEY";
+
private static final String PAGE_FLOW_IMPLICIT_OBJECT_KEY = "pageFlow";
private static final String SHARED_FLOW_IMPLICIT_OBJECT_KEY = "sharedFlow";
private static final String BUNDLE_IMPLICIT_OBJECT_KEY = "bundle";
@@ -82,7 +76,9 @@
request.setAttribute(PAGE_FLOW_IMPLICIT_OBJECT_KEY, pageFlow);
if(fbb != null)
request.setAttribute(BACKING_IMPLICIT_OBJECT_KEY, fbb);
- request.setAttribute(PAGE_INPUT_IMPLICIT_OBJECT_KEY, InternalUtils.getPageInputMap(request));
+
+ Map map = InternalUtils.getPageInputMap(request);
+ request.setAttribute(PAGE_INPUT_IMPLICIT_OBJECT_KEY, map != null ? map : Collections.EMPTY_MAP);
}
public static final void loadSharedFlow(ServletRequest request, SharedFlowController sharedFlow)
@@ -96,37 +92,14 @@
servletRequest.setAttribute(BUNDLE_IMPLICIT_OBJECT_KEY, bundleMap);
}
- public static final ImplicitObjectBean getImplicitObjects(PageContext pageContext, JspTag currentTag)
+ public static final Object unwrapForm(Object form)
{
- ServletRequest request = pageContext.getRequest();
- ImplicitObjectBean bean = (ImplicitObjectBean)request.getAttribute(IMPLICIT_OBJECT_BEAN);
-
- if(bean == null)
- {
- bean = new ImplicitObjectBean();
- request.setAttribute(IMPLICIT_OBJECT_BEAN, bean);
- }
-
- bean.setPageContext(pageContext);
-
- // @todo: need to be able to clean-up the ActionForm. right now, this update is done for all
- // calls to this method so that the action form is always 'up to date' in the ImplicitObjectBean
- // for every call. It might be possible to move this into the form tag to add / remove as needed.
- ActionForm actionForm = ((ActionForm)request.getAttribute(org.apache.struts.taglib.html.Constants.BEAN_KEY));
- bean.setActionForm(unwrapForm(actionForm));
- bean.setCurrentTag(currentTag);
-
- return bean;
- }
+ if(_logger.isDebugEnabled() && form instanceof AnyBeanActionForm)
+ _logger.debug("using form of type: " + ((AnyBeanActionForm)form != null ? ((AnyBeanActionForm)form).getClass().getName() : "null"));
- public static final ImplicitObjectBean getImplicitObjects(ServletRequest request, ServletResponse response, ActionForm actionForm)
- {
- ImplicitObjectBean bean = new ImplicitObjectBean();
- bean.setServletRequest(request);
- bean.setServletResponse(response);
- bean.setActionForm(unwrapForm(actionForm));
-
- return bean;
+ if(form instanceof AnyBeanActionForm)
+ return ((AnyBeanActionForm)form).getBean();
+ else return form;
}
public static final SharedFlowController getSharedFlow(ServletRequest request, ServletResponse response)
@@ -167,7 +140,7 @@
public static final GlobalApp getGlobalApp(ServletRequest request, ServletResponse response)
{
- assert request instanceof HttpServletRequest;
+ assert request instanceof HttpServletRequest;
GlobalApp ga = PageFlowUtils.getGlobalApp((HttpServletRequest)request);
@@ -205,6 +178,28 @@
}
/**
+ *
+ */
+ public static final VariableResolver getUpdateVariableResolver(ServletRequest request, ServletResponse response, boolean isHandlingPost) {
+ Object form = ImplicitObjectUtil.unwrapForm(request.getAttribute(org.apache.struts.taglib.html.Constants.BEAN_KEY));
+
+ /* todo: need to provide get(Read|Update)VariableResolver methods on the ExpressionEngineFactory */
+ return new NetUIUpdateVariableResolver(form, request, response, isHandlingPost);
+ }
+
+ public static final VariableResolver getUpdateVariableResolver(Object form, ServletRequest request, ServletResponse response, boolean isHandlingPost) {
+ Object realForm = ImplicitObjectUtil.unwrapForm(form);
+
+ /* todo: need to provide get(Read|Update)VariableResolver methods on the ExpressionEngineFactory */
+ return new NetUIUpdateVariableResolver(realForm, request, response, isHandlingPost);
+ }
+
+ public static final VariableResolver getReadVariableResolver(PageContext pageContext) {
+ assert pageContext != null;
+ return pageContext.getVariableResolver();
+ }
+
+ /**
* Read entires from the netui-config.xml file and add the objects
* to this implicit object map.
*/
@@ -294,15 +289,5 @@
}
return map;
- }
-
- private static final Object unwrapForm(Object form)
- {
- if(_logger.isDebugEnabled() && form instanceof AnyBeanActionForm)
- _logger.debug("using form of type: " + ((AnyBeanActionForm)form != null ? ((AnyBeanActionForm)form).getClass().getName() : "null"));
-
- if(form instanceof AnyBeanActionForm)
- return ((AnyBeanActionForm)form).getBean();
- else return form;
}
}
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionEvaluatorImpl.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionEvaluatorImpl.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionEvaluatorImpl.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionEvaluatorImpl.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionEvaluatorImpl.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionEvaluatorImpl.java Sun Nov 28 10:15:40 2004
@@ -17,30 +17,24 @@
*/
package org.apache.beehive.netui.script.el;
-// java imports
-
-// internal imports
-import org.apache.beehive.netui.script.el.util.ParseUtils;
+import javax.servlet.jsp.el.VariableResolver;
import org.apache.beehive.netui.script.Expression;
import org.apache.beehive.netui.script.ExpressionEvaluator;
import org.apache.beehive.netui.script.ExpressionEvaluationException;
import org.apache.beehive.netui.script.ExpressionUpdateException;
import org.apache.beehive.netui.script.IllegalExpressionException;
-import org.apache.beehive.netui.script.common.ImplicitObjectBean;
-
+import org.apache.beehive.netui.script.el.util.ParseUtils;
import org.apache.beehive.netui.util.logging.Logger;
-// external imports
-
/**
*
*/
public class ExpressionEvaluatorImpl
implements ExpressionEvaluator
{
- private static Logger _logger = Logger.getInstance(ExpressionEvaluatorImpl.class);
- private static final boolean debugEnabled = _logger.isDebugEnabled();
+ private static final Logger _logger = Logger.getInstance(ExpressionEvaluatorImpl.class);
+ private static final boolean DEBUG_ENABLED = _logger.isDebugEnabled();
public static class NetUIELEngineFactory
extends org.apache.beehive.netui.script.ExpressionEngineFactory
@@ -51,25 +45,21 @@
}
}
- public Object evaluateStrict(String expression, ImplicitObjectBean bean)
+ public Object evaluateStrict(String expression, VariableResolver variableResolver)
throws ExpressionEvaluationException
{
- NetUIVariableResolver vr = null;
+ NetUIReadVariableResolver vr = null;
try
{
- // @TODO: need to cache VariableResolvers for a request -- need a request ExpressionEvaluationContext
- vr = new NetUIReadVariableResolver(bean.getActionForm(),
- bean.getCurrentTag(),
- bean.getPageContext());
-
+ /* todo: is there compelling enough reson to keep this code here? */
+ vr = new NetUIReadVariableResolver(variableResolver);
+
return ParseUtils.evaluate(expression, vr);
}
catch(Exception e)
{
- if(debugEnabled)
- {
+ if(DEBUG_ENABLED)
_logger.debug("Expression evaluation failed in NetUIEL. Cause: " + e, e);
- }
Exception act = e;
@@ -77,40 +67,38 @@
String msg = "Caught exception when evaluating expression \"" + expression + "\" with available binding contexts " +
contextStr + ". Root cause: " + ParseUtils.getRootCause(act).toString();
- if(_logger.isErrorEnabled()) _logger.error(msg, act);
+ if(_logger.isErrorEnabled())
+ _logger.error(msg, act);
- ExpressionEvaluationException eee = new ExpressionEvaluationException(msg, expression, act);
-
- throw eee;
+ throw new ExpressionEvaluationException(msg, expression, act);
}
}
- // TODO: need to cache VariableResolvers for a request -- need a request ExpressionEvaluationContext
- public void update(String expression, Object value, ImplicitObjectBean bean, boolean requestParameter)
+ public void update(String expression, Object value, VariableResolver variableResolver, boolean requestParameter)
throws ExpressionUpdateException
{
- NetUIVariableResolver vr = null;
+ assert variableResolver instanceof NetUIVariableResolver;
+
+ NetUIVariableResolver vr = (NetUIVariableResolver)variableResolver;
+
try
{
- if(debugEnabled) _logger.debug("Update expression \"" + expression + "\"");
-
- vr = new NetUIUpdateVariableResolver(bean.getActionForm(),
- bean.getServletRequest(),
- bean.getServletResponse(),
- requestParameter);
-
+ if(DEBUG_ENABLED)
+ _logger.debug("Update expression \"" + expression + "\"");
+
ParseUtils.update(expression, value, vr);
}
catch(Exception e)
{
- if(debugEnabled)
+ if(DEBUG_ENABLED)
_logger.debug("Expression update failed in NetUIEL. Cause: " + e, e);
String contextStr = ParseUtils.getContextString(vr.getAvailableVariables());
String msg = "Exception when attempting to update the expression \"" + expression + "\" with available binding contexts " +
contextStr + ". Root cause: " + ParseUtils.getRootCause(e).toString();
- if(_logger.isErrorEnabled()) _logger.error(msg, e);
+ if(_logger.isErrorEnabled())
+ _logger.error(msg, e);
ExpressionUpdateException eee = new ExpressionUpdateException(msg, expression, e);
eee.setLocalizedMessage(msg);
@@ -119,7 +107,7 @@
}
}
- // TODO: fix the lookup index to be Object
+ /* todo: fix the lookup index to be Object */
public String changeContext(String expression, String oldContext, String newContext, int lookupIndex)
throws ExpressionEvaluationException
{
@@ -183,12 +171,14 @@
try
{
ParsedExpression pe = ParseUtils.parse(expression);
-
+ assert pe != null;
return pe.containsExpression();
}
catch(Exception e)
{
- if(_logger.isErrorEnabled()) _logger.error("Exception checking for expressions in \"" + expression + "\"", e);
+ if(_logger.isErrorEnabled())
+ _logger.error("Exception checking for expressions in \"" + expression + "\"", e);
+
return false;
}
}
@@ -198,7 +188,7 @@
if(isExpression(expression))
{
ParsedExpression pe = ParseUtils.parse(expression);
-
+ assert pe != null;
return pe.getAtomicExpressionTerm();
}
else throw new IllegalExpressionException("The expression \"" + expression + "\" can not be parsed as it is not an atomic expression.");
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionParseException.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionParseException.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionParseException.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionParseException.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionParseException.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionParseException.java Sun Nov 28 10:15:40 2004
@@ -17,12 +17,6 @@
*/
package org.apache.beehive.netui.script.el;
-// java imports
-
-// internal imports
-
-// external imports
-
/**
*
*/
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionTerm.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionTerm.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionTerm.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionTerm.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionTerm.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ExpressionTerm.java Sun Nov 28 10:15:40 2004
@@ -17,16 +17,12 @@
*/
package org.apache.beehive.netui.script.el;
-// java imports
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
-// internal imports
import org.apache.beehive.netui.script.Expression;
-
-import org.apache.beehive.netui.script.el.NetUIVariableResolver;
import org.apache.beehive.netui.script.el.tokens.ArrayIndexToken;
import org.apache.beehive.netui.script.el.tokens.ContextToken;
import org.apache.beehive.netui.script.el.tokens.ExpressionToken;
@@ -34,10 +30,7 @@
import org.apache.beehive.netui.script.el.tokens.MapKeyToken;
import org.apache.beehive.netui.script.el.util.BindingContext;
import org.apache.beehive.netui.script.el.util.ParseUtils;
-
import org.apache.beehive.netui.util.logging.Logger;
-
-// external imports
/**
*
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/LiteralTerm.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/LiteralTerm.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/LiteralTerm.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/LiteralTerm.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/LiteralTerm.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/LiteralTerm.java Sun Nov 28 10:15:40 2004
@@ -17,12 +17,7 @@
*/
package org.apache.beehive.netui.script.el;
-// java imports
-
-// internal imports
import org.apache.beehive.netui.util.logging.Logger;
-
-// external imports
/**
*
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIReadVariableResolver.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIReadVariableResolver.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIReadVariableResolver.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIReadVariableResolver.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIReadVariableResolver.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIReadVariableResolver.java Sun Nov 28 10:15:40 2004
@@ -4,9 +4,9 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -17,112 +17,42 @@
*/
package org.apache.beehive.netui.script.el;
-// java imports
-import java.util.Map;
-
-import javax.servlet.jsp.PageContext;
-import javax.servlet.jsp.tagext.Tag;
-import javax.servlet.jsp.tagext.JspTag;
import javax.servlet.jsp.el.VariableResolver;
-// internal imports
import org.apache.beehive.netui.script.IllegalExpressionException;
-
-import org.apache.beehive.netui.script.common.ImplicitObjectUtil;
-import org.apache.beehive.netui.script.common.ScriptablePageInput;
-
-import org.apache.beehive.netui.script.el.util.ApplicationAttributeMap;
-import org.apache.beehive.netui.script.el.util.PageContextAttributeMap;
-import org.apache.beehive.netui.script.el.util.RequestAttributeMap;
-import org.apache.beehive.netui.script.el.util.RequestParameterMap;
-import org.apache.beehive.netui.script.el.util.SessionAttributeMap;
-
import org.apache.beehive.netui.util.logging.Logger;
-// external imports
-
/**
*
*/
public class NetUIReadVariableResolver
- extends NetUIVariableResolver
-{
+ extends NetUIVariableResolver {
+
private static final Logger _logger = Logger.getInstance(NetUIReadVariableResolver.class);
- private static final Map _contextFactories;
- static
- {
- _contextFactories = ImplicitObjectUtil.initialize("netuiel");
- }
+ private VariableResolver _vr = null;
- private PageContext _pc = null;
- private JspTag _currentTag = null;
- private Object _form = null;
-
- public NetUIReadVariableResolver(Object form, JspTag currentTag, PageContext pc)
- {
- _pc = pc;
- _form = form;
- _currentTag = currentTag;
+ public NetUIReadVariableResolver(VariableResolver vr) {
+ assert vr != null;
+ _vr = vr;
}
- public Object resolveVariable(String name)
- {
- // use JSP 2.0 EL Implicit Object names
- if(name.equals("pageScope"))
- return new PageContextAttributeMap(_pc);
- else if(name.equals("requestScope"))
- return new RequestAttributeMap(_pc.getRequest());
- else if(name.equals("sessionScope"))
- return new SessionAttributeMap(_pc.getSession());
- else if(name.equals("applicationScope"))
- return new ApplicationAttributeMap(_pc.getServletContext());
- else if(name.equals("param"))
- return new RequestParameterMap(_pc.getRequest());
- // NetUI Implicit Objects
- else if(name.equals("actionForm"))
- return _form;
- else if(name.equals("pageFlow"))
- return getPageFlow(_pc.getRequest(), _pc.getResponse());
- else if(name.equals("globalApp"))
- return getGlobalApp(_pc.getRequest(), _pc.getResponse());
- else if(name.equals("sharedFlow"))
- return getSharedFlow(_pc.getRequest(), _pc.getResponse());
- else if(name.equals("bundle"))
- return getScriptableObject(_contextFactories, this, name);
- else if(name.equals("container"))
- return getScriptableObject(_contextFactories, this, name);
- else if(name.equals("pageInput"))
- return new ScriptablePageInput(_pc.getRequest());
- // in order to look-up ContextFactories that are used to create ScriptableObjects,
- // need to call the contextFactory map to find those that aren't known about
- // explicitly here. The statements above are used to look-up binding contexts
- // that are well-known because it's faster than dropping into the
- // ContextFactory map for each lookup -- optimizing for the common case.
- else if(_contextFactories != null && _contextFactories.containsKey(name))
- {
- return getScriptableObject(_contextFactories, this, name);
- }
- else
- {
+ public Object resolveVariable(String name) {
+
+ try {
+ return _vr.resolveVariable(name);
+ } catch (javax.servlet.jsp.el.ELException ele) {
RuntimeException re = new RuntimeException("Could not resolve variable named \"" + name + "\"", new IllegalExpressionException());
- if(_logger.isErrorEnabled()) _logger.error("", re);
- throw re;
- }
- }
- public String[] getAvailableVariables()
- {
- return new String[] {"actionForm", "pageFlow", "globalApp", "request", "session", "application", "pageContext", "bundle", "container", "url", "pageInput"};
- }
+ if (_logger.isErrorEnabled())
+ _logger.error("", re);
- public JspTag getCurrentTag()
- {
- return _currentTag;
+ throw re;
+ }
}
- private static final Object getScriptableObject(Map contextFactories, VariableResolver vr, String name)
- {
- return ImplicitObjectUtil.getImplicitObject(contextFactories, vr, name);
+ public String[] getAvailableVariables() {
+ /* todo: implement this correctly! */
+ return new String[]{"actionForm", "pageFlow", "globalApp", "request", "session", "application", "pageContext", "bundle", "container", "url", "pageInput"};
}
}
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIUpdateVariableResolver.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIUpdateVariableResolver.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIUpdateVariableResolver.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIUpdateVariableResolver.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIUpdateVariableResolver.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIUpdateVariableResolver.java Sun Nov 28 10:15:40 2004
@@ -20,24 +20,30 @@
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.jsp.el.VariableResolver;
import org.apache.beehive.netui.script.IllegalExpressionException;
+import org.apache.beehive.netui.script.common.ImplicitObjectUtil;
import org.apache.beehive.netui.script.el.util.RequestAttributeMap;
import org.apache.beehive.netui.script.el.util.SessionAttributeMap;
import org.apache.beehive.netui.util.logging.Logger;
+import org.apache.beehive.netui.pageflow.SharedFlowController;
+import org.apache.beehive.netui.pageflow.PageFlowController;
+import org.apache.beehive.netui.pageflow.GlobalApp;
/**
*
*/
public class NetUIUpdateVariableResolver
extends NetUIVariableResolver
+ implements VariableResolver
{
private static final Logger _logger = Logger.getInstance(NetUIVariableResolver.class);
+ private boolean _requestParameter = true;
+ private Object _form = null;
private ServletRequest _request = null;
private ServletResponse _response = null;
- private Object _form = null;
- private boolean _requestParameter = true;
public NetUIUpdateVariableResolver(Object form, ServletRequest request, ServletResponse response, boolean requestParameter)
{
@@ -68,7 +74,7 @@
else if(name.equals("sessionScope"))
{
if(_requestParameter == false)
- return new SessionAttributeMap(((HttpServletRequest)_request).getSession());
+ return new SessionAttributeMap(((HttpServletRequest)_request).getSession());
else throw new IllegalExpressionException("The session data binding context can not be updated from a request parameter.");
}
// @bug: need to get the ServletContext from somewhere
@@ -81,7 +87,9 @@
else
{
String msg = "Could not resolve variable named \"" + name + "\" for an expression update.";
- _logger.error(msg);
+ if(_logger.isErrorEnabled())
+ _logger.error(msg);
+
throw new IllegalExpressionException(msg);
}
}
@@ -91,5 +99,20 @@
if(_requestParameter)
return new String[] {"actionForm", "pageFlow", "globalApp"};
else return new String[] {"actionForm", "pageFlow", "globalApp", "request", "session", "application"};
+ }
+
+ private static final SharedFlowController getSharedFlow(ServletRequest request, ServletResponse response)
+ {
+ return ImplicitObjectUtil.getSharedFlow(request, response);
+ }
+
+ private static final PageFlowController getPageFlow(ServletRequest request, ServletResponse response)
+ {
+ return ImplicitObjectUtil.getPageFlow(request, response);
+ }
+
+ private static final GlobalApp getGlobalApp(ServletRequest request, ServletResponse response)
+ {
+ return ImplicitObjectUtil.getGlobalApp(request, response);
}
}
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIVariableResolver.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIVariableResolver.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIVariableResolver.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIVariableResolver.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIVariableResolver.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/NetUIVariableResolver.java Sun Nov 28 10:15:40 2004
@@ -17,22 +17,14 @@
*/
package org.apache.beehive.netui.script.el;
-// java imports
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
-
import javax.servlet.jsp.el.VariableResolver;
-// internal imports
-import org.apache.beehive.netui.script.common.ImplicitObjectUtil;
-
import org.apache.beehive.netui.pageflow.GlobalApp;
import org.apache.beehive.netui.pageflow.PageFlowController;
import org.apache.beehive.netui.pageflow.SharedFlowController;
-
-import org.apache.beehive.netui.util.logging.Logger;
-
-// external imports
+import org.apache.beehive.netui.script.common.ImplicitObjectUtil;
/**
*
@@ -40,27 +32,7 @@
public abstract class NetUIVariableResolver
implements VariableResolver
{
- private static final Logger _logger = Logger.getInstance(NetUIVariableResolver.class);
-
- public Object resolveVariable(String name)
- {
- return null;
- }
+ public abstract Object resolveVariable(String name);
public abstract String[] getAvailableVariables();
-
- protected SharedFlowController getSharedFlow(ServletRequest request, ServletResponse response)
- {
- return ImplicitObjectUtil.getSharedFlow(request, response);
- }
-
- protected PageFlowController getPageFlow(ServletRequest request, ServletResponse response)
- {
- return ImplicitObjectUtil.getPageFlow(request, response);
- }
-
- protected GlobalApp getGlobalApp(ServletRequest request, ServletResponse response)
- {
- return ImplicitObjectUtil.getGlobalApp(request, response);
- }
}
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ParsedExpression.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ParsedExpression.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ParsedExpression.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ParsedExpression.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ParsedExpression.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/ParsedExpression.java Sun Nov 28 10:15:40 2004
@@ -17,15 +17,10 @@
*/
package org.apache.beehive.netui.script.el;
-// java imports
import java.util.ArrayList;
-import java.util.List;
-// internal imports
import org.apache.beehive.netui.util.logging.Logger;
-// external imports
-
/**
*
*/
@@ -33,12 +28,11 @@
{
private static Logger _logger = Logger.getInstance(ParsedExpression.class);
- // this needs to be fast
- private static final boolean debugEnabled = _logger.isDebugEnabled();
-
+ /* cache the debug status; this needs to be _fast_ */
+ private static final boolean DEBUG_ENABLED = _logger.isDebugEnabled();
private static final String EMPTY_STRING = "";
- private List terms = new ArrayList();
+ private ArrayList<Term> terms = new ArrayList<Term>(3);
private boolean isExpression = false;
private boolean containsExpression = false;
@@ -100,7 +94,9 @@
public Term getTerm(int i)
{
- // @TODO: error checking
+ assert termArray != null;
+ assert i > 0 && i < termArray.length;
+
return termArray[i];
}
@@ -111,11 +107,13 @@
public Object evaluate(NetUIVariableResolver vr)
{
- if(debugEnabled) _logger.debug("evaluate expression: " + exprStr);
+ if(DEBUG_ENABLED)
+ _logger.debug("evaluate expression: " + exprStr);
if(isExpression)
{
- if(debugEnabled) _logger.debug("atoimc expression");
+ if(DEBUG_ENABLED)
+ _logger.debug("atoimc expression");
return atomicExpression.evaluate(vr);
}
@@ -125,8 +123,9 @@
for(int i = 0; i < terms.size(); i++)
{
- if(debugEnabled) _logger.debug("term[" + i + "]: " + termArray[i].getClass().getName() +
- " expression string: " + termArray[i].getExpressionString());
+ if(DEBUG_ENABLED)
+ _logger.debug("term[" + i + "]: " + termArray[i].getClass().getName() +
+ " expression string: " + termArray[i].getExpressionString());
Object result = termArray[i].evaluate(vr);
@@ -142,7 +141,8 @@
if(!isExpression)
{
String msg = "The expression can not be updated because it is not atomic.";
- if(_logger.isErrorEnabled()) _logger.error(msg);
+ if(_logger.isErrorEnabled())
+ _logger.error(msg);
throw new RuntimeException(msg);
}
@@ -155,7 +155,8 @@
{
String msg = "The expression can not change context because it is not atomic.";
- if(_logger.isErrorEnabled()) _logger.error(msg);
+ if(_logger.isErrorEnabled())
+ _logger.error(msg);
throw new RuntimeException(msg);
}
@@ -165,7 +166,7 @@
public String qualify(String contextName)
{
- // @TODO: could check to see if first term is literal
+ /* todo: could check to see if first term is literal */
return "{" + contextName + "." + getExpressionString() + "}";
}
@@ -180,11 +181,9 @@
public String toString()
{
- StringBuffer buf = new StringBuffer();
- for(int i = 0; i < terms.size(); i++)
- {
- buf.append(terms.get(i).toString());
- }
- return buf.toString();
+ StringBuilder builder = new StringBuilder();
+ for(Term term : terms)
+ builder.append(term.toString());
+ return builder.toString();
}
}
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/Term.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/Term.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/Term.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/Term.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/Term.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/Term.java Sun Nov 28 10:15:40 2004
@@ -17,12 +17,9 @@
*/
package org.apache.beehive.netui.script.el;
-// java imports
-
-// internal imports
-
-// externaml imprts
-
+/**
+ *
+ */
public interface Term
{
public Object evaluate(NetUIVariableResolver vr);
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/tokens/ExpressionToken.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/tokens/ExpressionToken.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/tokens/ExpressionToken.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/tokens/ExpressionToken.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/tokens/ExpressionToken.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/tokens/ExpressionToken.java Sun Nov 28 10:15:40 2004
@@ -17,21 +17,15 @@
*/
package org.apache.beehive.netui.script.el.tokens;
-// java imports
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
-
import java.util.List;
import java.util.Map;
-// internal imports
import org.apache.beehive.netui.util.cache.PropertyCache;
import org.apache.beehive.netui.util.logging.Logger;
-
import org.apache.beehive.netui.script.el.util.ParseUtils;
-
-// external imports
/**
*
Deleted: /incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/ApplicationAttributeMap.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/ApplicationAttributeMap.java?view=auto&rev=106822
==============================================================================
Deleted: /incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/PageContextAttributeMap.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/PageContextAttributeMap.java?view=auto&rev=106822
==============================================================================
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/ParseUtils.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/ParseUtils.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/ParseUtils.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/ParseUtils.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/ParseUtils.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/ParseUtils.java Sun Nov 28 10:15:40 2004
@@ -17,37 +17,22 @@
*/
package org.apache.beehive.netui.script.el.util;
-// java imports
-import java.io.PrintWriter;
-import java.io.Reader;
import java.io.StringReader;
-import java.io.StringWriter;
-
import java.lang.reflect.Array;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
-
import java.util.HashMap;
-import java.util.Map;
-// internal imports
import org.apache.beehive.netui.script.el.parser.NetUIELParser;
-import org.apache.beehive.netui.script.el.ExpressionTerm;
import org.apache.beehive.netui.script.el.NetUIVariableResolver;
import org.apache.beehive.netui.script.el.ParsedExpression;
import org.apache.beehive.netui.script.el.ExpressionParseException;
-
import org.apache.beehive.netui.script.el.parser.TokenMgrError;
import org.apache.beehive.netui.script.el.parser.ParseException;
-
import org.apache.beehive.netui.util.cache.PropertyCache;
-
import org.apache.beehive.netui.util.type.TypeUtils;
-
import org.apache.beehive.netui.util.logging.Logger;
-// external imports
-
/**
*
*/
@@ -55,29 +40,30 @@
{
private static final Logger _logger = Logger.getInstance(ParseUtils.class);
- private static final Map parsedCache = new HashMap();
+ private static final HashMap<String, ParsedExpression> PARSED_CACHE =
+ new HashMap<String, ParsedExpression>();
+ /* do not construct */
private ParseUtils() {}
- public static ParsedExpression parse(String exprStr)
+ public static final ParsedExpression parse(String exprStr)
{
- Object obj = parsedCache.get(exprStr);
+ ParsedExpression pe = PARSED_CACHE.get(exprStr);
- if(obj != null)
- return (ParsedExpression)obj;
+ if(pe != null)
+ return pe;
try
{
- Reader reader = new StringReader(exprStr);
- NetUIELParser learn = new NetUIELParser(reader);
-
+ NetUIELParser learn = new NetUIELParser(new StringReader(exprStr));
+
ParsedExpression expr = learn.parse();
expr.seal();
- // infrequent
- synchronized(parsedCache)
+ /* infrequent; this should only happen when there is a cache miss */
+ synchronized(PARSED_CACHE)
{
- parsedCache.put(exprStr, expr);
+ PARSED_CACHE.put(exprStr, expr);
}
return expr;
@@ -85,35 +71,38 @@
catch(ParseException e)
{
String msg = "Error occurred parsing expression \"" + exprStr + "\".";
- if(_logger.isErrorEnabled()) _logger.error(msg, e);
-
+ if(_logger.isErrorEnabled())
+ _logger.error(msg, e);
throw new ExpressionParseException(msg, e);
}
catch(TokenMgrError tm)
{
String msg = "Error occurred parsing expression \"" + exprStr + "\".";
- if(_logger.isErrorEnabled()) _logger.error(msg, tm);
-
+ if(_logger.isErrorEnabled())
+ _logger.error(msg, tm);
throw new ExpressionParseException(msg, tm);
}
}
- public static Object evaluate(String exprStr, NetUIVariableResolver vr)
+ public static final Object evaluate(String exprStr, NetUIVariableResolver vr)
{
ParsedExpression expr = parse(exprStr);
-
+ assert expr != null;
return expr.evaluate(vr);
}
- public static void update(String exprStr, Object value, NetUIVariableResolver vr)
+ public static final void update(String exprStr, Object value, NetUIVariableResolver vr)
{
ParsedExpression expr = parse(exprStr);
-
+ assert expr != null;
expr.update(value, vr);
}
- public static Class getPropertyType(Object value, String name, PropertyCache cache)
+ public static final Class getPropertyType(Object value, String name, PropertyCache cache)
{
+ assert value != null;
+ assert cache != null;
+
Class type = value.getClass();
Field f = cache.getField(type, name);
if(f != null)
@@ -124,15 +113,23 @@
{
String msg = "Can not find setter method for property \"" + name + "\" on object of type \"" + value.getClass() + "\".";
- if(_logger.isErrorEnabled()) _logger.error(msg);
+ if(_logger.isErrorEnabled())
+ _logger.error(msg);
throw new RuntimeException(msg);
}
// PropertyCache guarantees that props are found and match JavaBean naming rules
- else return m.getParameterTypes()[0];
+ else
+ {
+ assert m.getParameterTypes().length == 1;
+ return m.getParameterTypes()[0];
+ }
}
- public static Object getProperty(Object value, String name, PropertyCache cache)
+ public static final Object getProperty(Object value, String name, PropertyCache cache)
{
+ assert value != null;
+ assert cache != null;
+
Class type = value.getClass();
Field f = cache.getField(type, name);
@@ -145,7 +142,8 @@
catch(Exception e)
{
String msg = "An error occurred evaluating the field \"" + name + "\" on an object of type \"" + type + "\".";
- if(_logger.isDebugEnabled()) _logger.debug(msg, e);
+ if(_logger.isDebugEnabled())
+ _logger.debug(msg, e);
throw new RuntimeException(msg, e);
}
}
@@ -166,21 +164,24 @@
}
String msg = "Could not find property or field \"" + name + "\" on object of type \"" + type + "\"";
- if(_logger.isDebugEnabled()) _logger.debug(msg);
+ if(_logger.isDebugEnabled())
+ _logger.debug(msg);
throw new RuntimeException(msg);
}
- public static Object convertType(Object value, Class toType)
+ public static final Object convertType(Object value, Class toType)
{
+ assert toType != null;
+
try
{
boolean sourceIsArray = false;
- // only convert String types; other Object types are already assumed to be in their target types.
+ /* only convert String types; other Object types are already assumed to be in their target types. */
if(value != null && !(value instanceof String || (sourceIsArray = (value instanceof String[])) ))
return value;
- // for a String[], convert each item in the array into its target type and return the resulting array.
+ /* for a String[], convert each item in the array into its target type and return the resulting array. */
if(toType.isArray())
{
if(value == null)
@@ -206,7 +207,8 @@
catch(IllegalArgumentException e)
{
String msg = "Can not set Object types via expressions that are not supported by the set of registered type converters. Cause: " + e;
- if(_logger.isErrorEnabled()) _logger.error(msg, e);
+ if(_logger.isErrorEnabled())
+ _logger.error(msg, e);
throw new RuntimeException(msg, e);
}
@@ -219,7 +221,8 @@
// convert the String into its target type and return the result
else
{
- if(_logger.isDebugEnabled()) _logger.debug("convert value \"" + value + "\" to type: " + toType);
+ if(_logger.isDebugEnabled())
+ _logger.debug("convert value \"" + value + "\" to type: " + toType);
// If the "value" is multi-valued (String[]), it needs to be converted into a single-valued object.
// There is no policy defined for how we do this right now, so the first one will always win when
@@ -242,7 +245,8 @@
catch(IllegalArgumentException e)
{
String msg = "The type \"" + toType.getName() + "\" can not be set through XScript with the update value \"" + value + "\"";
- if(_logger.isErrorEnabled()) _logger.error(msg, e);
+ if(_logger.isErrorEnabled())
+ _logger.error(msg, e);
throw new RuntimeException(msg, e);
}
}
@@ -250,36 +254,26 @@
catch(Exception e)
{
String msg = "Unable to convert a value of type \"" + value.getClass() + "\" to the array element type of \"" + toType + "\". Cause: " + e;
- if(_logger.isErrorEnabled()) _logger.error(msg, e);
+ if(_logger.isErrorEnabled())
+ _logger.error(msg, e);
throw new RuntimeException(msg, e);
}
}
- public static void printStack(String message, Throwable t)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
- t.printStackTrace(pw);
- pw.flush();
- pw.close();
- if(_logger.isDebugEnabled()) _logger.debug(message, t);
- else System.err.println(message + "Cause: " + sw.toString());
- }
-
public static String getContextString(String[] contexts)
{
- StringBuffer buf = new StringBuffer();
- buf.append("[");
+ StringBuilder builder = new StringBuilder();
+ builder.append("[");
if(contexts != null)
{
for(int i = 0; i < contexts.length; i++)
{
- if(i > 0) buf.append(", ");
- buf.append(contexts[i]);
+ if(i > 0) builder.append(", ");
+ builder.append(contexts[i]);
}
}
- buf.append("]");
- return buf.toString();
+ builder.append("]");
+ return builder.toString();
}
public static Throwable getRootCause(Throwable t)
@@ -287,7 +281,6 @@
Throwable root = t;
while(root.getCause() != null)
root = root.getCause();
-
return root;
}
}
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/RequestAttributeMap.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/RequestAttributeMap.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/RequestAttributeMap.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/RequestAttributeMap.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/RequestAttributeMap.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/RequestAttributeMap.java Sun Nov 28 10:15:40 2004
@@ -17,13 +17,8 @@
*/
package org.apache.beehive.netui.script.el.util;
-// java imports
import java.util.Enumeration;
import javax.servlet.ServletRequest;
-
-// internal imports
-
-// external imports
/**
*
Deleted: /incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/RequestParameterMap.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/RequestParameterMap.java?view=auto&rev=106822
==============================================================================
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/SessionAttributeMap.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/SessionAttributeMap.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/SessionAttributeMap.java&r1=106822&p2=incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/SessionAttributeMap.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/SessionAttributeMap.java (original)
+++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/script/el/util/SessionAttributeMap.java Sun Nov 28 10:15:40 2004
@@ -17,13 +17,8 @@
*/
package org.apache.beehive.netui.script.el.util;
-// java imports
import java.util.Enumeration;
import javax.servlet.http.HttpSession;
-
-// internal imports
-
-// external imports
/**
*
Modified: incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java&r1=106822&p2=incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java (original)
+++ incubator/beehive/trunk/netui/src/tags-databinding/org/apache/beehive/netui/databinding/datagrid/model/DataGridModel.java Sun Nov 28 10:15:40 2004
@@ -17,10 +17,7 @@
*/
package org.apache.beehive.netui.databinding.datagrid.model;
-import java.util.*;
import javax.servlet.jsp.JspContext;
-import javax.servlet.jsp.PageContext;
-import javax.servlet.http.HttpServletRequest;
import org.apache.beehive.netui.databinding.datagrid.rendering.TableRenderer;
import org.apache.beehive.netui.databinding.datagrid.services.FilterService;
@@ -29,9 +26,6 @@
import org.apache.beehive.netui.databinding.datagrid.util.PagedDataSet;
import org.apache.beehive.netui.databinding.datagrid.rendering.IPagerRenderer;
import org.apache.beehive.netui.databinding.datagrid.rendering.impl.PreviousNextPagerRenderer;
-import org.apache.beehive.netui.util.logging.Logger;
-import org.apache.beehive.netui.tags.rendering.TableTag;
-import org.apache.beehive.netui.tags.rendering.TrTag;
import org.apache.beehive.netui.tags.rendering.AbstractRenderAppender;
/**
Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/AbstractClassicTag.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/AbstractClassicTag.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/AbstractClassicTag.java&r1=106822&p2=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/AbstractClassicTag.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/AbstractClassicTag.java (original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/AbstractClassicTag.java Sun Nov 28 10:15:40 2004
@@ -120,11 +120,6 @@
{
ee = null;
_eh = null;
-
- // null the current tag
- //ImplicitObjectBean bean = ImplicitObjectUtil.getImplicitObjects(pageContext, this);
- //bean.setCurrentTag(null);
- ImplicitObjectUtil.getImplicitObjects(pageContext, null);
}
/**
Modified: incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/ExpressionHandling.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/ExpressionHandling.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/ExpressionHandling.java&r1=106822&p2=incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/ExpressionHandling.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/ExpressionHandling.java (original)
+++ incubator/beehive/trunk/netui/src/tags-html/org/apache/beehive/netui/tags/ExpressionHandling.java Sun Nov 28 10:15:40 2004
@@ -1,16 +1,36 @@
+/*
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * $Header:$
+ */
package org.apache.beehive.netui.tags;
import org.apache.beehive.netui.script.ExpressionEvaluationException;
import org.apache.beehive.netui.script.ExpressionEvaluator;
import org.apache.beehive.netui.script.ExpressionEvaluatorFactory;
import org.apache.beehive.netui.script.ExpressionUpdateException;
-import org.apache.beehive.netui.script.common.ImplicitObjectBean;
+import org.apache.beehive.netui.script.el.NetUIUpdateVariableResolver;
import org.apache.beehive.netui.script.common.ImplicitObjectUtil;
import org.apache.beehive.netui.util.Bundle;
import org.apache.beehive.netui.util.logging.Logger;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
+import javax.servlet.jsp.el.VariableResolver;
+
+import org.apache.struts.action.ActionForm;
public class ExpressionHandling
{
@@ -97,11 +117,10 @@
public void updateExpression(String expr, Object value, PageContext pageContext)
throws ExpressionUpdateException, JspException
{
-
- // @todo: eddie needs to review this, it doesn't seem quite right. This is called by tree.
if (isExpression(expr)) {
- ImplicitObjectBean bean = ImplicitObjectUtil.getImplicitObjects(pageContext, _tag);
- ExpressionEvaluatorFactory.getInstance().update(expr, value, bean, false);
+
+ VariableResolver vr = ImplicitObjectUtil.getUpdateVariableResolver(pageContext.getRequest(), pageContext.getResponse(), false);
+ ExpressionEvaluatorFactory.getInstance().update(expr, value, vr, false);
}
else {
String s = Bundle.getString("Tags_BindingUpdateExpressionError", new Object[]{expr});
@@ -128,7 +147,7 @@
*/
private boolean isExpression(String expression)
{
- // @TODO: eko -- push this into the ExpressionEvaluator
+ // todo: eko -- push this into the ExpressionEvaluator
if (expression == null)
return false;
return getExpressionEvaluator().isExpression(expression);
@@ -149,9 +168,7 @@
Object result = null;
try {
- // @perf: todo -- this is silly...
- ImplicitObjectBean bean = ImplicitObjectUtil.getImplicitObjects(pageContext, _tag);
- result = getExpressionEvaluator().evaluateStrict(expression, bean);
+ result = getExpressionEvaluator().evaluateStrict(expression, pageContext.getVariableResolver());
}
catch (ExpressionEvaluationException ee) {
// if there is an expression evaluation error set the error and
Modified: incubator/beehive/trunk/netui/src/webapp-template/config/netui-config-default.xml
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/webapp-template/config/netui-config-default.xml?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/webapp-template/config/netui-config-default.xml&r1=106822&p2=incubator/beehive/trunk/netui/src/webapp-template/config/netui-config-default.xml&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/webapp-template/config/netui-config-default.xml (original)
+++ incubator/beehive/trunk/netui/src/webapp-template/config/netui-config-default.xml Sun Nov 28 10:15:40 2004
@@ -9,16 +9,6 @@
<expression-language>
<name>netuiel</name>
<factory-class>org.apache.beehive.netui.script.el.ExpressionEvaluatorImpl$NetUIELEngineFactory</factory-class>
- <binding-contexts>
- <binding-context>
- <name>bundle</name>
- <factory-class>org.apache.beehive.netui.databinding.script.el.BundleVariableResolver$BundleContextFactory</factory-class>
- </binding-context>
- <binding-context>
- <name>container</name>
- <factory-class>org.apache.beehive.netui.databinding.script.el.ContainerVariableResolver$ContainerContextFactory</factory-class>
- </binding-context>
- </binding-contexts>
</expression-language>
</expression-languages>
Modified: incubator/beehive/trunk/netui/src/webapp-template/default/WEB-INF/netui-config.xml
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/webapp-template/default/WEB-INF/netui-config.xml?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/src/webapp-template/default/WEB-INF/netui-config.xml&r1=106822&p2=incubator/beehive/trunk/netui/src/webapp-template/default/WEB-INF/netui-config.xml&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/src/webapp-template/default/WEB-INF/netui-config.xml (original)
+++ incubator/beehive/trunk/netui/src/webapp-template/default/WEB-INF/netui-config.xml Sun Nov 28 10:15:40 2004
@@ -9,20 +9,7 @@
<expression-language>
<name>netuiel</name>
<factory-class>org.apache.beehive.netui.script.el.ExpressionEvaluatorImpl$NetUIELEngineFactory</factory-class>
- <binding-contexts>
- <binding-context>
- <name>bundle</name>
- <factory-class>org.apache.beehive.netui.databinding.script.el.BundleVariableResolver$BundleContextFactory</factory-class>
- </binding-context>
- <binding-context>
- <name>container</name>
- <factory-class>org.apache.beehive.netui.databinding.script.el.ContainerVariableResolver$ContainerContextFactory</factory-class>
- </binding-context>
- </binding-contexts>
</expression-language>
</expression-languages>
-
- <iterator-factories>
- </iterator-factories>
</netui-config>
Modified: incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/AbstractExpressionTest.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/AbstractExpressionTest.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/AbstractExpressionTest.java&r1=106822&p2=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/AbstractExpressionTest.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/AbstractExpressionTest.java (original)
+++ incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/AbstractExpressionTest.java Sun Nov 28 10:15:40 2004
@@ -17,23 +17,19 @@
*/
package org.apache.beehive.netui.test.script;
-// java imports
-
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.PageContext;
+import javax.servlet.jsp.el.VariableResolver;
-// internal imports
+import org.apache.beehive.netui.script.ExpressionEvaluator;
+import org.apache.beehive.netui.script.common.ImplicitObjectUtil;
+import org.apache.beehive.netui.script.el.NetUIUpdateVariableResolver;
import org.apache.beehive.netui.test.beans.SimpleTypeActionForm;
import org.apache.beehive.netui.test.beans.ComplexTypeActionForm;
import org.apache.beehive.netui.test.servlet.ServletFactory;
-import org.apache.beehive.netui.script.ExpressionEvaluator;
-import org.apache.beehive.netui.script.common.ImplicitObjectUtil;
-import org.apache.beehive.netui.script.common.ImplicitObjectBean;
-
-// external imports
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
@@ -47,63 +43,81 @@
public abstract class AbstractExpressionTest
extends TestCase
{
- protected PageContext _fauxPageContext = null;
- protected ServletRequest _fauxRequest = null;
- protected ServletResponse _fauxResponse = null;
- protected ActionForm _fauxActionForm = null;
- protected SimpleTypeActionForm _simpleActionForm = null;
- protected ComplexTypeActionForm _complexActionForm = null;
+ protected static final int COMPLEX_FORM = 1;
+ protected static final int SIMPLE_FORM = 2;
- protected abstract ExpressionEvaluator getExpressionEvaluator();
+ private PageContext _fauxPageContext = null;
+ private ServletRequest _fauxRequest = null;
+ private ServletResponse _fauxResponse = null;
+ private SimpleTypeActionForm _simpleActionForm = null;
+ private ComplexTypeActionForm _complexActionForm = null;
- protected static ImplicitObjectBean initContexts(ServletRequest request, ServletResponse response, ActionForm form)
+ public AbstractExpressionTest(String name)
{
- ImplicitObjectBean bean = ImplicitObjectUtil.getImplicitObjects(request, response, form);
- return bean;
+ super(name);
}
- protected static ImplicitObjectBean initContexts(PageContext pc)
+ public static Test suite()
{
- ImplicitObjectBean bean = ImplicitObjectUtil.getImplicitObjects(pc, null);
- return bean;
+ return new TestSuite(AbstractExpressionTest.class);
}
- protected Object evaluateExpression(String expression, PageContext pc)
- throws Exception
+ public static void main(String[] args)
{
- ImplicitObjectBean bean = initContexts(pc);
+ junit.textui.TestRunner.run(suite());
+ }
+
+ protected PageContext getPageContext() {
+ return _fauxPageContext;
+ }
+
+ public ServletRequest getRequest() {
+ return _fauxRequest;
+ }
+
+ public ServletResponse getResponse() {
+ return _fauxResponse;
+ }
+
+ protected abstract ExpressionEvaluator getExpressionEvaluator();
- return getExpressionEvaluator().evaluateStrict(expression, bean);
+ protected final Object evaluateExpression(String expression, PageContext pc)
+ throws Exception
+ {
+ return getExpressionEvaluator().evaluateStrict(expression, ImplicitObjectUtil.getReadVariableResolver(pc));
}
- protected void evaluateUpdateExpression(String expression, Object value, ServletRequest request, ServletResponse response, ActionForm form)
+ protected final void evaluateUpdateExpression(String expression, Object value, ServletRequest request, ServletResponse response, ActionForm form)
throws Exception
{
evaluateUpdateExpression(expression, value, request, response, form, true);
}
- protected void evaluateUpdateExpression(String expression, Object value, ServletRequest request, ServletResponse response, ActionForm form, boolean requestParameter)
+ protected final void evaluateUpdateExpression(String expression, Object value, ServletRequest request, ServletResponse response, ActionForm form, boolean requestParameter)
throws Exception
{
- ImplicitObjectBean bean = initContexts(request, response, form);
- getExpressionEvaluator().update(expression, value, bean, requestParameter);
+ Object theForm = form;
+ if(theForm == null)
+ theForm = request.getAttribute(org.apache.struts.taglib.html.Constants.BEAN_KEY);
+
+ VariableResolver vr = ImplicitObjectUtil.getUpdateVariableResolver(theForm, request, response, requestParameter);
+
+ getExpressionEvaluator().update(expression, value, vr, requestParameter);
}
protected void setUp()
{
_fauxPageContext = ServletFactory.getPageContext();
- _fauxRequest = _fauxPageContext.getRequest();
- _fauxResponse = _fauxPageContext.getResponse();
+ _fauxRequest = getPageContext().getRequest();
+ _fauxResponse = getPageContext().getResponse();
_simpleActionForm = new SimpleTypeActionForm();
_complexActionForm = new ComplexTypeActionForm();
- _fauxActionForm = _simpleActionForm;
- _fauxPageContext.getRequest().setAttribute("simpleBean", _simpleActionForm);
- _fauxPageContext.getRequest().setAttribute("complexBean", _complexActionForm);
-
- // put the simpleBean under the Constants.BEAN_KEY
- useForm("simpleBean");
+ getPageContext().getRequest().setAttribute("simpleBean", _simpleActionForm);
+ getPageContext().getRequest().setAttribute("complexBean", _complexActionForm);
+
+ useForm(SIMPLE_FORM);
org.apache.beehive.netui.util.config.ConfigUtil.loadDefault();
}
@@ -115,39 +129,27 @@
_fauxResponse = null;
}
- protected void useForm(String formName)
+ protected void useForm(int formId)
{
- HttpServletRequest request = (HttpServletRequest)_fauxPageContext.getRequest();
- Object form = request.getAttribute(formName);
- assert form instanceof ActionForm;
+ Object form = null;
+ HttpServletRequest request = (HttpServletRequest)getPageContext().getRequest();
+ if(formId == SIMPLE_FORM)
+ form = request.getAttribute("simpleBean");
+ else if(formId == COMPLEX_FORM)
+ form = request.getAttribute("complexBean");
- useForm(request, (ActionForm)form);
+ useForm(form);
}
- protected void useForm(ServletRequest request, ActionForm actionForm)
+ protected void useForm(Object actionForm)
{
- request.setAttribute(Constants.BEAN_KEY, actionForm);
+ getPageContext().getRequest().setAttribute(Constants.BEAN_KEY, actionForm);
+ getPageContext().setAttribute("actionForm", actionForm);
}
protected ActionForm getActionForm()
{
- HttpServletRequest request = (HttpServletRequest)_fauxPageContext.getRequest();
+ HttpServletRequest request = (HttpServletRequest)getPageContext().getRequest();
return (ActionForm)request.getAttribute(Constants.BEAN_KEY);
}
-
- public AbstractExpressionTest(String name)
- {
- super(name);
- }
-
- public static Test suite()
- {
- return new TestSuite(AbstractExpressionTest.class);
- }
-
- public static void main(String[] args)
- {
- junit.textui.TestRunner.run(suite());
- }
-
}
Modified: incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/AccessTest.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/AccessTest.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/AccessTest.java&r1=106822&p2=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/AccessTest.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/AccessTest.java (original)
+++ incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/AccessTest.java Sun Nov 28 10:15:40 2004
@@ -38,9 +38,9 @@
{
String productName = " Mountain Bike Frame";
- _fauxPageContext.setAttribute("iproduct", IProduct.Factory.getInstance(productName, 2500.00));
+ getPageContext().setAttribute("iproduct", IProduct.Factory.getInstance(productName, 2500.00));
- Object result = evaluateExpression("{pageScope.iproduct.name}", _fauxPageContext);
+ Object result = evaluateExpression("{pageScope.iproduct.name}", getPageContext());
assertEquals(productName, result);
}
@@ -59,10 +59,10 @@
java.beans.PropertyDescriptor[] pds = java.beans.Introspector.getBeanInfo(item.getClass()).getPropertyDescriptors();
- _fauxPageContext.setAttribute("currentItem", item);
+ getPageContext().setAttribute("currentItem", item);
- Object key = evaluateExpression("{pageScope.currentItem.key}", _fauxPageContext);
- Object value = evaluateExpression("{pageScope.currentItem.value}", _fauxPageContext);
+ Object key = evaluateExpression("{pageScope.currentItem.key}", getPageContext());
+ Object value = evaluateExpression("{pageScope.currentItem.value}", getPageContext());
System.out.println("key: " + key + " value: " + value);
}
}
Modified: incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/BundleScriptTest.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/BundleScriptTest.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/BundleScriptTest.java&r1=106822&p2=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/BundleScriptTest.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/BundleScriptTest.java (original)
+++ incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/BundleScriptTest.java Sun Nov 28 10:15:40 2004
@@ -38,18 +38,18 @@
throws Exception
{
BundleContext bc = createBundleContext();
- BundleMap bundleMap = new BundleMap((HttpServletRequest)_fauxPageContext.getRequest(),
- _fauxPageContext.getServletContext(),
+ BundleMap bundleMap = new BundleMap((HttpServletRequest)getPageContext().getRequest(),
+ getPageContext().getServletContext(),
bc);
- _fauxPageContext.setAttribute("bundle", bundleMap);
+ getPageContext().setAttribute("bundle", bundleMap);
bc.addBundle("bundle1", "org/apache/beehive/netui/test/databinding/testdata/bundle1");
bc.addBundle("bundle2", "org/apache/beehive/netui/test/databinding/testdata/bundle2");
- String val = (String)evaluateExpression("{bundle.bundle1.simpleKey}", _fauxPageContext);
+ String val = (String)evaluateExpression("{bundle.bundle1.simpleKey}", getPageContext());
assertEquals("This is a simple message.", val);
- val = (String)evaluateExpression("{bundle.bundle2.bundle2Message}", _fauxPageContext);
+ val = (String)evaluateExpression("{bundle.bundle2.bundle2Message}", getPageContext());
assertEquals("bundle2MessageValue", val);
}
@@ -62,18 +62,18 @@
bc.addBundle("bundle1", "org/apache/beehive/netui/test/databinding/testdata/bundle1", germany);
bc.addBundle("bundle2", "org/apache/beehive/netui/test/databinding/testdata/bundle2");
- BundleMap bundleMap = new BundleMap((HttpServletRequest)_fauxPageContext.getRequest(),
- _fauxPageContext.getServletContext(),
+ BundleMap bundleMap = new BundleMap((HttpServletRequest)getPageContext().getRequest(),
+ getPageContext().getServletContext(),
bc);
- _fauxPageContext.setAttribute("bundle", bundleMap);
+ getPageContext().setAttribute("bundle", bundleMap);
- String val = (String)evaluateExpression("{bundle.bundle1.localHello}", _fauxPageContext);
+ String val = (String)evaluateExpression("{bundle.bundle1.localHello}", getPageContext());
assertEquals("Hallo von Deutschland", val);
- val = (String)evaluateExpression("{bundle.bundle2.whereverYouAre}", _fauxPageContext);
+ val = (String)evaluateExpression("{bundle.bundle2.whereverYouAre}", getPageContext());
assertEquals("Hello from Colorado", val);
- val = (String)evaluateExpression("{bundle.bundle1.noi18nMessage}", _fauxPageContext);
+ val = (String)evaluateExpression("{bundle.bundle1.noi18nMessage}", getPageContext());
assertEquals("This message is never localized", val);
}
@@ -85,18 +85,18 @@
throws Exception
{
BundleContext bc = createBundleContext();
- BundleMap bundleMap = new BundleMap((HttpServletRequest)_fauxPageContext.getRequest(),
- _fauxPageContext.getServletContext(),
+ BundleMap bundleMap = new BundleMap((HttpServletRequest)getPageContext().getRequest(),
+ getPageContext().getServletContext(),
bc);
// toString an empty map
System.out.println("budleMap.toString(): " + bundleMap.toString());
- _fauxPageContext.setAttribute("bundle", bundleMap);
+ getPageContext().setAttribute("bundle", bundleMap);
bc.addBundle("bundle1", "org/apache/beehive/netui/test/databinding/testdata/bundle1");
bc.addBundle("bundle2", "org/apache/beehive/netui/test/databinding/testdata/bundle2");
- String val = (String)evaluateExpression("{bundle.bundle1.simpleKey}", _fauxPageContext);
+ String val = (String)evaluateExpression("{bundle.bundle1.simpleKey}", getPageContext());
assertEquals("This is a simple message.", val);
// toString a BundleMap that has bundles
Modified: incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/ExpressionTest.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/ExpressionTest.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/ExpressionTest.java&r1=106822&p2=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/ExpressionTest.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/ExpressionTest.java (original)
+++ incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/ExpressionTest.java Sun Nov 28 10:15:40 2004
@@ -17,21 +17,15 @@
*/
package org.apache.beehive.netui.test.script;
-// java imports
-
-// internal imports
-import org.apache.beehive.netui.test.beans.FooJavaBean;
-import org.apache.beehive.netui.test.beans.SimpleTypeActionForm;
-
import org.apache.beehive.netui.script.ExpressionEvaluator;
import org.apache.beehive.netui.script.ExpressionEvaluatorFactory;
+import org.apache.beehive.netui.test.beans.FooJavaBean;
+import org.apache.beehive.netui.test.beans.SimpleTypeActionForm;
import org.apache.beehive.netui.util.logging.Logger;
-// external imports
-
/**
- * Unit tests for XScript expression parsing.
+ * Unit tests for NetUI EL expression parsing.
*/
public abstract class ExpressionTest
extends AbstractExpressionTest
@@ -183,8 +177,8 @@
public void testPageContext()
{
FooJavaBean bean = new FooJavaBean("JunitTestJavaBean");
- _fauxPageContext.setAttribute("foo", bean);
- assertEquals(bean.getTextProperty(), ((FooJavaBean)_fauxPageContext.getAttribute("foo")).getTextProperty());
+ getPageContext().setAttribute("foo", bean);
+ assertEquals(bean.getTextProperty(), ((FooJavaBean)getPageContext().getAttribute("foo")).getTextProperty());
}
/** Test a simple String read */
@@ -192,9 +186,9 @@
throws Exception
{
FooJavaBean bean = new FooJavaBean("JunitTestJavaBean");
- _fauxPageContext.setAttribute("foo", bean);
+ getPageContext().setAttribute("foo", bean);
- Object result = evaluateExpression("{pageScope.foo.textProperty}", _fauxPageContext);
+ Object result = evaluateExpression("{pageScope.foo.textProperty}", getPageContext());
assertEquals(result, bean.getTextProperty());
}
@@ -203,25 +197,25 @@
{
Object result = null;
- result = evaluateExpression("{requestScope.simpleBean._StringProperty}", _fauxPageContext);
- assertTrue(result.equals(((SimpleTypeActionForm)_fauxPageContext.getRequest().getAttribute("simpleBean")).get_StringProperty()));
+ result = evaluateExpression("{requestScope.simpleBean._StringProperty}", getPageContext());
+ assertTrue(result.equals(((SimpleTypeActionForm)getPageContext().getRequest().getAttribute("simpleBean")).get_StringProperty()));
result = null;
- result = evaluateExpression("{requestScope.simpleBean._stringProperty}", _fauxPageContext);
- assertTrue(result.equals(((SimpleTypeActionForm)_fauxPageContext.getRequest().getAttribute("simpleBean")).get_stringProperty()));
+ result = evaluateExpression("{requestScope.simpleBean._stringProperty}", getPageContext());
+ assertTrue(result.equals(((SimpleTypeActionForm)getPageContext().getRequest().getAttribute("simpleBean")).get_stringProperty()));
}
public void testNullProperty()
throws Exception
{
- Object result = evaluateExpression("{requestScope.simpleBean.nullProperty}", _fauxPageContext);
+ Object result = evaluateExpression("{requestScope.simpleBean.nullProperty}", getPageContext());
assertNull(result);
}
public void testCharProperty()
throws Exception
{
- Object result = evaluateExpression("{requestScope.simpleBean.charProperty}", _fauxPageContext);
+ Object result = evaluateExpression("{requestScope.simpleBean.charProperty}", getPageContext());
if(!(result instanceof String && ((String)result).equals("a")))
throw new ExpressionTestError("The Character value returned from XScript was not valid.", null);
}
@@ -229,7 +223,7 @@
public void testEmptyReadExpr()
throws Exception
{
- Object result = evaluateExpression("{}", _fauxPageContext);
+ Object result = evaluateExpression("{}", getPageContext());
assertNull(result);
}
@@ -240,7 +234,7 @@
boolean exception = false;
try
{
- evaluateExpression("{requestScope.simpleBean.neverMoreProperty}", _fauxPageContext);
+ evaluateExpression("{requestScope.simpleBean.neverMoreProperty}", getPageContext());
}
catch(Exception e)
{
@@ -258,7 +252,7 @@
try
{
- result = evaluateExpression("{requestScope.simpleBean.StringProperty}", _fauxPageContext);
+ result = evaluateExpression("{requestScope.simpleBean.StringProperty}", getPageContext());
}
catch(Exception e)
{
@@ -269,7 +263,7 @@
pass = true;
try
{
- result = evaluateExpression("{requestScope.simpleBean.stringProperty}", _fauxPageContext);
+ result = evaluateExpression("{requestScope.simpleBean.stringProperty}", getPageContext());
}
catch(Exception e)
{
@@ -314,9 +308,7 @@
String value = (String)data[i][1];
Object result = null;
- result = evaluateExpression(expr, _fauxPageContext);
-
- if(_logger.isDebugEnabled()) _logger.debug("***** expr: " + expr + " result: " + result + " complex prop: " + _complexActionForm.getMap().get("\""));
+ result = evaluateExpression(expr, getPageContext());
assertTrue(value.equals(result));
}
@@ -348,5 +340,4 @@
{
super(name);
}
-
}
Modified: incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/ExpressionUpdateTest.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/ExpressionUpdateTest.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/ExpressionUpdateTest.java&r1=106822&p2=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/ExpressionUpdateTest.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/ExpressionUpdateTest.java (original)
+++ incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/ExpressionUpdateTest.java Sun Nov 28 10:15:40 2004
@@ -17,34 +17,19 @@
*/
package org.apache.beehive.netui.test.script;
-// java imports
import java.math.BigDecimal;
-
import java.util.Date;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
-
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
-// internal imports
import org.apache.beehive.netui.test.beans.SimpleTypeActionForm;
import org.apache.beehive.netui.test.beans.ComplexTypeActionForm;
import org.apache.beehive.netui.test.tools.AssertHelper;
-
-import org.apache.beehive.netui.script.ExpressionEvaluator;
-import org.apache.beehive.netui.script.ExpressionEvaluatorFactory;
import org.apache.beehive.netui.script.IllegalExpressionException;
-
import org.apache.beehive.netui.util.logging.Logger;
-// external imports
import junit.framework.AssertionFailedError;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.apache.struts.action.ActionForm;
/**
*
@@ -69,7 +54,7 @@
{
String[] newValue = {"123", "456"};
- evaluateUpdateExpression("{actionForm.stringProperty}", newValue, _fauxPageContext.getRequest(), _fauxPageContext.getResponse(), getActionForm());
+ evaluateUpdateExpression("{actionForm.stringProperty}", newValue, getPageContext().getRequest(), getPageContext().getResponse(), getActionForm());
assertEquals(newValue[1], ((SimpleTypeActionForm)getActionForm()).getStringProperty());
}
@@ -81,8 +66,8 @@
{
// boolean array
String[] boolStrArray = {"true", "false", "false", "true"};
- evaluateUpdateExpression("{actionForm.neverMoreProperty}", boolStrArray, _fauxPageContext.getRequest(),
- _fauxPageContext.getResponse(), getActionForm());
+ evaluateUpdateExpression("{actionForm.neverMoreProperty}", boolStrArray, getPageContext().getRequest(),
+ getPageContext().getResponse(), getActionForm());
}
catch(Exception e)
{
@@ -132,10 +117,10 @@
public void testSettingComplexTypes()
throws Exception
{
- useForm("complexBean");
+ useForm(COMPLEX_FORM);
- ServletRequest request = _fauxPageContext.getRequest();
- ServletResponse response = _fauxPageContext.getResponse();
+ ServletRequest request = getPageContext().getRequest();
+ ServletResponse response = getPageContext().getResponse();
Object[][] data = settingComplexTypeData;
for(int i = 0; i < data.length; i++)
{
@@ -144,34 +129,33 @@
System.out.println("=========================== ????????????? form: " + getActionForm());
- ExpressionEvaluatorFactory.getInstance().update(expr, act, initContexts(request, response, getActionForm()), false);
+ evaluateUpdateExpression(expr, act, request, response, getActionForm(), false);
- Object foo = evaluateExpression(expr, _fauxPageContext);
+ Object foo = evaluateExpression(expr, getPageContext());
assertTrue(act.equals(foo));
- if(_logger.isDebugEnabled()) _logger.debug("returned value: " + evaluateExpression(expr, _fauxPageContext));
+ if(_logger.isDebugEnabled()) _logger.debug("returned value: " + evaluateExpression(expr, getPageContext()));
}
-
// primitive int test
String expr = "{actionForm.intProperty}";
evaluateUpdateExpression(expr, "42", request, response, getActionForm());
- assertTrue(42 == ((Integer)evaluateExpression(expr, _fauxPageContext)).intValue());
+ assertTrue(42 == ((Integer)evaluateExpression(expr, getPageContext())).intValue());
// primitive int[] test
expr = "{actionForm.intArrayProperty}";
evaluateUpdateExpression(expr, "42", request, response, getActionForm());
- assertTrue(42 == ((int[])evaluateExpression(expr, _fauxPageContext))[0]);
+ assertTrue(42 == ((int[])evaluateExpression(expr, getPageContext()))[0]);
// primitive boolean[] test
expr = "{actionForm.boolArrayProperty}";
evaluateUpdateExpression(expr, new String[] {"true", "true", "false", "true", "true"}, request, response, getActionForm());
- assertTrue(((boolean[])evaluateExpression(expr, _fauxPageContext))[0]);
- assertTrue(((boolean[])evaluateExpression(expr, _fauxPageContext))[1]);
- assertTrue(!((boolean[])evaluateExpression(expr, _fauxPageContext))[2]);
- assertTrue(((boolean[])evaluateExpression(expr, _fauxPageContext))[3]);
- assertTrue(((boolean[])evaluateExpression(expr, _fauxPageContext))[4]);
+ assertTrue(((boolean[])evaluateExpression(expr, getPageContext()))[0]);
+ assertTrue(((boolean[])evaluateExpression(expr, getPageContext()))[1]);
+ assertTrue(!((boolean[])evaluateExpression(expr, getPageContext()))[2]);
+ assertTrue(((boolean[])evaluateExpression(expr, getPageContext()))[3]);
+ assertTrue(((boolean[])evaluateExpression(expr, getPageContext()))[4]);
}
public void testWritableContexts()
@@ -184,7 +168,7 @@
String expr = (String)data[i][0];
try
{
- ExpressionEvaluatorFactory.getInstance().update(expr, null, initContexts(_fauxRequest, _fauxResponse, getActionForm()), true);
+ evaluateUpdateExpression(expr, null, getRequest(), getResponse(), getActionForm(), true);
}
catch(Exception e)
{
@@ -201,7 +185,7 @@
public void testDirectListUpdate()
throws Exception
{
- useForm("complexBean");
+ useForm(COMPLEX_FORM);
executeComplexTest("list update", directListUpdate);
}
@@ -1033,8 +1017,8 @@
UpdateComparator comparator = (UpdateComparator)data[i][3];
// @TODO: plug-in all evaluation contexts here
- ServletRequest request = _fauxPageContext.getRequest();
- ServletResponse response = _fauxPageContext.getResponse();
+ ServletRequest request = getPageContext().getRequest();
+ ServletResponse response = getPageContext().getResponse();
try
{
@@ -1054,8 +1038,8 @@
private void executeComplexTest(String testName, Object[][] data)
throws Exception
{
- useForm("complexBean");
-
+ useForm(COMPLEX_FORM);
+
for(int i = 0; i < data.length; i++)
{
String expr = (String)data[i][0];
@@ -1065,9 +1049,9 @@
try
{
- evaluateUpdateExpression(expr, value, _fauxRequest, _fauxResponse, getActionForm());
+ evaluateUpdateExpression(expr, value, getRequest(), getResponse(), getActionForm());
- ComplexTypeActionForm complexBean = (ComplexTypeActionForm)_fauxRequest.getAttribute("complexBean");
+ ComplexTypeActionForm complexBean = (ComplexTypeActionForm)getRequest().getAttribute("complexBean");
comparator.compareComplex(expected, complexBean);
}
Modified: incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/PageInputTest.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/PageInputTest.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/PageInputTest.java&r1=106822&p2=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/PageInputTest.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/PageInputTest.java (original)
+++ incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/PageInputTest.java Sun Nov 28 10:15:40 2004
@@ -17,14 +17,10 @@
*/
package org.apache.beehive.netui.test.script;
-// java imports
import javax.servlet.ServletRequest;
-// internal imports
import org.apache.beehive.netui.pageflow.PageFlowUtils;
-import org.apache.beehive.netui.util.logging.Logger;
-
-// external imports
+import org.apache.beehive.netui.pageflow.internal.InternalUtils;
/**
*
@@ -32,20 +28,35 @@
public abstract class PageInputTest
extends AbstractExpressionTest
{
- private static final Logger _logger = Logger.getInstance(PageInputTest.class);
-
public void testPageInputs()
throws Exception
{
- ServletRequest request = _fauxPageContext.getRequest();
+ ServletRequest request = getPageContext().getRequest();
String value = "This is a Page Input!";
PageFlowUtils.addPageInput("test", value, request);
-
- Object result = evaluateExpression("{pageInput.test}", _fauxPageContext);
+
+ request.setAttribute("pageInput", InternalUtils.getPageInputMap(request));
+
+ Object result = evaluateExpression("{pageInput.test}", getPageContext());
assert result.equals(value);
}
+ public void testActionOutputs()
+ throws Exception
+ {
+ ServletRequest request = getPageContext().getRequest();
+
+ String value = "This is a Page Input!";
+ PageFlowUtils.addActionOutput("test", value, request);
+
+ request.setAttribute("pageInput", InternalUtils.getPageInputMap(request));
+
+ Object result = evaluateExpression("{pageInput.test}", getPageContext());
+
+ assert result.equals(value);
+ }
+
public PageInputTest(String name)
{
super(name);
Modified: incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELCustomBindingContextTest.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELCustomBindingContextTest.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELCustomBindingContextTest.java&r1=106822&p2=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELCustomBindingContextTest.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELCustomBindingContextTest.java (original)
+++ incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELCustomBindingContextTest.java Sun Nov 28 10:15:40 2004
@@ -51,13 +51,13 @@
ConfigUtil.init(is);
PortalVariableResolver.SkinBean skinBean = new PortalVariableResolver.SkinBean();
- Object result = evaluateExpression("{portal.skin.stringProperty}", _fauxPageContext);
+ Object result = evaluateExpression("{portal.skin.stringProperty}", getPageContext());
assertEquals(skinBean.getStringProperty(), result);
boolean success = false;
try
{
- evaluateExpression("{portal.notSkin.stringProperty}", _fauxPageContext);
+ evaluateExpression("{portal.notSkin.stringProperty}", getPageContext());
}
catch(Exception e)
{
Modified: incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELExpressionUpdateTest.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELExpressionUpdateTest.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELExpressionUpdateTest.java&r1=106822&p2=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELExpressionUpdateTest.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELExpressionUpdateTest.java (original)
+++ incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELExpressionUpdateTest.java Sun Nov 28 10:15:40 2004
@@ -17,14 +17,10 @@
*/
package org.apache.beehive.netui.test.script.el;
-// java imports
-
-// internal imports
import org.apache.beehive.netui.test.script.ExpressionUpdateTest;
import org.apache.beehive.netui.script.ExpressionEvaluator;
import org.apache.beehive.netui.script.ExpressionEvaluatorFactory;
-// external imports
import junit.framework.Test;
import junit.framework.TestSuite;
Modified: incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELPageInputTest.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELPageInputTest.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELPageInputTest.java&r1=106822&p2=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELPageInputTest.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELPageInputTest.java (original)
+++ incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/script/el/NetUIELPageInputTest.java Sun Nov 28 10:15:40 2004
@@ -17,14 +17,10 @@
*/
package org.apache.beehive.netui.test.script.el;
-// java imports
-
-// internal imports
import org.apache.beehive.netui.test.script.PageInputTest;
import org.apache.beehive.netui.script.ExpressionEvaluator;
import org.apache.beehive.netui.script.ExpressionEvaluatorFactory;
-// external imports
import junit.framework.Test;
import junit.framework.TestSuite;
@@ -45,6 +41,7 @@
{
TestSuite suite = new TestSuite();
suite.addTest(new NetUIELPageInputTest("testPageInputs"));
+ suite.addTest(new NetUIELPageInputTest("testActionOutputs"));
return suite;
}
Modified: incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/servlet/FauxPageContext.java
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/servlet/FauxPageContext.java?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/servlet/FauxPageContext.java&r1=106822&p2=incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/servlet/FauxPageContext.java&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/servlet/FauxPageContext.java (original)
+++ incubator/beehive/trunk/netui/test/src/junitTests/org/apache/beehive/netui/test/servlet/FauxPageContext.java Sun Nov 28 10:15:40 2004
@@ -17,7 +17,6 @@
*/
package org.apache.beehive.netui.test.servlet;
-// java imports
import java.util.Enumeration;
import java.util.Hashtable;
@@ -31,11 +30,11 @@
import javax.servlet.http.HttpServletResponse;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.JspWriter;
+import javax.servlet.jsp.el.ELException;
+import javax.servlet.jsp.el.VariableResolver;
import javax.servlet.jsp.tagext.BodyContent;
-// internal imports
-
-// external imports
+import org.apache.taglibs.standard.lang.jstl.JSTLVariableResolver;
/**
*
@@ -224,14 +223,37 @@
}
// Servlet 2.4 method implementation
- public javax.servlet.jsp.el.VariableResolver getVariableResolver()
+ public VariableResolver getVariableResolver()
{
- return null;
+ return new FauxVariableResolver(this);
}
// Servlet 2.4 method implementation
public javax.servlet.jsp.el.ExpressionEvaluator getExpressionEvaluator()
{
return null;
+ }
+
+ public static class FauxVariableResolver
+ implements VariableResolver {
+
+ private PageContext _pageContext = null;
+ private JSTLVariableResolver _vr = null;
+
+ private FauxVariableResolver(PageContext pageContext) {
+ _pageContext = pageContext;
+ _vr = new JSTLVariableResolver();
+ }
+
+ public Object resolveVariable(String name)
+ throws ELException
+ {
+ try {
+ return _vr.resolveVariable(name, _pageContext);
+ }
+ catch(org.apache.taglibs.standard.lang.jstl.ELException e) {
+ throw new ELException(e);
+ }
+ }
}
}
Modified: incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/local-netui-config.xml
Url: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/local-netui-config.xml?view=diff&rev=106823&p1=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/local-netui-config.xml&r1=106822&p2=incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/local-netui-config.xml&r2=106823
==============================================================================
--- incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/local-netui-config.xml (original)
+++ incubator/beehive/trunk/netui/test/webapps/drt/coreWeb/WEB-INF/local-netui-config.xml Sun Nov 28 10:15:40 2004
@@ -9,16 +9,6 @@
<expression-language>
<name>netuiel</name>
<factory-class>org.apache.beehive.netui.script.el.ExpressionEvaluatorImpl$NetUIELEngineFactory</factory-class>
- <binding-contexts>
- <binding-context>
- <name>bundle</name>
- <factory-class>org.apache.beehive.netui.databinding.script.el.BundleVariableResolver$BundleContextFactory</factory-class>
- </binding-context>
- <binding-context>
- <name>container</name>
- <factory-class>org.apache.beehive.netui.databinding.script.el.ContainerVariableResolver$ContainerContextFactory</factory-class>
- </binding-context>
- </binding-contexts>
</expression-language>
</expression-languages>