e7444e318de55e941dbdb3e7c3cde043a0cf80b6
[ccsdk/sli.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP : CCSDK
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights
6  *                                              reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.core.sliapi.provider.impl.rev140523;
23
24 import org.onap.ccsdk.sli.core.sliapi.sliapiProvider;
25 import org.slf4j.Logger;
26 import org.slf4j.LoggerFactory;
27
28 public class SliapiProviderModule extends org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.core.sliapi.provider.impl.rev140523.AbstractSliapiProviderModule {
29     private final Logger LOG = LoggerFactory.getLogger( SliapiProviderModule.class );
30
31         public SliapiProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
32         super(identifier, dependencyResolver);
33     }
34
35     public SliapiProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.yang.gen.v1.org.onap.ccsdk.sli.core.sliapi.provider.impl.rev140523.SliapiProviderModule oldModule, java.lang.AutoCloseable oldInstance) {
36         super(identifier, dependencyResolver, oldModule, oldInstance);
37     }
38
39     @Override
40     public void customValidation() {
41         // add custom validation form module attributes here.
42     }
43
44     @Override
45     public java.lang.AutoCloseable createInstance() {
46
47         LOG.info("Calling SliapiProviderModule.createInstance");
48         final sliapiProvider provider = new sliapiProvider();
49         provider.setDataBroker( getDataBrokerDependency() );
50         provider.setNotificationService( getNotificationServiceDependency() );
51         provider.setRpcRegistry( getRpcRegistryDependency() );
52         provider.initialize();
53         return new AutoCloseable() {
54
55            @Override
56            public void close() throws Exception {
57                //TODO: CLOSE ANY REGISTRATION OBJECTS CREATED USING ABOVE BROKER/NOTIFICATION
58                //SERVIE/RPC REGISTRY
59                provider.close();
60            }
61        };
62     }
63
64 }