16
16
17
17
package org .citrusframework .config .xml ;
18
18
19
- import java .util .ArrayList ;
20
- import java .util .HashMap ;
21
- import java .util .HashSet ;
22
- import java .util .LinkedHashMap ;
23
- import java .util .List ;
24
- import java .util .Map ;
25
- import java .util .Set ;
26
- import java .util .stream .Stream ;
27
-
28
- import org .citrusframework .CitrusSettings ;
29
19
import org .citrusframework .actions .ReceiveMessageAction ;
30
- import org .citrusframework .config .util .BeanDefinitionParserUtils ;
31
20
import org .citrusframework .config .util .ValidateMessageParserUtil ;
32
21
import org .citrusframework .config .util .VariableExtractorParserUtil ;
33
- import org .citrusframework .util .StringUtils ;
34
22
import org .citrusframework .validation .builder .DefaultMessageBuilder ;
35
23
import org .citrusframework .validation .context .HeaderValidationContext ;
36
24
import org .citrusframework .validation .context .SchemaValidationContext ;
51
39
import org .springframework .util .xml .DomUtils ;
52
40
import org .w3c .dom .Element ;
53
41
42
+ import java .util .ArrayList ;
43
+ import java .util .HashMap ;
44
+ import java .util .HashSet ;
45
+ import java .util .LinkedHashMap ;
46
+ import java .util .List ;
47
+ import java .util .Map ;
48
+ import java .util .Set ;
49
+ import java .util .stream .Stream ;
50
+
54
51
import static java .lang .Boolean .parseBoolean ;
55
52
import static org .citrusframework .util .StringUtils .hasText ;
56
53
@@ -63,20 +60,7 @@ public class ReceiveMessageActionParser extends AbstractMessageActionParser {
63
60
64
61
@ Override
65
62
public BeanDefinition parse (Element element , ParserContext parserContext ) {
66
- String endpointUri = parseEndpoint (element );
67
-
68
- BeanDefinitionBuilder builder = parseComponent (element , parserContext );
69
- builder .addPropertyValue ("name" , element .getLocalName ());
70
-
71
- if (endpointUri .contains (":" ) || (endpointUri .contains (CitrusSettings .VARIABLE_PREFIX ) && endpointUri .contains (CitrusSettings .VARIABLE_SUFFIX ))) {
72
- builder .addPropertyValue ("endpointUri" , endpointUri );
73
- } else {
74
- builder .addPropertyReference ("endpoint" , endpointUri );
75
- }
76
-
77
- DescriptionElementParser .doParse (element , builder );
78
-
79
- BeanDefinitionParserUtils .setPropertyReference (builder , element .getAttribute ("actor" ), "actor" );
63
+ BeanDefinitionBuilder builder = getBeanDefinitionBuilder (element , parserContext );
80
64
81
65
String receiveTimeout = element .getAttribute ("timeout" );
82
66
if (hasText (receiveTimeout )) {
@@ -98,15 +82,6 @@ public BeanDefinition parse(Element element, ParserContext parserContext) {
98
82
return builder .getBeanDefinition ();
99
83
}
100
84
101
- protected String parseEndpoint (Element element ) {
102
- String endpointUri = element .getAttribute ("endpoint" );
103
-
104
- if (!StringUtils .hasText (endpointUri )) {
105
- throw new BeanCreationException ("Endpoint reference must not be empty" );
106
- }
107
- return endpointUri ;
108
- }
109
-
110
85
/**
111
86
* Parse message validation contexts.
112
87
* @param messageElement
@@ -323,7 +298,7 @@ private JsonPathMessageValidationContext getJsonPathMessageValidationContext(Ele
323
298
//for now we only handle jsonPath validation
324
299
Map <String , Object > validateJsonPathExpressions = new HashMap <>();
325
300
List <Element > validateElements = DomUtils .getChildElementsByTagName (messageElement , "validate" );
326
- if (validateElements .size () > 0 ) {
301
+ if (! validateElements .isEmpty () ) {
327
302
for (Element validateElement : validateElements ) {
328
303
extractJsonPathValidateExpressions (validateElement , validateJsonPathExpressions );
329
304
}
@@ -390,16 +365,17 @@ private void parseNamespaceValidationElements(Element messageElement, XmlMessage
390
365
Map <String , String > validateNamespaces = new HashMap <>();
391
366
392
367
List <Element > validateElements = DomUtils .getChildElementsByTagName (messageElement , "validate" );
393
- if (validateElements .size () > 0 ) {
368
+ if (! validateElements .isEmpty () ) {
394
369
for (Element validateElement : validateElements ) {
395
370
//check for namespace validation elements
396
371
List <Element > validateNamespaceElements = DomUtils .getChildElementsByTagName (validateElement , "namespace" );
397
- if (validateNamespaceElements .size () > 0 ) {
372
+ if (! validateNamespaceElements .isEmpty () ) {
398
373
for (Element namespaceElement : validateNamespaceElements ) {
399
374
validateNamespaces .put (namespaceElement .getAttribute ("prefix" ), namespaceElement .getAttribute ("value" ));
400
375
}
401
376
}
402
377
}
378
+
403
379
context .namespaces (validateNamespaces );
404
380
}
405
381
}
@@ -416,7 +392,7 @@ private void parseXPathValidationElements(Element messageElement, XpathMessageVa
416
392
Map <String , Object > validateXpathExpressions = new HashMap <>();
417
393
418
394
List <Element > validateElements = DomUtils .getChildElementsByTagName (messageElement , "validate" );
419
- if (validateElements .size () > 0 ) {
395
+ if (! validateElements .isEmpty () ) {
420
396
for (Element validateElement : validateElements ) {
421
397
extractXPathValidateExpressions (validateElement , validateXpathExpressions );
422
398
}
@@ -466,8 +442,7 @@ private void extractXPathValidateExpressions(
466
442
* @param validateElement
467
443
* @param validateJsonPathExpressions
468
444
*/
469
- private void extractJsonPathValidateExpressions (
470
- Element validateElement , Map <String , Object > validateJsonPathExpressions ) {
445
+ private void extractJsonPathValidateExpressions (Element validateElement , Map <String , Object > validateJsonPathExpressions ) {
471
446
//check for jsonPath validation - old style with direct attribute
472
447
String pathExpression = validateElement .getAttribute ("path" );
473
448
if (JsonPathMessageValidationContext .isJsonPathExpression (pathExpression )) {
@@ -478,16 +453,7 @@ private void extractJsonPathValidateExpressions(
478
453
ValidateMessageParserUtil .parseJsonPathElements (validateElement , validateJsonPathExpressions );
479
454
}
480
455
481
- /**
482
- * Parse component returning generic bean definition.
483
- *
484
- * @param element
485
- * @return
486
- */
487
- protected BeanDefinitionBuilder parseComponent (Element element , ParserContext parserContext ) {
488
- return BeanDefinitionBuilder .genericBeanDefinition (getMessageFactoryClass ());
489
- }
490
-
456
+ @ Override
491
457
protected Class <? extends AbstractReceiveMessageActionFactoryBean > getMessageFactoryClass () {
492
458
return ReceiveMessageActionFactoryBean .class ;
493
459
}
0 commit comments