9aa68876e9aeff4ce1d20d5ab007b1aa03f583b2
[policy/distribution.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2019 Nordix Foundation.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.distribution.forwarding.xacml.pdp.testclasses;
22
23 import org.onap.policy.common.endpoints.http.server.RestServer;
24 import org.onap.policy.common.endpoints.parameters.RestServerParameters;
25 import org.onap.policy.common.utils.coder.CoderException;
26 import org.onap.policy.common.utils.coder.StandardCoder;
27 import org.onap.policy.common.utils.resources.ResourceUtils;
28 import org.onap.policy.distribution.forwarding.PolicyForwardingException;
29 import org.onap.policy.distribution.forwarding.lifecycle.api.LifecycleApiPolicyForwarder;
30 import org.onap.policy.distribution.main.rest.aaf.AafDistributionFilter;
31
32 /**
33  * The class for starting/stopping simulator for testing {@link LifecycleApiPolicyForwarder} .
34  *
35  * @author Ram Krishna Verma (ram.krishna.verma@est.tech)
36  */
37 public class LifecycleApiSimulatorMain {
38     private RestServer restServer;
39
40     /**
41      * Starts the simulator.
42      *
43      * @throws PolicyForwardingException if error occurs
44      * @throws CoderException if error occurs
45      */
46     public void startLifecycycleApiSimulator() throws PolicyForwardingException, CoderException {
47         final StandardCoder standardCoder = new StandardCoder();
48         final RestServerParameters restServerParameters = standardCoder.decode(
49                 ResourceUtils.getResourceAsString("src/test/resources/parameters/RestServerParameters.json"),
50                 RestServerParameters.class);
51         restServer = new RestServer(restServerParameters, AafDistributionFilter.class,
52                 LifecycycleApiSimulatorEndpoint.class);
53         if (!restServer.start()) {
54             throw new PolicyForwardingException("Failed to start rest simulator. Check log for more details...");
55         }
56     }
57
58     /**
59      * Shut down Execution.
60      */
61     public void stopLifecycycleApiSimulator() {
62         if (restServer != null) {
63             restServer.stop();
64         }
65     }
66 }