Class Activator
- java.lang.Object
- org.eclipse.core.runtime.Plugin
- org.eclipse.ui.plugin.AbstractUIPlugin
- com.iizigo.Activator
- All Implemented Interfaces:
IWebServiceEngine
,IKStringInfoProviderHolder
,org.osgi.framework.BundleActivator
public class Activator extends org.eclipse.ui.plugin.AbstractUIPlugin implements IWebServiceEngine, IKStringInfoProviderHolder
The activator class controls the plug-in life cycle.- Author:
- Christopher Mindus
Field Summary
Constructor Summary
Constructors Constructor Description Activator()
The Eclipse constructor.
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addServerLaunchOptions(java.util.ArrayList<java.lang.String> args)
Adds required options for the server when launched from inside iiziGo.static boolean
areAllResourceBased(GProp<?>[] props)
Checks if the properties only contains resources.static void
centerDialog(org.eclipse.swt.widgets.Shell shell)
Centers a dialog box Shell over it's parent.static int
checkEnabledOrStarting(org.eclipse.swt.widgets.Shell shell, org.eclipse.jface.wizard.IWizard wizard)
Call this function in e.g.static int
checkEnabledOrStarting(org.eclipse.swt.widgets.Shell shell, org.eclipse.jface.wizard.IWizard wizard, java.lang.Runnable runnable)
Call this function in e.g.void
configureProxy(java.net.HttpURLConnection uc)
Configures a Http(s)URLConnection for proxy information.static PropMgr
createDesignerPropMgr()
Creates a Property Manager for the Designer connection with JavaScript.static org.eclipse.core.runtime.Status
createErrorStatus(java.lang.String msg)
Creates an error status.static org.eclipse.core.runtime.Status
createErrorStatus(java.lang.String msg, java.lang.Throwable e)
Creates an error status.static org.eclipse.core.runtime.Status
createInfoStatus(java.lang.String msg)
Creates an informational status.static byte[]
createInputData(PropCnr container)
Creates InputStream byte array data from a property container.static java.io.InputStream
createInputStream(PropCnr container)
Creates an InputStream from a property container.KStringInfoProviderAdapter
createKStringInfoProvider(GProp<?> anyProp, boolean shouldResolve)
Creates an IKStringInfoProvider for a property.static PropFactory
createNewServerPropertyFactory()
Creates a new Server property factory.static PropMgr
createServerPropMgr(boolean hasJSClient)
Creates a new Property Manager for a Server simulation.static org.eclipse.core.runtime.Status
createWarningStatus(java.lang.String msg)
Creates a warning status.static DesignerProp
dataToFile(DesignerProp dp)
Converts the DesignerProp from the data container to the FilePropCnr one, if it refers to a file.static GProp<?>
dataToFile(GProp<?> gp)
Converts the property to get the FilePropCnr instead of the data container property.static GProp<?>[]
dataToFile(GProp<?>[] props)
Converts the array of properties to get the FilePropCnr instead of the data container property.static void
disposeClipboard()
Disposes of the clipboard.static int
errorMessageBox(org.eclipse.swt.widgets.Shell shell, java.lang.String title, java.lang.String msg, org.eclipse.core.runtime.CoreException e)
Shows an error message box from any thread for an exception.static DesignerProp
fileToData(DesignerProp dp)
Converts the property to get the data container property instead of a FilePropCnr.static GProp<?>
fileToData(GProp<?> gp)
Converts the property to get the data container property instead of a FilePropCnr.static GProp<?>[]
fileToData(GProp<?>[] props)
Converts the array of properties to get the data container property instead of a FilePropCnr.static java.lang.String
getByteSize(long size)
Gets a size string in bytes.static org.eclipse.swt.dnd.Clipboard
getClipboard()
Gets the clip board instance for the plug-in.static org.osgi.service.prefs.Preferences
getConfigurationPreferences()
Gets the iiziGo Configuration Preferences, not stored in the workspace, but with the Eclipse installation.static java.util.List<java.net.URL>
getCoreClasspathEntries()
Gets the classpath entries for the IIZI Core.java.io.File
getDatabaseDirectory()
Gets the database directory to use.java.io.File
getDatabaseDirectoryCandidate()
Gets the database directory candidate to use.static java.util.concurrent.ExecutorService
getExecutorService()
Gets the executor service.static org.eclipse.core.resources.IFile
getFirstSelectedFile(org.eclipse.jface.viewers.IStructuredSelection selection)
Gets the first selected file resource.static DesignerProp
getFirstSelectedProperty()
Gets the first currently selected property.static DesignerProp
getFirstSelectedProperty(org.eclipse.jface.viewers.ISelection sel)
Gets the first currently selected property.static Activator
getInstance()
Returns the shared instance.static int
getInternalWebServerUnsecurePort()
Returns the current HTTP port for the internal web server.static java.io.File
getJDBCDriversDir()
Gets the JDBC drivers directory, a user local directory that always should exist.IKStringInfoProvider
getKStringInfoProvider()
Retrieves the KStringInfoProvider.IKStringInfoProvider
getKStringInfoProvider(GProp<?> anyProp)
Retrieves the KStringInfoProvider.static java.util.List<java.net.URL>
getPluginClasspathEntries()
Gets the classpath entries for IIZI Plug-ins.static PropCnr[]
getPropCnrs(java.util.ArrayList<DesignerProp> list)
Gets a PropCnr's from a DesignerProp list.java.net.Proxy
getProxy(java.net.URL url)
Gets a Java Proxy instance for an URL.static PropCnr
getRootProperty(java.lang.String name)
Gets a root property from a registered name.static IRuntimeBuilder
getRuntimeCreation()
Gets the runtime creation builder.static GProp<?>[]
getSelectedGProps(org.eclipse.jface.viewers.ISelection sel)
Gets a list of all GProp's for DesignerProp's in a selection that should be used in e.g.static org.eclipse.core.resources.IProject
getSelectedProject()
Gets the currently selected project.static org.eclipse.core.resources.IProject
getSelectedProject(org.eclipse.jface.viewers.ISelection sel)
Gets the currently selected project.static java.util.ArrayList<DesignerProp>
getSelectedProps(org.eclipse.jface.viewers.ISelection sel)
Gets a list of all DesignerProp's in a selection that should be used in e.g.static java.util.ArrayList<GProp<?>>
getSelectedRawGProps(org.eclipse.jface.viewers.ISelection sel)
Gets a list of all RAW GProp's without DesignerProp's in a selection that should be used in e.g.static org.eclipse.core.resources.IResource[]
getSelectedResources()
Returns the resource selection from the LocalSelectionTransfer.static org.eclipse.core.resources.IResource[]
getSelectedResources(org.eclipse.jface.viewers.ISelection selection)
Returns the resource selection.static org.eclipse.core.resources.IResource[]
getSelectedResources(org.eclipse.jface.viewers.IStructuredSelection selection)
Returns the resource selection.static PropFactory
getServerPropertyFactory()
Gets the Server property factory.static org.eclipse.swt.widgets.Shell
getSomeShell()
Gets a shell.static java.io.File
getStateLocationFile(java.lang.String fileName)
Gets a file in the state location area.static java.io.File
getUserPrivateDirectory()
Gets the user's private directory, normally where the other directories are placed, such as the JDBC drivers "jdbc-drivers", the database "db", etc.static Worker
getWorker()
Gets the Worker.static boolean
isEnabled()
Returns if IIZI is enabled or not.static boolean
isResourceBased(GProp<?> gp)
Checks if the property contains a resource.static boolean
isStartingUp()
Checks if IIZI is currently starting up.static PropCnr
loadPropertiesFile(java.io.File file)
Loads a properties file.static PropCnr
loadPropertiesFile(java.net.URL url)
Loads a properties file.static PropCnr
loadPropertiesFile(org.eclipse.core.resources.IFile file)
Loads a properties file.static void
mergeStatus(org.eclipse.core.runtime.MultiStatus status, org.eclipse.core.runtime.IStatus toMerge)
Adds the given status to the list of problems.static int
messageBox(java.lang.String title, java.lang.String msg, int style)
Shows a message box.static int
messageBox(org.eclipse.swt.widgets.Shell shell, java.lang.String title, java.lang.String msg, int style)
Shows a message box.static void
messageBoxAsync(java.lang.String title, java.lang.String msg, int style)
Shows a message box asynchronously in the SWT Thread.static void
openError(java.lang.String genericTitle, java.lang.String errorMsg)
Opens an error dialog if necessary.static void
openError(java.lang.String genericTitle, java.lang.String error, java.lang.Throwable exception)
Opens an error dialog if necessary.static void
openError(java.lang.String genericTitle, org.eclipse.core.runtime.CoreException exception)
Opens an error dialog if necessary.static void
openError(java.lang.String genericTitle, org.eclipse.core.runtime.IStatus status)
Opens an error dialog if necessary.static void
openError(org.eclipse.swt.widgets.Shell shell, java.lang.String genericTitle, java.lang.String error)
Opens an error dialog if necessary.static void
openError(org.eclipse.swt.widgets.Shell shell, java.lang.String genericTitle, java.lang.String error, java.lang.Throwable exception)
Opens an error dialog if necessary.static void
openError(org.eclipse.swt.widgets.Shell shell, java.lang.String genericTitle, org.eclipse.core.runtime.CoreException exception)
Opens an error dialog if necessary.static void
openError(org.eclipse.swt.widgets.Shell shell, java.lang.String genericTitle, org.eclipse.core.runtime.IStatus status)
Opens an error dialog if necessary.static void
openExceptionDetailsError(org.eclipse.swt.widgets.Shell shell, java.lang.String genericTitle, org.eclipse.core.runtime.IStatus status)
Opens an error dialog if necessary.static void
openURL(org.eclipse.swt.widgets.Shell shell, java.lang.String url)
Opens an URL in an external browser.static void
prepareFolder(org.eclipse.core.resources.IFolder folder, org.eclipse.core.runtime.IProgressMonitor monitor)
Prepares a folder, i.e.static void
refresh(java.util.Collection<DesignerProp> dps)
Refreshes the workspace for the specified properties.static boolean
registerRootProperty(java.lang.String name, PropCnr root)
Registers a root property container not being a Java or Module root, e.g.static void
savePropertiesFile(PropCnr container, org.eclipse.core.resources.IFile file, org.eclipse.core.runtime.IProgressMonitor monitor)
Saves a properties file.static void
setEnabled(boolean isEnabled)
Assigns the enabled state of IIZI.static void
setRuntimeCreation(IRuntimeBuilder impl)
Sets the runtime creation builder.void
start(org.osgi.framework.BundleContext context)
Starts up the iiziGo plug-in bundle.static int
statusMessageBox(org.eclipse.swt.widgets.Shell shell, java.lang.String title, java.lang.String msg, org.eclipse.core.runtime.IStatus status)
Shows a message box from any thread.void
stop(org.osgi.framework.BundleContext context)
static int
threadMessageBox(java.lang.String title, java.lang.String msg, int style)
Shows a message box from another thread.static int
threadMessageBox(org.eclipse.swt.widgets.Shell shell, java.lang.String title, java.lang.String msg, int style)
Shows a message box from another thread.static boolean
unregisterRootProperty(java.lang.String name, PropCnr root)
Unregisters a root property container not being a Java or Module root, e.g.Methods inherited from class org.eclipse.ui.plugin.AbstractUIPlugin
createImageRegistry, getDialogSettings, getImageRegistry, getPreferenceStore, getWorkbench, imageDescriptorFromPlugin, initializeDefaultPluginPreferences, initializeDefaultPreferences, initializeImageRegistry, loadDialogSettings, loadPreferenceStore, refreshPluginActions, saveDialogSettings, savePreferenceStore, shutdown, startup
Field Detail
serialVersionUID
protected static final long serialVersionUID
The serial UID.- See Also:
- Constant Field Values
PLUGIN_ID
public static final java.lang.String PLUGIN_ID
The plug-in ID: "com.iizigo" as in package name for this class.- See Also:
- Constant Field Values
DEBUG_UNDO
public static final boolean DEBUG_UNDO
Debug setting for Undo.- See Also:
- Constant Field Values
NO_RESOURCES
public static final org.eclipse.core.resources.IResource[] NO_RESOURCES
An empty resource array.
EMPTY_GPROPS
public static final GProp<?>[] EMPTY_GPROPS
The empty array.
RESOURCE_CLASS
public static final java.lang.Class<?> RESOURCE_CLASS
The resource class.
designerFactory
public static final PropFactory designerFactory
The Designer property factory.
designerPropertyManager
public static final PropMgr designerPropertyManager
The Property Manager for the Designer.
setupPanel
public static final PropertyEditorSetup setupPanel
The resource setup.
setupSelector
public static final PropertyEditorSetup setupSelector
setupStyle
public static final PropertyEditorSetup setupStyle
setupImage
public static final PropertyEditorSetup setupImage
setupVS
public static final PropertyEditorSetup setupVS
setupResource
public static final PropertyEditorSetup setupResource
setupTextTable
public static final PropertyEditorSetup setupTextTable
setupModuleApp
public static final PropertyEditorSetup setupModuleApp
setupServerConfig
public static final PropertyEditorSetup setupServerConfig
setupServerMonitor
public static final PropertyEditorSetup setupServerMonitor
setupAppDist
public static final PropertyEditorSetup setupAppDist
setupPush
public static final PropertyEditorSetup setupPush
setupPWA
public static final PropertyEditorSetup setupPWA
setupRuntimeBuilder
public static final PropertyEditorSetup setupRuntimeBuilder
setupFont
public static final PropertyEditorSetup setupFont
fileURLResolver
public static IFileURLResolver fileURLResolver
Interface used to resolve URL's to files for the Designer. In other products, the same URL is returned unchanged.
Method Detail
isEnabled
public static boolean isEnabled()
Returns if IIZI is enabled or not.- Returns:
- true if IIZI is enabled, false otherwise.
isStartingUp
public static boolean isStartingUp()
Checks if IIZI is currently starting up.- Returns:
- true if IIZI is still starting up, false if ready.
setEnabled
public static void setEnabled(boolean isEnabled)
Assigns the enabled state of IIZI.- Parameters:
isEnabled
- The enabled state.- Throws:
java.lang.IllegalStateException
- If state is already set.
checkEnabledOrStarting
public static int checkEnabledOrStarting(org.eclipse.swt.widgets.Shell shell, org.eclipse.jface.wizard.IWizard wizard)
Call this function in e.g. wizards to check if IIZI is enabled.A dialog box showing that IIZI is not enabled or starting up.
- Parameters:
shell
- The shell.wizard
- The wizard.- Returns:
- 1 if enabled, 0 (zero) if disabled, -1 if starting up.
checkEnabledOrStarting
public static int checkEnabledOrStarting(org.eclipse.swt.widgets.Shell shell, org.eclipse.jface.wizard.IWizard wizard, java.lang.Runnable runnable)
Call this function in e.g. wizards to check if IIZI is enabled.A dialog box showing that IIZI is not enabled or starting up will be shown, then the runnable is called. The runnable should close e.g. the wizard in question.
The runnable will be called in the SWT thread in the "next cycle".
- Parameters:
shell
- The shell.wizard
- The wizard.runnable
- Optional runnable to call. If non-null, the runnable must close the wizard.- Returns:
- 1 if enabled, 0 (zero) if disabled, -1 if starting up.
getRuntimeCreation
public static IRuntimeBuilder getRuntimeCreation()
Gets the runtime creation builder.- Returns:
- The runtime builder instance, null if not yet set.
setRuntimeCreation
public static void setRuntimeCreation(IRuntimeBuilder impl)
Sets the runtime creation builder. Do not call this method, it is used by the framework.- Parameters:
impl
- The runtime builder.
getCoreClasspathEntries
public static java.util.List<java.net.URL> getCoreClasspathEntries()
Gets the classpath entries for the IIZI Core.- Returns:
- The list of core class path entry URL's.
getPluginClasspathEntries
public static java.util.List<java.net.URL> getPluginClasspathEntries()
Gets the classpath entries for IIZI Plug-ins. These entries must also include the Server class entries.- Returns:
- The list of plugin class path entry URL's.
getUserPrivateDirectory
public static java.io.File getUserPrivateDirectory()
Gets the user's private directory, normally where the other directories are placed, such as the JDBC drivers "jdbc-drivers", the database "db", etc.- Returns:
- The User's private directory "~/.iizi/db" in canonical form, the directory is always present.
getJDBCDriversDir
public static java.io.File getJDBCDriversDir()
Gets the JDBC drivers directory, a user local directory that always should exist.- Returns:
- The canonical form of the directory "~/.iizi/jdbc-drivers".
getDatabaseDirectoryCandidate
public java.io.File getDatabaseDirectoryCandidate()
Gets the database directory candidate to use. This call also updates the default value "db_dir" in the Eclipse preference store, if not set.- Returns:
- The directory to use.
getDatabaseDirectory
public java.io.File getDatabaseDirectory() throws java.io.IOException
Gets the database directory to use. The database directory is created if not present.- Returns:
- The directory to use.
- Throws:
java.io.IOException
- If the database directory failed to be created. In case of an exception, a SEVERE error is logged prior to returning from this method, so no additional logging is required.
addServerLaunchOptions
public void addServerLaunchOptions(java.util.ArrayList<java.lang.String> args) throws org.eclipse.core.runtime.CoreException
Adds required options for the server when launched from inside iiziGo.- Parameters:
args
- The list of server arguments.- Throws:
org.eclipse.core.runtime.CoreException
- For errors.
getByteSize
public static java.lang.String getByteSize(long size)
Gets a size string in bytes.- Parameters:
size
- The size.- Returns:
- The string formatted as "#,##0 bytes".
openURL
public static void openURL(org.eclipse.swt.widgets.Shell shell, java.lang.String url)
Opens an URL in an external browser. If the browser cannot be opened, a message box is displayed. This method may be called from any thread.- Parameters:
shell
- The shell owner, null for none.url
- The URL to display.
start
public void start(org.osgi.framework.BundleContext context) throws java.lang.Exception
Starts up the iiziGo plug-in bundle.If this method throws an exception, it is taken as an indication that plug-in initialization has failed; as a result, the plug-in will not be activated; moreover, the plug-in will be marked as disabled and ineligible for activation for the duration.
Note 1: This method is automatically invoked by the platform the first time any code in the plug-in is executed.
Note 2: This method is intended to perform simple initialization of the plug-in environment. The platform may terminate initializers that do not complete in a timely fashion.
Note 3: The class loader typically has monitors acquired during invocation of this method. It is strongly recommended that this method avoid synchronized blocks or other thread locking mechanisms, as this would lead to deadlock vulnerability.
Note 4: The supplied bundle context represents the plug-in to the OSGi framework. For security reasons, it is strongly recommended that this object should not be divulged.
Note 5: This method and the stop(BundleContext) may be called from separate threads, but the OSGi framework ensures that both methods will not be called simultaneously.
- Specified by:
start
in interfaceorg.osgi.framework.BundleActivator
- Overrides:
start
in classorg.eclipse.ui.plugin.AbstractUIPlugin
- Parameters:
context
- The bundle context.- Throws:
java.lang.Exception
- For errors in loading the IIZI properties framework.
stop
public void stop(org.osgi.framework.BundleContext context) throws java.lang.Exception
- Specified by:
stop
in interfaceorg.osgi.framework.BundleActivator
- Overrides:
stop
in classorg.eclipse.ui.plugin.AbstractUIPlugin
- Throws:
java.lang.Exception
getWorker
public static Worker getWorker() throws java.io.IOException
Gets the Worker.- Returns:
- The worker, never null.
- Throws:
java.io.IOException
- If the worker cannot be started.
createDesignerPropMgr
public static PropMgr createDesignerPropMgr()
Creates a Property Manager for the Designer connection with JavaScript.- Returns:
- The newly created PropMgr instance using Server and JavaScript mappings.
createServerPropMgr
public static PropMgr createServerPropMgr(boolean hasJSClient)
Creates a new Property Manager for a Server simulation.- Parameters:
hasJSClient
- Flag indicating it's a JavaScript client or not.- Returns:
- The Property Manager or null if instance failed (errors are logged already).
createNewServerPropertyFactory
public static PropFactory createNewServerPropertyFactory() throws java.io.IOException
Creates a new Server property factory.- Returns:
- The newly created property factory.
- Throws:
java.io.IOException
- For failures.
getServerPropertyFactory
public static PropFactory getServerPropertyFactory()
Gets the Server property factory.- Returns:
- The server property factory, always the same instance once created.
registerRootProperty
public static boolean registerRootProperty(java.lang.String name, PropCnr root)
Registers a root property container not being a Java or Module root, e.g. Terminal Sessions.- Parameters:
name
- The name.root
- The root instance.- Returns:
- true For success, false (with logged warning message) indicates name is already registered.
- Throws:
java.lang.IllegalArgumentException
- If it's not a root property.
getRootProperty
public static PropCnr getRootProperty(java.lang.String name)
Gets a root property from a registered name.- Parameters:
name
- The name.- Returns:
- The root property, or null if not registered.
unregisterRootProperty
public static boolean unregisterRootProperty(java.lang.String name, PropCnr root)
Unregisters a root property container not being a Java or Module root, e.g. Terminal Sessions.- Parameters:
name
- The name.root
- The root instance.- Returns:
- true For success, false (with logged warning message) indicates name is not registered.
- Throws:
java.lang.IllegalArgumentException
- If it's not a root property.
getStateLocationFile
public static java.io.File getStateLocationFile(java.lang.String fileName)
Gets a file in the state location area.- Parameters:
fileName
- The file name, set to null to get the (parent) directory where state files are stored.- Returns:
- The file for the activator plugin, or null if not initialized or exiting.
getSomeShell
public static org.eclipse.swt.widgets.Shell getSomeShell()
Gets a shell.- Returns:
- Some shell.
messageBoxAsync
public static void messageBoxAsync(java.lang.String title, java.lang.String msg, int style)
Shows a message box asynchronously in the SWT Thread. If the call is from a non-SWT thread, a switch to the SWT thread is done.- Parameters:
title
- The title.msg
- The message.style
- The SWT style, icons, buttons, etc.
messageBox
public static int messageBox(java.lang.String title, java.lang.String msg, int style)
Shows a message box. If the call is from a non-SWT thread, a switch to the SWT thread is done.- Parameters:
title
- The title.msg
- The message.style
- The SWT style, icons, buttons, etc.- Returns:
- The button selected.
messageBox
public static int messageBox(org.eclipse.swt.widgets.Shell shell, java.lang.String title, java.lang.String msg, int style)
Shows a message box.- Parameters:
shell
- The shell (owner of message box).title
- The title.msg
- The message.style
- The SWT style, icons, buttons, etc.- Returns:
- The button selected.
threadMessageBox
public static int threadMessageBox(java.lang.String title, java.lang.String msg, int style)
Shows a message box from another thread.- Parameters:
msg
- The message.title
- The title.style
- The SWT style, icons, buttons, etc.- Returns:
- The button selected.
threadMessageBox
public static int threadMessageBox(org.eclipse.swt.widgets.Shell shell, java.lang.String title, java.lang.String msg, int style)
Shows a message box from another thread.- Parameters:
shell
- The shell or null for none.msg
- The message.title
- The title.style
- The SWT style, icons, buttons, etc.- Returns:
- The button selected.
openError
public static void openError(java.lang.String genericTitle, org.eclipse.core.runtime.CoreException exception)
Opens an error dialog if necessary. Takes care of complex rules necessary for making the error dialog look nice.This call can be done from any thread, if not the SWT thread, it will "syncExec" to it.
- Parameters:
genericTitle
- The title, or null to use "Error".exception
- The core exception.
openError
public static void openError(java.lang.String genericTitle, java.lang.String errorMsg)
Opens an error dialog if necessary. Takes care of complex rules necessary for making the error dialog look nice.This call can be done from any thread, if not the SWT thread, it will "syncExec" to it.
- Parameters:
genericTitle
- The title, or null to use "Error".errorMsg
- Error message.
openError
public static void openError(org.eclipse.swt.widgets.Shell shell, java.lang.String genericTitle, org.eclipse.core.runtime.CoreException exception)
Opens an error dialog if necessary. Takes care of complex rules necessary for making the error dialog look nice.This call can be done from any thread, if not the SWT thread, it will "syncExec" to it.
- Parameters:
shell
- The shell, or null to get the topmost one.genericTitle
- The title, or null to use "Error".exception
- The core exception.
openError
public static void openError(java.lang.String genericTitle, org.eclipse.core.runtime.IStatus status)
Opens an error dialog if necessary. Takes care of complex rules necessary for making the error dialog look nice.This call can be done from any thread, if not the SWT thread, it will "syncExec" to it.
- Parameters:
genericTitle
- The title, or null to use "Error".status
- The status.
openError
public static void openError(java.lang.String genericTitle, java.lang.String error, java.lang.Throwable exception)
Opens an error dialog if necessary. Takes care of complex rules necessary for making the error dialog look nice.- Parameters:
genericTitle
- The title, or null to use "Error".error
- The error message.exception
- The exception.
openError
public static void openError(org.eclipse.swt.widgets.Shell shell, java.lang.String genericTitle, java.lang.String error)
Opens an error dialog if necessary. Takes care of complex rules necessary for making the error dialog look nice.This call can be done from any thread, if not the SWT thread, it will "syncExec" to it.
- Parameters:
shell
- The shell, or null to get the topmost one.genericTitle
- The title, or null to use "Error".error
- The error message.
openError
public static void openError(org.eclipse.swt.widgets.Shell shell, java.lang.String genericTitle, java.lang.String error, java.lang.Throwable exception)
Opens an error dialog if necessary. Takes care of complex rules necessary for making the error dialog look nice.This call can be done from any thread, if not the SWT thread, it will "syncExec" to it.
- Parameters:
shell
- The shell, or null to get the topmost one.genericTitle
- The title, or null to use "Error".error
- The error message.exception
- The exception.
openError
public static void openError(org.eclipse.swt.widgets.Shell shell, java.lang.String genericTitle, org.eclipse.core.runtime.IStatus status)
Opens an error dialog if necessary. Takes care of complex rules necessary for making the error dialog look nice.This call can be done from any thread, if not the SWT thread, it will "syncExec" to it.
- Parameters:
shell
- The shell, or null to get the topmost one.genericTitle
- The title, or null to use "Error".status
- The status.
openExceptionDetailsError
public static void openExceptionDetailsError(org.eclipse.swt.widgets.Shell shell, java.lang.String genericTitle, org.eclipse.core.runtime.IStatus status)
Opens an error dialog if necessary. Takes care of complex rules necessary for making the error dialog look nice.This call can be done from any thread, if not the SWT thread, it will "syncExec" to it.
- Parameters:
shell
- The shell, or null to get the topmost one.genericTitle
- The title, or null to use "Error".status
- The status.
errorMessageBox
public static int errorMessageBox(org.eclipse.swt.widgets.Shell shell, java.lang.String title, java.lang.String msg, org.eclipse.core.runtime.CoreException e)
Shows an error message box from any thread for an exception.- Parameters:
shell
- The shell to use, if null one will be found...title
- The title.msg
- The message.e
- The Core Exception.- Returns:
- The code of the button that was pressed that resulted in this dialog closing. This will be Dialog.OK if the OK button was pressed, or Dialog.CANCEL if this dialog's close window decoration or the ESC key was used.
statusMessageBox
public static int statusMessageBox(org.eclipse.swt.widgets.Shell shell, java.lang.String title, java.lang.String msg, org.eclipse.core.runtime.IStatus status)
Shows a message box from any thread.- Parameters:
shell
- The shell to use, if null one will be found...title
- The title.msg
- The message.status
- The IStatus message (also MultiStatus).- Returns:
- The code of the button that was pressed that resulted in this dialog closing. This will be Dialog.OK if the OK button was pressed, or Dialog.CANCEL if this dialog's close window decoration or the ESC key was used.
getInstance
public static Activator getInstance()
Returns the shared instance.- Returns:
- The shared instance.
getProxy
public java.net.Proxy getProxy(java.net.URL url)
Gets a Java Proxy instance for an URL.- Specified by:
getProxy
in interfaceIWebServiceEngine
- Parameters:
url
- The URL to get the proxy from.- Returns:
- The proxy to use.
configureProxy
public void configureProxy(java.net.HttpURLConnection uc)
Configures a Http(s)URLConnection for proxy information.- Specified by:
configureProxy
in interfaceIWebServiceEngine
- Parameters:
uc
- The HttpURLConnection or HttpsURLConnection.
loadPropertiesFile
public static PropCnr loadPropertiesFile(java.io.File file) throws java.io.IOException, PropException
Loads a properties file.- Parameters:
file
- The file.- Returns:
- The loaded property container.
- Throws:
PropException
- For property errors.java.io.IOException
- For I/O errors.
loadPropertiesFile
public static PropCnr loadPropertiesFile(java.net.URL url) throws java.io.IOException, PropException
Loads a properties file.- Parameters:
url
- The URL.- Returns:
- The loaded property container.
- Throws:
PropException
- For property errors.java.io.IOException
- For I/O errors.
loadPropertiesFile
public static PropCnr loadPropertiesFile(org.eclipse.core.resources.IFile file) throws org.eclipse.core.runtime.CoreException
Loads a properties file.- Parameters:
file
- The file.- Returns:
- The loaded property container.
- Throws:
org.eclipse.core.runtime.CoreException
- For file errors.
createInputData
public static byte[] createInputData(PropCnr container) throws java.io.IOException, javax.xml.transform.TransformerException
Creates InputStream byte array data from a property container.- Parameters:
container
- The property container.- Returns:
- The byte array for the property container.
- Throws:
java.io.IOException
- For I/O errors.javax.xml.transform.TransformerException
- For XML error.
createInputStream
public static java.io.InputStream createInputStream(PropCnr container) throws java.io.IOException, javax.xml.transform.TransformerException
Creates an InputStream from a property container.- Parameters:
container
- The property container.- Returns:
- The InputStream for the property container.
- Throws:
java.io.IOException
- For I/O errors.javax.xml.transform.TransformerException
- For XML error.
savePropertiesFile
public static void savePropertiesFile(PropCnr container, org.eclipse.core.resources.IFile file, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
Saves a properties file. The IFile reference and the file modification stamp are saved in the property container.- Parameters:
container
- The property container.file
- The file.monitor
- The monitor.- Throws:
org.eclipse.core.runtime.CoreException
- For Eclipse file system errors.
prepareFolder
public static void prepareFolder(org.eclipse.core.resources.IFolder folder, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
Prepares a folder, i.e. makes sure it exists. If not it is created, recursively.- Parameters:
folder
- The folder to prepare.monitor
- The progress monitor.- Throws:
org.eclipse.core.runtime.CoreException
- For folder creation errors.
getSelectedProject
public static org.eclipse.core.resources.IProject getSelectedProject()
Gets the currently selected project.- Returns:
- The project, or null if none is selected.
getSelectedProject
public static org.eclipse.core.resources.IProject getSelectedProject(org.eclipse.jface.viewers.ISelection sel)
Gets the currently selected project.- Parameters:
sel
- The structured selection, null for none.- Returns:
- The project, or null if none is selected.
getFirstSelectedProperty
public static DesignerProp getFirstSelectedProperty()
Gets the first currently selected property.- Returns:
- The property, or null if none is selected.
getFirstSelectedProperty
public static DesignerProp getFirstSelectedProperty(org.eclipse.jface.viewers.ISelection sel)
Gets the first currently selected property.This method validates the properties and skips those that are disposed of in case the viewer selection is "old" and not refreshed.
- Parameters:
sel
- The structured selection, null for none.- Returns:
- The property, or null if none is selected.
getSelectedProps
public static java.util.ArrayList<DesignerProp> getSelectedProps(org.eclipse.jface.viewers.ISelection sel)
Gets a list of all DesignerProp's in a selection that should be used in e.g. a Delete or Copy/Cut operation. If a property container is present in the selection, all its children are removed from the list, because they would be included in the container operation.This method validates the properties and skips those that are disposed of in case the viewer selection is "old" and not refreshed.
- Parameters:
sel
- The structured selection, null for none.- Returns:
- The list of selected properties.
getSelectedGProps
public static GProp<?>[] getSelectedGProps(org.eclipse.jface.viewers.ISelection sel)
Gets a list of all GProp's for DesignerProp's in a selection that should be used in e.g. a Delete or Copy/Cut operation. If a property container is present in the selection, all its children are removed from the list, because they would be included in the container operation.- Parameters:
sel
- The selection.- Returns:
- The GProp array.
getSelectedRawGProps
public static java.util.ArrayList<GProp<?>> getSelectedRawGProps(org.eclipse.jface.viewers.ISelection sel)
Gets a list of all RAW GProp's without DesignerProp's in a selection that should be used in e.g. a Delete or Copy/Cut operation. If a property container is present in the selection, all its children are removed from the list, because they would be included in the container operation.- Parameters:
sel
- The selection.- Returns:
- The GProp array.
getPropCnrs
public static PropCnr[] getPropCnrs(java.util.ArrayList<DesignerProp> list)
Gets a PropCnr's from a DesignerProp list.- Parameters:
list
- The list of DesignerProp's or null for none.- Returns:
- The returned array, never null.
isResourceBased
public static boolean isResourceBased(GProp<?> gp)
Checks if the property contains a resource.- Parameters:
gp
- The property.- Returns:
- true if the property is a FilePropCnr or FolderPropCnr with a resource.
areAllResourceBased
public static boolean areAllResourceBased(GProp<?>[] props)
Checks if the properties only contains resources.- Parameters:
props
- The properties.- Returns:
- true if all properties are resource based, false otherwise.
fileToData
public static GProp<?> fileToData(GProp<?> gp)
Converts the property to get the data container property instead of a FilePropCnr.- Parameters:
gp
- The input property.- Returns:
- The same as the input property for no change, the data container property if it was a FilePropCnr when possible (data container not null).
fileToData
public static DesignerProp fileToData(DesignerProp dp)
Converts the property to get the data container property instead of a FilePropCnr.- Parameters:
dp
- The input property.- Returns:
- The same as the input property for no change, the data container property if it was a FilePropCnr when possible (data container not null).
fileToData
public static GProp<?>[] fileToData(GProp<?>[] props)
Converts the array of properties to get the data container property instead of a FilePropCnr.- Parameters:
props
- The input properties.- Returns:
- The same as the input array for no change, a new array without FilePropCnr when possible (data container not null).
dataToFile
public static GProp<?> dataToFile(GProp<?> gp)
Converts the property to get the FilePropCnr instead of the data container property.- Parameters:
gp
- The input propertY.- Returns:
- The property or its FilePropCnr when possible.
dataToFile
public static DesignerProp dataToFile(DesignerProp dp)
Converts the DesignerProp from the data container to the FilePropCnr one, if it refers to a file.- Parameters:
dp
- The Designer property instance of e.g. the data container.- Returns:
- The File Designer property if the parameter
dp
was a data container, otherwise the same value as thedp
parameter.
dataToFile
public static GProp<?>[] dataToFile(GProp<?>[] props)
Converts the array of properties to get the FilePropCnr instead of the data container property.- Parameters:
props
- The input properties.- Returns:
- The same as the input array for no change, a new array with FilePropCnr when possible.
getSelectedResources
public static org.eclipse.core.resources.IResource[] getSelectedResources()
Returns the resource selection from the LocalSelectionTransfer.- Returns:
- The currently selected resources, never null.
getSelectedResources
public static org.eclipse.core.resources.IResource[] getSelectedResources(org.eclipse.jface.viewers.ISelection selection)
Returns the resource selection.- Parameters:
selection
- Any selection of properties, resources, etc.- Returns:
- The resources from a selection, never null.
getSelectedResources
public static org.eclipse.core.resources.IResource[] getSelectedResources(org.eclipse.jface.viewers.IStructuredSelection selection)
Returns the resource selection.- Parameters:
selection
- Any selection of properties, resources, etc.- Returns:
- The resources from a selection, never null.
getFirstSelectedFile
public static org.eclipse.core.resources.IFile getFirstSelectedFile(org.eclipse.jface.viewers.IStructuredSelection selection)
Gets the first selected file resource.- Parameters:
selection
- The selection.- Returns:
- The resource or null if none.
getClipboard
public static org.eclipse.swt.dnd.Clipboard getClipboard()
Gets the clip board instance for the plug-in. It will be disposed of when the plug-in stops.- Returns:
- The clipboard instance.
disposeClipboard
public static void disposeClipboard()
Disposes of the clipboard.
mergeStatus
public static void mergeStatus(org.eclipse.core.runtime.MultiStatus status, org.eclipse.core.runtime.IStatus toMerge)
Adds the given status to the list of problems. Discards OK statuses. If the status is a multi-status, only its children are added.- Parameters:
status
- The status to merge with.toMerge
- The status to merge, if it's OK to merge!
createErrorStatus
public static org.eclipse.core.runtime.Status createErrorStatus(java.lang.String msg)
Creates an error status.- Parameters:
msg
- The message.- Returns:
- The status.
createErrorStatus
public static org.eclipse.core.runtime.Status createErrorStatus(java.lang.String msg, java.lang.Throwable e)
Creates an error status.- Parameters:
msg
- The message.e
- The exception.- Returns:
- The status.
createWarningStatus
public static org.eclipse.core.runtime.Status createWarningStatus(java.lang.String msg)
Creates a warning status.- Parameters:
msg
- The message.- Returns:
- The status.
createInfoStatus
public static org.eclipse.core.runtime.Status createInfoStatus(java.lang.String msg)
Creates an informational status.- Parameters:
msg
- The message.- Returns:
- The status.
refresh
public static void refresh(java.util.Collection<DesignerProp> dps)
Refreshes the workspace for the specified properties.- Parameters:
dps
- The collection of DesignerProp's to refresh.
centerDialog
public static void centerDialog(org.eclipse.swt.widgets.Shell shell)
Centers a dialog box Shell over it's parent.- Parameters:
shell
- The dialog box shell.
getInternalWebServerUnsecurePort
public static int getInternalWebServerUnsecurePort()
Returns the current HTTP port for the internal web server.- Returns:
- The port number, or zero if not started.
createKStringInfoProvider
public KStringInfoProviderAdapter createKStringInfoProvider(GProp<?> anyProp, boolean shouldResolve)
Creates an IKStringInfoProvider for a property.- Parameters:
anyProp
- Property for reference resolving.shouldResolve
- Flag indicating the "real" resolved string should be returned. This value is true for the runtime client when in "real run mode".- Returns:
- A new KStringInfoProviderAdapter instance for the unsecure web server port if any.
getKStringInfoProvider
public IKStringInfoProvider getKStringInfoProvider()
Retrieves the KStringInfoProvider.- Specified by:
getKStringInfoProvider
in interfaceIKStringInfoProviderHolder
- Returns:
- The KString information provider instance, or null if not possible.
getKStringInfoProvider
public IKStringInfoProvider getKStringInfoProvider(GProp<?> anyProp)
Retrieves the KStringInfoProvider.- Parameters:
anyProp
- Any property, ornull
to get it from the module root.- Returns:
- The KString information provider instance, or null if not possible.
getConfigurationPreferences
public static org.osgi.service.prefs.Preferences getConfigurationPreferences()
Gets the iiziGo Configuration Preferences, not stored in the workspace, but with the Eclipse installation.You may create another node if you wish to separate it from the default iiziGo ones.
- Returns:
- The preferences.
getExecutorService
public static java.util.concurrent.ExecutorService getExecutorService()
Gets the executor service.- Returns:
- The executor service instance tunes for this machine.