From 8c8416b88b41b7358a36f2b3f86458b461d150b8 Mon Sep 17 00:00:00 2001 From: boris-unckel Date: Tue, 16 Nov 2021 17:01:25 +0100 Subject: [PATCH] [JBJCA-1435] javax.resource.spi.Connector annotation validation fix Fixes https://issues.redhat.com/browse/JBJCA-1435 --- .../jboss/jca/common/annotations/Annotations.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/common/impl/src/main/java/org/jboss/jca/common/annotations/Annotations.java b/common/impl/src/main/java/org/jboss/jca/common/annotations/Annotations.java index 4cf6e65b4..5fc8212bc 100644 --- a/common/impl/src/main/java/org/jboss/jca/common/annotations/Annotations.java +++ b/common/impl/src/main/java/org/jboss/jca/common/annotations/Annotations.java @@ -243,6 +243,7 @@ private Connector processConnector(AnnotationRepository annotationRepository, Cl { Connector connector = null; Collection values = annotationRepository.getAnnotation(javax.resource.spi.Connector.class); + values = values != null ? values : Collections.emptyList(); if (values != null) { if (values.size() == 1) @@ -256,7 +257,7 @@ private Connector processConnector(AnnotationRepository annotationRepository, Cl connector = attachConnector(raClass, classLoader, connectorAnnotation, connectionDefinitions, configProperties, plainConfigProperties, inboundResourceadapter, adminObjs); } - else if (values.size() == 0) + else if (values.isEmpty()) { // JBJCA-240 if (xmlResourceAdapterClass == null || xmlResourceAdapterClass.equals("")) @@ -264,6 +265,11 @@ else if (values.size() == 0) log.noConnector(); throw new ValidateException(bundle.noConnectorDefined()); } + else + { + connector = attachConnector(xmlResourceAdapterClass, classLoader, null, connectionDefinitions, null, null, + inboundResourceadapter, adminObjs); + } } else { @@ -275,10 +281,10 @@ else if (values.size() == 0) } } } - else + if (connector == null) // This path should not have been reached, IllegalState { - connector = attachConnector(xmlResourceAdapterClass, classLoader, null, connectionDefinitions, null, null, - inboundResourceadapter, adminObjs); + log.noConnector(); + throw new IllegalStateException(bundle.noConnectorDefined()); } return connector;