diff options
author | a.sreekumar <ajith.sreekumar@bell.ca> | 2021-12-03 11:27:32 +0000 |
---|---|---|
committer | a.sreekumar <ajith.sreekumar@bell.ca> | 2021-12-14 17:58:20 +0000 |
commit | 4694c152f69380f4d3d64bde0a13d15fb59a71f3 (patch) | |
tree | 38c9e0b1117323c58536706a66830109225d6200 /main/src/main/java/org/onap/policy/pap/main/startstop/Main.java | |
parent | c51fa0d4e953518571a115af4afdea80a17ed605 (diff) |
Migrate pap startup & controllers to spring boot
This commit migrates pap config, startup and controllers to spring boot.
Change-Id: Icf91d728160a23db614dfba6b40ddccd2f6163a5
Issue-ID: POLICY-3754
Signed-off-by: a.sreekumar <ajith.sreekumar@bell.ca>
Diffstat (limited to 'main/src/main/java/org/onap/policy/pap/main/startstop/Main.java')
-rw-r--r-- | main/src/main/java/org/onap/policy/pap/main/startstop/Main.java | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/main/src/main/java/org/onap/policy/pap/main/startstop/Main.java b/main/src/main/java/org/onap/policy/pap/main/startstop/Main.java deleted file mode 100644 index 5918ed12..00000000 --- a/main/src/main/java/org/onap/policy/pap/main/startstop/Main.java +++ /dev/null @@ -1,161 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019 Nordix Foundation. - * Modifications Copyright (C) 2019, 2021 AT&T Intellectual Property. - * Modifications Copyright (C) 2020 Bell Canada. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.pap.main.startstop; - -import java.util.Arrays; -import org.onap.policy.common.utils.resources.MessageConstants; -import org.onap.policy.common.utils.services.Registry; -import org.onap.policy.pap.main.PapConstants; -import org.onap.policy.pap.main.PolicyPapRuntimeException; -import org.onap.policy.pap.main.parameters.PapParameterGroup; -import org.onap.policy.pap.main.parameters.PapParameterHandler; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * This class initiates ONAP Policy Framework PAP component. - * - * @author Ram Krishna Verma (ram.krishna.verma@est.tech) - */ -public class Main { - - private static final Logger LOGGER = LoggerFactory.getLogger(Main.class); - - private PapActivator activator; - private PapParameterGroup parameterGroup; - - /** - * Instantiates the policy pap service. - * - * @param args the command line arguments - */ - public Main(final String[] args) { - final var argumentString = Arrays.toString(args); - LOGGER.info("Starting policy pap service with arguments - {}", argumentString); - - // Check the arguments - final var arguments = new PapCommandLineArguments(); - try { - // The arguments return a string if there is a message to print and we should exit - final String argumentMessage = arguments.parse(args); - if (argumentMessage != null) { - LOGGER.info(argumentMessage); - return; - } - // Validate that the arguments are sane - arguments.validate(); - - // Read the parameters - parameterGroup = new PapParameterHandler().getParameters(arguments); - - // Initialize database - new PapDatabaseInitializer().initializePapDatabase( - parameterGroup.getDatabaseProviderParameters(), - arguments.getPdpGroupsConfiguration()); - - // Now, create the activator for the policy pap service - activator = new PapActivator(parameterGroup); - Registry.register(PapConstants.REG_PAP_ACTIVATOR, activator); - - // Start the activator - activator.start(); - } catch (Exception exp) { // NOSONAR - /* - * Disabled sonar on the above line, because we want to capture the stack - * trace via the logger while still reporting the exception message on stdout - * when the JVM exits. - */ - LOGGER.error("failed to start Main", exp); - if (null != activator) { - Registry.unregister(PapConstants.REG_PAP_ACTIVATOR); - } - throw new PolicyPapRuntimeException( - String.format(MessageConstants.START_FAILURE_MSG, MessageConstants.POLICY_PAP), exp); - } - - // Add a shutdown hook to shut everything down in an orderly manner - Runtime.getRuntime().addShutdownHook(new PolicyPapShutdownHookClass()); - var successMsg = String.format(MessageConstants.START_SUCCESS_MSG, MessageConstants.POLICY_PAP); - LOGGER.info(successMsg); - } - - /** - * Get the parameters specified in JSON. - * - * @return the parameters - */ - public PapParameterGroup getParameters() { - return parameterGroup; - } - - /** - * Shut down Execution. - * - */ - public void shutdown() { - // clear the parameterGroup variable - parameterGroup = null; - - // clear the pap activator - if (activator != null) { - activator.stop(); - } - } - - /** - * The Class PolicyPapShutdownHookClass terminates the policy pap service when its run method is called. - */ - private class PolicyPapShutdownHookClass extends Thread { - /* - * (non-Javadoc) - * - * @see java.lang.Runnable#run() - */ - @Override - public void run() { - if (!activator.isAlive()) { - return; - } - - try { - // Shutdown the policy pap service and wait for everything to stop - activator.stop(); - } catch (final RuntimeException e) { - LOGGER.warn("error occurred during shut down of the policy pap service", e); - } - } - } - - /** - * The main method. - * - * @param args the arguments - */ - public static void main(final String[] args) { // NOSONAR - /* - * NOTE: arguments are validated by the constructor, thus sonar is disabled. - */ - - new Main(args); - } -} |