/*
- * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
+ * Copyright (c) 2015, 2017 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,
import org.slf4j.LoggerFactory;
/**
- * Start yang store service and the XML config manager facade
+ * Start yang store service and the XML config manager facade.
*/
public class YangStoreActivator implements BundleActivator {
LOG.debug("ConfigPersister starting");
this.context = context;
- final ServiceTrackerCustomizer<SchemaContextProvider, YangStoreService> schemaServiceTrackerCustomizer = new ServiceTrackerCustomizer<SchemaContextProvider, YangStoreService>() {
+ final ServiceTrackerCustomizer<SchemaContextProvider, YangStoreService> schemaServiceTrackerCustomizer =
+ new ServiceTrackerCustomizer<SchemaContextProvider, YangStoreService>() {
private final AtomicBoolean alreadyStarted = new AtomicBoolean(false);
@Override
public YangStoreService addingService(final ServiceReference<SchemaContextProvider> reference) {
LOG.debug("Got addingService(SchemaContextProvider) event");
- if((reference.getProperty(SchemaSourceProvider.class.getName()) == null) &&
- (reference.getProperty(BindingRuntimeContext.class.getName()) == null)) {
+ if (reference.getProperty(SchemaSourceProvider.class.getName()) == null
+ && reference.getProperty(BindingRuntimeContext.class.getName()) == null) {
LOG.debug("SchemaContextProvider not from config-manager. Ignoring");
return null;
}
// Yang store service should not be registered multiple times
- if(!this.alreadyStarted.compareAndSet(false, true)) {
+ if (!this.alreadyStarted.compareAndSet(false, true)) {
LOG.warn("Starting yang store service multiple times. Received new service {}", reference);
throw new RuntimeException("Starting yang store service multiple times");
}
- final SchemaContextProvider schemaContextProvider = reference.getBundle().getBundleContext().getService(reference);
+ final SchemaContextProvider schemaContextProvider = reference.getBundle().getBundleContext()
+ .getService(reference);
final Object sourceProvider = Preconditions.checkNotNull(
- reference.getProperty(SchemaSourceProvider.class.getName()), "Source provider not found");
+ reference.getProperty(SchemaSourceProvider.class.getName()), "Source provider not found");
Preconditions.checkArgument(sourceProvider instanceof SchemaSourceProvider);
// TODO avoid cast
final YangStoreService yangStoreService = new YangStoreService(schemaContextProvider,
- ((SchemaSourceProvider<YangTextSchemaSource>) sourceProvider));
+ (SchemaSourceProvider<YangTextSchemaSource>) sourceProvider);
final BindingRuntimeContext runtimeContext = (BindingRuntimeContext) reference
.getProperty(BindingRuntimeContext.class.getName());
LOG.debug("BindingRuntimeContext retrieved as {}", runtimeContext);
- if(runtimeContext != null) {
+ if (runtimeContext != null) {
yangStoreService.refresh(runtimeContext);
}
- YangStoreActivator.this.yangStoreServiceServiceRegistration = context.registerService(YangStoreService.class, yangStoreService,
- new Hashtable<>());
+ YangStoreActivator.this.yangStoreServiceServiceRegistration = context
+ .registerService(YangStoreService.class, yangStoreService, new Hashtable<>());
YangStoreActivator.this.configRegistryLookup = new ConfigRegistryLookupThread(yangStoreService);
YangStoreActivator.this.configRegistryLookup.start();
return yangStoreService;
}
@Override
- public void modifiedService(final ServiceReference<SchemaContextProvider> reference, final YangStoreService service) {
+ public void modifiedService(final ServiceReference<SchemaContextProvider> reference,
+ final YangStoreService service) {
if (service == null) {
return;
}
LOG.debug("Got modifiedService(SchemaContextProvider) event");
final BindingRuntimeContext runtimeContext = (BindingRuntimeContext) reference
- .getProperty(BindingRuntimeContext.class.getName());
+ .getProperty(BindingRuntimeContext.class.getName());
LOG.debug("BindingRuntimeContext retrieved as {}", runtimeContext);
service.refresh(runtimeContext);
}
@Override
- public void removedService(final ServiceReference<SchemaContextProvider> reference, final YangStoreService service) {
- if(service == null) {
+ public void removedService(final ServiceReference<SchemaContextProvider> reference,
+ final YangStoreService service) {
+ if (service == null) {
return;
}
@Override
public void stop(final BundleContext context) throws Exception {
- if(this.configRegistryLookup != null) {
+ if (this.configRegistryLookup != null) {
this.configRegistryLookup.interrupt();
}
- if(this.osgiRegistrayion != null) {
+ if (this.osgiRegistrayion != null) {
this.osgiRegistrayion.unregister();
}
if (this.yangStoreServiceServiceRegistration != null) {
}
/**
- * Find ConfigRegistry from config manager in JMX
+ * Find ConfigRegistry from config manager in JMX.
*/
private class ConfigRegistryLookupThread extends Thread {
public static final int ATTEMPT_TIMEOUT_MS = 1000;
ConfigRegistryJMXClient configRegistryJMXClient;
ConfigRegistryJMXClient configRegistryJMXClientNoNotifications;
- int i = 0;
+ int index = 0;
// Config registry might not be present yet, but will be eventually
- while(true) {
+ while (true) {
try {
configRegistryJMXClient = new ConfigRegistryJMXClient(YangStoreActivator.this.configMBeanServer);
- configRegistryJMXClientNoNotifications = ConfigRegistryJMXClient.createWithoutNotifications(YangStoreActivator.this.configMBeanServer);
+ configRegistryJMXClientNoNotifications = ConfigRegistryJMXClient
+ .createWithoutNotifications(YangStoreActivator.this.configMBeanServer);
break;
} catch (final IllegalStateException e) {
- ++i;
- if (i > SILENT_ATTEMPTS) {
- LOG.info("JMX client not created after {} attempts, still trying", i, e);
+ ++index;
+ if (index > SILENT_ATTEMPTS) {
+ LOG.info("JMX client not created after {} attempts, still trying", index, e);
} else {
- LOG.debug("JMX client could not be created, reattempting, try {}", i, e);
+ LOG.debug("JMX client could not be created, reattempting, try {}", index, e);
}
try {
Thread.sleep(ATTEMPT_TIMEOUT_MS);
final ConfigRegistryJMXClient jmxClient = configRegistryJMXClient;
final ConfigRegistryJMXClient jmxClientNoNotifications = configRegistryJMXClientNoNotifications;
- if (i > SILENT_ATTEMPTS) {
- LOG.info("Created JMX client after {} attempts", i);
+ if (index > SILENT_ATTEMPTS) {
+ LOG.info("Created JMX client after {} attempts", index);
} else {
- LOG.debug("Created JMX client after {} attempts", i);
+ LOG.debug("Created JMX client after {} attempts", index);
}
- final ConfigSubsystemFacadeFactory configSubsystemFacade =
- new ConfigSubsystemFacadeFactory(jmxClient, jmxClientNoNotifications, this.yangStoreService);
- YangStoreActivator.this.osgiRegistrayion = YangStoreActivator.this.context.registerService(ConfigSubsystemFacadeFactory.class, configSubsystemFacade,
- new Hashtable<>());
+ final ConfigSubsystemFacadeFactory configSubsystemFacade = new ConfigSubsystemFacadeFactory(jmxClient,
+ jmxClientNoNotifications, this.yangStoreService);
+ YangStoreActivator.this.osgiRegistrayion = YangStoreActivator.this.context
+ .registerService(ConfigSubsystemFacadeFactory.class, configSubsystemFacade, new Hashtable<>());
}
}
}
-