X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-restconf-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fbroker%2Fosgi%2FActivator.java;fp=opendaylight%2Fmd-sal%2Fsal-restconf-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Frestconf%2Fbroker%2Fosgi%2FActivator.java;h=13535ee8d51c24d1170fc89c39a7923259e972b2;hp=0000000000000000000000000000000000000000;hb=d17dcf6c084be6f33515ea2d957884918fbe7a1c;hpb=1c67e75387f441591ab3d0ec8bbe53fabf962a23 diff --git a/opendaylight/md-sal/sal-restconf-broker/src/main/java/org/opendaylight/controller/sal/restconf/broker/osgi/Activator.java b/opendaylight/md-sal/sal-restconf-broker/src/main/java/org/opendaylight/controller/sal/restconf/broker/osgi/Activator.java new file mode 100644 index 0000000000..13535ee8d5 --- /dev/null +++ b/opendaylight/md-sal/sal-restconf-broker/src/main/java/org/opendaylight/controller/sal/restconf/broker/osgi/Activator.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.controller.sal.restconf.broker.osgi; + +import java.util.Hashtable; +import javassist.ClassPool; +import org.opendaylight.yangtools.sal.binding.generator.impl.RuntimeGeneratedMappingServiceImpl; +import org.opendaylight.yangtools.yang.data.impl.codec.BindingIndependentMappingService; +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceRegistration; + +public class Activator implements BundleActivator { + + private ServiceRegistration mappingReg; + + @Override + public void start(BundleContext context) throws Exception { + RuntimeGeneratedMappingServiceImpl service = new RuntimeGeneratedMappingServiceImpl(); + service.setPool(new ClassPool()); + service.init(); + startRuntimeMappingService(service, context); + } + + private void startRuntimeMappingService(RuntimeGeneratedMappingServiceImpl service, BundleContext context) { + Hashtable properties = new Hashtable(); + mappingReg = context.registerService(BindingIndependentMappingService.class, service, properties); + } + + @Override + public void stop(BundleContext context) throws Exception { + if(mappingReg != null) { + mappingReg.unregister(); + } + } +}