Author: mriou
Date: Wed Jul 22 19:30:47 2009
New Revision: 796849

URL: http://svn.apache.org/viewvc?rev=796849&view=rev
Log:
ODE-636 Support setting multiple message mappers

Modified:
    ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeConfigProperties.java
    ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java

Modified: 
ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeConfigProperties.java
URL: 
http://svn.apache.org/viewvc/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeConfigProperties.java?rev=796849&r1=796848&r2=796849&view=diff
==============================================================================
--- ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeConfigProperties.java 
(original)
+++ ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeConfigProperties.java Wed 
Jul 22 19:30:47 2009
@@ -62,8 +62,8 @@
      * 
      * @return
      */
-    public String getMessageMapper() {
-        return getProperty(PROP_MSGMAPPER, 
JbiWsdl11WrapperMapper.class.getName());
+    public String[] getMessageMappers() {
+        return getProperty(PROP_MSGMAPPER, 
JbiWsdl11WrapperMapper.class.getName()).split("[ ,]");
     }
 
  }

Modified: ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java
URL: 
http://svn.apache.org/viewvc/ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java?rev=796849&r1=796848&r2=796849&view=diff
==============================================================================
--- ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java (original)
+++ ode/trunk/jbi/src/main/java/org/apache/ode/jbi/OdeLifeCycle.java Wed Jul 22 
19:30:47 2009
@@ -149,25 +149,28 @@
     }
 
     private void initMappers() throws JBIException {
+        String[] mappers = _ode._config.getMessageMappers();
         Class mapperClass;
-        try {
-            mapperClass = Class.forName(_ode._config.getMessageMapper());
-        } catch (ClassNotFoundException e) {
-            String errmsg = 
__msgs.msgOdeInitMapperClassNotFound(_ode._config.getMessageMapper());
-            __log.error(errmsg);
-            throw new JBIException(errmsg, e);
-        } catch (Throwable t) {
-            String errmsg = 
__msgs.msgOdeInitMapperClassLoadFailed(_ode._config.getMessageMapper());
-            __log.error(errmsg);
-            throw new JBIException(errmsg, t);
-        }
-        try {
-            _ode.registerMapper((Mapper) mapperClass.newInstance());
-        } catch (Throwable t) {
-            String errmsg = 
__msgs.msgOdeInitMapperInstantiationFailed(_ode._config.getMessageMapper());
-            __log.error(errmsg);
-            throw new JBIException(errmsg, t);
-        }
+        for (String className : mappers) {
+            try {
+                mapperClass = (Class<Mapper>) Class.forName(className);
+            } catch (ClassNotFoundException e) {
+                String errmsg = 
__msgs.msgOdeInitMapperClassNotFound(className);
+                __log.error(errmsg);
+                throw new JBIException(errmsg, e);
+            } catch (Throwable t) {
+                String errmsg = 
__msgs.msgOdeInitMapperClassLoadFailed(className);
+                __log.error(errmsg);
+                throw new JBIException(errmsg, t);
+            }
+            try {
+                _ode.registerMapper((Mapper) mapperClass.newInstance());
+            } catch (Throwable t) {
+                String errmsg = 
__msgs.msgOdeInitMapperInstantiationFailed(className);
+                __log.error(errmsg);
+                throw new JBIException(errmsg, t);
+            }
+         }
     }
 
     private void initDataSource() throws JBIException {


Reply via email to