Skip to content

Commit b53fa41

Browse files
A S Adil MohammadJoel-hanson
authored andcommitted
fix: incorrect datatype in config (#74)
- Fixes the issue of exception when setting mq.ssl.use.ibm.cipher.mappings. - In source code, the configuration CONFIG_NAME_MQ_SSL_USE_IBM_CIPHER_MAPPINGS is defined as Type.BOOLEAN but it was being used as: config.getString(MQSinkConfig.CONFIG_NAME_MQ_SSL_USE_IBM_CIPHER_MAPPINGS) Signed-off-by: A S Adil Mohammad <asadilmohammad2020@gmail.com> Signed-off-by: Joel Hanson <joelhanson025@gmail.com>
1 parent b45aea0 commit b53fa41

File tree

3 files changed

+24
-3
lines changed

3 files changed

+24
-3
lines changed

src/integration/java/com/ibm/eventstreams/connect/mqsink/MQSinkTaskIT.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,27 @@ public void verifyStringMessages() throws JMSException {
127127
assertEquals("world", messagesInMQ.get(1).getBody(String.class));
128128
}
129129

130+
@Test
131+
public void verifyMQSslUseIbmCipherMappings() {
132+
final Map<String, String> connectorConfigProps = createDefaultConnectorProperties();
133+
connectorConfigProps.put("mq.message.builder",
134+
DEFAULT_MESSAGE_BUILDER);
135+
connectorConfigProps.put("mq.ssl.use.ibm.cipher.mappings", "true");
136+
137+
final MQSinkTask newConnectTask = new MQSinkTask();
138+
newConnectTask.start(connectorConfigProps);
139+
140+
// Check if the config reflects the change
141+
assertEquals(System.getProperty("com.ibm.mq.cfg.useIBMCipherMappings"), "true");
142+
143+
// Verify the exception messages
144+
connectorConfigProps.put("mq.ssl.use.ibm.cipher.mappings", "Not a boolean");
145+
final ConfigException exc = assertThrows(ConfigException.class, () -> {
146+
newConnectTask.start(connectorConfigProps);
147+
});
148+
assertEquals("Invalid value Not a boolean for configuration mq.ssl.use.ibm.cipher.mappings: Expected value to be either true or false", exc.getMessage());
149+
}
150+
130151
@Test
131152
public void verifyStringJmsMessages() throws JMSException {
132153
final MQSinkTask newConnectTask = new MQSinkTask();

src/main/java/com/ibm/eventstreams/connect/mqsink/JMSWorker.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public void configure(final AbstractConfig config) throws ConnectException {
102102
mqConnectionHelper = new MQConnectionHelper(config);
103103

104104
if (mqConnectionHelper.getUseIBMCipherMappings() != null) {
105-
System.setProperty("com.ibm.mq.cfg.useIBMCipherMappings", mqConnectionHelper.getUseIBMCipherMappings());
105+
System.setProperty("com.ibm.mq.cfg.useIBMCipherMappings", Boolean.toString(mqConnectionHelper.getUseIBMCipherMappings()));
106106
}
107107

108108
try {

src/main/java/com/ibm/eventstreams/connect/mqsink/MQConnectionHelper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ public Boolean isPersistent() {
6363
return config.getBoolean(MQSinkConfig.CONFIG_NAME_MQ_PERSISTENT);
6464
}
6565

66-
public String getUseIBMCipherMappings() {
67-
return config.getString(MQSinkConfig.CONFIG_NAME_MQ_SSL_USE_IBM_CIPHER_MAPPINGS);
66+
public Boolean getUseIBMCipherMappings() {
67+
return config.getBoolean(MQSinkConfig.CONFIG_NAME_MQ_SSL_USE_IBM_CIPHER_MAPPINGS);
6868
}
6969

7070
public int getTransportType() {

0 commit comments

Comments
 (0)