From 25e3f7a0d6cd5e364e4fd69eef310fcdb8a58b55 Mon Sep 17 00:00:00 2001 From: liamfallon Date: Fri, 4 Sep 2020 11:03:24 +0100 Subject: Remove client code from apex-pdp Removal of the deployment and monitoring client from the apex-pdp as the functionality is replaced by the Policy Framework deployment using PAP and the Policy Framework monitoring GUI. Code in the engine proper that was used to administer apex-pdp over the Web Socket port is also removed, as this code was only used by the apex-pdp legacy GUIs. Issue-ID: POLICY-2621 Change-Id: Ib9fc4a667a4bc79377bb7b82fae6a2bd520a3e3d Signed-off-by: liamfallon --- client/client-deployment/pom.xml | 145 ------- .../src/main/assembly/resources.xml | 32 -- .../client/deployment/rest/ApexDeploymentRest.java | 87 ----- .../deployment/rest/ApexDeploymentRestMain.java | 204 ---------- .../rest/ApexDeploymentRestParameterException.java | 49 --- .../rest/ApexDeploymentRestParameterParser.java | 115 ------ .../rest/ApexDeploymentRestParameters.java | 177 --------- .../rest/ApexDeploymentRestResource.java | 147 -------- .../client/deployment/rest/ParameterCheck.java | 255 ------------- .../apex/client/deployment/rest/package-info.java | 27 -- .../src/main/resources/webapp/WEB-INF/web.xml | 46 --- .../src/main/resources/webapp/index.html | 87 ----- .../src/main/resources/webapp/js/ApexAjax.js | 84 ----- .../main/resources/webapp/js/ApexEngineService.js | 101 ----- .../main/resources/webapp/js/ApexModelLoading.js | 63 ---- .../main/resources/webapp/js/ApexServicesMain.js | 147 -------- .../src/main/resources/webapp/js/ApexTable.js | 59 --- .../src/main/resources/webapp/js/ApexUtils.js | 212 ----------- .../resources/16px/rowCollapsed_black_16px.svg | 19 - .../resources/16px/rowExpanded_black_16px.svg | 18 - .../webapp/resources/16px/settings_black_16px.svg | 20 - .../webapp/resources/models/SmallModel.json | 416 --------------------- .../webapp/resources/systemBar/help_black.svg | 19 - .../webapp/resources/systemBar/logout_black.svg | 15 - .../deployment/rest/DeploymentExceptionTest.java | 38 -- .../deployment/rest/DeploymentRestMainTest.java | 215 ----------- .../rest/DeploymentRestParameterTest.java | 39 -- .../client/deployment/rest/ParameterCheckTest.java | 189 ---------- .../client/deployment/rest/RestResourceTest.java | 176 --------- 29 files changed, 3201 deletions(-) delete mode 100644 client/client-deployment/pom.xml delete mode 100644 client/client-deployment/src/main/assembly/resources.xml delete mode 100644 client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRest.java delete mode 100644 client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestMain.java delete mode 100644 client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestParameterException.java delete mode 100644 client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestParameterParser.java delete mode 100644 client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestParameters.java delete mode 100644 client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestResource.java delete mode 100644 client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ParameterCheck.java delete mode 100644 client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/package-info.java delete mode 100644 client/client-deployment/src/main/resources/webapp/WEB-INF/web.xml delete mode 100644 client/client-deployment/src/main/resources/webapp/index.html delete mode 100644 client/client-deployment/src/main/resources/webapp/js/ApexAjax.js delete mode 100644 client/client-deployment/src/main/resources/webapp/js/ApexEngineService.js delete mode 100644 client/client-deployment/src/main/resources/webapp/js/ApexModelLoading.js delete mode 100644 client/client-deployment/src/main/resources/webapp/js/ApexServicesMain.js delete mode 100644 client/client-deployment/src/main/resources/webapp/js/ApexTable.js delete mode 100644 client/client-deployment/src/main/resources/webapp/js/ApexUtils.js delete mode 100644 client/client-deployment/src/main/resources/webapp/resources/16px/rowCollapsed_black_16px.svg delete mode 100644 client/client-deployment/src/main/resources/webapp/resources/16px/rowExpanded_black_16px.svg delete mode 100644 client/client-deployment/src/main/resources/webapp/resources/16px/settings_black_16px.svg delete mode 100644 client/client-deployment/src/main/resources/webapp/resources/models/SmallModel.json delete mode 100644 client/client-deployment/src/main/resources/webapp/resources/systemBar/help_black.svg delete mode 100644 client/client-deployment/src/main/resources/webapp/resources/systemBar/logout_black.svg delete mode 100644 client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/DeploymentExceptionTest.java delete mode 100644 client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/DeploymentRestMainTest.java delete mode 100644 client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/DeploymentRestParameterTest.java delete mode 100644 client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/ParameterCheckTest.java delete mode 100644 client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/RestResourceTest.java (limited to 'client/client-deployment') diff --git a/client/client-deployment/pom.xml b/client/client-deployment/pom.xml deleted file mode 100644 index 5e42f8ba1..000000000 --- a/client/client-deployment/pom.xml +++ /dev/null @@ -1,145 +0,0 @@ - - - 4.0.0 - - org.onap.policy.apex-pdp.client - apex-client - 2.4.1-SNAPSHOT - - - apex-client-deployment - ${project.artifactId} - Web client for deploying models in Apex engine - - - src/main/resources/webapp - ${project.basedir}/src/main/resources/webapp/node/node - ${project.basedir}/src/main/java,${project.basedir}/src/main/resources/webapp/js - src/main/resources/webapp/js/__test__/** - - - - - org.onap.policy.common - policy-endpoints - - - org.onap.aaf.authz - aaf-cadi-aaf - - - com.att.nsa - cambriaClient - - - org.onap.dmaap.messagerouter.dmaapclient - dmaapClient - - - - - org.onap.policy.apex-pdp.core - core-deployment - ${project.version} - - - org.glassfish.jersey.containers - jersey-container-grizzly2-http - - - commons-cli - commons-cli - - - org.mockito - mockito-all - test - - - org.assertj - assertj-core - test - - - - org.onap.policy.apex-pdp.client - apex-client-common - ${project.version} - resources - zip - provided - - - - - - install - ${project.build.directory}/classes - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - unpack-shared-resources - - unpack-dependencies - - generate-resources - - ${project.build.directory}/classes/webapp - - apex-client-common - org.onap.policy.apex-pdp.client - true - true - jar - zip - - - - - - org.apache.maven.plugins - maven-assembly-plugin - - - make shared resources - - single - - package - - - src/main/assembly/resources.xml - - - - - - - - diff --git a/client/client-deployment/src/main/assembly/resources.xml b/client/client-deployment/src/main/assembly/resources.xml deleted file mode 100644 index f0632c54e..000000000 --- a/client/client-deployment/src/main/assembly/resources.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - resources - - zip - - false - - - target/classes/webapp - deployment - - - \ No newline at end of file diff --git a/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRest.java b/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRest.java deleted file mode 100644 index db226274f..000000000 --- a/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRest.java +++ /dev/null @@ -1,87 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. All rights reserved. - * Modifications Copyright (C) 2019 Nordix Foundation. - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.apex.client.deployment.rest; - -import org.glassfish.grizzly.http.server.HttpServer; -import org.glassfish.jersey.grizzly2.httpserver.GrizzlyHttpServerFactory; -import org.glassfish.jersey.media.multipart.MultiPartFeature; -import org.glassfish.jersey.server.ResourceConfig; -import org.onap.policy.common.utils.validation.Assertions; -import org.slf4j.ext.XLogger; -import org.slf4j.ext.XLoggerFactory; - -/** - * This class is used to launch the services. It creates a Grizzly embedded web server and runs the - * services. - */ -public class ApexDeploymentRest { - // Logger for this class - private static final XLogger logger = XLoggerFactory.getXLogger(ApexDeploymentRest.class); - - // The HTTP server exposing JAX-RS resources defined in this application. - private HttpServer server; - - /** - * Starts the HTTP server for the Apex services client on the default base URI and with the - * default REST packages. - */ - public ApexDeploymentRest() { - this(new ApexDeploymentRestParameters()); - } - - /** - * Starts the HTTP server for the Apex services client. - * - * @param parameters The Apex parameters to use to start the server - */ - public ApexDeploymentRest(final ApexDeploymentRestParameters parameters) { - Assertions.argumentNotNull(parameters, "parameters may not be null"); - - logger.debug("Apex services RESTful client starting . . ."); - - // Create a resource configuration that scans for JAX-RS resources and providers - // in org.onap.policy.apex.client.deployment.rest package - final ResourceConfig rc = new ResourceConfig().packages(parameters.getRestPackages()); - - // Add MultiPartFeature class for jersey-media-multipart - rc.register(MultiPartFeature.class); - - // create and start a new instance of grizzly http server - // exposing the Jersey application at BASE_URI - server = GrizzlyHttpServerFactory.createHttpServer(parameters.getBaseUri(), rc); - - // Add static content - server.getServerConfiguration().addHttpHandler(new org.glassfish.grizzly.http.server.CLStaticHttpHandler( - ApexDeploymentRestMain.class.getClassLoader(), "/webapp/"), parameters.getStaticPath()); - - logger.debug("Apex services RESTful client started"); - } - - /** - * Shut down the web server. - */ - public void shutdown() { - logger.debug("Apex services RESTful client shutting down . . ."); - server.shutdown(); - logger.debug("Apex services RESTful client shut down"); - } -} diff --git a/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestMain.java b/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestMain.java deleted file mode 100644 index 093c35258..000000000 --- a/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestMain.java +++ /dev/null @@ -1,204 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. All rights reserved. - * Modifications Copyright (C) 2019 Nordix Foundation. - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.apex.client.deployment.rest; - -import java.io.PrintStream; -import org.slf4j.ext.XLogger; -import org.slf4j.ext.XLoggerFactory; - -/** - * The main class for ApexDeploymentRest. - * - * @author Michael Watkins (michael.watkins@ericsson.com) - */ -public class ApexDeploymentRestMain { - // Logger for this class - private static final XLogger LOGGER = XLoggerFactory.getXLogger(ApexDeploymentRestMain.class); - - // Recurring string constants - private static final String REST_ENDPOINT_PREFIX = "Apex Services REST endpoint ("; - - // Services state - public enum ServicesState { - STOPPED, - READY, - INITIALIZING, - RUNNING - } - - private ServicesState state = ServicesState.STOPPED; - - // The parameters for the client - private ApexDeploymentRestParameters parameters = null; - - // Output and error streams for messages - private final PrintStream outStream; - - // The Apex services client this class is running - private ApexDeploymentRest apexDeploymentRest = null; - - /** - * Constructor, kicks off the rest service. - * - * @param args The command line arguments for the RESTful service - * @param outStream The stream for output messages - */ - public ApexDeploymentRestMain(final String[] args, final PrintStream outStream) { - // Save the streams for output and error - this.outStream = outStream; - - // Client parameter parsing - final ApexDeploymentRestParameterParser parser = new ApexDeploymentRestParameterParser(); - - try { - // Get and check the parameters - parameters = parser.parse(args); - } catch (final ApexDeploymentRestParameterException e) { - throw new ApexDeploymentRestParameterException( - REST_ENDPOINT_PREFIX + this.toString() + ") parameter error, " + e.getMessage() + '\n' - + parser.getHelp(ApexDeploymentRestMain.class.getName()), - e); - } - - if (parameters.isHelpSet()) { - throw new ApexDeploymentRestParameterException(parser.getHelp(ApexDeploymentRestMain.class.getName())); - } - - // Validate the parameters - final String validationMessage = parameters.validate(); - if (validationMessage.length() > 0) { - throw new ApexDeploymentRestParameterException( - REST_ENDPOINT_PREFIX + this.toString() + ") parameters invalid, " + validationMessage + '\n' - + parser.getHelp(ApexDeploymentRestMain.class.getName())); - } - - state = ServicesState.READY; - } - - /** - * Initialize the rest service. - */ - public void init() { - outStream.println(REST_ENDPOINT_PREFIX + this.toString() + ") starting at " + parameters.getBaseUri().toString() - + " . . ."); - - try { - state = ServicesState.INITIALIZING; - - // Start the REST service - apexDeploymentRest = new ApexDeploymentRest(parameters); - - // Add a shutdown hook to shut down the rest services when the process is exiting - Runtime.getRuntime().addShutdownHook(new Thread(new ApexServicesShutdownHook())); - - state = ServicesState.RUNNING; - - if (parameters.getTimeToLive() == ApexDeploymentRestParameters.INFINITY_TIME_TO_LIVE) { - outStream.println(REST_ENDPOINT_PREFIX + this.toString() + ") started at " - + parameters.getBaseUri().toString()); - } else { - outStream.println(REST_ENDPOINT_PREFIX + this.toString() + ") started"); - } - - // Find out how long is left to wait - long timeRemaining = parameters.getTimeToLive(); - while (timeRemaining == ApexDeploymentRestParameters.INFINITY_TIME_TO_LIVE || timeRemaining > 0) { - // decrement the time to live in the non-infinity case - if (timeRemaining > 0) { - timeRemaining--; - } - - // Wait for a second - Thread.sleep(1000); - } - } catch (final Exception e) { - String message = REST_ENDPOINT_PREFIX + this.toString() + ") failed at with error: " + e.getMessage(); - outStream.println(message); - LOGGER.warn(message, e); - } finally { - if (apexDeploymentRest != null) { - apexDeploymentRest.shutdown(); - apexDeploymentRest = null; - } - state = ServicesState.STOPPED; - } - - } - - /** - * Get services state. - * - * @return the service state - */ - public ServicesState getState() { - return state; - } - - @Override - public String toString() { - final StringBuilder ret = new StringBuilder(); - ret.append(this.getClass().getSimpleName()).append(": Config=[").append(this.parameters).append("], State=") - .append(this.getState()); - return ret.toString(); - } - - /** - * Explicitly shut down the services. - */ - public void shutdown() { - if (apexDeploymentRest != null) { - outStream.println(REST_ENDPOINT_PREFIX + this.toString() + ") shutting down"); - apexDeploymentRest.shutdown(); - } - state = ServicesState.STOPPED; - outStream.println(REST_ENDPOINT_PREFIX + this.toString() + ") shut down"); - } - - /** - * This class is a shutdown hook for the Apex services command. - */ - private class ApexServicesShutdownHook implements Runnable { - /** - * {@inheritDoc}. - */ - @Override - public void run() { - if (apexDeploymentRest != null) { - apexDeploymentRest.shutdown(); - } - } - } - - /** - * Main method, main entry point for command. - * - * @param args The command line arguments for the client - */ - public static void main(final String[] args) { - try { - final ApexDeploymentRestMain restMain = new ApexDeploymentRestMain(args, System.out); - restMain.init(); - } catch (final Exception e) { - LOGGER.error("start failed", e); - } - } -} diff --git a/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestParameterException.java b/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestParameterException.java deleted file mode 100644 index 325128dfb..000000000 --- a/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestParameterException.java +++ /dev/null @@ -1,49 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.apex.client.deployment.rest; - -/** - * A run time exception used to report parsing and parameter input errors. - * - * @author Michael Watkins (michael.watkins@ericsson.com) - */ -public class ApexDeploymentRestParameterException extends IllegalArgumentException { - private static final long serialVersionUID = 6520231162404452427L; - - /** - * Create an ApexServicesRestParameterException with a message. - * - * @param message the message - */ - public ApexDeploymentRestParameterException(final String message) { - super(message); - } - - /** - * Create an ApexServicesRestParameterException with a message and an exception. - * - * @param message the message - * @param throwable The exception that caused the exception - */ - public ApexDeploymentRestParameterException(final String message, final Throwable throwable) { - super(message, throwable); - } -} diff --git a/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestParameterParser.java b/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestParameterParser.java deleted file mode 100644 index 1249bddba..000000000 --- a/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestParameterParser.java +++ /dev/null @@ -1,115 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.apex.client.deployment.rest; - -import java.io.PrintWriter; -import java.io.StringWriter; -import java.util.Arrays; -import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.DefaultParser; -import org.apache.commons.cli.HelpFormatter; -import org.apache.commons.cli.Option; -import org.apache.commons.cli.Options; -import org.apache.commons.cli.ParseException; - -/** - * This class reads and handles command line parameters to the Apex RESTful services. - * - * @author Michael Watkins (michael.watkins@ericsson.com) - */ -public class ApexDeploymentRestParameterParser { - // Apache Commons CLI options - private Options options; - - /** - * Construct the options for the CLI RESTful services. - */ - public ApexDeploymentRestParameterParser() { - options = new Options(); - options.addOption("h", "help", false, "outputs the usage of this command"); - options.addOption(Option.builder("p").longOpt("port").desc("port to use for the Apex Services REST calls") - .hasArg().argName("PORT").required(false).type(Number.class).build()); - options.addOption(Option.builder("t").longOpt("time-to-live") - .desc("the amount of time in seconds that the server will run for before terminating").hasArg() - .argName("TIME_TO_LIVE").required(false).type(Number.class).build()); - } - - /** - * Parse the command line options. - * - * @param args the arguments - * @return the parsed arguments - */ - public ApexDeploymentRestParameters parse(final String[] args) { - CommandLine commandLine = null; - try { - commandLine = new DefaultParser().parse(options, args); - } catch (final ParseException e) { - throw new ApexDeploymentRestParameterException( - "invalid command line arguments specified : " + e.getMessage()); - } - - final ApexDeploymentRestParameters parameters = new ApexDeploymentRestParameters(); - final String[] remainingArgs = commandLine.getArgs(); - - if (commandLine.getArgs().length > 0) { - throw new ApexDeploymentRestParameterException( - "too many command line arguments specified : " + Arrays.toString(remainingArgs)); - } - - if (commandLine.hasOption('h')) { - parameters.setHelp(true); - } - try { - if (commandLine.hasOption('p')) { - parameters.setRestPort(((Number) commandLine.getParsedOptionValue("port")).intValue()); - } - } catch (final ParseException e) { - throw new ApexDeploymentRestParameterException("error parsing argument \"port\" :" + e.getMessage(), e); - } - try { - if (commandLine.hasOption('t')) { - parameters.setTimeToLive(((Number) commandLine.getParsedOptionValue("time-to-live")).longValue()); - } - } catch (final ParseException e) { - throw new ApexDeploymentRestParameterException("error parsing argument \"time-to-live\" :" + e.getMessage(), - e); - } - - return parameters; - } - - /** - * Get help information. - * - * @param mainClassName the main class name for the help output - * @return help string - */ - public String getHelp(final String mainClassName) { - final StringWriter stringWriter = new StringWriter(); - final PrintWriter stringPrintWriter = new PrintWriter(stringWriter); - - final HelpFormatter helpFormatter = new HelpFormatter(); - helpFormatter.printHelp(stringPrintWriter, 120, mainClassName + " [options...] ", "", options, 0, 0, ""); - - return stringWriter.toString(); - } -} diff --git a/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestParameters.java b/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestParameters.java deleted file mode 100644 index 70765ebc6..000000000 --- a/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestParameters.java +++ /dev/null @@ -1,177 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.apex.client.deployment.rest; - -import java.net.URI; - -/** - * This class reads and handles command line parameters to the Apex RESTful services. - * - * @author Michael Watkins (michael.watkins@ericsson.com) - */ -public class ApexDeploymentRestParameters { - public static final int DEFAULT_REST_PORT = 18989; - public static final int INFINITY_TIME_TO_LIVE = -1; - - // Base URI the HTTP server will listen on - private static final String DEFAULT_SERVER_URI_ROOT = "http://localhost:"; - private static final String DEFAULT_REST_PATH = "/apexservices/"; - private static final String DEFAULT_STATIC_PATH = "/"; - - // Package that will field REST requests - private static final String[] DEFAULT_PACKAGES = new String[] {"org.onap.policy.apex.client.deployment.rest"}; - - // The services parameters - private boolean helpSet = false; - private int restPort = DEFAULT_REST_PORT; - private long timeToLive = INFINITY_TIME_TO_LIVE; - - /** - * Validate the parameters. - * - * @return the result of the validation - */ - public String validate() { - String validationMessage = ""; - validationMessage += validatePort(); - validationMessage += validateTimeToLive(); - - return validationMessage; - } - - /** - * Gets the base uri. - * - * @return the base uri - */ - public URI getBaseUri() { - return URI.create(DEFAULT_SERVER_URI_ROOT + restPort + DEFAULT_REST_PATH); - } - - /** - * Gets the rest packages. - * - * @return the rest packages - */ - public String[] getRestPackages() { - return DEFAULT_PACKAGES; - } - - /** - * Gets the static path. - * - * @return the static path - */ - public String getStaticPath() { - return DEFAULT_STATIC_PATH; - } - - /** - * Validate port. - * - * @return the string - */ - private String validatePort() { - if (restPort < 1024 || restPort > 65535) { - return "port must be greater than 1023 and less than 65536\n"; - } else { - return ""; - } - } - - /** - * Validate time to live. - * - * @return the string - */ - private String validateTimeToLive() { - if (timeToLive < -1) { - return "time to live must be greater than -1 (set to -1 to wait forever)\n"; - } else { - return ""; - } - } - - /** - * Checks if is help set. - * - * @return true, if is help set - */ - public boolean isHelpSet() { - return helpSet; - } - - /** - * Sets the help. - * - * @param helpSet the new help - */ - public void setHelp(final boolean helpSet) { - this.helpSet = helpSet; - } - - /** - * Gets the rest port. - * - * @return the rest port - */ - public int getRestPort() { - return restPort; - } - - /** - * Sets the rest port. - * - * @param restPort the new rest port - */ - public void setRestPort(final int restPort) { - this.restPort = restPort; - } - - /** - * Gets the time to live. - * - * @return the time to live - */ - public long getTimeToLive() { - return timeToLive; - } - - /** - * Sets the time to live. - * - * @param timeToLive the new time to live - */ - public void setTimeToLive(final long timeToLive) { - this.timeToLive = timeToLive; - } - - /** - * {@inheritDoc}. - */ - @Override - public String toString() { - final StringBuilder ret = new StringBuilder(); - ret.append(this.getClass().getSimpleName()).append(": URI=").append(this.getBaseUri()).append(", TTL=") - .append(this.getTimeToLive()).append("sec"); - return ret.toString(); - } -} diff --git a/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestResource.java b/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestResource.java deleted file mode 100644 index 4f6e71b2f..000000000 --- a/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ApexDeploymentRestResource.java +++ /dev/null @@ -1,147 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.apex.client.deployment.rest; - -import com.google.gson.JsonObject; -import java.io.InputStream; -import javax.ws.rs.Consumes; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.Response; -import org.glassfish.jersey.media.multipart.FormDataParam; -import org.onap.policy.apex.core.deployment.ApexDeploymentException; -import org.onap.policy.apex.core.deployment.EngineServiceFacade; -import org.slf4j.ext.XLogger; -import org.slf4j.ext.XLoggerFactory; - -/** - * The class represents the root resource exposed at the base URL
- * - *

The url to access this resource would be in the form {@code /rest/....}
- * For example: a GET request to the following URL - * {@code http://localhost:18989/apexservices/rest/?hostName=localhost&port=12345} - * - *

Note: An allocated {@code hostName} and {@code port} query parameter must be included in all requests. - * Datasets for different {@code hostName} are completely isolated from one another. - * - */ -@Path("deployment/") -@Produces({ MediaType.APPLICATION_JSON }) -@Consumes({ MediaType.APPLICATION_JSON }) - -public class ApexDeploymentRestResource { - // Get a reference to the logger - private static final XLogger LOGGER = XLoggerFactory.getXLogger(ApexDeploymentRestResource.class); - - /** - * Query the engine service for data. - * - * @param hostName the host name of the engine service to connect to. - * @param port the port number of the engine service to connect to. - * @return a Response object containing the engines service, status and context data in JSON - */ - @GET - public Response createSession(@QueryParam("hostName") final String hostName, @QueryParam("port") final int port) { - final String host = hostName + ":" + port; - final EngineServiceFacade engineServiceFacade = getEngineServiceFacade(hostName, port); - - try { - engineServiceFacade.init(); - } catch (final ApexDeploymentException e) { - final String errorMessage = "Error connecting to Apex Engine Service at " + host; - LOGGER.warn(errorMessage + "
", e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(errorMessage + "\n" + e.getMessage()) - .build(); - } - - final JsonObject responseObject = new JsonObject(); - - // Engine Service data - responseObject.addProperty("engine_id", engineServiceFacade.getKey().getId()); - responseObject.addProperty("model_id", - engineServiceFacade.getApexModelKey() != null ? engineServiceFacade.getApexModelKey().getId() - : "Not Set"); - responseObject.addProperty("server", hostName); - responseObject.addProperty("port", Integer.toString(port)); - - return Response.ok(responseObject.toString(), MediaType.APPLICATION_JSON).build(); - } - - /** - * Upload a model. - * - * @param hostName the host name of the engine service to connect to. - * @param port the port number of the engine service to connect to. - * @param uploadedInputStream input stream - * @param ignoreConflicts conflict policy - * @param forceUpdate update policy - * @return a response object in plain text confirming the upload was successful - */ - @POST - @Path("modelupload/") - @Consumes(MediaType.MULTIPART_FORM_DATA) - public Response modelUpload(@FormDataParam("hostName") final String hostName, @FormDataParam("port") final int port, - @FormDataParam("file") final InputStream uploadedInputStream, - @FormDataParam("fileName") final String fileName, - @FormDataParam("ignoreConflicts") final boolean ignoreConflicts, - @FormDataParam("forceUpdate") final boolean forceUpdate) { - final EngineServiceFacade engineServiceFacade = getEngineServiceFacade(hostName, port); - - try { - engineServiceFacade.init(); - } catch (final ApexDeploymentException e) { - final String errorMessage = "Error connecting to Apex Engine Service at " + hostName + ":" + port; - LOGGER.warn(errorMessage + "
", e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(errorMessage + "\n" + e.getMessage()) - .build(); - } - - try { - engineServiceFacade.deployModel(fileName, uploadedInputStream, ignoreConflicts, forceUpdate); - } catch (final Exception e) { - LOGGER.warn("Error updating model on engine service " + engineServiceFacade.getKey().getId(), e); - final String errorMessage = - "Error updating model on engine service " + engineServiceFacade.getKey().getId(); - LOGGER.warn(errorMessage + "
", e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(errorMessage + "\n" + e.getMessage()) - .build(); - } - - return Response.ok("Model " + fileName + " deployed on engine service " - + engineServiceFacade.getKey().getId()).build(); - } - - /** - * Get an engine service facade for sending REST requests. This method is package because it is used by unit test. - * - * @param hostName the host name of the Apex engine - * @param port the port of the Apex engine - * @return the engine service facade - */ - protected EngineServiceFacade getEngineServiceFacade(final String hostName, final int port) { - return new EngineServiceFacade(hostName, port); - } - -} diff --git a/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ParameterCheck.java b/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ParameterCheck.java deleted file mode 100644 index cad0911f1..000000000 --- a/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/ParameterCheck.java +++ /dev/null @@ -1,255 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. All rights reserved. - * Copyright (C) 2019 Nordix Foundation. - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.apex.client.deployment.rest; - -import java.util.Map; -import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey; -import org.slf4j.ext.XLogger; -import org.slf4j.ext.XLoggerFactory; - -/** - * The Class ParameterCheck is used to check parameters passed to the servlet. - * - * @author Liam Fallon (liam.fallon@ericsson.com) - */ -public final class ParameterCheck { - private static final XLogger LOGGER = XLoggerFactory.getXLogger(ParameterCheck.class); - - private static final String HOSTNAME_PAR = "hostname"; - private static final String PORT_PAR = "port"; - private static final String AXARTIFACTKEY_PAR = "AxArtifactKey"; - - // Recurring string constants - private static final String OF_PARAMETER = "\"of parameter \""; - private static final String VALUE = "value \""; - private static final String PARAMETER = "parameter \""; - private static final String NOT_FOUND = "\" not found"; - - private static final int MAX_PORT = 65535; - - /** - * private constructor to prevent subclassing of this utility class. - */ - private ParameterCheck() { - } - - /** - * The Enum StartStop is used to hold. - * - * @author Liam Fallon (liam.fallon@ericsson.com) - */ - public enum StartStop { - /** Start of an Apex engine has been ordered. */ - START, - /** Stop of an Apex engine has been ordered. */ - STOP - } - - /** - * Gets the host name. - * - * @param parameterMap the parameter map - * @return the host name - */ - public static String getHostName(final Map parameterMap) { - if (parameterMap == null) { - return null; - } - - if (!parameterMap.containsKey(HOSTNAME_PAR)) { - LOGGER.warn(PARAMETER + HOSTNAME_PAR + NOT_FOUND); - return null; - } - - final String[] hostNameValue = parameterMap.get(HOSTNAME_PAR); - if (hostNameValue == null) { - return null; - } - - if (hostNameValue.length == 0 || hostNameValue[0].trim().length() == 0) { - LOGGER.warn("value of parameter \"" + HOSTNAME_PAR + NOT_FOUND); - return null; - } - - return hostNameValue[0]; - } - - /** - * Gets the port. - * - * @param parameterMap the parameter map - * @return the port - */ - public static int getPort(final Map parameterMap) { - if (parameterMap == null) { - return -1; - } - - if (!parameterMap.containsKey(PORT_PAR)) { - LOGGER.warn(PARAMETER + PORT_PAR + NOT_FOUND); - return -1; - } - - final String[] portValue = parameterMap.get(PORT_PAR); - - if (portValue.length == 0 || portValue[0].trim().length() == 0) { - LOGGER.warn("value of parameter \"" + PORT_PAR + NOT_FOUND); - return -1; - } - - int port = -1; - try { - port = Integer.parseInt(portValue[0]); - } catch (final Exception e) { - LOGGER.warn(VALUE + portValue[0] + OF_PARAMETER + PORT_PAR + "\" not a valid integer", e); - return -1; - } - - if (port <= 0 || port > MAX_PORT) { - String message = VALUE + portValue[0] + OF_PARAMETER + PORT_PAR - + "\" not a valid port between 0 and 65535"; - LOGGER.warn(message); - return -1; - } - - return port; - } - - /** - * Gets the engine key. - * - * @param parameterMap the parameter map - * @return the engine key - */ - public static AxArtifactKey getEngineKey(final Map parameterMap) { - if (parameterMap == null) { - return null; - } - - String artifactKeyParameter = null; - for (final String parameter : parameterMap.keySet()) { - // Check for an AxArtifactKey parameter - if (parameter.startsWith(AXARTIFACTKEY_PAR)) { - artifactKeyParameter = parameter; - break; - } - } - if (artifactKeyParameter == null) { - LOGGER.warn(PARAMETER + AXARTIFACTKEY_PAR + NOT_FOUND); - return null; - } - - final String[] axArtifactKeyArray = artifactKeyParameter.split("#"); - - if (axArtifactKeyArray.length != 2) { - String message = VALUE + artifactKeyParameter + "\" of parameter \"" + AXARTIFACTKEY_PAR - + "\" not valid"; - LOGGER.warn(message); - return null; - } - - try { - return new AxArtifactKey(axArtifactKeyArray[1]); - } catch (Exception apEx) { - LOGGER.trace("invalid artifact key ID {}", axArtifactKeyArray[1], apEx); - return null; - } - } - - /** - * Gets the start stop. - * - * @param parameterMap the parameter map - * @param engineKey the engine key - * @return the start stop - */ - public static ParameterCheck.StartStop getStartStop(final Map parameterMap, - final AxArtifactKey engineKey) { - if (parameterMap == null || engineKey == null) { - return null; - } - - final String startStopPar = AXARTIFACTKEY_PAR + '#' + engineKey.getId(); - if (!parameterMap.containsKey(startStopPar)) { - LOGGER.warn("parameter \"{}\" not found", startStopPar); - return null; - } - - final String[] startStopValue = parameterMap.get(startStopPar); - if (startStopValue == null) { - return null; - } - - if (startStopValue.length == 0 || startStopValue[0].trim().length() == 0) { - LOGGER.warn("value of parameter \"{}\" not found", startStopPar); - return null; - } - - ParameterCheck.StartStop startStop; - if ("start".equalsIgnoreCase(startStopValue[0])) { - startStop = ParameterCheck.StartStop.START; - } else if ("stop".equalsIgnoreCase(startStopValue[0])) { - startStop = ParameterCheck.StartStop.STOP; - } else { - LOGGER.warn("value \"{}\"of parameter \"{}\" not \"start\" or \"stop\"", startStopValue[0], startStopPar); - return null; - } - - return startStop; - } - - /** - * Find and return a long value with the given name. - * - * @param parameterMap The parameter map containing the value - * @param longName The name of the long parameter - * @return The long value - */ - public static long getLong(final Map parameterMap, final String longName) { - if (parameterMap == null || longName == null) { - return -1; - } - - if (!parameterMap.containsKey(longName)) { - LOGGER.warn("parameter \"{}\" not found", longName); - return -1; - } - - final String[] longValue = parameterMap.get(longName); - - if (longValue == null) { - return -1; - } - - if (longValue.length == 0 || longValue[0].trim().length() == 0) { - LOGGER.warn("value of parameter \"{}\" not found", longName); - return -1; - } - - try { - return Long.parseLong(longValue[0]); - } catch (final Exception e) { - LOGGER.warn(VALUE + longValue[0] + OF_PARAMETER + longName + "\" not a valid long", e); - return -1; - } - } -} diff --git a/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/package-info.java b/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/package-info.java deleted file mode 100644 index 997e411a6..000000000 --- a/client/client-deployment/src/main/java/org/onap/policy/apex/client/deployment/rest/package-info.java +++ /dev/null @@ -1,27 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -/** - * Implements the RESTful deployment for Apex. - * - * @author Liam Fallon (liam.fallon@ericsson.com) - */ - -package org.onap.policy.apex.client.deployment.rest; diff --git a/client/client-deployment/src/main/resources/webapp/WEB-INF/web.xml b/client/client-deployment/src/main/resources/webapp/WEB-INF/web.xml deleted file mode 100644 index b79cf362a..000000000 --- a/client/client-deployment/src/main/resources/webapp/WEB-INF/web.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - apex-services.rest - org.glassfish.jersey.servlet.ServletContainer - - jersey.config.server.provider.packages - org.onap.policy.apex.client.deployment.rest - - - jersey.config.server.provider.classnames - org.glassfish.jersey.media.multipart.MultiPartFeature - - 1 - - - apex-services.rest - /apexservices/* - - - \ No newline at end of file diff --git a/client/client-deployment/src/main/resources/webapp/index.html b/client/client-deployment/src/main/resources/webapp/index.html deleted file mode 100644 index 61b22ea3d..000000000 --- a/client/client-deployment/src/main/resources/webapp/index.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - -Apex Deployment - - - - - - - - - - - - - - -

-
Apex
-
-
- -
- -
-
- Apex -
- -
- -
-

Apex Deployment

-
- - - - -
- - -

Engine Service

-
- - -

Apex Model Loading

-
- -
-
- - - - - - - - - - - - - diff --git a/client/client-deployment/src/main/resources/webapp/js/ApexAjax.js b/client/client-deployment/src/main/resources/webapp/js/ApexAjax.js deleted file mode 100644 index beb2cb11d..000000000 --- a/client/client-deployment/src/main/resources/webapp/js/ApexAjax.js +++ /dev/null @@ -1,84 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -/* - * Send a GET request - */ -function ajax_get(requestURL, callback, hostName, port, params, errorCallback) { - var data = { - hostName : hostName, - port : port - }; - for ( var p in params) { - data[p] = params[p]; - } - return $.ajax({ - type : 'GET', - url : requestURL, - dataType : "json", - data : data, - success : function(data, textStatus, jqXHR) { - if (callback) { - callback(data); - } - }, - error : function(jqXHR, textStatus, errorThrown) { - if (jqXHR.status == 500 || jqXHR.status == 404) { - if (jqXHR.responseText.indexOf("cound not handshake with server") !== -1 || jqXHR.status == 404) { - clearEngineURL(); - getEngineURL(jqXHR.responseText); - } else { - apexErrorDialog_activate(document.body, jqXHR.responseText); - } - } - if (errorCallback) { - errorCallback(jqXHR, textStatus, errorThrown); - } - } - }); -} - -/* - * Send a POST request and add a file to its payload - */ -function ajax_upload(requestURL, callback, hostName, port, fileUrl, ignoreConflicts, forceUpdate) { - var formData = new FormData(); - formData.append("hostName", hostName); - formData.append("port", port); - formData.append("file", fileUrl); - formData.append("ignoreConflicts", ignoreConflicts); - formData.append("forceUpdate", forceUpdate); - return $.ajax({ - url : requestURL, - type : "POST", - contentType : false, - dataType : "text", - processData : false, - data : formData, - success : function(data, textStatus, jqXHR) { - callback(data); - }, - error : function(jqXHR, textStatus, errorThrown) { - if (jqXHR.status == 500) { - apexErrorDialog_activate(document.body, jqXHR.responseText); - } - } - }); -} diff --git a/client/client-deployment/src/main/resources/webapp/js/ApexEngineService.js b/client/client-deployment/src/main/resources/webapp/js/ApexEngineService.js deleted file mode 100644 index f47c98f07..000000000 --- a/client/client-deployment/src/main/resources/webapp/js/ApexEngineService.js +++ /dev/null @@ -1,101 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -/* - * Create the Engine Service Table - */ -function createEngineServiceTable() { - var tableId = config.engineService.tableId; - var headers = config.engineService.headers; - var table = createEngineTable($("." + config.engineService.parent), tableId, headers.map(function(a) { - return a.title; - })); - var tableRow = document.createElement("tr"); - var tableData = ""; - for ( var h in headers) { - tableData += ""; - } - tableRow.innerHTML = tableData; - var actionTD = $(tableRow).find("#" + tableId + "_periodic_events"); - actionTD - .html(''); - var period = actionTD.find("#period"); - var switcher = actionTD.find(".ebSwitcher"); - switcher.css('display', 'inline-block'); - switcher.css('margin-left', '5px'); - switcher.css('vertical-align', 'middle'); - var checkbox = $(actionTD).find('input:checkbox:first'); - checkbox.change(function(event) { - var startstop; - if (checkbox.prop('checked')) { - startstop = "Stop"; - } else { - startstop = "Start"; - } - this.servicesCall.abort(); - ajax_get(restRootURL + "periodiceventstartstop", startStopCallback, this.engineURL.hostname, - this.engineURL.port, { - engineId : this.engineId, - startstop : startstop, - period : period.val() - }, resetPeriodicEvents); - }.bind(this)); - $(table).children("#engineTableBody").append(tableRow); -} - -/* - * Check for any changes in the Engine Service Table data and update only where - * necessary - */ -function setEngineServiceData(engineId, modelId, server, port, periodicEvents) { - this.engineId = engineId; - var tableId = config.engineService.tableId; - var headers = config.engineService.headers.map(function(a) { - return a.id; - }); - var data = [ engineId, server + ":" + port, modelId ]; - - var engineServiceTable = $("#engineServicesTable"); - - for ( var h in headers) { - var td = engineServiceTable.find("#" + tableId + "_" + headers[h]); - if (td.html() !== data[h]) { - engineServiceTable.find("#" + tableId + "_" + headers[h]).html(data[h]); - } - } - - var actionTD = engineServiceTable.find("#" + tableId + "_periodic_events"); - var checkbox = $(actionTD).find('input:checkbox:first'); - if (checkbox.is(":checked") === periodicEvents) { - checkbox.prop("checked", !checkbox.prop("checked")); - } -} - -/* - * Resets the switcher for Periodic Events in the Engine Service Table - */ -function resetPeriodicEvents() { - var engineServiceTable = $("#engineServicesTable"); - var periodicEventsTD = $(engineServiceTable).find("#engineServicesTable_periodic_events"); - var checkbox = $(periodicEventsTD).find('input:checkbox:first'); - if (checkbox.is(":checked")) { - checkbox.prop("checked", false); - } -} diff --git a/client/client-deployment/src/main/resources/webapp/js/ApexModelLoading.js b/client/client-deployment/src/main/resources/webapp/js/ApexModelLoading.js deleted file mode 100644 index 8bd051f0f..000000000 --- a/client/client-deployment/src/main/resources/webapp/js/ApexModelLoading.js +++ /dev/null @@ -1,63 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -/* - * Create the div for uploading Apex models - */ -function createModelLoadingDiv() { - var fileLoader = document.createElement("input"); - fileLoader.setAttribute("type", "file"); - fileLoader.setAttribute("name", "apexModelFile"); - fileLoader.setAttribute("label", "Load Apex Model XML file"); - $('.modelLoading').append(fileLoader); - - var ignoreConflictsCheckbox = document.createElement("input"); - ignoreConflictsCheckbox.setAttribute("type", "checkbox"); - ignoreConflictsCheckbox.setAttribute("name", "ignoreContextConflicts"); - $('.modelLoading').append(ignoreConflictsCheckbox); - - ignoreConflictsLabel = document.createElement("label"); - ignoreConflictsLabel.setAttribute("class", "ignoreConflictsLabel"); - ignoreConflictsLabel.innerHTML = "Ignore Context Conflicts"; - $('.modelLoading').append(ignoreConflictsLabel); - - var forceUpdateCheckbox = document.createElement("input"); - forceUpdateCheckbox.setAttribute("type", "checkbox"); - forceUpdateCheckbox.setAttribute("name", "forceUpdate"); - $('.modelLoading').append(forceUpdateCheckbox); - - forceUpdateLabel = document.createElement("label"); - forceUpdateLabel.setAttribute("class", "ignoreConflictsLabel"); - forceUpdateLabel.innerHTML = "Force Update"; - $('.modelLoading').append(forceUpdateLabel); - - var submitButton = document.createElement("button"); - submitButton.setAttribute("class", "ebBtn"); - submitButton.innerHTML = "Load Apex Model XML file"; - $(submitButton).click( - function() { - var file = fileLoader.files[0]; - var ignoreConflicts = $(ignoreConflictsCheckbox).is(":checked"); - var forceUpdate = $(forceUpdateCheckbox).is(":checked"); - ajax_upload(restRootURL + "modelupload/", uploadCallback, this.engineURL.hostname, this.engineURL.port, - file, ignoreConflicts, forceUpdate); - }.bind(this)); - $('.modelLoading').append(submitButton); -} \ No newline at end of file diff --git a/client/client-deployment/src/main/resources/webapp/js/ApexServicesMain.js b/client/client-deployment/src/main/resources/webapp/js/ApexServicesMain.js deleted file mode 100644 index a54815ab3..000000000 --- a/client/client-deployment/src/main/resources/webapp/js/ApexServicesMain.js +++ /dev/null @@ -1,147 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -var restRootURL; - -var config = { - refresh : 5000, - engineService : { - parent : "engineService", - tableId : "engineServicesTable", - headers : [ { - title : "Engine Service ID", - id : "engine_id" - }, { - title : "server:port", - id : "server_port" - }, { - title : "Model ID", - id : "model_id" - } ] - } -} - -/* - * Callback for showing model info - */ -function servicesCallback(data) { - // If engine url in cookie has not been cleared - if (localStorage.getItem("apex-monitor-services")) { - setEngineServiceData(data.engine_id, data.model_id, data.server, data.port, data.periodic_events); - - // Make content visible after data has been returned for the first time - if (!$(".content").is(':visible')) { - $(".content").fadeIn(); - } - - // Repeat the same request - setTimeout(function() { - this.servicesCall = ajax_get(restRootURL, servicesCallback, this.engineURL.hostname, this.engineURL.port); - }, config.refresh); - } -} - -/* - * Callback for uploading a model - */ -function uploadCallback(response) { - // Open a dialog showing the response - apexSuccessDialog_activate(document.body, response); -} - -/* - * Clears and resets all content on the page - */ -function setUpPage() { - // Clear each div - $('#content > div').each(function() { - $(this).empty(); - }); - - // Set up content div's - createEngineServiceTable(); - createModelLoadingDiv(); -} - -/* - * Retrieves the engine URL from the cookie. If it has not been set yet, then a - * dialog is shown asking for it - */ -function getEngineURL(message) { - // The engine URL is stored in a cookie using the key - // "apex-monitor-services" - var engineURL = localStorage.getItem("apex-monitor-services"); - - // This url is used to store the last known engine URL so that the user - // doesn't have to retype it every time - var oldEngineURL = localStorage.getItem("apex-monitor-services_old"); - - // If an engine URL is stored in the cookie - if (engineURL) { - // Parse the engine URL - this.engineURL = JSON.parse(engineURL); - - // Send a request with that engine URL - this.servicesCall = ajax_get(restRootURL, servicesCallback, this.engineURL.hostname, this.engineURL.port); - } else { - // Prompt for engine URL - apexDialogForm_activate(document.body, message); - } -} - -/* - * Clears the cookie and reset the page - */ -function clearEngineURL() { - // Remove engine URL from cookie - localStorage.removeItem("apex-monitor-services"); - - // Reset the page - setUpPage(); -} - -/* - * Called after the DOM is ready - */ -$(document).ready( - function() { - restRootURL = location.protocol - + "//" - + window.location.hostname - + (location.port ? ':' + location.port : '') - + (location.pathname.endsWith("/deployment/") ? location.pathname.substring(0, location.pathname - .indexOf("deployment/")) : location.pathname) + "apexservices/deployment/"; - - // Set up the structure of the page - setUpPage(); - - // Check cookies for engine URL - getEngineURL(); - - // Add click event to config icon for clearing engine URL - $(".ebSystemBar-config").click(function() { - // Clear the engine URL - clearEngineURL(); - - // Request the engine URL - getEngineURL(); - }); - - }); \ No newline at end of file diff --git a/client/client-deployment/src/main/resources/webapp/js/ApexTable.js b/client/client-deployment/src/main/resources/webapp/js/ApexTable.js deleted file mode 100644 index 20e3d08bd..000000000 --- a/client/client-deployment/src/main/resources/webapp/js/ApexTable.js +++ /dev/null @@ -1,59 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -/* - * Create a table with given headers - */ -function createEngineTable(parent, id, tableHeaders) { - var table = createTable(id); - - var tableHead = document.createElement("thead"); - table.appendChild(tableHead); - tableHead.setAttribute("id", "engineTableHeader"); - - var tableHeaderRow = document.createElement("tr"); - tableHead.appendChild(tableHeaderRow); - tableHeaderRow.setAttribute("id", "engineTableHeaderRow"); - - for ( var t in tableHeaders) { - var tableHeader = document.createElement("th"); - tableHeaderRow.appendChild(tableHeader); - tableHeader.setAttribute("id", "engineTableHeader"); - tableHeader.appendChild(document.createTextNode(tableHeaders[t])); - } - - var tableBody = document.createElement("tbody"); - tableBody.setAttribute("id", "engineTableBody"); - table.appendChild(tableBody); - - parent.append(table); - - return table; -} - -/* - * Create a table and apply UISDK styles to it - */ -function createTable(id) { - var table = document.createElement("table"); - table.setAttribute("id", id); - table.setAttribute("class", "apexTable ebTable elTablelib-Table-table ebTable_striped"); - return table; -} \ No newline at end of file diff --git a/client/client-deployment/src/main/resources/webapp/js/ApexUtils.js b/client/client-deployment/src/main/resources/webapp/js/ApexUtils.js deleted file mode 100644 index 0f5e689fd..000000000 --- a/client/client-deployment/src/main/resources/webapp/js/ApexUtils.js +++ /dev/null @@ -1,212 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2016-2018 Ericsson. 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -/* - * Crate a dialog with input, attach it to a given parent and show an optional message - */ -function apexDialogForm_activate(formParent, message) { - apexUtils_removeElement("apexDialogDiv"); - - var contentelement = document.createElement("apexDialogDiv"); - var formDiv = document.createElement("div"); - var backgroundDiv = document.createElement("div"); - backgroundDiv.setAttribute("id", "apexDialogDivBackground"); - backgroundDiv.setAttribute("class", "apexDialogDivBackground"); - - backgroundDiv.appendChild(formDiv); - contentelement.appendChild(backgroundDiv); - formParent.appendChild(contentelement); - - formDiv.setAttribute("id", "apexDialogDiv"); - formDiv.setAttribute("class", "apexDialogDiv"); - - var headingSpan = document.createElement("span"); - formDiv.appendChild(headingSpan); - - headingSpan.setAttribute("class", "headingSpan"); - headingSpan.innerHTML = "Apex Engine Configuration"; - - var form = document.createElement("apexDialog"); - formDiv.appendChild(form); - - form.setAttribute("id", "apexDialog"); - form.setAttribute("class", "form-style-1"); - form.setAttribute("method", "post"); - - if (message) { - var messageLI = document.createElement("li"); - messageLI.setAttribute("class", "dialogMessage"); - messageLI.innerHTML = message; - form.appendChild(messageLI); - } - - var urlLI = document.createElement("li"); - form.appendChild(urlLI); - - var urlLabel = document.createElement("label"); - urlLI.appendChild(urlLabel); - - urlLabel.setAttribute("for", "apexDialogUrlInput"); - urlLabel.innerHTML = "Apex Engine rest URL:"; - - var urlLabelSpan = document.createElement("span"); - urlLabel.appendChild(urlLabelSpan); - - urlLabelSpan.setAttribute("class", "required"); - urlLabelSpan.innerHTML = "*"; - - var engineUrl = localStorage.getItem("apex-monitor-services_old"); - - var urlInput = document.createElement("input"); - urlInput.setAttribute("id", "services_url_input"); - urlInput.setAttribute("placeholder", "localhost:12345"); - urlInput.value = (engineUrl && engineUrl !== "null") ? JSON.parse(engineUrl).hostname + ":" - + JSON.parse(engineUrl).port : ""; - urlLI.appendChild(urlInput); - - var inputLI = document.createElement("li"); - form.appendChild(inputLI); - - var submitInput = document.createElement("input"); - submitInput.setAttribute("id", "submit"); - submitInput.setAttribute("class", "button ebBtn"); - submitInput.setAttribute("type", "submit"); - submitInput.setAttribute("value", "Submit"); - submitInput.onclick = apexDialogForm_submitPressed; - inputLI.appendChild(submitInput); - - // Enter key press triggers submit - $(urlInput).keyup(function(event) { - if (event.keyCode == 13) { - $(submitInput).click(); - } - }); - - urlInput.focus(); -} - -/* - * Create a dialog for displaying text - */ -function apexTextDialog_activate(formParent, message, title) { - apexUtils_removeElement("apexDialogDiv"); - - var contentelement = document.createElement("div"); - contentelement.setAttribute("id", "apexDialogDiv") - var formDiv = document.createElement("div"); - var backgroundDiv = document.createElement("div"); - backgroundDiv.setAttribute("id", "apexDialogDivBackground"); - backgroundDiv.setAttribute("class", "apexDialogDivBackground"); - - backgroundDiv.appendChild(formDiv); - contentelement.appendChild(backgroundDiv); - formParent.appendChild(contentelement); - - formDiv.setAttribute("id", "apexErrorDialogDiv"); - formDiv.setAttribute("class", "apexDialogDiv apexErrorDialogDiv"); - - var headingSpan = document.createElement("span"); - formDiv.appendChild(headingSpan); - - headingSpan.setAttribute("class", "headingSpan"); - headingSpan.innerHTML = title; - - var form = document.createElement("div"); - formDiv.appendChild(form); - - form.setAttribute("id", "apexDialog"); - form.setAttribute("class", "form-style-1"); - form.setAttribute("method", "post"); - - if (message) { - var messageLI = document.createElement("li"); - messageLI.setAttribute("class", "dialogMessage"); - messageLI.innerHTML = message; - form.appendChild(messageLI); - } - - var inputLI = document.createElement("li"); - form.appendChild(inputLI); - - var cancelInput = document.createElement("input"); - cancelInput.setAttribute("class", "button ebBtn"); - cancelInput.setAttribute("type", "submit"); - cancelInput.setAttribute("value", "Close"); - cancelInput.onclick = newModelForm_cancelPressed; - form.appendChild(cancelInput); -} - -/* - * Create a Success dialog - */ -function apexSuccessDialog_activate(formParent, message) { - apexTextDialog_activate(formParent, message, "Success"); -} - -/* - * Create an Error dialog - */ -function apexErrorDialog_activate(formParent, message) { - apexTextDialog_activate(formParent, message, "Error"); -} - -/* - * Dialog cancel callback - */ -function newModelForm_cancelPressed() { - apexUtils_removeElement("apexDialogDivBackground"); -} - -/* - * Dialog submit callback - */ -function apexDialogForm_submitPressed() { - var url = $('#services_url_input').val(); - if (url && url.length > 0) { - var engineConfig = { - hostname : url.split(":")[0], - port : url.split(":")[1] - }; - localStorage.setItem("apex-monitor-services_old", JSON.stringify(engineConfig)); - localStorage.setItem("apex-monitor-services", JSON.stringify(engineConfig)); - apexUtils_removeElement("apexDialogDivBackground"); - getEngineURL(); - } -} - -/* - * Remove an element from the page - */ -function apexUtils_removeElement(elementname) { - var element = document.getElementById(elementname); - if (element != null) { - element.parentNode.removeChild(element); - } -} - -function getHomepageURL() { - var homepageURL = location.protocol - + "//" - + window.location.hostname - + (location.port ? ':' + location.port : '') - + (location.pathname.endsWith("/deployment/") ? location.pathname.substring(0, location.pathname - .indexOf("deployment/")) : location.pathname); - location.href = homepageURL; -} \ No newline at end of file diff --git a/client/client-deployment/src/main/resources/webapp/resources/16px/rowCollapsed_black_16px.svg b/client/client-deployment/src/main/resources/webapp/resources/16px/rowCollapsed_black_16px.svg deleted file mode 100644 index 6878c863c..000000000 --- a/client/client-deployment/src/main/resources/webapp/resources/16px/rowCollapsed_black_16px.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - -]> - - - - - - - - - - diff --git a/client/client-deployment/src/main/resources/webapp/resources/16px/rowExpanded_black_16px.svg b/client/client-deployment/src/main/resources/webapp/resources/16px/rowExpanded_black_16px.svg deleted file mode 100644 index 5e3e46a66..000000000 --- a/client/client-deployment/src/main/resources/webapp/resources/16px/rowExpanded_black_16px.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - -]> - - - - - - - - - diff --git a/client/client-deployment/src/main/resources/webapp/resources/16px/settings_black_16px.svg b/client/client-deployment/src/main/resources/webapp/resources/16px/settings_black_16px.svg deleted file mode 100644 index c347888e9..000000000 --- a/client/client-deployment/src/main/resources/webapp/resources/16px/settings_black_16px.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - -]> - - - - - - - diff --git a/client/client-deployment/src/main/resources/webapp/resources/models/SmallModel.json b/client/client-deployment/src/main/resources/webapp/resources/models/SmallModel.json deleted file mode 100644 index 5c0628809..000000000 --- a/client/client-deployment/src/main/resources/webapp/resources/models/SmallModel.json +++ /dev/null @@ -1,416 +0,0 @@ -{ - "apexPolicyModel" : { - "key" : { - "name" : "SmallModel", - "version" : "0.0.1" - }, - "keyInformation" : { - "key" : { - "name" : "SmallModel_KeyInfo", - "version" : "0.0.1" - }, - "keyInfoMap" : { - "entry" : [ { - "key" : { - "name" : "BasicContextAlbum", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "BasicContextAlbum", - "version" : "0.0.1" - }, - "UUID" : "fec1b353-b35f-4384-b7d9-69622059c248", - "description" : "Generated description for a concept called \"BasicContextAlbum\" with version \"0.0.1\" and UUID \"fec1b353-b35f-4384-b7d9-69622059c248\"" - } - }, { - "key" : { - "name" : "BasicEvent", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "BasicEvent", - "version" : "0.0.1" - }, - "UUID" : "cc8d3c1a-e975-459a-bcd2-69f423eaa1f3", - "description" : "Generated description for a concept called \"BasicEvent\" with version \"0.0.1\" and UUID \"cc8d3c1a-e975-459a-bcd2-69f423eaa1f3\"" - } - }, { - "key" : { - "name" : "BasicPolicy", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "BasicPolicy", - "version" : "0.0.1" - }, - "UUID" : "d0c5d8ee-5fe7-4978-89ce-4a3e69cad043", - "description" : "Generated description for a concept called \"BasicPolicy\" with version \"0.0.1\" and UUID \"d0c5d8ee-5fe7-4978-89ce-4a3e69cad043\"" - } - }, { - "key" : { - "name" : "BasicTask", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "BasicTask", - "version" : "0.0.1" - }, - "UUID" : "c5651414-fc1c-493b-878d-75f0ce685c36", - "description" : "Generated description for a concept called \"BasicTask\" with version \"0.0.1\" and UUID \"c5651414-fc1c-493b-878d-75f0ce685c36\"" - } - }, { - "key" : { - "name" : "IntType", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "IntType", - "version" : "0.0.1" - }, - "UUID" : "790ff718-8dc0-44e0-89d8-1b3bbe238310", - "description" : "Generated description for a concept called \"IntType\" with version \"0.0.1\" and UUID \"790ff718-8dc0-44e0-89d8-1b3bbe238310\"" - } - }, { - "key" : { - "name" : "SmallModel", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "SmallModel", - "version" : "0.0.1" - }, - "UUID" : "a1bd1f4e-713b-456b-b1a8-bb48beee28e8", - "description" : "Generated description for a concept called \"SmallModel\" with version \"0.0.1\" and UUID \"a1bd1f4e-713b-456b-b1a8-bb48beee28e8\"" - } - }, { - "key" : { - "name" : "SmallModel_Albums", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "SmallModel_Albums", - "version" : "0.0.1" - }, - "UUID" : "72bed9af-ab7d-3379-b9f7-b5eca5c9ef22", - "description" : "Generated description for concept referred to by key \"SmallModel_Albums:0.0.1\"" - } - }, { - "key" : { - "name" : "SmallModel_Events", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "SmallModel_Events", - "version" : "0.0.1" - }, - "UUID" : "796dc6b0-627d-34ae-a5e2-1bc4b4b486b8", - "description" : "Generated description for concept referred to by key \"SmallModel_Events:0.0.1\"" - } - }, { - "key" : { - "name" : "SmallModel_KeyInfo", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "SmallModel_KeyInfo", - "version" : "0.0.1" - }, - "UUID" : "b4876774-6907-3d27-a2b8-f05737c5ee4a", - "description" : "Generated description for concept referred to by key \"SmallModel_KeyInfo:0.0.1\"" - } - }, { - "key" : { - "name" : "SmallModel_Policies", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "SmallModel_Policies", - "version" : "0.0.1" - }, - "UUID" : "5bcf946b-67be-3190-a906-f954896f999f", - "description" : "Generated description for concept referred to by key \"SmallModel_Policies:0.0.1\"" - } - }, { - "key" : { - "name" : "SmallModel_Schemas", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "SmallModel_Schemas", - "version" : "0.0.1" - }, - "UUID" : "c25bf5c3-7f1e-3667-b8a9-971ba21517bc", - "description" : "Generated description for concept referred to by key \"SmallModel_Schemas:0.0.1\"" - } - }, { - "key" : { - "name" : "SmallModel_Tasks", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "SmallModel_Tasks", - "version" : "0.0.1" - }, - "UUID" : "43b015ca-2ed1-3a35-b103-e8a5aa68f1ef", - "description" : "Generated description for concept referred to by key \"SmallModel_Tasks:0.0.1\"" - } - } ] - } - }, - "policies" : { - "key" : { - "name" : "SmallModel_Policies", - "version" : "0.0.1" - }, - "policyMap" : { - "entry" : [ { - "key" : { - "name" : "BasicPolicy", - "version" : "0.0.1" - }, - "value" : { - "policyKey" : { - "name" : "BasicPolicy", - "version" : "0.0.1" - }, - "template" : "FREEFORM", - "state" : { - "entry" : [ { - "key" : "OnlyState", - "value" : { - "stateKey" : { - "parentKeyName" : "BasicPolicy", - "parentKeyVersion" : "0.0.1", - "parentLocalName" : "NULL", - "localName" : "OnlyState" - }, - "trigger" : { - "name" : "BasicEvent", - "version" : "0.0.1" - }, - "stateOutputs" : { - "entry" : [ { - "key" : "OnlyOutput", - "value" : { - "key" : { - "parentKeyName" : "BasicPolicy", - "parentKeyVersion" : "0.0.1", - "parentLocalName" : "OnlyState", - "localName" : "OnlyOutput" - }, - "outgoingEvent" : { - "name" : "BasicEvent", - "version" : "0.0.1" - }, - "nextState" : { - "parentKeyName" : "NULL", - "parentKeyVersion" : "0.0.0", - "parentLocalName" : "NULL", - "localName" : "NULL" - } - } - } ] - }, - "contextAlbumReference" : [ { - "name" : "BasicContextAlbum", - "version" : "0.0.1" - } ], - "taskSelectionLogic" : { - "key" : "NULL", - "logicFlavour" : "UNDEFINED", - "logic" : "" - }, - "stateFinalizerLogicMap" : { - "entry" : [ ] - }, - "defaultTask" : { - "name" : "BasicTask", - "version" : "0.0.1" - }, - "taskReferences" : { - "entry" : [ { - "key" : { - "name" : "BasicTask", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "parentKeyName" : "BasicPolicy", - "parentKeyVersion" : "0.0.1", - "parentLocalName" : "OnlyState", - "localName" : "BasicTask" - }, - "outputType" : "DIRECT", - "output" : { - "parentKeyName" : "BasicPolicy", - "parentKeyVersion" : "0.0.1", - "parentLocalName" : "OnlyState", - "localName" : "OnlyOutput" - } - } - } ] - } - } - } ] - }, - "firstState" : "OnlyState" - } - } ] - } - }, - "tasks" : { - "key" : { - "name" : "SmallModel_Tasks", - "version" : "0.0.1" - }, - "taskMap" : { - "entry" : [ { - "key" : { - "name" : "BasicTask", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "BasicTask", - "version" : "0.0.1" - }, - "inputFields" : { - "entry" : [ { - "key" : "intPar", - "value" : { - "key" : "intPar", - "fieldSchemaKey" : { - "name" : "IntType", - "version" : "0.0.1" - }, - "optional" : false - } - } ] - }, - "outputFields" : { - "entry" : [ { - "key" : "intPar", - "value" : { - "key" : "intPar", - "fieldSchemaKey" : { - "name" : "IntType", - "version" : "0.0.1" - }, - "optional" : false - } - } ] - }, - "taskParameters" : { - "entry" : [ ] - }, - "contextAlbumReference" : [ { - "name" : "BasicContextAlbum", - "version" : "0.0.1" - } ], - "taskLogic" : { - "key" : "TaskLogic", - "logicFlavour" : "JAVASCRIPT", - "logic" : "executor.logger.debug(executor.subject.id);\nvar gc = executor.getContextAlbum(\"BasicContextAlbum\");\nexecutor.logger.debug(gc.name);\nexecutor.logger.debug(executor.inFields);\n\nexecutor.logger.debug(executor.eo);\n\nvar returnValue = executor.isTrue;" - } - } - } ] - } - }, - "events" : { - "key" : { - "name" : "SmallModel_Events", - "version" : "0.0.1" - }, - "eventMap" : { - "entry" : [ { - "key" : { - "name" : "BasicEvent", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "BasicEvent", - "version" : "0.0.1" - }, - "nameSpace" : "org.onap.policy.apex.events", - "source" : "source", - "target" : "target", - "parameter" : { - "entry" : [ { - "key" : "intPar", - "value" : { - "key" : "intPar", - "fieldSchemaKey" : { - "name" : "IntType", - "version" : "0.0.1" - }, - "optional" : false - } - } ] - } - } - } ] - } - }, - "albums" : { - "key" : { - "name" : "SmallModel_Albums", - "version" : "0.0.1" - }, - "albums" : { - "entry" : [ { - "key" : { - "name" : "BasicContextAlbum", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "BasicContextAlbum", - "version" : "0.0.1" - }, - "scope" : "GLOBAL", - "isWritable" : true, - "itemSchema" : { - "name" : "IntType", - "version" : "0.0.1" - } - } - } ] - } - }, - "schemas" : { - "key" : { - "name" : "SmallModel_Schemas", - "version" : "0.0.1" - }, - "schemas" : { - "entry" : [ { - "key" : { - "name" : "IntType", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "IntType", - "version" : "0.0.1" - }, - "schemaFlavour" : "Java", - "schemaDefinition" : "java.lang.Integer" - } - } ] - } - } - } -} diff --git a/client/client-deployment/src/main/resources/webapp/resources/systemBar/help_black.svg b/client/client-deployment/src/main/resources/webapp/resources/systemBar/help_black.svg deleted file mode 100644 index 14fdf5d35..000000000 --- a/client/client-deployment/src/main/resources/webapp/resources/systemBar/help_black.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - diff --git a/client/client-deployment/src/main/resources/webapp/resources/systemBar/logout_black.svg b/client/client-deployment/src/main/resources/webapp/resources/systemBar/logout_black.svg deleted file mode 100644 index af297acde..000000000 --- a/client/client-deployment/src/main/resources/webapp/resources/systemBar/logout_black.svg +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - diff --git a/client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/DeploymentExceptionTest.java b/client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/DeploymentExceptionTest.java deleted file mode 100644 index d89f1faa6..000000000 --- a/client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/DeploymentExceptionTest.java +++ /dev/null @@ -1,38 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019 Nordix Foundation. - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.apex.client.deployment.rest; - -import static org.junit.Assert.assertEquals; - -import org.junit.Test; - -/** - * Test the REST Deployment exception. - * - */ -public class DeploymentExceptionTest { - - @Test - public void test() { - ApexDeploymentRestParameterException ame = new ApexDeploymentRestParameterException("a message"); - assertEquals("a message", ame.getMessage()); - } -} diff --git a/client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/DeploymentRestMainTest.java b/client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/DeploymentRestMainTest.java deleted file mode 100644 index 1ab6cc1d9..000000000 --- a/client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/DeploymentRestMainTest.java +++ /dev/null @@ -1,215 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019-2020 Nordix Foundation. - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.apex.client.deployment.rest; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatCode; -import static org.assertj.core.api.Assertions.catchThrowable; -import static org.awaitility.Awaitility.await; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.InputStream; -import java.io.PrintStream; -import java.util.concurrent.TimeUnit; -import org.junit.After; -import org.junit.Test; - -/** - * Test the periodic event manager utility. - */ -public class DeploymentRestMainTest { - private static InputStream systemInStream = System.in; - - @Test - public void testDeploymentClientOk() { - final String[] eventArgs = {"-t", "1", "-p", "1256"}; - assertThatCode(() -> ApexDeploymentRestMain.main(eventArgs)).doesNotThrowAnyException(); - } - - @Test - public void testDeploymentClientNoOptions() { - final String[] eventArgs = new String[] {}; - assertThat(testApexDeploymentRestMainConstructor(eventArgs)).isEqualTo("*** StdOut ***\n\n*** StdErr ***\n"); - } - - @Test - public void testDeploymentClientBadOptions() { - final String[] eventArgs = {"-zabbu"}; - Throwable thrown = catchThrowable(() -> new ApexDeploymentRestMain(eventArgs, System.out)); - - assertThat(thrown).isInstanceOf(Exception.class) - .hasMessageContaining("Apex Services REST endpoint (ApexDeploymentRestMain: Config=[null], State=STOPPED) " - + "parameter error, invalid command line arguments specified " + ": Unrecognized option: -zabbu"); - } - - @Test - public void testDeploymentClientHelp() { - final String[] eventArgs = {"-h"}; - - Throwable thrown = catchThrowable(() -> new ApexDeploymentRestMain(eventArgs, System.out)); - - assertThat(thrown).isInstanceOf(Exception.class).hasMessageContaining( - "usage: org.onap.policy.apex.client.deployment.rest.ApexDeploymentRestMain [options...]"); - - } - - @Test - public void testDeploymentClientPortBad() { - final String[] eventArgs = {"-p", "hello"}; - - Throwable thrown = catchThrowable(() -> new ApexDeploymentRestMain(eventArgs, System.out)); - - assertThat(thrown).isInstanceOf(Exception.class) - .hasMessageContaining("Apex Services REST endpoint (ApexDeploymentRestMain: Config=[null], State=STOPPED) " - + "parameter error, error parsing argument \"port\" :For input string: \"hello\""); - - } - - @Test - public void testDeploymentClientPortNegative() { - final String[] eventArgs = {"-p", "-1"}; - - Throwable thrown = catchThrowable(() -> new ApexDeploymentRestMain(eventArgs, System.out)); - - assertThat(thrown).isInstanceOf(Exception.class).hasMessageContaining( - "Apex Services REST endpoint (ApexDeploymentRestMain: Config=[ApexDeploymentRestParameters: " - + "URI=http://localhost:-1/apexservices/, TTL=-1sec], State=STOPPED) parameters invalid, " - + "port must be greater than 1023 and less than 65536"); - - } - - @Test - public void testDeploymentClientTtlTooSmall() { - final String[] eventArgs = {"-t", "-2"}; - - Throwable thrown = catchThrowable(() -> new ApexDeploymentRestMain(eventArgs, System.out)); - - assertThat(thrown).isInstanceOf(Exception.class).hasMessageContaining( - "Apex Services REST endpoint (ApexDeploymentRestMain: Config=[ApexDeploymentRestParameters: " - + "URI=http://localhost:18989/apexservices/, TTL=-2sec], State=STOPPED) parameters invalid, " - + "time to live must be greater than -1 (set to -1 to wait forever)"); - - } - - @Test - public void testDeploymentClientTooManyPars() { - final String[] eventArgs = {"-t", "10", "-p", "12344", "aaa", "bbb"}; - - Throwable thrown = catchThrowable(() -> new ApexDeploymentRestMain(eventArgs, System.out)); - - assertThat(thrown).isInstanceOf(Exception.class) - .hasMessageContaining("Apex Services REST endpoint (ApexDeploymentRestMain: Config=[null], State=STOPPED) " - + "parameter error, too many command line arguments specified : [aaa, bbb]"); - } - - @Test - public void testDeploymentClientDefaultPars() { - assertThatCode(() -> { - ApexDeploymentRest monRest = new ApexDeploymentRest(); - monRest.shutdown(); - }).doesNotThrowAnyException(); - - } - - @Test - public void testDeploymentClientTtlNotNumber() { - final String[] eventArgs = {"-t", "timetolive"}; - - Throwable thrown = catchThrowable(() -> new ApexDeploymentRestMain(eventArgs, System.out)); - - assertThat(thrown).isInstanceOf(Exception.class) - .hasMessageContaining("Apex Services REST endpoint (ApexDeploymentRestMain: Config=[null], State=STOPPED) " - + "parameter error, error parsing argument \"time-to-live\" :" + "For input string: \"timetolive\""); - - } - - @Test - public void testDeploymentClientPortTooBig() { - final String[] eventArgs = {"-p", "65536"}; - - Throwable thrown = catchThrowable(() -> new ApexDeploymentRestMain(eventArgs, System.out)); - - assertThat(thrown).isInstanceOf(Exception.class).hasMessageContaining( - "Apex Services REST endpoint (ApexDeploymentRestMain: Config=[ApexDeploymentRestParameters: " - + "URI=http://localhost:65536/apexservices/, TTL=-1sec], State=STOPPED) parameters invalid, " - + "port must be greater than 1023 and less than 65536"); - } - - @Test - public void testDeploymentOneSecStart() { - final String[] eventArgs = {"-t", "1"}; - - assertThatCode(() -> { - ApexDeploymentRestMain monRestMain = new ApexDeploymentRestMain(eventArgs, System.out); - monRestMain.init(); - monRestMain.shutdown(); - }).doesNotThrowAnyException(); - - } - - @Test - public void testDeploymentForeverStart() { - final String[] eventArgs = {"-t", "-1"}; - - ApexDeploymentRestMain monRestMain = new ApexDeploymentRestMain(eventArgs, System.out); - - Thread monThread = new Thread() { - @Override - public void run() { - monRestMain.init(); - } - }; - - assertThatCode(() -> { - monThread.start(); - await().atMost(2, TimeUnit.SECONDS) - .until(() -> monRestMain.getState().equals(ApexDeploymentRestMain.ServicesState.RUNNING)); - monRestMain.shutdown(); - }).doesNotThrowAnyException(); - } - - @After - public void cleanUpStreamSetting() { - System.setIn(systemInStream); - } - - /** - * Run the application. - * - * @param eventArgs the command arguments - * @return a string containing the command output - */ - private String testApexDeploymentRestMainConstructor(final String[] eventArgs) { - final ByteArrayOutputStream baosOut = new ByteArrayOutputStream(); - final ByteArrayOutputStream baosErr = new ByteArrayOutputStream(); - - new ApexDeploymentRestMain(eventArgs, new PrintStream(baosOut, true)); - - InputStream testInput = new ByteArrayInputStream("Test Data for Input to WS".getBytes()); - System.setIn(testInput); - - String outString = baosOut.toString(); - String errString = baosErr.toString(); - - return "*** StdOut ***\n" + outString + "\n*** StdErr ***\n" + errString; - } -} diff --git a/client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/DeploymentRestParameterTest.java b/client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/DeploymentRestParameterTest.java deleted file mode 100644 index 16a7b2897..000000000 --- a/client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/DeploymentRestParameterTest.java +++ /dev/null @@ -1,39 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019 Nordix Foundation. - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.apex.client.deployment.rest; - -import static org.junit.Assert.assertEquals; - -import org.junit.Test; - -/** - * Extra Deployment rest tests. - * - */ -public class DeploymentRestParameterTest { - - @Test - public void test() { - ApexDeploymentRestParameters parameters = new ApexDeploymentRestParameters(); - parameters.setRestPort(12345); - assertEquals(12345, parameters.getRestPort()); - } -} diff --git a/client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/ParameterCheckTest.java b/client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/ParameterCheckTest.java deleted file mode 100644 index 9218347df..000000000 --- a/client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/ParameterCheckTest.java +++ /dev/null @@ -1,189 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019 Nordix Foundation. - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.apex.client.deployment.rest; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNull; - -import java.util.LinkedHashMap; -import java.util.Map; -import org.junit.Test; -import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey; - -/** - * Test the parameter check class. - * - */ -public class ParameterCheckTest { - - @Test - public void testStartStop() { - assertEquals("START", ParameterCheck.StartStop.START.name()); - assertEquals("STOP", ParameterCheck.StartStop.STOP.name()); - } - - @Test - public void testHostName() { - assertNull(ParameterCheck.getHostName(null)); - - Map parameterMap = new LinkedHashMap<>(); - assertNull(ParameterCheck.getHostName(parameterMap)); - parameterMap.put("hostname", null); - assertNull(ParameterCheck.getHostName(parameterMap)); - - String[] hostnameBlankValue0 = {"", ""}; - parameterMap.put("hostname", hostnameBlankValue0); - assertNull(ParameterCheck.getHostName(parameterMap)); - - String[] hostnameBlankValue1 = {" ", " "}; - parameterMap.put("hostname", hostnameBlankValue1); - assertNull(ParameterCheck.getHostName(parameterMap)); - - String[] hostnameValue = {"hostname0", "hostname1"}; - parameterMap.put("hostname", hostnameValue); - assertEquals("hostname0", ParameterCheck.getHostName(parameterMap)); - } - - @Test - public void testPort() { - assertEquals(-1, ParameterCheck.getPort(null)); - - Map parameterMap = new LinkedHashMap<>(); - assertEquals(-1, ParameterCheck.getPort(parameterMap)); - - String[] portBlankValue0 = {"", ""}; - parameterMap.put("port", portBlankValue0); - assertEquals(-1, ParameterCheck.getPort(parameterMap)); - - String[] portBlankValue1 = {" ", " "}; - parameterMap.put("port", portBlankValue1); - assertEquals(-1, ParameterCheck.getPort(parameterMap)); - - String[] portValueBad = {"port", "value"}; - parameterMap.put("port", portValueBad); - assertEquals(-1, ParameterCheck.getPort(parameterMap)); - - String[] portValueRange0 = {"-1", "-1"}; - parameterMap.put("port", portValueRange0); - assertEquals(-1, ParameterCheck.getPort(parameterMap)); - - String[] portValueRange1 = {"65536", "65536"}; - parameterMap.put("port", portValueRange1); - assertEquals(-1, ParameterCheck.getPort(parameterMap)); - - String[] portValue = {"12344", "23221"}; - parameterMap.put("port", portValue); - assertEquals(12344, ParameterCheck.getPort(parameterMap)); - } - - @Test - public void testEngineKey() { - assertEquals(null, ParameterCheck.getEngineKey(null)); - - Map parameterMap = new LinkedHashMap<>(); - parameterMap.put("Zooby", null); - assertEquals(null, ParameterCheck.getEngineKey(parameterMap)); - - parameterMap.put("AxArtifactKey", null); - assertEquals(null, ParameterCheck.getEngineKey(parameterMap)); - parameterMap.remove("AxArtifactKey"); - - parameterMap.put("AxArtifactKey#zooby", null); - assertEquals(null, ParameterCheck.getEngineKey(parameterMap)); - parameterMap.remove("AxArtifactKey#zooby"); - - parameterMap.put("AxArtifactKey#zooby#looby", null); - assertEquals(null, ParameterCheck.getEngineKey(parameterMap)); - parameterMap.remove("AxArtifactKey#zooby#looby"); - - parameterMap.put("AxArtifactKey#Name:0.0.1", null); - assertEquals(new AxArtifactKey("Name", "0.0.1"), ParameterCheck.getEngineKey(parameterMap)); - } - - @Test - public void testStartStopValue() { - assertEquals(null, ParameterCheck.getStartStop(null, null)); - - Map parameterMap = new LinkedHashMap<>(); - assertEquals(null, ParameterCheck.getStartStop(parameterMap, null)); - - parameterMap.put("Zooby", null); - assertEquals(null, ParameterCheck.getStartStop(parameterMap, null)); - - AxArtifactKey engineKey = new AxArtifactKey("Engine", "0.0.1"); - - parameterMap.put("Zooby", null); - assertEquals(null, ParameterCheck.getStartStop(parameterMap, engineKey)); - - String key = "AxArtifactKey#" + engineKey.getId(); - - parameterMap.put(key, null); - assertEquals(null, ParameterCheck.getStartStop(parameterMap, engineKey)); - - String[] startStopBlankValue0 = {"", ""}; - parameterMap.put(key, startStopBlankValue0); - assertEquals(null, ParameterCheck.getStartStop(parameterMap, engineKey)); - - String[] startStopBlankValue1 = {" ", " "}; - parameterMap.put(key, startStopBlankValue1); - assertEquals(null, ParameterCheck.getStartStop(parameterMap, engineKey)); - - String[] startStopValueBad = {key, "value"}; - parameterMap.put(key, startStopValueBad); - assertEquals(null, ParameterCheck.getStartStop(parameterMap, engineKey)); - - String[] startValue = {"START", "STOP"}; - parameterMap.put(key, startValue); - assertEquals(ParameterCheck.StartStop.START, ParameterCheck.getStartStop(parameterMap, engineKey)); - - String[] stopValue = {"STOP", "START"}; - parameterMap.put(key, stopValue); - assertEquals(ParameterCheck.StartStop.STOP, ParameterCheck.getStartStop(parameterMap, engineKey)); - } - - @Test - public void testLong() { - assertEquals(-1, ParameterCheck.getLong(null, null)); - - Map parameterMap = new LinkedHashMap<>(); - assertEquals(-1, ParameterCheck.getLong(parameterMap, null)); - - parameterMap.put("long0", null); - assertEquals(-1, ParameterCheck.getLong(parameterMap, "longx")); - assertEquals(-1, ParameterCheck.getLong(parameterMap, "long0")); - - String[] longBlankValue0 = {"", ""}; - parameterMap.put("long1", longBlankValue0); - assertEquals(-1, ParameterCheck.getLong(parameterMap, "long1")); - - String[] longBlankValue1 = {" ", " "}; - parameterMap.put("long2", longBlankValue1); - assertEquals(-1, ParameterCheck.getLong(parameterMap, "long2")); - - String[] longValueBad = {"long", "value"}; - parameterMap.put("long3", longValueBad); - assertEquals(-1, ParameterCheck.getLong(parameterMap, "long3")); - - String[] longValue = {"12345", "6789"}; - parameterMap.put("long4", longValue); - assertEquals(12345, ParameterCheck.getLong(parameterMap, "long4")); - } -} diff --git a/client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/RestResourceTest.java b/client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/RestResourceTest.java deleted file mode 100644 index 019ccc8cb..000000000 --- a/client/client-deployment/src/test/java/org/onap/policy/apex/client/deployment/rest/RestResourceTest.java +++ /dev/null @@ -1,176 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019 Nordix Foundation. - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.apex.client.deployment.rest; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import javax.ws.rs.core.Response; -import org.junit.Before; -import org.junit.Test; -import org.mockito.Mock; -import org.mockito.Mockito; -import org.mockito.MockitoAnnotations; -import org.onap.policy.apex.core.deployment.ApexDeploymentException; -import org.onap.policy.apex.core.deployment.EngineServiceFacade; -import org.onap.policy.apex.model.basicmodel.concepts.ApexException; -import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey; -import org.onap.policy.apex.model.enginemodel.concepts.AxEngineModel; - -/** - * Test the Deployment rest resource. - */ -public class RestResourceTest { - @Mock - private EngineServiceFacade engineServiceFacadeMock; - private ApexDeploymentRestResource restResource; - - /** - * Set up mocking of the engine service facade. - * - * @throws ApexException on engine service facade setup errors - */ - @Before - public void initializeMocking() throws ApexException { - MockitoAnnotations.initMocks(this); - - final AxArtifactKey engineServiceKey = new AxArtifactKey("EngineServiceKey", "0.0.1"); - final AxArtifactKey engineKey = new AxArtifactKey("Engine0", "0.0.1"); - final AxArtifactKey[] engineServiceKeyArray = {engineKey}; - final AxEngineModel engineModel = new AxEngineModel(engineServiceKeyArray[0]); - - restResource = Mockito.spy(new ApexDeploymentRestResource()); - Mockito.doReturn(engineServiceFacadeMock).when(restResource).getEngineServiceFacade("apexServer", 12345); - - Mockito.doReturn(engineServiceKey).when(engineServiceFacadeMock).getKey(); - Mockito.doReturn(engineServiceKeyArray).when(engineServiceFacadeMock).getEngineKeyArray(); - Mockito.doReturn(engineModel).when(engineServiceFacadeMock).getEngineStatus(engineKey); - } - - @Test - public void testRestResourceCreateSession() throws ApexException { - Response response = restResource.createSession("apexServer", 12345); - assertEquals(200, response.getStatus()); - } - - @Test - public void testRestResourceCreateSessionWithApexModelKey() throws ApexException { - Mockito.doReturn(new AxArtifactKey("ModelKey:0.0.1")).when(engineServiceFacadeMock).getApexModelKey(); - - Response response = restResource.createSession("apexServer", 12345); - assertEquals(200, response.getStatus()); - } - - @Test - public void testRestResourceCreateSessionConnectException() throws ApexException { - Mockito.doThrow(new ApexDeploymentException("Connection Failed")).when(engineServiceFacadeMock).init(); - - Response response = restResource.createSession("apexServer", 12345); - assertEquals(500, response.getStatus()); - assertTrue(((String) response.getEntity()).contains("Error connecting to Apex Engine Service")); - } - - @Test - public void testRestResourceCreateSessionGetException() throws ApexException { - final AxArtifactKey engineKey = new AxArtifactKey("Engine0", "0.0.1"); - Mockito.doThrow(new ApexException("Exception on get")).when(engineServiceFacadeMock).getEngineStatus(engineKey); - - Response response = restResource.createSession("apexServer", 12345); - assertEquals(200, response.getStatus()); - } - - @Test - public void testRestResourceCreateSessionInfo() throws ApexException { - final AxArtifactKey engineKey = new AxArtifactKey("Engine0", "0.0.1"); - Mockito.doReturn("{}").when(engineServiceFacadeMock).getEngineInfo(engineKey); - - Response response = restResource.createSession("apexServer", 12345); - assertEquals(200, response.getStatus()); - } - - @Test - public void testRestResourceCreateSessionNullInfo() throws ApexException { - final AxArtifactKey engineKey = new AxArtifactKey("Engine0", "0.0.1"); - Mockito.doReturn(null).when(engineServiceFacadeMock).getEngineInfo(engineKey); - - Response response = restResource.createSession("apexServer", 12345); - assertEquals(200, response.getStatus()); - } - - @Test - public void testRestResourceCreateSessionEmptyInfo() throws ApexException { - final AxArtifactKey engineKey = new AxArtifactKey("Engine0", "0.0.1"); - Mockito.doReturn(" ").when(engineServiceFacadeMock).getEngineInfo(engineKey); - - Response response = restResource.createSession("apexServer", 12345); - assertEquals(200, response.getStatus()); - } - - @Test - public void testRestResourceCreateSessionExceptionInfo() throws ApexException { - final AxArtifactKey engineKey = new AxArtifactKey("Engine0", "0.0.1"); - Mockito.doThrow(new ApexException("Exception on info")).when(engineServiceFacadeMock).getEngineInfo(engineKey); - - Response response = restResource.createSession("apexServer", 12345); - assertEquals(200, response.getStatus()); - } - - @Test - public void testRestResourcemodelUpload() throws ApexException { - InputStream uploadedInputStream = - new ByteArrayInputStream("src/test/resources/models/SmallModel.json".getBytes()); - - Response response = restResource.modelUpload("apexServer", 12345, - uploadedInputStream, "SmallModel.json", false, false); - assertEquals(200, response.getStatus()); - assertTrue(((String) response.getEntity()).contains("SmallModel.json")); - } - - @Test - public void testRestResourcemodelUploadNoConnection() throws ApexException { - Mockito.doThrow(new ApexDeploymentException("Connection Failed")).when(engineServiceFacadeMock).init(); - - InputStream uploadedInputStream = - new ByteArrayInputStream("src/test/resources/models/SmallModel.json".getBytes()); - - Response response = - restResource.modelUpload("apexServer", 12345, uploadedInputStream, "SmallModel.json", false, false); - assertEquals(500, response.getStatus()); - } - - @Test - public void testRestResourcemodelUploadDeploy() throws ApexException { - - InputStream uploadedInputStream = - new ByteArrayInputStream("src/test/resources/models/SmallModel.json".getBytes()); - - Mockito.doThrow(new ApexDeploymentException("Connection Failed")).when(engineServiceFacadeMock) - .deployModel("SmallModel.json", uploadedInputStream, false, true); - - - Response response = - restResource.modelUpload("apexServer", 12345, uploadedInputStream, "SmallModel.json", false, true); - assertEquals(500, response.getStatus()); - assertTrue(((String) response.getEntity()).contains("Error updating model on engine service")); - } -} -- cgit 1.2.3-korg