diff options
Diffstat (limited to 'datafile-app-server/src/main/java/org/onap/dcaegen2/collectors/datafile/configuration/ConsumerConfiguration.java')
-rw-r--r-- | datafile-app-server/src/main/java/org/onap/dcaegen2/collectors/datafile/configuration/ConsumerConfiguration.java | 133 |
1 files changed, 38 insertions, 95 deletions
diff --git a/datafile-app-server/src/main/java/org/onap/dcaegen2/collectors/datafile/configuration/ConsumerConfiguration.java b/datafile-app-server/src/main/java/org/onap/dcaegen2/collectors/datafile/configuration/ConsumerConfiguration.java index 4db7963d..89fcf1c2 100644 --- a/datafile-app-server/src/main/java/org/onap/dcaegen2/collectors/datafile/configuration/ConsumerConfiguration.java +++ b/datafile-app-server/src/main/java/org/onap/dcaegen2/collectors/datafile/configuration/ConsumerConfiguration.java @@ -1,113 +1,56 @@ /*- - * ============LICENSE_START====================================================================== - * Copyright (C) 2018,2019 Nordix Foundation. All rights reserved. - * =============================================================================================== - * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except - * in compliance with the License. You may obtain a copy of the License at + * ============LICENSE_START======================================================= + * Copyright (C) 2020 NOKIA Intellectual Property. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * - * Unless required by applicable law or agreed to in writing, software distributed under the License - * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing permissions and limitations under - * the License. - * ============LICENSE_END======================================================================== + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= */ package org.onap.dcaegen2.collectors.datafile.configuration; -import java.net.MalformedURLException; -import java.net.URL; +import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.api.MessageRouterSubscriber; +import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.model.MessageRouterSubscribeRequest; +import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.model.config.MessageRouterSubscriberConfig; -import org.immutables.gson.Gson; -import org.immutables.value.Value; -import org.onap.dcaegen2.collectors.datafile.exceptions.DatafileTaskException; -import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.DmaapConsumerConfiguration; -import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.config.ImmutableDmaapConsumerConfiguration; +public class ConsumerConfiguration { -@Value.Immutable -@Value.Style(redactedMask = "####") -@Gson.TypeAdapters -public abstract class ConsumerConfiguration { - @Value.Redacted - public abstract String topicUrl(); + private final MessageRouterSubscriberConfig messageRouterSubscriberConfig; + private final MessageRouterSubscriber messageRouterSubscriber; + private final MessageRouterSubscribeRequest messageRouterSubscribeRequest; - public abstract String trustStorePath(); - - public abstract String trustStorePasswordPath(); - - public abstract String keyStorePath(); - - public abstract String keyStorePasswordPath(); - - public abstract Boolean enableDmaapCertAuth(); - - /** - * Gets the configuration in the SDK version. - * - * @return a <code>DmaapConsumerConfiguration</code> representing the configuration. - * - * @throws DatafileTaskException if something is wrong with the topic URL. - */ - public DmaapConsumerConfiguration toDmaap() throws DatafileTaskException { - try { - URL url = new URL(topicUrl()); - String passwd = ""; - String userName = ""; - if (url.getUserInfo() != null) { - String[] userInfo = url.getUserInfo().split(":"); - userName = userInfo[0]; - passwd = userInfo[1]; - } - String urlPath = url.getPath(); - DmaapConsumerUrlPath path = parseDmaapUrlPath(urlPath); - - return new ImmutableDmaapConsumerConfiguration.Builder() // - .endpointUrl(topicUrl()) // - .dmaapContentType("application/json") // - .dmaapPortNumber(url.getPort()) // - .dmaapHostName(url.getHost()) // - .dmaapTopicName(path.dmaapTopicName) // - .dmaapProtocol(url.getProtocol()) // - .dmaapUserName(userName) // - .dmaapUserPassword(passwd) // - .trustStorePath(this.trustStorePath()) // - .trustStorePasswordPath(this.trustStorePasswordPath()) // - .keyStorePath(this.keyStorePath()) // - .keyStorePasswordPath(this.keyStorePasswordPath()) // - .enableDmaapCertAuth(this.enableDmaapCertAuth()) // - .consumerId(path.consumerId) // - .consumerGroup(path.consumerGroup) // - .timeoutMs(-1) // - .messageLimit(-1) // - .build(); - } catch (MalformedURLException e) { - throw new DatafileTaskException("Could not parse the URL", e); - } + public ConsumerConfiguration(MessageRouterSubscriberConfig messageRouterSubscriberConfig, + MessageRouterSubscriber messageRouterSubscriber, MessageRouterSubscribeRequest messageRouterSubscribeRequest) { + this.messageRouterSubscriberConfig = messageRouterSubscriberConfig; + this.messageRouterSubscriber = messageRouterSubscriber; + this.messageRouterSubscribeRequest = messageRouterSubscribeRequest; } - private class DmaapConsumerUrlPath { - final String dmaapTopicName; - final String consumerGroup; - final String consumerId; - - DmaapConsumerUrlPath(String dmaapTopicName, String consumerGroup, String consumerId) { - this.dmaapTopicName = dmaapTopicName; - this.consumerGroup = consumerGroup; - this.consumerId = consumerId; - } + public MessageRouterSubscriber getMessageRouterSubscriber() { + return messageRouterSubscriber; } - private DmaapConsumerUrlPath parseDmaapUrlPath(String urlPath) throws DatafileTaskException { - String[] tokens = urlPath.split("/"); // /events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12 - if (tokens.length != 5) { - throw new DatafileTaskException("The path has incorrect syntax: " + urlPath); - } + public MessageRouterSubscribeRequest getMessageRouterSubscribeRequest() { + return messageRouterSubscribeRequest; + } - final String dmaapTopicName = tokens[1] + "/" + tokens[2]; // /events/unauthenticated.VES_NOTIFICATION_OUTPUT - final String consumerGroup = tokens[3]; // OpenDcae-c12 - final String consumerId = tokens[4]; // C12 - return new DmaapConsumerUrlPath(dmaapTopicName, consumerGroup, consumerId); + public MessageRouterSubscriberConfig getMessageRouterSubscriberConfig() { + return messageRouterSubscriberConfig; } + @Override + public String toString() { + return "ConsumerConfiguration{" + "securityKeys=" + messageRouterSubscriberConfig.securityKeys() + + ", consumerGroup=" + messageRouterSubscribeRequest.consumerGroup() + ", consumerID=" + + messageRouterSubscribeRequest.consumerId() + '}'; + } } |