import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier
import org.opendaylight.controller.sal.core.api.data.DataStore
import org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareDataStoreAdapter
+import org.opendaylight.controller.sal.core.api.model.SchemaServiceListener
+import org.opendaylight.controller.sal.dom.broker.impl.SchemaAwareRpcBroker
class BrokerConfigActivator implements AutoCloseable {
private static val ROOT = InstanceIdentifier.builder().toInstance();
+
+ @Property
+ private var DataBrokerImpl dataService;
private var ServiceRegistration<SchemaService> schemaReg;
private var ServiceRegistration<DataBrokerService> dataReg;
private var ServiceRegistration<DataProviderService> dataProviderReg;
private var ServiceRegistration<MountService> mountReg;
private var ServiceRegistration<MountProvisionService> mountProviderReg;
-
private var SchemaServiceImpl schemaService;
- private var DataBrokerImpl dataService;
private var MountPointManagerImpl mountService;
SchemaAwareDataStoreAdapter wrappedStore
val emptyProperties = new Hashtable<String, String>();
broker.setBundleContext(context);
-
+
schemaService = new SchemaServiceImpl();
schemaService.setContext(context);
schemaService.setParser(new YangParserImpl());
schemaService.start();
schemaReg = context.registerService(SchemaService, schemaService, emptyProperties);
+ broker.setRouter(new SchemaAwareRpcBroker("/",schemaService));
+
dataService = new DataBrokerImpl();
dataService.setExecutor(broker.getExecutor());
wrappedStore = new SchemaAwareDataStoreAdapter();
wrappedStore.changeDelegate(store);
wrappedStore.setValidationEnabled(false);
+
+ context.registerService(SchemaServiceListener,wrappedStore,emptyProperties)
dataService.registerConfigurationReader(ROOT, wrappedStore);
dataService.registerCommitHandler(ROOT, wrappedStore);