01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package org.bpmscript.jbi;
18:
19: import java.util.Set;
20:
21: import javax.jbi.messaging.InOut;
22: import javax.jbi.messaging.MessagingException;
23: import javax.jbi.messaging.NormalizedMessage;
24:
25: public class ExchangeCopier {
26:
27: public void copyInOutExchange(InOut from, InOut to)
28: throws MessagingException {
29: Set fromExchangeNames = from.getPropertyNames();
30: if (fromExchangeNames != null) {
31: for (Object objectName : fromExchangeNames) {
32: String name = (String) objectName;
33: to.setProperty(name, from.getProperty(name));
34: }
35: }
36: NormalizedMessage fromInMessage = from.getInMessage();
37: if (fromInMessage != null) {
38: NormalizedMessage toInMessage = to.createMessage();
39: toInMessage.setContent(fromInMessage.getContent());
40: toInMessage.setSecuritySubject(fromInMessage
41: .getSecuritySubject());
42: Set fromPropertyNames = fromInMessage.getPropertyNames();
43: if (fromPropertyNames != null) {
44: for (Object objectName : fromPropertyNames) {
45: String name = (String) objectName;
46: toInMessage.setProperty(name, fromInMessage
47: .getProperty(name));
48: }
49: }
50: Set fromAttachmentNames = fromInMessage
51: .getAttachmentNames();
52: if (fromAttachmentNames != null) {
53: for (Object objectName : fromAttachmentNames) {
54: String name = (String) objectName;
55: toInMessage.addAttachment(name, fromInMessage
56: .getAttachment(name));
57: }
58: }
59: }
60: }
61:
62: }
|