blob: 09bf502d941e3ecf9f6c2ac4321e96cdc8bafde8 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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 org.apache.uima.ep_debug;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.jdt.internal.debug.ui.IJDIPreferencesConstants;
import org.eclipse.jdt.internal.debug.ui.JDIDebugUIPlugin;
import org.eclipse.ui.IStartup;
import org.osgi.framework.BundleContext;
/**
* The main plugin class to be used in the desktop.
*/
public class DebugPlugin extends Plugin implements IStartup {
public static final String PREF_ALREADY_SET_PREF_SHOW_DETAILS = "org.apache.uima.ep_debug.already_set_pref_show_details";
public static final String ALREADY_SET_PREF_SHOW_DETAILS = "already_set_pref_show_details";
// The shared instance.
private static DebugPlugin plugin;
/**
* The constructor.
*/
public DebugPlugin() {
plugin = this;
}
/**
* This method is called upon plug-in activation
*/
public void start(BundleContext context) throws Exception {
super.start(context);
// Intent of next code
// For users installing this plugin for the first time, set the pref-show-details preference,
// but only once (per fresh workspace) - to allow it to be set to the value which makes
// debugging
// display work, initially, but allowing the user to set it to something else without having
// this
// be overridden every time the pluging starts.
String doneOnce = JDIDebugUIPlugin.getDefault().getPreferenceStore().getString(
PREF_ALREADY_SET_PREF_SHOW_DETAILS);
if (ALREADY_SET_PREF_SHOW_DETAILS.equals(doneOnce))
return;
JDIDebugUIPlugin.getDefault().getPreferenceStore().setValue(PREF_ALREADY_SET_PREF_SHOW_DETAILS,
ALREADY_SET_PREF_SHOW_DETAILS);
String preference = JDIDebugUIPlugin.getDefault().getPreferenceStore().getString(
IJDIPreferencesConstants.PREF_SHOW_DETAILS);
if (IJDIPreferencesConstants.INLINE_ALL.equals(preference))
return;
JDIDebugUIPlugin.getDefault().getPreferenceStore().setValue(
IJDIPreferencesConstants.PREF_SHOW_DETAILS, IJDIPreferencesConstants.INLINE_ALL);
}
/**
* This method is called when the plug-in is stopped
*/
public void stop(BundleContext context) throws Exception {
super.stop(context);
plugin = null;
}
/**
* Returns the shared instance.
*/
public static DebugPlugin getDefault() {
return plugin;
}
// this method is required by the Startup extension, which, in turn, is required
// to get the plugin started (no other event gets it started)
public void earlyStartup() {
}
}