[jboss-svn-commits] JBL Code SVN: r8851 - in labs/jbossesb/trunk/product/core/rosetta: src/org/jboss/internal/soa/esb/message/format/xml and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Jan 15 06:22:11 EST 2007
Author: mark.little at jboss.com
Date: 2007-01-15 06:22:03 -0500 (Mon, 15 Jan 2007)
New Revision: 8851
Modified:
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/BodyImpl.java
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/BodyImpl.java
labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Body.java
labs/jbossesb/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/SerializedMessageUnitTest.java
labs/jbossesb/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/XMLMessageUnitTest.java
Log:
http://jira.jboss.com/jira/browse/JBESB-248
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/BodyImpl.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/BodyImpl.java 2007-01-14 23:58:16 UTC (rev 8850)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/BodyImpl.java 2007-01-15 11:22:03 UTC (rev 8851)
@@ -2,6 +2,7 @@
import java.io.Serializable;
import java.util.Hashtable;
+import java.util.Set;
import org.jboss.soa.esb.message.Body;
@@ -74,6 +75,20 @@
}
}
+ public String[] getNames ()
+ {
+ Set<String> keys = _objects.keySet();
+
+ if (keys != null)
+ {
+ String[] toReturn = new String[keys.size()];
+
+ return keys.toArray(toReturn);
+ }
+ else
+ return null;
+ }
+
public Object remove (String name)
{
synchronized (_objects)
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/BodyImpl.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/BodyImpl.java 2007-01-14 23:58:16 UTC (rev 8850)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/BodyImpl.java 2007-01-15 11:22:03 UTC (rev 8851)
@@ -2,6 +2,7 @@
import java.util.Enumeration;
import java.util.Hashtable;
+import java.util.Set;
import org.jboss.internal.soa.esb.message.format.xml.marshal.MarshalUnmarshalManager;
import org.jboss.internal.soa.esb.thirdparty.Base64;
@@ -69,6 +70,20 @@
return _objects.get(name);
}
}
+
+ public String[] getNames ()
+ {
+ Set<String> keys = _objects.keySet();
+
+ if (keys != null)
+ {
+ String[] toReturn = new String[keys.size()];
+
+ return keys.toArray(toReturn);
+ }
+ else
+ return null;
+ }
public Object remove(String name)
{
Modified: labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Body.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Body.java 2007-01-14 23:58:16 UTC (rev 8850)
+++ labs/jbossesb/trunk/product/core/rosetta/src/org/jboss/soa/esb/message/Body.java 2007-01-15 11:22:03 UTC (rev 8851)
@@ -97,6 +97,12 @@
public void merge (Body b);
+ /**
+ * @return get the list of names in this instance.
+ */
+
+ public String[] getNames ();
+
// TODO replace an entry in the body
}
\ No newline at end of file
Modified: labs/jbossesb/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/SerializedMessageUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/SerializedMessageUnitTest.java 2007-01-14 23:58:16 UTC (rev 8850)
+++ labs/jbossesb/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/SerializedMessageUnitTest.java 2007-01-15 11:22:03 UTC (rev 8851)
@@ -282,6 +282,64 @@
}
}
+ public void testGetNames ()
+ {
+ Message msg = MessageFactory.getInstance().getMessage(
+ MessageType.JAVA_SERIALIZED);
+
+ assertEquals((msg != null), true);
+
+ ExampleObject value = new ExampleObject(1234);
+
+ msg.getBody().add("foo", value);
+ msg.getBody().add("bar", value);
+
+ String[] names = msg.getBody().getNames();
+
+ assertNotNull(names);
+
+ assertEquals(names.length, 2);
+
+ /*
+ * The array comes back ordered alphabetically.
+ */
+
+ assertEquals(names[0], "bar");
+ assertEquals(names[1], "foo");
+
+ try
+ {
+ ByteArrayOutputStream s = new ByteArrayOutputStream();
+ ObjectOutputStream o = new ObjectOutputStream(s);
+
+ o.writeObject(msg);
+ o.close();
+
+ ByteArrayInputStream is = new ByteArrayInputStream(s.toByteArray());
+ ObjectInputStream io = new ObjectInputStream(is);
+
+ MessageImpl nImpl = (MessageImpl) io.readObject();
+
+ o.close();
+
+ ExampleObject foo = (ExampleObject) nImpl.getBody().get("foo");
+
+ assertEquals((foo.getValue() == value.getValue()), true);
+
+ names = nImpl.getBody().getNames();
+
+ assertNotNull(names);
+
+ assertEquals(names.length, 2);
+ assertEquals(names[0], "foo");
+ assertEquals(names[1], "bar");
+ }
+ catch (Exception ex)
+ {
+ fail(ex.toString());
+ }
+ }
+
public void testAddInvalidObject ()
{
Message msg = MessageFactory.getInstance().getMessage(
Modified: labs/jbossesb/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/XMLMessageUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/XMLMessageUnitTest.java 2007-01-14 23:58:16 UTC (rev 8850)
+++ labs/jbossesb/trunk/product/core/rosetta/tests/src/org/jboss/soa/esb/message/tests/XMLMessageUnitTest.java 2007-01-15 11:22:03 UTC (rev 8851)
@@ -263,6 +263,63 @@
}
}
+ public void testGetNames ()
+ {
+ Message msg = MessageFactory.getInstance().getMessage(
+ MessageType.JBOSS_XML);
+
+ assertNotNull("created message", msg);
+
+ ExampleObject value = new ExampleObject(1234);
+
+ msg.getBody().add("foo", value);
+ msg.getBody().add("bar", value);
+
+ String[] names = msg.getBody().getNames();
+
+ assertNotNull(names);
+
+ assertEquals(names.length, 2);
+
+ /*
+ * The array comes back ordered alphabetically.
+ */
+
+ assertEquals(names[0], "bar");
+ assertEquals(names[1], "foo");
+
+ try
+ {
+ final String xmlRepresentation = msgToXML((MessageImpl)msg) ;
+ System.err.println("Document is "+xmlRepresentation);
+
+ final MessageImpl nImpl = msgFromXML(xmlRepresentation) ;
+
+ ExampleObject foo = (ExampleObject) nImpl.getBody().get("foo");
+
+ assertNotNull("deserialised example object", foo) ;
+
+ assertEquals((foo.getValue() == value.getValue()), true);
+
+ names = nImpl.getBody().getNames();
+
+ assertNotNull(names);
+
+ assertEquals(names.length, 2);
+
+ /*
+ * The array comes back ordered alphabetically.
+ */
+
+ assertEquals(names[0], "bar");
+ assertEquals(names[1], "foo");
+ }
+ catch (Exception ex)
+ {
+ fail(ex.toString());
+ }
+ }
+
public void testRemoveObjects ()
{
Message msg = MessageFactory.getInstance().getMessage(
More information about the jboss-svn-commits
mailing list