/******************************************************************************* * Copyright 2017 Capital One Services, LLC and Bitwise, Inc. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *******************************************************************************/ package hydrograph.ui.graph; import hydrograph.ui.common.debug.service.IDebugService; import hydrograph.ui.graph.debug.service.PurgeViewDataFiles; import hydrograph.ui.graph.execution.tracking.logger.ExecutionTrackingFileLogger; import hydrograph.ui.graph.execution.tracking.windows.ExecutionTrackingConsole; import hydrograph.ui.graph.job.JobManager; import java.util.Iterator; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; /** * The activator class controls the plug-in life cycle */ public class Activator extends AbstractUIPlugin { // The plug-in ID public static final String PLUGIN_ID = "hydrograph.ui.graph"; //$NON-NLS-1$ // The shared instance private static Activator plugin; /** * The constructor */ public Activator() { } /* * (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) */ @Override public void start(BundleContext context) throws Exception { super.start(context); plugin = this; context.registerService(IDebugService.class.getCanonicalName(), new PurgeViewDataFiles(), null); } /* * (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) */ @Override public void stop(BundleContext context) throws Exception { plugin = null; Iterator<ExecutionTrackingConsole> execTrackWindowsIterator = JobManager.INSTANCE.getExecutionTrackingConsoles().values().iterator(); while(execTrackWindowsIterator.hasNext()){ ExecutionTrackingConsole window = execTrackWindowsIterator.next(); window.close(); } ExecutionTrackingFileLogger.INSTANCE.disposeLogger(); super.stop(context); } /** * Returns the shared instance * * @return the shared instance */ public static Activator getDefault() { return plugin; } }