1
1
/*
2
- * Copyright 2016-2017 the original author or authors.
2
+ * Copyright 2016-2018 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
@@ -55,14 +55,11 @@ public class HeaderEnricherSpec extends ConsumerEndpointSpec<HeaderEnricherSpec,
55
55
56
56
private final Map <String , HeaderValueMessageProcessor <?>> headerToAdd = new HashMap <>();
57
57
58
- private boolean defaultOverwrite = false ;
59
-
60
- private boolean shouldSkipNulls = true ;
61
-
62
- private MessageProcessor <?> messageProcessor ;
58
+ private final HeaderEnricher headerEnricher = new HeaderEnricher (this .headerToAdd );
63
59
64
60
HeaderEnricherSpec () {
65
61
super (null );
62
+ this .handler = new MessageTransformingHandler (this .headerEnricher );
66
63
}
67
64
68
65
/**
@@ -73,7 +70,7 @@ public class HeaderEnricherSpec extends ConsumerEndpointSpec<HeaderEnricherSpec,
73
70
* @see HeaderEnricher#setDefaultOverwrite(boolean)
74
71
*/
75
72
public HeaderEnricherSpec defaultOverwrite (boolean defaultOverwrite ) {
76
- this .defaultOverwrite = defaultOverwrite ;
73
+ this .headerEnricher . setDefaultOverwrite ( defaultOverwrite ) ;
77
74
return _this ();
78
75
}
79
76
@@ -83,7 +80,7 @@ public HeaderEnricherSpec defaultOverwrite(boolean defaultOverwrite) {
83
80
* @see HeaderEnricher#setShouldSkipNulls(boolean)
84
81
*/
85
82
public HeaderEnricherSpec shouldSkipNulls (boolean shouldSkipNulls ) {
86
- this .shouldSkipNulls = shouldSkipNulls ;
83
+ this .headerEnricher . setShouldSkipNulls ( shouldSkipNulls ) ;
87
84
return _this ();
88
85
}
89
86
@@ -97,7 +94,7 @@ public HeaderEnricherSpec shouldSkipNulls(boolean shouldSkipNulls) {
97
94
* @see HeaderEnricher#setMessageProcessor(MessageProcessor)
98
95
*/
99
96
public HeaderEnricherSpec messageProcessor (MessageProcessor <?> messageProcessor ) {
100
- this .messageProcessor = messageProcessor ;
97
+ this .headerEnricher . setMessageProcessor ( messageProcessor ) ;
101
98
return _this ();
102
99
}
103
100
@@ -110,7 +107,7 @@ public HeaderEnricherSpec messageProcessor(MessageProcessor<?> messageProcessor)
110
107
* @see #messageProcessor(MessageProcessor)
111
108
*/
112
109
public HeaderEnricherSpec messageProcessor (String expression ) {
113
- return messageProcessor (new ExpressionEvaluatingMessageProcessor <>(PARSER . parseExpression ( expression ) ));
110
+ return messageProcessor (new ExpressionEvaluatingMessageProcessor <>(expression ));
114
111
}
115
112
116
113
/**
@@ -371,6 +368,7 @@ public <P> HeaderEnricherSpec headerFunction(String name, Function<Message<P>, O
371
368
*/
372
369
public <P > HeaderEnricherSpec headerFunction (String name , Function <Message <P >, Object > function ,
373
370
Boolean overwrite ) {
371
+
374
372
return headerExpression (name , new FunctionExpression <>(function ), overwrite );
375
373
}
376
374
@@ -391,6 +389,7 @@ private HeaderEnricherSpec headerExpression(String name, Expression expression,
391
389
*/
392
390
public <V > HeaderEnricherSpec header (String headerName ,
393
391
HeaderValueMessageProcessor <V > headerValueMessageProcessor ) {
392
+
394
393
Assert .hasText (headerName , "'headerName' must not be empty" );
395
394
this .headerToAdd .put (headerName , headerValueMessageProcessor );
396
395
return _this ();
@@ -432,14 +431,7 @@ public HeaderEnricherSpec headerChannelsToString(String timeToLiveExpression) {
432
431
433
432
@ Override
434
433
protected Tuple2 <ConsumerEndpointFactoryBean , MessageTransformingHandler > doGet () {
435
- HeaderEnricher headerEnricher = new HeaderEnricher (new HashMap <>(this .headerToAdd ));
436
- headerEnricher .setDefaultOverwrite (this .defaultOverwrite );
437
- headerEnricher .setShouldSkipNulls (this .shouldSkipNulls );
438
- headerEnricher .setMessageProcessor (this .messageProcessor );
439
-
440
- this .componentsToRegister .put (headerEnricher , null );
441
-
442
- this .handler = new MessageTransformingHandler (headerEnricher );
434
+ this .componentsToRegister .put (this .headerEnricher , null );
443
435
return super .doGet ();
444
436
}
445
437
0 commit comments