[jboss-svn-commits] JBL Code SVN: r21020 - in labs/jbossesb/trunk/product: rosetta/src/org/jboss/soa/esb/actions/converters and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Jul 13 07:29:36 EDT 2008


Author: mark.little at jboss.com
Date: 2008-07-13 07:29:35 -0400 (Sun, 13 Jul 2008)
New Revision: 21020

Modified:
   labs/jbossesb/trunk/product/docs/ProgrammersGuide.odt
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/converters/ObjectToXStream.java
Log:
http://jira.jboss.com/jira/browse/JBESB-1758

Modified: labs/jbossesb/trunk/product/docs/ProgrammersGuide.odt
===================================================================
(Binary files differ)

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/converters/ObjectToXStream.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/converters/ObjectToXStream.java	2008-07-13 09:51:13 UTC (rev 21019)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/converters/ObjectToXStream.java	2008-07-13 11:29:35 UTC (rev 21020)
@@ -79,11 +79,14 @@
 	public static final String ATTR_EXCLUDE_PACKAGE = "exclude-package";
 	public static final String ATTR_NAMESPACE_URI = "namespace-uri";
 	public static final String ATTR_NAMESPACE_LOCALPART = "local-part";
+	public static final String ATTR_XSTREAM_MODE = "xstream-mode";
+	
     private String classAlias;
     private boolean excludePackage;
     private MessagePayloadProxy payloadProxy;
     private Map<String,String> namespaces;
-
+    private String mode;
+    
     /**
      * Public constructor.
      * @param configTree Action Properties.
@@ -96,6 +99,7 @@
         classAlias = configTree.getAttribute(ATTR_CLASS_ALIAS);
         excludePackage = configTree.getAttribute(ATTR_EXCLUDE_PACKAGE, "true").equals("true");
         namespaces = getNamespaces(configTree);
+        mode = configTree.getAttribute(ATTR_XSTREAM_MODE, "XPATH_RELATIVE_REFERENCES");
     }
 
     /* (non-Javadoc)
@@ -149,7 +153,29 @@
           final String localPart = (String)me.getValue();
           nsm.registerMapping(new QName(namespaceURI, localPart), localPart);
         }
-        return new XStream(new StaxDriver(nsm));
+        XStream stream = new XStream(new StaxDriver(nsm));
+        
+        if ("XPATH_RELATIVE_REFERENCES".equals(mode))
+        {
+            // default
+        }
+        else
+        {
+            if ("XPATH_ABSOLUTE_REFERENCES".equals(mode))
+                stream.setMode(XStream.XPATH_ABSOLUTE_REFERENCES);
+            else
+            {
+                if ("ID_REFERENCES".equals(mode))
+                    stream.setMode(XStream.ID_REFERENCES);
+                else
+                {
+                    if ("NO_REFERENCES".equals(mode))
+                        stream.setMode(XStream.NO_REFERENCES);
+                }
+            }
+        }
+        
+        return stream;
       }
     }
     




More information about the jboss-svn-commits mailing list