enahance Sonar coverage rate
[appc.git] / appc-config / appc-flow-controller / provider / src / main / java / org / onap / appc / flow / controller / FlowControllerActivator.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP : APP-C
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property.  All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.appc.flow.controller;
22
23 import java.util.LinkedList;
24 import java.util.List;
25
26 import org.onap.appc.flow.controller.node.FlowControlNode;
27 import org.onap.appc.flow.controller.node.JsonParsingNode;
28 import org.onap.appc.flow.controller.node.RestServiceNode;
29 import org.osgi.framework.BundleActivator;
30 import org.osgi.framework.BundleContext;
31 import org.osgi.framework.ServiceRegistration;
32
33 import com.att.eelf.configuration.EELFLogger;
34 import com.att.eelf.configuration.EELFManager;
35
36 public class FlowControllerActivator implements BundleActivator{
37
38     private List<ServiceRegistration> registrations = new LinkedList<ServiceRegistration>();
39
40
41     private static final EELFLogger log = EELFManager.getInstance().getLogger(FlowControllerActivator.class);
42     
43     @Override
44     public void start(BundleContext ctx) throws Exception
45     {
46
47         try {
48             
49             FlowControlNode flowExecutorNode = new FlowControlNode();
50             log.debug("Registering service "+ flowExecutorNode.getClass().getName());
51             registrations.add(ctx.registerService(flowExecutorNode.getClass().getName(), flowExecutorNode, null));
52             log.debug("Registering service sccessful for  "+ flowExecutorNode.getClass().getName());
53             
54             RestServiceNode restServiceNode = new RestServiceNode();
55             log.debug("Registering service "+ restServiceNode.getClass().getName());
56             registrations.add(ctx.registerService(restServiceNode.getClass().getName(), restServiceNode, null));
57             log.debug("Registering service sccessful for  "+ restServiceNode.getClass().getName());
58             
59             JsonParsingNode jsonParsingNode = new JsonParsingNode();
60             log.debug("Registering service "+ jsonParsingNode.getClass().getName());
61             registrations.add(ctx.registerService(jsonParsingNode.getClass().getName(), jsonParsingNode, null));
62             log.debug("Registering service sccessful for  "+ jsonParsingNode.getClass().getName());
63
64         } catch (Exception e) {
65             e.printStackTrace();
66         }
67
68     }
69     @Override
70     public void stop(BundleContext arg0) throws Exception
71     {
72         for (ServiceRegistration registration: registrations)
73         {
74             registration.unregister();
75             registration = null;
76         }
77
78     }
79 }