<groupId>org.openecomp.sdc.sdc-distribution-client</groupId>
<artifactId>sdc-main-distribution-client</artifactId>
- <version>1.1.31-SNAPSHOT</version>
+ <version>1.1.32-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<parent>
<groupId>org.openecomp.sdc.sdc-distribution-client</groupId>
<artifactId>sdc-main-distribution-client</artifactId>
- <version>1.1.31-SNAPSHOT</version>
+ <version>1.1.32-SNAPSHOT</version>
</parent>
<artifactId>sdc-distribution-ci</artifactId>
return false;
}
+ @Override
+ public Boolean isUseHttpsWithDmaap() {
+ return true;
+ }
+
}
<parent>
<groupId>org.openecomp.sdc.sdc-distribution-client</groupId>
<artifactId>sdc-main-distribution-client</artifactId>
- <version>1.1.31-SNAPSHOT</version>
+ <version>1.1.32-SNAPSHOT</version>
</parent>
<artifactId>sdc-distribution-client</artifactId>
* @return
*/
boolean isFilterInEmptyResources();
+
+ /**
+ * By default, Distribution Client will use HTTPS (TLS 1.2) when connecting to DMAAP.
+ * This param can be null, then default (HTTPS) behavior will be applied.
+ * If set to false, distribution client will use HTTP when connecting to DMAAP.
+ * @return
+ */
+ Boolean isUseHttpsWithDmaap();
}
private String keyStorePassword;
private boolean activateServerTLSAuth;
private boolean filterInEmptyResources;
+ private Boolean useHttpsWithDmaap;
public Configuration(IConfiguration other) {
this.asdcAddress = other.getAsdcAddress();
this.keyStorePassword = other.getKeyStorePassword();
this.activateServerTLSAuth = other.activateServerTLSAuth();
this.filterInEmptyResources = other.isFilterInEmptyResources();
+ this.useHttpsWithDmaap = other.isUseHttpsWithDmaap();
}
@Override
this.keyStorePassword = keyStorePassword;
}
- @Override
- public String toString() {
- return "Configuration [asdcAddress=" + asdcAddress + ", user=" + user
- + ", password=" + password + ", pollingInterval="
- + pollingInterval + ", pollingTimeout=" + pollingTimeout
- + ", relevantArtifactTypes=" + relevantArtifactTypes
- + ", consumerGroup=" + consumerGroup + ", environmentName="
- + environmentName + ", comsumerID=" + comsumerID + "]";
- }
-
-
+
public void setactivateServerTLSAuth(boolean activateServerTLSAuth) {
this.activateServerTLSAuth = activateServerTLSAuth;
}
return this.filterInEmptyResources;
}
+ @Override
+ public Boolean isUseHttpsWithDmaap() {
+ return this.useHttpsWithDmaap;
+ }
+
+ public void setUseHttpsWithDmaap(boolean useHttpsWithDmaap){
+ this.useHttpsWithDmaap = useHttpsWithDmaap;
+ }
+
+ @Override
+ public String toString() {
+ return "Configuration [asdcAddress=" + asdcAddress + ", user=" + user + ", password=" + password
+ + ", pollingInterval=" + pollingInterval + ", pollingTimeout=" + pollingTimeout
+ + ", relevantArtifactTypes=" + relevantArtifactTypes + ", consumerGroup=" + consumerGroup
+ + ", environmentName=" + environmentName + ", comsumerID=" + comsumerID + ", keyStorePath="
+ + keyStorePath + ", keyStorePassword=" + keyStorePassword + ", activateServerTLSAuth="
+ + activateServerTLSAuth + ", filterInEmptyResources=" + filterInEmptyResources + ", useHttpsWithDmaap="
+ + useHttpsWithDmaap + "]";
+ }
}
import com.att.nsa.apiClient.http.HttpException;
import com.att.nsa.cambria.client.CambriaBatchingPublisher;
import com.att.nsa.cambria.client.CambriaClient.CambriaApiException;
-import com.att.nsa.cambria.client.CambriaClientBuilders.PublisherBuilder;
+import com.att.nsa.cambria.client.CambriaClientBuilders.AbstractAuthenticatedManagerBuilder;
import com.att.nsa.cambria.client.CambriaClientBuilders.ConsumerBuilder;
import com.att.nsa.cambria.client.CambriaClientBuilders.IdentityManagerBuilder;
+import com.att.nsa.cambria.client.CambriaClientBuilders.PublisherBuilder;
import com.att.nsa.cambria.client.CambriaConsumer;
import com.att.nsa.cambria.client.CambriaIdentityManager;
import com.att.nsa.cambria.client.CambriaPublisher.message;
}
if (errorWrapper.isEmpty()) {
try {
- cambriaConsumer = new ConsumerBuilder().authenticatedBy(credential.getApiKey(), credential.getApiSecret()).knownAs(configuration.getConsumerGroup(), configuration.getConsumerID()).onTopic(notificationTopic).usingHttps().usingHosts(brokerServers)
+ cambriaConsumer = new ConsumerBuilder().authenticatedBy(credential.getApiKey(), credential.getApiSecret()).knownAs(configuration.getConsumerGroup(), configuration.getConsumerID()).onTopic(notificationTopic).usingHttps(configuration.isUseHttpsWithDmaap()).usingHosts(brokerServers)
.withSocketTimeout(configuration.getPollingTimeout() * 1000).build();
} catch (MalformedURLException | GeneralSecurityException e) {
handleCambriaInitFailure(errorWrapper, e);
private Either<CambriaBatchingPublisher, IDistributionClientResult> getCambriaPublisher() {
CambriaBatchingPublisher cambriaPublisher = null;
try {
- cambriaPublisher = new PublisherBuilder().onTopic(statusTopic).usingHttps().usingHosts(brokerServers).build();
+ cambriaPublisher = new PublisherBuilder().onTopic(statusTopic).usingHttps(configuration.isUseHttpsWithDmaap()).usingHosts(brokerServers).build();
cambriaPublisher.setApiCredentials(credential.getApiKey(), credential.getApiSecret());
} catch (MalformedURLException | GeneralSecurityException e) {
Wrapper<IDistributionClientResult> errorWrapper = new Wrapper<>();
if (conf.getConsumerGroup() == null) {
generateConsumerGroup();
}
+
+ //Default use HTTPS with DMAAP
+ if (conf.isUseHttpsWithDmaap() == null){
+ configuration.setUseHttpsWithDmaap(true);
+ }
}
if (result != DistributionActionResultEnum.SUCCESS) {
private synchronized void initCambriaClient(Wrapper<IDistributionClientResult> errorWrapper) {
if (cambriaIdentityManager == null) {
try {
- cambriaIdentityManager = new IdentityManagerBuilder().usingHttps().usingHosts(brokerServers).build();
+ AbstractAuthenticatedManagerBuilder<CambriaIdentityManager> managerBuilder = new IdentityManagerBuilder().usingHosts(brokerServers);
+ if (configuration.isUseHttpsWithDmaap()){
+ managerBuilder = managerBuilder.usingHttps();
+ }
+ cambriaIdentityManager = managerBuilder.build();
} catch (MalformedURLException | GeneralSecurityException e) {
handleCambriaInitFailure(errorWrapper, e);
}
private String keyStorePassword;
private boolean activateServerTLSAuth;
private boolean isFilterInEmptyResources;
+ private boolean useHttpsWithDmaap;
public TestConfiguration(IConfiguration other) {
this.asdcAddress = other.getAsdcAddress();
public void setFilterInEmptyResources(boolean isFilterInEmptyResources) {
this.isFilterInEmptyResources = isFilterInEmptyResources;
}
+
+ @Override
+ public Boolean isUseHttpsWithDmaap() {
+ return this.useHttpsWithDmaap;
+ }
}