1
2
3
4
5
6
7
8
9
10
11 package org.mule.providers.oracle.jms;
12
13 import org.mule.providers.jms.JmsMessageAdapter;
14 import org.mule.umo.MessagingException;
15
16 import oracle.jms.AdtMessage;
17 import oracle.xdb.XMLType;
18
19
20
21
22
23
24
25 public class OracleJmsMessageAdapter extends JmsMessageAdapter
26 {
27
28
29
30
31 private static final long serialVersionUID = -5304537031626649816L;
32
33 public OracleJmsMessageAdapter(Object message) throws MessagingException
34 {
35 super(message);
36 }
37
38
39
40
41
42
43
44
45
46 public byte[] getPayloadAsBytes() throws Exception
47 {
48 Object jmsMessage = getPayload();
49 if (jmsMessage instanceof AdtMessage)
50 {
51 Object adtMessage = ((AdtMessage)jmsMessage).getAdtPayload();
52 if (adtMessage instanceof XMLType)
53 {
54 return ((XMLType)adtMessage).getBytesValue();
55 }
56 else
57 {
58 return adtMessage.toString().getBytes(getEncoding());
59 }
60 }
61 else
62 {
63 return super.getPayloadAsBytes();
64 }
65 }
66
67
68
69
70
71
72
73
74
75 public String getPayloadAsString(String encoding) throws Exception
76 {
77 Object jmsMessage = getPayload();
78 if (jmsMessage instanceof AdtMessage)
79 {
80 Object adtMessage = ((AdtMessage)jmsMessage).getAdtPayload();
81 if (adtMessage instanceof XMLType)
82 {
83 return ((XMLType)adtMessage).getStringVal();
84 }
85 else
86 {
87 return adtMessage.toString();
88 }
89 }
90 else
91 {
92 return super.getPayloadAsString(encoding);
93 }
94 }
95
96 }