X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fdom%2Fbroker%2FBrokerActivator.java;h=3af645a2b8a48753b79659f58877c1044ff83394;hp=e3f5e4b4cd15309d85825da7e01ed9e31084a018;hb=6f272b58bfdd5ab7f01a2ac837d1b12adef36f58;hpb=738d46bed116293e3e42171ad2035ab805b0b2be diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/BrokerActivator.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/BrokerActivator.java index e3f5e4b4cd..3af645a2b8 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/BrokerActivator.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/BrokerActivator.java @@ -3,25 +3,70 @@ package org.opendaylight.controller.sal.dom.broker; import java.util.Hashtable; import org.opendaylight.controller.sal.core.api.Broker; +import org.opendaylight.controller.sal.core.api.data.DataBrokerService; +import org.opendaylight.controller.sal.core.api.data.DataProviderService; +import org.opendaylight.controller.sal.core.api.model.SchemaService; +import org.opendaylight.controller.sal.core.api.mount.MountProvisionService; +import org.opendaylight.controller.sal.core.api.mount.MountService; +import org.opendaylight.controller.sal.dom.broker.impl.HashMapDataStore; +import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; +import org.opendaylight.yangtools.yang.parser.impl.YangParserImpl; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceRegistration; public class BrokerActivator implements BundleActivator { + private static final InstanceIdentifier ROOT = InstanceIdentifier.builder().toInstance(); BrokerImpl broker; private ServiceRegistration brokerReg; - + private ServiceRegistration schemaReg; + private ServiceRegistration dataReg; + private ServiceRegistration dataProviderReg; + private SchemaServiceImpl schemaService; + private DataBrokerImpl dataService; + private MountPointManagerImpl mountService; + private ServiceRegistration mountReg; + private ServiceRegistration mountProviderReg; + private HashMapDataStore hashMapStore; + @Override public void start(BundleContext context) throws Exception { + Hashtable emptyProperties = new Hashtable(); broker = new BrokerImpl(); broker.setBundleContext(context); - brokerReg = context.registerService(Broker.class, broker, new Hashtable()); + + + schemaService = new SchemaServiceImpl(); + schemaService.setContext(context); + schemaService.setParser(new YangParserImpl()); + schemaService.start(); + schemaReg = context.registerService(SchemaService.class, schemaService, new Hashtable()); + + dataService = new DataBrokerImpl(); + dataService.setExecutor(broker.getExecutor()); + + dataReg = context.registerService(DataBrokerService.class, dataService, emptyProperties); + dataProviderReg = context.registerService(DataProviderService.class, dataService, emptyProperties); + + hashMapStore = new HashMapDataStore(); + + dataService.registerConfigurationReader(ROOT, hashMapStore); + dataService.registerCommitHandler(ROOT, hashMapStore); + dataService.registerOperationalReader(ROOT, hashMapStore); + + mountService = new MountPointManagerImpl(); + mountService.setDataBroker(dataService); + + mountReg = context.registerService(MountService.class, mountService, emptyProperties); + mountProviderReg = context.registerService(MountProvisionService.class, mountService, emptyProperties); + + brokerReg = context.registerService(Broker.class, broker, emptyProperties); } @Override public void stop(BundleContext context) throws Exception { - if(brokerReg != null) { + if (brokerReg != null) { brokerReg.unregister(); } }