summaryrefslogtreecommitdiffstats
path: root/site-manager
diff options
context:
space:
mode:
Diffstat (limited to 'site-manager')
-rw-r--r--site-manager/pom.xml177
-rw-r--r--site-manager/src/assembly/assemble_zip.xml62
-rw-r--r--site-manager/src/main/files/README30
-rw-r--r--site-manager/src/main/files/siteManager20
-rw-r--r--site-manager/src/main/files/siteManager.properties24
-rw-r--r--site-manager/src/main/java/org/onap/policy/common/sitemanager/Main.java313
-rw-r--r--site-manager/src/main/java/org/onap/policy/common/sitemanager/data/service/DatabaseAccessService.java56
-rw-r--r--site-manager/src/main/java/org/onap/policy/common/sitemanager/data/service/DatabaseAccessServiceImpl.java124
-rw-r--r--site-manager/src/main/java/org/onap/policy/common/sitemanager/exception/IllegalCommandLineArgumentException.java30
-rw-r--r--site-manager/src/main/java/org/onap/policy/common/sitemanager/exception/MissingPropertyException.java31
-rw-r--r--site-manager/src/main/java/org/onap/policy/common/sitemanager/exception/NoMatchingEntryFoundException.java31
-rw-r--r--site-manager/src/main/java/org/onap/policy/common/sitemanager/exception/PropertyFileProcessingException.java35
-rw-r--r--site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/CommandLineHelper.java122
-rw-r--r--site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/Constants.java54
-rw-r--r--site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/ErrorMessages.java78
-rw-r--r--site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/ExtraCommandLineArgument.java144
-rw-r--r--site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/JmxOpProcessor.java72
-rw-r--r--site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/PersistenceUnitPropertiesProvider.java111
-rw-r--r--site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/Printable.java28
-rw-r--r--site-manager/src/test/java/org/onap/policy/common/sitemanager/MainTest.java557
-rw-r--r--site-manager/src/test/java/org/onap/policy/common/sitemanager/MainTestRunner.java77
-rw-r--r--site-manager/src/test/java/org/onap/policy/common/sitemanager/exception/IllegalCommandLineArgumentExceptionTest.java35
-rw-r--r--site-manager/src/test/java/org/onap/policy/common/sitemanager/exception/MissingPropertyExceptionTest.java35
-rw-r--r--site-manager/src/test/java/org/onap/policy/common/sitemanager/exception/NoMatchingEntryFoundExceptionTest.java35
-rw-r--r--site-manager/src/test/java/org/onap/policy/common/sitemanager/exception/PropertyFileProcessingExceptionTest.java35
-rw-r--r--site-manager/src/test/java/org/onap/policy/common/sitemanager/utils/CommandLineHelperTest.java196
-rw-r--r--site-manager/src/test/java/org/onap/policy/common/sitemanager/utils/ExtraCommandLineArgumentTest.java86
-rw-r--r--site-manager/src/test/java/org/onap/policy/common/sitemanager/utils/PersistenceUnitPropertiesProviderTest.java99
-rw-r--r--site-manager/src/test/java/org/onap/policy/common/sitemanager/utils/PrintableImpl.java39
29 files changed, 0 insertions, 2736 deletions
diff --git a/site-manager/pom.xml b/site-manager/pom.xml
deleted file mode 100644
index be789905..00000000
--- a/site-manager/pom.xml
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ============LICENSE_START=======================================================
- ONAP Policy Engine - Common Modules
- ================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ============LICENSE_END=========================================================
- -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <artifactId>site-manager</artifactId>
- <packaging>jar</packaging>
-
- <parent>
- <groupId>org.onap.policy.common</groupId>
- <artifactId>common-modules</artifactId>
- <version>1.3.0-SNAPSHOT</version>
- </parent>
-
- <name>site-manager</name>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-checkstyle-plugin</artifactId>
- <executions>
- <execution>
- <id>onap-java-style</id>
- <goals>
- <goal>check</goal>
- </goals>
- <phase>process-sources</phase>
- <configuration>
- <!-- Use Google Java Style Guide: https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
- with minor changes -->
- <configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
- <!-- <sourceDirectory> is needed so that checkstyle
- ignores the generated sources directory -->
- <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
- <includeResources>true</includeResources>
- <includeTestSourceDirectory>true</includeTestSourceDirectory>
- <includeTestResources>true</includeTestResources>
- <consoleOutput>true</consoleOutput>
- <failOnViolation>true</failOnViolation>
- <violationSeverity>warning</violationSeverity>
- </configuration>
- </execution>
- </executions>
- <dependencies>
- <dependency>
- <groupId>org.onap.oparent</groupId>
- <artifactId>checkstyle</artifactId>
- <version>0.1.1</version>
- <scope>compile</scope>
- </dependency>
- </dependencies>
- </plugin>
- <plugin>
- <artifactId>maven-resources-plugin</artifactId>
- <version>2.6</version>
- <executions>
- <execution>
- <id>copy-resources</id>
- <goals>
- <goal>copy-resources</goal>
- </goals>
- <phase>validate</phase>
- <configuration>
- <outputDirectory>target/files</outputDirectory>
- <resources>
- <resource>
- <directory>src/main/files</directory>
- <filtering>true</filtering>
- </resource>
- </resources>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>1.4</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <artifactSet>
- <excludes>
- <exclude>org.eclipse.persistence:javax.persistence</exclude>
- </excludes>
- </artifactSet>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>2.6</version>
- <executions>
- <execution>
- <id>zipfile</id>
- <goals>
- <goal>single</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <attach>true</attach>
- <finalName>${project.artifactId}-${project.version}</finalName>
- <descriptors>
- <descriptor>src/assembly/assemble_zip.xml</descriptor>
- </descriptors>
- <appendAssemblyId>false</appendAssemblyId>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- <dependencies>
- <dependency>
- <groupId>org.eclipse.persistence</groupId>
- <artifactId>javax.persistence</artifactId>
- </dependency>
- <dependency>
- <groupId>org.onap.policy.common</groupId>
- <artifactId>integrity-monitor</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.mariadb.jdbc</groupId>
- <artifactId>mariadb-java-client</artifactId>
- <version>${mariadb.jdbc.version}</version>
- </dependency>
- <dependency>
- <groupId>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- <version>1.3</version>
- </dependency>
- <dependency>
- <groupId>com.h2database</groupId>
- <artifactId>h2</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.eclipse.persistence</groupId>
- <artifactId>eclipselink</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.onap.policy.common</groupId>
- <artifactId>utils-test</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>
diff --git a/site-manager/src/assembly/assemble_zip.xml b/site-manager/src/assembly/assemble_zip.xml
deleted file mode 100644
index 9bd97cca..00000000
--- a/site-manager/src/assembly/assemble_zip.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<!--
- ============LICENSE_START=======================================================
- site-manager
- ================================================================================
- Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- ================================================================================
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- ============LICENSE_END=========================================================
- -->
-
-<!-- Defines how we build the .zip file which is our distribution. -->
-
-<assembly
- xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
- <id>runtime</id>
- <formats>
- <format>zip</format>
- </formats>
-
- <!-- we want "system" and related files right at the root level as this
- file is suppose to be unzip on top of a karaf distro. -->
- <includeBaseDirectory>false</includeBaseDirectory>
-
- <fileSets>
- <fileSet>
- <directory>target</directory>
- <outputDirectory>site-manager-${project.version}</outputDirectory>
- <includes>
- <include>site-manager-${project.version}.jar</include>
- </includes>
- </fileSet>
- <fileSet>
- <directory>target/files/</directory>
- <outputDirectory>site-manager-${project.version}</outputDirectory>
- <fileMode>0755</fileMode>
- <includes>
- <include>siteManager</include>
- </includes>
- </fileSet>
- <fileSet>
- <directory>target/files/</directory>
- <outputDirectory>site-manager-${project.version}</outputDirectory>
- <fileMode>0644</fileMode>
- <excludes>
- <exclude>siteManager</exclude>
- </excludes>
- </fileSet>
- </fileSets>
-
-</assembly>
diff --git a/site-manager/src/main/files/README b/site-manager/src/main/files/README
deleted file mode 100644
index d5d2df6e..00000000
--- a/site-manager/src/main/files/README
+++ /dev/null
@@ -1,30 +0,0 @@
-Copyright 2018 AT&T Intellectual Property. All rights reserved.
-This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
-Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
-
-Before using 'siteManager', the file 'siteManager.properties' needs to be
-edited to configure the parameters used to access the database:
-
- javax.persistence.jdbc.driver - typically 'org.mariadb.jdbc.Driver'
- javax.persistence.jdbc.url - URL referring to the database,
- which typically has the form: 'jdbc:mariadb://<host>:<port>/<db>'
- ('<db>' is probably 'xacml' in this case)
- javax.persistence.jdbc.user - the user id for accessing the database
- javax.persistence.jdbc.password - password for accessing the database
-
-Once the properties file has been updated, the 'siteManager' script can be
-invoked as follows:
-
- siteManager show [ -s <site> | -r <resourceName> ] :
- display node information
- siteManager setAdminState { -s <site> | -r <resourceName> } <new-state> :
- update admin state on selected nodes
- siteManager lock { -s <site> | -r <resourceName> } :
- lock selected nodes
- siteManager unlock { -s <site> | -r <resourceName> } :
- unlock selected nodes
-
-Note that the 'siteManager' script assumes that the script,
-'site-manager-${project.version}.jar' file and 'siteManager.properties' file
-are all in the same directory. If the files are separated, the 'siteManager'
-script will need to be modified so it can locate the jar and properties files.
diff --git a/site-manager/src/main/files/siteManager b/site-manager/src/main/files/siteManager
deleted file mode 100644
index 2258b996..00000000
--- a/site-manager/src/main/files/siteManager
+++ /dev/null
@@ -1,20 +0,0 @@
-#! /bin/bash
-# Copyright 2018 AT&T Intellectual Property. All rights reserved
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-dir="${0%/*}"
-CLASSPATH="${dir}/site-manager-${project.version}.jar" java \
- -DsiteManager.properties=${dir}/siteManager.properties \
- org.onap.policy.common.sitemanager.Main "$@" | \
- grep -v "^\[EL Info\]"
diff --git a/site-manager/src/main/files/siteManager.properties b/site-manager/src/main/files/siteManager.properties
deleted file mode 100644
index a2801181..00000000
--- a/site-manager/src/main/files/siteManager.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###
-# ============LICENSE_START=======================================================
-# site-manager
-# ================================================================================
-# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ============LICENSE_END=========================================================
-###
-
-javax.persistence.jdbc.driver = org.mariadb.jdbc.Driver
-# javax.persistence.jdbc.url = jdbc:mariadb://<host>:3306/xacml
-# javax.persistence.jdbc.user = <userid>
-# javax.persistence.jdbc.password = <password>
diff --git a/site-manager/src/main/java/org/onap/policy/common/sitemanager/Main.java b/site-manager/src/main/java/org/onap/policy/common/sitemanager/Main.java
deleted file mode 100644
index a415c229..00000000
--- a/site-manager/src/main/java/org/onap/policy/common/sitemanager/Main.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager;
-
-/*
- * Site Manager argument list:
- *
- * none - dump help information show - dump information about all nodes ([site, nodetype,
- * resourceName], adminState, opState, availStatus, standbyStatus) The first 3 determine the sort
- * order. setAdminState [ -s <site> | -r <resourceName> ] <new-state> lock [ -s <site> | -r
- * <resourceName> ] unlock [ -s <site> | -r <resourceName> ]
- */
-
-import static org.onap.policy.common.sitemanager.utils.Constants.OPERATIONAL_PERSISTENCE_UNIT;
-import static org.onap.policy.common.sitemanager.utils.Constants.SITE_MANAGER_PROPERTIES_PROPERTY_NAME;
-import static org.onap.policy.common.sitemanager.utils.ErrorMessages.HELP_STRING;
-import static org.onap.policy.common.sitemanager.utils.ErrorMessages.NO_MATCHING_ENTRIES;
-import static org.onap.policy.common.sitemanager.utils.ExtraCommandLineArgument.LOCK;
-import static org.onap.policy.common.sitemanager.utils.ExtraCommandLineArgument.SET_ADMIN_STATE;
-import static org.onap.policy.common.sitemanager.utils.ExtraCommandLineArgument.UNLOCK;
-import static org.onap.policy.common.sitemanager.utils.JmxOpProcessor.jmxOp;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.TreeSet;
-
-import org.onap.policy.common.im.jpa.ResourceRegistrationEntity;
-import org.onap.policy.common.im.jpa.StateManagementEntity;
-import org.onap.policy.common.sitemanager.data.service.DatabaseAccessService;
-import org.onap.policy.common.sitemanager.data.service.DatabaseAccessServiceImpl;
-import org.onap.policy.common.sitemanager.exception.IllegalCommandLineArgumentException;
-import org.onap.policy.common.sitemanager.exception.MissingPropertyException;
-import org.onap.policy.common.sitemanager.exception.NoMatchingEntryFoundException;
-import org.onap.policy.common.sitemanager.exception.PropertyFileProcessingException;
-import org.onap.policy.common.sitemanager.utils.CommandLineHelper;
-import org.onap.policy.common.sitemanager.utils.PersistenceUnitPropertiesProvider;
-import org.onap.policy.common.sitemanager.utils.Printable;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * This class contains the main entry point for Site Manager.
- */
-public class Main {
-
- private static final Logger logger = LoggerFactory.getLogger(Main.class.getName());
-
- // table mapping 'resourceName' to 'StateManagmentEntity'
- static Map<String, StateManagementEntity> stateManagementTable = new HashMap<>();
-
- // table mapping 'resourceName' to 'StateManagmentEntity'
- static Map<String, ResourceRegistrationEntity> resourceRegistrationTable = new HashMap<>();
-
- /**
- * Print out help information regarding command arguments.
- */
- private static String getHelpString() {
- return HELP_STRING;
- }
-
- /**
- * This is the main entry point.
- *
- * @param args these are command-line arguments to 'siteManager'
- */
- public static void main(final String[] args) {
- final Printable printable = new PrintableImpl();
- new Main().process(args, printable);
- }
-
- /**
- * Process command-line arguments.
- *
- * @param args args these are command-line arguments to 'siteManager'
- * @param printable {@link Printable} callback to print statement
- */
- public void process(final String[] args, final Printable printable) {
- try {
- final CommandLineHelper commandLineHelper = new CommandLineHelper(args, printable);
-
- if (commandLineHelper.isHelpArgumentSet()) {
- printable.println(getHelpString());
- System.exit(0);
- }
-
- if (!commandLineHelper.isValid()) {
- printable.println(getHelpString());
- System.exit(2);
- }
- process(commandLineHelper, printable);
- } catch (final IllegalCommandLineArgumentException illegalCommandLineArgumentException) {
- printable.println(illegalCommandLineArgumentException.getMessage());
- printable.println(getHelpString());
- System.exit(1);
- } catch (final PropertyFileProcessingException | MissingPropertyException exception) {
- System.exit(3);
- } catch (final NoMatchingEntryFoundException exception) {
- System.exit(4);
- }
- }
-
- private void process(final CommandLineHelper cmd, final Printable printable) {
- // fetch options, and remaining arguments
- final String sOption = cmd.getSite();
- final String rOption = cmd.getResourceName();
- final List<String> argList = cmd.getArgList();
-
- final String arg0 = argList.get(0);
-
- // read in properties used to access the database
- final String propertiesFileName = System.getProperty(SITE_MANAGER_PROPERTIES_PROPERTY_NAME);
- final Properties properties = PersistenceUnitPropertiesProvider.getProperties(propertiesFileName, printable);
-
- try (final DatabaseAccessService accessService =
- getDatabaseAccessService(OPERATIONAL_PERSISTENCE_UNIT, properties)) {
-
- final List<StateManagementEntity> stateManagementResultList =
- accessService.getStateManagementEntities(rOption, sOption);
- final List<ResourceRegistrationEntity> resourceRegistrationResultList =
- accessService.getResourceRegistrationEntities(rOption, sOption);
-
- // perform 'StateManagementEntity' query, and place matching entries
- // in 'stateManagementTable'
- for (final StateManagementEntity stateManagementEntity : stateManagementResultList) {
- stateManagementTable.put(stateManagementEntity.getResourceName(), stateManagementEntity);
- }
-
- // perform 'ResourceRegistrationQuery', and place matching entries
- // in 'resourceRegistrationTable' ONLY if there is also an associated
- // 'stateManagementTable' entry
- for (final ResourceRegistrationEntity resourceRegistrationEntity : resourceRegistrationResultList) {
- final String resourceName = resourceRegistrationEntity.getResourceName();
- if (stateManagementTable.get(resourceName) != null) {
- // only include entries that have a corresponding
- // state table entry -- silently ignore the rest
- resourceRegistrationTable.put(resourceName, resourceRegistrationEntity);
- }
- }
-
- if (resourceRegistrationTable.isEmpty()) {
- final String message = arg0 + NO_MATCHING_ENTRIES;
- printable.println(message);
- throw new NoMatchingEntryFoundException(message);
- }
-
- if (SET_ADMIN_STATE.getValue().equalsIgnoreCase(arg0)) {
- // update admin state on all of the nodes
- final String adminState = argList.get(1);
- // iterate over all matching 'ResourceRegistrationEntity' instances
- for (final ResourceRegistrationEntity r : resourceRegistrationTable.values()) {
- // we know the corresponding 'StateManagementEntity' exists --
- // 'ResourceRegistrationEntity' entries without a matching
- // 'StateManagementEntity' entry were not placed in the table
- final StateManagementEntity s = stateManagementTable.get(r.getResourceName());
-
- // update the admin state, and save the changes
- s.setAdminState(adminState);
- }
- accessService.persist(stateManagementTable.values());
-
- } else if (LOCK.getValue().equalsIgnoreCase(arg0) || UNLOCK.getValue().equalsIgnoreCase(arg0)) {
- // these use the JMX interface
- for (final ResourceRegistrationEntity r : resourceRegistrationTable.values()) {
- // lock or unlock the entity
- jmxOp(arg0, r, printable);
-
- // change should be reflected in 'adminState'
- accessService.refreshEntity(stateManagementTable.get(r.getResourceName()));
- }
- }
- } catch (final NoMatchingEntryFoundException exception) {
- throw exception;
- } catch (final Exception exception) {
- printable.println(exception.getMessage());
- }
-
- // display all entries
- display();
- }
-
- /**
- * Compare two strings, either of which may be null.
- *
- * @param first the first string
- * @param second the second string
- *
- * @return a negative value if s1 is less then s2, 0 if they are equal, and positive if s1 is
- * greater then s2
- */
- private static int stringCompare(final String first, final String second) {
- if (first == null ^ second == null) {
- return (first == null) ? -1 : 1;
- }
-
- if (first == null && second == null) {
- return 0;
- }
-
- return first.compareTo(second);
- }
-
- /**
- * Update an array of 'length' fields using an array of Strings, any of which may be 'null'.
- * This method is used to determine the field width of each column in a tabular dump.
- *
- * @param current this is an array of length 7, containing the current maximum lengths of each
- * column in the tabular dump
- * @param values this is an array of length 7, containing the current String entry for each
- * column
- */
- private static void updateLengths(final int[] current, final String[] values) {
- for (int i = 0; i < 7; i++) {
- final String str = values[i];
- final int newLength = (str == null ? 4 : str.length());
- if (current[i] < newLength) {
- // this column needs to be expanded
- current[i] = newLength;
- }
- }
- }
-
- /**
- * Ordered display -- dump out all of the entries in log.
- */
- static void display() {
- final Set<String[]> treeset = new TreeSet<>((final String[] r1, final String[] r2) -> {
- int rval = 0;
-
- // the first 3 columns are 'Site', 'NodeType', and 'ResourceName',
- // and are used to sort the entries
- for (int i = 0; i < 3; i += 1) {
- if ((rval = stringCompare(r1[i], r2[i])) != 0) {
- break;
- }
- }
- return (rval);
- });
-
- final String[] labels = new String[] {"Site", "NodeType", "ResourceName", "AdminState", "OpState",
- "AvailStatus", "StandbyStatus"};
- final String[] underlines = new String[] {"----", "--------", "------------", "----------", "-------",
- "-----------", "-------------"};
-
- // each column needs to be at least wide enough to fit the column label
- final int[] lengths = new int[labels.length];
- updateLengths(lengths, labels);
-
- // Go through the 'resourceRegistrationTable', and generate the
- // associated table row. Maximum column widths are updated, and the
- // entry is inserted into tree, which has the effect of sorting the
- // entries.
- for (final ResourceRegistrationEntity r : resourceRegistrationTable.values()) {
- final StateManagementEntity s = stateManagementTable.get(r.getResourceName());
-
- // these are the entries to be displayed for this row
- final String[] values = new String[] {r.getSite(), r.getNodeType(), r.getResourceName(), s.getAdminState(),
- s.getOpState(), s.getAvailStatus(), s.getStandbyStatus()};
-
- treeset.add(values);
- updateLengths(lengths, values);
- }
-
- // generate format string
- final StringBuilder sb = new StringBuilder();
- for (int i = 0; i < 7; i += 1) {
- sb.append('%').append(i + 1).append("$-").append(lengths[i]).append("s ");
- }
- sb.setCharAt(sb.length() - 1, '\n');
- final String formatString = sb.toString();
-
- // display column headers
- logger.info(formatString, (Object[]) labels);
- logger.info(formatString, (Object[]) underlines);
-
- // display all of the rows
- for (final String[] values : treeset) {
- logger.info(formatString, (Object[]) values);
- }
- }
-
- DatabaseAccessService getDatabaseAccessService(final String persistenceUnitName, final Properties properties) {
- return new DatabaseAccessServiceImpl(persistenceUnitName, properties);
- }
-
- private static class PrintableImpl implements Printable {
-
- @Override
- public void println(final String value) {
- System.out.println(value);
- }
- }
-}
diff --git a/site-manager/src/main/java/org/onap/policy/common/sitemanager/data/service/DatabaseAccessService.java b/site-manager/src/main/java/org/onap/policy/common/sitemanager/data/service/DatabaseAccessService.java
deleted file mode 100644
index 4b29359a..00000000
--- a/site-manager/src/main/java/org/onap/policy/common/sitemanager/data/service/DatabaseAccessService.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.data.service;
-
-import java.util.Collection;
-import java.util.List;
-import org.onap.policy.common.im.jpa.ResourceRegistrationEntity;
-import org.onap.policy.common.im.jpa.StateManagementEntity;
-
-public interface DatabaseAccessService extends AutoCloseable {
-
- <T> List<T> execute(final Class<T> clazz, final String query, final String paramName, final String paramValue);
-
- <T> List<T> execute(final Class<T> clazz, final String query);
-
- /**
- * Get {@link StateManagementEntity} entities from database.
- *
- * @param resourceOption resource name (optional)
- * @param stateOption site name (optional)
- * @return list of {@link StateManagementEntity} entities found
- */
- List<StateManagementEntity> getStateManagementEntities(final String resourceOption, final String stateOption);
-
- /**
- * Get {@link ResourceRegistrationEntity} entities from database.
- *
- * @param resourceOption resource name (optional)
- * @param stateOption site name (optional)
- * @return list of {@link ResourceRegistrationEntity} entities found
- */
- List<ResourceRegistrationEntity> getResourceRegistrationEntities(final String resourceOption,
- final String stateOption);
-
- <T> void persist(final Collection<T> entities);
-
- <T> void refreshEntity(final T enity);
-}
diff --git a/site-manager/src/main/java/org/onap/policy/common/sitemanager/data/service/DatabaseAccessServiceImpl.java b/site-manager/src/main/java/org/onap/policy/common/sitemanager/data/service/DatabaseAccessServiceImpl.java
deleted file mode 100644
index 769b164b..00000000
--- a/site-manager/src/main/java/org/onap/policy/common/sitemanager/data/service/DatabaseAccessServiceImpl.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.data.service;
-
-import static org.onap.policy.common.sitemanager.utils.Constants.RESOURCE_NAME;
-import static org.onap.policy.common.sitemanager.utils.Constants.RESOURCE_REGISTRATION_QUERY;
-import static org.onap.policy.common.sitemanager.utils.Constants.SITE_NAME;
-import static org.onap.policy.common.sitemanager.utils.Constants.STATE_MANAGEMENT_QUERY;
-import static org.onap.policy.common.sitemanager.utils.Constants.WHERE_R_RESOURCE_NAME;
-import static org.onap.policy.common.sitemanager.utils.Constants.WHERE_R_SITE_NAME;
-import static org.onap.policy.common.sitemanager.utils.Constants.WHERE_S_RESOURCE_NAME;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Properties;
-
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.Persistence;
-import javax.persistence.TypedQuery;
-
-import org.onap.policy.common.im.jpa.ResourceRegistrationEntity;
-import org.onap.policy.common.im.jpa.StateManagementEntity;
-import org.onap.policy.common.utils.jpa.EntityTransCloser;
-
-public class DatabaseAccessServiceImpl implements DatabaseAccessService {
-
- private final EntityManagerFactory entityManagerFactory;
- private EntityManager entityManager;
-
- public DatabaseAccessServiceImpl(final String persistenceUnitName, final Properties properties) {
- this.entityManagerFactory = Persistence.createEntityManagerFactory(persistenceUnitName, properties);
- this.entityManager = entityManagerFactory.createEntityManager();
- }
-
- public DatabaseAccessServiceImpl(final EntityManagerFactory entityManagerFactory) {
- this.entityManagerFactory = entityManagerFactory;
- this.entityManager = entityManagerFactory.createEntityManager();
- }
-
- @Override
- public <T> List<T> execute(final Class<T> clazz, final String query, final String paramName,
- final String paramValue) {
- final TypedQuery<T> typedQuery = entityManager.createQuery(query, clazz);
- typedQuery.setParameter(paramName, paramValue);
- return typedQuery.getResultList();
-
- }
-
- @Override
- public <T> List<T> execute(final Class<T> clazz, final String query) {
- final TypedQuery<T> typedQuery = entityManager.createQuery(query, clazz);
- return typedQuery.getResultList();
- }
-
- @Override
- public List<StateManagementEntity> getStateManagementEntities(final String resourceOption,
- final String stateOption) {
- if (resourceOption != null) {
- final String query = STATE_MANAGEMENT_QUERY + WHERE_S_RESOURCE_NAME + RESOURCE_NAME;
- return execute(StateManagementEntity.class, query, RESOURCE_NAME, resourceOption);
- } else if (stateOption != null) {
- return execute(StateManagementEntity.class, STATE_MANAGEMENT_QUERY);
- }
- return execute(StateManagementEntity.class, STATE_MANAGEMENT_QUERY);
-
- }
-
- @Override
- public List<ResourceRegistrationEntity> getResourceRegistrationEntities(final String resourceOption,
- final String stateOption) {
- if (resourceOption != null) {
- final String query = RESOURCE_REGISTRATION_QUERY + WHERE_R_RESOURCE_NAME + RESOURCE_NAME;
- return execute(ResourceRegistrationEntity.class, query, RESOURCE_NAME, resourceOption);
- } else if (stateOption != null) {
- final String query = RESOURCE_REGISTRATION_QUERY + WHERE_R_SITE_NAME + SITE_NAME;
- return execute(ResourceRegistrationEntity.class, query, SITE_NAME, stateOption);
- }
- return execute(ResourceRegistrationEntity.class, RESOURCE_REGISTRATION_QUERY);
- }
-
- @Override
- public <T> void persist(final Collection<T> entities) {
- try (final EntityTransCloser et = new EntityTransCloser(entityManager.getTransaction())) {
- for (final T entity : entities) {
- entityManager.persist(entity);
- }
- entityManager.flush();
- et.commit();
- }
- }
-
- @Override
- public <T> void refreshEntity(final T enity) {
- entityManager.refresh(enity);
-
- }
-
- @Override
- public void close() {
- if (entityManager.isOpen()) {
- entityManager.close();
- }
- }
-
-}
diff --git a/site-manager/src/main/java/org/onap/policy/common/sitemanager/exception/IllegalCommandLineArgumentException.java b/site-manager/src/main/java/org/onap/policy/common/sitemanager/exception/IllegalCommandLineArgumentException.java
deleted file mode 100644
index db374c38..00000000
--- a/site-manager/src/main/java/org/onap/policy/common/sitemanager/exception/IllegalCommandLineArgumentException.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.exception;
-
-public class IllegalCommandLineArgumentException extends RuntimeException {
-
- private static final long serialVersionUID = 4229478147993769997L;
-
- public IllegalCommandLineArgumentException(final String message, final Throwable cause) {
- super(message, cause);
- }
-}
diff --git a/site-manager/src/main/java/org/onap/policy/common/sitemanager/exception/MissingPropertyException.java b/site-manager/src/main/java/org/onap/policy/common/sitemanager/exception/MissingPropertyException.java
deleted file mode 100644
index b5c10883..00000000
--- a/site-manager/src/main/java/org/onap/policy/common/sitemanager/exception/MissingPropertyException.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.exception;
-
-public class MissingPropertyException extends RuntimeException {
-
- private static final long serialVersionUID = 1224494625143527218L;
-
- public MissingPropertyException(final String message) {
- super(message);
- }
-
-}
diff --git a/site-manager/src/main/java/org/onap/policy/common/sitemanager/exception/NoMatchingEntryFoundException.java b/site-manager/src/main/java/org/onap/policy/common/sitemanager/exception/NoMatchingEntryFoundException.java
deleted file mode 100644
index f77cdce2..00000000
--- a/site-manager/src/main/java/org/onap/policy/common/sitemanager/exception/NoMatchingEntryFoundException.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.exception;
-
-public class NoMatchingEntryFoundException extends RuntimeException {
-
- private static final long serialVersionUID = -1118517375170348132L;
-
- public NoMatchingEntryFoundException(final String message) {
- super(message);
- }
-
-}
diff --git a/site-manager/src/main/java/org/onap/policy/common/sitemanager/exception/PropertyFileProcessingException.java b/site-manager/src/main/java/org/onap/policy/common/sitemanager/exception/PropertyFileProcessingException.java
deleted file mode 100644
index 2c4bcb9f..00000000
--- a/site-manager/src/main/java/org/onap/policy/common/sitemanager/exception/PropertyFileProcessingException.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.exception;
-
-public class PropertyFileProcessingException extends RuntimeException {
-
- private static final long serialVersionUID = 6507640341242930149L;
-
- public PropertyFileProcessingException(final String message) {
- super(message);
- }
-
- public PropertyFileProcessingException(final String message, final Throwable cause) {
- super(message, cause);
- }
-
-}
diff --git a/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/CommandLineHelper.java b/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/CommandLineHelper.java
deleted file mode 100644
index cfc68785..00000000
--- a/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/CommandLineHelper.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.utils;
-
-import java.util.List;
-
-import org.apache.commons.cli.CommandLine;
-import org.apache.commons.cli.CommandLineParser;
-import org.apache.commons.cli.DefaultParser;
-import org.apache.commons.cli.Option;
-import org.apache.commons.cli.Options;
-import org.apache.commons.cli.ParseException;
-import org.onap.policy.common.sitemanager.exception.IllegalCommandLineArgumentException;
-
-public class CommandLineHelper {
-
- private static final String HELP_QUESTION_MARK_ARGUMENT_NAME = "?";
-
- private static final String HELP_ARGUMENT_NAME = "h";
-
- private static final String RESOURCE_ARGUMENT_NAME = "r";
-
- private static final String SITE_ARGUMENT_NAME = "s";
-
- private final CommandLine commandLine;
-
- private static final CommandLineParser PARSER = new DefaultParser();
-
- private final Printable printable;
-
- public CommandLineHelper(final String[] args, final Printable printable) {
- this.commandLine = getCommandLine(getOptions(), args);
- this.printable = printable;
- }
-
- private Options getOptions() {
- final Options options = new Options();
- options.addOption(Option.builder(SITE_ARGUMENT_NAME).hasArg(true).desc("specify site").build());
- options.addOption(Option.builder(RESOURCE_ARGUMENT_NAME).hasArg(true).desc("specify resource name").build());
- options.addOption(Option.builder(HELP_ARGUMENT_NAME).hasArg(false).desc("display help").build());
- options.addOption(Option.builder(HELP_QUESTION_MARK_ARGUMENT_NAME).hasArg(false).desc("display help").build());
-
- return options;
- }
-
- public String getSite() {
- return commandLine.getOptionValue(SITE_ARGUMENT_NAME);
- }
-
- public String getResourceName() {
- return commandLine.getOptionValue(RESOURCE_ARGUMENT_NAME);
- }
-
- private CommandLine getCommandLine(final Options options, final String[] args) {
- try {
- return PARSER.parse(options, args);
- } catch (final ParseException | NullPointerException exception) {
- throw new IllegalCommandLineArgumentException(exception.getMessage(), exception);
- }
- }
-
- /**
- * validate given command line arguments.
- *
- * @return true if valid
- */
- public boolean isValid() {
- // fetch options, and remaining arguments
- final String sOption = commandLine.getOptionValue(SITE_ARGUMENT_NAME);
- final String rOption = commandLine.getOptionValue(RESOURCE_ARGUMENT_NAME);
- final List<String> argList = commandLine.getArgList();
-
- // a number of commands require either the '-r' option or '-s' option
- final boolean optionLetterSpecified = (rOption != null || sOption != null);
-
- if (argList.isEmpty()) {
- printable.println(ErrorMessages.NO_COMMAND_SPECIFIED);
- return false;
- }
- // a number of commands require either the '-r' option or '-s' option
- final String arg0 = argList.get(0);
- final ExtraCommandLineArgument argument = ExtraCommandLineArgument.getExtraCommandLineArgument(arg0);
-
- if (!argument.isValid(argList, printable, optionLetterSpecified)) {
- return false;
- }
-
- if (sOption != null && rOption != null) {
- printable.println(arg0 + ErrorMessages.R_AND_S_OPTIONS_ARE_MUTUALLY_EXCLUSIVE);
- return false;
- }
-
- return true;
- }
-
- public boolean isHelpArgumentSet() {
- return commandLine.hasOption(HELP_ARGUMENT_NAME) || commandLine.hasOption(HELP_QUESTION_MARK_ARGUMENT_NAME);
- }
-
- public List<String> getArgList() {
- return commandLine.getArgList();
- }
-
-}
diff --git a/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/Constants.java b/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/Constants.java
deleted file mode 100644
index 0f2d9a49..00000000
--- a/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/Constants.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.utils;
-
-public final class Constants {
-
- public static final String SITE_NAME = "site";
-
- public static final String WHERE_R_SITE_NAME = " WHERE r.site = :";
-
- public static final String WHERE_R_RESOURCE_NAME = " WHERE r.resourceName = :";
-
- public static final String RESOURCE_NAME = "resourceName";
-
- public static final String WHERE_S_RESOURCE_NAME = " WHERE s.resourceName = :";
-
- public static final String RESOURCE_REGISTRATION_QUERY = "SELECT r FROM ResourceRegistrationEntity r";
-
- public static final String STATE_MANAGEMENT_QUERY = "SELECT s FROM StateManagementEntity s";
-
- public static final String JDBC_PASSWORD_PROPERTY_NAME = "javax.persistence.jdbc.password";
-
- public static final String JDBC_USER_PROPERTY_NAME = "javax.persistence.jdbc.user";
-
- public static final String JDBC_URL_PROPERTY_NAME = "javax.persistence.jdbc.url";
-
- public static final String JDBC_DRIVER_PROPERTY_NAME = "javax.persistence.jdbc.driver";
-
- public static final String OPERATIONAL_PERSISTENCE_UNIT = "operationalPU";
-
- public static final String SITE_MANAGER_PROPERTIES_PROPERTY_NAME = "siteManager.properties";
-
- private Constants() {
- super();
- }
-}
diff --git a/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/ErrorMessages.java b/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/ErrorMessages.java
deleted file mode 100644
index 54695c65..00000000
--- a/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/ErrorMessages.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.utils;
-
-public class ErrorMessages {
-
- public static final String EXTRA_ARGUMENTS = "Extra arguments";
-
- public static final String EITHER_S_OR_R_OPTION_IS_NEEDED = "Either '-s' or '-r' option is needed";
-
- public static final String R_AND_S_OPTIONS_ARE_MUTUALLY_EXCLUSIVE = ": 'r' and 's' options are mutually exclusive";
-
- public static final String UNKNOWN_COMMAND = ": Unknown command";
-
- public static final String UNLOCK_EITHER_S_OR_R_OPTION_IS_NEEDED = "unlock: " + EITHER_S_OR_R_OPTION_IS_NEEDED;
-
- public static final String UNLOCK_EXTRA_ARGUMENTS = "unlock: " + EXTRA_ARGUMENTS;
-
- public static final String LOCK_EITHER_S_OR_R_OPTION_IS_NEEDED = "lock: " + EITHER_S_OR_R_OPTION_IS_NEEDED;
-
- public static final String LOCK_EXTRA_ARGUMENTS = "lock: " + EXTRA_ARGUMENTS;
-
- public static final String SET_ADMIN_STATE_EITHER_S_OR_R_OPTION_IS_NEEDED =
- "setAdminState: " + EITHER_S_OR_R_OPTION_IS_NEEDED;
-
- public static final String SET_ADMIN_STATE_EXTRA_ARGUMENTS = "setAdminState: " + EXTRA_ARGUMENTS;
-
- public static final String SET_ADMIN_STATE_MISSING_NEW_STATE_VALUE = "setAdminState: Missing <new-state> value";
-
- public static final String SHOW_EXTRA_ARGUMENTS = "show: " + EXTRA_ARGUMENTS;
-
- public static final String NO_COMMAND_SPECIFIED = "No command specified";
-
- public static final String NO_MATCHING_ENTRIES = ": No matching entries";
-
- public static final String HELP_STRING = "Usage:\n" + " siteManager show [ -s <site> | -r <resourceName> ] :\n"
- + " display node information\n" + " siteManager setAdminState { -s <site> | -r <resourceName> }"
- + " <new-state> :\n" + " update admin state on selected nodes\n"
- + " siteManager lock { -s <site> | -r <resourceName> } :\n" + " lock selected nodes\n"
- + " siteManager unlock { -s <site> | -r <resourceName> } :\n" + " unlock selected nodes\n";
-
- public static final String SITE_MANAGER_PROPERY_FILE_MISSING_PROPERTY =
- "The following properties need to be specified:\n\n" + " javax.persistence.jdbc.driver -"
- + " typically 'org.mariadb.jdbc.Driver'\n"
- + " javax.persistence.jdbc.url - URL referring to the database,\n"
- + " which typically has the form:" + " 'jdbc:mariadb://<host>:<port>/<db>'\n"
- + " ('<db>' is probably 'xacml' in this case)\n"
- + " javax.persistence.jdbc.user - the user id for accessing the" + " database\n"
- + " javax.persistence.jdbc.password - password for accessing the" + " database\n";
-
- public static final String SITE_MANAGER_PROPERY_FILE_NOT_DEFINED_MESSAGE =
- "'siteManager' needs to be passed the system property\n"
- + "'siteManager.properties', which is the file name of a\n"
- + "properties file containing database access information\n\n";
-
- private ErrorMessages() {
- super();
- }
-
-}
diff --git a/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/ExtraCommandLineArgument.java b/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/ExtraCommandLineArgument.java
deleted file mode 100644
index 55dfea7e..00000000
--- a/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/ExtraCommandLineArgument.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.utils;
-
-import java.util.List;
-
-public enum ExtraCommandLineArgument {
- SHOW("show") {
-
- @Override
- public boolean isValid(final List<String> argList, final Printable printable) {
- if (argList.size() != 1) {
- printable.println(ErrorMessages.SHOW_EXTRA_ARGUMENTS);
- return false;
- }
- return true;
- }
-
- @Override
- public boolean isValid(final List<String> argList, final Printable printable,
- final boolean optionLetterSpecified) {
- return isValid(argList, printable);
- }
- },
- SET_ADMIN_STATE("setAdminState") {
- @Override
- public boolean isValid(final List<String> argList, final Printable printable,
- final boolean optionLetterSpecified) {
- boolean isValid = true;
- switch (argList.size()) {
- case 1:
- printable.println(ErrorMessages.SET_ADMIN_STATE_MISSING_NEW_STATE_VALUE);
- isValid = false;
- break;
- case 2:
- isValid = true;
- break;
- default:
- printable.println(ErrorMessages.SET_ADMIN_STATE_EXTRA_ARGUMENTS);
- isValid = false;
- }
- if (!optionLetterSpecified) {
- printable.println(ErrorMessages.SET_ADMIN_STATE_EITHER_S_OR_R_OPTION_IS_NEEDED);
- return false;
- }
-
- return isValid;
- }
-
- },
- LOCK("lock") {
-
- @Override
- public boolean isValid(final List<String> argList, final Printable printable,
- final boolean optionLetterSpecified) {
- boolean isValid = true;
- if (argList.size() != 1) {
- printable.println(ErrorMessages.LOCK_EXTRA_ARGUMENTS);
- isValid = false;
- }
- if (!optionLetterSpecified) {
- printable.println(ErrorMessages.LOCK_EITHER_S_OR_R_OPTION_IS_NEEDED);
- isValid = false;
- }
- return isValid;
- }
- },
- UNLOCK("unlock") {
-
- @Override
- public boolean isValid(final List<String> argList, final Printable printable,
- final boolean optionLetterSpecified) {
- boolean isValid = true;
- if (argList.size() != 1) {
- printable.println(ErrorMessages.UNLOCK_EXTRA_ARGUMENTS);
- isValid = false;
- }
- if (!optionLetterSpecified) {
- printable.println(ErrorMessages.UNLOCK_EITHER_S_OR_R_OPTION_IS_NEEDED);
- isValid = false;
- }
- return isValid;
- }
- },
- INVALID("") {
- @Override
- public boolean isValid(final List<String> argList, final Printable printable,
- final boolean optionLetterSpecified) {
- printable.println(argList.get(0) + ErrorMessages.UNKNOWN_COMMAND);
- return false;
- }
- };
-
- private final String value;
-
- private ExtraCommandLineArgument(final String value) {
- this.value = value;
- }
-
- public String getValue() {
- return value;
- }
-
- /**
- * Get {@link ExtraCommandLineArgument} for given command line argument.
- *
- * @param value the input command line argument
- * @return {@link ExtraCommandLineArgument}
- */
- public static ExtraCommandLineArgument getExtraCommandLineArgument(final String value) {
- for (final ExtraCommandLineArgument argument : ExtraCommandLineArgument.values()) {
- if (argument.getValue().equals(value)) {
- return argument;
- }
- }
- return ExtraCommandLineArgument.INVALID;
- }
-
- public boolean isValid(final List<String> argList, final Printable printable) {
- return isValid(argList, printable, false);
- }
-
- public abstract boolean isValid(final List<String> argList, final Printable printable,
- final boolean optionLetterSpecified);
-
-}
diff --git a/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/JmxOpProcessor.java b/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/JmxOpProcessor.java
deleted file mode 100644
index 33a2238a..00000000
--- a/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/JmxOpProcessor.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.utils;
-
-import java.io.IOException;
-import javax.management.JMX;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-import javax.management.remote.JMXConnector;
-import javax.management.remote.JMXConnectorFactory;
-import javax.management.remote.JMXServiceURL;
-import org.onap.policy.common.im.IntegrityMonitorException;
-import org.onap.policy.common.im.jmx.ComponentAdminMBean;
-import org.onap.policy.common.im.jpa.ResourceRegistrationEntity;
-
-public class JmxOpProcessor {
-
- private JmxOpProcessor() {
- super();
- }
-
- /**
- * Process a 'lock' or 'unlock' operation on a single {@link ResourceRegistrationEntity}.
- *
- * @param action this is the string "lock" or "unlock"
- * @param resourceRegistrationEntity this is the {@link ResourceRegistrationEntity} to lock or
- * unlock
- */
- public static void jmxOp(final String action, final ResourceRegistrationEntity resourceRegistrationEntity,
- final Printable printable) {
- final String resourceName = resourceRegistrationEntity.getResourceName();
- final String jmxUrl = resourceRegistrationEntity.getResourceUrl();
- if (jmxUrl == null) {
- printable.println(action + ": no resource URL for '" + resourceName + "'");
- return;
- }
-
- try (final JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(jmxUrl))) {
- final ComponentAdminMBean admin = JMX.newMXBeanProxy(connector.getMBeanServerConnection(),
- new ObjectName("ONAP_POLICY_COMP:name=" + resourceName), ComponentAdminMBean.class);
-
- if ("lock".equals(action)) {
- admin.lock();
- } else if ("unlock".equals(action)) {
- admin.unlock();
- } else {
- printable.println("Unknown action: " + action);
- }
- } catch (final IOException | MalformedObjectNameException | IntegrityMonitorException exception) {
- printable.println(action + " failed for '" + resourceName + "': " + exception);
- }
- }
-
-}
diff --git a/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/PersistenceUnitPropertiesProvider.java b/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/PersistenceUnitPropertiesProvider.java
deleted file mode 100644
index ffc48694..00000000
--- a/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/PersistenceUnitPropertiesProvider.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.utils;
-
-import static org.onap.policy.common.sitemanager.utils.Constants.JDBC_DRIVER_PROPERTY_NAME;
-import static org.onap.policy.common.sitemanager.utils.Constants.JDBC_PASSWORD_PROPERTY_NAME;
-import static org.onap.policy.common.sitemanager.utils.Constants.JDBC_URL_PROPERTY_NAME;
-import static org.onap.policy.common.sitemanager.utils.Constants.JDBC_USER_PROPERTY_NAME;
-import static org.onap.policy.common.sitemanager.utils.ErrorMessages.SITE_MANAGER_PROPERY_FILE_MISSING_PROPERTY;
-import static org.onap.policy.common.sitemanager.utils.ErrorMessages.SITE_MANAGER_PROPERY_FILE_NOT_DEFINED_MESSAGE;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.Properties;
-
-import org.onap.policy.common.sitemanager.exception.MissingPropertyException;
-import org.onap.policy.common.sitemanager.exception.PropertyFileProcessingException;
-
-public class PersistenceUnitPropertiesProvider {
-
- private PersistenceUnitPropertiesProvider() {
- super();
- }
-
- /**
- * Parser and validate properties in give property file. <br>
- * valid and mandatory property name
- *
- * <ul>
- * <li>javax.persistence.jdbc.driver</li>
- * <li>javax.persistence.jdbc.url</li>
- * <li>javax.persistence.jdbc.user</li>
- * <li>javax.persistence.jdbc.password</li>
- * </ul>
- *
- * @param propertiesFileName the properties filename
- * @param printable {@link Printable}
- * @return {@link Properties}
- */
- public static Properties getProperties(final String propertiesFileName, final Printable printable) {
- if (propertiesFileName == null) {
- printable.println(SITE_MANAGER_PROPERY_FILE_NOT_DEFINED_MESSAGE);
- printable.println(SITE_MANAGER_PROPERY_FILE_MISSING_PROPERTY);
- throw new PropertyFileProcessingException("Property file name is null :" + propertiesFileName);
- }
-
- final Path filePath = Paths.get(propertiesFileName);
- final Properties properties = getProperties(filePath, printable);
-
- // verify that we have all of the properties needed
- if (isNotValid(properties, JDBC_DRIVER_PROPERTY_NAME, JDBC_URL_PROPERTY_NAME, JDBC_USER_PROPERTY_NAME,
- JDBC_PASSWORD_PROPERTY_NAME)) {
- // one or more missing properties
- printable.println(SITE_MANAGER_PROPERY_FILE_MISSING_PROPERTY);
- throw new MissingPropertyException("missing mandatory attributes");
- }
- return properties;
- }
-
- private static Properties getProperties(final Path filePath, final Printable printable) {
- if (!filePath.toFile().exists()) {
- printable.println(SITE_MANAGER_PROPERY_FILE_NOT_DEFINED_MESSAGE);
- printable.println(SITE_MANAGER_PROPERY_FILE_MISSING_PROPERTY);
- throw new PropertyFileProcessingException("Property file not found");
- }
-
- try (final BufferedReader bufferedReader = Files.newBufferedReader(filePath);) {
- final Properties properties = new Properties();
- properties.load(bufferedReader);
- return properties;
- } catch (final IOException exception) {
- printable.println("Exception loading properties: " + exception);
- printable.println(ErrorMessages.SITE_MANAGER_PROPERY_FILE_NOT_DEFINED_MESSAGE);
- printable.println(ErrorMessages.SITE_MANAGER_PROPERY_FILE_MISSING_PROPERTY);
- throw new PropertyFileProcessingException("Exception loading properties: ", exception);
- }
- }
-
- private static boolean isNotValid(final Properties properties, final String... values) {
- if (values == null || values.length == 0) {
- return true;
- }
- for (final String val : values) {
- if (properties.get(val) == null) {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/Printable.java b/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/Printable.java
deleted file mode 100644
index 757268a7..00000000
--- a/site-manager/src/main/java/org/onap/policy/common/sitemanager/utils/Printable.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.utils;
-
-@FunctionalInterface
-public interface Printable {
-
- void println(final String value);
-
-}
diff --git a/site-manager/src/test/java/org/onap/policy/common/sitemanager/MainTest.java b/site-manager/src/test/java/org/onap/policy/common/sitemanager/MainTest.java
deleted file mode 100644
index e9a596c3..00000000
--- a/site-manager/src/test/java/org/onap/policy/common/sitemanager/MainTest.java
+++ /dev/null
@@ -1,557 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.Properties;
-
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.EntityTransaction;
-import javax.persistence.Persistence;
-import javax.persistence.TypedQuery;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.onap.policy.common.im.jpa.ResourceRegistrationEntity;
-import org.onap.policy.common.im.jpa.StateManagementEntity;
-import org.onap.policy.common.sitemanager.MainTestRunner.ExitCodeTestException;
-import org.onap.policy.common.sitemanager.data.service.DatabaseAccessService;
-import org.onap.policy.common.sitemanager.data.service.DatabaseAccessServiceImpl;
-import org.onap.policy.common.sitemanager.utils.Constants;
-import org.onap.policy.common.sitemanager.utils.ErrorMessages;
-import org.onap.policy.common.sitemanager.utils.PrintableImpl;
-import org.onap.policy.common.utils.jpa.EntityMgrCloser;
-import org.onap.policy.common.utils.jpa.EntityTransCloser;
-
-/**
- * This class contains the main entry point for Site Manager.
- */
-public class MainTest {
-
- private static final String EXIT_CODE_TEST_EXCEPTION = "ExitCodeTestException must be thrown in MainTestRunner"
- + " class when System.exit() is called in Main class";
-
- private static final String SITE_NAME = "SITE";
-
- private static final String PROPERTY_FILE_NAME = "siteManagerPropertyFile.properties";
-
- private static final String RESOURCE_LOCAL = "RESOURCE_LOCAL";
-
- private static final String DROP_AND_CREATE_TABLES = "drop-and-create-tables";
-
- private static final String NULL_STRING = "NULL";
-
- private static final String DATABASE_H2_PLATFORM = "org.eclipse.persistence.platform.database.H2Platform";
-
- private static final String ECLIPSELINK_ID_VALIDATION = "eclipselink.id-validation";
-
- private static final String ECLIPSELINK_TARGET_DATABASE = "eclipselink.target-database";
-
- private static final String DDL_GENERATION = "eclipselink.ddl-generation";
-
- private static final String TRANSACTION_TYPE = "javax.persistence.transactionType";
-
- private static final String RESOURCE_NAME = "RESOURCE_NAME";
-
- private static final String ADMIN_STATE_NEW_VALUE = "NEW_VALUE";
-
- private static final Date CURRENT_DATE = new Date();
-
- private static final String COMMENTS = "";
-
- private static final String DEFAULT_DB_URL_PREFIX = "jdbc:h2:mem:";
-
- private static final String IN_MEMORY_DB_URL = DEFAULT_DB_URL_PREFIX + "myDb";
-
- private static final String H2_DB_DRIVER = "org.h2.Driver";
-
- private final Properties properties = new Properties();
-
- @Rule
- public TemporaryFolder temporaryFolder = new TemporaryFolder();
-
- private EntityManagerFactory managerFactory;
-
- private final MainTestRunner testRunner = new MainTestRunner();
-
- /**
- * Before Test.
- *
- * @throws Exception throws exception if unable to create property file or
- * {@link EntityManagerFactory}
- */
- @Before
- public void setUp() throws Exception {
-
- properties.put(Constants.JDBC_DRIVER_PROPERTY_NAME, H2_DB_DRIVER);
- properties.put(Constants.JDBC_URL_PROPERTY_NAME, IN_MEMORY_DB_URL);
- properties.put(Constants.JDBC_USER_PROPERTY_NAME, "test");
- properties.put(Constants.JDBC_PASSWORD_PROPERTY_NAME, "test");
- properties.put(TRANSACTION_TYPE, RESOURCE_LOCAL);
- properties.put(DDL_GENERATION, DROP_AND_CREATE_TABLES);
- properties.put(ECLIPSELINK_TARGET_DATABASE, DATABASE_H2_PLATFORM);
- properties.put(ECLIPSELINK_ID_VALIDATION, NULL_STRING);
-
- final File file = temporaryFolder.newFile(PROPERTY_FILE_NAME);
- creatPropertyFile(file, properties);
- System.setProperty(Constants.SITE_MANAGER_PROPERTIES_PROPERTY_NAME, file.toString());
- managerFactory = Persistence.createEntityManagerFactory(Constants.OPERATIONAL_PERSISTENCE_UNIT, properties);
-
- testRunner.setUp();
- }
-
- /**
- * Destroy.
- */
- @After
- public void destroy() {
- Main.stateManagementTable.clear();
- Main.resourceRegistrationTable.clear();
- testRunner.destroy();
- properties.clear();;
- if (managerFactory.isOpen()) {
- managerFactory.close();
- }
- }
-
- @Test
- public void test_process_initializitonWithOutException() throws IOException {
-
- persist(managerFactory.createEntityManager(), getStateManagementEntity());
-
- persist(managerFactory.createEntityManager(), getResourceRegistrationEntity());
-
- final String[] args = new String[] {"show"};
- final PrintableImpl printable = new PrintableImpl();
- final Main objUnderTest = getMain();
- objUnderTest.process(args, printable);
-
- assertEquals(1, Main.resourceRegistrationTable.size());
- assertEquals(1, Main.stateManagementTable.size());
- assertTrue(printable.getResult().isEmpty());
-
- }
-
- @Test
- public void test_process_setAdminStateWithResourceNameArgument() throws IOException {
- persist(managerFactory.createEntityManager(), getStateManagementEntity());
- persist(managerFactory.createEntityManager(), getResourceRegistrationEntity());
-
- final String[] args = new String[] {"setAdminState", "-r", RESOURCE_NAME, ADMIN_STATE_NEW_VALUE};
- final PrintableImpl printable = new PrintableImpl();
- final Main objUnderTest = getMain();
- objUnderTest.process(args, printable);
-
- assertEquals(1, Main.resourceRegistrationTable.size());
- assertEquals(1, Main.stateManagementTable.size());
- assertTrue(printable.getResult().isEmpty());
-
- final List<StateManagementEntity> execute = execute(managerFactory.createEntityManager(),
- StateManagementEntity.class, Constants.STATE_MANAGEMENT_QUERY);
-
- assertEquals(ADMIN_STATE_NEW_VALUE, execute.get(0).getAdminState());
-
- }
-
- @Test
- public void test_process_setAdminStateWithStateArgument() throws IOException {
- persist(managerFactory.createEntityManager(), getStateManagementEntity());
- persist(managerFactory.createEntityManager(), getResourceRegistrationEntity());
-
- final String[] args = new String[] {"setAdminState", "-s", SITE_NAME, RESOURCE_NAME};
- final PrintableImpl printable = new PrintableImpl();
- final Main objUnderTest = getMain();
- objUnderTest.process(args, printable);
-
- assertEquals(1, Main.resourceRegistrationTable.size());
- assertEquals(1, Main.stateManagementTable.size());
- final List<String> result = printable.getResult();
- assertTrue(result.isEmpty());
-
- }
-
- @Test
- public void test_process_setlockWithStateArgument() throws IOException {
- persist(managerFactory.createEntityManager(), getStateManagementEntity());
- persist(managerFactory.createEntityManager(), getResourceRegistrationEntity());
-
- final String[] args = new String[] {"lock", "-s", SITE_NAME};
- final PrintableImpl printable = new PrintableImpl();
- final Main objUnderTest = getMain();
- objUnderTest.process(args, printable);
-
- assertEquals(1, Main.resourceRegistrationTable.size());
- assertEquals(1, Main.stateManagementTable.size());
- final List<String> result = printable.getResult();
- assertFalse(result.isEmpty());
-
- }
-
- @Test
- public void test_process_propertyFileNotAvailable() throws IOException {
-
- final File file = temporaryFolder.newFile("New" + PROPERTY_FILE_NAME);
- System.setProperty(Constants.SITE_MANAGER_PROPERTIES_PROPERTY_NAME, file.toString());
-
- final String[] args = new String[] {"setAdminState", "-s", SITE_NAME, RESOURCE_NAME};
- final PrintableImpl printable = new PrintableImpl();
- try {
- final Main objUnderTest = getMain();
- objUnderTest.process(args, printable);
- fail(EXIT_CODE_TEST_EXCEPTION);
- } catch (final ExitCodeTestException exitCodeTestException) {
- assertEquals(3, exitCodeTestException.exitCode);
-
- }
- assertTrue(Main.stateManagementTable.isEmpty());
- assertTrue(Main.resourceRegistrationTable.isEmpty());
- assertFalse(printable.getResult().isEmpty());
-
- }
-
- @Test
- public void test_process_emptyPropertyFile() throws IOException {
-
- final File file = temporaryFolder.newFile("New" + PROPERTY_FILE_NAME);
- System.setProperty(Constants.SITE_MANAGER_PROPERTIES_PROPERTY_NAME, file.toString());
- creatPropertyFile(file, new Properties());
- final String[] args = new String[] {"setAdminState", "-s", SITE_NAME, RESOURCE_NAME};
- final PrintableImpl printable = new PrintableImpl();
- try {
- final Main objUnderTest = getMain();
- objUnderTest.process(args, printable);
- fail(EXIT_CODE_TEST_EXCEPTION);
- } catch (final ExitCodeTestException exitCodeTestException) {
- assertEquals(3, exitCodeTestException.exitCode);
-
- }
- assertTrue(Main.stateManagementTable.isEmpty());
- assertTrue(Main.resourceRegistrationTable.isEmpty());
- assertFalse(printable.getResult().isEmpty());
-
- }
-
- @Test
- public void test_process_MissingAttributesInPropertyFile() throws IOException {
-
- final File file = temporaryFolder.newFile("New" + PROPERTY_FILE_NAME);
- System.setProperty(Constants.SITE_MANAGER_PROPERTIES_PROPERTY_NAME, file.toString());
- final Properties properties = new Properties();
- properties.put(Constants.JDBC_DRIVER_PROPERTY_NAME, H2_DB_DRIVER);
- creatPropertyFile(file, properties);
- final String[] args = new String[] {"setAdminState", "-s", SITE_NAME, RESOURCE_NAME};
- final PrintableImpl printable = new PrintableImpl();
- try {
- final Main objUnderTest = getMain();
- objUnderTest.process(args, printable);
- fail(EXIT_CODE_TEST_EXCEPTION);
- } catch (final ExitCodeTestException exitCodeTestException) {
- assertEquals(3, exitCodeTestException.exitCode);
-
- }
- assertTrue(Main.stateManagementTable.isEmpty());
- assertTrue(Main.resourceRegistrationTable.isEmpty());
- assertFalse(printable.getResult().isEmpty());
-
- }
-
- @Test
- public void test_process_MissingOneAttributesInPropertyFile() throws IOException {
-
- final File file = temporaryFolder.newFile("New" + PROPERTY_FILE_NAME);
- System.setProperty(Constants.SITE_MANAGER_PROPERTIES_PROPERTY_NAME, file.toString());
- final Properties properties = new Properties();
- properties.put(Constants.JDBC_DRIVER_PROPERTY_NAME, H2_DB_DRIVER);
- properties.put(Constants.JDBC_URL_PROPERTY_NAME, IN_MEMORY_DB_URL);
- properties.put(Constants.JDBC_USER_PROPERTY_NAME, "test");
- creatPropertyFile(file, properties);
- final String[] args = new String[] {"setAdminState", "-s", SITE_NAME, RESOURCE_NAME};
- final PrintableImpl printable = new PrintableImpl();
- try {
- final Main objUnderTest = getMain();
- objUnderTest.process(args, printable);
- fail(EXIT_CODE_TEST_EXCEPTION);
- } catch (final ExitCodeTestException exitCodeTestException) {
- assertEquals(3, exitCodeTestException.exitCode);
-
- }
- assertTrue(Main.stateManagementTable.isEmpty());
- assertTrue(Main.resourceRegistrationTable.isEmpty());
- assertFalse(printable.getResult().isEmpty());
-
- }
-
- @Test
- public void test_process_emptyArguments_printError() throws IOException {
-
- final PrintableImpl printable = new PrintableImpl();
- try {
- final String[] args = new String[] {};
- final Main objUnderTest = getMain();
- objUnderTest.process(args, printable);
- fail(EXIT_CODE_TEST_EXCEPTION);
- } catch (final ExitCodeTestException exitCodeTestException) {
- assertEquals(2, exitCodeTestException.exitCode);
-
- }
-
- assertTrue(Main.stateManagementTable.isEmpty());
- assertTrue(Main.resourceRegistrationTable.isEmpty());
- final List<String> actualMessages = printable.getResult();
- assertFalse(actualMessages.isEmpty());
-
- assertEquals(Arrays.asList(ErrorMessages.NO_COMMAND_SPECIFIED, ErrorMessages.HELP_STRING), actualMessages);
-
- }
-
- @Test
- public void test_process_nonEmptyWithHelpArguments_printHelp() throws IOException {
-
- final PrintableImpl printable = new PrintableImpl();
- try {
- final String[] args = new String[] {"---", ""};
- final Main objUnderTest = getMain();
- objUnderTest.process(args, printable);
- fail(EXIT_CODE_TEST_EXCEPTION);
- } catch (final ExitCodeTestException exitCodeTestException) {
- assertEquals(1, exitCodeTestException.exitCode);
-
- }
- assertTrue(Main.stateManagementTable.isEmpty());
- assertTrue(Main.resourceRegistrationTable.isEmpty());
- final List<String> actualMessages = printable.getResult();
- assertFalse(actualMessages.isEmpty());
- assertEquals(Arrays.asList("Unrecognized option: ---", ErrorMessages.HELP_STRING), actualMessages);
-
- }
-
- @Test
- public void test_process_HelpArguments_printHelp() {
-
- final PrintableImpl printable = new PrintableImpl();
- try {
- final String[] args = new String[] {"-h"};
- final Main objUnderTest = getMain();
- objUnderTest.process(args, printable);
- fail(EXIT_CODE_TEST_EXCEPTION);
- } catch (final ExitCodeTestException exitCodeTestException) {
- assertEquals(0, exitCodeTestException.exitCode);
-
- }
- assertTrue(Main.stateManagementTable.isEmpty());
- assertTrue(Main.resourceRegistrationTable.isEmpty());
- final List<String> actualMessages = printable.getResult();
- assertFalse(actualMessages.isEmpty());
- assertEquals(Arrays.asList(ErrorMessages.HELP_STRING), actualMessages);
-
- }
-
- @Test
- public void test_process_missingArguments_printHelpAndErrorMessage() {
-
- final PrintableImpl printable = new PrintableImpl();
- try {
- final String[] args = new String[] {"setAdminState", "-s", RESOURCE_NAME};
- final Main objUnderTest = getMain();
- objUnderTest.process(args, printable);
- fail(EXIT_CODE_TEST_EXCEPTION);
- } catch (final ExitCodeTestException exitCodeTestException) {
- assertEquals(2, exitCodeTestException.exitCode);
-
- }
- assertTrue(Main.stateManagementTable.isEmpty());
- assertTrue(Main.resourceRegistrationTable.isEmpty());
- final List<String> actualMessages = printable.getResult();
- assertFalse(actualMessages.isEmpty());
- assertEquals(Arrays.asList(ErrorMessages.SET_ADMIN_STATE_MISSING_NEW_STATE_VALUE, ErrorMessages.HELP_STRING),
- actualMessages);
-
- }
-
- @Test
- public void test_process_setAdmnStateWithValidArgs_printHelpAndErrorMessage() {
-
- final PrintableImpl printable = new PrintableImpl();
- try {
- final String[] args = new String[] {"setAdminState", "-s", RESOURCE_NAME, RESOURCE_NAME};
- final Main objUnderTest = getMain();
- objUnderTest.process(args, printable);
- fail(EXIT_CODE_TEST_EXCEPTION);
- } catch (final ExitCodeTestException exitCodeTestException) {
- assertEquals(4, exitCodeTestException.exitCode);
-
- }
- assertTrue(Main.stateManagementTable.isEmpty());
- assertTrue(Main.resourceRegistrationTable.isEmpty());
- final List<String> actualMessages = printable.getResult();
- assertFalse(actualMessages.isEmpty());
- assertEquals(Arrays.asList("setAdminState" + ErrorMessages.NO_MATCHING_ENTRIES), actualMessages);
-
- }
-
- @Test
- public void test_process_extraShowArguments_printHelpAndErrorMessage() {
- final String[] args = new String[] {"show", RESOURCE_NAME};
-
- runAndAssertErrorMessage(args, ErrorMessages.SHOW_EXTRA_ARGUMENTS, ErrorMessages.HELP_STRING);
- }
-
- @Test
- public void test_process_lockShowArguments_printHelpAndErrorMessage() {
- final String[] args = new String[] {"lock", RESOURCE_NAME};
-
- runAndAssertErrorMessage(args, ErrorMessages.LOCK_EXTRA_ARGUMENTS,
- ErrorMessages.LOCK_EITHER_S_OR_R_OPTION_IS_NEEDED, ErrorMessages.HELP_STRING);
- }
-
- @Test
- public void test_process_unknowArguments_printHelpAndErrorMessage() {
- final String[] args = new String[] {"x", RESOURCE_NAME};
-
- runAndAssertErrorMessage(args, "x" + ErrorMessages.UNKNOWN_COMMAND, ErrorMessages.HELP_STRING);
- }
-
- @Test
- public void test_process_SetAdminStateArguments_printHelpAndErrorMessage() {
- final String[] args = new String[] {"setAdminState", RESOURCE_NAME, RESOURCE_NAME};
-
- runAndAssertErrorMessage(args, ErrorMessages.SET_ADMIN_STATE_EXTRA_ARGUMENTS,
- ErrorMessages.SET_ADMIN_STATE_EITHER_S_OR_R_OPTION_IS_NEEDED, ErrorMessages.HELP_STRING);
- }
-
- @Test
- public void test_process_SetAdminStateArguments_printHelpAndErrorMessage2() {
- final String[] args = new String[] {"lock", "-s", SITE_NAME, "-r", RESOURCE_NAME};
-
- runAndAssertErrorMessage(args, "lock" + ErrorMessages.R_AND_S_OPTIONS_ARE_MUTUALLY_EXCLUSIVE,
- ErrorMessages.HELP_STRING);
- }
-
- @Test
- public void test_process_unlockShowArguments_printHelpAndErrorMessage() {
- final String[] args = new String[] {"unlock", RESOURCE_NAME};
-
- runAndAssertErrorMessage(args, ErrorMessages.UNLOCK_EXTRA_ARGUMENTS,
- ErrorMessages.UNLOCK_EITHER_S_OR_R_OPTION_IS_NEEDED, ErrorMessages.HELP_STRING);
- }
-
- @Test
- public void test_process_StateAndResourceArguments_printHelpAndErrorMessage() {
- final String[] args = new String[] {"-s", SITE_NAME, "-r", RESOURCE_NAME};
-
- runAndAssertErrorMessage(args, ErrorMessages.NO_COMMAND_SPECIFIED, ErrorMessages.HELP_STRING);
-
- }
-
- private void runAndAssertErrorMessage(final String[] args, final String... expectedErrorMessages) {
- final PrintableImpl printable = new PrintableImpl();
- try {
- final Main objUnderTest = getMain();
- objUnderTest.process(args, printable);
- fail(EXIT_CODE_TEST_EXCEPTION);
- } catch (final ExitCodeTestException exitCodeTestException) {
- assertEquals(2, exitCodeTestException.exitCode);
-
- }
- assertTrue(Main.stateManagementTable.isEmpty());
- assertTrue(Main.resourceRegistrationTable.isEmpty());
- final List<String> actualMessages = printable.getResult();
- assertFalse(actualMessages.isEmpty());
- assertEquals(Arrays.asList(expectedErrorMessages), actualMessages);
- }
-
- private <T> void persist(final EntityManager entityManager, final T entity) {
- final EntityTransaction entityTransaction = entityManager.getTransaction();
- try (final EntityMgrCloser emc = new EntityMgrCloser(entityManager);
- final EntityTransCloser transaction = new EntityTransCloser(entityTransaction)) {
- entityManager.persist(entity);
- transaction.commit();
- }
- }
-
- /**
- * execute given query.
- *
- * @param entityManager the {@link EntityManager}
- * @param clazz the entity class
- * @param query the query
- * @return a list of the results
- */
- public <T> List<T> execute(final EntityManager entityManager, final Class<T> clazz, final String query) {
- try (final EntityMgrCloser entityMgrCloser = new EntityMgrCloser(entityManager);) {
- final TypedQuery<T> typedQuery = entityManager.createQuery(query, clazz);
- return typedQuery.getResultList();
- }
- }
-
- private Main getMain() {
- final Main objUnderTest = new Main() {
- @Override
- DatabaseAccessService getDatabaseAccessService(final String persistenceUnitName,
- final Properties properties) {
- return new DatabaseAccessServiceImpl(managerFactory);
- }
- };
- return objUnderTest;
- }
-
- private StateManagementEntity getStateManagementEntity() {
- final StateManagementEntity entity = new StateManagementEntity();
- entity.setModifiedDate(CURRENT_DATE);
- entity.setAdminState("AdminState");
- entity.setResourceName(RESOURCE_NAME);
- entity.setAvailStatus("AvailStatus");
- entity.setOpState("OpState");
- entity.setStandbyStatus("StandbyStatus");
- return entity;
- }
-
- private ResourceRegistrationEntity getResourceRegistrationEntity() {
- final ResourceRegistrationEntity entity = new ResourceRegistrationEntity();
- entity.setLastUpdated(CURRENT_DATE);
- entity.setNodeType("NODE_NAME");
- entity.setResourceName(RESOURCE_NAME);
- entity.setResourceUrl("/path/to/something");
- entity.setSite(SITE_NAME);
- return entity;
- }
-
- private void creatPropertyFile(final File file, final Properties properties) throws IOException {
- try (final BufferedWriter bufferedWriter = Files.newBufferedWriter(file.toPath());) {
- properties.store(bufferedWriter, COMMENTS);
- }
- }
-}
diff --git a/site-manager/src/test/java/org/onap/policy/common/sitemanager/MainTestRunner.java b/site-manager/src/test/java/org/onap/policy/common/sitemanager/MainTestRunner.java
deleted file mode 100644
index bc0e7362..00000000
--- a/site-manager/src/test/java/org/onap/policy/common/sitemanager/MainTestRunner.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager;
-
-import java.security.Permission;
-
-public class MainTestRunner {
-
- private SecurityManager savedSecurityManager;
- private final ExitCodeSecurityManager exitCodeSecurityManager = new ExitCodeSecurityManager();
- private boolean isSetUp = false;
-
- /**
- * Set {@link SecurityManager} to {@link ExitCodeTestException}.
- */
- public void setUp() {
- if (!isSetUp) {
- savedSecurityManager = System.getSecurityManager();
- System.setSecurityManager(exitCodeSecurityManager);
- isSetUp = true;
- }
- }
-
- /**
- * Restore save {@link SecurityManager}.
- */
- public void destroy() {
- if (isSetUp) {
- System.setSecurityManager(savedSecurityManager);
- isSetUp = false;
- }
- }
-
- class ExitCodeTestException extends SecurityException {
- private static final long serialVersionUID = 2690072276259821984L;
- public final int exitCode;
-
- public ExitCodeTestException(final int exitCode) {
- super("Test specific exit code exception to handle System.exit, value: " + exitCode);
- this.exitCode = exitCode;
- }
- }
-
- private class ExitCodeSecurityManager extends SecurityManager {
-
- @Override
- public void checkPermission(final Permission perm) {}
-
- @Override
- public void checkPermission(final Permission perm, final Object context) {}
-
- @Override
- public void checkExit(final int status) {
- super.checkExit(status);
- throw new ExitCodeTestException(status);
- }
-
- }
-}
diff --git a/site-manager/src/test/java/org/onap/policy/common/sitemanager/exception/IllegalCommandLineArgumentExceptionTest.java b/site-manager/src/test/java/org/onap/policy/common/sitemanager/exception/IllegalCommandLineArgumentExceptionTest.java
deleted file mode 100644
index 0aaa423f..00000000
--- a/site-manager/src/test/java/org/onap/policy/common/sitemanager/exception/IllegalCommandLineArgumentExceptionTest.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.exception;
-
-import static org.junit.Assert.assertEquals;
-
-import org.junit.Test;
-import org.onap.policy.common.utils.test.ExceptionsTester;
-
-public class IllegalCommandLineArgumentExceptionTest extends ExceptionsTester {
-
- @Test
- public void testIllegalCommandLineArgumentException() throws Exception {
- assertEquals(1, test(IllegalCommandLineArgumentException.class));
- }
-
-}
diff --git a/site-manager/src/test/java/org/onap/policy/common/sitemanager/exception/MissingPropertyExceptionTest.java b/site-manager/src/test/java/org/onap/policy/common/sitemanager/exception/MissingPropertyExceptionTest.java
deleted file mode 100644
index 715036a7..00000000
--- a/site-manager/src/test/java/org/onap/policy/common/sitemanager/exception/MissingPropertyExceptionTest.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.exception;
-
-import static org.junit.Assert.assertEquals;
-
-import org.junit.Test;
-import org.onap.policy.common.utils.test.ExceptionsTester;
-
-public class MissingPropertyExceptionTest extends ExceptionsTester {
-
- @Test
- public void testMissingPropertyException() throws Exception {
- assertEquals(1, test(MissingPropertyException.class));
- }
-
-}
diff --git a/site-manager/src/test/java/org/onap/policy/common/sitemanager/exception/NoMatchingEntryFoundExceptionTest.java b/site-manager/src/test/java/org/onap/policy/common/sitemanager/exception/NoMatchingEntryFoundExceptionTest.java
deleted file mode 100644
index f49ce055..00000000
--- a/site-manager/src/test/java/org/onap/policy/common/sitemanager/exception/NoMatchingEntryFoundExceptionTest.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.exception;
-
-import static org.junit.Assert.assertEquals;
-
-import org.junit.Test;
-import org.onap.policy.common.utils.test.ExceptionsTester;
-
-public class NoMatchingEntryFoundExceptionTest extends ExceptionsTester {
-
- @Test
- public void testNoMatchingEntryFoundException() throws Exception {
- assertEquals(1, test(NoMatchingEntryFoundException.class));
- }
-
-}
diff --git a/site-manager/src/test/java/org/onap/policy/common/sitemanager/exception/PropertyFileProcessingExceptionTest.java b/site-manager/src/test/java/org/onap/policy/common/sitemanager/exception/PropertyFileProcessingExceptionTest.java
deleted file mode 100644
index 490ebb3e..00000000
--- a/site-manager/src/test/java/org/onap/policy/common/sitemanager/exception/PropertyFileProcessingExceptionTest.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.exception;
-
-import static org.junit.Assert.assertEquals;
-
-import org.junit.Test;
-import org.onap.policy.common.utils.test.ExceptionsTester;
-
-public class PropertyFileProcessingExceptionTest extends ExceptionsTester {
-
- @Test
- public void testPropertyFileProcessingException() throws Exception {
- assertEquals(2, test(PropertyFileProcessingException.class));
- }
-
-}
diff --git a/site-manager/src/test/java/org/onap/policy/common/sitemanager/utils/CommandLineHelperTest.java b/site-manager/src/test/java/org/onap/policy/common/sitemanager/utils/CommandLineHelperTest.java
deleted file mode 100644
index 9d58bafb..00000000
--- a/site-manager/src/test/java/org/onap/policy/common/sitemanager/utils/CommandLineHelperTest.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.utils;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.onap.policy.common.sitemanager.utils.ExtraCommandLineArgument.LOCK;
-import static org.onap.policy.common.sitemanager.utils.ExtraCommandLineArgument.SET_ADMIN_STATE;
-import static org.onap.policy.common.sitemanager.utils.ExtraCommandLineArgument.SHOW;
-import static org.onap.policy.common.sitemanager.utils.ExtraCommandLineArgument.UNLOCK;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-
-import org.junit.Test;
-import org.onap.policy.common.sitemanager.exception.IllegalCommandLineArgumentException;
-
-public class CommandLineHelperTest {
-
- private static final String STATE_NAME = "STATE_NAME";
- private static final String RESOURCE_NAME = "RESOURCE_NAME";
-
- @Test
- public void test_CommandLineHelper_emptyArgs() throws IOException {
- final String[] args = new String[] {};
- final PrintableImpl printable = new PrintableImpl();
- final CommandLineHelper objUnderTest = new CommandLineHelper(args, printable);
-
- assertFalse(objUnderTest.isValid());
- assertEquals(Arrays.asList(ErrorMessages.NO_COMMAND_SPECIFIED), printable.getResult());
- }
-
- @Test
- public void test_CommandLineHelper_NullArgs() throws IOException {
- final String[] args = null;
- final PrintableImpl printable = new PrintableImpl();
- final CommandLineHelper objUnderTest = new CommandLineHelper(args, printable);
-
- assertFalse(objUnderTest.isValid());
- assertEquals(Arrays.asList(ErrorMessages.NO_COMMAND_SPECIFIED), printable.getResult());
- }
-
- @Test
- public void test_CommandLineHelper_ShowValidArgs() throws IOException {
- final String[] args = new String[] {SHOW.getValue(), "-s", RESOURCE_NAME};
- final PrintableImpl printable = new PrintableImpl();
- final CommandLineHelper objUnderTest = new CommandLineHelper(args, printable);
-
- assertTrue(objUnderTest.isValid());
- assertTrue(printable.getResult().isEmpty());
- }
-
- @Test
- public void test_CommandLineHelper_LockValidArgs() throws IOException {
- final String[] args = new String[] {LOCK.getValue(), "-s", RESOURCE_NAME};
- final PrintableImpl printable = new PrintableImpl();
- final CommandLineHelper objUnderTest = new CommandLineHelper(args, printable);
-
- assertTrue(objUnderTest.isValid());
- assertTrue(printable.getResult().isEmpty());
- }
-
- @Test
- public void test_CommandLineHelper_UnLockValidArgs() throws IOException {
- final String[] args = new String[] {UNLOCK.getValue(), "-s", RESOURCE_NAME};
- final PrintableImpl printable = new PrintableImpl();
- final CommandLineHelper objUnderTest = new CommandLineHelper(args, printable);
-
- assertTrue(objUnderTest.isValid());
- assertTrue(printable.getResult().isEmpty());
- }
-
- @Test
- public void test_CommandLineHelper_SetAdminStateValidArgs() throws IOException {
- final String[] args = new String[] {SET_ADMIN_STATE.getValue(), RESOURCE_NAME, "-r", RESOURCE_NAME};
- final PrintableImpl printable = new PrintableImpl();
- final CommandLineHelper objUnderTest = new CommandLineHelper(args, printable);
-
- assertTrue(objUnderTest.isValid());
- assertTrue(printable.getResult().isEmpty());
- assertEquals(RESOURCE_NAME, objUnderTest.getResourceName());
- }
-
- @Test
- public void test_CommandLineHelper_SetAdminStateWithStateValidArgs() throws IOException {
- final String[] args = new String[] {SET_ADMIN_STATE.getValue(), RESOURCE_NAME, "-s", STATE_NAME};
- final PrintableImpl printable = new PrintableImpl();
- final CommandLineHelper objUnderTest = new CommandLineHelper(args, printable);
-
- assertTrue(objUnderTest.isValid());
- assertTrue(printable.getResult().isEmpty());
- assertEquals(STATE_NAME, objUnderTest.getSite());
-
- assertEquals(Arrays.asList(SET_ADMIN_STATE.getValue(), RESOURCE_NAME), objUnderTest.getArgList());
- }
-
- @Test
- public void test_CommandLineHelper_HelpValidArgs() throws IOException {
- final String[] args = new String[] {"-h"};
- final PrintableImpl printable = new PrintableImpl();
- final CommandLineHelper objUnderTest = new CommandLineHelper(args, printable);
- assertTrue(objUnderTest.isHelpArgumentSet());
- }
-
- @Test(expected = IllegalCommandLineArgumentException.class)
- public void test_CommandLineHelper_invaidArgs_printHelp() throws IOException {
-
- final PrintableImpl printable = new PrintableImpl();
-
- final String[] args = new String[] {"---", ""};
- final CommandLineHelper objUnderTest = new CommandLineHelper(args, printable);
-
- assertFalse(objUnderTest.isValid());
-
- }
-
- @Test
- public void test_CommandLineHelper_invaidArgsMissingAttributes_printHelp() throws IOException {
-
- final PrintableImpl printable = new PrintableImpl();
- final String[] args = new String[] {SET_ADMIN_STATE.getValue(), "-s", RESOURCE_NAME};
- final CommandLineHelper objUnderTest = new CommandLineHelper(args, printable);
-
- assertFalse(objUnderTest.isValid());
- final List<String> actualMessages = printable.getResult();
-
- assertEquals(Arrays.asList(ErrorMessages.SET_ADMIN_STATE_MISSING_NEW_STATE_VALUE), actualMessages);
-
- }
-
- @Test
- public void test_CommandLineHelper_invaidShowArgsExtraAttributes_printHelp() throws IOException {
-
- final PrintableImpl printable = new PrintableImpl();
- final String[] args = new String[] {SHOW.getValue(), RESOURCE_NAME};
- final CommandLineHelper objUnderTest = new CommandLineHelper(args, printable);
-
- assertFalse(objUnderTest.isValid());
- final List<String> actualMessages = printable.getResult();
-
- assertEquals(Arrays.asList(ErrorMessages.SHOW_EXTRA_ARGUMENTS), actualMessages);
-
- }
-
- @Test
- public void test_CommandLineHelper_invaidLockArgsExtraAttributes_printHelp() throws IOException {
-
- final PrintableImpl printable = new PrintableImpl();
- final String[] args = new String[] {LOCK.getValue(), RESOURCE_NAME};
- final CommandLineHelper objUnderTest = new CommandLineHelper(args, printable);
-
- assertFalse(objUnderTest.isValid());
- final List<String> actualMessages = printable.getResult();
-
- assertEquals(
- Arrays.asList(ErrorMessages.LOCK_EXTRA_ARGUMENTS, ErrorMessages.LOCK_EITHER_S_OR_R_OPTION_IS_NEEDED),
- actualMessages);
-
- }
-
- @Test
- public void test_CommandLineHelper_invaidUnLockArgsExtraAttributes_printHelp() throws IOException {
-
- final PrintableImpl printable = new PrintableImpl();
- final String[] args = new String[] {UNLOCK.getValue(), RESOURCE_NAME};
- final CommandLineHelper objUnderTest = new CommandLineHelper(args, printable);
-
- assertFalse(objUnderTest.isValid());
- final List<String> actualMessages = printable.getResult();
-
- assertEquals(Arrays.asList(ErrorMessages.UNLOCK_EXTRA_ARGUMENTS,
- ErrorMessages.UNLOCK_EITHER_S_OR_R_OPTION_IS_NEEDED), actualMessages);
-
- }
-
-}
diff --git a/site-manager/src/test/java/org/onap/policy/common/sitemanager/utils/ExtraCommandLineArgumentTest.java b/site-manager/src/test/java/org/onap/policy/common/sitemanager/utils/ExtraCommandLineArgumentTest.java
deleted file mode 100644
index 16f9d091..00000000
--- a/site-manager/src/test/java/org/onap/policy/common/sitemanager/utils/ExtraCommandLineArgumentTest.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.utils;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.onap.policy.common.sitemanager.utils.ExtraCommandLineArgument.LOCK;
-import static org.onap.policy.common.sitemanager.utils.ExtraCommandLineArgument.SET_ADMIN_STATE;
-import static org.onap.policy.common.sitemanager.utils.ExtraCommandLineArgument.SHOW;
-
-import java.io.IOException;
-import java.util.Arrays;
-
-import org.junit.Test;
-
-public class ExtraCommandLineArgumentTest {
-
- private static final String EMPTY_STRING = "";
- private static final String RESOURCE_NAME = "RESOURCE_NAME";
-
- @Test
- public void test_ExtraCommandLineArgument_ShowValidArgs() throws IOException {
- final PrintableImpl printable = new PrintableImpl();
-
- final ExtraCommandLineArgument objUnderTest =
- ExtraCommandLineArgument.getExtraCommandLineArgument(SHOW.getValue());
-
- assertTrue(objUnderTest.isValid(Arrays.asList(SHOW.getValue()), printable));
- assertTrue(printable.getResult().isEmpty());
- }
-
- @Test
- public void test_ExtraCommandLineArgument_SetAdminStateValidArgs() throws IOException {
- final PrintableImpl printable = new PrintableImpl();
-
- final ExtraCommandLineArgument objUnderTest =
- ExtraCommandLineArgument.getExtraCommandLineArgument(SET_ADMIN_STATE.getValue());
-
- assertTrue(objUnderTest.isValid(Arrays.asList(SET_ADMIN_STATE.getValue(), RESOURCE_NAME), printable, true));
- assertTrue(printable.getResult().isEmpty());
- }
-
- @Test
- public void test_ExtraCommandLineArgument_LockStateValidArgs() throws IOException {
- final PrintableImpl printable = new PrintableImpl();
-
- final ExtraCommandLineArgument objUnderTest =
- ExtraCommandLineArgument.getExtraCommandLineArgument(LOCK.getValue());
-
- assertTrue(objUnderTest.isValid(Arrays.asList(LOCK.getValue()), printable, true));
- assertTrue(printable.getResult().isEmpty());
- }
-
- @Test
- public void test_ExtraCommandLineArgument_InValidArgs() throws IOException {
- final PrintableImpl printable = new PrintableImpl();
-
- final ExtraCommandLineArgument objUnderTest =
- ExtraCommandLineArgument.getExtraCommandLineArgument(EMPTY_STRING);
-
- assertTrue(objUnderTest.equals(ExtraCommandLineArgument.INVALID));
- assertFalse(objUnderTest.isValid(Arrays.asList(EMPTY_STRING), printable, false));
- assertFalse(printable.getResult().isEmpty());
- assertEquals(Arrays.asList(ErrorMessages.UNKNOWN_COMMAND), printable.getResult());
- }
-
-}
diff --git a/site-manager/src/test/java/org/onap/policy/common/sitemanager/utils/PersistenceUnitPropertiesProviderTest.java b/site-manager/src/test/java/org/onap/policy/common/sitemanager/utils/PersistenceUnitPropertiesProviderTest.java
deleted file mode 100644
index 1694cf17..00000000
--- a/site-manager/src/test/java/org/onap/policy/common/sitemanager/utils/PersistenceUnitPropertiesProviderTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.utils;
-
-import static org.junit.Assert.assertEquals;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.util.Properties;
-
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.onap.policy.common.sitemanager.exception.MissingPropertyException;
-import org.onap.policy.common.sitemanager.exception.PropertyFileProcessingException;
-
-public class PersistenceUnitPropertiesProviderTest {
- private static final String PROPERTIES_FILE_NAME = "file.properties";
-
- private static final String COMMENTS = "";
-
- @Rule
- public TemporaryFolder temporaryFolder = new TemporaryFolder();
-
- @Test(expected = PropertyFileProcessingException.class)
- public void test_getProperties_null_throwException() {
- final Printable printable = new PrintableImpl();
-
- PersistenceUnitPropertiesProvider.getProperties(null, printable);
- }
-
- @Test(expected = PropertyFileProcessingException.class)
- public void test_getProperties_emptyString_throwException() {
- final Printable printable = new PrintableImpl();
-
- PersistenceUnitPropertiesProvider.getProperties("", printable);
- }
-
- @Test(expected = MissingPropertyException.class)
- public void test_getProperties_emptyPropertyFile_throwException() throws IOException {
- final Printable printable = new PrintableImpl();
- final File file = temporaryFolder.newFile(PROPERTIES_FILE_NAME);
- creatPropertyFile(file, new Properties());
- PersistenceUnitPropertiesProvider.getProperties(file.toString(), printable);
- }
-
- @Test(expected = MissingPropertyException.class)
- public void test_getProperties_PropertyFileWithMissingProperties_throwException() throws IOException {
- final Printable printable = new PrintableImpl();
- final File file = temporaryFolder.newFile(PROPERTIES_FILE_NAME);
- final Properties properties = new Properties();
- properties.put(Constants.JDBC_DRIVER_PROPERTY_NAME, "org.h2");
- creatPropertyFile(file, properties);
- PersistenceUnitPropertiesProvider.getProperties(file.toString(), printable);
- }
-
- @Test
- public void test_getProperties_PropertyFileValidProperties() throws IOException {
- final Printable printable = new PrintableImpl();
- final File file = temporaryFolder.newFile(PROPERTIES_FILE_NAME);
-
- final Properties properties = new Properties();
- properties.put(Constants.JDBC_DRIVER_PROPERTY_NAME, "Driver");
- properties.put(Constants.JDBC_URL_PROPERTY_NAME, "inMem:Database");
- properties.put(Constants.JDBC_USER_PROPERTY_NAME, "test");
- properties.put(Constants.JDBC_PASSWORD_PROPERTY_NAME, "test");
- creatPropertyFile(file, properties);
- final Properties actualProperties = PersistenceUnitPropertiesProvider.getProperties(file.toString(), printable);
-
- assertEquals(properties, actualProperties);
- }
-
- private void creatPropertyFile(final File file, final Properties properties) throws IOException {
- try (final BufferedWriter bufferedWriter = Files.newBufferedWriter(file.toPath());) {
- properties.store(bufferedWriter, COMMENTS);
- }
- }
-
-}
diff --git a/site-manager/src/test/java/org/onap/policy/common/sitemanager/utils/PrintableImpl.java b/site-manager/src/test/java/org/onap/policy/common/sitemanager/utils/PrintableImpl.java
deleted file mode 100644
index dd0512fa..00000000
--- a/site-manager/src/test/java/org/onap/policy/common/sitemanager/utils/PrintableImpl.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * site-manager
- * ================================================================================
- * Copyright (C) 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.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.common.sitemanager.utils;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class PrintableImpl implements Printable {
-
- private final List<String> result = new ArrayList<>();
-
- @Override
- public void println(final String value) {
- result.add(value);
- }
-
- public List<String> getResult() {
- return result;
- }
-
-}