/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019-2020 Nordix Foundation.
+ * Modifications Copyright (C) 2019-2021 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
try (final Session jmsSession = connection.createSession(false, Session.AUTO_ACKNOWLEDGE)) {
// Create a message consumer for reception of messages and set this class as a message listener
createMessageConsumer(jmsSession);
- } catch (final Exception e) {
+ } catch (final Exception exc) {
final String errorMessage = "failed to create a JMS session towards the JMS server for receiving messages";
- LOGGER.warn(errorMessage, e);
- throw new ApexEventRuntimeException(errorMessage, e);
+ throw new ApexEventRuntimeException(errorMessage, exc);
}
// Everything is now set up
if (LOGGER.isDebugEnabled()) {
while (consumerThread.isAlive() && !stopOrderedFlag) {
ThreadUtilities.sleep(jmsConsumerProperties.getConsumerWaitTime());
}
- } catch (final Exception e) {
+ } catch (final Exception exc) {
final String errorMessage = "failed to create a JMS message consumer for receiving messages";
- LOGGER.warn(errorMessage, e);
- throw new ApexEventRuntimeException(errorMessage, e);
+ throw new ApexEventRuntimeException(errorMessage, exc);
}
}
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2016-2018 Ericsson. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019,2021 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
package org.onap.policy.apex.plugins.event.carrier.jms;
-import java.util.Base64;
import java.util.Properties;
import javax.naming.Context;
import org.apache.commons.lang3.StringUtils;
private static final String DEFAULT_INITIAL_CTXT_FACTORY = "org.jboss.naming.remote.client.InitialContextFactory";
private static final String DEFAULT_PROVIDER_URL = "remote://localhost:4447";
private static final String DEFAULT_SECURITY_PRINCIPAL = "userid";
- private static final String DEFAULT_SECURITY_CREDENTIALS = "cGFzc3dvcmQ=";
+ private static final String DEFAULT_SECURITY_CREDENTIALS = null;
private static final String DEFAULT_CONSUMER_TOPIC = "apex-in";
private static final String DEFAULT_PRODUCER_TOPIC = "apex-out";
private static final int DEFAULT_CONSUMER_WAIT_TIME = 100;
private String initialContextFactory = DEFAULT_INITIAL_CTXT_FACTORY;
private String providerUrl = DEFAULT_PROVIDER_URL;
private String securityPrincipal = DEFAULT_SECURITY_PRINCIPAL;
- private String securityCredentials = getDefaultCredential();
+ private String securityCredentials = DEFAULT_SECURITY_CREDENTIALS;
private String producerTopic = DEFAULT_PRODUCER_TOPIC;
private String consumerTopic = DEFAULT_CONSUMER_TOPIC;
private int consumerWaitTime = DEFAULT_CONSUMER_WAIT_TIME;
jmsProperties.put(PROPERTY_INITIAL_CONTEXT_FACTORY, initialContextFactory);
jmsProperties.put(PROPERTY_PROVIDER_URL, providerUrl);
jmsProperties.put(PROPERTY_SECURITY_PRINCIPAL, securityPrincipal);
- jmsProperties.put(PROPERTY_SECURITY_CREDENTIALS, securityCredentials);
+
+ if (securityCredentials != null) {
+ jmsProperties.put(PROPERTY_SECURITY_CREDENTIALS, securityCredentials);
+ }
return jmsProperties;
}
return result;
}
-
- private String getDefaultCredential() {
- return new String(Base64.getDecoder().decode(DEFAULT_SECURITY_CREDENTIALS.getBytes()));
- }
}
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Samsung. All rights reserved.
- * Modifications Copyright (C) 2019-2020 Nordix Foundation.
+ * Modifications Copyright (C) 2019-2021 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
apexJmsConsumer, apexJmsProducer, DEFAULT_SYNCHRONOUS_EVENT_TIMEOUT);
apexJmsProducer.setPeeredReference(EventHandlerPeeredMode.SYNCHRONOUS,
synchronousEventCache);
- assertThatThrownBy(() -> apexJmsProducer.sendEvent(-1L, null, "TestApexJmsProducer", new ApexJmsProducerTest()))
+
+ ApexJmsProducerTest producerTest = new ApexJmsProducerTest();
+
+ assertThatThrownBy(() -> apexJmsProducer.sendEvent(-1L, null, "TestApexJmsProducer", producerTest))
.isInstanceOf(ApexEventRuntimeException.class);
}
/*-
* ============LICENSE_START=======================================================
* Copyright (C) 2019 Samsung. All rights reserved.
- * Modifications Copyright (C) 2019 Nordix Foundation.
+ * Modifications Copyright (C) 2019,2021 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import java.util.Base64;
import java.util.Properties;
+import javax.naming.Context;
import org.junit.Before;
import org.junit.Test;
import org.onap.policy.common.parameters.GroupValidationResult;
"org.jboss.naming.remote.client.InitialContextFactory";
private static final String DEFAULT_PROVIDER_URL = "remote://localhost:4447";
private static final String DEFAULT_SECURITY_PRINCIPAL = "userid";
- private static final String DEFAULT_SECURITY_CREDENTIALS = "cGFzc3dvcmQ=";
private static final String DEFAULT_CONSUMER_TOPIC = "apex-in";
private static final String DEFAULT_PRODUCER_TOPIC = "apex-out";
private static final int DEFAULT_CONSUMER_WAIT_TIME = 100;
@Test
public void testValidate() {
+ result = jmsCarrierTechnologyParameters.validate();
+ assertNotNull(result);
+ assertFalse(result.getStatus().isValid());
+
+ jmsCarrierTechnologyParameters.setSecurityCredentials("DUMMY");
result = jmsCarrierTechnologyParameters.validate();
assertNotNull(result);
assertTrue(result.getStatus().isValid());
@Test
public void testGetJmsProducerProperties() {
- assertNotNull(jmsCarrierTechnologyParameters.getJmsConsumerProperties());
+ Properties producerProperties = jmsCarrierTechnologyParameters.getJmsProducerProperties();
+ assertNotNull(producerProperties);
+ assertNull(producerProperties.get(Context.SECURITY_CREDENTIALS));
+
+ jmsCarrierTechnologyParameters.setSecurityCredentials("DUMMY");
+ producerProperties = jmsCarrierTechnologyParameters.getJmsProducerProperties();
+ assertEquals("DUMMY", producerProperties.get(Context.SECURITY_CREDENTIALS));
}
@Test
public void testGetJmsConsumerProperties() {
- assertNotNull(jmsCarrierTechnologyParameters.getJmsProducerProperties());
+ Properties consumerProperties = jmsCarrierTechnologyParameters.getJmsConsumerProperties();
+ assertNotNull(consumerProperties);
+ assertNull(consumerProperties.get(Context.SECURITY_CREDENTIALS));
+
+ jmsCarrierTechnologyParameters.setSecurityCredentials("DUMMY");
+ consumerProperties = jmsCarrierTechnologyParameters.getJmsProducerProperties();
+ assertEquals("DUMMY", consumerProperties.get(Context.SECURITY_CREDENTIALS));
}
@Test
@Test
public void testSetSecurityCredentials() {
- assertEquals(
- new String(Base64.getDecoder().decode(DEFAULT_SECURITY_CREDENTIALS.getBytes())),
- jmsCarrierTechnologyParameters.getSecurityCredentials());
+ assertNull(jmsCarrierTechnologyParameters.getSecurityCredentials());
jmsCarrierTechnologyParameters.setSecurityCredentials("");
result = jmsCarrierTechnologyParameters.validate();
assertFalse(result.getStatus().isValid());