[jboss-svn-commits] JBL Code SVN: r14046 - in labs/jbossesb/trunk/product: rosetta/src/org/jboss/internal/soa/esb/message and 9 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Aug 6 07:46:11 EDT 2007
Author: mark.little at jboss.com
Date: 2007-08-06 07:46:11 -0400 (Mon, 06 Aug 2007)
New Revision: 14046
Added:
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/body/
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/body/content/
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/body/content/Payload.java
Removed:
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/message/body/content/Payload.java
Modified:
labs/jbossesb/trunk/product/docs/ProgrammersGuide.odt
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/SerializedMessagePlugin.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/BytesBodyImpl.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/CommandBodyImpl.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/MapBodyImpl.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/ObjectBodyImpl.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/TextBodyImpl.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/MessageImpl.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/XMLMessagePlugin.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/BytesBodyImpl.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/CommandBodyImpl.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/MapBodyImpl.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/ObjectBodyImpl.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/TextBodyImpl.java
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/message/helper/content/ContentManager.java
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/message/payload/PayloadUnitTest.java
Log:
Moved Payload to internal and updated docs around new message factories.
Modified: labs/jbossesb/trunk/product/docs/ProgrammersGuide.odt
===================================================================
(Binary files differ)
Copied: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/body/content/Payload.java (from rev 14045, labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/message/body/content/Payload.java)
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/body/content/Payload.java (rev 0)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/body/content/Payload.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -0,0 +1,135 @@
+package org.jboss.internal.soa.esb.message.body.content;
+
+import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.body.content.BytesBody;
+import org.jboss.soa.esb.message.body.content.CommandBody;
+import org.jboss.soa.esb.message.body.content.InvalidPayloadException;
+import org.jboss.soa.esb.message.body.content.MapBody;
+import org.jboss.soa.esb.message.body.content.ObjectBody;
+import org.jboss.soa.esb.message.body.content.TextBody;
+import org.jboss.soa.esb.message.format.MessageFactory;
+
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
+ * See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License, v. 2.1.
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+ * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+ * You should have received a copy of the GNU Lesser General Public License,
+ * v.2.1 along with this distribution; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ * (C) 2005-2006,
+ * @author mark.little at jboss.com
+ */
+
+/**
+ * Different message formats represent views on the underlying Message Body,
+ * i.e., payload. They do not change how the content is represented on the wire,
+ * only how it can be more easily interpreted within the application. These are
+ * essentially helper classes.
+ *
+ * In order to use, first create your Message (via the factory) and then pass it
+ * to the appropriate method of this class. Use the returned Body type to then
+ * populate your Message before sending it. At the receiver, you can get the type by
+ * calling bodyType and then use the right method to get the Body type back for
+ * use. If you try to use it as the wrong type, you'll get an exception.
+ */
+
+public class Payload
+{
+ public static final String CONTENT_TYPE = "org.jboss.soa.esb.message.body.content";
+
+ public static final String RAW_BODY = "raw";
+ public static final String BYTES_BODY = "bytes";
+ public static final String MAP_BODY = "map";
+ public static final String COMMAND_BODY = "command";
+ public static final String OBJECT_BODY = "object";
+ public static final String TEXT_BODY = "text";
+
+ public static final String bodyType (Message msg)
+ {
+ if ((msg == null) || (msg.getBody() == null))
+ throw new IllegalArgumentException();
+
+ Body body = msg.getBody();
+
+ String type = (String) body.get(CONTENT_TYPE);
+
+ if (type == null)
+ return RAW_BODY;
+ else
+ return type;
+ }
+
+ public static final BytesBody createBytesBody (Message msg) throws InvalidPayloadException
+ {
+ if ((msg == null) || (msg.getBody() == null))
+ return null;
+
+ checkType(msg, BYTES_BODY);
+
+ return (BytesBody) MessageFactory.getInstance().createBodyType(msg, BYTES_BODY);
+ }
+
+ public static final MapBody createMapBody (Message msg) throws InvalidPayloadException
+ {
+ if ((msg == null) || (msg.getBody() == null))
+ return null;
+
+ checkType(msg, MAP_BODY);
+
+ return (MapBody) MessageFactory.getInstance().createBodyType(msg, MAP_BODY);
+ }
+
+ public static final CommandBody createCommandBody (Message msg) throws InvalidPayloadException
+ {
+ if ((msg == null) || (msg.getBody() == null))
+ return null;
+
+ checkType(msg, COMMAND_BODY);
+
+ return (CommandBody) MessageFactory.getInstance().createBodyType(msg, COMMAND_BODY);
+ }
+
+ public static final ObjectBody createObjectBody (Message msg) throws InvalidPayloadException
+ {
+ if ((msg == null) || (msg.getBody() == null))
+ return null;
+
+ checkType(msg, OBJECT_BODY);
+
+ return (ObjectBody) MessageFactory.getInstance().createBodyType(msg, OBJECT_BODY);
+ }
+
+ public static final TextBody createTextBody (Message msg) throws InvalidPayloadException
+ {
+ if ((msg == null) || (msg.getBody() == null))
+ return null;
+
+ checkType(msg, TEXT_BODY);
+
+ return (TextBody) MessageFactory.getInstance().createBodyType(msg, TEXT_BODY);
+ }
+
+ /*
+ * If the message type is set and it does not conform the type expected,
+ * then throw IllegalArgumentException.
+ */
+
+ private static final void checkType (Message msg, String required) throws InvalidPayloadException
+ {
+ String type = (String) msg.getBody().get(CONTENT_TYPE);
+
+ if ((type != null) && (!type.equals(required)))
+ throw new InvalidPayloadException();
+ }
+}
\ No newline at end of file
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/SerializedMessagePlugin.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/SerializedMessagePlugin.java 2007-08-06 09:27:57 UTC (rev 14045)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/SerializedMessagePlugin.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -2,13 +2,13 @@
import java.net.URI;
+import org.jboss.internal.soa.esb.message.body.content.Payload;
import org.jboss.internal.soa.esb.message.format.serialized.body.content.BytesBodyImpl;
import org.jboss.internal.soa.esb.message.format.serialized.body.content.CommandBodyImpl;
import org.jboss.internal.soa.esb.message.format.serialized.body.content.MapBodyImpl;
import org.jboss.internal.soa.esb.message.format.serialized.body.content.ObjectBodyImpl;
import org.jboss.internal.soa.esb.message.format.serialized.body.content.TextBodyImpl;
import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.body.content.Payload;
import org.jboss.soa.esb.message.format.MessagePlugin;
import org.jboss.soa.esb.message.format.MessageType;
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/BytesBodyImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/BytesBodyImpl.java 2007-08-06 09:27:57 UTC (rev 14045)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/BytesBodyImpl.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -6,11 +6,11 @@
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
+import org.jboss.internal.soa.esb.message.body.content.Payload;
import org.jboss.internal.soa.esb.message.format.serialized.BodyImpl;
import org.jboss.soa.esb.message.body.content.BytesBody;
import org.jboss.soa.esb.message.body.content.IncompatibleModeException;
import org.jboss.soa.esb.message.body.content.InvalidPayloadException;
-import org.jboss.soa.esb.message.body.content.Payload;
/*
* JBoss, Home of Professional Open Source
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/CommandBodyImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/CommandBodyImpl.java 2007-08-06 09:27:57 UTC (rev 14045)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/CommandBodyImpl.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -1,9 +1,9 @@
package org.jboss.internal.soa.esb.message.format.serialized.body.content;
+import org.jboss.internal.soa.esb.message.body.content.Payload;
import org.jboss.internal.soa.esb.message.format.serialized.BodyImpl;
import org.jboss.soa.esb.message.body.content.CommandBody;
import org.jboss.soa.esb.message.body.content.InvalidPayloadException;
-import org.jboss.soa.esb.message.body.content.Payload;
/*
* JBoss, Home of Professional Open Source
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/MapBodyImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/MapBodyImpl.java 2007-08-06 09:27:57 UTC (rev 14045)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/MapBodyImpl.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -5,10 +5,10 @@
import java.util.Hashtable;
import java.util.Map;
+import org.jboss.internal.soa.esb.message.body.content.Payload;
import org.jboss.internal.soa.esb.message.format.serialized.BodyImpl;
import org.jboss.soa.esb.message.body.content.InvalidPayloadException;
import org.jboss.soa.esb.message.body.content.MapBody;
-import org.jboss.soa.esb.message.body.content.Payload;
/*
* JBoss, Home of Professional Open Source
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/ObjectBodyImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/ObjectBodyImpl.java 2007-08-06 09:27:57 UTC (rev 14045)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/ObjectBodyImpl.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -2,10 +2,10 @@
import java.io.Serializable;
+import org.jboss.internal.soa.esb.message.body.content.Payload;
import org.jboss.internal.soa.esb.message.format.serialized.BodyImpl;
import org.jboss.soa.esb.message.body.content.InvalidPayloadException;
import org.jboss.soa.esb.message.body.content.ObjectBody;
-import org.jboss.soa.esb.message.body.content.Payload;
/*
* JBoss, Home of Professional Open Source
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/TextBodyImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/TextBodyImpl.java 2007-08-06 09:27:57 UTC (rev 14045)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/body/content/TextBodyImpl.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -1,8 +1,8 @@
package org.jboss.internal.soa.esb.message.format.serialized.body.content;
+import org.jboss.internal.soa.esb.message.body.content.Payload;
import org.jboss.internal.soa.esb.message.format.serialized.BodyImpl;
import org.jboss.soa.esb.message.body.content.InvalidPayloadException;
-import org.jboss.soa.esb.message.body.content.Payload;
import org.jboss.soa.esb.message.body.content.TextBody;
/*
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/MessageImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/MessageImpl.java 2007-08-06 09:27:57 UTC (rev 14045)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/MessageImpl.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -24,6 +24,7 @@
import java.net.URI;
import org.apache.log4j.Logger;
+import org.jboss.internal.soa.esb.message.body.content.Payload;
import org.jboss.soa.esb.MarshalException;
import org.jboss.soa.esb.UnmarshalException;
import org.jboss.soa.esb.message.Attachment;
@@ -34,7 +35,6 @@
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.Properties;
import org.jboss.soa.esb.message.body.content.MapBody;
-import org.jboss.soa.esb.message.body.content.Payload;
import org.jboss.soa.esb.message.format.MessageFactory;
import org.jboss.soa.esb.message.format.MessageType;
import org.w3c.dom.Document;
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/XMLMessagePlugin.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/XMLMessagePlugin.java 2007-08-06 09:27:57 UTC (rev 14045)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/XMLMessagePlugin.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -2,13 +2,13 @@
import java.net.URI;
+import org.jboss.internal.soa.esb.message.body.content.Payload;
import org.jboss.internal.soa.esb.message.format.xml.body.content.BytesBodyImpl;
import org.jboss.internal.soa.esb.message.format.xml.body.content.CommandBodyImpl;
import org.jboss.internal.soa.esb.message.format.xml.body.content.MapBodyImpl;
import org.jboss.internal.soa.esb.message.format.xml.body.content.ObjectBodyImpl;
import org.jboss.internal.soa.esb.message.format.xml.body.content.TextBodyImpl;
import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.body.content.Payload;
import org.jboss.soa.esb.message.format.MessagePlugin;
import org.jboss.soa.esb.message.format.MessageType;
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/BytesBodyImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/BytesBodyImpl.java 2007-08-06 09:27:57 UTC (rev 14045)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/BytesBodyImpl.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -6,11 +6,11 @@
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
+import org.jboss.internal.soa.esb.message.body.content.Payload;
import org.jboss.internal.soa.esb.message.format.xml.BodyImpl;
import org.jboss.soa.esb.message.body.content.BytesBody;
import org.jboss.soa.esb.message.body.content.IncompatibleModeException;
import org.jboss.soa.esb.message.body.content.InvalidPayloadException;
-import org.jboss.soa.esb.message.body.content.Payload;
/*
* JBoss, Home of Professional Open Source
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/CommandBodyImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/CommandBodyImpl.java 2007-08-06 09:27:57 UTC (rev 14045)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/CommandBodyImpl.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -1,9 +1,9 @@
package org.jboss.internal.soa.esb.message.format.xml.body.content;
+import org.jboss.internal.soa.esb.message.body.content.Payload;
import org.jboss.internal.soa.esb.message.format.xml.BodyImpl;
import org.jboss.soa.esb.message.body.content.CommandBody;
import org.jboss.soa.esb.message.body.content.InvalidPayloadException;
-import org.jboss.soa.esb.message.body.content.Payload;
/*
* JBoss, Home of Professional Open Source
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/MapBodyImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/MapBodyImpl.java 2007-08-06 09:27:57 UTC (rev 14045)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/MapBodyImpl.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -5,10 +5,10 @@
import java.util.Hashtable;
import java.util.Map;
+import org.jboss.internal.soa.esb.message.body.content.Payload;
import org.jboss.internal.soa.esb.message.format.xml.BodyImpl;
import org.jboss.soa.esb.message.body.content.InvalidPayloadException;
import org.jboss.soa.esb.message.body.content.MapBody;
-import org.jboss.soa.esb.message.body.content.Payload;
/*
* JBoss, Home of Professional Open Source
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/ObjectBodyImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/ObjectBodyImpl.java 2007-08-06 09:27:57 UTC (rev 14045)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/ObjectBodyImpl.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -2,10 +2,10 @@
import java.io.Serializable;
+import org.jboss.internal.soa.esb.message.body.content.Payload;
import org.jboss.internal.soa.esb.message.format.xml.BodyImpl;
import org.jboss.soa.esb.message.body.content.InvalidPayloadException;
import org.jboss.soa.esb.message.body.content.ObjectBody;
-import org.jboss.soa.esb.message.body.content.Payload;
/*
* JBoss, Home of Professional Open Source
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/TextBodyImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/TextBodyImpl.java 2007-08-06 09:27:57 UTC (rev 14045)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/xml/body/content/TextBodyImpl.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -1,8 +1,8 @@
package org.jboss.internal.soa.esb.message.format.xml.body.content;
+import org.jboss.internal.soa.esb.message.body.content.Payload;
import org.jboss.internal.soa.esb.message.format.xml.BodyImpl;
import org.jboss.soa.esb.message.body.content.InvalidPayloadException;
-import org.jboss.soa.esb.message.body.content.Payload;
import org.jboss.soa.esb.message.body.content.TextBody;
/*
Deleted: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/message/body/content/Payload.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/message/body/content/Payload.java 2007-08-06 09:27:57 UTC (rev 14045)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/message/body/content/Payload.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -1,129 +0,0 @@
-package org.jboss.soa.esb.message.body.content;
-
-import org.jboss.soa.esb.message.Body;
-import org.jboss.soa.esb.message.Message;
-import org.jboss.soa.esb.message.format.MessageFactory;
-
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated
- * by the @authors tag. All rights reserved.
- * See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- * You should have received a copy of the GNU Lesser General Public License,
- * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- * MA 02110-1301, USA.
- *
- * (C) 2005-2006,
- * @author mark.little at jboss.com
- */
-
-/**
- * Different message formats represent views on the underlying Message Body,
- * i.e., payload. They do not change how the content is represented on the wire,
- * only how it can be more easily interpreted within the application. These are
- * essentially helper classes.
- *
- * In order to use, first create your Message (via the factory) and then pass it
- * to the appropriate method of this class. Use the returned Body type to then
- * populate your Message before sending it. At the receiver, you can get the type by
- * calling bodyType and then use the right method to get the Body type back for
- * use. If you try to use it as the wrong type, you'll get an exception.
- */
-
-public class Payload
-{
- public static final String CONTENT_TYPE = "org.jboss.soa.esb.message.body.content";
-
- public static final String RAW_BODY = "raw";
- public static final String BYTES_BODY = "bytes";
- public static final String MAP_BODY = "map";
- public static final String COMMAND_BODY = "command";
- public static final String OBJECT_BODY = "object";
- public static final String TEXT_BODY = "text";
-
- public static final String bodyType (Message msg)
- {
- if ((msg == null) || (msg.getBody() == null))
- throw new IllegalArgumentException();
-
- Body body = msg.getBody();
-
- String type = (String) body.get(CONTENT_TYPE);
-
- if (type == null)
- return RAW_BODY;
- else
- return type;
- }
-
- public static final BytesBody createBytesBody (Message msg) throws InvalidPayloadException
- {
- if ((msg == null) || (msg.getBody() == null))
- return null;
-
- checkType(msg, BYTES_BODY);
-
- return (BytesBody) MessageFactory.getInstance().createBodyType(msg, BYTES_BODY);
- }
-
- public static final MapBody createMapBody (Message msg) throws InvalidPayloadException
- {
- if ((msg == null) || (msg.getBody() == null))
- return null;
-
- checkType(msg, MAP_BODY);
-
- return (MapBody) MessageFactory.getInstance().createBodyType(msg, MAP_BODY);
- }
-
- public static final CommandBody createCommandBody (Message msg) throws InvalidPayloadException
- {
- if ((msg == null) || (msg.getBody() == null))
- return null;
-
- checkType(msg, COMMAND_BODY);
-
- return (CommandBody) MessageFactory.getInstance().createBodyType(msg, COMMAND_BODY);
- }
-
- public static final ObjectBody createObjectBody (Message msg) throws InvalidPayloadException
- {
- if ((msg == null) || (msg.getBody() == null))
- return null;
-
- checkType(msg, OBJECT_BODY);
-
- return (ObjectBody) MessageFactory.getInstance().createBodyType(msg, OBJECT_BODY);
- }
-
- public static final TextBody createTextBody (Message msg) throws InvalidPayloadException
- {
- if ((msg == null) || (msg.getBody() == null))
- return null;
-
- checkType(msg, TEXT_BODY);
-
- return (TextBody) MessageFactory.getInstance().createBodyType(msg, TEXT_BODY);
- }
-
- /*
- * If the message type is set and it does not conform the type expected,
- * then throw IllegalArgumentException.
- */
-
- private static final void checkType (Message msg, String required) throws InvalidPayloadException
- {
- String type = (String) msg.getBody().get(CONTENT_TYPE);
-
- if ((type != null) && (!type.equals(required)))
- throw new InvalidPayloadException();
- }
-}
\ No newline at end of file
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/message/helper/content/ContentManager.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/message/helper/content/ContentManager.java 2007-08-06 09:27:57 UTC (rev 14045)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/message/helper/content/ContentManager.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -4,12 +4,12 @@
import java.net.URI;
import java.util.Map;
+import org.jboss.internal.soa.esb.message.body.content.Payload;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.body.content.BytesBody;
import org.jboss.soa.esb.message.body.content.CommandBody;
import org.jboss.soa.esb.message.body.content.MapBody;
import org.jboss.soa.esb.message.body.content.ObjectBody;
-import org.jboss.soa.esb.message.body.content.Payload;
import org.jboss.soa.esb.message.body.content.TextBody;
import org.jboss.soa.esb.message.format.MessageFactory;
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/message/payload/PayloadUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/message/payload/PayloadUnitTest.java 2007-08-06 09:27:57 UTC (rev 14045)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/message/payload/PayloadUnitTest.java 2007-08-06 11:46:11 UTC (rev 14046)
@@ -27,13 +27,13 @@
import junit.framework.TestCase;
+import org.jboss.internal.soa.esb.message.body.content.Payload;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.body.content.BytesBody;
import org.jboss.soa.esb.message.body.content.CommandBody;
import org.jboss.soa.esb.message.body.content.IncompatibleModeException;
import org.jboss.soa.esb.message.body.content.MapBody;
import org.jboss.soa.esb.message.body.content.ObjectBody;
-import org.jboss.soa.esb.message.body.content.Payload;
import org.jboss.soa.esb.message.body.content.TextBody;
import org.jboss.soa.esb.message.format.MessageFactory;
import org.jboss.soa.esb.message.format.MessageType;
More information about the jboss-svn-commits
mailing list