1
2
3
4
5
6
7
8
9
10 package org.mule.routing;
11
12 import org.mule.api.MuleMessage;
13 import org.mule.api.routing.MessageInfoMapping;
14 import org.mule.util.expression.ExpressionEvaluatorManager;
15
16
17
18
19 public class ExpressionMessageInfoMapping implements MessageInfoMapping
20 {
21 private String correlationIdExpression;
22 private String messageIdExpression;
23
24 public String getMessageId(MuleMessage message)
25 {
26 return (String)ExpressionEvaluatorManager.evaluate(getMessageIdExpression(), message, true);
27 }
28
29 public String getCorrelationId(MuleMessage message)
30 {
31 String id = (String)ExpressionEvaluatorManager.evaluate(getCorrelationIdExpression(), message, true);
32 if (id == null)
33 {
34 id = getMessageId(message);
35 }
36 return id;
37 }
38
39 public String getCorrelationIdExpression()
40 {
41 return correlationIdExpression;
42 }
43
44 public void setCorrelationIdExpression(String correlationIdExpression)
45 {
46 this.correlationIdExpression = correlationIdExpression;
47 }
48
49 public String getMessageIdExpression()
50 {
51 return messageIdExpression;
52 }
53
54 public void setMessageIdExpression(String messageIdExpression)
55 {
56 this.messageIdExpression = messageIdExpression;
57 }
58 }