From 6558bd6870e650dbd6232ab129dc82aebe5f8fba Mon Sep 17 00:00:00 2001 From: Joanna Jeremicz Date: Fri, 15 Jan 2021 09:56:54 +0100 Subject: Refactor AppConfigService with tests - Refactor AppConfigService - Bump bpgenerator version to 1.7.2 Issue-ID: DCAEGEN2-1179 Signed-off-by: Joanna Jeremicz Change-Id: Iae52bda14f928db102d4c3466ba97f948ca98727 --- .../service/common/StreamService.java | 149 +++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/StreamService.java (limited to 'mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/StreamService.java') diff --git a/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/StreamService.java b/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/StreamService.java new file mode 100644 index 0000000..bd4cf87 --- /dev/null +++ b/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/StreamService.java @@ -0,0 +1,149 @@ +/* + * + * * ============LICENSE_START======================================================= + * * org.onap.dcae + * * ================================================================================ + * * Copyright (c) 2020 AT&T Intellectual Property. All rights reserved. + * * ================================================================================ + * * Modifications Copyright (c) 2021 Nokia + * * ================================================================================ + * * 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 + * * + * * 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.blueprintgenerator.service.common; + +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.TreeMap; +import org.onap.blueprintgenerator.constants.Constants; +import org.onap.blueprintgenerator.model.common.Dmaap; +import org.onap.blueprintgenerator.model.componentspec.OnapComponentSpec; +import org.onap.blueprintgenerator.model.componentspec.common.Publishes; +import org.onap.blueprintgenerator.model.componentspec.common.Subscribes; +import org.onap.blueprintgenerator.service.base.BlueprintHelperService; +import org.springframework.stereotype.Service; + +/** + * @author : Joanna Jeremicz + * @date 01/15/2021 Application: ONAP - Blueprint Generator Common ONAP Service + * to create publishes and subscribes streams + */ +@Service("streamService") +public class StreamService { + + /** + * Creates publishes stream for given Inputs and ComponentSpec + * + * @param onapComponentSpec Onap Component Specification + * @param blueprintHelperService Blueprint Helper Service + * @param dmaapService Dmaap Service + * @param inputs Inputs + * @param isDmaap Dmaap Argument + * @return + */ + public Map createStreamPublishes( + OnapComponentSpec onapComponentSpec, + BlueprintHelperService blueprintHelperService, + DmaapService dmaapService, + Map> inputs, + boolean isDmaap) { + + Map streamPublishes = new TreeMap<>(); + if (onapComponentSpec.getStreams() == null || onapComponentSpec.getStreams().getPublishes() == null) { + return streamPublishes; + } + + for (Publishes publishes : onapComponentSpec.getStreams().getPublishes()) { + if (blueprintHelperService.isDataRouterType(publishes.getType())) { + String config = publishes.getConfig_key(); + String name = config + Constants._FEED; + Map dmaapDataRouterResponse = + dmaapService.createDmaapDataRouter(inputs, config, name, isDmaap); + inputs = + (Map>) dmaapDataRouterResponse + .get("inputs"); + Dmaap dmaap = (Dmaap) dmaapDataRouterResponse.get("dmaap"); + dmaap.setType(publishes.getType()); + streamPublishes.put(config, dmaap); + } else if (blueprintHelperService.isMessageRouterType(publishes.getType())) { + String config = publishes.getConfig_key(); + String name = config + Constants._TOPIC; + Map dmaapDataRouterResponse = + dmaapService + .createDmaapMessageRouter(inputs, config, 'p', name, name, isDmaap); + inputs = + (Map>) dmaapDataRouterResponse + .get("inputs"); + Dmaap dmaap = (Dmaap) dmaapDataRouterResponse.get("dmaap"); + dmaap.setType(publishes.getType()); + streamPublishes.put(config, dmaap); + } + } + return streamPublishes; + } + + /** + * Creates subscribes stream for given Inputs and ComponentSpec + * + * @param onapComponentSpec Onap Component Specification + * @param blueprintHelperService Blueprint Helper Service + * @param dmaapService Dmaap Service + * @param inputs Inputs + * @param isDmaap Dmaap Argument + * @return + */ + public Map createStreamSubscribes( + OnapComponentSpec onapComponentSpec, + BlueprintHelperService blueprintHelperService, + DmaapService dmaapService, + Map> inputs, + boolean isDmaap) { + + Map streamSubscribes = new TreeMap<>(); + if (onapComponentSpec.getStreams() == null || onapComponentSpec.getStreams().getSubscribes() == null) { + return streamSubscribes; + } + + for (Subscribes subscribes : onapComponentSpec.getStreams().getSubscribes()) { + if (blueprintHelperService.isDataRouterType(subscribes.getType())) { + String config = subscribes.getConfig_key(); + String name = config + Constants._FEED; + Map dmaapDataRouterResponse = + dmaapService.createDmaapDataRouter(inputs, config, name, isDmaap); + inputs = + (Map>) dmaapDataRouterResponse + .get("inputs"); + Dmaap dmaap = (Dmaap) dmaapDataRouterResponse.get("dmaap"); + dmaap.setType(subscribes.getType()); + streamSubscribes.put(config, dmaap); + } else if (blueprintHelperService.isMessageRouterType(subscribes.getType())) { + String config = subscribes.getConfig_key(); + String name = config + Constants._TOPIC; + Map dmaapDataRouterResponse = + dmaapService + .createDmaapMessageRouter(inputs, config, 's', name, name, isDmaap); + inputs = + (Map>) dmaapDataRouterResponse + .get("inputs"); + Dmaap dmaap = (Dmaap) dmaapDataRouterResponse.get("dmaap"); + dmaap.setType(subscribes.getType()); + streamSubscribes.put(config, dmaap); + } + } + return streamSubscribes; + } + +} -- cgit 1.2.3-korg