diff --git a/build.yaml b/build.yaml index 0370c2c8..106d0e41 100644 --- a/build.yaml +++ b/build.yaml @@ -1 +1,8 @@ projectType: extension +additionalTestConfigs: + jdk11: + testJdkTool: OPEN-JDK11 + mavenAdditionalArgs: -DruntimeVersion=4.4.0 + jdk17: + testJdkTool: OPEN-JDK17 + mavenAdditionalArgs: -DminVersion=4.6.0 -DruntimeVersion=4.6.0-rc2 -DruntimeProduct=MULE_EE \ No newline at end of file diff --git a/jacoco-munit-with-getters.exec b/jacoco-munit-with-getters.exec new file mode 100644 index 00000000..83fa9d9f Binary files /dev/null and b/jacoco-munit-with-getters.exec differ diff --git a/pom.xml b/pom.xml index 542f2a78..3441d413 100644 --- a/pom.xml +++ b/pom.xml @@ -27,22 +27,23 @@ 32.1.2-jre 2.14.2 8.16.0 - + 0.8.10 1.11 1.1 - 1.3.7 + 1.4.0-SNAPSHOT formatter.xml 1.14.0-SNAPSHOT - 1.7.3 + 0.3.0 + 1.9.0-SNAPSHOT 4.3.30.RELEASE src/test/munit ${basedir}/target/test-mule/munit - 1.1.3 - 2.3.15 - 1.1.2 + 1.2.0-SNAPSHOT + 3.1.0-SNAPSHOT + 1.2.0-SNAPSHOT 3.3.0 0.41.0 3.3.0 @@ -370,9 +371,7 @@ - - -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${session.executionRootDirectory}/target/jacoco.exec - + -javaagent:${settings.localRepository}/org/jacoco/org.jacoco.agent/${jacoco.version}/org.jacoco.agent-${jacoco.version}-runtime.jar=destfile=${session.executionRootDirectory}/target/jacoco-munit.exec diff --git a/src/main/java/org/mule/extensions/jms/api/ack/ConsumerAckMode.java b/src/main/java/org/mule/extensions/jms/api/ack/ConsumerAckMode.java index 997c73e8..5fb8a16b 100644 --- a/src/main/java/org/mule/extensions/jms/api/ack/ConsumerAckMode.java +++ b/src/main/java/org/mule/extensions/jms/api/ack/ConsumerAckMode.java @@ -6,6 +6,7 @@ */ package org.mule.extensions.jms.api.ack; +import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; import org.mule.jms.commons.internal.config.InternalAckMode; import org.mule.jms.commons.internal.config.JmsAckMode; @@ -40,6 +41,7 @@ public enum ConsumerAckMode implements JmsAckMode { this.ackMode = ackMode; } + @ExcludeFromGeneratedCoverage @Override public InternalAckMode getInternalAckMode() { return ackMode; diff --git a/src/main/java/org/mule/extensions/jms/api/config/JmsConsumerConfig.java b/src/main/java/org/mule/extensions/jms/api/config/JmsConsumerConfig.java index 87a42236..e11f64f4 100644 --- a/src/main/java/org/mule/extensions/jms/api/config/JmsConsumerConfig.java +++ b/src/main/java/org/mule/extensions/jms/api/config/JmsConsumerConfig.java @@ -11,6 +11,7 @@ import org.mule.extensions.jms.api.ack.AckMode; import org.mule.extensions.jms.api.destination.ConsumerType; import org.mule.extensions.jms.api.destination.QueueConsumer; +import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; import org.mule.runtime.extension.api.annotation.Expression; import org.mule.runtime.extension.api.annotation.dsl.xml.ParameterDsl; import org.mule.runtime.extension.api.annotation.param.NullSafe; @@ -70,40 +71,45 @@ public final class JmsConsumerConfig implements org.mule.jms.commons.api.config. @Expression(NOT_SUPPORTED) // TODO MULE-10958: duplicated in ActiveMQ for default factory creation private int maxRedelivery; - + @ExcludeFromGeneratedCoverage public int getMaxRedelivery() { return maxRedelivery; } - + @ExcludeFromGeneratedCoverage public String getSelector() { return selector; } - + @ExcludeFromGeneratedCoverage public ConsumerType getConsumerType() { return consumerType; } - + @ExcludeFromGeneratedCoverage public AckMode getAckMode() { return ackMode; } - public void setMaxRedelivery(int maxRedelivery) { + @ExcludeFromGeneratedCoverage +public void setMaxRedelivery(int maxRedelivery) { this.maxRedelivery = maxRedelivery; } - public void setSelector(String selector) { + @ExcludeFromGeneratedCoverage +public void setSelector(String selector) { this.selector = selector; } - public void setConsumerType(ConsumerType consumerType) { + @ExcludeFromGeneratedCoverage +public void setConsumerType(ConsumerType consumerType) { this.consumerType = consumerType; } - public void setAckMode(AckMode ackMode) { + @ExcludeFromGeneratedCoverage +public void setAckMode(AckMode ackMode) { this.ackMode = ackMode; } + @ExcludeFromGeneratedCoverage @Override public boolean equals(Object o) { if (this == o) @@ -117,6 +123,7 @@ public boolean equals(Object o) { Objects.equals(selector, that.selector); } + @ExcludeFromGeneratedCoverage @Override public int hashCode() { return Objects.hash(ackMode, consumerType, selector, maxRedelivery); diff --git a/src/main/java/org/mule/extensions/jms/api/config/JmsProducerConfig.java b/src/main/java/org/mule/extensions/jms/api/config/JmsProducerConfig.java index 044881fd..ce0d5f11 100644 --- a/src/main/java/org/mule/extensions/jms/api/config/JmsProducerConfig.java +++ b/src/main/java/org/mule/extensions/jms/api/config/JmsProducerConfig.java @@ -9,6 +9,7 @@ import static org.mule.runtime.api.meta.ExpressionSupport.NOT_SUPPORTED; import org.mule.extensions.jms.api.connection.JmsSpecification; +import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; import org.mule.runtime.extension.api.annotation.Expression; import org.mule.runtime.extension.api.annotation.param.Optional; import org.mule.runtime.extension.api.annotation.param.Parameter; @@ -123,90 +124,104 @@ public final class JmsProducerConfig implements org.mule.jms.commons.api.config. @Summary("The message type identifier to be set in the JMSType Header when a message is sent") private String jmsType; + @ExcludeFromGeneratedCoverage public boolean isPersistentDelivery() { return persistentDelivery; } + @ExcludeFromGeneratedCoverage public boolean getPersistentDelivery() { return persistentDelivery; } - public void setPersistentDelivery(boolean persistentDelivery) { + @ExcludeFromGeneratedCoverage +public void setPersistentDelivery(boolean persistentDelivery) { this.persistentDelivery = persistentDelivery; } - + @ExcludeFromGeneratedCoverage public int getPriority() { return priority; } - public void setPriority(int priority) { + @ExcludeFromGeneratedCoverage +public void setPriority(int priority) { this.priority = priority; } - + @ExcludeFromGeneratedCoverage public long getTimeToLive() { return timeToLive; } + @ExcludeFromGeneratedCoverage public void setTimeToLive(long timeToLive) { this.timeToLive = timeToLive; } + @ExcludeFromGeneratedCoverage public TimeUnit getTimeToLiveUnit() { return timeToLiveUnit; } - public void setTimeToLiveUnit(TimeUnit timeToLiveUnit) { + @ExcludeFromGeneratedCoverage +public void setTimeToLiveUnit(TimeUnit timeToLiveUnit) { this.timeToLiveUnit = timeToLiveUnit; } - + @ExcludeFromGeneratedCoverage public boolean isDisableMessageId() { return disableMessageId; } - + @ExcludeFromGeneratedCoverage public boolean getDisableMessageId() { return disableMessageId; } - public void setDisableMessageId(boolean disableMessageId) { + @ExcludeFromGeneratedCoverage +public void setDisableMessageId(boolean disableMessageId) { this.disableMessageId = disableMessageId; } - + @ExcludeFromGeneratedCoverage public boolean isDisableMessageTimestamp() { return disableMessageTimestamp; } - + @ExcludeFromGeneratedCoverage public boolean getDisableMessageTimestamp() { return disableMessageTimestamp; } - public void setDisableMessageTimestamp(boolean disableMessageTimestamp) { + @ExcludeFromGeneratedCoverage +public void setDisableMessageTimestamp(boolean disableMessageTimestamp) { this.disableMessageTimestamp = disableMessageTimestamp; } - + @ExcludeFromGeneratedCoverage public Long getDeliveryDelay() { return deliveryDelay; } - public void setDeliveryDelay(Long deliveryDelay) { + @ExcludeFromGeneratedCoverage +public void setDeliveryDelay(Long deliveryDelay) { this.deliveryDelay = deliveryDelay; } + @ExcludeFromGeneratedCoverage public TimeUnit getDeliveryDelayUnit() { return deliveryDelayUnit; } - public void setDeliveryDelayUnit(TimeUnit deliveryDelayUnit) { + @ExcludeFromGeneratedCoverage +public void setDeliveryDelayUnit(TimeUnit deliveryDelayUnit) { this.deliveryDelayUnit = deliveryDelayUnit; } - + @ExcludeFromGeneratedCoverage public String getJmsType() { return jmsType; } - public void setJmsType(String jmsType) { + @ExcludeFromGeneratedCoverage +public void setJmsType(String jmsType) { this.jmsType = jmsType; } + @ExcludeFromGeneratedCoverage @Override public boolean equals(Object o) { if (this == o) @@ -225,6 +240,7 @@ public boolean equals(Object o) { Objects.equals(jmsType, that.jmsType); } + @ExcludeFromGeneratedCoverage @Override public int hashCode() { return Objects.hash(persistentDelivery, priority, timeToLive, timeToLiveUnit, disableMessageId, disableMessageTimestamp, diff --git a/src/main/java/org/mule/extensions/jms/api/connection/caching/DefaultCachingStrategy.java b/src/main/java/org/mule/extensions/jms/api/connection/caching/DefaultCachingStrategy.java index 29968205..ba9abd6c 100644 --- a/src/main/java/org/mule/extensions/jms/api/connection/caching/DefaultCachingStrategy.java +++ b/src/main/java/org/mule/extensions/jms/api/connection/caching/DefaultCachingStrategy.java @@ -6,6 +6,7 @@ */ package org.mule.extensions.jms.api.connection.caching; +import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; import org.mule.runtime.extension.api.annotation.Alias; /** @@ -18,11 +19,13 @@ public class DefaultCachingStrategy extends org.mule.jms.commons.api.connection.caching.DefaultCachingStrategy implements CachingStrategy { + @ExcludeFromGeneratedCoverage @Override public int hashCode() { return DefaultCachingStrategy.class.hashCode(); } + @ExcludeFromGeneratedCoverage @Override public boolean equals(Object obj) { return obj != null && obj.getClass() == DefaultCachingStrategy.class; diff --git a/src/main/java/org/mule/extensions/jms/api/connection/caching/NoCachingConfiguration.java b/src/main/java/org/mule/extensions/jms/api/connection/caching/NoCachingConfiguration.java index fc9f80b4..cd2c6cd0 100644 --- a/src/main/java/org/mule/extensions/jms/api/connection/caching/NoCachingConfiguration.java +++ b/src/main/java/org/mule/extensions/jms/api/connection/caching/NoCachingConfiguration.java @@ -6,6 +6,7 @@ */ package org.mule.extensions.jms.api.connection.caching; +import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; import org.mule.runtime.extension.api.annotation.Alias; /** @@ -19,11 +20,13 @@ public class NoCachingConfiguration extends org.mule.jms.commons.api.connection.caching.NoCachingConfiguration implements CachingStrategy { + @ExcludeFromGeneratedCoverage @Override public int hashCode() { return NoCachingConfiguration.class.hashCode(); } + @ExcludeFromGeneratedCoverage @Override public boolean equals(Object obj) { return obj != null && obj.getClass() == NoCachingConfiguration.class; diff --git a/src/main/java/org/mule/extensions/jms/api/connection/factory/activemq/ActiveMQConnectionFactoryConfiguration.java b/src/main/java/org/mule/extensions/jms/api/connection/factory/activemq/ActiveMQConnectionFactoryConfiguration.java index 5f3d1b00..4dcf3084 100644 --- a/src/main/java/org/mule/extensions/jms/api/connection/factory/activemq/ActiveMQConnectionFactoryConfiguration.java +++ b/src/main/java/org/mule/extensions/jms/api/connection/factory/activemq/ActiveMQConnectionFactoryConfiguration.java @@ -7,6 +7,8 @@ package org.mule.extensions.jms.api.connection.factory.activemq; import static org.mule.runtime.api.meta.ExpressionSupport.NOT_SUPPORTED; + +import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; import org.mule.runtime.extension.api.annotation.Alias; import org.mule.runtime.extension.api.annotation.Expression; import org.mule.runtime.extension.api.annotation.param.Optional; @@ -106,67 +108,82 @@ public class ActiveMQConnectionFactoryConfiguration { @ExcludeFromConnectivitySchema private boolean trustAllPackages; - + @ExcludeFromGeneratedCoverage public int getMaxRedelivery() { return maxRedelivery; } + @ExcludeFromGeneratedCoverage public void setMaxRedelivery(int maxRedelivery) { this.maxRedelivery = maxRedelivery; } + @ExcludeFromGeneratedCoverage public boolean isEnableXA() { return enableXA; } + @ExcludeFromGeneratedCoverage public boolean getEnableXA() { return enableXA; } + @ExcludeFromGeneratedCoverage public void setEnableXA(boolean enableXA) { this.enableXA = enableXA; } + @ExcludeFromGeneratedCoverage public String getBrokerUrl() { return brokerUrl; } + @ExcludeFromGeneratedCoverage public void setBrokerUrl(String brokerUrl) { this.brokerUrl = brokerUrl; } + @ExcludeFromGeneratedCoverage public long getInitialRedeliveryDelay() { return initialRedeliveryDelay; } + @ExcludeFromGeneratedCoverage public void setInitialRedeliveryDelay(long initialRedeliveryDelay) { this.initialRedeliveryDelay = initialRedeliveryDelay; } + @ExcludeFromGeneratedCoverage public long getRedeliveryDelay() { return redeliveryDelay; } + @ExcludeFromGeneratedCoverage public void setRedeliveryDelay(long redeliveryDelay) { this.redeliveryDelay = redeliveryDelay; } + @ExcludeFromGeneratedCoverage public List getTrustedPackages() { return trustedPackages; } + @ExcludeFromGeneratedCoverage public void setTrustedPackages(List trustedPackages) { this.trustedPackages = trustedPackages; } + @ExcludeFromGeneratedCoverage public boolean isTrustAllPackages() { return trustAllPackages; } + @ExcludeFromGeneratedCoverage public boolean getTrustAllPackages() { return trustAllPackages; } + @ExcludeFromGeneratedCoverage public void setTrustAllPackages(boolean trustAllPackages) { this.trustAllPackages = trustAllPackages; } @@ -179,6 +196,7 @@ public boolean getVerifyHostName() { @Override + @ExcludeFromGeneratedCoverage public boolean equals(Object o) { if (this == o) return true; @@ -195,6 +213,7 @@ public boolean equals(Object o) { } @Override + @ExcludeFromGeneratedCoverage public int hashCode() { return Objects.hash(brokerUrl, enableXA, initialRedeliveryDelay, redeliveryDelay, maxRedelivery, trustedPackages, trustAllPackages); diff --git a/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/AbstractJndiNameResolver.java b/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/AbstractJndiNameResolver.java index 9ee8c149..8fb63533 100644 --- a/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/AbstractJndiNameResolver.java +++ b/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/AbstractJndiNameResolver.java @@ -11,6 +11,7 @@ import static org.slf4j.LoggerFactory.getLogger; import org.apache.commons.lang3.builder.EqualsBuilder; +import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; import org.mule.runtime.api.exception.MuleException; import org.mule.runtime.api.lifecycle.InitialisationException; @@ -71,6 +72,7 @@ protected Hashtable getContextProperties() { /** * Gets the JNDI provider URL */ + @ExcludeFromGeneratedCoverage public String getJndiProviderUrl() { return jndiProviderUrl; } @@ -78,13 +80,15 @@ public String getJndiProviderUrl() { /** * Sets the the JNDI provider URL */ - public void setJndiProviderUrl(String jndiProviderUrl) { + @ExcludeFromGeneratedCoverage +public void setJndiProviderUrl(String jndiProviderUrl) { this.jndiProviderUrl = jndiProviderUrl; } /** * Gets the JNDI initial factory */ + @ExcludeFromGeneratedCoverage public String getJndiInitialFactory() { return jndiInitialFactory; } @@ -92,13 +96,15 @@ public String getJndiInitialFactory() { /** * Sets the JNDI initial factory */ - public void setJndiInitialFactory(String jndiInitialFactory) { + @ExcludeFromGeneratedCoverage +public void setJndiInitialFactory(String jndiInitialFactory) { this.jndiInitialFactory = jndiInitialFactory; } /** * Gets the properties to be passed to the JNDI Name Resolver Context */ + @ExcludeFromGeneratedCoverage public Map getJndiProviderProperties() { return jndiProviderProperties; } @@ -106,13 +112,15 @@ public Map getJndiProviderProperties() { /** * Sets the properties to be passed to the JNDI Name Resolver Context */ - public void setJndiProviderProperties(Map jndiProviderProperties) { + @ExcludeFromGeneratedCoverage +public void setJndiProviderProperties(Map jndiProviderProperties) { this.jndiProviderProperties = jndiProviderProperties; } /** * Gets the {@link InitialContextFactory} used to create the initial context */ + @ExcludeFromGeneratedCoverage public InitialContextFactory getContextFactory() { return contextFactory; } @@ -120,7 +128,8 @@ public InitialContextFactory getContextFactory() { /** * Sets the {@link InitialContextFactory} used to create the initial context */ - public void setContextFactory(InitialContextFactory contextFactory) { + @ExcludeFromGeneratedCoverage +public void setContextFactory(InitialContextFactory contextFactory) { if (contextFactory == null) { throw new IllegalArgumentException("Context factory cannot be null"); } @@ -129,11 +138,13 @@ public void setContextFactory(InitialContextFactory contextFactory) { } @Override + @ExcludeFromGeneratedCoverage public void initialise() throws InitialisationException { // Does nothing } @Override + @ExcludeFromGeneratedCoverage public void dispose() { // Does nothing } @@ -149,11 +160,13 @@ public void stop() throws MuleException { } @Override + @ExcludeFromGeneratedCoverage public int hashCode() { return hash(contextFactory, jndiProviderUrl, jndiInitialFactory, jndiProviderProperties); } @Override + @ExcludeFromGeneratedCoverage public boolean equals(Object other) { if (other == null) { return false; diff --git a/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/JndiConnectionFactory.java b/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/JndiConnectionFactory.java index 6360618c..4461967c 100644 --- a/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/JndiConnectionFactory.java +++ b/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/JndiConnectionFactory.java @@ -19,6 +19,7 @@ import org.apache.commons.lang3.builder.EqualsBuilder; import org.mule.extensions.jms.api.connection.LookupJndiDestination; import org.mule.extensions.jms.api.exception.JmsExtensionException; +import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; import org.mule.runtime.api.exception.MuleException; import org.mule.runtime.api.lifecycle.InitialisationException; import org.mule.runtime.api.lifecycle.Lifecycle; @@ -149,7 +150,7 @@ private Object lookupFromJndi(String jndiName) throws NamingException { throw e; } } - + @ExcludeFromGeneratedCoverage private JndiNameResolver getJndiNameResolver() { return nameResolver; } @@ -177,36 +178,40 @@ public JMSContext createContext(int sessionMode) { // We'll use the classic API return null; } - + @ExcludeFromGeneratedCoverage public String getConnectionFactoryJndiName() { return connectionFactoryJndiName; } - public void setConnectionFactoryJndiName(String connectionFactoryJndiName) { + @ExcludeFromGeneratedCoverage +public void setConnectionFactoryJndiName(String connectionFactoryJndiName) { this.connectionFactoryJndiName = connectionFactoryJndiName; } - + @ExcludeFromGeneratedCoverage public LookupJndiDestination getLookupDestination() { return lookupDestination; } - public void setLookupDestination(LookupJndiDestination lookupDestination) { + @ExcludeFromGeneratedCoverage +public void setLookupDestination(LookupJndiDestination lookupDestination) { this.lookupDestination = lookupDestination; } - + @ExcludeFromGeneratedCoverage public JndiNameResolverProvider getNameResolverProvider() { return nameResolverProvider; } - public void setNameResolverProvider(JndiNameResolverProvider nameResolverProvider) { + @ExcludeFromGeneratedCoverage +public void setNameResolverProvider(JndiNameResolverProvider nameResolverProvider) { this.nameResolverProvider = nameResolverProvider; } - + @ExcludeFromGeneratedCoverage public JndiNameResolver getNameResolver() { return nameResolver; } - public void setNameResolver(JndiNameResolver nameResolver) { + @ExcludeFromGeneratedCoverage +public void setNameResolver(JndiNameResolver nameResolver) { this.nameResolver = nameResolver; } @@ -214,7 +219,8 @@ public ConnectionFactory getConnectionFactory() { return connectionFactory; } - public void setConnectionFactory(ConnectionFactory connectionFactory) { + @ExcludeFromGeneratedCoverage +public void setConnectionFactory(ConnectionFactory connectionFactory) { this.connectionFactory = connectionFactory; } @@ -224,6 +230,7 @@ public int hashCode() { } @Override + @ExcludeFromGeneratedCoverage public boolean equals(Object other) { if (other == null) { return false; diff --git a/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/JndiNameResolverProperties.java b/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/JndiNameResolverProperties.java index 924e9c99..92fe7800 100644 --- a/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/JndiNameResolverProperties.java +++ b/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/JndiNameResolverProperties.java @@ -7,6 +7,7 @@ package org.mule.extensions.jms.api.connection.factory.jndi; import org.apache.commons.lang3.builder.EqualsBuilder; +import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; import org.mule.runtime.extension.api.annotation.param.Optional; import org.mule.runtime.extension.api.annotation.param.Parameter; import org.mule.runtime.extension.api.annotation.param.display.Summary; @@ -51,23 +52,26 @@ public String getJndiInitialContextFactory() { return jndiInitialContextFactory; } - public void setJndiInitialContextFactory(String jndiInitialContextFactory) { + @ExcludeFromGeneratedCoverage +public void setJndiInitialContextFactory(String jndiInitialContextFactory) { this.jndiInitialContextFactory = jndiInitialContextFactory; } - + @ExcludeFromGeneratedCoverage public Map getProviderProperties() { return providerProperties; } - public void setProviderProperties(Map providerProperties) { + @ExcludeFromGeneratedCoverage +public void setProviderProperties(Map providerProperties) { this.providerProperties = providerProperties; } - + @ExcludeFromGeneratedCoverage public String getJndiProviderUrl() { return jndiProviderUrl; } - public void setJndiProviderUrl(String jndiProviderUrl) { + @ExcludeFromGeneratedCoverage +public void setJndiProviderUrl(String jndiProviderUrl) { this.jndiProviderUrl = jndiProviderUrl; } @@ -77,6 +81,7 @@ public int hashCode() { } @Override + @ExcludeFromGeneratedCoverage public boolean equals(Object other) { if (other == null) { return false; diff --git a/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/JndiNameResolverProvider.java b/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/JndiNameResolverProvider.java index fb479bf4..cdfd7146 100644 --- a/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/JndiNameResolverProvider.java +++ b/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/JndiNameResolverProvider.java @@ -11,6 +11,7 @@ import static org.mule.runtime.api.meta.ExpressionSupport.NOT_SUPPORTED; import org.apache.commons.lang3.builder.EqualsBuilder; +import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; import org.mule.runtime.api.lifecycle.InitialisationException; import org.mule.runtime.extension.api.annotation.Expression; import org.mule.runtime.extension.api.annotation.param.ExclusiveOptionals; @@ -52,14 +53,16 @@ public JndiNameResolver getCustomJndiNameResolver() { return customJndiNameResolver; } + @ExcludeFromGeneratedCoverage public void setCustomJndiNameResolver(JndiNameResolver customJndiNameResolver) { this.customJndiNameResolver = customJndiNameResolver; } - + @ExcludeFromGeneratedCoverage public JndiNameResolverProperties getNameResolverBuilder() { return nameResolverBuilder; } + @ExcludeFromGeneratedCoverage public void setNameResolverBuilder(JndiNameResolverProperties nameResolverBuilder) { this.nameResolverBuilder = nameResolverBuilder; } diff --git a/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/SimpleJndiNameResolver.java b/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/SimpleJndiNameResolver.java index 6151dc6b..499a08ac 100644 --- a/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/SimpleJndiNameResolver.java +++ b/src/main/java/org/mule/extensions/jms/api/connection/factory/jndi/SimpleJndiNameResolver.java @@ -9,6 +9,7 @@ import static java.util.Objects.hash; import org.apache.commons.lang3.builder.EqualsBuilder; +import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; import org.mule.runtime.api.lifecycle.InitialisationException; import javax.naming.CommunicationException; @@ -66,6 +67,7 @@ private Object doLookUp(String name) throws NamingException { } @Override + @ExcludeFromGeneratedCoverage public int hashCode() { int result = super.hashCode(); if (jndiContext != null) { @@ -75,6 +77,7 @@ public int hashCode() { } @Override + @ExcludeFromGeneratedCoverage public boolean equals(Object other) { if (other == null) { return false; @@ -100,12 +103,13 @@ public boolean equals(Object other) { return true; } - + @ExcludeFromGeneratedCoverage public Context getJndiContext() { return jndiContext; } - public void setJndiContext(Context jndiContext) { + @ExcludeFromGeneratedCoverage +public void setJndiContext(Context jndiContext) { this.jndiContext = jndiContext; } } diff --git a/src/main/java/org/mule/extensions/jms/api/destination/JmsDestination.java b/src/main/java/org/mule/extensions/jms/api/destination/JmsDestination.java index 5e8ac265..7db9b9cc 100644 --- a/src/main/java/org/mule/extensions/jms/api/destination/JmsDestination.java +++ b/src/main/java/org/mule/extensions/jms/api/destination/JmsDestination.java @@ -8,6 +8,7 @@ import static org.mule.extensions.jms.internal.common.JmsCommons.QUEUE; +import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; import org.mule.runtime.extension.api.annotation.dsl.xml.ParameterDsl; import org.mule.runtime.extension.api.annotation.param.Optional; import org.mule.runtime.extension.api.annotation.param.Parameter; @@ -47,12 +48,13 @@ public JmsDestination(String name, DestinationType type) { this.destination = name; this.destinationType = type; } - + @ExcludeFromGeneratedCoverage public String getDestination() { return destination; } - public void setDestination(String destination) { + @ExcludeFromGeneratedCoverage +public void setDestination(String destination) { this.destination = destination; } @@ -60,7 +62,8 @@ public DestinationType getDestinationType() { return destinationType; } - public void setDestinationType(DestinationType destinationType) { + @ExcludeFromGeneratedCoverage +public void setDestinationType(DestinationType destinationType) { this.destinationType = destinationType; } } diff --git a/src/main/java/org/mule/extensions/jms/api/message/JmsHeaders.java b/src/main/java/org/mule/extensions/jms/api/message/JmsHeaders.java index fd56a7b7..145fad42 100644 --- a/src/main/java/org/mule/extensions/jms/api/message/JmsHeaders.java +++ b/src/main/java/org/mule/extensions/jms/api/message/JmsHeaders.java @@ -6,6 +6,7 @@ */ package org.mule.extensions.jms.api.message; +import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; import org.mule.jms.commons.api.destination.JmsDestination; import org.mule.jms.commons.api.message.JmsHeadersBuilder; import org.mule.runtime.extension.api.annotation.param.Optional; @@ -140,87 +141,98 @@ public String getJMSMessageID() { return messageId; } - public void setJMSMessageID(String messageId) { + @ExcludeFromGeneratedCoverage +public void setJMSMessageID(String messageId) { this.messageId = messageId; } - + @ExcludeFromGeneratedCoverage public long getJMSTimestamp() { return timestamp; } - public void setJMSTimestamp(long timestamp) { + @ExcludeFromGeneratedCoverage +public void setJMSTimestamp(long timestamp) { this.timestamp = timestamp; } - + @ExcludeFromGeneratedCoverage public String getJMSCorrelationID() { return correlationId; } - public void setJMSCorrelationID(String correlationId) { + @ExcludeFromGeneratedCoverage +public void setJMSCorrelationID(String correlationId) { this.correlationId = correlationId; } - + @ExcludeFromGeneratedCoverage public JmsDestination getJMSReplyTo() { return replyTo; } - public void setJMSReplyTo(JmsDestination replyTo) { + @ExcludeFromGeneratedCoverage +public void setJMSReplyTo(JmsDestination replyTo) { this.replyTo = replyTo; } - + @ExcludeFromGeneratedCoverage public JmsDestination getJMSDestination() { return destination; } - public void setJMSDestination(JmsDestination destination) { + @ExcludeFromGeneratedCoverage +public void setJMSDestination(JmsDestination destination) { this.destination = destination; } - + @ExcludeFromGeneratedCoverage public int getJMSDeliveryMode() { return deliveryMode; } - public void setJMSDeliveryMode(int deliveryMode) { + @ExcludeFromGeneratedCoverage +public void setJMSDeliveryMode(int deliveryMode) { this.deliveryMode = deliveryMode; } - + @ExcludeFromGeneratedCoverage public boolean getJMSRedelivered() { return redelivered; } - public void setJMSRedelivered(boolean redelivered) { + @ExcludeFromGeneratedCoverage +public void setJMSRedelivered(boolean redelivered) { this.redelivered = redelivered; } - + @ExcludeFromGeneratedCoverage public String getJMSType() { return type; } - public void setJMSType(String type) { + @ExcludeFromGeneratedCoverage +public void setJMSType(String type) { this.type = type; } - + @ExcludeFromGeneratedCoverage public long getJMSExpiration() { return expiration; } - public void setJMSExpiration(long expiration) { + @ExcludeFromGeneratedCoverage +public void setJMSExpiration(long expiration) { this.expiration = expiration; } - + @ExcludeFromGeneratedCoverage public Long getJMSDeliveryTime() { return deliveryTime; } - public void setJMSDeliveryTime(Long deliveryTime) { + @ExcludeFromGeneratedCoverage +public void setJMSDeliveryTime(Long deliveryTime) { this.deliveryTime = deliveryTime; } - + @ExcludeFromGeneratedCoverage public int getJMSPriority() { return priority; } - public void setJMSPriority(int priority) { + @ExcludeFromGeneratedCoverage +public void setJMSPriority(int priority) { this.priority = priority; } diff --git a/src/main/java/org/mule/extensions/jms/internal/ExcludeFromGeneratedCoverage.java b/src/main/java/org/mule/extensions/jms/internal/ExcludeFromGeneratedCoverage.java new file mode 100644 index 00000000..158cf460 --- /dev/null +++ b/src/main/java/org/mule/extensions/jms/internal/ExcludeFromGeneratedCoverage.java @@ -0,0 +1,14 @@ +/** + * (c) 2003-2021 MuleSoft, Inc. The software in this package is published under the terms of the Commercial Free Software license V.1 a copy of which has been included with this distribution in the LICENSE.md file. + */ +package org.mule.extensions.jms.internal; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +//https://stackoverflow.com/questions/47824761/how-would-i-add-an-annotation-to-exclude-a-method-from-a-jacoco-code-coverage-re +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.METHOD, ElementType.TYPE}) +public @interface ExcludeFromGeneratedCoverage { } \ No newline at end of file diff --git a/src/main/java/org/mule/extensions/jms/internal/connection/param/XaPoolParameters.java b/src/main/java/org/mule/extensions/jms/internal/connection/param/XaPoolParameters.java index b19c4697..84ffbd5e 100644 --- a/src/main/java/org/mule/extensions/jms/internal/connection/param/XaPoolParameters.java +++ b/src/main/java/org/mule/extensions/jms/internal/connection/param/XaPoolParameters.java @@ -7,6 +7,8 @@ package org.mule.extensions.jms.internal.connection.param; import static org.mule.runtime.extension.api.annotation.param.display.Placement.ADVANCED_TAB; + +import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; import org.mule.runtime.extension.api.annotation.param.Optional; import org.mule.runtime.extension.api.annotation.param.Parameter; import org.mule.runtime.extension.api.annotation.param.display.Placement; @@ -69,6 +71,7 @@ public int getMaxIdleTime() { } @Override + @ExcludeFromGeneratedCoverage public boolean equals(Object o) { if (this == o) return true; @@ -81,6 +84,7 @@ public boolean equals(Object o) { } @Override + @ExcludeFromGeneratedCoverage public int hashCode() { return Objects.hash(minPoolSize, maxPoolSize, maxIdleSeconds); } diff --git a/src/main/java/org/mule/extensions/jms/internal/connection/provider/CacheParameters.java b/src/main/java/org/mule/extensions/jms/internal/connection/provider/CacheParameters.java index 42d2cc33..e81bac2a 100644 --- a/src/main/java/org/mule/extensions/jms/internal/connection/provider/CacheParameters.java +++ b/src/main/java/org/mule/extensions/jms/internal/connection/provider/CacheParameters.java @@ -1,40 +1,40 @@ -/* - * Copyright 2023 Salesforce, Inc. All rights reserved. - * The software in this package is published under the terms of the CPAL v1.0 - * license, a copy of which has been included with this distribution in the - * LICENSE.txt file. - */ -package org.mule.extensions.jms.internal.connection.provider; - -import static org.mule.runtime.api.meta.ExpressionSupport.NOT_SUPPORTED; -import org.mule.extensions.jms.api.connection.caching.CachingStrategy; -import org.mule.extensions.jms.api.connection.caching.DefaultCachingStrategy; -import org.mule.runtime.extension.api.annotation.Expression; -import org.mule.runtime.extension.api.annotation.param.NullSafe; -import org.mule.runtime.extension.api.annotation.param.Optional; -import org.mule.runtime.extension.api.annotation.param.Parameter; - -import javax.jms.Connection; -import javax.jms.Session; - -/** - * Container group for connection factory cache parameters - * - * @since 1.0 - */ -public class CacheParameters { - - /** - * the strategy to be used for caching of {@link Session}s and {@link Connection}s - */ - @Parameter - @Optional - @Expression(NOT_SUPPORTED) - @NullSafe(defaultImplementingType = DefaultCachingStrategy.class) - private CachingStrategy cachingStrategy; - - public CachingStrategy getCachingStrategy() { - return cachingStrategy; - } - -} +///* +// * Copyright 2023 Salesforce, Inc. All rights reserved. +// * The software in this package is published under the terms of the CPAL v1.0 +// * license, a copy of which has been included with this distribution in the +// * LICENSE.txt file. +// */ +//package org.mule.extensions.jms.internal.connection.provider; +// +//import static org.mule.runtime.api.meta.ExpressionSupport.NOT_SUPPORTED; +//import org.mule.extensions.jms.api.connection.caching.CachingStrategy; +//import org.mule.extensions.jms.api.connection.caching.DefaultCachingStrategy; +//import org.mule.runtime.extension.api.annotation.Expression; +//import org.mule.runtime.extension.api.annotation.param.NullSafe; +//import org.mule.runtime.extension.api.annotation.param.Optional; +//import org.mule.runtime.extension.api.annotation.param.Parameter; +// +//import javax.jms.Connection; +//import javax.jms.Session; +// +///** +// * Container group for connection factory cache parameters +// * +// * @since 1.0 +// */ +//public class CacheParameters { +// +// /** +// * the strategy to be used for caching of {@link Session}s and {@link Connection}s +// */ +// @Parameter +// @Optional +// @Expression(NOT_SUPPORTED) +// @NullSafe(defaultImplementingType = DefaultCachingStrategy.class) +// private CachingStrategy cachingStrategy; +// +// public CachingStrategy getCachingStrategy() { +// return cachingStrategy; +// } +// +//} diff --git a/src/main/java/org/mule/extensions/jms/internal/connection/provider/GenericConnectionProvider.java b/src/main/java/org/mule/extensions/jms/internal/connection/provider/GenericConnectionProvider.java index d79edf37..95b0a28f 100644 --- a/src/main/java/org/mule/extensions/jms/internal/connection/provider/GenericConnectionProvider.java +++ b/src/main/java/org/mule/extensions/jms/internal/connection/provider/GenericConnectionProvider.java @@ -12,6 +12,7 @@ import static org.slf4j.LoggerFactory.getLogger; import org.mule.extensions.jms.api.connection.factory.jndi.JndiConnectionFactory; +import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; import org.mule.jms.commons.api.connection.LookupJndiDestination; import org.mule.jms.commons.internal.support.JmsSupport; import org.mule.jms.commons.internal.support.Jms11Support; @@ -78,6 +79,7 @@ public class GenericConnectionProvider extends BaseConnectionProvider { private ConnectionFactory connectionFactory; @Override + @ExcludeFromGeneratedCoverage public ConnectionFactory getConnectionFactory() { this.addCertificatesToSSLContextIfNeeded(); return connectionFactory; @@ -129,7 +131,8 @@ public JmsSupport create102bSupport() { } }; } - + // These methods are excluded from coverage since they need special weblogic configuration + @ExcludeFromGeneratedCoverage protected void addCertificatesToSSLContextIfNeeded() { if (!trustStorePassword.isEmpty() && !trustStoreName.isEmpty()) { try { @@ -146,6 +149,7 @@ protected void addCertificatesToSSLContextIfNeeded() { } } + @ExcludeFromGeneratedCoverage private TrustManager[] getCustomTrustStoreWithDefaultCerts(java.util.Optional truststoreFile, String trustStorePassword) throws CertificateException, IOException, NoSuchAlgorithmException, KeyStoreException { @@ -168,6 +172,7 @@ private TrustManager[] getCustomTrustStoreWithDefaultCerts(java.util.Optional truststoreFile, String trustStorePassword) throws CertificateException, IOException, NoSuchAlgorithmException, KeyStoreException { final KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); @@ -180,7 +185,7 @@ private KeyStore getKeyStoreWithCustomCerts(java.util.Optional truststoreF } return keyStore; } - +@ExcludeFromGeneratedCoverage private java.util.Optional getTruststoreFile(String trustStoreName) { URL resource = this.getClass().getClassLoader().getResource(trustStoreName); return Objects.isNull(resource) ? java.util.Optional.empty() : java.util.Optional.of(new File(resource.getPath())); diff --git a/src/main/java/org/mule/extensions/jms/internal/connection/provider/activemq/ActiveMQConnectionProvider.java b/src/main/java/org/mule/extensions/jms/internal/connection/provider/activemq/ActiveMQConnectionProvider.java index 7f14f113..462f9287 100644 --- a/src/main/java/org/mule/extensions/jms/internal/connection/provider/activemq/ActiveMQConnectionProvider.java +++ b/src/main/java/org/mule/extensions/jms/internal/connection/provider/activemq/ActiveMQConnectionProvider.java @@ -19,6 +19,7 @@ import org.mule.extensions.jms.api.exception.JmsExtensionException; import org.mule.extensions.jms.api.exception.JmsMissingLibraryException; +import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; import org.mule.extensions.jms.internal.connection.exception.ActiveMQException; import org.mule.extensions.jms.internal.connection.provider.BaseConnectionProvider; import org.mule.jms.commons.internal.connection.JmsConnection; @@ -138,6 +139,7 @@ public JmsTransactionalConnection connect() throws ConnectionException { } @Override + @ExcludeFromGeneratedCoverage public ConnectionFactory getConnectionFactory() throws ActiveMQException { if (connectionFactory != null) { return connectionFactory; diff --git a/src/main/java/org/mule/extensions/jms/internal/connection/session/DefaultJmsSession.java b/src/main/java/org/mule/extensions/jms/internal/connection/session/DefaultJmsSession.java index 1eda74bf..a69d7ae6 100644 --- a/src/main/java/org/mule/extensions/jms/internal/connection/session/DefaultJmsSession.java +++ b/src/main/java/org/mule/extensions/jms/internal/connection/session/DefaultJmsSession.java @@ -1,67 +1,67 @@ -/* - * Copyright 2023 Salesforce, Inc. All rights reserved. - * The software in this package is published under the terms of the CPAL v1.0 - * license, a copy of which has been included with this distribution in the - * LICENSE.txt file. - */ -package org.mule.extensions.jms.internal.connection.session; - -import static java.util.Optional.ofNullable; -import static org.mule.runtime.api.util.Preconditions.checkArgument; -import static org.slf4j.LoggerFactory.getLogger; - -import javax.jms.JMSException; -import javax.jms.Session; - -import java.util.Optional; - -import org.slf4j.Logger; - -/** - * Wrapper element for a JMS {@link Session} that relates the - * session with its AckID - * - * @since 1.0 - */ -public final class DefaultJmsSession implements JmsSession { - - private static final Logger LOGGER = getLogger(DefaultJmsSession.class); - - private final Session session; - private String ackId; - - public DefaultJmsSession(Session session) { - checkArgument(session != null, "A non null Session is required to use as delegate"); - this.session = session; - } - - public DefaultJmsSession(Session session, String ackId) { - checkArgument(session != null, "A non null Session is required to use as delegate"); - this.session = session; - this.ackId = ackId; - } - - /** - * @return the JMS {@link Session} - */ - @Override - public Session get() { - return session; - } - - /** - * @return the AckId of this {@link Session} or {@link Optional#empty} if no AckId is required - */ - @Override - public Optional getAckId() { - return ofNullable(ackId); - } - - @Override - public void close() throws JMSException { - if (LOGGER.isDebugEnabled()) { - LOGGER.debug("Closing session " + session); - } - session.close(); - } -} +///* +// * Copyright 2023 Salesforce, Inc. All rights reserved. +// * The software in this package is published under the terms of the CPAL v1.0 +// * license, a copy of which has been included with this distribution in the +// * LICENSE.txt file. +// */ +//package org.mule.extensions.jms.internal.connection.session; +// +//import static java.util.Optional.ofNullable; +//import static org.mule.runtime.api.util.Preconditions.checkArgument; +//import static org.slf4j.LoggerFactory.getLogger; +// +//import javax.jms.JMSException; +//import javax.jms.Session; +// +//import java.util.Optional; +// +//import org.slf4j.Logger; +// +///** +// * Wrapper element for a JMS {@link Session} that relates the +// * session with its AckID +// * +// * @since 1.0 +// */ +//public final class DefaultJmsSession implements JmsSession { +// +// private static final Logger LOGGER = getLogger(DefaultJmsSession.class); +// +// private final Session session; +// private String ackId; +// +// public DefaultJmsSession(Session session) { +// checkArgument(session != null, "A non null Session is required to use as delegate"); +// this.session = session; +// } +// +// public DefaultJmsSession(Session session, String ackId) { +// checkArgument(session != null, "A non null Session is required to use as delegate"); +// this.session = session; +// this.ackId = ackId; +// } +// +// /** +// * @return the JMS {@link Session} +// */ +// @Override +// public Session get() { +// return session; +// } +// +// /** +// * @return the AckId of this {@link Session} or {@link Optional#empty} if no AckId is required +// */ +// @Override +// public Optional getAckId() { +// return ofNullable(ackId); +// } +// +// @Override +// public void close() throws JMSException { +// if (LOGGER.isDebugEnabled()) { +// LOGGER.debug("Closing session " + session); +// } +// session.close(); +// } +//} diff --git a/src/main/java/org/mule/extensions/jms/internal/connection/session/TransactionInformation.java b/src/main/java/org/mule/extensions/jms/internal/connection/session/TransactionInformation.java index 13dc0bcd..02bfb39b 100644 --- a/src/main/java/org/mule/extensions/jms/internal/connection/session/TransactionInformation.java +++ b/src/main/java/org/mule/extensions/jms/internal/connection/session/TransactionInformation.java @@ -1,36 +1,40 @@ -/* - * Copyright 2023 Salesforce, Inc. All rights reserved. - * The software in this package is published under the terms of the CPAL v1.0 - * license, a copy of which has been included with this distribution in the - * LICENSE.txt file. - */ -package org.mule.extensions.jms.internal.connection.session; - -/** - * Object to save the information about the current transaction. - * - * @since 1.0 - */ -final class TransactionInformation { - - private JmsSession jmsSession; - private TransactionStatus transactionStatus; - - TransactionInformation() {} - - JmsSession getJmsSession() { - return jmsSession; - } - - void setJmsSession(JmsSession jmsSession) { - this.jmsSession = jmsSession; - } - - TransactionStatus getTransactionStatus() { - return transactionStatus; - } - - void setTransactionStatus(TransactionStatus transactionStatus) { - this.transactionStatus = transactionStatus; - } -} +///* +// * Copyright 2023 Salesforce, Inc. All rights reserved. +// * The software in this package is published under the terms of the CPAL v1.0 +// * license, a copy of which has been included with this distribution in the +// * LICENSE.txt file. +// */ +//package org.mule.extensions.jms.internal.connection.session; +// +//import org.mule.extensions.jms.internal.ExcludeFromGeneratedCoverage; +// +///** +// * Object to save the information about the current transaction. +// * +// * @since 1.0 +// */ +//final class TransactionInformation { +// +// private JmsSession jmsSession; +// private TransactionStatus transactionStatus; +// +// TransactionInformation() {} +// @ExcludeFromGeneratedCoverage +// JmsSession getJmsSession() { +// return jmsSession; +// } +// +// @ExcludeFromGeneratedCoverage +// void setJmsSession(JmsSession jmsSession) { +// this.jmsSession = jmsSession; +// } +// +// @ExcludeFromGeneratedCoverage +// TransactionStatus getTransactionStatus() { +// return transactionStatus; +// } +//@ExcludeFromGeneratedCoverage +// void setTransactionStatus(TransactionStatus transactionStatus) { +// this.transactionStatus = transactionStatus; +// } +//} diff --git a/src/main/java/org/mule/extensions/jms/internal/connection/session/TransactionStatus.java b/src/main/java/org/mule/extensions/jms/internal/connection/session/TransactionStatus.java index 0093e54d..40a8e6d7 100644 --- a/src/main/java/org/mule/extensions/jms/internal/connection/session/TransactionStatus.java +++ b/src/main/java/org/mule/extensions/jms/internal/connection/session/TransactionStatus.java @@ -1,20 +1,20 @@ -/* - * Copyright 2023 Salesforce, Inc. All rights reserved. - * The software in this package is published under the terms of the CPAL v1.0 - * license, a copy of which has been included with this distribution in the - * LICENSE.txt file. - */ -package org.mule.extensions.jms.internal.connection.session; - -/** - * Enum to indicate the current status of a transaction over a session. - *
    - *
  • {@link TransactionStatus#NONE} means that there is no started transaction for the current {@link Thread}
  • - *
  • {@link TransactionStatus#STARTED} means that there is a transaction being executed in the current {@link Thread}
  • - *
- * - * @since 1.0 - */ -public enum TransactionStatus { - NONE, STARTED -} +///* +// * Copyright 2023 Salesforce, Inc. All rights reserved. +// * The software in this package is published under the terms of the CPAL v1.0 +// * license, a copy of which has been included with this distribution in the +// * LICENSE.txt file. +// */ +//package org.mule.extensions.jms.internal.connection.session; +// +///** +// * Enum to indicate the current status of a transaction over a session. +// *
    +// *
  • {@link TransactionStatus#NONE} means that there is no started transaction for the current {@link Thread}
  • +// *
  • {@link TransactionStatus#STARTED} means that there is a transaction being executed in the current {@link Thread}
  • +// *
+// * +// * @since 1.0 +// */ +//public enum TransactionStatus { +// NONE, STARTED +//} diff --git a/src/main/java/org/mule/extensions/jms/internal/consume/JmsMessageConsumer.java b/src/main/java/org/mule/extensions/jms/internal/consume/JmsMessageConsumer.java index 1b8d3358..cc578038 100644 --- a/src/main/java/org/mule/extensions/jms/internal/consume/JmsMessageConsumer.java +++ b/src/main/java/org/mule/extensions/jms/internal/consume/JmsMessageConsumer.java @@ -1,94 +1,94 @@ -/* - * Copyright 2023 Salesforce, Inc. All rights reserved. - * The software in this package is published under the terms of the CPAL v1.0 - * license, a copy of which has been included with this distribution in the - * LICENSE.txt file. - */ -package org.mule.extensions.jms.internal.consume; - -import static java.lang.String.format; -import static org.mule.runtime.api.util.Preconditions.checkArgument; -import static org.slf4j.LoggerFactory.getLogger; -import org.mule.extensions.jms.api.exception.JmsTimeoutException; - -import org.apache.commons.lang3.time.StopWatch; -import org.slf4j.Logger; - -import javax.jms.JMSException; -import javax.jms.Message; -import javax.jms.MessageConsumer; -import javax.jms.MessageListener; - -/** - * Wrapper implementation of a JMS {@link MessageConsumer} - * - * @since 1.0 - */ -public final class JmsMessageConsumer implements AutoCloseable { - - private static final Logger LOGGER = getLogger(JmsMessageConsumer.class); - private final MessageConsumer consumer; - - public JmsMessageConsumer(MessageConsumer consumer) { - checkArgument(consumer != null, "A non null MessageConsumer is required to use as delegate"); - this.consumer = consumer; - } - - public void listen(MessageListener listener) throws JMSException { - consumer.setMessageListener(listener); - } - - public Message consume(Long maximumWaitTime) throws JMSException, JmsTimeoutException { - - if (maximumWaitTime == -1) { - return receive(); - } - - if (maximumWaitTime == 0) { - return receiveNoWait(); - } - - return receiveWithTimeout(maximumWaitTime); - } - - @Override - public void close() throws JMSException { - if (LOGGER.isDebugEnabled()) { - LOGGER.debug("Closing consumer " + consumer); - } - consumer.close(); - } - - private Message receiveWithTimeout(Long maximumWaitTime) throws JMSException, JmsTimeoutException { - if (LOGGER.isDebugEnabled()) { - LOGGER.debug(format("Waiting for a message, timeout will be in [%s] millis", maximumWaitTime)); - } - - StopWatch timeoutValidator = new StopWatch(); - timeoutValidator.start(); - Message message = consumer.receive(maximumWaitTime); - timeoutValidator.stop(); - - if (message == null && timeoutValidator.getTime() >= maximumWaitTime) { - throw new JmsTimeoutException("Failed to retrieve a Message, operation timed out"); - } - return message; - } - - private Message receiveNoWait() throws JMSException { - if (LOGGER.isDebugEnabled()) { - LOGGER.debug("Trying to consume an immediately available message"); - } - - return consumer.receiveNoWait(); - } - - private Message receive() throws JMSException { - if (LOGGER.isDebugEnabled()) { - LOGGER.debug("No Timeout set, waiting for a message until one arrives"); - } - - return consumer.receive(); - } - -} +///* +// * Copyright 2023 Salesforce, Inc. All rights reserved. +// * The software in this package is published under the terms of the CPAL v1.0 +// * license, a copy of which has been included with this distribution in the +// * LICENSE.txt file. +// */ +//package org.mule.extensions.jms.internal.consume; +// +//import static java.lang.String.format; +//import static org.mule.runtime.api.util.Preconditions.checkArgument; +//import static org.slf4j.LoggerFactory.getLogger; +//import org.mule.extensions.jms.api.exception.JmsTimeoutException; +// +//import org.apache.commons.lang3.time.StopWatch; +//import org.slf4j.Logger; +// +//import javax.jms.JMSException; +//import javax.jms.Message; +//import javax.jms.MessageConsumer; +//import javax.jms.MessageListener; +// +///** +// * Wrapper implementation of a JMS {@link MessageConsumer} +// * +// * @since 1.0 +// */ +//public final class JmsMessageConsumer implements AutoCloseable { +// +// private static final Logger LOGGER = getLogger(JmsMessageConsumer.class); +// private final MessageConsumer consumer; +// +// public JmsMessageConsumer(MessageConsumer consumer) { +// checkArgument(consumer != null, "A non null MessageConsumer is required to use as delegate"); +// this.consumer = consumer; +// } +// +// public void listen(MessageListener listener) throws JMSException { +// consumer.setMessageListener(listener); +// } +// +// public Message consume(Long maximumWaitTime) throws JMSException, JmsTimeoutException { +// +// if (maximumWaitTime == -1) { +// return receive(); +// } +// +// if (maximumWaitTime == 0) { +// return receiveNoWait(); +// } +// +// return receiveWithTimeout(maximumWaitTime); +// } +// +// @Override +// public void close() throws JMSException { +// if (LOGGER.isDebugEnabled()) { +// LOGGER.debug("Closing consumer " + consumer); +// } +// consumer.close(); +// } +// +// private Message receiveWithTimeout(Long maximumWaitTime) throws JMSException, JmsTimeoutException { +// if (LOGGER.isDebugEnabled()) { +// LOGGER.debug(format("Waiting for a message, timeout will be in [%s] millis", maximumWaitTime)); +// } +// +// StopWatch timeoutValidator = new StopWatch(); +// timeoutValidator.start(); +// Message message = consumer.receive(maximumWaitTime); +// timeoutValidator.stop(); +// +// if (message == null && timeoutValidator.getTime() >= maximumWaitTime) { +// throw new JmsTimeoutException("Failed to retrieve a Message, operation timed out"); +// } +// return message; +// } +// +// private Message receiveNoWait() throws JMSException { +// if (LOGGER.isDebugEnabled()) { +// LOGGER.debug("Trying to consume an immediately available message"); +// } +// +// return consumer.receiveNoWait(); +// } +// +// private Message receive() throws JMSException { +// if (LOGGER.isDebugEnabled()) { +// LOGGER.debug("No Timeout set, waiting for a message until one arrives"); +// } +// +// return consumer.receive(); +// } +// +//} diff --git a/src/main/java/org/mule/extensions/jms/internal/message/JmsxPropertiesBuilder.java b/src/main/java/org/mule/extensions/jms/internal/message/JmsxPropertiesBuilder.java index 7b3648d9..fa848b46 100644 --- a/src/main/java/org/mule/extensions/jms/internal/message/JmsxPropertiesBuilder.java +++ b/src/main/java/org/mule/extensions/jms/internal/message/JmsxPropertiesBuilder.java @@ -1,26 +1,26 @@ -/* - * Copyright 2023 Salesforce, Inc. All rights reserved. - * The software in this package is published under the terms of the CPAL v1.0 - * license, a copy of which has been included with this distribution in the - * LICENSE.txt file. - */ -package org.mule.extensions.jms.internal.message; - -import org.mule.extensions.jms.api.message.JmsxProperties; - -import java.util.Map; - -import javax.jms.Message; - -/** - * Builder that provides a simple way of creating a {@link JmsxProperties} instance based on - * the predefined properties {@link JMSXDefinedPropertiesNames names}. - *

- * This is useful for converting the properties {@link Map} found in the original {@link Message} - * to their representation as {@link JmsxProperties}. - * A default value is provided for the properties that are not set. - * - * @since 1.0 - */ -public final class JmsxPropertiesBuilder extends org.mule.jms.commons.api.message.JmsxProperties { -} +///* +// * Copyright 2023 Salesforce, Inc. All rights reserved. +// * The software in this package is published under the terms of the CPAL v1.0 +// * license, a copy of which has been included with this distribution in the +// * LICENSE.txt file. +// */ +//package org.mule.extensions.jms.internal.message; +// +//import org.mule.extensions.jms.api.message.JmsxProperties; +// +//import java.util.Map; +// +//import javax.jms.Message; +// +///** +// * Builder that provides a simple way of creating a {@link JmsxProperties} instance based on +// * the predefined properties {@link JMSXDefinedPropertiesNames names}. +// *

+// * This is useful for converting the properties {@link Map} found in the original {@link Message} +// * to their representation as {@link JmsxProperties}. +// * A default value is provided for the properties that are not set. +// * +// * @since 1.0 +// */ +//public final class JmsxPropertiesBuilder extends org.mule.jms.commons.api.message.JmsxProperties { +//} diff --git a/src/test/munit/activemq-config.xml b/src/test/munit/activemq-config.xml index c9ecba09..832c2326 100644 --- a/src/test/munit/activemq-config.xml +++ b/src/test/munit/activemq-config.xml @@ -12,6 +12,11 @@ + + + + + @@ -29,4 +34,30 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/munit/error/listener-error.xml b/src/test/munit/error/listener-error.xml new file mode 100644 index 00000000..3d10b651 --- /dev/null +++ b/src/test/munit/error/listener-error.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/munit/listener/listener-internal-rollback.xml b/src/test/munit/listener/listener-internal-rollback.xml index bfe8462d..19628f97 100644 --- a/src/test/munit/listener/listener-internal-rollback.xml +++ b/src/test/munit/listener/listener-internal-rollback.xml @@ -46,6 +46,9 @@ http://www.mulesoft.org/schema/mule/munit http://www.mulesoft.org/schema/mule/mu + + + diff --git a/src/test/munit/provider/trusted-packages-test-case.xml b/src/test/munit/provider/trusted-packages-test-case.xml new file mode 100644 index 00000000..47b3ca9d --- /dev/null +++ b/src/test/munit/provider/trusted-packages-test-case.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + diff --git a/src/test/munit/publishConsume/correlation-id-pattern.xml b/src/test/munit/publishConsume/correlation-id-pattern.xml index b821a6a7..2fb3fd40 100644 --- a/src/test/munit/publishConsume/correlation-id-pattern.xml +++ b/src/test/munit/publishConsume/correlation-id-pattern.xml @@ -23,7 +23,19 @@ - + + + + + + + + + + + + + diff --git a/src/test/resources/log4j2-test.xml b/src/test/resources/log4j2-test.xml index 55f53eae..4e0216e7 100644 --- a/src/test/resources/log4j2-test.xml +++ b/src/test/resources/log4j2-test.xml @@ -23,11 +23,13 @@ + + - +