Remove CSS code
[controller.git] / opendaylight / config / config-persister-impl / src / main / java / org / opendaylight / controller / config / persist / impl / osgi / ConfigPersisterActivator.java
diff --git a/opendaylight/config/config-persister-impl/src/main/java/org/opendaylight/controller/config/persist/impl/osgi/ConfigPersisterActivator.java b/opendaylight/config/config-persister-impl/src/main/java/org/opendaylight/controller/config/persist/impl/osgi/ConfigPersisterActivator.java
deleted file mode 100644 (file)
index c99fa76..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 2015 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.config.persist.impl.osgi;
-
-import com.google.common.collect.Lists;
-import java.lang.management.ManagementFactory;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-import javax.management.MBeanServer;
-import org.opendaylight.controller.config.facade.xml.ConfigSubsystemFacadeFactory;
-import org.opendaylight.controller.config.persist.api.ConfigPusher;
-import org.opendaylight.controller.config.persist.api.ConfigSnapshotHolder;
-import org.opendaylight.controller.config.persist.api.Persister;
-import org.opendaylight.controller.config.persist.impl.ConfigPusherImpl;
-import org.opendaylight.controller.config.persist.impl.PersisterAggregator;
-import org.opendaylight.controller.config.util.CloseableUtil;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceReference;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.util.tracker.ServiceTracker;
-import org.osgi.util.tracker.ServiceTrackerCustomizer;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class ConfigPersisterActivator implements BundleActivator {
-
-    private static final Logger LOG = LoggerFactory.getLogger(ConfigPersisterActivator.class);
-    private static final MBeanServer platformMBeanServer = ManagementFactory.getPlatformMBeanServer();
-
-    public static final String MAX_WAIT_FOR_CAPABILITIES_MILLIS_PROPERTY = "maxWaitForCapabilitiesMillis";
-    private static final long MAX_WAIT_FOR_CAPABILITIES_MILLIS_DEFAULT = TimeUnit.MINUTES.toMillis(2);
-    public static final String CONFLICTING_VERSION_TIMEOUT_MILLIS_PROPERTY = "conflictingVersionTimeoutMillis";
-    private static final long CONFLICTING_VERSION_TIMEOUT_MILLIS_DEFAULT = TimeUnit.MINUTES.toMillis(1);
-
-    public static final String NETCONF_CONFIG_PERSISTER = "netconf.config.persister";
-
-    public static final String STORAGE_ADAPTER_CLASS_PROP_SUFFIX = "storageAdapterClass";
-
-    private final List<AutoCloseable> autoCloseables = Lists.newArrayList();
-    private volatile BundleContext context;
-
-    ServiceRegistration<?> registration;
-
-    @Override
-    public void start(final BundleContext context) throws Exception {
-        LOG.debug("ConfigPersister starting");
-        this.context = context;
-
-        PropertiesProviderBaseImpl propertiesProvider = new PropertiesProviderBaseImpl(context);
-
-        final PersisterAggregator persisterAggregator = PersisterAggregator.createFromProperties(propertiesProvider);
-        autoCloseables.add(persisterAggregator);
-        final long maxWaitForCapabilitiesMillis = getMaxWaitForCapabilitiesMillis(propertiesProvider);
-        final List<ConfigSnapshotHolder> configs = persisterAggregator.loadLastConfigs();
-        final long conflictingVersionTimeoutMillis = getConflictingVersionTimeoutMillis(propertiesProvider);
-        LOG.debug("Following configs will be pushed: {}", configs);
-
-        ServiceTrackerCustomizer<ConfigSubsystemFacadeFactory, ConfigSubsystemFacadeFactory> schemaServiceTrackerCustomizer = new ServiceTrackerCustomizer<ConfigSubsystemFacadeFactory, ConfigSubsystemFacadeFactory>() {
-
-            @Override
-            public ConfigSubsystemFacadeFactory addingService(final ServiceReference<ConfigSubsystemFacadeFactory> reference) {
-                LOG.debug("Got addingService(SchemaContextProvider) event");
-                // Yang store service should not be registered multiple times
-                ConfigSubsystemFacadeFactory configSubsystemFacadeFactory = reference.getBundle().getBundleContext().getService(reference);
-                startPusherThread(configs, maxWaitForCapabilitiesMillis, configSubsystemFacadeFactory, conflictingVersionTimeoutMillis, persisterAggregator);
-                return configSubsystemFacadeFactory;
-            }
-
-            @Override
-            public void modifiedService(final ServiceReference<ConfigSubsystemFacadeFactory> reference, final ConfigSubsystemFacadeFactory service) {
-                LOG.warn("Config manager facade was modified unexpectedly");
-            }
-
-            @Override
-            public void removedService(final ServiceReference<ConfigSubsystemFacadeFactory> reference, final ConfigSubsystemFacadeFactory service) {
-                LOG.warn("Config manager facade was removed unexpectedly");
-            }
-        };
-
-        ServiceTracker<ConfigSubsystemFacadeFactory, ConfigSubsystemFacadeFactory> schemaContextProviderServiceTracker =
-                new ServiceTracker<>(context, ConfigSubsystemFacadeFactory.class, schemaServiceTrackerCustomizer);
-        schemaContextProviderServiceTracker.open();
-    }
-
-    private long getConflictingVersionTimeoutMillis(final PropertiesProviderBaseImpl propertiesProvider) {
-        String timeoutProperty = propertiesProvider.getProperty(CONFLICTING_VERSION_TIMEOUT_MILLIS_PROPERTY);
-        return timeoutProperty == null ? CONFLICTING_VERSION_TIMEOUT_MILLIS_DEFAULT : Long.valueOf(timeoutProperty);
-    }
-
-    private long getMaxWaitForCapabilitiesMillis(final PropertiesProviderBaseImpl propertiesProvider) {
-        String timeoutProperty = propertiesProvider.getProperty(MAX_WAIT_FOR_CAPABILITIES_MILLIS_PROPERTY);
-        return timeoutProperty == null ? MAX_WAIT_FOR_CAPABILITIES_MILLIS_DEFAULT : Long.valueOf(timeoutProperty);
-    }
-
-    @Override
-    public void stop(final BundleContext context) throws Exception {
-        synchronized(autoCloseables) {
-            CloseableUtil.closeAll(autoCloseables);
-            autoCloseables.clear();
-            if (registration != null) {
-                registration.unregister();
-            }
-            this.context = null;
-        }
-    }
-
-    private void startPusherThread(final List<? extends ConfigSnapshotHolder> configs, final long maxWaitForCapabilitiesMillis,
-                           final ConfigSubsystemFacadeFactory service, final long conflictingVersionTimeoutMillis, final Persister persisterAggregator){
-        LOG.debug("Creating new job queue");
-        final ConfigPusherImpl configPusher = new ConfigPusherImpl(service,
-                maxWaitForCapabilitiesMillis, conflictingVersionTimeoutMillis);
-        LOG.debug("Configuration Persister got {}", service);
-        LOG.debug("Context was {}", context);
-        LOG.debug("Registration was {}", registration);
-        final Thread pushingThread = new Thread(() -> {
-            try {
-                if(configs != null && !configs.isEmpty()) {
-                    configPusher.pushConfigs(configs);
-                }
-                if(context != null) {
-                    registration = context.registerService(ConfigPusher.class.getName(), configPusher, null);
-                    configPusher.process(autoCloseables, platformMBeanServer, persisterAggregator, false);
-                } else {
-                    LOG.warn("Unable to process configs as BundleContext is null");
-                }
-            } catch (final InterruptedException e) {
-                LOG.info("ConfigPusher thread stopped");
-            }
-            LOG.info("Configuration Persister initialization completed.");
-        }, "config-pusher");
-        synchronized (autoCloseables) {
-            autoCloseables.add(() -> pushingThread.interrupt());
-        }
-        pushingThread.setDaemon(true);
-        pushingThread.start();
-    }
-}
-