diff options
-rw-r--r-- | src/net/java/sip/communicator/impl/protocol/sip/OperationSetBasicInstantMessagingSipImpl.java | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/src/net/java/sip/communicator/impl/protocol/sip/OperationSetBasicInstantMessagingSipImpl.java b/src/net/java/sip/communicator/impl/protocol/sip/OperationSetBasicInstantMessagingSipImpl.java index 45dbcb6..1ff29fa 100644 --- a/src/net/java/sip/communicator/impl/protocol/sip/OperationSetBasicInstantMessagingSipImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/sip/OperationSetBasicInstantMessagingSipImpl.java @@ -211,7 +211,8 @@ public class OperationSetBasicInstantMessagingSipImpl Request mes; try { - mes = createMessageRequest(to, message); + Message transformedMessage = transformSIPMessage(to, message); + mes = createMessageRequest(to, transformedMessage); } catch (OperationFailedException ex) { @@ -468,6 +469,38 @@ public class OperationSetBasicInstantMessagingSipImpl } /** + * Transforms SIP message via transformation layer. + * + * @param to The <tt>Contact</tt> to send the <tt>message</tt> to. + * @param message The <tt>message</tt> to send. + * + * @return The new transformed <tt>Message</tt> + */ + private Message transformSIPMessage(Contact to, Message message) + { + MessageDeliveredEvent msgDeliveryPendingEvt + = new MessageDeliveredEvent(message, to); + + msgDeliveryPendingEvt + = messageDeliveryPendingTransform(msgDeliveryPendingEvt); + + if (msgDeliveryPendingEvt == null) + return null; + + String content = msgDeliveryPendingEvt.getSourceMessage().getContent(); + + OperationSetBasicInstantMessaging opSetBasicIM = + (OperationSetBasicInstantMessaging) sipProvider + .getSupportedOperationSets().get( + OperationSetBasicInstantMessaging.class.getName()); + Message transformedMesssage = + opSetBasicIM.createMessage(content, message.getContentType(), + message.getEncoding(), message.getSubject()); + + return transformedMesssage; + } + + /** * Parses the content type of a message and return the type * * @param msg the Message to scan |