/*******************************************************************************
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 2.1 of the License, or (at your option)
* any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* Contributors:
* Gregory Amerson - initial implementation and ongoing maintenance
*******************************************************************************/
package com.liferay.ide.portal.core;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.preferences.DefaultScope;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.IPreferencesService;
import org.eclipse.core.runtime.preferences.IScopeContext;
import org.eclipse.core.runtime.preferences.InstanceScope;
import org.osgi.framework.BundleContext;
/**
* @author Gregory Amerson
*/
public class PortalCore extends Plugin
{
public static final String ID_FM_BREAKPOINT_TYPE = "com.liferay.ide.debug.core.fmLineBreakpointMarker"; //$NON-NLS-1$
// The shared instance
private static PortalCore plugin;
// The plug-in ID
public static final String PLUGIN_ID = "com.liferay.ide.portal.core"; //$NON-NLS-1$
public static final String PREF_ADVANCED_VARIABLES_VIEW = "advanced-variables-view"; //$NON-NLS-1$
public static final String PREF_FM_DEBUG_PASSWORD = "fm-debug-password"; //$NON-NLS-1$
public static final String PREF_FM_DEBUG_PORT = "fm-debug-port"; //$NON-NLS-1$
public static IStatus createErrorStatus( String msg )
{
return createErrorStatus( msg, null );
}
public static IStatus createErrorStatus( String msg, Throwable e )
{
return new Status( IStatus.ERROR, PLUGIN_ID, msg, e );
}
public static IStatus createErrorStatus( Throwable t )
{
return createErrorStatus( t.getMessage(), t );
}
/**
* Returns the shared instance
*
* @return the shared instance
*/
public static PortalCore getDefault()
{
return plugin;
}
public static IEclipsePreferences getDefaultPrefs()
{
return DefaultScope.INSTANCE.getNode( PLUGIN_ID );
}
public static String getPreference( String key )
{
IScopeContext[] scopes = new IScopeContext[] { InstanceScope.INSTANCE, DefaultScope.INSTANCE };
IPreferencesService preferencesService = Platform.getPreferencesService();
return preferencesService.getString( PLUGIN_ID, key, null, scopes );
}
public static IEclipsePreferences getPrefs()
{
return InstanceScope.INSTANCE.getNode( PLUGIN_ID );
}
public static void logError( String msg )
{
logError( msg, null );
}
public static void logError( String msg, Exception e )
{
getDefault().getLog().log( createErrorStatus( msg, e ) );
}
public static void logError( Throwable t )
{
getDefault().getLog().log( new Status( IStatus.ERROR, PLUGIN_ID, t.getMessage(), t ) );
}
/**
* The constructor
*/
public PortalCore()
{
}
/*
* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
*/
public void start( BundleContext context ) throws Exception
{
super.start( context );
plugin = this;
}
/*
* (non-Javadoc)
* @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
*/
public void stop( BundleContext context ) throws Exception
{
plugin = null;
super.stop( context );
}
}