aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/dcae/commonFunction/event/publishing/DMaaPConfigurationParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/dcae/commonFunction/event/publishing/DMaaPConfigurationParser.java')
-rw-r--r--src/main/java/org/onap/dcae/commonFunction/event/publishing/DMaaPConfigurationParser.java76
1 files changed, 37 insertions, 39 deletions
diff --git a/src/main/java/org/onap/dcae/commonFunction/event/publishing/DMaaPConfigurationParser.java b/src/main/java/org/onap/dcae/commonFunction/event/publishing/DMaaPConfigurationParser.java
index 5865b12c..179e8826 100644
--- a/src/main/java/org/onap/dcae/commonFunction/event/publishing/DMaaPConfigurationParser.java
+++ b/src/main/java/org/onap/dcae/commonFunction/event/publishing/DMaaPConfigurationParser.java
@@ -19,21 +19,19 @@
*/
package org.onap.dcae.commonFunction.event.publishing;
-import static io.vavr.API.List;
-import static io.vavr.API.Try;
-import static io.vavr.API.Tuple;
-import static io.vavr.API.unchecked;
-import static org.onap.dcae.commonFunction.event.publishing.VavrUtils.enhanceError;
-import static org.onap.dcae.commonFunction.event.publishing.VavrUtils.f;
-
import io.vavr.collection.List;
import io.vavr.collection.Map;
import io.vavr.control.Option;
import io.vavr.control.Try;
+import org.onap.dcae.commonFunction.AnyNode;
+
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Path;
-import org.onap.dcae.commonFunction.AnyNode;
+
+import static io.vavr.API.*;
+import static org.onap.dcae.commonFunction.event.publishing.VavrUtils.enhanceError;
+import static org.onap.dcae.commonFunction.event.publishing.VavrUtils.f;
/**
* @author Pawel Szalapski (pawel.szalapski@nokia.com)
@@ -43,23 +41,23 @@ public final class DMaaPConfigurationParser {
public static Try<Map<String, PublisherConfig>> parseToDomainMapping(Path configLocation) {
return readFromFile(configLocation)
- .flatMap(DMaaPConfigurationParser::toJSON)
- .flatMap(DMaaPConfigurationParser::toConfigMap);
+ .flatMap(DMaaPConfigurationParser::toJSON)
+ .flatMap(DMaaPConfigurationParser::toConfigMap);
}
private static Try<String> readFromFile(Path configLocation) {
return Try(() -> new String(Files.readAllBytes(configLocation)))
- .mapFailure(enhanceError(f("Could not read DMaaP configuration from location: '%s'", configLocation)));
+ .mapFailure(enhanceError(f("Could not read DMaaP configuration from location: '%s'", configLocation)));
}
private static Try<AnyNode> toJSON(String config) {
return Try(() -> AnyNode.fromString(config))
- .mapFailure(enhanceError(f("DMaaP configuration '%s' is not a valid JSON document", config)));
+ .mapFailure(enhanceError(f("DMaaP configuration '%s' is not a valid JSON document", config)));
}
private static Try<Map<String, PublisherConfig>> toConfigMap(AnyNode config) {
return Try(() -> usesLegacyFormat(config) ? parseLegacyFormat(config) : parseNewFormat(config))
- .mapFailure(enhanceError(f("Parsing DMaaP configuration: '%s' failed, probably it is in unexpected format", config)));
+ .mapFailure(enhanceError(f("Parsing DMaaP configuration: '%s' failed, probably it is in unexpected format", config)));
}
private static boolean usesLegacyFormat(AnyNode dMaaPConfig) {
@@ -68,40 +66,40 @@ public final class DMaaPConfigurationParser {
private static Map<String, PublisherConfig> parseLegacyFormat(AnyNode root) {
return root.get("channels").toList().toMap(
- channel -> channel.get("name").toString(),
- channel -> {
- String destinationsStr = channel.getAsOption("cambria.url")
- .getOrElse(channel.getAsOption("cambria.hosts").get())
- .toString();
- String topic = channel.get("cambria.topic").toString();
- Option<String> maybeUser = channel.getAsOption("basicAuthUsername").map(AnyNode::toString);
- Option<String> maybePassword = channel.getAsOption("basicAuthPassword").map(AnyNode::toString);
- List<String> destinations = List(destinationsStr.split(","));
- return buildBasedOnAuth(maybeUser, maybePassword, topic, destinations);
- });
+ channel -> channel.get("name").toString(),
+ channel -> {
+ String destinationsStr = channel.getAsOption("cambria.url")
+ .getOrElse(channel.getAsOption("cambria.hosts").get())
+ .toString();
+ String topic = channel.get("cambria.topic").toString();
+ Option<String> maybeUser = channel.getAsOption("basicAuthUsername").map(AnyNode::toString);
+ Option<String> maybePassword = channel.getAsOption("basicAuthPassword").map(AnyNode::toString);
+ List<String> destinations = List(destinationsStr.split(","));
+ return buildBasedOnAuth(maybeUser, maybePassword, topic, destinations);
+ });
}
private static Map<String, PublisherConfig> parseNewFormat(AnyNode root) {
return root.keys().toMap(
- channelName -> channelName,
- channelName -> {
- AnyNode channelConfig = root.get(channelName);
- Option<String> maybeUser = channelConfig.getAsOption("aaf_username").map(AnyNode::toString);
- Option<String> maybePassword = channelConfig.getAsOption("aaf_password").map(AnyNode::toString);
- URL topicURL = unchecked(
- () -> new URL(channelConfig.get("dmaap_info").get("topic_url").toString())).apply();
- String[] pathSegments = topicURL.getPath().substring(1).split("/");
- String topic = pathSegments[1];
- String destination = "events".equals(pathSegments[0]) ? topicURL.getAuthority() : topicURL.getHost();
- List<String> destinations = List(destination);
- return buildBasedOnAuth(maybeUser, maybePassword, topic, destinations);
- });
+ channelName -> channelName,
+ channelName -> {
+ AnyNode channelConfig = root.get(channelName);
+ Option<String> maybeUser = channelConfig.getAsOption("aaf_username").map(AnyNode::toString);
+ Option<String> maybePassword = channelConfig.getAsOption("aaf_password").map(AnyNode::toString);
+ URL topicURL = unchecked(
+ () -> new URL(channelConfig.get("dmaap_info").get("topic_url").toString())).apply();
+ String[] pathSegments = topicURL.getPath().substring(1).split("/");
+ String topic = pathSegments[1];
+ String destination = "events".equals(pathSegments[0]) ? topicURL.getAuthority() : topicURL.getHost();
+ List<String> destinations = List(destination);
+ return buildBasedOnAuth(maybeUser, maybePassword, topic, destinations);
+ });
}
private static PublisherConfig buildBasedOnAuth(Option<String> maybeUser, Option<String> maybePassword,
String topic, List<String> destinations) {
return maybeUser.flatMap(user -> maybePassword.map(password -> Tuple(user, password)))
- .map(credentials -> new PublisherConfig(destinations, topic, credentials._1, credentials._2))
- .getOrElse(new PublisherConfig(destinations, topic));
+ .map(credentials -> new PublisherConfig(destinations, topic, credentials._1, credentials._2))
+ .getOrElse(new PublisherConfig(destinations, topic));
}
}