X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-interactions%2Fmodel-simulators%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fsimulators%2FUtil.java;h=37c1b0c2cca30e9a3fdcc5115cedcf6931ce8c53;hb=HEAD;hp=99f9017a287a0e33e269caf9300d23c103bacbcf;hpb=bcb139f4bf3ccbf573b28cd88e91381cd0da0eaa;p=policy%2Fmodels.git diff --git a/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/Util.java b/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/Util.java index 99f9017a2..37c1b0c2c 100644 --- a/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/Util.java +++ b/models-interactions/model-simulators/src/main/java/org/onap/policy/simulators/Util.java @@ -2,8 +2,8 @@ * ============LICENSE_START======================================================= * simulators * ================================================================================ - * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. - * Modifications Copyright (C) 2019 Nordix Foundation. + * Copyright (C) 2017-2019, 2021 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019, 2023-2024 Nordix Foundation. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,45 +22,57 @@ package org.onap.policy.simulators; import java.io.IOException; - +import lombok.AccessLevel; +import lombok.NoArgsConstructor; import org.onap.policy.common.endpoints.http.server.HttpServletServer; +import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance; import org.onap.policy.common.utils.network.NetworkUtil; -public class Util { +@NoArgsConstructor(access = AccessLevel.PRIVATE) +public final class Util { public static final String AAISIM_SERVER_NAME = "aaiSim"; public static final String SOSIM_SERVER_NAME = "soSim"; public static final String VFCSIM_SERVER_NAME = "vfcSim"; - public static final String GUARDSIM_SERVER_NAME = "guardSim"; + public static final String XACMLSIM_SERVER_NAME = "xacmlSim"; public static final String SDNCSIM_SERVER_NAME = "sdncSim"; public static final int AAISIM_SERVER_PORT = 6666; public static final int SOSIM_SERVER_PORT = 6667; public static final int VFCSIM_SERVER_PORT = 6668; - public static final int GUARDSIM_SERVER_PORT = 6669; + public static final int XACMLSIM_SERVER_PORT = 6669; public static final int SDNCSIM_SERVER_PORT = 6670; - - private static final String CANNOT_CONNECT = "cannot connect to port "; - private static final String LOCALHOST = "localhost"; + public static final int CDSSIM_SERVER_PORT = 6671; - private Util() { - // Prevent instantiation of thic class - } + private static final String CANNOT_PROCESS_PARAMETERS = "cannot parse parameters "; + private static final String CANNOT_CONNECT = "cannot connect to port "; + public static final String LOCALHOST = "localhost"; /** * Build an A&AI simulator. - * + * * @return the simulator * @throws InterruptedException if a thread is interrupted - * @throws IOException if an IO errror occurs */ - public static HttpServletServer buildAaiSim() throws InterruptedException, IOException { - final HttpServletServer testServer = - HttpServletServer.factory.build(AAISIM_SERVER_NAME, LOCALHOST, AAISIM_SERVER_PORT, "/", false, true); + public static HttpServletServer buildAaiSim() throws InterruptedException { + final HttpServletServer testServer = HttpServletServerFactoryInstance.getServerFactory() + .build(AAISIM_SERVER_NAME, LOCALHOST, AAISIM_SERVER_PORT, "/", false, true); testServer.addServletClass("/*", AaiSimulatorJaxRs.class.getName()); testServer.waitedStart(5000); - if (!NetworkUtil.isTcpPortOpen(LOCALHOST, testServer.getPort(), 5, 10000L)) { - throw new IllegalStateException(CANNOT_CONNECT + testServer.getPort()); - } + waitForServerToListen(testServer.getPort()); + return testServer; + } + + /** + * Build a CDS simulator. + * + * @return the simulator + * @throws InterruptedException if a thread is interrupted + * @throws IOException if an I/O error occurs + */ + public static CdsSimulator buildCdsSim() throws InterruptedException, IOException { + final var testServer = new CdsSimulator(LOCALHOST, CDSSIM_SERVER_PORT); + testServer.start(); + waitForServerToListen(testServer.getPort()); return testServer; } @@ -69,71 +81,75 @@ public class Util { * * @return the simulator * @throws InterruptedException if a thread is interrupted - * @throws IOException if an IO errror occurs */ - public static HttpServletServer buildSdncSim() throws InterruptedException, IOException { - final HttpServletServer testServer = - HttpServletServer.factory.build(SDNCSIM_SERVER_NAME, LOCALHOST, SDNCSIM_SERVER_PORT, "/", false, true); + public static HttpServletServer buildSdncSim() throws InterruptedException { + final HttpServletServer testServer = HttpServletServerFactoryInstance.getServerFactory() + .build(SDNCSIM_SERVER_NAME, LOCALHOST, SDNCSIM_SERVER_PORT, "/", false, true); testServer.addServletClass("/*", SdncSimulatorJaxRs.class.getName()); testServer.waitedStart(5000); - if (!NetworkUtil.isTcpPortOpen(LOCALHOST, testServer.getPort(), 5, 10000L)) { - throw new IllegalStateException(CANNOT_CONNECT + testServer.getPort()); - } + waitForServerToListen(testServer.getPort()); return testServer; } /** - * Build an SO simulator. - * + * Build a SO simulator. + * * @return the simulator * @throws InterruptedException if a thread is interrupted - * @throws IOException if an IO errror occurs */ - public static HttpServletServer buildSoSim() throws InterruptedException, IOException { - final HttpServletServer testServer = - HttpServletServer.factory.build(SOSIM_SERVER_NAME, LOCALHOST, SOSIM_SERVER_PORT, "/", false, true); + public static HttpServletServer buildSoSim() throws InterruptedException { + final HttpServletServer testServer = HttpServletServerFactoryInstance.getServerFactory() + .build(SOSIM_SERVER_NAME, LOCALHOST, SOSIM_SERVER_PORT, "/", false, true); testServer.addServletClass("/*", SoSimulatorJaxRs.class.getName()); testServer.waitedStart(5000); - if (!NetworkUtil.isTcpPortOpen(LOCALHOST, testServer.getPort(), 5, 10000L)) { - throw new IllegalStateException(CANNOT_CONNECT + testServer.getPort()); - } + waitForServerToListen(testServer.getPort()); return testServer; } /** * Build a VFC simulator. - * + * * @return the simulator * @throws InterruptedException if a thread is interrupted - * @throws IOException if an IO errror occurs */ - public static HttpServletServer buildVfcSim() throws InterruptedException, IOException { - final HttpServletServer testServer = - HttpServletServer.factory.build(VFCSIM_SERVER_NAME,LOCALHOST, VFCSIM_SERVER_PORT, "/", false, true); + public static HttpServletServer buildVfcSim() throws InterruptedException { + final HttpServletServer testServer = HttpServletServerFactoryInstance.getServerFactory() + .build(VFCSIM_SERVER_NAME, LOCALHOST, VFCSIM_SERVER_PORT, "/", false, true); testServer.addServletClass("/*", VfcSimulatorJaxRs.class.getName()); testServer.waitedStart(5000); - if (!NetworkUtil.isTcpPortOpen(LOCALHOST, testServer.getPort(), 5, 10000L)) { - throw new IllegalStateException(CANNOT_CONNECT + testServer.getPort()); - } + waitForServerToListen(testServer.getPort()); return testServer; } /** * Build a guard simulator. - * + * * @return the simulator * @throws InterruptedException if a thread is interrupted - * @throws IOException if an IO errror occurs */ - public static HttpServletServer buildGuardSim() throws InterruptedException, IOException { - HttpServletServer testServer = HttpServletServer.factory.build(GUARDSIM_SERVER_NAME, LOCALHOST, - GUARDSIM_SERVER_PORT, "/", false, true); - testServer.addServletClass("/*", GuardSimulatorJaxRs.class.getName()); + public static HttpServletServer buildGuardSim() throws InterruptedException { + return buildXacmlSim(); + } + + /** + * Build a xacml simulator. + * + * @return the simulator + * @throws InterruptedException if a thread is interrupted + */ + public static HttpServletServer buildXacmlSim() throws InterruptedException { + HttpServletServer testServer = HttpServletServerFactoryInstance.getServerFactory().build(XACMLSIM_SERVER_NAME, + LOCALHOST, XACMLSIM_SERVER_PORT, "/", false, true); + testServer.addServletClass("/*", XacmlSimulatorJaxRs.class.getName()); testServer.waitedStart(5000); - if (!NetworkUtil.isTcpPortOpen(LOCALHOST, testServer.getPort(), 5, 10000L)) { - throw new IllegalStateException(CANNOT_CONNECT + testServer.getPort()); - } + waitForServerToListen(testServer.getPort()); return testServer; } + + private static void waitForServerToListen(int port) throws InterruptedException { + if (!NetworkUtil.isTcpPortOpen(LOCALHOST, port, 200, 250L)) { + throw new IllegalStateException(CANNOT_CONNECT + port); + } + } }