[jbpm-commits] JBoss JBPM SVN: r6738 - in jbpm4/trunk/modules/pvm/src/main: resources and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Mon Oct 4 21:11:29 EDT 2010
Author: rebody
Date: 2010-10-04 21:11:29 -0400 (Mon, 04 Oct 2010)
New Revision: 6738
Modified:
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/el/JbpmElFactoryImpl.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/el/JbpmFunctionMapper.java
jbpm4/trunk/modules/pvm/src/main/resources/jbpm.default.cfg.xml
Log:
?\230?\148?\175?\230?\140?\129?\228?\184?\186el?\230?\183?\187?\229?\138?\160?\232?\135?\170?\229?\174?\154?\228?\185?\137function
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/el/JbpmElFactoryImpl.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/el/JbpmElFactoryImpl.java 2010-10-04 16:45:09 UTC (rev 6737)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/el/JbpmElFactoryImpl.java 2010-10-05 01:11:29 UTC (rev 6738)
@@ -21,6 +21,8 @@
*/
package org.jbpm.pvm.internal.el;
+import java.util.HashMap;
+import java.util.Map;
import javax.el.ArrayELResolver;
import javax.el.BeanELResolver;
import javax.el.CompositeELResolver;
@@ -41,13 +43,18 @@
/**
* @author Tom Baeyens
+ * @author Huisheng Xu
*/
public class JbpmElFactoryImpl extends JbpmElFactory {
private static Log log = Log.getLog(JbpmElFactoryImpl.class.getName());
- Class<?> functionClass = JstlFunction.class;
+ protected Map<String, Class<?>> functionClassMap = new HashMap<String, Class<?>>();
+ public Map<String, Class<?>> getFunctionClassMap() {
+ return functionClassMap;
+ }
+
/** create ElContext used during parsing time */
public ELContext createElContext() {
return createCompositeResolver(null);
@@ -129,7 +136,7 @@
}
protected FunctionMapper createFunctionMapper() {
- return new JbpmFunctionMapper(functionClass);
+ return new JbpmFunctionMapper(functionClassMap);
}
protected JbpmElContext createElContext(CompositeELResolver compositeELResolver, FunctionMapper functionMapper) {
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/el/JbpmFunctionMapper.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/el/JbpmFunctionMapper.java 2010-10-04 16:45:09 UTC (rev 6737)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/el/JbpmFunctionMapper.java 2010-10-05 01:11:29 UTC (rev 6738)
@@ -22,22 +22,40 @@
package org.jbpm.pvm.internal.el;
import java.lang.reflect.Method;
-
+import java.util.Map;
import javax.el.FunctionMapper;
+import org.jbpm.internal.log.Log;
+
/**
* @author Tom Baeyens
+ * @author Huisheng Xu
*/
public class JbpmFunctionMapper extends FunctionMapper {
-
- Class<?> functionClass;
-
- public JbpmFunctionMapper(Class< ? > funtionClass) {
- this.functionClass = funtionClass;
+
+ private static Log log = Log.getLog(JbpmFunctionMapper.class.getName());
+
+ protected Map<String, Class<?>> functionClassMap;
+
+ public JbpmFunctionMapper(Map<String, Class<?>> functionClassMap) {
+ this.functionClassMap = functionClassMap;
}
public Method resolveFunction(String prefix, String localName) {
+ if (functionClassMap == null) {
+ if (log.isInfoEnabled()) {
+ log.info("configure function class has not been configured yet.");
+ }
+ return null;
+ }
+ Class<?> functionClass = functionClassMap.get(prefix);
+ if (functionClass == null) {
+ if (log.isInfoEnabled()) {
+ log.info("cannot find functionClass for prefix : " + prefix);
+ }
+ return null;
+ }
for (Method method: functionClass.getMethods()) {
if (method.getName().equals(localName)) {
return method;
Modified: jbpm4/trunk/modules/pvm/src/main/resources/jbpm.default.cfg.xml
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/resources/jbpm.default.cfg.xml 2010-10-04 16:45:09 UTC (rev 6737)
+++ jbpm4/trunk/modules/pvm/src/main/resources/jbpm.default.cfg.xml 2010-10-05 01:11:29 UTC (rev 6738)
@@ -22,7 +22,20 @@
<object class="org.jbpm.pvm.internal.id.DatabaseIdComposer" init="eager" />
- <object class="org.jbpm.pvm.internal.el.JbpmElFactoryImpl" />
+ <object class="org.jbpm.pvm.internal.el.JbpmElFactoryImpl">
+ <field name="functionClassMap">
+ <map>
+ <entry>
+ <key>
+ <string value=""/>
+ </key>
+ <value>
+ <class class-name="org.jbpm.pvm.internal.el.JstlFunction"/>
+ </value>
+ </entry>
+ </map>
+ </field>
+ </object>
<types resource="jbpm.variable.types.xml" />
More information about the jbpm-commits
mailing list