From b761beb3ea2bafd786473775b5ba0afcb3fa2fd3 Mon Sep 17 00:00:00 2001 From: Bartek Grzybowski Date: Tue, 15 Dec 2020 12:33:31 +0100 Subject: Move Masspnf simulator code from Integration repository to it's own Change-Id: Id48ca08ec0d042d93e204b49ae9fe1bc86efd67b Issue-ID: INT-1810 Signed-off-by: Bartek Grzybowski --- .../pnfsimulator/simulator/SimulatorFactory.java | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 pnf-sim-lightweight/src/main/java/org/onap/pnfsimulator/simulator/SimulatorFactory.java (limited to 'pnf-sim-lightweight/src/main/java/org/onap/pnfsimulator/simulator/SimulatorFactory.java') diff --git a/pnf-sim-lightweight/src/main/java/org/onap/pnfsimulator/simulator/SimulatorFactory.java b/pnf-sim-lightweight/src/main/java/org/onap/pnfsimulator/simulator/SimulatorFactory.java new file mode 100644 index 0000000..851e6ad --- /dev/null +++ b/pnf-sim-lightweight/src/main/java/org/onap/pnfsimulator/simulator/SimulatorFactory.java @@ -0,0 +1,54 @@ +/* + * ============LICENSE_START======================================================= + * PNF-REGISTRATION-HANDLER + * ================================================================================ Copyright (C) + * 2018 NOKIA Intellectual Property. 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 + * + * 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.pnfsimulator.simulator; + +import static java.lang.Integer.parseInt; +import static org.onap.pnfsimulator.message.MessageConstants.MESSAGE_INTERVAL; +import static org.onap.pnfsimulator.message.MessageConstants.TEST_DURATION; +import java.time.Duration; +import java.util.Optional; +import org.json.JSONObject; +import org.onap.pnfsimulator.ConfigurationProvider; +import org.onap.pnfsimulator.FileProvider; +import org.onap.pnfsimulator.PnfSimConfig; +import org.springframework.stereotype.Service; + +@Service +public class SimulatorFactory { + + public Simulator create(JSONObject simulatorParams, JSONObject commonEventHeaderParams, + Optional pnfRegistrationParams, Optional notificationParams) { + PnfSimConfig configuration = ConfigurationProvider.getConfigInstance(); + + String xnfUrl = null; + if (configuration.getTypefileserver().equals("sftp")) { + xnfUrl = configuration.getUrlsftp() + "/"; + } else if (configuration.getTypefileserver().equals("ftps")) { + xnfUrl = configuration.getUrlftps() + "/"; + } + + String urlVes = configuration.getUrlves(); + Duration duration = Duration.ofSeconds(parseInt(simulatorParams.getString(TEST_DURATION))); + Duration interval = Duration.ofSeconds(parseInt(simulatorParams.getString(MESSAGE_INTERVAL))); + + return Simulator.builder().withVesUrl(urlVes).withXnfUrl(xnfUrl).withDuration(duration) + .withFileProvider(new FileProvider()).withCommonEventHeaderParams(commonEventHeaderParams) + .withNotificationParams(notificationParams).withPnfRegistrationParams(pnfRegistrationParams) + .withInterval(interval).build(); + } +} -- cgit 1.2.3-korg