From a2f942369425233e9029bdce452cd3a363e617cb Mon Sep 17 00:00:00 2001 From: RehanRaza Date: Fri, 29 Mar 2019 10:30:33 +0000 Subject: Update VES event with latest file in each ROP Change-Id: I64e8ac7ba99c28d299a711741dcc1c6f8bc9e47e Issue-ID: DCAEGEN2-1225 Signed-off-by: RehanRaza --- .../org/onap/pnfsimulator/simulator/Simulator.java | 64 +++++++++++++++++++--- .../pnfsimulator/simulator/SimulatorFactory.java | 35 ++---------- 2 files changed, 61 insertions(+), 38 deletions(-) (limited to 'test/mocks/mass-pnf-sim/pnf-sim-lightweight/src/main/java/org/onap/pnfsimulator/simulator') diff --git a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/src/main/java/org/onap/pnfsimulator/simulator/Simulator.java b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/src/main/java/org/onap/pnfsimulator/simulator/Simulator.java index 9b4725fd1..5c6405742 100644 --- a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/src/main/java/org/onap/pnfsimulator/simulator/Simulator.java +++ b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/src/main/java/org/onap/pnfsimulator/simulator/Simulator.java @@ -17,12 +17,20 @@ package org.onap.pnfsimulator.simulator; +import com.github.fge.jsonschema.core.exceptions.ProcessingException; +import java.io.IOException; import java.time.Duration; import java.time.Instant; +import java.util.List; import java.util.Map; +import java.util.Optional; import org.json.JSONObject; +import org.onap.pnfsimulator.FileProvider; +import org.onap.pnfsimulator.message.MessageProvider; import org.onap.pnfsimulator.simulator.client.HttpClientAdapter; import org.onap.pnfsimulator.simulator.client.HttpClientAdapterImpl; +import org.onap.pnfsimulator.simulator.validation.JSONValidator; +import org.onap.pnfsimulator.simulator.validation.ValidationException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.MDC; @@ -41,6 +49,11 @@ public class Simulator extends Thread { private Duration duration; private Duration interval; private Instant endTime; + private JSONObject commonEventHeaderParams; + private Optional pnfRegistrationParams; + private Optional notificationParams; + private String xnfUrl; + private static final String DEFAULT_OUTPUT_SCHEMA_PATH = "json_schema/output_validator_ves_schema_30.0.1.json"; private Simulator() {} @@ -55,11 +68,19 @@ public class Simulator extends Thread { endTime = Instant.now().plus(duration); while (isEndless || runningTimeNotExceeded()) { try { + List fileList = FileProvider.getFiles(); + MessageProvider messageProvider = new MessageProvider(); + JSONValidator validator = new JSONValidator(); + + messageBody = messageProvider.createMessage(this.commonEventHeaderParams, this.pnfRegistrationParams, + this.notificationParams, fileList, this.xnfUrl); + validator.validate(messageBody.toString(), DEFAULT_OUTPUT_SCHEMA_PATH); + LOGGER.info("Message to be sent:\n" + getMessage()); httpClient.send(messageBody.toString(), vesUrl); Thread.sleep(interval.toMillis()); - } catch (InterruptedException e) { - LOGGER.info("Simulation interrupted"); + } catch (InterruptedException | ValidationException | ProcessingException | IOException e) { + LOGGER.info("Simulation stopped due to an exception"); return; } } @@ -96,16 +117,21 @@ public class Simulator extends Thread { private String vesUrl; private HttpClientAdapter httpClient; - private JSONObject messageBody; + //private JSONObject messageBody; private Duration duration; private Duration interval; + private Optional notificationParams; + private Optional pnfRegistrationParams; + private JSONObject commonEventHeaderParams; + private String xnfUrl; private Builder() { this.vesUrl = ""; this.httpClient = new HttpClientAdapterImpl(); - this.messageBody = new JSONObject(); + //this.messageBody = new JSONObject(); this.duration = Duration.ZERO; this.interval = Duration.ZERO; + this.commonEventHeaderParams = new JSONObject(); } public Builder withVesUrl(String vesUrl) { @@ -118,10 +144,10 @@ public class Simulator extends Thread { return this; } - public Builder withMessageBody(JSONObject messageBody) { + /*public Builder withMessageBody(JSONObject messageBody) { this.messageBody = messageBody; return this; - } + }*/ public Builder withDuration(Duration duration) { this.duration = duration; @@ -134,13 +160,37 @@ public class Simulator extends Thread { return this; } + public Builder withCommonEventHeaderParams(JSONObject commonEventHeaderParams) { + this.commonEventHeaderParams = commonEventHeaderParams; + return this; + } + + public Builder withNotificationParams(Optional notificationParams) { + this.notificationParams = notificationParams; + return this; + } + + public Builder withPnfRegistrationParams(Optional pnfRegistrationParams) { + this.pnfRegistrationParams = pnfRegistrationParams; + return this; + } + + public Builder withXnfUrl(String xnfUrl) { + this.xnfUrl = xnfUrl; + return this; + } + public Simulator build() { Simulator simulator = new Simulator(); simulator.vesUrl = this.vesUrl; simulator.httpClient = this.httpClient; - simulator.messageBody = this.messageBody; + //simulator.messageBody = this.messageBody; simulator.duration = this.duration; simulator.interval = this.interval; + simulator.xnfUrl = this.xnfUrl; + simulator.commonEventHeaderParams = this.commonEventHeaderParams; + simulator.pnfRegistrationParams = this.pnfRegistrationParams; + simulator.notificationParams = this.notificationParams; simulator.isEndless = duration.equals(Duration.ZERO); return simulator; } diff --git a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/src/main/java/org/onap/pnfsimulator/simulator/SimulatorFactory.java b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/src/main/java/org/onap/pnfsimulator/simulator/SimulatorFactory.java index 54af2b9a0..a01c2e0c6 100644 --- a/test/mocks/mass-pnf-sim/pnf-sim-lightweight/src/main/java/org/onap/pnfsimulator/simulator/SimulatorFactory.java +++ b/test/mocks/mass-pnf-sim/pnf-sim-lightweight/src/main/java/org/onap/pnfsimulator/simulator/SimulatorFactory.java @@ -20,42 +20,21 @@ 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 com.github.fge.jsonschema.core.exceptions.ProcessingException; -import java.io.IOException; import java.time.Duration; -import java.util.List; 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.onap.pnfsimulator.message.MessageProvider; -import org.onap.pnfsimulator.simulator.validation.JSONValidator; -import org.onap.pnfsimulator.simulator.validation.ValidationException; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class SimulatorFactory { - private static final String DEFAULT_OUTPUT_SCHEMA_PATH = "json_schema/output_validator_ves_schema_30.0.1.json"; - - private MessageProvider messageProvider; - private JSONValidator validator; - - @Autowired - public SimulatorFactory(MessageProvider messageProvider, JSONValidator validator) { - this.messageProvider = messageProvider; - this.validator = validator; - } - public Simulator create(JSONObject simulatorParams, JSONObject commonEventHeaderParams, - Optional pnfRegistrationParams, Optional notificationParams) - throws ProcessingException, IOException, ValidationException { + Optional pnfRegistrationParams, Optional notificationParams) { PnfSimConfig configuration = ConfigurationProvider.getConfigInstance(); String xnfUrl = null; - if (configuration.getDefaultfileserver().equals("sftp")) { xnfUrl = configuration.getUrlsftp() + "/"; } else if (configuration.getDefaultfileserver().equals("ftps")) { @@ -63,17 +42,11 @@ public class SimulatorFactory { } String urlVes = configuration.getUrlves(); - Duration duration = Duration.ofSeconds(parseInt(simulatorParams.getString(TEST_DURATION))); Duration interval = Duration.ofSeconds(parseInt(simulatorParams.getString(MESSAGE_INTERVAL))); - List fileList = FileProvider.getFiles(); - JSONObject messageBody = messageProvider.createMessage(commonEventHeaderParams, pnfRegistrationParams, - notificationParams, fileList, xnfUrl); - validator.validate(messageBody.toString(), DEFAULT_OUTPUT_SCHEMA_PATH); - - return Simulator.builder().withVesUrl(urlVes).withDuration(duration).withInterval(interval) - .withMessageBody(messageBody).build(); - + return Simulator.builder().withVesUrl(urlVes).withXnfUrl(xnfUrl).withDuration(duration) + .withCommonEventHeaderParams(commonEventHeaderParams).withNotificationParams(notificationParams) + .withPnfRegistrationParams(pnfRegistrationParams).withInterval(interval).build(); } } -- cgit 1.2.3-korg