Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcvs2svn2004-12-01 19:39:11 +0000
committercvs2svn2004-12-01 19:39:11 +0000
commit3340d43c9eafa47b61a991fb57d199ae2ba00a32 (patch)
tree72b5c150b52f90d48dfb477e0ce99bb5291c5e28
parente6ddc64aafaf7b67d4d9e1c81e8aecab726026c2 (diff)
downloadeclipse.platform.debug-3340d43c9eafa47b61a991fb57d199ae2ba00a32.tar.gz
eclipse.platform.debug-3340d43c9eafa47b61a991fb57d199ae2ba00a32.tar.xz
eclipse.platform.debug-3340d43c9eafa47b61a991fb57d199ae2ba00a32.zip
This commit was manufactured by cvs2svn to create branch
'r3_1_debug_concurrency_branch'. Sprout from master 2004-12-01 19:39:09 UTC Darin Wright <darin> 'Bug 79903 - Source not found automatically for higher level plugins' Delete: org.eclipse.core.variables/.classpath org.eclipse.core.variables/.cvsignore org.eclipse.core.variables/.options org.eclipse.core.variables/.project org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs org.eclipse.core.variables/.settings/org.eclipse.pde.prefs org.eclipse.core.variables/about.html org.eclipse.core.variables/build.properties org.eclipse.core.variables/plugin.properties org.eclipse.core.variables/plugin.xml org.eclipse.core.variables/schema/dynamicVariables.exsd org.eclipse.core.variables/schema/valueVariables.exsd org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java org.eclipse.core.variables/src/org/eclipse/core/variables/package.html org.eclipse.ui.console/.classpath org.eclipse.ui.console/.cvsignore org.eclipse.ui.console/.options org.eclipse.ui.console/.project org.eclipse.ui.console/.settings/org.eclipse.jdt.core.prefs org.eclipse.ui.console/.settings/org.eclipse.pde.prefs org.eclipse.ui.console/about.html org.eclipse.ui.console/build.properties org.eclipse.ui.console/hglegal2003.htm org.eclipse.ui.console/icons/full/clcl16/clear_co.gif org.eclipse.ui.console/icons/full/clcl16/lock_co.gif org.eclipse.ui.console/icons/full/clcl16/pin.gif org.eclipse.ui.console/icons/full/cview16/console_view.gif org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif org.eclipse.ui.console/icons/full/dlcl16/lock_co.gif org.eclipse.ui.console/icons/full/dlcl16/pin.gif org.eclipse.ui.console/icons/full/dlcl16/rem_co.gif org.eclipse.ui.console/icons/full/elcl16/clear_co.gif org.eclipse.ui.console/icons/full/elcl16/lock_co.gif org.eclipse.ui.console/icons/full/elcl16/new_con.gif org.eclipse.ui.console/icons/full/elcl16/pin.gif org.eclipse.ui.console/icons/full/elcl16/rem_co.gif org.eclipse.ui.console/icons/full/eview16/console_view.gif org.eclipse.ui.console/ngibmcpy2003.gif org.eclipse.ui.console/plugin.properties org.eclipse.ui.console/plugin.xml org.eclipse.ui.console/schema/consoleFactories.exsd org.eclipse.ui.console/schema/consolePageParticipants.exsd org.eclipse.ui.console/schema/consolePatternMatchListeners.exsd org.eclipse.ui.console/scripts/exportplugin.xml org.eclipse.ui.console/src/org/eclipse/ui/console/AbstractConsole.java org.eclipse.ui.console/src/org/eclipse/ui/console/ConsolePlugin.java org.eclipse.ui.console/src/org/eclipse/ui/console/IConsole.java org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleConstants.java org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleDocumentPartitioner.java org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleFactory.java org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleListener.java org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java org.eclipse.ui.console/src/org/eclipse/ui/console/IConsolePageParticipant.java org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.java org.eclipse.ui.console/src/org/eclipse/ui/console/IHyperlink.java org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleInputStream.java org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleOutputStream.java org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListener.java org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListenerDelegate.java org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsole.java org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsoleStream.java org.eclipse.ui.console/src/org/eclipse/ui/console/PatternMatchEvent.java org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsole.java org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsolePage.java org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java org.eclipse.ui.console/src/org/eclipse/ui/console/actions/ClearOutputAction.java org.eclipse.ui.console/src/org/eclipse/ui/console/actions/CloseConsoleAction.java org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerAction.java org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerGotoLineAction.java org.eclipse.ui.console/src/org/eclipse/ui/console/actions/package.html org.eclipse.ui.console/src/org/eclipse/ui/console/package.html org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocument.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocumentAdapter.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleFactoryExtension.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleHyperlinkPosition.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleManager.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.properties org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePageParticipantExtension.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleTypePropertyTester.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/FollowHyperlinkAction.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IConsoleHelpContextIds.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePage.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartition.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsoleViewer.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/OpenConsoleAction.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListener.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListenerExtension.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ScrollLockAction.java org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java org.eclipse.ui.externaltools/.classpath org.eclipse.ui.externaltools/.cvsignore org.eclipse.ui.externaltools/.options org.eclipse.ui.externaltools/.project org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs org.eclipse.ui.externaltools/.settings/org.eclipse.pde.prefs org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/OpenExternalToolsConfigurations.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPreferenceInitializer.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/StringMatcher.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java org.eclipse.ui.externaltools/about.html org.eclipse.ui.externaltools/build.properties org.eclipse.ui.externaltools/buildfiles/exportplugin.xml org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gif org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gif org.eclipse.ui.externaltools/icons/full/obj16/builder.gif org.eclipse.ui.externaltools/icons/full/obj16/classpath.gif org.eclipse.ui.externaltools/icons/full/obj16/external_tools.gif org.eclipse.ui.externaltools/icons/full/obj16/invalid_build_tool.gif org.eclipse.ui.externaltools/icons/full/obj16/main_tab.gif org.eclipse.ui.externaltools/icons/full/wizban/ext_tools_wiz.gif org.eclipse.ui.externaltools/plugin.properties org.eclipse.ui.externaltools/plugin.xml org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd
-rw-r--r--org.eclipse.core.variables/.classpath7
-rw-r--r--org.eclipse.core.variables/.cvsignore2
-rw-r--r--org.eclipse.core.variables/.options1
-rw-r--r--org.eclipse.core.variables/.project26
-rw-r--r--org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs69
-rw-r--r--org.eclipse.core.variables/.settings/org.eclipse.pde.prefs14
-rw-r--r--org.eclipse.core.variables/about.html30
-rw-r--r--org.eclipse.core.variables/build.properties17
-rw-r--r--org.eclipse.core.variables/plugin.properties15
-rw-r--r--org.eclipse.core.variables/plugin.xml22
-rw-r--r--org.eclipse.core.variables/schema/dynamicVariables.exsd130
-rw-r--r--org.eclipse.core.variables/schema/valueVariables.exsd149
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java76
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java137
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java291
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java80
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java558
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java126
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java33
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties18
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java56
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java33
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java56
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java166
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java78
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java30
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java45
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java112
-rw-r--r--org.eclipse.core.variables/src/org/eclipse/core/variables/package.html45
-rw-r--r--org.eclipse.ui.console/.classpath7
-rw-r--r--org.eclipse.ui.console/.cvsignore1
-rw-r--r--org.eclipse.ui.console/.options1
-rw-r--r--org.eclipse.ui.console/.project26
-rw-r--r--org.eclipse.ui.console/.settings/org.eclipse.jdt.core.prefs69
-rw-r--r--org.eclipse.ui.console/.settings/org.eclipse.pde.prefs14
-rw-r--r--org.eclipse.ui.console/about.html30
-rw-r--r--org.eclipse.ui.console/build.properties19
-rw-r--r--org.eclipse.ui.console/hglegal2003.htm14
-rw-r--r--org.eclipse.ui.console/icons/full/clcl16/clear_co.gifbin545 -> 0 bytes
-rw-r--r--org.eclipse.ui.console/icons/full/clcl16/lock_co.gifbin626 -> 0 bytes
-rw-r--r--org.eclipse.ui.console/icons/full/clcl16/pin.gifbin358 -> 0 bytes
-rw-r--r--org.eclipse.ui.console/icons/full/cview16/console_view.gifbin582 -> 0 bytes
-rw-r--r--org.eclipse.ui.console/icons/full/dlcl16/clear_co.gifbin328 -> 0 bytes
-rw-r--r--org.eclipse.ui.console/icons/full/dlcl16/lock_co.gifbin588 -> 0 bytes
-rw-r--r--org.eclipse.ui.console/icons/full/dlcl16/pin.gifbin223 -> 0 bytes
-rw-r--r--org.eclipse.ui.console/icons/full/dlcl16/rem_co.gifbin159 -> 0 bytes
-rw-r--r--org.eclipse.ui.console/icons/full/elcl16/clear_co.gifbin545 -> 0 bytes
-rw-r--r--org.eclipse.ui.console/icons/full/elcl16/lock_co.gifbin626 -> 0 bytes
-rw-r--r--org.eclipse.ui.console/icons/full/elcl16/new_con.gifbin612 -> 0 bytes
-rw-r--r--org.eclipse.ui.console/icons/full/elcl16/pin.gifbin358 -> 0 bytes
-rw-r--r--org.eclipse.ui.console/icons/full/elcl16/rem_co.gifbin163 -> 0 bytes
-rw-r--r--org.eclipse.ui.console/icons/full/eview16/console_view.gifbin582 -> 0 bytes
-rw-r--r--org.eclipse.ui.console/ngibmcpy2003.gifbin1101 -> 0 bytes
-rw-r--r--org.eclipse.ui.console/plugin.properties22
-rw-r--r--org.eclipse.ui.console/plugin.xml69
-rw-r--r--org.eclipse.ui.console/schema/consoleFactories.exsd132
-rw-r--r--org.eclipse.ui.console/schema/consolePageParticipants.exsd119
-rw-r--r--org.eclipse.ui.console/schema/consolePatternMatchListeners.exsd141
-rw-r--r--org.eclipse.ui.console/scripts/exportplugin.xml35
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/AbstractConsole.java320
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/ConsolePlugin.java138
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/IConsole.java97
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleConstants.java154
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleDocumentPartitioner.java21
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleFactory.java48
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleListener.java39
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java95
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/IConsolePageParticipant.java67
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.java66
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/IHyperlink.java37
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java245
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleInputStream.java262
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleOutputStream.java216
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListener.java68
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListenerDelegate.java35
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsole.java70
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsoleStream.java67
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/PatternMatchEvent.java70
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsole.java509
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsolePage.java371
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java527
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/actions/ClearOutputAction.java96
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/actions/CloseConsoleAction.java36
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerAction.java84
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerGotoLineAction.java121
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/actions/package.html20
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/package.html29
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocument.java116
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocumentAdapter.java354
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java149
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleFactoryExtension.java124
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleHyperlinkPosition.java51
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleManager.java361
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.java36
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.properties67
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePageParticipantExtension.java69
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java299
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java170
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleTypePropertyTester.java32
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java579
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.java125
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/FollowHyperlinkAction.java54
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IConsoleHelpContextIds.java37
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java34
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePage.java141
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartition.java165
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java669
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsoleViewer.java138
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/OpenConsoleAction.java128
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListener.java71
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListenerExtension.java128
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java56
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ScrollLockAction.java60
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java52
-rw-r--r--org.eclipse.ui.externaltools/.classpath8
-rw-r--r--org.eclipse.ui.externaltools/.cvsignore4
-rw-r--r--org.eclipse.ui.externaltools/.options1
-rw-r--r--org.eclipse.ui.externaltools/.project28
-rw-r--r--org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs69
-rw-r--r--org.eclipse.ui.externaltools/.settings/org.eclipse.pde.prefs14
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java310
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java34
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties53
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java644
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java202
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java47
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java52
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java40
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/OpenExternalToolsConfigurations.java24
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java283
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java276
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java215
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java32
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties16
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java167
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPreferenceInitializer.java32
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java200
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolsHelpContextIds.java37
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IPreferenceConstants.java33
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java91
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/StringMatcher.java393
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/registry/ExternalToolMigration.java411
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderLabelProvider.java133
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/BuilderPropertyPage.java1138
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsPreferencePage.java97
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.java42
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/ExternalToolsUIMessages.properties52
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/FileSelectionDialog.java246
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/TreeAndListGroup.java316
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildProjectResolver.java73
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/BuildTypeResolver.java26
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.java31
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/variables/VariableMessages.properties12
-rw-r--r--org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/BackgroundResourceRefresher.java87
-rw-r--r--org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.java34
-rw-r--r--org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ExternalToolsProgramMessages.properties19
-rw-r--r--org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramBuilderTabGroup.java35
-rw-r--r--org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramLaunchDelegate.java229
-rw-r--r--org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramMainTab.java57
-rw-r--r--org.eclipse.ui.externaltools/Program Tools Support/org/eclipse/ui/externaltools/internal/program/launchConfigurations/ProgramTabGroup.java34
-rw-r--r--org.eclipse.ui.externaltools/about.html30
-rw-r--r--org.eclipse.ui.externaltools/build.properties24
-rw-r--r--org.eclipse.ui.externaltools/buildfiles/exportplugin.xml36
-rw-r--r--org.eclipse.ui.externaltools/icons/full/dtool16/external_tools.gifbin570 -> 0 bytes
-rw-r--r--org.eclipse.ui.externaltools/icons/full/etool16/external_tools.gifbin587 -> 0 bytes
-rw-r--r--org.eclipse.ui.externaltools/icons/full/obj16/builder.gifbin574 -> 0 bytes
-rw-r--r--org.eclipse.ui.externaltools/icons/full/obj16/classpath.gifbin338 -> 0 bytes
-rw-r--r--org.eclipse.ui.externaltools/icons/full/obj16/external_tools.gifbin587 -> 0 bytes
-rw-r--r--org.eclipse.ui.externaltools/icons/full/obj16/invalid_build_tool.gifbin339 -> 0 bytes
-rw-r--r--org.eclipse.ui.externaltools/icons/full/obj16/main_tab.gifbin360 -> 0 bytes
-rw-r--r--org.eclipse.ui.externaltools/icons/full/wizban/ext_tools_wiz.gifbin3160 -> 0 bytes
-rw-r--r--org.eclipse.ui.externaltools/plugin.properties45
-rw-r--r--org.eclipse.ui.externaltools/plugin.xml236
-rw-r--r--org.eclipse.ui.externaltools/schema/configurationDuplicationMaps.exsd126
174 files changed, 0 insertions, 18168 deletions
diff --git a/org.eclipse.core.variables/.classpath b/org.eclipse.core.variables/.classpath
deleted file mode 100644
index 065ac06e1..000000000
--- a/org.eclipse.core.variables/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.core.variables/.cvsignore b/org.eclipse.core.variables/.cvsignore
deleted file mode 100644
index 693869726..000000000
--- a/org.eclipse.core.variables/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-doc
diff --git a/org.eclipse.core.variables/.options b/org.eclipse.core.variables/.options
deleted file mode 100644
index 34a7de878..000000000
--- a/org.eclipse.core.variables/.options
+++ /dev/null
@@ -1 +0,0 @@
-# Debugging options for the org.eclipse.core.variables plugin.
diff --git a/org.eclipse.core.variables/.project b/org.eclipse.core.variables/.project
deleted file mode 100644
index efb82a149..000000000
--- a/org.eclipse.core.variables/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.core.variables</name>
- <comment></comment>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index e22d63ab0..000000000
--- a/org.eclipse.core.variables/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Mon Nov 01 17:54:58 GMT-08:00 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/org.eclipse.core.variables/.settings/org.eclipse.pde.prefs b/org.eclipse.core.variables/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 02f5958dc..000000000
--- a/org.eclipse.core.variables/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Nov 24 22:35:14 GMT-08:00 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=1
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=1
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/org.eclipse.core.variables/about.html b/org.eclipse.core.variables/about.html
deleted file mode 100644
index abd7bd730..000000000
--- a/org.eclipse.core.variables/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>2nd October, 2003</p>
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/org.eclipse.core.variables/build.properties b/org.eclipse.core.variables/build.properties
deleted file mode 100644
index e6c0fdaec..000000000
--- a/org.eclipse.core.variables/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = .options,\
- plugin.xml,\
- plugin.properties,\
- *.jar,\
- about.html
-source.variables.jar = src/
-src.includes=about.html, schema/
diff --git a/org.eclipse.core.variables/plugin.properties b/org.eclipse.core.variables/plugin.properties
deleted file mode 100644
index 0e263976e..000000000
--- a/org.eclipse.core.variables/plugin.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=Core Variables
-providerName=Eclipse.org
-valueVariablesExtensionPointName=Value Variables
-dynamicVariablesExtensionPointName=Dynamic Variables
diff --git a/org.eclipse.core.variables/plugin.xml b/org.eclipse.core.variables/plugin.xml
deleted file mode 100644
index d622df35f..000000000
--- a/org.eclipse.core.variables/plugin.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
- id="org.eclipse.core.variables"
- name="%pluginName"
- version="3.0.0"
- provider-name="%providerName"
- class="org.eclipse.core.variables.VariablesPlugin">
-
- <runtime>
- <library name="variables.jar">
- <export name="*"/>
- </library>
- </runtime>
- <requires>
- <import plugin="org.eclipse.core.runtime"/>
- </requires>
-
- <extension-point id="valueVariables" name="%valueVariablesExtensionPointName" schema="schema/valueVariables.exsd"/>
- <extension-point id="dynamicVariables" name="%dynamicVariablesExtensionPointName" schema="schema/dynamicVariables.exsd"/>
-
-</plugin>
diff --git a/org.eclipse.core.variables/schema/dynamicVariables.exsd b/org.eclipse.core.variables/schema/dynamicVariables.exsd
deleted file mode 100644
index deb145968..000000000
--- a/org.eclipse.core.variables/schema/dynamicVariables.exsd
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.core.variables">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.core.variables" id="dynamicVariables" name="Dynamic Stirng Substitution Variables"/>
- </appInfo>
- <documentation>
- This extension point provides a mechanism for defining dynamic variables used in string substitution. The value of a dynamic variable is resolved at the time a string substitution is performed, with an optional argument.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="variable" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- a fully qualified identifier of the target extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- an optional identifier of the extension instance
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- an optional name of the extension instance
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="variable">
- <complexType>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- specifies a unique name for this variable.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="resolver" type="string" use="required">
- <annotation>
- <documentation>
- specifies a Java class which implements &lt;code&gt;org.eclipse.core.variables.IDynamicVariableResolver&lt;/code&gt;, which is used to determine the value of the variable
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.core.variables.IDynamicVariableResolver"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="description" type="string" use="required">
- <annotation>
- <documentation>
- specifies a human-readable description of this variable
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="supportsArgument" type="boolean">
- <annotation>
- <documentation>
- Whether this variable supports an argument. When unspecified, the implied value is &lt;code&gt;true&lt;/code&gt;.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 3.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is a definition of a dynamic variable that resolves to the name of the selected resource:
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.core.variables.dynamicVariables&quot;&gt;
- &lt;variable
- name=&quot;resource_name&quot;
- expanderClass=&quot;com.example.ResourceNameExpander&quot;
- description=&quot;The name of the selected resource&quot;&gt;
- &lt;/variable&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- Value of the attribute &lt;b&gt;resolver&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.core.variables.IDynamicVariableResolver&lt;/b&gt;.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2003, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Common Public License v1.0 which
-accompanies this distribution, and is available at
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
- </documentation>
- </annotation>
-
-</schema>
diff --git a/org.eclipse.core.variables/schema/valueVariables.exsd b/org.eclipse.core.variables/schema/valueVariables.exsd
deleted file mode 100644
index 4037055c8..000000000
--- a/org.eclipse.core.variables/schema/valueVariables.exsd
+++ /dev/null
@@ -1,149 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.core.variables">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.core.variables" id="valueVariables" name="Value Variables"/>
- </appInfo>
- <documentation>
- This extension point provides a mechanism for defining variables used for string substitution. A value variable has a static value.
- </documentation>
- </annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="variable" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- a fully qualified identifier of the target extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- an optional identifier of the extension instance
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- an optional name of the extension instance
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="variable">
- <complexType>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- specifies a unique name for this variable.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="initialValue" type="string">
- <annotation>
- <documentation>
- specifies the initial value for this variable. When specified, an &lt;code&gt;initializerClass&lt;/code&gt; attribute must not be specified.
- </documentation>
- </annotation>
- </attribute>
- <attribute name="initializerClass" type="string">
- <annotation>
- <documentation>
- specifies the fully qualified name of the Java class that implements &lt;code&gt;org.eclipse.core.variables.IValueVariableInitializer&lt;/code&gt;. When specified, an &lt;code&gt;initialValue&lt;/code&gt; attribute must not be specified.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.core.variables.IValueVariableInitializer"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="description" type="string">
- <annotation>
- <documentation>
- specifies a human-readable description of this variable.
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 3.0
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a value variable contribution with an initial value:
-
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.core.variables.valueVariables&quot;&gt;
- &lt;variable
- name=&quot;FOO_HOME&quot;
- initialValue=&quot;/usr/local/foo&quot;&gt;
- &lt;/variable&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the specified variable is created with the initial value &quot;/usr/local/foo&quot;.
-
- The following is an example of a value variable contribution with an initializer class:
-&lt;p&gt;
-&lt;pre&gt;
- &lt;extension point=&quot;org.eclipse.core.variables.valueVariables&quot;&gt;
- &lt;variable
- name=&quot;FOO_HOME&quot;
- initializerClass=&quot;com.example.FooLocator&quot;&gt;
- &lt;/variable&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-&lt;/p&gt;
-
-In the example above, the variable FOO_HOME is created and the class &quot;com.example.FooLocator&quot; will be
-used to initialize the value the first time it&apos;s requested.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- Value of the attribute &lt;b&gt;initializerClass&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.core.variables.IValueVariableInitializer&lt;/b&gt;.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2003, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Common Public License v1.0 which
-accompanies this distribution, and is available at
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
- </documentation>
- </annotation>
-
-</schema>
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
deleted file mode 100644
index 7abf47557..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/DynamicVariable.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.text.MessageFormat;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.core.variables.VariablesPlugin;
-
-/**
- * Dynamic variable
- */
-public class DynamicVariable extends StringVariable implements IDynamicVariable {
-
- /**
- * Resolver, or <code>null</code> until needed
- */
- private IDynamicVariableResolver fResolver;
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IContextVariable#getValue(java.lang.String)
- */
- public String getValue(String argument) throws CoreException {
- if (!supportsArgument()) {
- // check for an argument - not supported
- if (argument != null && argument.length() > 0) {
- throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.getString("DynamicVariable.0"), new String[]{argument, getName()}), null)); //$NON-NLS-1$
- }
- }
- if (fResolver == null) {
- String name = getConfigurationElement().getAttribute("resolver"); //$NON-NLS-1$
- if (name == null) {
- throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format("Contributed context variable {0} must specify a resolver.",new String[]{getName()}), null)); //$NON-NLS-1$
- }
- Object object = getConfigurationElement().createExecutableExtension("resolver"); //$NON-NLS-1$
- if (object instanceof IDynamicVariableResolver) {
- fResolver = (IDynamicVariableResolver)object;
- } else {
- throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format("Contributed context variable resolver for {0} must be an instance of IContextVariableResolver.",new String[]{getName()}), null)); //$NON-NLS-1$
- }
- }
- return fResolver.resolveValue(this, argument);
- }
-
- /**
- * Constructs a new context variable.
- *
- * @param name variable name
- * @param description variable description or <code>null</code>
- * @param configurationElement configuration element
- */
- public DynamicVariable(String name, String description, IConfigurationElement configurationElement) {
- super(name, description, configurationElement);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.variables.IDynamicVariable#supportsArgument()
- */
- public boolean supportsArgument() {
- String arg = getConfigurationElement().getAttribute("supportsArgument"); //$NON-NLS-1$
- return arg == null || Boolean.valueOf(arg).booleanValue();
- }
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java
deleted file mode 100644
index 4ece74163..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ListenerList.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-
-/**
- * Local version of org.eclipse.jface.util.ListenerList (modified)s
- */
-public class ListenerList {
- /**
- * The current number of listeners.
- * Maintains invariant: 0 <= fSize <= listeners.length.
- */
- private int fSize;
-
- /**
- * The list of listeners. Initially <code>null</code> but initialized
- * to an array of size capacity the first time a listener is added.
- * Maintains invariant: listeners != null if and only if fSize != 0
- */
- private Object[] fListeners= null;
-
- /**
- * The empty array singleton instance, returned by getListeners()
- * when size == 0.
- */
- private static final Object[] EmptyArray= new Object[0];
-
- /**
- * Creates a listener list with the given initial capacity.
- *
- * @param capacity the number of listeners which this list can initially accept
- * without growing its internal representation; must be at least 1
- */
- public ListenerList(int capacity) {
- if (capacity < 1) {
- throw new IllegalArgumentException();
- }
- fListeners= new Object[capacity];
- fSize= 0;
- }
-
- /**
- * Adds a listener to the list.
- * Has no effect if an identical listener is already registered.
- *
- * @param listener a listener
- */
- public synchronized void add(Object listener) {
- if (listener == null) {
- throw new IllegalArgumentException();
- }
- // check for duplicates using identity
- for (int i= 0; i < fSize; ++i) {
- if (fListeners[i] == listener) {
- return;
- }
- }
- // grow array if necessary
- if (fSize == fListeners.length) {
- Object[] temp= new Object[(fSize * 2) + 1];
- System.arraycopy(fListeners, 0, temp, 0, fSize);
- fListeners= temp;
- }
- fListeners[fSize++]= listener;
- }
-
- /**
- * Returns an array containing all the registered listeners.
- * The resulting array is unaffected by subsequent adds or removes.
- * If there are no listeners registered, the result is an empty array
- * singleton instance (no garbage is created).
- * Use this method when notifying listeners, so that any modifications
- * to the listener list during the notification will have no effect on the
- * notification itself.
- */
- public synchronized Object[] getListeners() {
- if (fSize == 0) {
- return EmptyArray;
- }
- Object[] result= new Object[fSize];
- System.arraycopy(fListeners, 0, result, 0, fSize);
- return result;
- }
-
- /**
- * Removes a listener from the list.
- * Has no effect if an identical listener was not already registered.
- *
- * @param listener a listener
- */
- public synchronized void remove(Object listener) {
- if (listener == null) {
- throw new IllegalArgumentException();
- }
-
- for (int i= 0; i < fSize; ++i) {
- if (fListeners[i] == listener) {
- if (--fSize == 0) {
- fListeners= new Object[1];
- } else {
- if (i < fSize) {
- fListeners[i]= fListeners[fSize];
- }
- fListeners[fSize]= null;
- }
- return;
- }
- }
- }
-
- /**
- * Removes all the listeners from the list.
- */
- public void removeAll() {
- fListeners= new Object[0];
- fSize= 0;
- }
-
- /**
- * Returns the number of registered listeners
- *
- * @return the number of registered listeners
- */
- public int size() {
- return fSize;
- }
-}
-
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
deleted file mode 100644
index 542fc7b9f..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringSubstitutionEngine.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Stack;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.VariablesPlugin;
-
-/**
- * Performs string substitution for context and value variables.
- */
-public class StringSubstitutionEngine {
-
- // delimiters
- private static final String VARIABLE_START = "${"; //$NON-NLS-1$
- private static final char VARIABLE_END = '}'; //$NON-NLS-1$
- private static final char VARIABLE_ARG = ':'; //$NON-NLS-1$
- // parsing states
- private static final int SCAN_FOR_START = 0;
- private static final int SCAN_FOR_END = 1;
-
- /**
- * Resulting string
- */
- private StringBuffer fResult;
-
- /**
- * Whether substitutions were performed
- */
- private boolean fSubs;
-
- /**
- * Stack of variables to resolve
- */
- private Stack fStack;
-
- class VariableReference {
-
- // the text inside the variable reference
- private StringBuffer fText;
-
- public VariableReference() {
- fText = new StringBuffer();
- }
-
- public void append(String text) {
- fText.append(text);
- }
-
- public String getText() {
- return fText.toString();
- }
-
- }
-
- /**
- * Performs recursive string substitution and returns the resulting string.
- *
- * @param expression expression to resolve
- * @param reportUndefinedVariables whether to report undefined variables as an error
- * @param manager registry of variables
- * @return the resulting string with all variables recursively
- * substituted
- * @exception CoreException if unable to resolve a referenced variable or if a cycle exists
- * in referenced variables
- */
- public String performStringSubstitution(String expression, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
- substitute(expression, reportUndefinedVariables, resolveVariables, manager);
- List resolvedVariableSets = new ArrayList();
- while (fSubs) {
- HashSet resolved = substitute(fResult.toString(), reportUndefinedVariables, true, manager);
-
- for(int i=resolvedVariableSets.size()-1; i>=0; i--) {
-
- HashSet prevSet = (HashSet)resolvedVariableSets.get(i);
-
- if (prevSet.equals(resolved)) {
- HashSet conflictingSet = new HashSet();
- for (; i<resolvedVariableSets.size(); i++)
- conflictingSet.addAll((HashSet)resolvedVariableSets.get(i));
-
- StringBuffer problemVariableList = new StringBuffer();
- for (Iterator it=conflictingSet.iterator(); it.hasNext(); ) {
- problemVariableList.append(it.next().toString());
- problemVariableList.append(", "); //$NON-NLS-1$
- }
- problemVariableList.setLength(problemVariableList.length()-2); //truncate the last ", "
- throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.REFERENCE_CYCLE_ERROR, MessageFormat.format(VariablesMessages.getString("StringSubstitutionEngine.4"), new String[]{problemVariableList.toString()}), null)); //$NON-NLS-1$
- }
- }
-
- resolvedVariableSets.add(resolved);
- }
- return fResult.toString();
- }
-
- /**
- * Performs recursive string validation to ensure that all of the variables
- * contained in the expression exist
- * @param expression expression to validate
- * @param manager registry of variables
- * @exception CoreException if a referenced variable does not exist or if a cycle exists
- * in referenced variables
- */
- public void validateStringVariables(String expression, IStringVariableManager manager) throws CoreException {
- performStringSubstitution(expression, true, false, manager);
- }
-
- /**
- * Makes a substitution pass of the given expression returns a Set of the variables that were resolved in this
- * pass
- *
- * @param expression source expression
- * @param reportUndefinedVariables whether to report undefined variables as an error
- * @param resolveVariables whether to resolve the value of any variables
- * @exception CoreException if unable to resolve a variable
- */
- private HashSet substitute(String expression, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
- fResult = new StringBuffer(expression.length());
- fStack = new Stack();
- fSubs = false;
-
- HashSet resolvedVariables = new HashSet();
-
- int pos = 0;
- int state = SCAN_FOR_START;
- while (pos < expression.length()) {
- switch (state) {
- case SCAN_FOR_START:
- int start = expression.indexOf(VARIABLE_START, pos);
- if (start >= 0) {
- int length = start - pos;
- // copy non-variable text to the result
- if (length > 0) {
- fResult.append(expression.substring(pos, start));
- }
- pos = start + 2;
- state = SCAN_FOR_END;
-
- fStack.push(new VariableReference());
- } else {
- // done - no more variables
- fResult.append(expression.substring(pos));
- pos = expression.length();
- }
- break;
- case SCAN_FOR_END:
- // be careful of nested variables
- start = expression.indexOf(VARIABLE_START, pos);
- int end = expression.indexOf(VARIABLE_END, pos);
- if (end < 0) {
- // variables are not completed
- VariableReference tos = (VariableReference)fStack.peek();
- tos.append(expression.substring(pos));
- pos = expression.length();
- } else {
- if (start >= 0 && start < end) {
- // start of a nested variable
- int length = start - pos;
- if (length > 0) {
- VariableReference tos = (VariableReference)fStack.peek();
- tos.append(expression.substring(pos, start));
- }
- pos = start + 2;
- fStack.push(new VariableReference());
- } else {
- // end of variable reference
- VariableReference tos = (VariableReference)fStack.pop();
- String substring = expression.substring(pos, end);
- tos.append(substring);
- resolvedVariables.add(substring);
-
- pos = end + 1;
- String value= resolve(tos, reportUndefinedVariables, resolveVariables, manager);
- if (value == null) {
- value = ""; //$NON-NLS-1$
- }
- if (fStack.isEmpty()) {
- // append to result
- fResult.append(value);
- state = SCAN_FOR_START;
- } else {
- // append to previous variable
- tos = (VariableReference)fStack.peek();
- tos.append(value);
- }
- }
- }
- break;
- }
- }
- // process incomplete variable references
- while (!fStack.isEmpty()) {
- VariableReference tos = (VariableReference)fStack.pop();
- if (fStack.isEmpty()) {
- fResult.append(VARIABLE_START);
- fResult.append(tos.getText());
- } else {
- VariableReference var = (VariableReference)fStack.peek();
- var.append(VARIABLE_START);
- var.append(tos.getText());
- }
- }
-
-
- return resolvedVariables;
- }
-
- /**
- * Resolve and return the value of the given variable reference,
- * possibly <code>null</code>.
- *
- * @param var
- * @param reportUndefinedVariables whether to report undefined variables as
- * an error
- * @param resolveVariables whether to resolve the variables value or just to validate that this variable is valid
- * @param manager variable registry
- * @return variable value, possibly <code>null</code>
- * @exception CoreException if unable to resolve a value
- */
- private String resolve(VariableReference var, boolean reportUndefinedVariables, boolean resolveVariables, IStringVariableManager manager) throws CoreException {
- String text = var.getText();
- int pos = text.indexOf(VARIABLE_ARG);
- String name = null;
- String arg = null;
- if (pos > 0) {
- name = text.substring(0, pos);
- pos++;
- if (pos < text.length()) {
- arg = text.substring(pos);
- }
- } else {
- name = text;
- }
- IValueVariable valueVariable = manager.getValueVariable(name);
- if (valueVariable == null) {
- IDynamicVariable dynamicVariable = manager.getDynamicVariable(name);
- if (dynamicVariable == null) {
- // no variables with the given name
- if (reportUndefinedVariables) {
- throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.getString("StringSubstitutionEngine.3"), new String[]{name}), null)); //$NON-NLS-1$
- }
- // leave as is
- return getOriginalVarText(var);
- }
-
- if (resolveVariables) {
- fSubs = true;
- return dynamicVariable.getValue(arg);
- }
- //leave as is
- return getOriginalVarText(var);
- }
-
- if (arg == null) {
- if (resolveVariables) {
- fSubs = true;
- return valueVariable.getValue();
- }
- //leave as is
- return getOriginalVarText(var);
- }
- // error - an argument specified for a value variable
- throw new CoreException(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.getString("StringSubstitutionEngine.4"), new String[]{valueVariable.getName()}), null)); //$NON-NLS-1$
- }
-
- private String getOriginalVarText(VariableReference var) {
- StringBuffer res = new StringBuffer(var.getText());
- res.insert(0, VARIABLE_START);
- res.append(VARIABLE_END);
- return res.toString();
- }
-} \ No newline at end of file
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
deleted file mode 100644
index cb7642050..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariable.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.variables.IStringVariable;
-
-/**
- * Common implementation of context and value variables
- */
-public abstract class StringVariable implements IStringVariable {
-
- /**
- * Variable name
- */
- private String fName;
-
- /**
- * Variable description, or <code>null</code>
- */
- private String fDescription;
-
- /**
- * Configuration element associated with this variable, or <code>null</code>
- */
- private IConfigurationElement fConfigurationElement;
-
- /**
- * Constructs a new variable with the given name and description.
- *
- * @param name variable name
- * @param description variable description, or <code>null</code>
- */
- public StringVariable(String name, String description, IConfigurationElement configurationElement) {
- fName = name;
- fDescription = description;
- fConfigurationElement = configurationElement;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariable#getName()
- */
- public String getName() {
- return fName;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariable#getDescription()
- */
- public String getDescription() {
- return fDescription;
- }
-
- /**
- * Returns the configuration element associated with this variable, or <code>null</code>
- * if none.
- *
- * @return configuration element or <code>null</code>
- */
- protected IConfigurationElement getConfigurationElement() {
- return fConfigurationElement;
- }
-
- /**
- * @see IValueVariable#setDescription(String)
- * @param description
- */
- public void setDescription(String description) {
- fDescription = description;
- }
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
deleted file mode 100644
index aa646f7d0..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/StringVariableManager.java
+++ /dev/null
@@ -1,558 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.FactoryConfigurationError;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IStringVariable;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.IValueVariableListener;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
-/**
- * Singleton string variable manager.
- */
-public class StringVariableManager implements IStringVariableManager {
-
- /**
- * Dynamic variables - maps variable names to variables.
- */
- private Map fDynamicVariables;
-
- /**
- * Value varialbes - maps variable names to variables.
- */
- private Map fValueVariables;
-
- /**
- * Variable listeners
- */
- private ListenerList fListeners;
-
- // notifications
- private static final int ADDED = 0;
- private static final int CHANGED = 1;
- private static final int REMOVED = 2;
-
- /**
- * Singleton variable manager.
- */
- private static StringVariableManager fgManager;
-
- // true during initialization code - supress change notification
- private boolean fInitializing = false;
-
- // Variable extension point constants
- private static final String ATTR_NAME= "name"; //$NON-NLS-1$
- private static final String ATTR_DESCRIPTION="description"; //$NON-NLS-1$
- // Persisted variable XML constants
- private static final String VALUE_VARIABLES_TAG= "valueVariables"; //$NON-NLS-1$
- private static final String VALUE_VARIABLE_TAG= "valueVariable"; //$NON-NLS-1$
- private static final String NAME_TAG= "name"; //$NON-NLS-1$
- private static final String VALUE_TAG= "value"; //$NON-NLS-1$
- private static final String DESCRIPTION_TAG="description"; //$NON-NLS-1$
- private static final String INITIALIZED_TAG="contributed"; //$NON-NLS-1$
- // XML values
- private static final String TRUE_VALUE= "true"; //$NON-NLS-1$
- private static final String FALSE_VALUE= "false"; //$NON-NLS-1$
- // preference store key for value variables
- private static final String PREF_VALUE_VARIABLES= VariablesPlugin.getUniqueIdentifier() + ".valueVariables"; //$NON-NLS-1$
-
- /**
- * Notifies a string variable listener in a safe runnable to handle
- * exceptions.
- */
- class StringVariableNotifier implements ISafeRunnable {
-
- private IValueVariableListener fListener;
- private int fType;
- private IValueVariable[] fVariables;
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
- */
- public void handleException(Throwable exception) {
- IStatus status = new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, "An exception occurred during string variable change notification", exception); //$NON-NLS-1$
- VariablesPlugin.log(status);
- }
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#run()
- */
- public void run() throws Exception {
- switch (fType) {
- case ADDED:
- fListener.variablesAdded(fVariables);
- break;
- case REMOVED:
- fListener.variablesRemoved(fVariables);
- break;
- case CHANGED:
- fListener.variablesChanged(fVariables);
- break;
- }
- }
-
- /**
- * Notifies the given listener of the add/change/remove
- *
- * @param listener the listener to notify
- * @param launch the launch that has changed
- * @param update the type of change
- */
- public void notify(IValueVariable[] variables, int update) {
- fVariables = variables;
- fType = update;
- Object[] copiedListeners= fListeners.getListeners();
- for (int i= 0; i < copiedListeners.length; i++) {
- fListener = (IValueVariableListener)copiedListeners[i];
- Platform.run(this);
- }
- fVariables = null;
- fListener = null;
- // persist variables whenever there is an add/change/remove
- storeValueVariables();
- }
- }
-
- /**
- * Returns a new notifier.
- *
- * @return a new notifier
- */
- private StringVariableNotifier getNotifier() {
- return new StringVariableNotifier();
- }
-
- /**
- * Returns the default string variable manager
- *
- * @return string variable manager
- */
- public static StringVariableManager getDefault() {
- if (fgManager == null) {
- fgManager = new StringVariableManager();
- }
- return fgManager;
- }
-
- /**
- * Constructs a new string variable manager.
- */
- private StringVariableManager() {
- fListeners = new ListenerList(5);
- }
-
- /**
- * Load contributed variables and persisted variables
- */
- private void initialize() {
- if (fDynamicVariables == null) {
- fInitializing = true;
- fDynamicVariables = new HashMap(5);
- fValueVariables = new HashMap(5);
- loadPersistedValueVariables();
- loadContributedValueVariables();
- loadDynamicVariables();
- fInitializing = false;
- }
- }
-
- /**
- * Loads contributed dynamic variables
- */
- private void loadDynamicVariables() {
- IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(VariablesPlugin.PI_CORE_VARIABLES, EXTENSION_POINT_DYNAMIC_VARIABLES);
- IConfigurationElement elements[]= point.getConfigurationElements();
- for (int i = 0; i < elements.length; i++) {
- IConfigurationElement element = elements[i];
- String name= element.getAttribute(ATTR_NAME);
- if (name == null) {
- VariablesPlugin.logMessage(MessageFormat.format("Variable extension missing required 'name' attribute: {0}", new String[] {element.getDeclaringExtension().getLabel()}), null); //$NON-NLS-1$
- continue;
- }
- String description= element.getAttribute(ATTR_DESCRIPTION);
- DynamicVariable variable= new DynamicVariable(name, description, element);
- fDynamicVariables.put(variable.getName(), variable);
- }
- }
-
- /**
- * Loads any persisted value varialbes from the preference store.
- */
- private void loadPersistedValueVariables() {
- String variablesString= VariablesPlugin.getDefault().getPluginPreferences().getString(PREF_VALUE_VARIABLES);
- if (variablesString.length() == 0) {
- return;
- }
- Element root= null;
- Throwable ex = null;
- try {
- ByteArrayInputStream stream = new ByteArrayInputStream(variablesString.getBytes("UTF-8")); //$NON-NLS-1$
- DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- root = parser.parse(stream).getDocumentElement();
- } catch (UnsupportedEncodingException e) {
- ex = e;
- } catch (ParserConfigurationException e) {
- ex = e;
- } catch (FactoryConfigurationError e) {
- ex = e;
- } catch (SAXException e) {
- ex = e;
- } catch (IOException e) {
- ex = e;
- }
- if (ex != null) {
- VariablesPlugin.logMessage("An exception occurred while loading persisted value variables.", ex); //$NON-NLS-1$
- return;
- }
- if (!root.getNodeName().equals(VALUE_VARIABLES_TAG)) {
- VariablesPlugin.logMessage("Invalid format encountered while loading persisted value variables.", null); //$NON-NLS-1$
- return;
- }
- NodeList list= root.getChildNodes();
- for (int i= 0, numItems= list.getLength(); i < numItems; i++) {
- Node node= list.item(i);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element element= (Element) node;
- if (!element.getNodeName().equals(VALUE_VARIABLE_TAG)) {
- VariablesPlugin.logMessage(MessageFormat.format("Invalid XML element encountered while loading value variables: {0}", new String[] {node.getNodeName()}), null); //$NON-NLS-1$
- continue;
- }
- String name= element.getAttribute(NAME_TAG);
- if (name.length() > 0) {
- String value= element.getAttribute(VALUE_TAG);
- String description= element.getAttribute(DESCRIPTION_TAG);
- boolean initialized= TRUE_VALUE.equals(element.getAttribute(INITIALIZED_TAG));
- ValueVariable variable= new ValueVariable(name, description, null);
- if (initialized) {
- variable.setValue(value);
- }
- fValueVariables.put(name, variable);
- } else {
- VariablesPlugin.logMessage("Invalid variable entry encountered while loading value variables. Variable name is null.", null); //$NON-NLS-1$
- }
- }
- }
- }
-
- /**
- * Loads contributed value variables. This is done after the persisted value
- * varaibles are restored. Any contributed variables with the same name are
- * merged with existing persisted values.
- */
- private void loadContributedValueVariables() {
- IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(VariablesPlugin.PI_CORE_VARIABLES, EXTENSION_POINT_VALUE_VARIABLES);
- IConfigurationElement elements[]= point.getConfigurationElements();
- for (int i = 0; i < elements.length; i++) {
- IConfigurationElement element = elements[i];
- String name= element.getAttribute(ATTR_NAME);
- if (name == null) {
- VariablesPlugin.logMessage(MessageFormat.format("Variable extension missing required 'name' attribute: {0}", new String[] {element.getDeclaringExtension().getLabel()}), null); //$NON-NLS-1$
- continue;
- }
- String description= element.getAttribute(ATTR_DESCRIPTION);
- ValueVariable variable= new ValueVariable(name, description, element);
- // if already present, merge with persisted value
- ValueVariable existing = (ValueVariable)getValueVariable(name);
- if (existing != null) {
- if (existing.isInitialized()) {
- variable.setValue(existing.getValue());
- }
- }
- fValueVariables.put(variable.getName(), variable);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getVariables()
- */
- public IStringVariable[] getVariables() {
- initialize();
- List list = new ArrayList(fDynamicVariables.size() + fValueVariables.size());
- list.addAll(fDynamicVariables.values());
- list.addAll(fValueVariables.values());
- return (IStringVariable[]) list.toArray(new IStringVariable[list.size()]);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getValueVariables()
- */
- public IValueVariable[] getValueVariables() {
- initialize();
- return (IValueVariable[]) fValueVariables.values().toArray(new IValueVariable[fValueVariables.size()]);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getDynamicVariables()
- */
- public IDynamicVariable[] getDynamicVariables() {
- initialize();
- return (IDynamicVariable[]) fDynamicVariables.values().toArray(new IDynamicVariable[fDynamicVariables.size()]);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#performStringSubstitution(java.lang.String)
- */
- public String performStringSubstitution(String expression) throws CoreException {
- return performStringSubstitution(expression, true);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#newValueVariable(java.lang.String, java.lang.String)
- */
- public IValueVariable newValueVariable(String name, String description) {
- IConfigurationElement element = null;
- ValueVariable existing = (ValueVariable)getValueVariable(name);
- if (existing != null && existing.isContributed()) {
- element = existing.getConfigurationElement();
- }
- return new ValueVariable(name, description, element);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#addVariables(org.eclipse.debug.internal.core.stringsubstitution.IValueVariable[])
- */
- public void addVariables(IValueVariable[] variables) throws CoreException {
- initialize();
- MultiStatus status = new MultiStatus(VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, VariablesMessages.getString("StringVariableManager.26"), null); //$NON-NLS-1$
- for (int i = 0; i < variables.length; i++) {
- IValueVariable variable = variables[i];
- if (getValueVariable(variable.getName()) != null) {
- status.add(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), VariablesPlugin.INTERNAL_ERROR, MessageFormat.format(VariablesMessages.getString("StringVariableManager.27"), new String[]{variable.getName()}), null)); //$NON-NLS-1$
- }
- }
- if (status.isOK()) {
- for (int i = 0; i < variables.length; i++) {
- IValueVariable variable = variables[i];
- fValueVariables.put(variable.getName(), variable);
- }
- IValueVariable[] copy = new IValueVariable[variables.length];
- System.arraycopy(variables, 0, copy, 0, variables.length);
- getNotifier().notify(copy, ADDED);
- return;
- }
- throw new CoreException(status);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#removeVariables(org.eclipse.debug.internal.core.stringsubstitution.IValueVariable[])
- */
- public void removeVariables(IValueVariable[] variables) {
- initialize();
- List removed = new ArrayList(variables.length);
- for (int i = 0; i < variables.length; i++) {
- IValueVariable variable = variables[i];
- if (fValueVariables.remove(variable.getName()) != null) {
- removed.add(variable);
- }
- }
- if (removed.size() > 0) {
- getNotifier().notify((IValueVariable[])removed.toArray(new IValueVariable[removed.size()]), REMOVED);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getDynamicVariable(java.lang.String)
- */
- public IDynamicVariable getDynamicVariable(String name) {
- initialize();
- return (IDynamicVariable) fDynamicVariables.get(name);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#getValueVariable(java.lang.String)
- */
- public IValueVariable getValueVariable(String name) {
- initialize();
- return (IValueVariable) fValueVariables.get(name);
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#addValueVariableListener(org.eclipse.debug.internal.core.stringsubstitution.IValueVariableListener)
- */
- public void addValueVariableListener(IValueVariableListener listener) {
- fListeners.add(listener);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#removeValueVariableListener(org.eclipse.debug.internal.core.stringsubstitution.IValueVariableListener)
- */
- public void removeValueVariableListener(IValueVariableListener listener) {
- fListeners.remove(listener);
- }
-
- /**
- * Returns a memento representing the value variables currently registered.
- *
- * @return memento representing the value variables currently registered
- * @throws IOException if an I/O exception occurs while creating the XML.
- */
- private String getValueVariablesAsXML() throws IOException, ParserConfigurationException, TransformerException {
- IValueVariable[] variables = getValueVariables();
-
- Document document= getDocument();
- Element rootElement= document.createElement(VALUE_VARIABLES_TAG);
- document.appendChild(rootElement);
- for (int i = 0; i < variables.length; i++) {
- ValueVariable variable = (ValueVariable)variables[i];
- Element element= document.createElement(VALUE_VARIABLE_TAG);
- element.setAttribute(NAME_TAG, variable.getName());
- String value= variable.getValue();
- if (value != null) {
- element.setAttribute(VALUE_TAG, value);
- }
- String description= variable.getDescription();
- if (description != null) {
- element.setAttribute(DESCRIPTION_TAG, description);
- }
- element.setAttribute(INITIALIZED_TAG, variable.isInitialized() ? TRUE_VALUE : FALSE_VALUE);
- rootElement.appendChild(element);
- }
- return serializeDocument(document);
- }
-
- private Document getDocument() throws ParserConfigurationException {
- DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder docBuilder = dfactory.newDocumentBuilder();
- Document doc =docBuilder.newDocument();
- return doc;
- }
-
- /**
- * Serializes a XML document into a string - encoded in UTF8 format,
- * with platform line separators.
- *
- * @param doc document to serialize
- * @return the document as a string
- * @throws TransformerException if an unrecoverable error occurs during the serialization
- * @throws IOException if the encoding attempted to be used is not supported
- */
- private String serializeDocument(Document doc) throws TransformerException, UnsupportedEncodingException {
- ByteArrayOutputStream s= new ByteArrayOutputStream();
-
- TransformerFactory factory= TransformerFactory.newInstance();
- Transformer transformer= factory.newTransformer();
- transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
- transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-
- DOMSource source= new DOMSource(doc);
- StreamResult outputTarget= new StreamResult(s);
- transformer.transform(source, outputTarget);
-
- return s.toString("UTF8"); //$NON-NLS-1$
- }
-
- /**
- * Saves the value variables currently registered in the
- * preference store.
- */
- private void storeValueVariables() {
- Preferences prefs= VariablesPlugin.getDefault().getPluginPreferences();
- String variableString= ""; //$NON-NLS-1$
- if (!fValueVariables.isEmpty()) {
- try {
- variableString= getValueVariablesAsXML();
- } catch (IOException e) {
- VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$
- return;
- } catch (ParserConfigurationException e) {
- VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$
- return;
- } catch (TransformerException e) {
- VariablesPlugin.log(new Status(IStatus.ERROR, VariablesPlugin.getUniqueIdentifier(), IStatus.ERROR, "An exception occurred while storing launch configuration variables.", e)); //$NON-NLS-1$
- return;
- }
- }
- prefs.setValue(PREF_VALUE_VARIABLES, variableString);
- VariablesPlugin.getDefault().savePluginPreferences();
- }
-
- /**
- * Fire a change notification for the given variable.
- *
- * @param variable the variable that has changed
- */
- protected void notifyChanged(ValueVariable variable) {
- if (!fInitializing) {
- IValueVariable existing = getValueVariable(variable.getName());
- if (variable.equals(existing)) {
- // do not do change notification for unregistered variables
- getNotifier().notify(new IValueVariable[]{variable}, CHANGED);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#generateVariableExpression(java.lang.String, java.lang.String)
- */
- public String generateVariableExpression(String varName, String arg) {
- StringBuffer buffer = new StringBuffer();
- buffer.append("${"); //$NON-NLS-1$
- buffer.append(varName);
- if (arg != null) {
- buffer.append(":"); //$NON-NLS-1$
- buffer.append(arg);
- }
- buffer.append("}"); //$NON-NLS-1$
- return buffer.toString();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IStringVariableManager#performStringSubstitution(java.lang.String, boolean)
- */
- public String performStringSubstitution(String expression, boolean reportUndefinedVariables) throws CoreException {
- return new StringSubstitutionEngine().performStringSubstitution(expression, reportUndefinedVariables, true, this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.variables.IStringVariableManager#validateStringVariables(java.lang.String)
- */
- public void validateStringVariables(String expression) throws CoreException {
- new StringSubstitutionEngine().validateStringVariables(expression, this);
- }
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
deleted file mode 100644
index 5ecb45a93..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/ValueVariable.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.variables.IValueVariable;
-import org.eclipse.core.variables.IValueVariableInitializer;
-import org.eclipse.core.variables.VariablesPlugin;
-
-/**
- * Implementation of a value variable.
- */
-public class ValueVariable extends StringVariable implements IValueVariable {
-
- /**
- * Variable value or <code>null</code> if none
- */
- private String fValue;
-
- /**
- * Whether this variable's value has been initialized
- */
- private boolean fInitialized = false;
-
- /**
- * Constructs a new value variable with the given name, description, and
- * associated configuration element.
- *
- * @param name variable name
- * @param description variable description, or <code>null</code>
- * @param configurationElement configuration element or <code>null</code>
- */
- public ValueVariable(String name, String description, IConfigurationElement configurationElement) {
- super(name, description, configurationElement);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IValueVariable#setValue(java.lang.String)
- */
- public void setValue(String value) {
- fValue = value;
- setInitialized(true);
- StringVariableManager.getDefault().notifyChanged(this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IValueVariable#getValue()
- */
- public String getValue() {
- if (!isInitialized()) {
- initialize();
- }
- return fValue;
- }
-
- /**
- * Initialize this variable's value.
- */
- private void initialize() {
- if (getConfigurationElement() != null) {
- // check for a explicit value specified in plug-in XML
- String value = getConfigurationElement().getAttribute("initialValue"); //$NON-NLS-1$
- if (value == null) {
- // check for initializer
- String className = getConfigurationElement().getAttribute("initializerClass"); //$NON-NLS-1$
- if (className != null) {
- try {
- Object object = getConfigurationElement().createExecutableExtension("initializerClass"); //$NON-NLS-1$
- if (object instanceof IValueVariableInitializer) {
- IValueVariableInitializer initializer = (IValueVariableInitializer)object;
- initializer.initialize(this);
- } else {
- VariablesPlugin.logMessage(MessageFormat.format("Unable to initialize variable {0} - initializer must be an instance of IValueVariableInitializer.", new String[]{getName()}), null); //$NON-NLS-1$
- }
- } catch (CoreException e) {
- VariablesPlugin.logMessage(MessageFormat.format("Unable to initialize variable {0}",new String[]{getName()}), e); //$NON-NLS-1$
- }
- }
- } else {
- setValue(value);
- }
- }
- setInitialized(true);
- }
-
- /**
- * Returns whether this variable has been initialized with a value by one of:
- * <ul>
- * <li><code>setValue(String)</code></li>
- * <li>its configuration element's <code>initialValue</code> attribute</li>
- * <li>its configuration element's initializer</li>
- * </ul>
- * @return whether this variable has been initialized with a value
- */
- protected boolean isInitialized() {
- return fInitialized;
- }
-
- /**
- * Sets whether this variable has been initialized with a value.
- *
- * @param initialized whether this variable has been initialized
- */
- protected void setInitialized(boolean initialized) {
- fInitialized = initialized;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IValueVariable#isContributed()
- */
- public boolean isContributed() {
- return getConfigurationElement() != null;
- }
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
deleted file mode 100644
index 7791efbe6..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.variables;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class VariablesMessages {
-
- private static final String BUNDLE_NAME = "org.eclipse.core.internal.variables.VariablesMessages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE =
- ResourceBundle.getBundle(BUNDLE_NAME);
-
- private VariablesMessages() {
- }
-
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-} \ No newline at end of file
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties b/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
deleted file mode 100644
index 7113d132a..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/internal/variables/VariablesMessages.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-StringSubstitutionEngine.3=Reference to undefined variable {0}
-StringSubstitutionEngine.4=Variable {0} does not accept arguments
-
-StringVariableManager.26=Variables with the specified names are already registered.
-StringVariableManager.27=Variable named {0} already registered
-
-DynamicVariable.0=Unsupported argument {0} specified for variable {1}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
deleted file mode 100644
index 8ba318210..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariable.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A dynamic variable is a variable whose value is computed dynamically
- * by a resolver at the time a string substitution is performed. A dynamic
- * variable is contributed by an extension.
- * <p>
- * The following is a definition of a dynamic variable that resolves to the name of the selected resource:
- * <pre>
- * &lt;extension point="org.eclipse.core.variables.dynamicVariables"&gt;
- * &lt;variable
- * name="resource_name"
- * resolver="com.example.ResourceNameResolver"
- * description="The name of the selected resource"
- * supportsArgument="false"&gt;
- * &lt;/variable&gt;
- * &lt;/extension&gt;
- * </pre>
- * </p>
- *
- * @since 3.0
- */
-public interface IDynamicVariable extends IStringVariable {
-
- /**
- * Returns the value of this variable when referenced with the given
- * argument, possibly <code>null</code>.
- *
- * @param argument argument present in variable expression or <code>null</code>
- * if none
- * @return value of this variable when referenced with the given argument, possibly
- * <code>null</code>
- * @throws CoreException if unable to resolve a value for this variable
- */
- public String getValue(String argument) throws CoreException;
-
- /**
- * Returns whether this variable supports an argument, as specified
- * by this variable's extension definition in plug-in XML.
- *
- * @return whether this variable supports an argument
- */
- public boolean supportsArgument();
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
deleted file mode 100644
index 6187525d2..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IDynamicVariableResolver.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Resolves the value for a dynamic variable. A dynamic variable extension
- * contributes a resolver which must implement this interface.
- *
- * @since 3.0
- */
-public interface IDynamicVariableResolver {
-
- /**
- * Resolves and returns a value for the specified variable when referenced
- * with the given argument, possibly <code>null</code>
- *
- * @param variable variable to resolve a value for
- * @param argument argument present in expression or <code>null</code> if none
- * @return variable value, possibly <code>null</code>
- * @throws CoreException if unable to resolve a value for the given variable
- */
- public String resolveValue(IDynamicVariable variable, String argument) throws CoreException;
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
deleted file mode 100644
index 69bab0a3b..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariable.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-
-/**
- * A variable that can be referenced in an expression, which resolves to a string
- * value. Variables are referenced in expressions via their name, in the following
- * format.
- * <pre>
- * ${varname} or ${varname:argument}
- * </pre>
- * <p>
- * A variable is identified by its name, and optionally accepts an argument. When an
- * argument is present, a colon seperates the variable name from its argument.
- * </p>
- * <p>
- * Variables can be contributed by extensions or programmatically. There are two
- * kinds of variables.
- * <ul>
- * <li><code>IValueVariable</code> - variables that have a value (with getter and setter), and
- * accept no arguments. The value of this type of variable is resolved at the time
- * its value is set via its setter API.</li>
- * <li><code>IDynamicVariable</code> - variables whose value is resolved at the time
- * a string substitution is performed by a contributed resolver. Dynamic variables
- * may accept an argument.</li>
- * </ul>
- * </p>
- * @since 3.0
- */
-public interface IStringVariable {
-
- /**
- * Returns the name of this variable. A variable is uniquely identified by
- * its name.
- *
- * @return variable name
- */
- public String getName();
-
- /**
- * Returns a human readable description of this variable, possibly <code>null</code>
- *
- * @return a description of this variable, or <code>null</code> if none
- */
- public String getDescription();
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
deleted file mode 100644
index 8d0a311c8..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IStringVariableManager.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * Registry for string variables.
- *
- * @since 3.0
- */
-public interface IStringVariableManager {
-
- /**
- * Simple identifier constant (value <code>"dynamicVariables"</code>) for the
- * dynamic variables extension point.
- */
- public static final String EXTENSION_POINT_DYNAMIC_VARIABLES = "dynamicVariables"; //$NON-NLS-1$
-
- /**
- * Simple identifier constant (value <code>"valueVariables"</code>) for the
- * value variables extension point.
- */
- public static final String EXTENSION_POINT_VALUE_VARIABLES = "valueVariables"; //$NON-NLS-1$
-
- /**
- * Returns all registered variables.
- *
- * @return a collection of all registered variables
- */
- public IStringVariable[] getVariables();
-
- /**
- * Returns all registered value variables.
- *
- * @return a collection of all registered value variables
- */
- public IValueVariable[] getValueVariables();
-
- /**
- * Returns the value variable with the given name, or <code>null</code>
- * if none.
- *
- * @param name variable name
- * @return the value variable with the given name, or <code>null</code>
- * if none
- */
- public IValueVariable getValueVariable(String name);
-
- /**
- * Returns all registered dynamic variables.
- *
- * @return a collection of all registered dynamic variables
- */
- public IDynamicVariable[] getDynamicVariables();
-
- /**
- * Returns the dynamic variable with the given name or <code>null</code>
- * if none.
- *
- * @param name variable name
- * @return the dynamic variable with the given name or <code>null</code>
- * if none
- */
- public IDynamicVariable getDynamicVariable(String name);
-
- /**
- * Recursively resolves and replaces all variable references in the given
- * expression with their corresponding values. Reports errors for references
- * to undefined variables (equivalent to calling
- * <code>performStringSubstitution(expression, true)</code>).
- *
- * @param expression expression referencing variables
- * @return expression with variable references replaced with variable values
- * @throws CoreException if unable to resolve the value of one or more variables
- */
- public String performStringSubstitution(String expression) throws CoreException;
-
- /**
- * Recursively resolves and replaces all variable references in the given
- * expression with their corresponding values. Allows the client to control
- * whether references to undefined variables are reported as an error (i.e.
- * an exception is thrown).
- *
- * @param expression expression referencing variables
- * @param reportUndefinedVariables whether a reference to an undefined variable
- * is to be considered an error (i.e. throw an exception)
- * @return expression with variable references replaced with variable values
- * @throws CoreException if unable to resolve the value of one or more variables
- */
- public String performStringSubstitution(String expression, boolean reportUndefinedVariables) throws CoreException;
-
- /**
- * Validates variables references in the given expression and reports errors
- * for references to undefined variables.
- *
- * @param expression expression referencing variables
- * @throws CoreException if one or more referenced variables do not exist
- */
- public void validateStringVariables(String expression) throws CoreException;
-
- /**
- * Returns a new value variable with the given name and description.
- *
- * @param name variable name, cannot be <code>null</code>
- * @param description variable description, possibly <code>null</code>
- * @return a new variable
- * @exception CoreException if a variable already exists with the given name
- */
- public IValueVariable newValueVariable(String name, String description);
-
- /**
- * Adds the given variables to the variable registry.
- *
- * @param variables the variables to add
- * @throws CoreException if one or more variables to add has a name collision with
- * an existing variable
- */
- public void addVariables(IValueVariable[] variables) throws CoreException;
-
- /**
- * Removes the given variables from the registry. Has no effect for unregistered
- * variables.
- *
- * @param variables variables to remove
- */
- public void removeVariables(IValueVariable[] variables);
-
- /**
- * Registers the given listener for value variable notifications. Has no effect
- * if an identical listener is already registered.
- *
- * @param listener value variable listener to add
- */
- public void addValueVariableListener(IValueVariableListener listener);
-
- /**
- * Removes the given listener from the list of registered value variable
- * listeners. Has no effect if an identical listener is not already registered.
- *
- * @param listener value variable listener to remove
- */
- public void removeValueVariableListener(IValueVariableListener listener);
-
- /**
- * Convenience method that returns an expression referencing the given
- * variable and optional argument. For example, calling the method with
- * a <code>varName</code> of <code>my_var</code> and an <code>argument</code>
- * of <code>my_arg</code> results in the string <code>$(my_var:my_arg}</code>.
- *
- * @param varName variable name
- * @param arg argument text or <code>null</code>
- * @return an expression referencing the given variable and
- * optional argument
- */
- public String generateVariableExpression(String varName, String arg);
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
deleted file mode 100644
index 4b5ef650b..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariable.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * A variable with a value that can be set and retrieved. The context in which
- * a value variable is referenced does not effect the value of the variable.
- * A value variable can be contributed by an extension or created programmatically.
- * A contributor may optionally specify an initial value for a variable, or
- * provide a delegate that will initialie the variable with a value.
- * <p>
- * Example of a value variable contribution with an initial value, the specified
- * variable is created with the initial value "/usr/local/foo".
- * <pre>
- * &lt;extension point="org.eclipse.core.variables.valueVariables"&gt;
- * &lt;variable
- * name="FOO_HOME"
- * initialValue="/usr/local/foo"&gt;
- * &lt;/variable&gt;
- * &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Example of a value variable contribution with an initializer class, the class
- * "com.example.FooLocator" will be used to initialize the value the first time
- * it's requested.
- * <pre>
- * &lt;extension point="org.eclipse.core.variables.valueVariables"&gt;
- * &lt;variable
- * name="FOO_HOME"
- * initializerClass="com.example.FooLocator"&gt;
- * &lt;/variable&gt;
- * &lt;/extension&gt;
- * </pre>
- * </p>
- *
- *
- * @since 3.0
- */
-public interface IValueVariable extends IStringVariable {
-
- /**
- * Sets the value of this variable to the given value. A value of
- * <code>null</code> indicates the value of this variable is undefined.
- *
- * @param value variable value, possibly <code>null</code>
- */
- public void setValue(String value);
-
- /**
- * Returns the value of this variable, or <code>null</code> if none.
- *
- * @return the value of this variable, or <code>null</code> if none
- */
- public String getValue();
-
- /**
- * Returns whether this variable was contributed by an extension.
- *
- * @return whether this variable was contributed by an extension
- */
- public boolean isContributed();
-
- /**
- * Sets the description of this variable to the given value.
- *
- * @param description variable description, possibly <code>null</code>
- */
- public void setDescription(String description);
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
deleted file mode 100644
index 16cc8feb6..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableInitializer.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * Value variable initializers compute an initial value for a value
- * variable contributed by an extension, which is not defined with an initial
- * value. This provides a mechnism for programatically computing the initial
- * value of a value variable.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IValueVariableInitializer {
- /**
- * Initializes the specified variable.
- *
- * @param variable variable to initialize
- */
- public void initialize(IValueVariable variable);
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
deleted file mode 100644
index 46a24930a..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/IValueVariableListener.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.variables;
-
-/**
- * A string variable listener is notified of variables as they are added
- * and removed from the string variable manager. As well, listeners are
- * notified when a value variable changes value.
- *
- * @since 3.0
- */
-public interface IValueVariableListener {
-
- /**
- * Notification the given variables have been added to the variable
- * manager.
- *
- * @param variables added variables
- */
- public void variablesAdded(IValueVariable[] variables);
-
- /**
- * Notification the given variables have been removed from the variable
- * manager.
- *
- * @param variables removed variables
- */
- public void variablesRemoved(IValueVariable[] variables);
-
- /**
- * Notification the given variables have been changed value.
- *
- * @param variables changed variables
- */
- public void variablesChanged(IValueVariable[] variables);
-
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java b/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
deleted file mode 100644
index 0d88094cf..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/VariablesPlugin.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.core.variables;
-
-import org.eclipse.core.internal.variables.StringVariableManager;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-
-/**
- * The plug-in runtime class for the Core Variables plug-in.
- * @since 3.0
- */
-public class VariablesPlugin extends Plugin {
-
- /**
- * Status code indicating an unexpected internal error.
- */
- public static final int INTERNAL_ERROR = 120;
-
- /**
- * Status code indicating a variable reference cycle error.
- */
- public static final int REFERENCE_CYCLE_ERROR = 130;
-
- /**
- * The single instance of this plug-in runtime class.
- */
- private static VariablesPlugin plugin;
-
- /**
- * Unique identifier constant (value <code>"org.eclipse.core.variables"</code>)
- * for the Core Variables plug-in.
- */
- public static final String PI_CORE_VARIABLES = "org.eclipse.core.variables"; //$NON-NLS-1$
-
-
- /**
- * Constructs an instance of this plug-in runtime class.
- * <p>
- * An instance of this plug-in runtime class is automatically created
- * when the facilities provided by the Variables plug-in are required.
- * <b>Clients must never explicitly instantiate a plug-in runtime class.</b>
- * </p>
- */
- public VariablesPlugin() {
- super();
- plugin = this;
- }
-
- /**
- * Returns this plug-in instance.
- *
- * @return the single instance of this plug-in runtime class
- */
- public static VariablesPlugin getDefault() {
- return plugin;
- }
-
- /**
- * Logs the specified throwable with this plug-in's log.
- *
- * @param t throwable to log
- */
- public static void log(Throwable t) {
- log(new Status(IStatus.ERROR, PI_CORE_VARIABLES, INTERNAL_ERROR, "Error logged from Core Variables: ", t)); //$NON-NLS-1$
- }
-
- /**
- * Logs the given message with this plug-in's log and the given
- * throwable or <code>null</code> if none.
- * @param message the message to log
- * @param throwable the exception that occurred or <code>null</code> if none
- */
- public static void logMessage(String message, Throwable throwable) {
- log(new Status(IStatus.ERROR, getUniqueIdentifier(), INTERNAL_ERROR, message, throwable));
- }
-
- /**
- * Logs the specified status with this plug-in's log.
- *
- * @param status status to log
- */
- public static void log(IStatus status) {
- getDefault().getLog().log(status);
- }
-
- /**
- * Convenience method which returns the unique identifier of this plugin.
- */
- public static String getUniqueIdentifier() {
- return PI_CORE_VARIABLES;
- }
-
- /**
- * Returns the string variable manager.
- *
- * @return the string variable manager
- */
- public IStringVariableManager getStringVariableManager() {
- return StringVariableManager.getDefault();
- }
-}
diff --git a/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html b/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
deleted file mode 100644
index 0d27de0b3..000000000
--- a/org.eclipse.core.variables/src/org/eclipse/core/variables/package.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Debug Platform</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides support for defining and contributing variables for the purpose of
- string substitution.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides classes and interfaces to support the definition and
- contribution of variables for the purpose of string substitution. The plug-in
- supports the recursive replacement of variables referenced by name in arbitrary
- strings with the value of the variable. Two types of variables are provided
- - value variables (<code>IValueVariable</code>) and dynamic variables (<code>IDynamicVariable</code>).
- A value variable has a simple setter and getter for its current value. A dynamic
- variable has an associated resolver that provides a variable's value each time
- it is referenced (replaced) in a string substitution. A dynamic variable may
- also provide an argument in its reference that can be used by its resolver to
- determine its substitution value.</p>
-<p>A variable manager (<code>IStringVariableManager</code>) is provided to manage
- the set of defined variables. Value variables may be created via API on the
- variable manager, or contributed via the <code>valueVariables</code> extension
- point. Dynamic variables must be contributed via the <code>dynamicVariables</code>
- extension point. The variable manager also provides change notification for
- value variables. The variable manager also provides an API for performing string
- substitution, which accepts a string, and returns a string with all variable
- references replaced by associated variable values.</p>
-<p>Variables are referenced in strings by enclosing them in braces, preceded with
- a dollar sign. For example, consider a variable defined with the name <code>foo</code>,
- and referenced in the following string: <code>&quot;abc${foo}ghi&quot;</code>.
- If the value of <code>foo</code> is <code>&quot;def&quot;</code>, the result
- of a string substitution would be <code>&quot;abcdefghi&quot;</code>. In the
- case of a dynamic variable, an (optional) argument is supplied by appending
- a colon and argument value after the variable name. For example <code>&quot;${foo:bar}&quot;</code>.
- In this case, the resolver associated with <code>foo</code> would be provided
- with the referenced argument (<code>bar</code>) when asked to resolve a value
- for the variable <code>foo</code>. </p>
-</body>
-</html>
diff --git a/org.eclipse.ui.console/.classpath b/org.eclipse.ui.console/.classpath
deleted file mode 100644
index 065ac06e1..000000000
--- a/org.eclipse.ui.console/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.ui.console/.cvsignore b/org.eclipse.ui.console/.cvsignore
deleted file mode 100644
index ba077a403..000000000
--- a/org.eclipse.ui.console/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/org.eclipse.ui.console/.options b/org.eclipse.ui.console/.options
deleted file mode 100644
index d7752adbc..000000000
--- a/org.eclipse.ui.console/.options
+++ /dev/null
@@ -1 +0,0 @@
-# Debugging options for the org.eclipse.ui.console plugin.
diff --git a/org.eclipse.ui.console/.project b/org.eclipse.ui.console/.project
deleted file mode 100644
index aa92a70c1..000000000
--- a/org.eclipse.ui.console/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.ui.console</name>
- <comment></comment>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/org.eclipse.ui.console/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.ui.console/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index e488162ed..000000000
--- a/org.eclipse.ui.console/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Mon Nov 01 18:52:47 GMT-08:00 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/org.eclipse.ui.console/.settings/org.eclipse.pde.prefs b/org.eclipse.ui.console/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index de0a1d23a..000000000
--- a/org.eclipse.ui.console/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Nov 24 22:35:45 GMT-08:00 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=1
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=1
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/org.eclipse.ui.console/about.html b/org.eclipse.ui.console/about.html
deleted file mode 100644
index 6b68e1890..000000000
--- a/org.eclipse.ui.console/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>8th September, 2003</p>
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html> \ No newline at end of file
diff --git a/org.eclipse.ui.console/build.properties b/org.eclipse.ui.console/build.properties
deleted file mode 100644
index d166e5892..000000000
--- a/org.eclipse.ui.console/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = icons/,\
- .options,\
- plugin.xml,\
- plugin.properties,\
- *.jar,\
- about.html
-
-source.console.jar src/
-src.includes=about.html
diff --git a/org.eclipse.ui.console/hglegal2003.htm b/org.eclipse.ui.console/hglegal2003.htm
deleted file mode 100644
index 47c8540c8..000000000
--- a/org.eclipse.ui.console/hglegal2003.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <LINK REL="stylesheet" HREF="book.css" CHARSET="ISO-8859-1" TYPE="text/css">
- <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.
-</body>
-</html>
diff --git a/org.eclipse.ui.console/icons/full/clcl16/clear_co.gif b/org.eclipse.ui.console/icons/full/clcl16/clear_co.gif
deleted file mode 100644
index 6bc10f9d0..000000000
--- a/org.eclipse.ui.console/icons/full/clcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/clcl16/lock_co.gif b/org.eclipse.ui.console/icons/full/clcl16/lock_co.gif
deleted file mode 100644
index 68fd6cf39..000000000
--- a/org.eclipse.ui.console/icons/full/clcl16/lock_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/clcl16/pin.gif b/org.eclipse.ui.console/icons/full/clcl16/pin.gif
deleted file mode 100644
index ec50b70fa..000000000
--- a/org.eclipse.ui.console/icons/full/clcl16/pin.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/cview16/console_view.gif b/org.eclipse.ui.console/icons/full/cview16/console_view.gif
deleted file mode 100644
index a598f6082..000000000
--- a/org.eclipse.ui.console/icons/full/cview16/console_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif b/org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif
deleted file mode 100644
index 9ff641606..000000000
--- a/org.eclipse.ui.console/icons/full/dlcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/dlcl16/lock_co.gif b/org.eclipse.ui.console/icons/full/dlcl16/lock_co.gif
deleted file mode 100644
index b77647893..000000000
--- a/org.eclipse.ui.console/icons/full/dlcl16/lock_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/dlcl16/pin.gif b/org.eclipse.ui.console/icons/full/dlcl16/pin.gif
deleted file mode 100644
index 61615d57d..000000000
--- a/org.eclipse.ui.console/icons/full/dlcl16/pin.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/dlcl16/rem_co.gif b/org.eclipse.ui.console/icons/full/dlcl16/rem_co.gif
deleted file mode 100644
index 559e46298..000000000
--- a/org.eclipse.ui.console/icons/full/dlcl16/rem_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/clear_co.gif b/org.eclipse.ui.console/icons/full/elcl16/clear_co.gif
deleted file mode 100644
index 6bc10f9d0..000000000
--- a/org.eclipse.ui.console/icons/full/elcl16/clear_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/lock_co.gif b/org.eclipse.ui.console/icons/full/elcl16/lock_co.gif
deleted file mode 100644
index 68fd6cf39..000000000
--- a/org.eclipse.ui.console/icons/full/elcl16/lock_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/new_con.gif b/org.eclipse.ui.console/icons/full/elcl16/new_con.gif
deleted file mode 100644
index 7aea894d0..000000000
--- a/org.eclipse.ui.console/icons/full/elcl16/new_con.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/pin.gif b/org.eclipse.ui.console/icons/full/elcl16/pin.gif
deleted file mode 100644
index ec50b70fa..000000000
--- a/org.eclipse.ui.console/icons/full/elcl16/pin.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/elcl16/rem_co.gif b/org.eclipse.ui.console/icons/full/elcl16/rem_co.gif
deleted file mode 100644
index 2cd9c5444..000000000
--- a/org.eclipse.ui.console/icons/full/elcl16/rem_co.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/icons/full/eview16/console_view.gif b/org.eclipse.ui.console/icons/full/eview16/console_view.gif
deleted file mode 100644
index a598f6082..000000000
--- a/org.eclipse.ui.console/icons/full/eview16/console_view.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/ngibmcpy2003.gif b/org.eclipse.ui.console/ngibmcpy2003.gif
deleted file mode 100644
index c786e43e1..000000000
--- a/org.eclipse.ui.console/ngibmcpy2003.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.console/plugin.properties b/org.eclipse.ui.console/plugin.properties
deleted file mode 100644
index 9a93d9b3f..000000000
--- a/org.eclipse.ui.console/plugin.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=Console
-providerName=Eclipse.org
-ConsoleView.name=Console
-
-ViewCommand.consoleView.name=Console
-ViewCommand.consoleView.description=Show the Console view
-
-ConsolePatternMatchListenerName= Console Pattern Match Listeners
-ConsolePageParticipantName= Console Page Participants
-
-ConsoleFactoryName= Console Factories \ No newline at end of file
diff --git a/org.eclipse.ui.console/plugin.xml b/org.eclipse.ui.console/plugin.xml
deleted file mode 100644
index 6ed80d45a..000000000
--- a/org.eclipse.ui.console/plugin.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
- id="org.eclipse.ui.console"
- name="%pluginName"
- version="3.1.0"
- provider-name="%providerName"
- class="org.eclipse.ui.console.ConsolePlugin">
-
- <runtime>
- <library name="console.jar">
- <export name="*"/>
- </library>
- </runtime>
- <requires>
- <import plugin="org.eclipse.ui"/>
- <import plugin="org.eclipse.jface.text"/>
- <import plugin="org.eclipse.ui.workbench.texteditor"/>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.core.expressions"/>
- </requires>
- <extension-point id="consolePatternMatchListeners" name="%ConsolePatternMatchListenerName" schema="schema/consolePatternMatchListeners.exsd"/>
- <extension-point id="consolePageParticipants" name="%ConsolePageParticipantName" schema="schema/consolePageParticipants.exsd"/>
- <extension-point id="consoleFactories" name="%ConsoleFactoryName" schema="schema/consoleFactories.exsd"/>
-
-
- <extension
- point="org.eclipse.ui.views">
- <view
- name="%ConsoleView.name"
- icon="icons/full/cview16/console_view.gif"
- category="org.eclipse.ui"
- class="org.eclipse.ui.internal.console.ConsoleView"
- id="org.eclipse.ui.console.ConsoleView">
- </view>
- </extension>
-<!-- commands and their bindings
-NOTE:
-M1 = CTRL/COMMAND
-M2 = SHIFT
-M3 = ALT
-M4 = Platform-specific fourth key
--->
- <extension
- point="org.eclipse.ui.commands">
- <command
- name="%ViewCommand.consoleView.name"
- description="%ViewCommand.consoleView.description"
- categoryId="org.eclipse.ui.category.views"
- id="org.eclipse.ui.console.ConsoleView">
- </command>
- <keyBinding
- keySequence="M3+M2+Q C"
- contextId="org.eclipse.ui.globalScope"
- commandId="org.eclipse.ui.console.ConsoleView"
- keyConfigurationId="org.eclipse.ui.defaultAcceleratorConfiguration">
- </keyBinding>
- </extension>
- <extension
- point="org.eclipse.core.expressions.propertyTesters">
- <propertyTester
- namespace="org.eclipse.ui.console"
- type="org.eclipse.ui.console.IConsole"
- class="org.eclipse.ui.internal.console.ConsoleTypePropertyTester"
- properties="consoleTypeTest"
- id="org.eclipse.ui.console.ConsoleTypePropertyTester"/>
- </extension>
-
-</plugin>
diff --git a/org.eclipse.ui.console/schema/consoleFactories.exsd b/org.eclipse.ui.console/schema/consoleFactories.exsd
deleted file mode 100644
index 69a51a666..000000000
--- a/org.eclipse.ui.console/schema/consoleFactories.exsd
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.console">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.ui.console" id="consoleFactories" name="Console Factories"/>
- </appInfo>
- <documentation>
- An action to open a console in the console view.
- </documentation>
- </annotation>
-
- <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="consoleFactory"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="consoleFactory">
- <complexType>
- <attribute name="label" type="string" use="required">
- <annotation>
- <documentation>
- action label to appear in menu
- </documentation>
- <appInfo>
- <meta.attribute translatable="true"/>
- </appInfo>
- </annotation>
- </attribute>
- <attribute name="icon" type="string">
- <annotation>
- <documentation>
- optional plug-in relative path to an icon to appear with the action
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- class implementing &lt;code&gt;org.eclipse.ui.console.IConsoleFactory&lt;/code&gt; that will be called when the associated action is invoked
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 3.1
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a console factory extension point:
-&lt;pre&gt;
-&lt;extension point=&quot;org.eclipse.ui.console.consoleFactories&quot;&gt;
- &lt;consoleFactory
- label=&quot;Command Console&quot;
- class=&quot;com.example.CommandConsoleFactory&quot;
- icon=&quot;icons/cmd_console.gif&quot;&gt;
- &lt;/consoleFactory&gt;
-&lt;/extension&gt;
-&lt;/pre&gt;
-This extension will cause an entry to appear in the console view&apos;s &lt;b&gt;Open Console&lt;/b&gt; drop-down menu labelled &lt;b&gt;Command Console&lt;/b&gt; with the specified icon. When the action is invoked by a user, the method &lt;b&gt;openConsole()&lt;/b&gt; on the class &lt;b&gt;com.example.CommandConsoleFactory&lt;/b&gt; will be called. The factory can the decide to create a new console or activate an existing console.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.ui.console.IConsoleFactory&lt;/b&gt;.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- None.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Common Public License v1.0 which
-accompanies this distribution, and is available at
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
- </documentation>
- </annotation>
-
-</schema>
diff --git a/org.eclipse.ui.console/schema/consolePageParticipants.exsd b/org.eclipse.ui.console/schema/consolePageParticipants.exsd
deleted file mode 100644
index 905d92f15..000000000
--- a/org.eclipse.ui.console/schema/consolePageParticipants.exsd
+++ /dev/null
@@ -1,119 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.console">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.ui.console" id="consolePageParticipants" name="Console Page Participants"/>
- </appInfo>
- <documentation>
- This extension point provides a mechanism for contributing a console page participant. The page participant will be able to modify the console&apos;s context menu and tool bar.
- </documentation>
- </annotation>
-
- <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="consolePageParticipant"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- a fully qualified identifier of the target extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- an optional identifier of the extension instance
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- an optional name of the extension instance
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="consolePageParticipant">
- <complexType>
- <sequence>
- <element ref="enablement"/>
- </sequence>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- specifies a unique identifier for this Console Page Participant
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- specifies a fully qualified name of a Java class that implements &lt;code&gt;IConsolePageParticipant&lt;/code&gt;
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 3.1
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a console page participant extension point:
-&lt;pre&gt;
- &lt;extension
- point=&quot;org.eclipse.ui.console.consolePageParticipant&quot;&gt;
- &lt;consolePageParticipant
- class=&quot;com.example.ExamplePageParticipant&quot;
- id=&quot;com.example.ExamplePageParticipant&quot;&gt;
- &lt;enablement&gt;
- &lt;instanceof value=&quot;com.example.ExampleConsole&quot;/&gt;
- &lt;/enablement&gt;
- &lt;/consolePageParticipant&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-In the above example, the contributed console page participant will be used for all consoles of type &quot;com.example.ExampleConsole.&quot;
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.debug.ui.console.IConsolePageParticipantDelegate&lt;/b&gt;.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Common Public License v1.0 which
-accompanies this distribution, and is available at
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
- </documentation>
- </annotation>
-
-</schema>
diff --git a/org.eclipse.ui.console/schema/consolePatternMatchListeners.exsd b/org.eclipse.ui.console/schema/consolePatternMatchListeners.exsd
deleted file mode 100644
index 244f083b2..000000000
--- a/org.eclipse.ui.console/schema/consolePatternMatchListeners.exsd
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.ui.console">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.ui.console" id="consolePatternMatchListeners" name="Console Pattern Match Listeners"/>
- </appInfo>
- <documentation>
- This extension point provides notification when console input or output matches a specified regular expression.
- </documentation>
- </annotation>
-
- <include schemaLocation="schema://org.eclipse.core.expressions/schema/expressionLanguage.exsd"/>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="consolePatternMatchListener" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
- a fully qualified identifier of the target extension point
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
- an optional identifier of the extension instance
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
- an optional name of the extension instance
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="consolePatternMatchListener">
- <complexType>
- <sequence>
- <element ref="enablement"/>
- </sequence>
- <attribute name="id" type="string" use="required">
- <annotation>
- <documentation>
- specifies a unique identifier for this Console Pattern Match Listener
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- specifies a fully qualified name of a Java class that implements &lt;code&gt;IPatternMatchListenerDelegate&lt;/code&gt;
- </documentation>
- </annotation>
- </attribute>
- <attribute name="regex" type="string" use="required">
- <annotation>
- <documentation>
- specifies the regular expression that should be matched
- </documentation>
- </annotation>
- </attribute>
- <attribute name="flags" type="string">
- <annotation>
- <documentation>
- specifies flags to be used when matching the pattern. Acceptable flags are defined in &lt;code&gt;java.util.regex.Pattern&lt;/code&gt; and should be specified as Strings (eg &quot;Pattern.MULTILINE&quot; or &quot;MULTILINE&quot;)
- </documentation>
- </annotation>
- </attribute>
- <attribute name="qualifier" type="string">
- <annotation>
- <documentation>
- a simple regular expression used to identify a line that may contain this pattern match listener&apos;s complete regular expression &lt;code&gt;regex&lt;/code&gt;. When a line is found containing this expression, a search is performed from the beginning of the line for this pattern matcher&apos;s complete &lt;code&gt;regex&lt;/code&gt;. Use of this attribute is optional but can greatly improve performance as lines not containing this expression can be disqualified from the search.
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="since"/>
- </appInfo>
- <documentation>
- 3.1
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- The following is an example of a console pattern match listener extension point:
-&lt;pre&gt;
- &lt;extension
- point=&quot;org.eclipse.ui.console.consolePatternMatchListener&quot;&gt;
- &lt;consolePatternMatchListener
- class=&quot;com.example.ExampleConsolePatternMatcher&quot;
- id=&quot;com.example.ExampleConsolePatternMatcher&quot;
- regex=&quot;.*foo.*&quot;&gt;
- &lt;enablement&gt;
- &lt;instanceof value=&quot;com.example.ExampleConsole&quot;/&gt;
- &lt;/enablement&gt;
- &lt;/consolePatternMatchListener&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
-In the above example, the contributed console pattern matcher will be used for console of type &quot;ExampleConsole.&quot;
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- Value of the attribute &lt;b&gt;class&lt;/b&gt; must be a fully qualified name of a Java class that implements the interface &lt;b&gt;org.eclipse.ui.console.IPatternMatchListenerDelegate&lt;/b&gt;.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- Copyright (c) 2000, 2004 IBM Corporation and others.&lt;br&gt;
-All rights reserved. This program and the accompanying materials are made
-available under the terms of the Common Public License v1.0 which
-accompanies this distribution, and is available at
-&lt;a href=&quot;http://www.eclipse.org/legal/cpl-v10.html&quot;&gt;http://www.eclipse.org/legal/cpl-v10.html&lt;/a&gt;
- </documentation>
- </annotation>
-
-</schema>
diff --git a/org.eclipse.ui.console/scripts/exportplugin.xml b/org.eclipse.ui.console/scripts/exportplugin.xml
deleted file mode 100644
index af246f1b1..000000000
--- a/org.eclipse.ui.console/scripts/exportplugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<!-- Export a jar of .class files for the org.eclipse.ui.console Eclipse plugin
- along with other important plugin files to the "plugin-export" subdirectory
- of the target Eclipse installation -->
-<project name="Export ui.console" default="export" basedir="..">
-
- <!-- Set the timestamp and important properties -->
- <target name="init">
- <tstamp/>
- <property name="destdir" value="../../plugin-export" />
- <property name="dest" value="${destdir}/org.eclipse.ui.console_3.0.0" />
- </target>
-
- <!-- Create the jar of .class files, and copy other important files to export dir -->
- <target name="export" depends="init">
- <mkdir dir="${destdir}" />
- <delete dir="${dest}" />
- <mkdir dir="${dest}" />
- <jar
- jarfile="${dest}/console.jar"
- basedir="bin"
- />
- <!-- Create the source zip -->
- <zip zipfile="${dest}/consolesrc.zip">
- <fileset dir="src"/>
- </zip>
- <copy file="plugin.xml" todir="${dest}"/>
- <copy file="plugin.properties" todir="${dest}"/>
- <copy file=".classpath" todir="${dest}"/>
- <copy file=".options" todir="${dest}"/>
- <copy todir="${dest}/icons">
- <fileset dir="icons" />
- </copy>
- </target>
-
-</project>
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/AbstractConsole.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/AbstractConsole.java
deleted file mode 100644
index 8ad9781b4..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/AbstractConsole.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.ui.internal.console.ConsoleMessages;
-
-/**
- * Common function for consoles.
- * <p>
- * Clients implementing consoles should subclass this class.
- * </p>
- * @since 3.0
- */
-public abstract class AbstractConsole implements IConsole {
-
- // property listeners
- private ListenerList fListeners;
-
- /**
- * Console name
- */
- private String fName = null;
-
- /**
- * Console image descriptor
- */
- private ImageDescriptor fImageDescriptor = null;
-
- /**
- * Console type identifier
- */
- private String fType = null;
-
- /**
- * Used to notify this console of lifecycle methods <code>init()</code>
- * and <code>dispose()</code>.
- */
- class Lifecycle implements IConsoleListener {
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleListener#consolesAdded(org.eclipse.ui.console.IConsole[])
- */
- public void consolesAdded(IConsole[] consoles) {
- for (int i = 0; i < consoles.length; i++) {
- IConsole console = consoles[i];
- if (console == AbstractConsole.this) {
- initialize();
- }
- }
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleListener#consolesRemoved(org.eclipse.ui.console.IConsole[])
- */
- public void consolesRemoved(IConsole[] consoles) {
- for (int i = 0; i < consoles.length; i++) {
- IConsole console = consoles[i];
- if (console == AbstractConsole.this) {
- ConsolePlugin.getDefault().getConsoleManager().removeConsoleListener(this);
- destroy();
- }
- }
- }
- }
-
- /**
- * Notifies listeners of property changes, handling any exceptions
- */
- class PropertyNotifier implements ISafeRunnable {
-
- private IPropertyChangeListener fListener;
- private PropertyChangeEvent fEvent;
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
- */
- public void handleException(Throwable exception) {
- IStatus status = new Status(IStatus.ERROR, ConsolePlugin.getUniqueIdentifier(), IConsoleConstants.INTERNAL_ERROR, ConsoleMessages.getString("AbstractConsole.0"), exception); //$NON-NLS-1$
- ConsolePlugin.log(status);
- }
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#run()
- */
- public void run() throws Exception {
- fListener.propertyChange(fEvent);
- }
-
- /**
- * Notifies listeners of the property change
- *
- * @param event the event that describes the property that has changed
- */
- public void notify(PropertyChangeEvent event) {
- if (fListeners == null) {
- return;
- }
- fEvent = event;
- Object[] copiedListeners= fListeners.getListeners();
- for (int i= 0; i < copiedListeners.length; i++) {
- fListener = (IPropertyChangeListener)copiedListeners[i];
- Platform.run(this);
- }
- fListener = null;
- }
- }
-
- /**
- * Constructs a new console with the given name and image.
- *
- * @param name console name, cannot be <code>null</code>
- * @param imageDescriptor image descriptor, or <code>null</code> if none
- * @param autoLifecycle whether this console's lifecycle methods should be called
- * automatically when it is added (<code>initialize()</code>) and removed
- * (<code>destroy()</code>) from the console manager. When <code>false</code>,
- * clients are responsible for calling the lifecycle methdods.
- * @since 3.1
- */
- public AbstractConsole(String name, ImageDescriptor imageDescriptor, boolean autoLifecycle) {
- this(name, null, imageDescriptor, autoLifecycle);
- }
-
- /**
- * Constructs a new console with the given name, type, image and lifecycle.
- *
- * @param name console name, cannot be <code>null</code>
- * @param consoleType console type identifier or <code>null</code>
- * @param imageDescriptor image descriptor, or <code>null</code> if none
- * @param autoLifecycle whether this console's lifecycle methods should be called
- * automatically when it is added (<code>initialize()</code>) and removed
- * (<code>destroy()</code>) from the console manager. When <code>false</code>,
- * clients are responsible for calling the lifecycle methdods.
- * @since 3.1
- */
- public AbstractConsole(String name, String type, ImageDescriptor imageDescriptor, boolean autoLifecycle) {
- setName(name);
- setType(type);
- setImageDescriptor(imageDescriptor);
- if (autoLifecycle) {
- ConsolePlugin.getDefault().getConsoleManager().addConsoleListener(new Lifecycle());
- }
- }
-
- /**
- * Constructs a new console with the given name and image. The console's lifecycle
- * methods <code>init()</code> and <code>dispose()</code> will be called when the
- * console is added and removed from the console manager.
- *
- * @param name console name, cannot be <code>null</code>
- * @param imageDescriptor image descriptor, or <code>null</code> if none
- */
- public AbstractConsole(String name, ImageDescriptor imageDescriptor) {
- this(name, imageDescriptor, true);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsole#getName()
- */
- public String getName() {
- return fName;
- }
-
- /**
- * Sets the name of this console to the specified value and notifies
- * property listeners of the change.
- *
- * @param name the new name
- */
- protected void setName(String name) {
- String old = fName;
- fName = name;
- firePropertyChange(this, IBasicPropertyConstants.P_TEXT, old, name);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsole#getImageDescriptor()
- */
- public ImageDescriptor getImageDescriptor() {
- return fImageDescriptor;
- }
-
- /**
- * Sets the image descriptor for this console to the specified value and notifies
- * property listeners of the change.
- *
- * @param imageDescriptor the new image descriptor
- */
- protected void setImageDescriptor(ImageDescriptor imageDescriptor) {
- ImageDescriptor old = fImageDescriptor;
- fImageDescriptor =imageDescriptor;
- firePropertyChange(this, IBasicPropertyConstants.P_IMAGE, old, imageDescriptor);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsole#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
- */
- public void addPropertyChangeListener(IPropertyChangeListener listener) {
- if (fListeners == null) {
- fListeners = new ListenerList();
- }
- fListeners.add(listener);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsole#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)
- */
- public void removePropertyChangeListener(IPropertyChangeListener listener) {
- if (fListeners != null) {
- fListeners.remove(listener);
- }
- }
-
- /**
- * Notify all listeners that the given property has changed.
- *
- * @param source the object on which a property has changed
- * @param property identifier of the property that has changed
- * @param oldValue the old value of the property, or <code>null</code>
- * @param newValue the new value of the property, or <code>null</code>
- */
- public void firePropertyChange(Object source, String property, Object oldValue, Object newValue) {
- if (fListeners == null) {
- return;
- }
- PropertyNotifier notifier = new PropertyNotifier();
- notifier.notify(new PropertyChangeEvent(source, property, oldValue, newValue));
- }
-
- /**
- * Initializes this console. This method should only be called by clients managing a
- * console's lifecycle, otherwise this method will be called automatically when this console
- * is added to the console manager. The method is called once to initialize this console,
- * marking the beginning of its lifecycle.
- *
- * @since 3.1
- */
- public final void initialize() {
- init();
- }
-
- /**
- * Called when this console is added to the console manager. Default
- * implementation does nothing. Subclasses may override.
- * <p>
- * Since 3.1, this method is only called automatically if this console was
- * created with an automatic lifecycle.
- * </p>
- */
- protected void init() {
- }
-
- /**
- * Disposes this console. This method should only be called by clients managing a
- * console's lifecycle, otherwise this method will be called automatically when this
- * console is removed from the console manager. The method is called once to dispose
- * this console, afterwhich this console will no longer be used.
- *
- * @since 3.1
- */
- public final void destroy() {
- dispose();
- }
-
- /**
- * Called when this console is removed from the console manager. Default
- * implementation does nothing. Subclasses may override.
- * <p>
- * Since 3.1, this methods is only called automatically if this console was
- * created with an automatic lifecycle.
- * </p>
- */
- protected void dispose() {
- }
-
- /**
- * Shows this console in all console views. This console will be become visible
- * if another console is currently pinned.
- *
- * @since 3.1
- */
- public void activate() {
- ConsolePlugin.getDefault().getConsoleManager().showConsoleView(this);
- }
-
- /**
- * Sets this console's type identifier.
- *
- * @param typeIdentifier the type identifier for this console
- */
- protected void setType(String typeIdentifier) {
- fType = typeIdentifier;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.console.IConsole#getType()
- */
- public String getType() {
- return fType;
- }
-
-} \ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/ConsolePlugin.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/ConsolePlugin.java
deleted file mode 100644
index 5446acf8b..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/ConsolePlugin.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.console;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.internal.console.ConsoleManager;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-/**
- * The console plug-in class.
- *
- * @since 3.0
- */
-
-public class ConsolePlugin extends AbstractUIPlugin {
-
- /**
- * Singleton console manager
- */
- private IConsoleManager fConsoleManager = null;
-
- /**
- * The singleton console plugin instance
- */
- private static ConsolePlugin fgPlugin= null;
-
- /**
- * Unique identifier constant (value <code>"org.eclipse.ui.console"</code>)
- * for the UI Console plug-in.
- */
- private static final String PI_UI_CONSOLE = "org.eclipse.ui.console"; //$NON-NLS-1$
-
- /**
- * Returns the singleton instance of the console plugin.
- */
- public static ConsolePlugin getDefault() {
- return fgPlugin;
- }
-
- public ConsolePlugin() {
- super();
- fgPlugin = this;
- }
-
- /**
- * Convenience method which returns the unique identifier of this plugin.
- */
- public static String getUniqueIdentifier() {
- return PI_UI_CONSOLE;
- }
-
- /**
- * Logs the specified status with this plug-in's log.
- *
- * @param status status to log
- */
- public static void log(IStatus status) {
- getDefault().getLog().log(status);
- }
-
- /**
- * Logs the specified throwable with this plug-in's log.
- *
- * @param t throwable to log
- */
- public static void log(Throwable t) {
- log(newErrorStatus("Error logged from Console plug-in: ", t)); //$NON-NLS-1$
- }
-
- /**
- * Returns a new error status for this plugin with the given message
- * @param message the message to be included in the status
- * @param exception the exception to be included in the status or <code>null</code> if none
- * @return a new error status
- */
- public static IStatus newErrorStatus(String message, Throwable exception) {
- return new Status(IStatus.ERROR, getUniqueIdentifier(), IConsoleConstants.INTERNAL_ERROR, message, exception);
- }
-
- /**
- * Returns the console manager. The manager will be created lazily on
- * the first access.
- *
- * @return IConsoleManager
- */
- public IConsoleManager getConsoleManager() {
- if (fConsoleManager == null) {
- fConsoleManager = new ConsoleManager();
- }
- return fConsoleManager;
- }
-
- /**
- * Returns the standard display to be used. The method first checks, if
- * the thread calling this method has an associated display. If so, this
- * display is returned. Otherwise the method returns the default display.
- */
- public static Display getStandardDisplay() {
- Display display= Display.getCurrent();
- if (display == null) {
- display= Display.getDefault();
- }
- return display;
- }
-
- /**
- * Utility method with conventions
- */
- public static void errorDialog(Shell shell, String title, String message, Throwable t) {
- IStatus status;
- if (t instanceof CoreException) {
- status= ((CoreException)t).getStatus();
- // if the 'message' resource string and the IStatus' message are the same,
- // don't show both in the dialog
- if (status != null && message.equals(status.getMessage())) {
- message= null;
- }
- } else {
- status= new Status(IStatus.ERROR, getUniqueIdentifier(), IConsoleConstants.INTERNAL_ERROR, "Error within Debug UI: ", t); //$NON-NLS-1$
- log(status);
- }
- ErrorDialog.openError(shell, title, message, status);
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsole.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsole.java
deleted file mode 100644
index c818617d2..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsole.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.ui.part.IPageBookViewPage;
-
-/**
- * A console. A console is commonly used to display messages such as the output
- * streams of a system process. A console can be displayed in one or more console
- * views.
- * <p>
- * The console implementations provided by this plug-in are textual
- * (<code>MessageConsole</code> and <code>IOConsole</code>). However a client
- * can provide alternate presentations since a console implementation is responsible
- * for providing is page for the page book views in which consoles are displayed.
- * </p>
- * <p>
- * This interface is not intended to be implemented directly by clients.
- * Subclass <code>AbstractConsole</code> instead.
- * </p>
- * @since 3.0
- */
-public interface IConsole {
-
- /**
- * Returns the name of this console.
- *
- * @return the name of this console
- */
- public String getName();
-
- /**
- * Returns an image descriptor for this console, or <code>null</code>
- * if none.
- *
- * @return an image descriptor for this console, or <code>null</code>
- * if none
- */
- public ImageDescriptor getImageDescriptor();
-
- /**
- * Creates and returns a new page for this console. The page is displayed
- * for this console in the console given view.
- *
- * @param view the view in which the page is to be created
- * @return a page book view page representation of this console
- */
- public IPageBookViewPage createPage(IConsoleView view);
-
- /**
- * Adds a listener for changes to properties of this console.
- * Has no effect if an identical listener is already registered.
- * <p>
- * The changes supported by the console view are as follows:
- * <ul>
- * <li><code>IBasicPropertyConstants.P_TEXT</code> - indicates the name
- * of a console has changed</li>
- * <li><code>IBasicPropertyConstants.P_IMAGE</code> - indicates the image
- * of a console has changed</li>
- * </ul>
- * </p>
- * <p>
- * Consoles may define additional properties as required.
- * </p>
- *
- * @param listener a property change listener
- */
- public void addPropertyChangeListener(IPropertyChangeListener listener);
-
- /**
- * Removes the given property listener from this console page.
- * Has no effect if an identical listener is not alread registered.
- *
- * @param listener a property listener
- */
- public void removePropertyChangeListener(IPropertyChangeListener listener);
-
- /**
- * Returns a unique identifier for this console's type, or <code>null</code>
- * if unspecified.
- *
- * @return a unique identifier for this console's type, or <code>null</code>
- * @since 3.1
- */
- public String getType();
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleConstants.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleConstants.java
deleted file mode 100644
index c34286471..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleConstants.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.console;
-
-/**
- * Constants relating to the console plug-in.
- *
- * @since 3.0
- */
-public interface IConsoleConstants {
-
- /**
- * Console plug-in identifier (value <code>"org.eclipse.ui.console"</code>).
- */
- public static final String PLUGIN_ID = ConsolePlugin.getUniqueIdentifier();
-
- /**
- * Console view identifier (value <code>"org.eclipse.ui.console.ConsoleView"</code>).
- */
- public static final String ID_CONSOLE_VIEW= "org.eclipse.ui.console.ConsoleView"; //$NON-NLS-1$
-
- /**
- * Type identifier for MessageConsole
- * @since 3.1
- */
- public static final String MESSAGE_CONSOLE_TYPE = "org.eclipse.ui.MessageConsole"; //$NON-NLS-1$
-
- /**
- * The name of the font to use for the Console (value <code>"org.eclipse.ui.console.ConsoleFont"</code>).
- *
- * @deprecated When a console is created, its font is set to the default text font as specified
- * by <code>JFaveResources.TEXT_FONT</code>. Clients must provide their own infrastructure to
- * manage console specific fonts.
- */
- public static final String CONSOLE_FONT= "org.eclipse.ui.console.ConsoleFont"; //$NON-NLS-1$
-
- /**
- * Menu group identifier for the console view context menu and toolbar, for actions pertaining to
- * launching (value <code>"launchGroup"</code>).
- */
- public static final String LAUNCH_GROUP = "launchGroup"; //$NON-NLS-1$
-
- /**
- * Menu group identifier for the console view context menu and toolbar, for actions pertaining to
- * console output. (value<code>"outputGroup"</code>).
- */
- public static final String OUTPUT_GROUP = "outputGroup"; //$NON-NLS-1$
-
- /**
- * Console view image identifier.
- */
- public static final String IMG_VIEW_CONSOLE= "IMG_VIEW_CONSOLE"; //$NON-NLS-1$
-
- /**
- * Clear action image identifier.
- */
- public static final String IMG_LCL_CLEAR= "IMG_LCL_CLEAR"; //$NON-NLS-1$
-
- /**
- * Status code indicating an unexpected internal error.
- */
- public static final int INTERNAL_ERROR = 120;
-
- /**
- * Console pattern match listeners extension point identifier
- * (value <code>"consolePatternMatchListeners"</code>).
- *
- * @since 3.1
- */
- public static final String EXTENSION_POINT_CONSOLE_PATTERN_MATCH_LISTENERS = "consolePatternMatchListeners"; //$NON-NLS-1$
-
- /**
- * Console page participants extension point identifier
- * (value <code>"consolePageParticipants"</code>).
- *
- * @since 3.1
- */
- public static final String EXTENSION_POINT_CONSOLE_PAGE_PARTICIPANTS = "consolePageParticipants"; //$NON-NLS-1$
-
- /**
- * Console factories extension point identifier
- * (value <code>"consoleFactories"</code>).
- *
- * @since 3.1
- */
- public static final String EXTENSION_POINT_CONSOLE_FACTORIES = "consoleFactories"; //$NON-NLS-1$
-
- /**
- * Property constant indicating a console's font has changed.
- *
- * @since 3.1
- */
- public static final String P_FONT = ConsolePlugin.getUniqueIdentifier() + ".P_FONT"; //$NON-NLS-1$
-
- /**
- * Property constant indicating that a font style has changed
- *
- * @since 3.1
- */
- public static final String P_FONT_STYLE = ConsolePlugin.getUniqueIdentifier() + ".P_FONT_STYLE"; //$NON-NLS-1$
-
- /**
- * Property constant indicating the color of a stream has changed.
- *
- * @since 3.1
- */
- public static final String P_STREAM_COLOR = ConsolePlugin.getUniqueIdentifier() + ".P_STREAM_COLOR"; //$NON-NLS-1$
-
- /**
- * Property constant indicating tab size has changed
- *
- * @since 3.1
- */
- public static final String P_TAB_SIZE = ConsolePlugin.getUniqueIdentifier() + ".P_TAB_SIZE"; //$NON-NLS-1$
-
- /**
- * Property constant indicating the width of a fixed width console has changed.
- *
- * @since 3.1
- */
- public static final String P_CONSOLE_WIDTH = ConsolePlugin.getUniqueIdentifier() + ".P_CONSOLE_WIDTH"; //$NON-NLS-1$
-
- /**
- * Property constant indicating that all streams connected to this console have been closed
- * and that all queued output has been processed.
- *
- * @since 3.1
- */
- public static final String P_CONSOLE_OUTPUT_COMPLETE = ConsolePlugin.getUniqueIdentifier() + ".P_CONSOLE_STREAMS_CLOSED"; //$NON-NLS-1$
-
- /**
- * Property constant indicating that the auto scrolling should be turned on (or off)
- *
- * @since 3.1
- */
- public static final String P_AUTO_SCROLL = ConsolePlugin.getUniqueIdentifier() + ".P_AUTO_SCROLL"; //$NON-NLS-1$
-
- /**
- * The default tab size
- */
- public static final int DEFAULT_TAB_SIZE = 8;
-
- public static final String P_CONSOLE_HYPERLINK_ADDED = ConsolePlugin.getUniqueIdentifier() + ".P_CONSOLE_HYPERLINK_ADDED"; //$NON-NLS-1$
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleDocumentPartitioner.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleDocumentPartitioner.java
deleted file mode 100644
index c0e17c761..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleDocumentPartitioner.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.console;
-
-import org.eclipse.jface.text.IDocumentPartitioner;
-import org.eclipse.swt.custom.StyleRange;
-
-public interface IConsoleDocumentPartitioner extends IDocumentPartitioner {
- public void clearBuffer();
- public boolean isReadOnly(int offset);
- public StyleRange[] getStyleRanges(int offset, int length);
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleFactory.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleFactory.java
deleted file mode 100644
index 50dda286b..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleFactory.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-/**
- * A console factory extension is responsible for opening a console in the console view.
- * Extensions appear on a menu in the console view, and their <code>openConsole</code>
- * method is called when the action is invoked. Implementations may choose to open a new
- * cosnole or activate an existing console. The extension point used to contribute a
- * console factory is <code>org.eclipse.ui.console.consoleFactories</code>.
- * <p>
- * Following is an example console factory extension.
- * </pre>
- * &lt;extension point="org.eclipse.ui.console.consoleFactories"&gt;
- * &lt;consoleFactory
- * label="Command Console"
- * icon="icons\cmd_console.gif"
- * class="com.example.CommandConsoleFactory"&gt;
- * &lt;/consoleFactory&gt;
- * &lt;/extension&gt;
- * </pre>
- * An action appears in the console view's 'Open Console' drop-down menu with the
- * corresponding <code>label</code> and option <code>icon</code>. When the action
- * is invoked, the specified <code>class</code> is instantiated and called to
- * open a console, via the method <code>openConsole()</code>.
- * </p>
- * <p>
- * Clients providing console factory extensions are intended to implement
- * this interface.
- * </p>
- * @since 3.1
- */
-public interface IConsoleFactory {
- /**
- * Opens a console in the console view. Implementations may create a new
- * console or activate an existing console.
- */
- public void openConsole();
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleListener.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleListener.java
deleted file mode 100644
index 7d22c8a21..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleListener.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-/**
- * A console listener is notified when consoles are added or removed from
- * the console manager.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IConsoleListener {
-
- /**
- * Notification the given consoles have been added to the console
- * manager.
- *
- * @param consoles added consoles
- */
- public void consolesAdded(IConsole[] consoles);
-
- /**
- * Notification the given consoles have been removed from the
- * console manager.
- *
- * @param consoles removed consoles
- */
- public void consolesRemoved(IConsole[] consoles);
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java
deleted file mode 100644
index bb329d22d..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleManager.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-/**
- * The console manager manages registered consoles.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IConsoleManager {
-
- /**
- * Registers the given listener for console notifications. Has
- * no effect if an identical listener is already registered.
- *
- * @param listener listener to register
- */
- public void addConsoleListener(IConsoleListener listener);
-
- /**
- * Deregisters the given listener for console notifications. Has
- * no effect if an identical listener is not already registered.
- *
- * @param listener listener to deregister
- */
- public void removeConsoleListener(IConsoleListener listener);
-
- /**
- * Adds the given consoles to the console manager. Has no effect for
- * equivalent consoles already registered. The consoles will be added
- * to any existing console views.
- *
- * @param consoles consoles to add
- */
- public void addConsoles(IConsole[] consoles);
-
- /**
- * Removes the given consoles from the console manager. If the consoles are
- * being displayed in any console views, the associated pages will be removed
- * and disposed.
- *
- * @param consoles consoles to remove
- */
- public void removeConsoles(IConsole[] consoles);
-
- /**
- * Returns a collection of consoles registered with the console manager.
- *
- * @return a collection of consoles registered with the console manager
- */
- public IConsole[] getConsoles();
-
- /**
- * Opens the console view and displays given the console.
- * If the view is already open, it is brought to the front unless
- * the view is pinned on a console other than the given console.
- * Has no effect if the given console is not currently registered.
- *
- * @param console console to display
- */
- public void showConsoleView(IConsole console);
-
- /**
- * Warns that the content of the given console has changed in
- * all console views. Has no effect if the given console is not
- * currently registered.
- *
- * @param console the console that has changed
- */
- public void warnOfContentChange(IConsole console);
-
- /**
- * Returns a collection of pattern match listeners which are enabled for
- * the given console. The pattern match listeners are new instances, intended
- * to be used in a new console. No methods on the participants have been
- * called. Clients are responsible for connecting to and disconnecting from
- * the pattern match listeners.
- *
- * @param console the console for which pattern match listeners are requested
- * @return a collection of new pattern match listeners
- * @since 3.1
- */
- public IPatternMatchListener[] getPatternMatchListeners(IConsole console);
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsolePageParticipant.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsolePageParticipant.java
deleted file mode 100644
index 33ecf2a83..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsolePageParticipant.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.part.IPageBookViewPage;
-
-/**
- * A console page participant contributes to the context menu and toolbar for a
- * console page. A page participant can also provide adapters for the page.
- * Participants are contributed via the
- * <code>org.eclispe.ui.console.consolePageParticipants</code> extension point.
- * <p>
- * Following is an example extension definition.
- * <pre>
- * </pre>
- * &lt;extension point="org.eclipse.ui.console.consolePageParticipants"&gt;
- * &lt;consolePageParticipant
- * id="com.example.ExamplePageParticipant"
- * class="com.example.ExamplePageParticipant"&gt;
- * &lt;/consolePageParticipant&gt;
- * &lt;/extension&gt;
- * </p>
- * The example page participant is contributed to all console pages. An optional
- * <code>enablement</code> attriubte may be specified to control which consoles
- * a page participant is applicable to.
- * <p>
- * Clients contributing console page participant extensions are intended to
- * implement this interface.
- * </p>
- * @since 3.1
- */
-public interface IConsolePageParticipant extends IAdaptable {
- /**
- * Called during page initialization. Marks the start of this
- * page participant's lifecycle.
- *
- * @param page the page corresponsing to the given console
- * @param console the console for which a page has been created
- */
- public void init(IPageBookViewPage page, IConsole console);
-
- /**
- * Disposes this page participant. Marks the end of this
- * page participant's lifecycle.
- */
- public void dispose();
-
- /**
- * Notification this participant's page has been activated.
- */
- public void activated();
-
- /**
- * Notification this participant's page has been deactivated.
- */
- public void deactivated();
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.java
deleted file mode 100644
index f3fc4daf2..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IConsoleView.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.ui.IViewPart;
-
-/**
- * A view that displays consoles registered with the console manager.
- * <p>
- * Clients are not intended to implement this interface.
- * </p>
- * @since 3.0
- */
-public interface IConsoleView extends IViewPart {
-
- /**
- * Displays the page for the given console in this console view.
- * Has no effect if this console view has a pinned console.
- *
- * @param console console to display, cannot be <code>null</code>
- */
- public void display(IConsole console);
-
- /**
- * Displays and pins the given console in this console view. No
- * other console can be displayed until this console view is
- * un-pinned. Specifying <code>null</code> un-pins this console
- *
- * @param console console to pin, or <code>null</code> to un-pin
- */
- public void pin(IConsole console);
-
- /**
- * Returns whether this console view is currently pinned to a
- * specific console.
- *
- * @return whether this console view is currently pinned to a
- * specific console
- */
- public boolean isPinned();
-
- /**
- * Returns the console currently being displayed, or <code>null</code>
- * if none
- *
- * @return the console currently being displayed, or <code>null</code>
- * if none
- */
- public IConsole getConsole();
-
- /**
- * Warns that the content of the given console has changed.
- *
- * @param console the console that has changed
- */
- public void warnOfContentChange(IConsole console);
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IHyperlink.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IHyperlink.java
deleted file mode 100644
index 0c3b999f3..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IHyperlink.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-/**
- * A hyperlink in a console. Link behavior is implementation dependent.
- * <p>
- * Clients may implement this interface.
- * </p>
- * @since 3.1
- */
-public interface IHyperlink {
-
- /**
- * Notification that the mouse has entered this link's region.
- */
- public void linkEntered();
-
- /**
- * Notification that the mouse has exited this link's region
- */
- public void linkExited();
-
- /**
- * Notification that this link has been activated. Performs
- * context specific linking.
- */
- public void linkActivated();
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java
deleted file mode 100644
index 610ffd149..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.console;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.WorkbenchEncoding;
-import org.eclipse.ui.internal.console.IOConsolePage;
-import org.eclipse.ui.internal.console.IOConsolePartitioner;
-import org.eclipse.ui.part.IPageBookViewPage;
-
-/**
- * A console that displays text, accepts keyboard input from users,
- * provides hyperlinks.
- * The console may have multiple output streams connected to it and
- * provides one input stream connected to the keyboard.
- * <p>
- * Clients may instantiate and subclass this class.
- * </p>
- * @since 3.1
- */
-public class IOConsole extends TextConsole {
- /**
- * The document partitioner
- */
- private IOConsolePartitioner partitioner;
-
- /**
- * The stream from which user input may be read
- */
- private IOConsoleInputStream inputStream;
-
- /**
- * A collection of open streams connected to this console.
- */
- private List openStreams;
-
- /**
- * The encoding used to for displaying console output.
- */
- private String fEncoding = WorkbenchEncoding.getWorkbenchDefaultEncoding();
-
-
- /**
- * Constructs a console with the given name, type, image, and the workbench's
- * default encoding.
- *
- * @param name name to display for this console
- * @param consoleType console type identifier or <code>null</code>
- * @param imageDescriptor image to display for this console or <code>null</code>
- * @param autoLifecycle whether lifecycle methods should be called automatically
- * when this console is added/removed from the console manager
- */
- public IOConsole(String name, String consoleType, ImageDescriptor imageDescriptor, boolean autoLifecycle) {
- this(name, consoleType, imageDescriptor, null, autoLifecycle);
- }
-
- /**
- * Constructs a console with the given name, type, image, encoding and lifecycle.
- *
- * @param name name to display for this console
- * @param consoleType console type identifier or <code>null</code>
- * @param imageDescriptor image to display for this console or <code>null</code>
- * @param autoLifecycle whether lifecycle methods should be called automatically
- * when this console is added/removed from the console manager
- */
- public IOConsole(String name, String consoleType, ImageDescriptor imageDescriptor, String encoding, boolean autoLifecycle) {
- super(name, consoleType, imageDescriptor, autoLifecycle);
- if (encoding != null) {
- fEncoding = encoding;
- }
- openStreams = new ArrayList();
- inputStream = new IOConsoleInputStream(this);
- openStreams.add(inputStream);
- partitioner = new IOConsolePartitioner(inputStream, this);
- partitioner.connect(getDocument());
- }
-
- /**
- * Constructs a console with the given name, type, and image. Lifecycle methods
- * will be called when this console is added/removed from the console manager.
- *
- * @param name name to display for this console
- * @param consoleType console type identifier or <code>null</code>
- * @param imageDescriptor image to display for this console or <code>null</code>
- */
- public IOConsole(String name, String consoleType, ImageDescriptor imageDescriptor) {
- this(name, consoleType, imageDescriptor, true);
- }
-
- /**
- * Constructs a console with the given name and image. Lifecycle methods
- * will be called when this console is added/removed from the console manager.
- * This console will have an unspecified (<code>null</code>) type.
- *
- * @param name name to display for this console
- * @param imageDescriptor image to display for this console or <code>null</code>
- */
- public IOConsole(String name, ImageDescriptor imageDescriptor) {
- this(name, null, imageDescriptor);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsole#createPage(org.eclipse.ui.console.IConsoleView)
- */
- public IPageBookViewPage createPage(IConsoleView view) {
- return new IOConsolePage(this, view);
- }
-
- /**
- * Creates and returns a new output stream which may be used to write to this console.
- * A console may be connected to more than one output stream at once. Clients are
- * responsible for closing any output streams created on this console.
- *
- * @return a new output stream connected to this console
- */
- public IOConsoleOutputStream newOutputStream() {
- IOConsoleOutputStream outputStream = new IOConsoleOutputStream(this);
- outputStream.setEncoding(fEncoding);
- synchronized(openStreams) {
- openStreams.add(outputStream);
- }
- return outputStream;
- }
-
- /**
- * Returns the input stream connected to the keyboard.
- *
- * @return the input stream connected to the keyboard.
- */
- public IOConsoleInputStream getInputStream() {
- return inputStream;
- }
-
- /**
- * Returns this console's document partitioner.
- *
- * @return this console's document partitioner
- */
- protected IConsoleDocumentPartitioner getPartitioner() {
- return partitioner;
- }
-
- /**
- * Returns the maximum number of characters that the console will display at
- * once. This is analagous to the size of the text buffer this console
- * maintains.
- *
- * @return the maximum number of characters that the console will display
- */
- public int getHighWaterMark() {
- return partitioner.getHighWaterMark();
- }
-
- /**
- * Returns the number of characters that will remain in this console
- * when its high water mark is exceeded.
- *
- * @return the number of characters that will remain in this console
- * when its high water mark is exceeded
- */
- public int getLowWaterMark() {
- return partitioner.getLowWaterMark();
- }
-
- /**
- * Sets the text buffer size for this console. The high water mark indicates
- * the maximum number of characters stored in the buffer. The low water mark
- * indicates the number of characters remaining in the buffer when the high
- * water mark is exceeded.
- *
- * @param low the number of characters remaining in the buffer when the high
- * water mark is exceeded (if -1 the console does not limit output)
- * @param high the maximum number of characters this console will cache in
- * its text buffer (if -1 the console does not limit output)
- * @exception IllegalArgumentException if low >= high
- */
- public void setWaterMarks(int low, int high) {
- if (low >= high) {
- throw new IllegalArgumentException("High water mark must be greater than low water mark"); //$NON-NLS-1$
- }
- partitioner.setWaterMarks(low, high);
- }
-
- /**
- * Check if all streams connected to this console are closed. If so,
- * notifiy the partitioner that this console is finished.
- */
- private void checkFinished() {
- if (openStreams.isEmpty()) {
- partitioner.streamsClosed();
- }
- }
-
- /**
- * Notification that an output stream connected to this console has been closed.
- *
- * @param stream stream that closed
- */
- void streamClosed(IOConsoleOutputStream stream) {
- synchronized (openStreams) {
- openStreams.remove(stream);
- checkFinished();
- }
- }
-
- /**
- * Notification that the input stream connected to this console has been closed.
- *
- * @param stream stream that closed
- */
- void streamClosed(IOConsoleInputStream stream) {
- synchronized (openStreams) {
- openStreams.remove(stream);
- checkFinished();
- }
- }
-
-
-
- /**
- * Disposes this console.
- */
- protected void dispose() {
- super.dispose();
- partitioner.disconnect();
- try {
- inputStream.close();
- } catch (IOException ioe) {
- }
- inputStream = null;
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleInputStream.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleInputStream.java
deleted file mode 100644
index c11fb1e4e..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleInputStream.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Color;
-
-/**
- * InputStream used to read input from an IOConsole.
- * This stream will buffer input that it receives from the console
- * until it has been read.
- *
- * @since 3.1
- *
- */
-public class IOConsoleInputStream extends InputStream {
- /**
- * Buffer to hold data from console until it is read.
- */
- private byte[] input = new byte[1024*2];
-
- /**
- * Location in the buffer that the next byte of data from the
- * console should be stored.
- */
- private int inPointer = 0;
-
- /**
- * Location in the buffer that the next byte of data read from
- * this stream should come from.
- */
- private int outPointer = 0;
-
- /**
- * The number of bytes of real data currently in the buffer.
- */
- private int size = 0;
-
- /**
- * Flag to indicate that EOF has been sent already.
- */
- private boolean eofSent = false;
-
- /**
- * Flag to indicate that the stream has been closed.
- */
- private boolean closed = false;
-
- /**
- * The console that this stream is connected to.
- */
- private IOConsole console;
-
- /**
- * The color used to display input in the console.
- */
- private Color color;
-
- /**
- * The font stye used to decorate input in the console.
- */
- private int fontStyle = SWT.NORMAL;
-
-
- IOConsoleInputStream(IOConsole console) {
- this.console = console;
- }
-
- /*
- * (non-Javadoc)
- * @see java.io.InputStream#read(byte[], int, int)
- */
- public synchronized int read(byte[] b, int off, int len) throws IOException {
- waitForData();
- if (available() == -1) {
- return -1;
- }
-
- int toCopy = Math.min(len, size);
- if(input.length-outPointer > toCopy) {
- System.arraycopy(input, outPointer, b, off, toCopy);
- outPointer += toCopy;
- size -= toCopy;
- } else {
- int bytesToEnd = input.length-outPointer;
- System.arraycopy(input, outPointer, b, off, bytesToEnd);
- System.arraycopy(input, 0, b, off+bytesToEnd, toCopy-bytesToEnd);
- outPointer = toCopy-bytesToEnd;
- size -=toCopy;
- }
- return toCopy;
- }
-
- /*
- * (non-Javadoc)
- * @see java.io.InputStream#read(byte[])
- */
- public int read(byte[] b) throws IOException {
- return read(b, 0, b.length);
- }
-
- /*
- * (non-Javadoc)
- * @see java.io.InputStream#read()
- */
- public synchronized int read() throws IOException {
- waitForData();
- if (available() == -1) {
- return -1;
- }
-
- byte b = input[outPointer];
- outPointer++;
- if (outPointer == input.length) {
- outPointer = 0;
- }
- return b;
- }
-
- /**
- * blocks until data is available to be read.
- * Ensure that the monitor for this object is obtained before
- * calling this method.
- */
- private void waitForData() {
- while (size == 0 && !closed) {
- try {
- wait();
- } catch (InterruptedException e) {
- }
- }
- }
-
- /**
- * appends data to this input stream's buffer
- * @param text The data to append to the buffer.
- */
- public synchronized void appendData(String text) {
- byte[] newData = text.getBytes();
- while(input.length-size < newData.length) {
- growArray();
- }
-
- if (size == 0) { //inPointer == outPointer
- System.arraycopy(newData, 0, input, 0, newData.length);
- inPointer = newData.length;
- size = newData.length;
- outPointer = 0;
- } else if (inPointer < outPointer || input.length - inPointer > newData.length) {
- System.arraycopy(newData, 0, input, inPointer, newData.length);
- inPointer += newData.length;
- size += newData.length;
- } else {
- System.arraycopy(newData, 0, input, inPointer, input.length-inPointer);
- System.arraycopy(newData, input.length-inPointer, input, 0, newData.length-(input.length-inPointer));
- inPointer = newData.length-(input.length-inPointer);
- size += newData.length;
- }
-
- if (inPointer == input.length) {
- inPointer = 0;
- }
- notifyAll();
- }
-
- /**
- * Enlarges the buffer.
- */
- private void growArray() {
- byte[] newInput = new byte[input.length+1024];
- if (outPointer < inPointer) {
- System.arraycopy(input, outPointer, newInput, 0, size);
- } else {
- System.arraycopy(input, outPointer, newInput, 0, input.length-outPointer);
- System.arraycopy(input, 0, newInput, input.length-outPointer, inPointer);
- }
- outPointer = 0;
- inPointer = size;
- input = newInput;
- newInput = null;
- }
-
- /**
- * Returns this console's font style.
- * @return The font style used to decorate input in the associated console
- */
- public int getFontStyle() {
- return fontStyle;
- }
-
- /**
- * Sets the font style
- * @param newFontStyle The font style to be used to decorate input in the associated console
- */
- public void setFontStyle(int newFontStyle) {
- if (newFontStyle != fontStyle) {
- int old = fontStyle;
- fontStyle = newFontStyle;
- console.firePropertyChange(this, IConsoleConstants.P_FONT_STYLE, new Integer(old), new Integer(fontStyle));
- }
- }
-
- /**
- * Sets the color to used to decorate input in the associated console.
- * @param newColor The color to used to decorate input in the associated console.
- */
- public void setColor(Color newColor) {
- Color old = color;
- if (old == null || !old.equals(newColor)) {
- color = newColor;
- console.firePropertyChange(this, IConsoleConstants.P_STREAM_COLOR, old, newColor);
- }
- }
-
- /**
- * Returns the color used to decorate input in the associated console
- * @return The color used to decorate input in the associated console
- */
- public Color getColor() {
- return color;
- }
-
- /* (non-Javadoc)
- * @see java.io.InputStream#available()
- */
- public int available() throws IOException {
- if (closed && eofSent) {
- throw new IOException("Input Stream Closed"); //$NON-NLS-1$
- } else if (size == 0) {
- if (!eofSent) {
- eofSent = true;
- return -1;
- }
- throw new IOException("Input Stream Closed"); //$NON-NLS-1$
- }
-
- return size;
- }
-
- /* (non-Javadoc)
- * @see java.io.InputStream#close()
- */
- public synchronized void close() throws IOException {
- if(closed) {
- throw new IOException("Input Stream Closed"); //$NON-NLS-1$
- }
- closed = true;
- notifyAll();
- console.streamClosed(this);
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleOutputStream.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleOutputStream.java
deleted file mode 100644
index 3363aa1af..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsoleOutputStream.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.ui.WorkbenchEncoding;
-import org.eclipse.ui.internal.console.IOConsolePartitioner;
-
-/**
- * OutputStream used to write to an IOConsole.
- *
- * @since 3.1
- */
-public class IOConsoleOutputStream extends OutputStream {
- /**
- * Flag indicating whether this stream has been closed.
- */
- private boolean closed = false;
-
- /**
- * The console's document partitioner.
- */
- private IOConsolePartitioner partitioner;
-
- /**
- * The console this stream is attached to.
- */
- private IOConsole console;
-
- /**
- * Flag indicating that the console should be activated when data
- * is written to this stream.
- */
- private boolean activateOnWrite = false;
-
- /**
- * The color used to decorate data written to this stream.
- */
- private Color color;
-
- /**
- * The font style used to decorate data written to this stream.
- */
- private int fontStyle;
-
- private String fEncoding;
- private String fDefaultEncoding = WorkbenchEncoding.getWorkbenchDefaultEncoding();
-
- IOConsoleOutputStream(IOConsole console) {
- this.console = console;
- this.partitioner = (IOConsolePartitioner) console.getPartitioner();
- }
-
- /**
- * Returns the font style used to decorate data written to this stream
- * @return The font style used to decorate data written to this stream
- */
- public int getFontStyle() {
- return fontStyle;
- }
-
- /**
- * Sets the font style to be used to decorate data written to this stream
- * @param newFontStyle The font style to be used to decorate data written to this stream
- */
- public void setFontStyle(int newFontStyle) {
- if (newFontStyle != fontStyle) {
- int old = fontStyle;
- fontStyle = newFontStyle;
- console.firePropertyChange(this, IConsoleConstants.P_FONT_STYLE, new Integer(old), new Integer(fontStyle));
- }
- }
-
- /**
- * Returns the value of activateOnWrite
- * @return true if console is activated automatically when data is written to this stream, false if the
- * console is not activated by data being written to this stream.
- */
- public boolean isActivateOnWrite() {
- return activateOnWrite;
- }
-
- /**
- * Sets the value of activateOnWrite
- * @param activateOnWrite true if the console should be activated when data is written to this
- * stream, false if it should not be activated.
- */
- public void setActivateOnWrite(boolean activateOnWrite) {
- this.activateOnWrite = activateOnWrite;
- }
-
- /**
- * Sets the color of this message stream
- *
- * @param color color of this message stream, possibly <code>null</code>
- */
- public void setColor(Color newColor) {
- Color old = color;
- if (old == null || !old.equals(newColor)) {
- color = newColor;
- console.firePropertyChange(this, IConsoleConstants.P_STREAM_COLOR, old, newColor);
- }
- }
-
- /**
- * Returns the color of this message stream, or <code>null</code>
- * if default.
- *
- * @return the color of this message stream, or <code>null</code>
- */
- public Color getColor() {
- return color;
- }
-
-
- /**
- * Returns the console this stream is connected to.
- *
- * @return the console this stream is connected to
- */
- public Object getConsole() {
- return console;
- }
-
- /*
- * (non-Javadoc)
- * @see java.io.OutputStream#close()
- */
- public synchronized void close() throws IOException {
- if(closed) {
- throw new IOException("Output Stream is closed"); //$NON-NLS-1$
- }
- console.streamClosed(this);
- closed = true;
- partitioner = null;
- }
-
- /*
- * (non-Javadoc)
- * @see java.io.OutputStream#flush()
- */
- public void flush() throws IOException {
- if(closed) {
- throw new IOException("Output Stream is closed"); //$NON-NLS-1$
- }
- }
-
- /*
- * (non-Javadoc)
- * @see java.io.OutputStream#write(byte[], int, int)
- */
- public void write(byte[] b, int off, int len) throws IOException {
- if (fEncoding!=null && !fEncoding.equals(fDefaultEncoding)) {
- encodedWrite(new String(b, off, len, fEncoding));
- } else {
- encodedWrite(new String(b, off, len));
- }
- }
- /*
- * (non-Javadoc)
- * @see java.io.OutputStream#write(byte[])
- */
- public void write(byte[] b) throws IOException {
- write(b, 0, b.length);
- }
- /*
- * (non-Javadoc)
- * @see java.io.OutputStream#write(int)
- */
- public void write(int b) throws IOException {
- write(new byte[] {(byte)b}, 0, 1);
- }
-
- /**
- * Writes a String to the attached console.
- * @param str The string to write to the attached console.
- * @throws IOException if the stream is closed.
- */
- public synchronized void write(String str) throws IOException {
- if (fEncoding!=null && !fEncoding.equals(fDefaultEncoding)) {
- byte[] defaultBytes = str.getBytes();
- str = new String(defaultBytes, fEncoding);
- }
- encodedWrite(str);
- }
-
- private void encodedWrite(String encodedString) throws IOException {
- if(closed) {
- throw new IOException("Output Stream is closed"); //$NON-NLS-1$
- }
- partitioner.streamAppended(this, encodedString);
- if (activateOnWrite) {
- console.activate();
- } else {
- ConsolePlugin.getDefault().getConsoleManager().warnOfContentChange(console);
- }
- }
-
- /**
- * @param encoding
- */
- public void setEncoding(String encoding) {
- fEncoding = encoding;
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListener.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListener.java
deleted file mode 100644
index 927575a77..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListener.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-/**
- * A pattern match listener is registered with an <code>IOConsole</code>,
- * and is notified when its pattern has been matched to the contents in
- * that console.
- *
- * @see org.eclipse.ui.console.IOConsole
- * @since 3.1
- */
-public interface IPatternMatchListener {
- /**
- * Returns the pattern to be used for matching. The pattern is
- * a string representing a regular expression.
- *
- * @return the regular expression to be used for matching
- */
- public String getPattern();
-
- /**
- * Returns an int to be used by <code>Pattern.compile(String regex, int flags)</code>
- * @return
- */
- public int getCompilerFlags();
-
- /**
- * Returns a simple regular expression used to identify lines that may
- * match this pattern matcher's complete pattern, or <code>null</code>.
- * Use of this attribute can improve performance by disqualifying lines
- * from the search. When a line is found containing a match for this expression,
- * the line is searched from the beginning for this pattern matcher's
- * complete pattern.
- *
- * @return a simple regular expression used to identify lines that may
- * match this pattern matcher's complete pattern, or <code>null</code>
- */
- public String getLineQualifier();
-
- /**
- * Notification that a match has been found.
- *
- * @param event event describing where the match was found
- */
-
- public void matchFound(PatternMatchEvent event);
-
- /**
- * Connects this PatternMatchListener to the console
- * @param console The console this Listener is attached to
- */
- public void connect(IConsole console);
-
- /**
- * Disconnects this PatternMatchListener from the console
- */
- public void disconnect();
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListenerDelegate.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListenerDelegate.java
deleted file mode 100644
index ab8d7863c..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IPatternMatchListenerDelegate.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-/**
- * @see org.eclipse.ui.console.IOConsole
- * @since 3.1
- */
-public interface IPatternMatchListenerDelegate {
- /**
- * Connects the delegate to the console being monitored
- * @param console the console being monitored
- */
- public void connect(IConsole console);
-
- /**
- * Disconnects the delegate from the console
- */
- public void disconnect();
-
- /**
- * Notification that a match has been found.
- *
- * @param event event describing where the match was found
- */
- public void matchFound(PatternMatchEvent event);
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsole.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsole.java
deleted file mode 100644
index f0f1c78a7..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsole.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.internal.console.IOConsolePage;
-import org.eclipse.ui.part.IPageBookViewPage;
-
-/**
- * A console that displays messages. A message console may have one or
- * more streams connected to it (<code>MessageConsoleStream</code>).
- * Text written to streams is buffered and processed in a Job by the
- * console's document partitioner.
- * <p>
- * Clients may instantiate this class.
- * </p>
- * @since 3.0
- */
-public class MessageConsole extends IOConsole {
-
- public MessageConsole(String name, ImageDescriptor imageDescriptor) {
- this(name, imageDescriptor, true);
- }
-
- /**
- * Constructs a message console.
- *
- * @param name console name
- * @param imageDescriptor console image descriptor
- * @param autoLifecycle whether lifecycle methods should be called automatically
- * when added and removed from the console manager
- * @since 3.1
- */
- public MessageConsole(String name, ImageDescriptor imageDescriptor, boolean autoLifecycle) {
- super(name, IConsoleConstants.MESSAGE_CONSOLE_TYPE, imageDescriptor, autoLifecycle);
- }
-
- /**
- * Returns a new message stream connected to this console.
- *
- * @return a new message stream connected to this console
- */
- public MessageConsoleStream newMessageStream() {
- return new MessageConsoleStream(this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsole#createPage(org.eclipse.ui.console.IConsoleView)
- */
- public IPageBookViewPage createPage(IConsoleView view) {
- IOConsolePage page = (IOConsolePage) super.createPage(view);
- page.setReadOnly();
- return page;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IOConsole#getInputStream()
- */
- public IOConsoleInputStream getInputStream() {
- throw new UnsupportedOperationException("Message Console does not support user input"); //$NON-NLS-1$
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsoleStream.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsoleStream.java
deleted file mode 100644
index 83b0195ba..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/MessageConsoleStream.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import java.io.IOException;
-
-/**
- * Used to write messages to a message console. A message console may have more
- * than one stream connected to it. Each stream may be displayed in a different
- * color.
- *
- * @since 3.0
- */
-public class MessageConsoleStream extends IOConsoleOutputStream {
- /**
- * Constructs a new stream connected to the given console.
- *
- * @param console the console to write messages to
- */
- public MessageConsoleStream(MessageConsole console) {
- super(console);
- }
-
- /**
- * Appends the specified message to this stream.
- *
- * @param message message to append
- */
- public void print(String message) {
- try {
- write(message);
- } catch (IOException e) {
- ConsolePlugin.log(e);
- }
- }
-
-
- /**
- * Appends a line separator string to this stream.
- */
- public void println() {
- try {
- write("\n"); //$NON-NLS-1$
- } catch (IOException e) {
- ConsolePlugin.log(e);
- }
- }
-
- /**
- * Appends the specified message to this stream, followed by a line
- * separator string.
- *
- * @param message message to print
- */
- public void println(String message) {
- print(message);
- println();
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/PatternMatchEvent.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/PatternMatchEvent.java
deleted file mode 100644
index 4c230294c..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/PatternMatchEvent.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console;
-
-import java.util.EventObject;
-
-/**
- * An event describing a pattern match in a console. The source of the event
- * is an <code>IOConsole</code>.
- *
- * @see org.eclipse.ui.console.IPatternMatchListener
- * @see org.eclipse.ui.console.IOConsole
- * @since 3.1
- */
-public class PatternMatchEvent extends EventObject {
- /*
- * required by EventObject for ObjectSerialization.
- */
- private static final long serialVersionUID = 876890383326854537L;
-
- /**
- * The offset of the match within the console's document.
- */
- private int offset;
-
- /**
- * The length of the matched string
- */
- private int length;
-
- /**
- * Constructs a new pattern match event.
- *
- * @param console the console in which the match was found
- * @param matchOffset the offset at which the match was found
- * @param matchLength the length of the text that matched
- */
- public PatternMatchEvent(TextConsole console, int matchOffset, int matchLength) {
- super(console);
- offset = matchOffset;
- length = matchLength;
- }
-
- /**
- * Returns the length of the matched string.
- *
- * @return the length of the matched string
- */
- public int getLength() {
- return length;
- }
-
- /**
- * Returns the offset of the match within the document.
- *
- * @return the offset of the match within the document
- */
- public int getOffset() {
- return offset;
- }
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsole.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsole.java
deleted file mode 100644
index 7489b7751..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsole.java
+++ /dev/null
@@ -1,509 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.console;
-
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.Region;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.ui.internal.console.ConsoleDocument;
-import org.eclipse.ui.internal.console.ConsoleHyperlinkPosition;
-import org.eclipse.ui.internal.console.ConsolePatternMatcher;
-import org.eclipse.ui.part.IPageBookViewPage;
-
-/**
- * An abstract console that supports regular expression matching.
- * <p>
- * Pattern match listeners can be registered with a console programmatically
- * or via the <code>org.eclipse.ui.console.consolePatternMatchListeners</code>
- * extension point. Listeners are notified of matches in the console.
- * </p>
- * <p>
- * Subclasses must provide a document partitioner.
- * </p>
- * @since 3.1
- */
-public abstract class TextConsole extends AbstractConsole {
-
- /**
- * The current width of the console. Used for fixed width consoles.
- * A value of <=0 means does not have a fixed width.
- */
- private int fConsoleWidth;
- /**
- * The current tab width
- */
- private int fTabWidth;
- /**
- * The font used by this console
- */
- private Font fFont;
- /**
- * Whether the console srolls to show the end of text as output
- * is appended.
- */
- private boolean fAutoScroll;
-
- /**
- * The Console's regular expression pattern matcher
- */
- private ConsolePatternMatcher fPatternMatcher;
-
- /**
- * The Console's document
- */
- private ConsoleDocument fDocument;
-
- /**
- * indication that the console's partitioner is not expecting more input
- */
- private boolean fPartitionerFinished = false;
-
- /**
- * Indication that the console's pattern matcher has finished.
- * (all matches have been found and all listeners notified)
- */
- private boolean fMatcherFinished = false;
-
- /**
- * indication that the console output complete property has been fired
- */
- private boolean fCompleteFired = false;
-
-
- /**
- * Map of client defined attributes
- */
- private HashMap fAttributes = new HashMap();
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.AbstractConsole#dispose()
- */
- protected void dispose() {
- super.dispose();
- fFont = null;
- synchronized(fAttributes) {
- fAttributes.clear();
- }
- }
- /**
- * Constructs a console with the given name, image descriptor, and lifecycle
- *
- * @param name name to display for this console
- * @param consoleType console type identifier or <code>null</code>
- * @param imageDescriptor image to display for this console or <code>null</code>
- * @param autoLifecycle whether lifecycle methods should be called automatically
- * when this console is added/removed from the console manager
- */
- public TextConsole(String name, String consoleType, ImageDescriptor imageDescriptor, boolean autoLifecycle) {
- super(name, consoleType, imageDescriptor, autoLifecycle);
- fDocument = new ConsoleDocument();
- fDocument.addPositionCategory(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY);
- fPatternMatcher = new ConsolePatternMatcher(this);
- fDocument.addDocumentListener(fPatternMatcher);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsole#createPage(org.eclipse.ui.console.IConsoleView)
- */
- public IPageBookViewPage createPage(IConsoleView view) {
- return new TextConsolePage(this, view);
- }
-
- /**
- * Returns this console's document.
- *
- * @return this console's document
- */
- public IDocument getDocument() {
- return fDocument;
- }
-
- /**
- * Returns the current width of this console. A value of zero of less
- * indicates this console has no fixed width.
- *
- * @return the current width of this console
- */
- public int getConsoleWidth() {
- return fConsoleWidth;
- }
-
- /**
- * Sets the width of this console in characters. Any value greater than zero
- * will cause this console to have a fixed width.
- *
- * @param width the width to make this console. Values of 0 or less imply
- * the console does not have any fixed width.
- */
- public void setConsoleWidth(int width) {
- if (fConsoleWidth != width) {
- int old = fConsoleWidth;
- fConsoleWidth = width;
-
- firePropertyChange(this, IConsoleConstants.P_CONSOLE_WIDTH, new Integer(old), new Integer(fConsoleWidth));
- }
- }
-
- /**
- * Sets the tab width.
- *
- * @param newTabWidth the tab width
- */
- public void setTabWidth(final int newTabWidth) {
- if (fTabWidth != newTabWidth) {
- final int oldTabWidth = fTabWidth;
- fTabWidth = newTabWidth;
- ConsolePlugin.getStandardDisplay().asyncExec(new Runnable() {
- public void run() {
- firePropertyChange(TextConsole.this, IConsoleConstants.P_TAB_SIZE, new Integer(oldTabWidth), new Integer(fTabWidth));
- }
- });
- }
- }
-
- /**
- * Returns the tab width.
- *
- * @return tab width
- */
- public int getTabWidth() {
- return fTabWidth;
- }
-
- /**
- * Returns the font used by this console. Must be called in the UI thread.
- *
- * @return font used by this console
- */
- public Font getFont() {
- if (fFont == null) {
- fFont = getDefaultFont();
- }
- return fFont;
- }
-
- /**
- * Returns the default text font.
- *
- * @return the default text font
- */
- private Font getDefaultFont() {
- return JFaceResources.getFont(JFaceResources.TEXT_FONT);
- }
-
- /**
- * Sets the font used by this console. Specify <code>null</code> to use
- * the default text font.
- *
- * @param font font, or <code>null</code> to indicate the default font
- */
- public void setFont(Font newFont) {
- // ensure font is initialized
- getFont();
- // translate null to default font
- if (newFont == null) {
- newFont = getDefaultFont();
- }
- // fire property change if required
- if (!fFont.equals(newFont)) {
- Font old = fFont;
- fFont = newFont;
- firePropertyChange(this, IConsoleConstants.P_FONT, old, fFont);
- }
- }
-
- /**
- * Sets whether this console scrolls automatically to show the end of text as
- * output is appened to the console.
- *
- * @param scroll whether this console scrolls automatically
- */
- public void setAutoScroll(boolean scroll) {
- if (scroll != fAutoScroll) {
- fAutoScroll = scroll;
- ConsolePlugin.getStandardDisplay().asyncExec(new Runnable() {
- public void run() {
- firePropertyChange(TextConsole.this, IConsoleConstants.P_AUTO_SCROLL, new Boolean(!fAutoScroll), new Boolean(fAutoScroll));
- }
- });
- }
- }
-
- /**
- * Returns whether this console scrolls automatically to show the end of text as
- * output is appened to the console.
- *
- * @return whether this console scrolls automatically
- */
- public boolean getAutoScroll() {
- return fAutoScroll;
- }
-
- /**
- * Clears the console.
- */
- public void clearConsole() {
- IConsoleDocumentPartitioner partitioner = getPartitioner();
- if (partitioner != null) {
- partitioner.clearBuffer();
- }
- }
-
- /**
- * Returns the console's document partitioner.
- * @return
- */
- protected abstract IConsoleDocumentPartitioner getPartitioner();
-
- /**
- * Returns all hyperlinks in this console.
- *
- * @return all hyperlinks in this console
- */
- public IHyperlink[] getHyperlinks() {
- try {
- Position[] positions = getDocument().getPositions(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY);
- IHyperlink[] hyperlinks = new IHyperlink[positions.length];
- for (int i = 0; i < positions.length; i++) {
- ConsoleHyperlinkPosition position = (ConsoleHyperlinkPosition) positions[i];
- hyperlinks[i] = position.getHyperLink();
- }
- return hyperlinks;
- } catch (BadPositionCategoryException e) {
- return new IHyperlink[0];
- }
- }
-
- /**
- * Returns the hyperlink at the given offset of <code>null</code> if none.
- *
- * @param offset the hyperlink at the given offset of <code>null</code> if none
- * @return
- */
- public IHyperlink getHyperlink(int offset) {
- try {
- IDocument document = getDocument();
- if (document != null) {
- Position[] positions = document.getPositions(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY);
- Position position = findPosition(offset, positions);
- if (position instanceof ConsoleHyperlinkPosition) {
- return ((ConsoleHyperlinkPosition) position).getHyperLink();
- }
- }
- } catch (BadPositionCategoryException e) {
- }
- return null;
- }
-
- /**
- * Binary search for the position at a given offset.
- *
- * @param offset the offset whose position should be found
- * @return the position containing the offset, or <code>null</code>
- */
- private Position findPosition(int offset, Position[] positions) {
-
- if (positions.length == 0)
- return null;
-
- int left= 0;
- int right= positions.length -1;
- int mid= 0;
- Position position= null;
-
- while (left < right) {
-
- mid= (left + right) / 2;
-
- position= positions[mid];
- if (offset < position.getOffset()) {
- if (left == mid)
- right= left;
- else
- right= mid -1;
- } else if (offset > (position.getOffset() + position.getLength() - 1)) {
- if (right == mid)
- left= right;
- else
- left= mid +1;
- } else {
- left= right= mid;
- }
- }
-
- position= positions[left];
- if (offset >= position.getOffset() && (offset < (position.getOffset() + position.getLength()))) {
- return position;
- }
- return null;
- }
-
- /**
- * Adds the given pattern match listener to this console. The listener will
- * be connected and receive match notifications.
- *
- * @param listener the listener to add
- */
- public void addPatternMatchListener(IPatternMatchListener listener) {
- fPatternMatcher.addPatternMatchListener(listener);
- }
-
- /**
- * Removes the given pattern match listener from this console. The listener will be
- * disconnected and will no longer receive match notifications.
- *
- * @param listener the pattern match listener to remove.
- */
- public void removePatternMatchListener(IPatternMatchListener listener) {
- fPatternMatcher.removePatternMatchListener(listener);
- }
-
-
- /**
- * Job scheduling rule that prevent the job from running if the console's PatternMatcher
- * is active.
- */
- private class MatcherSchedulingRule implements ISchedulingRule {
- public boolean contains(ISchedulingRule rule) {
- return rule == this;
- }
-
- public boolean isConflicting(ISchedulingRule rule) {
- if (contains(rule)) {
- return true;
- }
- if (rule != this && rule instanceof MatcherSchedulingRule) {
- return (((MatcherSchedulingRule)rule).getConsole() == TextConsole.this);
- }
- return false;
- }
-
- public TextConsole getConsole() {
- return TextConsole.this;
- }
- }
-
- /**
- * @return a scheduling rule which can be used to prevent jobs from running
- * while the console's pattern matcher is active.
- */
- public ISchedulingRule getSchedulingRule() {
- return new MatcherSchedulingRule();
- }
-
- /**
- * Partitioners should call this method when they are not expecting any new data
- * to be appended to the document.
- */
- public void partitionerFinished() {
- fPatternMatcher.forceFinalMatching();
- fPartitionerFinished = true;
- checkFinished();
- }
-
- /**
- * Called by the Console's Pattern Matcher when matching is complete and all
- * listeners have been notified.
- *
- * Clients should not call this method.
- */
- public void matcherFinished() {
- fMatcherFinished = true;
- fDocument.removeDocumentListener(fPatternMatcher);
- checkFinished();
- }
-
- /**
- * Fires the console output complete property change event.
- */
- private synchronized void checkFinished() {
- if (!fCompleteFired && fPartitionerFinished && fMatcherFinished ) {
- fCompleteFired = true;
- firePropertyChange(this, IConsoleConstants.P_CONSOLE_OUTPUT_COMPLETE, null, null);
- }
- }
-
- /**
- * Adds a hyperlink to this console.
- *
- * @param hyperlink the hyperlink to add
- * @param offset the offset in the console document at which the hyperlink should be added
- * @param length the length of the text which should be hyperlinked
- * @throws BadLocationException if the specified location is not valid.
- */
- public void addHyperlink(IHyperlink hyperlink, int offset, int length) throws BadLocationException {
- IDocument document = getDocument();
- ConsoleHyperlinkPosition hyperlinkPosition = new ConsoleHyperlinkPosition(hyperlink, offset, length);
- try {
- document.addPosition(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY, hyperlinkPosition);
- firePropertyChange(this, IConsoleConstants.P_CONSOLE_HYPERLINK_ADDED, null, null);
- } catch (BadPositionCategoryException e) {
- ConsolePlugin.log(e);
- }
- }
-
- /**
- * Returns the region assocaited with the given hyperlink.
- *
- * @param link hyperlink
- * @return the region associated witht the hyperlink
- */
- public IRegion getRegion(IHyperlink link) {
- try {
- IDocument doc = getDocument();
- if (doc != null) {
- Position[] positions = doc.getPositions(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY);
- for (int i = 0; i < positions.length; i++) {
- ConsoleHyperlinkPosition position = (ConsoleHyperlinkPosition)positions[i];
- if (position.getHyperLink().equals(link)) {
- return new Region(position.getOffset(), position.getLength());
- }
- }
- }
- } catch (BadPositionCategoryException e) {
- }
- return null;
- }
-
- /**
- * Returns the attribue associated with the specified key.
- *
- * @param key attribute key
- * @return Returns the attribue associated with the specified key
- */
- public Object getAttribute(String key) {
- synchronized (fAttributes) {
- return fAttributes.get(key);
- }
- }
-
- /**
- * Sets an attribute value.
- *
- * @param key attribute key
- * @param value attribute value
- */
- public void setAttribute(String key, Object value) {
- synchronized(fAttributes) {
- fAttributes.put(key, value);
- }
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsolePage.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsolePage.java
deleted file mode 100644
index 6d9504cfa..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsolePage.java
+++ /dev/null
@@ -1,371 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.console;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuListener;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IFindReplaceTarget;
-import org.eclipse.jface.text.ITextListener;
-import org.eclipse.jface.text.ITextOperationTarget;
-import org.eclipse.jface.text.TextEvent;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.ISharedImages;
-import org.eclipse.ui.IWorkbenchActionConstants;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.console.actions.ClearOutputAction;
-import org.eclipse.ui.console.actions.TextViewerAction;
-import org.eclipse.ui.internal.console.ConsoleMessages;
-import org.eclipse.ui.internal.console.FollowHyperlinkAction;
-import org.eclipse.ui.part.IPageBookViewPage;
-import org.eclipse.ui.part.IPageSite;
-import org.eclipse.ui.texteditor.FindReplaceAction;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * A page for a text console.
- * <p>
- * Clients may contribute actions to the context menu of a text console page
- * using the <code>org.eclipse.ui.popupMenus</code> extension point. The context
- * menu identifier for a text console page is the associated console's type
- * suffixed with <code>.#TextConsole</code>. When a console does not specify
- * a type, the context menu id is <code>#TextConsole</code>.
- * </p>
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.1
- */
-public class TextConsolePage implements IPageBookViewPage, IPropertyChangeListener, IAdaptable {
- private IPageSite fSite;
- private TextConsole fConsole;
- private IConsoleView fConsoleView;
- private TextConsoleViewer fViewer;
- private Menu fMenu;
- protected Map fGlobalActions = new HashMap();
- protected ArrayList fSelectionActions = new ArrayList();
- protected ClearOutputAction fClearOutputAction;
-
- private Object fLock = new Object();
- private boolean fUpdateScheduled = false;
-
- // text selection listener, used to update selection dependant actions on selection changes
- private ISelectionChangedListener selectionChangedListener = new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- updateSelectionDependentActions();
- }
- };
-
- // updates the find replace action if the document length is > 0
- private ITextListener textListener = new ITextListener() {
- public void textChanged(TextEvent event) {
- IUpdate findReplace = (IUpdate)fGlobalActions.get(ActionFactory.FIND.getId());
- if (findReplace != null) {
- findReplace.update();
- }
- }
- };
-
- public TextConsolePage(TextConsole console, IConsoleView view) {
- fConsole = console;
- fConsoleView = view;
- }
-
- protected TextConsoleViewer createViewer(Composite parent, TextConsole console) {
- return new TextConsoleViewer(parent, console);
- }
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.part.IPageBookViewPage#getSite()
- */
- public IPageSite getSite() {
- return fSite;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.part.IPageBookViewPage#init(org.eclipse.ui.part.IPageSite)
- */
- public void init(IPageSite pageSite) throws PartInitException {
- fSite = pageSite;
- }
-
- protected void updateSelectionDependentActions() {
- Iterator iterator= fSelectionActions.iterator();
- while (iterator.hasNext()) {
- updateAction((String)iterator.next());
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.part.IPage#createControl(org.eclipse.swt.widgets.Composite)
- */
- public void createControl(Composite parent) {
- fViewer = createViewer(parent, fConsole);
- fViewer.setConsoleWidth(fConsole.getConsoleWidth());
- fViewer.setTabWidth(fConsole.getTabWidth());
- fConsole.addPropertyChangeListener(this);
- JFaceResources.getFontRegistry().addListener(this);
-
- String id = "#TextConsole"; //$NON-NLS-1$
- if (getConsole().getType() != null) {
- id = getConsole().getType() + "." + id; //$NON-NLS-1$
- }
- MenuManager manager= new MenuManager("#TextConsole", id); //$NON-NLS-1$//$NON-NLS-2$
- manager.setRemoveAllWhenShown(true);
- manager.addMenuListener(new IMenuListener() {
- public void menuAboutToShow(IMenuManager m) {
- contextMenuAboutToShow(m);
- }
- });
- fMenu = manager.createContextMenu(getControl());
- getControl().setMenu(fMenu);
-
- createActions();
- configureToolBar(getSite().getActionBars().getToolBarManager());
-
- getSite().registerContextMenu(id, manager, fViewer); //$NON-NLS-1$
- getSite().setSelectionProvider(fViewer);
-
- fViewer.getSelectionProvider().addSelectionChangedListener(selectionChangedListener);
- fViewer.addTextListener(textListener);
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.part.IPage#dispose()
- */
- public void dispose() {
- fConsole.removePropertyChangeListener(this);
- JFaceResources.getFontRegistry().removeListener(this);
-
- if (fMenu != null && !fMenu.isDisposed()) {
- fMenu.dispose();
- }
- fClearOutputAction = null;
- fSelectionActions.clear();
- fGlobalActions.clear();
-
- fViewer.getSelectionProvider().removeSelectionChangedListener(selectionChangedListener);
- fViewer.removeTextListener(textListener);
- fViewer = null;
- }
-
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.part.IPage#getControl()
- */
- public Control getControl() {
- return fViewer != null ? fViewer.getControl() : null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.IPage#setActionBars(org.eclipse.ui.IActionBars)
- */
- public void setActionBars(IActionBars actionBars) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.IPage#setFocus()
- */
- public void setFocus() {
- if (fViewer != null) {
- fViewer.getTextWidget().setFocus();
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
- */
- public void propertyChange(PropertyChangeEvent event) {
- if (fViewer != null) {
- Object source = event.getSource();
- String property = event.getProperty();
-
- if (source.equals(fConsole) && IConsoleConstants.P_FONT.equals(property)) {
- fViewer.setFont(fConsole.getFont());
- } else if (IConsoleConstants.P_FONT_STYLE.equals(property)) {
- fViewer.getTextWidget().redraw();
- } else if (property.equals(IConsoleConstants.P_STREAM_COLOR)) {
- fViewer.getTextWidget().redraw();
- } else if (source.equals(fConsole) && property.equals(IConsoleConstants.P_TAB_SIZE)) {
- Integer tabSize = (Integer)event.getNewValue();
- fViewer.setTabWidth(tabSize.intValue());
- } else if (source.equals(fConsole) && property.equals(IConsoleConstants.P_CONSOLE_WIDTH)) {
- fViewer.setConsoleWidth(fConsole.getConsoleWidth());
- } else if (property.equals(IConsoleConstants.P_CONSOLE_HYPERLINK_ADDED)) {
- synchronized (fLock) {
- if (fUpdateScheduled) {
- return;
- } else if (fViewer != null) {
- fUpdateScheduled = true;
- ConsolePlugin.getStandardDisplay().asyncExec(new Runnable() {
- public void run() {
- synchronized (fLock) {
- if(fViewer != null) {
- fViewer.getTextWidget().redraw();
- }
- fUpdateScheduled = false;
- }
- }
- });
- }
- }
- }
- }
- }
-
- protected void createActions() {
- IActionBars actionBars= getSite().getActionBars();
- TextViewerAction action= new TextViewerAction(fViewer, ITextOperationTarget.SELECT_ALL);
- action.configureAction(ConsoleMessages.getString("IOConsolePage.0"), ConsoleMessages.getString("IOConsolePage.1"), ConsoleMessages.getString("IOConsolePage.2")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- setGlobalAction(actionBars, ActionFactory.SELECT_ALL.getId(), action);
-
- action= new TextViewerAction(fViewer, ITextOperationTarget.CUT);
- action.configureAction(ConsoleMessages.getString("IOConsolePage.3"), ConsoleMessages.getString("IOConsolePage.4"), ConsoleMessages.getString("IOConsolePage.5")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- action.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_CUT));
- setGlobalAction(actionBars, ActionFactory.CUT.getId(), action);
-
- action= new TextViewerAction(fViewer, ITextOperationTarget.COPY);
- action.configureAction(ConsoleMessages.getString("IOConsolePage.6"), ConsoleMessages.getString("IOConsolePage.7"), ConsoleMessages.getString("IOConsolePage.8")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- action.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_COPY));
- setGlobalAction(actionBars, ActionFactory.COPY.getId(), action);
-
- action= new TextViewerAction(fViewer, ITextOperationTarget.PASTE);
- action.configureAction(ConsoleMessages.getString("IOConsolePage.9"), ConsoleMessages.getString("IOConsolePage.10"), ConsoleMessages.getString("IOConsolePage.11")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- action.setImageDescriptor(PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_PASTE));
- setGlobalAction(actionBars, ActionFactory.PASTE.getId(), action);
-
- fClearOutputAction = new ClearOutputAction(fConsole);
-
- ResourceBundle bundle= ResourceBundle.getBundle("org.eclipse.ui.internal.console.ConsoleMessages"); //$NON-NLS-1$
- setGlobalAction(actionBars, ActionFactory.FIND.getId(), new FindReplaceAction(bundle, "find_replace_action.", fConsoleView)); //$NON-NLS-1$
-
- fSelectionActions.add(ActionFactory.CUT.getId());
- fSelectionActions.add(ActionFactory.COPY.getId());
- fSelectionActions.add(ActionFactory.PASTE.getId());
- fSelectionActions.add(ActionFactory.FIND.getId());
-
- actionBars.updateActionBars();
- }
-
- protected void setGlobalAction(IActionBars actionBars, String actionID, IAction action) {
- fGlobalActions.put(actionID, action);
- actionBars.setGlobalActionHandler(actionID, action);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
- */
- public Object getAdapter(Class required) {
- if (IFindReplaceTarget.class.equals(required)) {
- return fViewer.getFindReplaceTarget();
- }
- if (Widget.class.equals(required)) {
- return fViewer.getTextWidget();
- }
- return null;
- }
-
- /**
- * Returns the view this page is contained in
- *
- * @return the view this page is contained in
- */
- protected IConsoleView getConsoleView() {
- return fConsoleView;
- }
-
- /**
- * Returns the console this page is displaying
- *
- * @return the console this page is displaying
- */
- protected IConsole getConsole() {
- return fConsole;
- }
-
- protected void updateAction(String actionId) {
- IAction action= (IAction)fGlobalActions.get(actionId);
- if (action instanceof IUpdate) {
- ((IUpdate) action).update();
- }
- }
-
-
- /**
- * Fill the context menu
- *
- * @param menuManager menu
- */
- protected void contextMenuAboutToShow(IMenuManager menuManager) {
- IDocument doc= fViewer.getDocument();
- if (doc == null) {
- return;
- }
-
- menuManager.add((IAction)fGlobalActions.get(ActionFactory.CUT.getId()));
- menuManager.add((IAction)fGlobalActions.get(ActionFactory.COPY.getId()));
- menuManager.add((IAction)fGlobalActions.get(ActionFactory.PASTE.getId()));
- menuManager.add((IAction)fGlobalActions.get(ActionFactory.SELECT_ALL.getId()));
-
- menuManager.add(new Separator("FIND")); //$NON-NLS-1$
- menuManager.add((IAction)fGlobalActions.get(ActionFactory.FIND.getId()));
- menuManager.add(new FollowHyperlinkAction(fViewer));
- menuManager.add(fClearOutputAction);
-
- menuManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
- }
-
- protected void configureToolBar(IToolBarManager mgr) {
- mgr.appendToGroup(IConsoleConstants.OUTPUT_GROUP, fClearOutputAction);
- }
-
-
- /**
- * @return Returns the viewer.
- */
- public TextConsoleViewer getViewer() {
- return fViewer;
- }
- /**
- * @param viewer The viewer to set.
- */
- public void setViewer(TextConsoleViewer viewer) {
- this.fViewer = viewer;
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java
deleted file mode 100644
index e8e888928..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/TextConsoleViewer.java
+++ /dev/null
@@ -1,527 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Common Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-
-package org.eclipse.ui.console;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.preference.JFacePreferences;
-import org.eclipse.jface.resource.ColorRegistry;
-import org.eclipse.jface.resource.JFaceColors;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentAdapter;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-import org.eclipse.jface.text.TextViewer;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.LineBackgroundEvent;
-import org.eclipse.swt.custom.LineBackgroundListener;
-import org.eclipse.swt.custom.LineStyleEvent;
-import org.eclipse.swt.custom.LineStyleListener;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.MouseEvent;
-import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseMoveListener;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.graphics.Cursor;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontMetrics;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.internal.console.ConsoleDocumentAdapter;
-import org.eclipse.ui.internal.console.ConsoleHyperlinkPosition;
-
-/**
- * Viewer used to display a TextConsole
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.1
- */
-public class TextConsoleViewer extends TextViewer implements LineStyleListener, LineBackgroundListener, MouseTrackListener, MouseMoveListener, MouseListener, PaintListener {
- /**
- * Adapts document to the text widget.
- */
- private ConsoleDocumentAdapter documentAdapter;
-
- private IHyperlink hyperlink;
-
- private Cursor handCursor;
-
- private Cursor textCursor;
-
- private int consoleWidth = -1;
-
- private TextConsole console;
-
- private IPropertyChangeListener propertyChangeListener;
-
- public TextConsoleViewer(Composite parent, TextConsole console) {
- super(parent, SWT.H_SCROLL | SWT.V_SCROLL);
- this.console = console;
- setDocument(console.getDocument());
-
- StyledText styledText = getTextWidget();
- styledText.setDoubleClickEnabled(true);
- styledText.addLineStyleListener(this);
- styledText.addLineBackgroundListener(this);
- styledText.setEditable(true);
- setFont(console.getFont());
- styledText.addMouseTrackListener(this);
- styledText.addPaintListener(this);
-
- ColorRegistry colorRegistry = JFaceResources.getColorRegistry();
- propertyChangeListener = new HyperlinkColorChangeListener();
- colorRegistry.addListener(propertyChangeListener);
- }
-
- public void setTabWidth(int tabWidth) {
- StyledText styledText = getTextWidget();
- styledText.setTabs(tabWidth);
- styledText.redraw();
- }
-
- public void setFont(Font font) {
- StyledText styledText = getTextWidget();
- styledText.setFont(font);
- styledText.redraw();
- }
-
- protected void revealEndOfDocument() {
- StyledText text = getTextWidget();
- if (text != null) {
- int charCount = text.getCharCount();
- text.setCaretOffset(charCount);
- text.showSelection();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.custom.LineStyleListener#lineGetStyle(org.eclipse.swt.custom.LineStyleEvent)
- */
- public void lineGetStyle(LineStyleEvent event) {
- IDocument document = getDocument();
- if (document != null && document.getLength() > 0) {
- ArrayList ranges = new ArrayList();
- int offset = event.lineOffset;
- int length = event.lineText.length();
-
- StyleRange[] partitionerStyles = ((IConsoleDocumentPartitioner) document.getDocumentPartitioner()).getStyleRanges(event.lineOffset, event.lineText.length());
- if (partitionerStyles != null) {
- for (int i = 0; i < partitionerStyles.length; i++) {
- ranges.add(partitionerStyles[i]);
- }
- }
-
- try {
- Display display = ConsolePlugin.getStandardDisplay();
- Color hyperlinkText = JFaceColors.getHyperlinkText(display);
- Position[] positions = getDocument().getPositions(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY);
- Position[] overlap = findPosition(offset, length, positions);
- if (overlap != null) {
- for (int i = 0; i < overlap.length; i++) {
- weave(ranges, new StyleRange(overlap[i].offset, overlap[i].length, hyperlinkText, null));
- }
- }
- } catch (BadPositionCategoryException e) {
- }
-
- if (ranges.size() > 0) {
- event.styles = (StyleRange[]) ranges.toArray(new StyleRange[ranges.size()]);
- }
- }
- }
-
- /**
- * Weaves the given style range into the given list of style ranges. The given
- * range may overlap ranges in the list of ranges, and must be split into
- * non-overlapping ranges and inserted into the list to maintain order.
- *
- * @param ranges
- * @param styleRange
- */
- private void weave(List ranges, StyleRange styleRange) {
- if (ranges.isEmpty()) {
- ranges.add(styleRange);
- return;
- }
- int start = styleRange.start;
- int end = start + styleRange.length;
- for (int i = 0; i < ranges.size(); i++) {
- StyleRange r = (StyleRange) ranges.get(i);
- int rEnd = r.start + r.length;
- if (start < r.start) {
- if (end >= r.start) {
- ranges.add(i, new StyleRange(start, r.start - start, styleRange.foreground, styleRange.background));
- if (end > rEnd) {
- start = rEnd + 1;
- } else {
- return;
- }
- } else {
-
- }
- } else if (start < rEnd) {
- if (end > rEnd) {
- start = rEnd + 1;
- } else {
- return;
- }
- }
- }
- if (start < end) {
- ranges.add(new StyleRange(start, end - start, styleRange.foreground, styleRange.background));
- }
- }
-
- /**
- * Binary search for the positions overlapping the given range
- *
- * @param offset the offset of the range
- * @param length the length of the range
- * @param positions the positions to search
- * @return the positions overlapping the given range, or <code>null</code>
- */
- private Position[] findPosition(int offset, int length, Position[] positions) {
-
- if (positions.length == 0)
- return null;
-
- int rangeEnd = offset + length;
- int left= 0;
- int right= positions.length - 1;
- int mid= 0;
- Position position= null;
-
- while (left < right) {
-
- mid= (left + right) / 2;
-
- position= positions[mid];
- if (rangeEnd < position.getOffset()) {
- if (left == mid)
- right= left;
- else
- right= mid -1;
- } else if (offset > (position.getOffset() + position.getLength() - 1)) {
- if (right == mid)
- left= right;
- else
- left= mid +1;
- } else {
- left= right= mid;
- }
- }
-
-
- List list = new ArrayList();
- int index = left - 1;
- if (index >= 0) {
- position= positions[index];
- while (index >= 0 && (position.getOffset() + position.getLength()) > offset) {
- index--;
- if (index > 0) {
- position= positions[index];
- }
- }
- }
- index++;
- position= positions[index];
- while (index < positions.length && (position.getOffset() < rangeEnd)) {
- list.add(position);
- index++;
- if (index < positions.length) {
- position= positions[index];
- }
- }
-
- if (list.isEmpty()) {
- return null;
- }
- return (Position[])list.toArray(new Position[list.size()]);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.custom.LineBackgroundListener#lineGetBackground(org.eclipse.swt.custom.LineBackgroundEvent)
- */
- public void lineGetBackground(LineBackgroundEvent event) {
- event.lineBackground = null;
- }
-
- /**
- * @see org.eclipse.swt.events.PaintListener#paintControl(org.eclipse.swt.events.PaintEvent)
- */
- public void paintControl(PaintEvent e) {
- if (hyperlink != null) {
- IDocument doc = getDocument();
- StyledText text = getTextWidget();
-
- if (doc == null || text == null) {
- return;
- }
-
- IConsoleDocumentPartitioner partitioner = (IConsoleDocumentPartitioner) doc.getDocumentPartitioner();
- if (partitioner == null) {
- return;
- }
-
- IRegion linkRegion = console.getRegion(hyperlink);
- if (linkRegion != null) {
- int start = linkRegion.getOffset();
- int end = start + linkRegion.getLength();
-
- Color fontColor = JFaceColors.getActiveHyperlinkText(Display.getCurrent());
- Color color = e.gc.getForeground();
- e.gc.setForeground(fontColor);
-
- FontMetrics metrics = e.gc.getFontMetrics();
- int height = metrics.getHeight();
- int width = metrics.getAverageCharWidth();
-
- int startLine = text.getLineAtOffset(start);
- int endLine = text.getLineAtOffset(end);
- int baseLineBias = text.getBaseline() - (metrics.getAscent() + metrics.getLeading());
-
- for (int i = startLine; i <= endLine; i++) {
- int styleStart = i == startLine ? start : text.getOffsetAtLine(i);
- int styleEnd = i == endLine ? end : text.getOffsetAtLine(i + 1);
- Point p1 = text.getLocationAtOffset(styleStart);
- Point p2 = text.getLocationAtOffset(styleEnd - 1);
- e.gc.drawLine(p1.x, p1.y + height + baseLineBias, p2.x + width, p2.y + height + baseLineBias);
-
- String hyperlinkText = text.getText(styleStart, styleEnd-1);
- e.gc.drawString(hyperlinkText, p1.x, p1.y + baseLineBias);
- }
- e.gc.setForeground(color);
- }
- }
- }
-
- protected Cursor getHandCursor() {
- if (handCursor == null) {
- handCursor = new Cursor(ConsolePlugin.getStandardDisplay(), SWT.CURSOR_HAND);
- }
- return handCursor;
- }
-
- protected Cursor getTextCursor() {
- if (textCursor == null) {
- textCursor = new Cursor(ConsolePlugin.getStandardDisplay(), SWT.CURSOR_IBEAM);
- }
- return textCursor;
- }
-
- protected void linkEntered(IHyperlink link) {
- Control control = getTextWidget();
- control.setRedraw(false);
- if (hyperlink != null) {
- linkExited(hyperlink);
- }
- hyperlink = link;
- hyperlink.linkEntered();
- control.setCursor(getHandCursor());
- control.setRedraw(true);
- control.redraw();
- control.addMouseListener(this);
- }
-
- protected void linkExited(IHyperlink link) {
- link.linkExited();
- hyperlink = null;
- Control control = getTextWidget();
- control.setCursor(getTextCursor());
- control.redraw();
- control.removeMouseListener(this);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.events.MouseTrackListener#mouseEnter(org.eclipse.swt.events.MouseEvent)
- */
- public void mouseEnter(MouseEvent e) {
- getTextWidget().addMouseMoveListener(this);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.events.MouseTrackListener#mouseExit(org.eclipse.swt.events.MouseEvent)
- */
- public void mouseExit(MouseEvent e) {
- getTextWidget().removeMouseMoveListener(this);
- if (hyperlink != null) {
- linkExited(hyperlink);
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.events.MouseTrackListener#mouseHover(org.eclipse.swt.events.MouseEvent)
- */
- public void mouseHover(MouseEvent e) {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.events.MouseMoveListener#mouseMove(org.eclipse.swt.events.MouseEvent)
- */
- public void mouseMove(MouseEvent e) {
- int offset = -1;
- try {
- Point p = new Point(e.x, e.y);
- offset = getTextWidget().getOffsetAtLocation(p);
- } catch (IllegalArgumentException ex) {
- // out of the document range
- }
- updateLinks(offset);
- }
-
- /**
- * The cursor has just be moved to the given offset, the mouse has hovered
- * over the given offset. Update link rendering.
- *
- * @param offset
- */
- protected void updateLinks(int offset) {
- if (offset >= 0) {
- IHyperlink link = getHyperlink(offset);
- if (link != null) {
- if (link.equals(hyperlink)) {
- return;
- }
- linkEntered(link);
- return;
- }
- }
- if (hyperlink != null) {
- linkExited(hyperlink);
- }
- }
-
- /**
- * Returns the current value of <code>hyperlink</code> field
- *
- * @return The current value of <code>hyperlink</code> field
- */
- public IHyperlink getHyperlink() {
- return hyperlink;
- }
-
- public IHyperlink getHyperlink(int offset) {
- if (offset >= 0 && console != null) {
- return console.getHyperlink(offset);
- }
- return null;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.events.MouseListener#mouseDoubleClick(org.eclipse.swt.events.MouseEvent)
- */
- public void mouseDoubleClick(MouseEvent e) {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.events.MouseListener#mouseDown(org.eclipse.swt.events.MouseEvent)
- */
- public void mouseDown(MouseEvent e) {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.swt.events.MouseListener#mouseUp(org.eclipse.swt.events.MouseEvent)
- */
- public void mouseUp(MouseEvent e) {
- if (hyperlink != null) {
- String selection = getTextWidget().getSelectionText();
- if (selection.length() <= 0) {
- if (e.button == 1) {
- hyperlink.linkActivated();
- }
- }
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.text.TextViewer#createDocumentAdapter()
- */
- protected IDocumentAdapter createDocumentAdapter() {
- if (documentAdapter == null) {
- documentAdapter = new ConsoleDocumentAdapter(consoleWidth = -1);
- }
- return documentAdapter;
- }
-
- /**
- * @param consoleWidth
- */
- public void setConsoleWidth(int width) {
- consoleWidth = width;
- if (documentAdapter != null) {
- documentAdapter.setWidth(consoleWidth);
-
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.text.TextViewer#handleDispose()
- */
- protected void handleDispose() {
- super.handleDispose();
-
- StyledText styledText = getTextWidget();
- styledText.removeLineStyleListener(this);
- styledText.removeLineBackgroundListener(this);
- styledText.removeMouseTrackListener(this);
- styledText.removePaintListener(this);
-
- handCursor = null;
- textCursor = null;
- hyperlink = null;
- console = null;
-
- ColorRegistry colorRegistry = JFaceResources.getColorRegistry();
- colorRegistry.removeListener(propertyChangeListener);
- }
-
- class HyperlinkColorChangeListener implements IPropertyChangeListener {
- public void propertyChange(PropertyChangeEvent event) {
- if (event.getProperty().equals(JFacePreferences.ACTIVE_HYPERLINK_COLOR) || event.getProperty().equals(JFacePreferences.HYPERLINK_COLOR)) {
- getTextWidget().redraw();
- }
- }
-
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/ClearOutputAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/ClearOutputAction.java
deleted file mode 100644
index 88692ccd7..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/ClearOutputAction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console.actions;
-
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.TextConsole;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.internal.console.ConsoleMessages;
-import org.eclipse.ui.internal.console.ConsolePluginImages;
-import org.eclipse.ui.internal.console.IConsoleHelpContextIds;
-import org.eclipse.ui.internal.console.IInternalConsoleConstants;
-
-/**
- * Clears the output in a text console.
- * <p>
- * Clients may instantiate this class; this class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class ClearOutputAction extends Action {
-
- private ITextViewer fViewer;
- private TextConsole fIOConsole;
-
- /**
- * Constructs a clear output action.
- *
- * @since 3.1
- */
- private ClearOutputAction() {
- super(ConsoleMessages.getString("ClearOutputAction.title")); //$NON-NLS-1$
- setToolTipText(ConsoleMessages.getString("ClearOutputAction.toolTipText")); //$NON-NLS-1$
- setHoverImageDescriptor(ConsolePluginImages.getImageDescriptor(IConsoleConstants.IMG_LCL_CLEAR));
- setDisabledImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_DLCL_CLEAR));
- setImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_ELCL_CLEAR));
- WorkbenchHelp.setHelp(this, IConsoleHelpContextIds.CLEAR_CONSOLE_ACTION);
- }
-
- /**
- * Constructs a clear output action for an I/O console. Clearing an I/O console
- * is performed via API on the <code>IOConsole</code>, rather than clearing
- * its document directly.
- *
- * @param ioConsole I/O console the action is associated with
- * @since 3.1
- */
- public ClearOutputAction(TextConsole ioConsole) {
- this();
- fIOConsole = ioConsole;
- }
-
- /**
- * Constructs an action to clear the document associated with a text viewer.
- *
- * @param viewer viewer whose document this action is associated with
- */
- public ClearOutputAction(ITextViewer viewer) {
- this();
- fViewer = viewer;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run() {
- BusyIndicator.showWhile(ConsolePlugin.getStandardDisplay(), new Runnable() {
- public void run() {
- if (fIOConsole == null) {
- IDocument document = fViewer.getDocument();
- if (document != null) {
- document.set(""); //$NON-NLS-1$
- }
- fViewer.setSelectedRange(0, 0);
- fViewer.getTextWidget().redraw();
- } else {
- fIOConsole.clearConsole();
- }
- }
- });
- }
-} \ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/CloseConsoleAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/CloseConsoleAction.java
deleted file mode 100644
index c1939e2e9..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/CloseConsoleAction.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console.actions;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.internal.console.ConsoleMessages;
-import org.eclipse.ui.internal.console.ConsolePluginImages;
-import org.eclipse.ui.internal.console.IInternalConsoleConstants;
-
-/**
- * Removes a console from the console manager.
- */
-public class CloseConsoleAction extends Action {
-
- private IConsole fConsole;
-
- public CloseConsoleAction(IConsole console) {
- super(ConsoleMessages.getString("CloseConsoleAction.0"), ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_ELCL_CLOSE)); //$NON-NLS-1$
- setToolTipText(ConsoleMessages.getString("CloseConsoleAction.1")); //$NON-NLS-1$
- fConsole = console;
- }
-
- public void run() {
- ConsolePlugin.getDefault().getConsoleManager().removeConsoles(new IConsole[]{fConsole});
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerAction.java
deleted file mode 100644
index ee3639a68..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerAction.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console.actions;
-
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.text.ITextOperationTarget;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Common function for actions that operate on a text viewer.
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.0
- */
-public class TextViewerAction extends Action implements IUpdate {
-
- private int fOperationCode= -1;
- private ITextOperationTarget fOperationTarget;
-
- /**
- * Constructs a new action in the given text viewer with
- * the specified operation code.
- *
- * @param viewer
- * @param operationCode
- */
- public TextViewerAction(ITextViewer viewer, int operationCode) {
- fOperationCode= operationCode;
- fOperationTarget= viewer.getTextOperationTarget();
- update();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.texteditor.IUpdate#update()
- *
- * Updates the enabled state of the action.
- * Fires a property change if the enabled state changes.
- *
- * @see org.eclipse.jface.action.Action#firePropertyChange(String, Object, Object)
- */
- public void update() {
-
- boolean wasEnabled= isEnabled();
- boolean isEnabled= (fOperationTarget != null && fOperationTarget.canDoOperation(fOperationCode));
- setEnabled(isEnabled);
-
- if (wasEnabled != isEnabled) {
- firePropertyChange(ENABLED, wasEnabled ? Boolean.TRUE : Boolean.FALSE, isEnabled ? Boolean.TRUE : Boolean.FALSE);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run() {
- if (fOperationCode != -1 && fOperationTarget != null) {
- fOperationTarget.doOperation(fOperationCode);
- }
- }
-
- /**
- * Configures this action with a label, tool tip, and description.
- *
- * @param text action label
- * @param toolTipText action tool tip
- * @param description action description
- */
- public void configureAction(String text, String toolTipText, String description) {
- setText(text);
- setToolTipText(toolTipText);
- setDescription(description);
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerGotoLineAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerGotoLineAction.java
deleted file mode 100644
index ea740b8d2..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/TextViewerGotoLineAction.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.console.actions;
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.jface.dialogs.IInputValidator;
-import org.eclipse.jface.dialogs.InputDialog;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.internal.console.ConsoleMessages;
-
-/**
- * Action to position a text viewer to a specific line.
- * <p>
- * Clients may instantiate this class; this class is not intended to
- * be subclassed.
- * </p>
- * @since 3.0
- */
-public class TextViewerGotoLineAction extends TextViewerAction {
-
- /**
- * Validates whether the text found in the input field of the
- * dialog forms a valid line number, i.e. one to which can be
- * jumped.
- */
- class NumberValidator implements IInputValidator {
-
- public String isValid(String input) {
- try {
- int i= Integer.parseInt(input);
- if (i <= 0 || fLastLine < i)
- return ConsoleMessages.getString("TextViewerGotoLineAction.Line_number_out_of_range_1"); //$NON-NLS-1$
-
- } catch (NumberFormatException x) {
- return ConsoleMessages.getString("TextViewerGotoLineAction.Not_a_number_2"); //$NON-NLS-1$
- }
-
- return null;
- }
- }
-
- protected int fLastLine;
- protected ITextViewer fTextViewer;
-
- /**
- * Constructs a goto line action for the viewer using the provided resource bundle
- */
- public TextViewerGotoLineAction(ITextViewer viewer) {
- super(viewer, -1);
- fTextViewer= viewer;
- setText(ConsoleMessages.getString("TextViewerGotoLineAction.Go_to_&Line...@Ctrl+L_4")); //$NON-NLS-1$
- setToolTipText(ConsoleMessages.getString("TextViewerGotoLineAction.Go_To_Line_1")); //$NON-NLS-1$
- setDescription(ConsoleMessages.getString("TextViewerGotoLineAction.Go_To_Line_1")); //$NON-NLS-1$
- }
-
- /**
- * @see TextViewerAction#update()
- */
- public void update() {
- }
-
- /**
- * Jumps to the line.
- */
- protected void gotoLine(int line) {
-
- IDocument document= fTextViewer.getDocument();
- try {
- int start= document.getLineOffset(line);
- int length= document.getLineLength(line);
- fTextViewer.getTextWidget().setSelection(start, start + length);
- fTextViewer.revealRange(start, length);
- } catch (BadLocationException x) {
- ConsolePlugin.errorDialog(fTextViewer.getTextWidget().getShell(), ConsoleMessages.getString("TextViewerGotoLineAction.Go_To_Line_1"), ConsoleMessages.getString("TextViewerGotoLineAction.Exceptions_occurred_attempt_to_go_to_line_2"), x); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run() {
- try {
- Point selection= fTextViewer.getTextWidget().getSelection();
- IDocument document= fTextViewer.getDocument();
- fLastLine= document.getLineOfOffset(document.getLength()) + 1;
- int startLine= selection == null ? 1 : fTextViewer.getTextWidget().getLineAtOffset(selection.x) + 1;
- String title= ConsoleMessages.getString("TextViewerGotoLineAction.Go_To_Line_1"); //$NON-NLS-1$
- String message= MessageFormat.format(ConsoleMessages.getString("TextViewerGotoLineAction.Enter_line_number__8"), new Object[] {new Integer(fLastLine)}); //$NON-NLS-1$
- String value= Integer.toString(startLine);
- Shell activeShell= fTextViewer.getTextWidget().getShell();
- InputDialog d= new InputDialog(activeShell, title, message, value, new NumberValidator());
- if (d.open() == Window.OK) {
- try {
- int line= Integer.parseInt(d.getValue());
- gotoLine(line - 1);
- } catch (NumberFormatException x) {
- ConsolePlugin.errorDialog(activeShell, ConsoleMessages.getString("TextViewerGotoLineAction.Go_To_Line_1"), ConsoleMessages.getString("TextViewerGotoLineAction.Exceptions_occurred_attempt_to_go_to_line_2"), x); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- } catch (BadLocationException x) {
- ConsolePlugin.errorDialog(fTextViewer.getTextWidget().getShell(), ConsoleMessages.getString("TextViewerGotoLineAction.Go_To_Line_1"), ConsoleMessages.getString("TextViewerGotoLineAction.Exceptions_occurred_attempt_to_go_to_line_2"), x); //$NON-NLS-1$ //$NON-NLS-2$
- return;
- }
- }
-} \ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/package.html b/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/package.html
deleted file mode 100644
index cfb538c69..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/actions/package.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Console Actions</title>
-</head>
-
-<body link="#0000FF" vlink="#800080">
-
-<p align="left"> Application programming interfaces for Eclipse console specific
- actions.</p>
-
-<h2 align="left">Package Specification</h2>
-
-<p>This package provides a set of actions related to the Eclipse console.</p>
-<p>Clients are allowed to instantiate classes from this package. The classes are
- not intended to be subclassed.</p>
-</body>
-</html>
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/package.html b/org.eclipse.ui.console/src/org/eclipse/ui/console/package.html
deleted file mode 100644
index 95aa4ac5a..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/package.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Console</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Application programming interfaces for interaction
-with the Eclipse console.</p>
-
-<h2>Package Specification</h2>
-
-<p>The Eclipse platform UI console plug-in provides a set of classes and interfaces to
-support a generic console. This package contains a generic abstract console that provides the common functionality
-for consoles. Clients implementing consoles should subclass this <b>AbstractConsole</b>.</p>
-<p>The classes <b>MessageConsole</b> and <b>MessageConsoleStream</b> provide an
- implementation of a message console and message console stream that enables
- logging of messages to a console.</p>
-<p>A console manager (<b>IConsoleManager</b>) manages all active consoles, and
- provides notification of consoles which are added and removed. Consoles are
- displayed in a page book view. Each console implementation is reponsible for
- creating its page (<b>IPageBookView</b>), which provides freedom of presentation
- to the console implementation. A single console may be displayed simultaneously
- in multiple console views, in different workbench windows.</p>
-</body>
-</html>
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocument.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocument.java
deleted file mode 100644
index 826590cda..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocument.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.BadPositionCategoryException;
-import org.eclipse.jface.text.DefaultPositionUpdater;
-import org.eclipse.jface.text.Document;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.Position;
-
-/**
- * A console document. Requires synchronization for multi-threaded access.
- */
-public class ConsoleDocument extends Document {
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocument#get(int, int)
- */
- public synchronized String get(int pos, int length) throws BadLocationException {
- return super.get(pos, length);
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocument#getLength()
- */
- public synchronized int getLength() {
- return super.getLength();
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocument#getLineDelimiter(int)
- */
- public synchronized String getLineDelimiter(int line) throws BadLocationException {
- return super.getLineDelimiter(line);
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocument#getLineInformation(int)
- */
- public synchronized IRegion getLineInformation(int line) throws BadLocationException {
- return super.getLineInformation(line);
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocument#getLineInformationOfOffset(int)
- */
- public synchronized IRegion getLineInformationOfOffset(int offset) throws BadLocationException {
- return super.getLineInformationOfOffset(offset);
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocument#getLineLength(int)
- */
- public synchronized int getLineLength(int line) throws BadLocationException {
- return super.getLineLength(line);
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocument#getLineOffset(int)
- */
- public synchronized int getLineOffset(int line) throws BadLocationException {
- return super.getLineOffset(line);
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocument#getLineOfOffset(int)
- */
- public synchronized int getLineOfOffset(int pos) throws BadLocationException {
- return super.getLineOfOffset(pos);
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocument#getNumberOfLines()
- */
- public synchronized int getNumberOfLines() {
- return super.getNumberOfLines();
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocument#replace(int, int, java.lang.String)
- */
- public synchronized void replace(int pos, int length, String text) throws BadLocationException {
- super.replace(pos, length, text);
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocument#set(java.lang.String)
- */
- public synchronized void set(String text) {
- super.set(text);
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.AbstractDocument#completeInitialization()
- */
- protected void completeInitialization() {
- super.completeInitialization();
- addPositionUpdater(new DefaultPositionUpdater(ConsoleHyperlinkPosition.HYPER_LINK_CATEGORY));
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocument#addPosition(java.lang.String, org.eclipse.jface.text.Position)
- */
- public synchronized void addPosition(String category, Position position) throws BadLocationException, BadPositionCategoryException {
- super.addPosition(category, position);
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocument#removePosition(java.lang.String, org.eclipse.jface.text.Position)
- */
- public synchronized void removePosition(String category, Position position) throws BadPositionCategoryException {
- super.removePosition(category, position);
- }
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocument#getPositions(java.lang.String)
- */
- public synchronized Position[] getPositions(String category) throws BadPositionCategoryException {
- return super.getPositions(category);
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocumentAdapter.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocumentAdapter.java
deleted file mode 100644
index 60b1f963d..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDocumentAdapter.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.jface.text.Assert;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentAdapter;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.jface.text.Region;
-import org.eclipse.swt.custom.TextChangeListener;
-import org.eclipse.swt.custom.TextChangedEvent;
-import org.eclipse.swt.custom.TextChangingEvent;
-
-/**
- * Adapts a Console's document to the viewer StyledText widget. Allows proper line
- * wrapping of fixed width consoles without having to add line delimeters to the StyledText.
- *
- * By using this adapter, the offset of any character is the same in both the widget and the
- * document.
- *
- * @since 3.1
- */
-public class ConsoleDocumentAdapter implements IDocumentAdapter, IDocumentListener {
-
- private int consoleWidth = -1;
- private List textChangeListeners;
- private IDocument document;
-
- private List regions;
- private Pattern pattern = Pattern.compile("$", Pattern.MULTILINE); //$NON-NLS-1$
-
- public ConsoleDocumentAdapter(int width) {
- textChangeListeners = new ArrayList();
- consoleWidth = width;
- regions = new ArrayList();
- }
-
- /*
- * repairs lines list from the beginning of the line containing the offset of any
- * DocumentEvent, to the end of the Document.
- */
- private void repairLines(int eventOffset) {
- try {
- int docLine = document.getLineOfOffset(eventOffset);
- int docLineStart = document.getLineOffset(docLine);
- int textLine = getLineAtOffset(docLineStart);
-
- for (int i=regions.size()-1; i>=textLine; i--) {
- regions.remove(i);
- }
-
- int numLinesInDoc = document.getNumberOfLines();
- String line = null;
- for (int i = docLine; i<numLinesInDoc; i++) {
- int offset = document.getLineOffset(i);
- int length = document.getLineLength(i);
-
- if (length == 0) {
- regions.add(new Region(offset, 0));
- } else {
- while (length > 0) {
- int wrappedLength = consoleWidth > 0 ? Math.min(consoleWidth, length) : length;
- regions.add(new Region(offset, wrappedLength));
- offset += wrappedLength;
- length -= wrappedLength;
- }
- }
- }
- if (line != null && lineEndsWithDelimeter(line)) {
- regions.add(new Region(document.getLength(), 0));
- }
-
- } catch (BadLocationException e) {
- }
-
- if (regions.size() == 0) {
- regions.add(new Region(document.getLength(), 0));
- }
- }
-
- /**
- * Returns <code>true</code> if the line ends with a legal line delimiter
- * @return <code>true</code> if the line ends with a legal line delimiter, <code>false</code> otherwise
- */
- private boolean lineEndsWithDelimeter(String line) {
- String[] lld = document.getLegalLineDelimiters();
- for (int i = 0; i < lld.length; i++) {
- if (line.endsWith(lld[i])) {
- return true;
- }
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocumentAdapter#setDocument(org.eclipse.jface.text.IDocument)
- */
- public void setDocument(IDocument doc) {
- if (document != null) {
- document.removeDocumentListener(this);
- }
-
- document = doc;
-
- if (document != null) {
- document.addDocumentListener(this);
- repairLines(0);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.custom.StyledTextContent#addTextChangeListener(org.eclipse.swt.custom.TextChangeListener)
- */
- public synchronized void addTextChangeListener(TextChangeListener listener) {
- Assert.isNotNull(listener);
- if (!textChangeListeners.contains(listener)) {
- textChangeListeners.add(listener);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.custom.StyledTextContent#removeTextChangeListener(org.eclipse.swt.custom.TextChangeListener)
- */
- public synchronized void removeTextChangeListener(TextChangeListener listener) {
- if(textChangeListeners != null) {
- Assert.isNotNull(listener);
- textChangeListeners.remove(listener);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.custom.StyledTextContent#getCharCount()
- */
- public int getCharCount() {
- return document.getLength();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.custom.StyledTextContent#getLine(int)
- */
- public String getLine(int lineIndex) {
- Region region = (Region) regions.get(lineIndex);
- try {
- StringBuffer line = new StringBuffer(document.get(region.getOffset(), region.getLength()));
- int index = line.length() - 1;
- while(index > -1 && (line.charAt(index)=='\n' || line.charAt(index)=='\r')) {
- index--;
- }
- return line.substring(0, index+1);
- } catch (BadLocationException e) {
- }
- return ""; //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.custom.StyledTextContent#getLineAtOffset(int)
- */
- public int getLineAtOffset(int offset) {
- if (offset == 0 || regions.size() <= 1) {
- return 0;
- }
-
- int left= 0;
- int right= regions.size() -1;
- int midIndex = 0;
- Region mid = null;
-
- while (left <= right) {
- midIndex= (left + right) / 2;
-
- mid = (Region) regions.get(midIndex);
- if (offset < mid.getOffset()) {
- right = midIndex;
- } else if (offset >= mid.getOffset() + mid.getLength()) {
- left = midIndex + 1;
- } else {
- return midIndex;
- }
- }
-
- return midIndex;
- }
-
-
-
-
-
-
-// //offset can be greater than length when user is deleting.
-// if (offset >= document.getLength()) {
-// int size = lines.size();
-// return size > 0 ? size-1 : 0;
-// }
-//
-// int len = 0;
-// int line = 0;
-// for (Iterator i = lines.iterator(); i.hasNext(); ) {
-// String s = (String)i.next();
-// len += s.length();
-// if (len > offset) {
-// return line;
-// }
-// line++;
-// }
-// return lines.size() - 1;
-// }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.custom.StyledTextContent#getLineCount()
- */
- public int getLineCount() {
- return regions.size();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.custom.StyledTextContent#getLineDelimiter()
- */
- public String getLineDelimiter() {
- return System.getProperty("line.separator"); //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.custom.StyledTextContent#getOffsetAtLine(int)
- */
- public int getOffsetAtLine(int lineIndex) {
- return ((Region) regions.get(lineIndex)).getOffset();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.custom.StyledTextContent#getTextRange(int, int)
- */
- public String getTextRange(int start, int length) {
- try {
- return document.get(start, length);
- } catch (BadLocationException e) {
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.custom.StyledTextContent#replaceTextRange(int, int, java.lang.String)
- */
- public void replaceTextRange(int start, int replaceLength, String text) {
- try {
- document.replace(start, replaceLength, text);
- } catch (BadLocationException e) {
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.swt.custom.StyledTextContent#setText(java.lang.String)
- */
- public synchronized void setText(String text) {
- TextChangedEvent changeEvent = new TextChangedEvent(this);
- for (Iterator iter = textChangeListeners.iterator(); iter.hasNext();) {
- TextChangeListener element = (TextChangeListener) iter.next();
- element.textSet(changeEvent);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocumentListener#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
- */
- public synchronized void documentAboutToBeChanged(DocumentEvent event) {
- if (document == null) {
- return;
- }
-
- TextChangingEvent changeEvent = new TextChangingEvent(this);
- changeEvent.start = event.fOffset;
- changeEvent.newText = (event.fText == null ? "" : event.fText); //$NON-NLS-1$
- changeEvent.replaceCharCount = event.fLength;
- changeEvent.newCharCount = (event.fText == null ? 0 : event.fText.length());
-
- int first = getLineAtOffset(event.fOffset);
- int last = getLineAtOffset(event.fOffset + event.fLength);
- changeEvent.replaceLineCount= last - first;
-
- changeEvent.newLineCount = countLines(event.fText) -1;
-
- for (Iterator iter = textChangeListeners.iterator(); iter.hasNext();) {
- TextChangeListener element = (TextChangeListener) iter.next();
- element.textChanging(changeEvent);
- }
- }
-
- /**
- * Counts the number of lines the viewer's text widget will need to use to
- * display the String
- * @return The number of lines necessary to display the string in the viewer.
- */
- private int countLines(String string) {
- Matcher matcher = pattern.matcher(string);
- int count = 0;
- while(matcher.find()) {
- if (consoleWidth > 0) {
- String line = matcher.group();
- count += (line.length() / consoleWidth) + 1;
- } else {
- count++;
- }
- }
- return count;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.IDocumentListener#documentChanged(org.eclipse.jface.text.DocumentEvent)
- */
- public synchronized void documentChanged(DocumentEvent event) {
- if (document == null) {
- return;
- }
-
- repairLines(event.fOffset);
-
- TextChangedEvent changeEvent = new TextChangedEvent(this);
-
- for (Iterator iter = textChangeListeners.iterator(); iter.hasNext();) {
- TextChangeListener element = (TextChangeListener) iter.next();
- element.textChanged(changeEvent);
- }
- }
-
- /**
- * sets consoleWidth, repairs line information, then fires event to the viewer text widget.
- * @param width The console's width
- */
- public void setWidth(int width) {
- consoleWidth = width;
- repairLines(0);
- TextChangedEvent changeEvent = new TextChangedEvent(this);
- for (Iterator iter = textChangeListeners.iterator(); iter.hasNext();) {
- TextChangeListener element = (TextChangeListener) iter.next();
- element.textSet(changeEvent);
- }
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java
deleted file mode 100644
index e533414ed..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleDropDownAction.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-
-import java.util.List;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsoleListener;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Drop down action in the console to select the console to display.
- */
-class ConsoleDropDownAction extends Action implements IMenuCreator, IConsoleListener, IUpdate {
-
- private IConsoleView fView;
- private Menu fMenu;
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.texteditor.IUpdate#update()
- */
- public void update() {
- IConsole[] consoles = ConsolePlugin.getDefault().getConsoleManager().getConsoles();
- setEnabled(consoles.length > 1);
- }
-
- public ConsoleDropDownAction(IConsoleView view) {
- fView= view;
- setText(ConsoleMessages.getString("ConsoleDropDownAction.0")); //$NON-NLS-1$
- setToolTipText(ConsoleMessages.getString("ConsoleDropDownAction.1")); //$NON-NLS-1$
- setImageDescriptor(ConsolePluginImages.getImageDescriptor(IConsoleConstants.IMG_VIEW_CONSOLE));
- setMenuCreator(this);
- ConsolePlugin.getDefault().getConsoleManager().addConsoleListener(this);
- update();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.IMenuCreator#dispose()
- */
- public void dispose() {
- if (fMenu != null) {
- fMenu.dispose();
- }
-
- fView= null;
- ConsolePlugin.getDefault().getConsoleManager().removeConsoleListener(this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
- */
- public Menu getMenu(Menu parent) {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control)
- */
- public Menu getMenu(Control parent) {
- if (fMenu != null) {
- fMenu.dispose();
- }
-
- fMenu= new Menu(parent);
- IConsole[] consoles= ConsolePlugin.getDefault().getConsoleManager().getConsoles();
- IConsole current = fView.getConsole();
- for (int i = 0; i < consoles.length; i++) {
- IConsole console = consoles[i];
- Action action = new ShowConsoleAction(fView, console);
- action.setChecked(console.equals(current));
- addActionToMenu(fMenu, action, i + 1);
- }
- return fMenu;
- }
-
- private void addActionToMenu(Menu parent, Action action, int accelerator) {
- if (accelerator < 10) {
- StringBuffer label= new StringBuffer();
- //add the numerical accelerator
- label.append('&');
- label.append(accelerator);
- label.append(' ');
- label.append(action.getText());
- action.setText(label.toString());
- }
- ActionContributionItem item= new ActionContributionItem(action);
- item.fill(parent, -1);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run() {
- List stack = ((ConsoleView)fView).getConsoleStack();
- if (stack.size() > 1) {
- IConsole console = (IConsole) stack.get(1);
- fView.display(console);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleListener#consolesAdded(org.eclipse.ui.console.IConsole[])
- */
- public void consolesAdded(IConsole[] consoles) {
- Display display = ConsolePlugin.getStandardDisplay();
- display.asyncExec(new Runnable() {
- public void run() {
- update();
- }
- });
- }
-
- /* (non-Javadoc)
- *
- * Dispose the menu when a launch is removed, such that the actions in this
- * menu do not hang on to associated resources.
- *
- * @see org.eclipse.ui.console.IConsoleListener#consolesRemoved(org.eclipse.ui.console.IConsole[])
- */
- public void consolesRemoved(IConsole[] consoles) {
- Display display = ConsolePlugin.getStandardDisplay();
- display.asyncExec(new Runnable() {
- public void run() {
- if (fMenu != null) {
- fMenu.dispose();
- }
- update();
- }
- });
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleFactoryExtension.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleFactoryExtension.java
deleted file mode 100644
index 912a88cac..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleFactoryExtension.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.core.expressions.EvaluationResult;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.expressions.ExpressionConverter;
-import org.eclipse.core.expressions.ExpressionTagNames;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.IPluginContribution;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleFactory;
-import org.osgi.framework.Bundle;
-
-/**
- * @since 3.1
- */
-public class ConsoleFactoryExtension implements IPluginContribution {
-
- private IConfigurationElement fConfig;
- private Expression fEnablementExpression;
- private String fLabel;
- private ImageDescriptor fImageDescriptor;
- private IConsoleFactory fFactory;
-
- ConsoleFactoryExtension(IConfigurationElement config) {
- fConfig = config;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPluginContribution#getLocalId()
- */
- public String getLocalId() {
- return fConfig.getAttribute("id"); //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPluginContribution#getPluginId()
- */
- public String getPluginId() {
- return fConfig.getNamespace();
- }
-
- public boolean isEnabled() {
- try {
- Expression enablementExpression = getEnablementExpression();
- if (enablementExpression == null) {
- return true;
- }
- EvaluationContext context = new EvaluationContext(null, this);
- EvaluationResult evaluationResult = enablementExpression.evaluate(context);
- return evaluationResult != EvaluationResult.FALSE;
- } catch (CoreException e) {
- ConsolePlugin.log(e);
- return false;
- }
- }
-
- public Expression getEnablementExpression() throws CoreException {
- if (fEnablementExpression == null) {
- IConfigurationElement[] elements = fConfig.getChildren(ExpressionTagNames.ENABLEMENT);
- IConfigurationElement enablement = elements.length > 0 ? elements[0] : null;
-
- if (enablement != null) {
- fEnablementExpression = ExpressionConverter.getDefault().perform(enablement);
- }
- }
- return fEnablementExpression;
- }
-
- public String getLabel() {
- if (fLabel == null) {
- fLabel = fConfig.getAttribute("label"); //$NON-NLS-1$
- }
- return fLabel;
- }
-
- /**
- * @return
- */
- public ImageDescriptor getImageDescriptor() {
- if (fImageDescriptor == null) {
- try {
- String path = fConfig.getAttributeAsIs("icon"); //$NON-NLS-1$
- if (path != null) {
- Bundle bundle = Platform.getBundle(getPluginId());
- URL url = bundle.getEntry("/"); //$NON-NLS-1$
- url = new URL(url, path); //$NON-NLS-1$
- fImageDescriptor = ImageDescriptor.createFromURL(url);
- }
-
- } catch (MalformedURLException e) {
- ConsolePlugin.log(e);
- }
- }
- return fImageDescriptor;
- }
-
- /**
- * @return
- * @throws CoreException
- */
- public IConsoleFactory createFactory() throws CoreException {
- if (fFactory == null) {
- fFactory = (IConsoleFactory) fConfig.createExecutableExtension("class"); //$NON-NLS-1$
- }
- return fFactory;
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleHyperlinkPosition.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleHyperlinkPosition.java
deleted file mode 100644
index 6bcc98719..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleHyperlinkPosition.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.text.Position;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IHyperlink;
-
-/**
- * Describes the postition of a hyperlink within the Console's document.
- *
- * @since 3.1
- */
-public class ConsoleHyperlinkPosition extends Position {
-
- public static final String HYPER_LINK_CATEGORY = ConsolePlugin.getUniqueIdentifier() + ".CONSOLE_HYPERLINK_POSITION"; //$NON-NLS-1$
-
- private IHyperlink fLink = null;
-
- public ConsoleHyperlinkPosition(IHyperlink link, int offset, int length) {
- super(offset, length);
- fLink = link;
- }
-
- public IHyperlink getHyperLink() {
- return fLink;
- }
-
- /**
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object arg) {
- return arg instanceof ConsoleHyperlinkPosition && super.equals(arg) && getHyperLink().equals(((ConsoleHyperlinkPosition)arg).getHyperLink());
- }
-
- /**
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return super.hashCode() + getHyperLink().hashCode();
- }
-
-} \ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleManager.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleManager.java
deleted file mode 100644
index 0030801aa..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleManager.java
+++ /dev/null
@@ -1,361 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.util.ListenerList;
-import org.eclipse.ui.IViewPart;
-import org.eclipse.ui.IWindowListener;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsoleListener;
-import org.eclipse.ui.console.IConsoleManager;
-import org.eclipse.ui.console.IConsolePageParticipant;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.console.IPatternMatchListener;
-import org.eclipse.ui.console.TextConsole;
-
-/**
- * The singleton console manager.
- *
- * @since 3.0
- */
-public class ConsoleManager implements IConsoleManager {
-
- /**
- * Console listeners
- */
- private ListenerList fListeners = null;
-
- /**
- * List of registered consoles
- */
- private List fConsoles = new ArrayList(10);
-
- // change notification constants
- private final static int ADDED = 1;
- private final static int REMOVED = 2;
-
- private List fPatternMatchListeners;
-
- private List fPageParticipants;
-
- private List fConsoleFactoryExtensions;
-
- private IWindowListener fWindowListener;
-
- private boolean fWarnQueued = false;
-
- /**
- * Notifies a console listener of additions or removals
- */
- class ConsoleNotifier implements ISafeRunnable {
-
- private IConsoleListener fListener;
- private int fType;
- private IConsole[] fChanged;
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
- */
- public void handleException(Throwable exception) {
- IStatus status = new Status(IStatus.ERROR, ConsolePlugin.getUniqueIdentifier(), IConsoleConstants.INTERNAL_ERROR, ConsoleMessages.getString("ConsoleManager.0"), exception); //$NON-NLS-1$
- ConsolePlugin.log(status);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.ISafeRunnable#run()
- */
- public void run() throws Exception {
- switch (fType) {
- case ADDED:
- fListener.consolesAdded(fChanged);
- break;
- case REMOVED:
- fListener.consolesRemoved(fChanged);
- break;
- }
- }
-
- /**
- * Notifies the given listener of the adds/removes
- *
- * @param consoles the consoles that changed
- * @param update the type of change
- */
- public void notify(IConsole[] consoles, int update) {
- if (fListeners == null) {
- return;
- }
- fChanged = consoles;
- fType = update;
- Object[] copiedListeners= fListeners.getListeners();
- for (int i= 0; i < copiedListeners.length; i++) {
- fListener = (IConsoleListener)copiedListeners[i];
- Platform.run(this);
- }
- fChanged = null;
- fListener = null;
- }
- }
-
-
- public ConsoleManager() {
- fWindowListener = new IWindowListener() {
- public void windowActivated(IWorkbenchWindow window) {
- }
- public void windowDeactivated(IWorkbenchWindow window) {
- }
- public void windowOpened(IWorkbenchWindow window) {
- }
- public void windowClosed(IWorkbenchWindow window) {
- removeConsoles((IConsole[]) fConsoles.toArray(new IConsole[0]));
- }
- };
-
- ConsolePlugin.getDefault().getWorkbench().addWindowListener(fWindowListener);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleManager#addConsoleListener(org.eclipse.ui.console.IConsoleListener)
- */
- public void addConsoleListener(IConsoleListener listener) {
- if (fListeners == null) {
- fListeners = new ListenerList(5);
- }
- fListeners.add(listener);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleManager#removeConsoleListener(org.eclipse.ui.console.IConsoleListener)
- */
- public void removeConsoleListener(IConsoleListener listener) {
- if (fListeners != null) {
- fListeners.remove(listener);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleManager#addConsoles(org.eclipse.ui.console.IConsole[])
- */
- public synchronized void addConsoles(IConsole[] consoles) {
- List added = new ArrayList(consoles.length);
- for (int i = 0; i < consoles.length; i++) {
- IConsole console = consoles[i];
- if(console instanceof TextConsole) {
- TextConsole ioconsole = (TextConsole)console;
- IPatternMatchListener[] matchListeners = getPatternMatchListeners(ioconsole);
- for (int j = 0; j < matchListeners.length; j++) {
- ioconsole.addPatternMatchListener(matchListeners[j]);
- }
- }
- if (!fConsoles.contains(console)) {
- fConsoles.add(console);
- added.add(console);
- }
- }
- if (!added.isEmpty()) {
- fireUpdate((IConsole[])added.toArray(new IConsole[added.size()]), ADDED);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleManager#removeConsoles(org.eclipse.ui.console.IConsole[])
- */
- public synchronized void removeConsoles(IConsole[] consoles) {
- List removed = new ArrayList(consoles.length);
- for (int i = 0; i < consoles.length; i++) {
- IConsole console = consoles[i];
- if (fConsoles.remove(console)) {
- removed.add(console);
- }
- }
- if (!removed.isEmpty()) {
- fireUpdate((IConsole[])removed.toArray(new IConsole[removed.size()]), REMOVED);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleManager#getConsoles()
- */
- public synchronized IConsole[] getConsoles() {
- return (IConsole[])fConsoles.toArray(new IConsole[fConsoles.size()]);
- }
-
- /**
- * Fires notification.
- *
- * @param consoles consoles added/removed
- * @param type ADD or REMOVE
- */
- private void fireUpdate(IConsole[] consoles, int type) {
- new ConsoleNotifier().notify(consoles, type);
- }
-
- /**
- * @see IConsoleManager#showConsoleView(IConsole)
- */
- public void showConsoleView(final IConsole console) {
- ConsolePlugin.getStandardDisplay().asyncExec(new Runnable() {
- public void run() {
- IWorkbenchWindow window= PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window != null) {
- IWorkbenchPage page= window.getActivePage();
- if (page != null) {
- IViewPart consoleView= page.findView(IConsoleConstants.ID_CONSOLE_VIEW);
- if (consoleView == null) {
- try {
- consoleView = page.showView(IConsoleConstants.ID_CONSOLE_VIEW, null, IWorkbenchPage.VIEW_CREATE);
- } catch (PartInitException pie) {
- ConsolePlugin.log(pie);
- }
- }
- boolean bringToTop = shouldBringToTop(console, consoleView);
- if (bringToTop) {
- page.bringToTop(consoleView);
- }
-
- if (consoleView instanceof IConsoleView) {
- ((IConsoleView)consoleView).display(console);
- }
- }
- }
- }
- });
- }
-
- /**
- * Returns whether the given console view should be brought to the top.
- * The view should not be brought to the top if the view is pinned on
- * a console other than the given console.
- */
- private boolean shouldBringToTop(IConsole console, IViewPart consoleView) {
- boolean bringToTop= true;
- if (consoleView instanceof IConsoleView) {
- IConsoleView cView= (IConsoleView)consoleView;
- if (cView.isPinned()) {
- IConsole pinnedConsole= cView.getConsole();
- bringToTop = console.equals(pinnedConsole);
- }
- }
- return bringToTop;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleManager#warnOfContentChange(org.eclipse.ui.console.IConsole)
- */
- public void warnOfContentChange(final IConsole console) {
- if (!fWarnQueued) {
- fWarnQueued = true;
- ConsolePlugin.getStandardDisplay().asyncExec(new Runnable(){
- public void run() {
- IWorkbenchWindow window= PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window != null) {
- IWorkbenchPage page= window.getActivePage();
- if (page != null) {
- IConsoleView consoleView= (IConsoleView)page.findView(IConsoleConstants.ID_CONSOLE_VIEW);
- if (consoleView != null) {
- consoleView.warnOfContentChange(console);
- }
- }
- }
- fWarnQueued = false;
- }
- });
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleManager#getPatternMatchListenerDelegates(org.eclipse.ui.console.IConsole)
- */
- public IPatternMatchListener[] getPatternMatchListeners(IConsole console) {
- if (fPatternMatchListeners == null) {
- fPatternMatchListeners = new ArrayList();
- IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(ConsolePlugin.getUniqueIdentifier(), IConsoleConstants.EXTENSION_POINT_CONSOLE_PATTERN_MATCH_LISTENERS);
- IConfigurationElement[] elements = extensionPoint.getConfigurationElements();
- for (int i = 0; i < elements.length; i++) {
- IConfigurationElement config = elements[i];
- PatternMatchListenerExtension extension = new PatternMatchListenerExtension(config);
- fPatternMatchListeners.add(extension); //$NON-NLS-1$
- }
- }
- ArrayList list = new ArrayList();
- for(Iterator i = fPatternMatchListeners.iterator(); i.hasNext(); ) {
- PatternMatchListenerExtension extension = (PatternMatchListenerExtension) i.next();
- try {
- if (extension.isEnabledFor(console)) {
- list.add(new PatternMatchListener(extension));
- }
- } catch (CoreException e) {
- ConsolePlugin.log(e);
- }
- }
- return (PatternMatchListener[])list.toArray(new PatternMatchListener[0]);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleManager#getPageParticipants(org.eclipse.ui.console.IConsole)
- */
- public IConsolePageParticipant[] getPageParticipants(IConsole console) {
- if(fPageParticipants == null) {
- fPageParticipants = new ArrayList();
- IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(ConsolePlugin.getUniqueIdentifier(), IConsoleConstants.EXTENSION_POINT_CONSOLE_PAGE_PARTICIPANTS);
- IConfigurationElement[] elements = extensionPoint.getConfigurationElements();
- for(int i = 0; i < elements.length; i++) {
- IConfigurationElement config = elements[i];
- ConsolePageParticipantExtension extension = new ConsolePageParticipantExtension(config);
- fPageParticipants.add(extension);
- }
- }
- ArrayList list = new ArrayList();
- for(Iterator i = fPageParticipants.iterator(); i.hasNext(); ) {
- ConsolePageParticipantExtension extension = (ConsolePageParticipantExtension) i.next();
- try {
- if (extension.isEnabledFor(console)) {
- list.add(extension.createDelegate());
- }
- } catch (CoreException e) {
- ConsolePlugin.log(e);
- }
- }
- return (IConsolePageParticipant[]) list.toArray(new IConsolePageParticipant[0]);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleManager#getConsoleFactories()
- */
- public ConsoleFactoryExtension[] getConsoleFactoryExtensions() {
- if (fConsoleFactoryExtensions == null) {
- fConsoleFactoryExtensions = new ArrayList();
- IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(ConsolePlugin.getUniqueIdentifier(), IConsoleConstants.EXTENSION_POINT_CONSOLE_FACTORIES);
- IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements();
- for (int i = 0; i < configurationElements.length; i++) {
- fConsoleFactoryExtensions.add(new ConsoleFactoryExtension(configurationElements[i]));
- }
- }
- return (ConsoleFactoryExtension[]) fConsoleFactoryExtensions.toArray(new ConsoleFactoryExtension[0]);
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.java
deleted file mode 100644
index 6c89e23f6..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-/**
- * ConsoleMessages
- */
-public class ConsoleMessages {
-
- private static final String BUNDLE_NAME = "org.eclipse.ui.internal.console.ConsoleMessages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE =
- ResourceBundle.getBundle(BUNDLE_NAME);
-
- private ConsoleMessages() {
- }
-
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.properties b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.properties
deleted file mode 100644
index 0803db75b..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleMessages.properties
+++ /dev/null
@@ -1,67 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-AbstractConsole.0=Exception occurred during console property change notification.
-
-ConsoleDropDownAction.0=Select Console
-ConsoleDropDownAction.1=Display Selected Console
-
-ConsoleManager.0=An exception occurred during console notification
-
-ConsoleView.0=Console
-
-
-find_replace_action.label=&Find/Replace...@Ctrl+F
-find_replace_action.tooltip=Find/Replace
-find_replace_action.image=
-find_replace_action.description=Find/Replace
-
-MessageConsolePage.&Copy@Ctrl+C_6=&Copy@Ctrl+C
-MessageConsolePage.Copy_7=Copy
-MessageConsolePage.Select_&All@Ctrl+A_12=Select &All@Ctrl+A
-MessageConsolePage.Select_All=Select All
-
-MessageConsolePartitioner.2=Low water mark must be less than high water mark.
-MessageConsolePartitioner.3=Low water mark must be greater than or equal to 1000.
-
-PinConsoleAction.0=Pi&n Console
-PinConsoleAction.1=Pin Console
-
-ClearOutputAction.title=Clea&r
-ClearOutputAction.toolTipText=Clear Console
-
-TextViewerGotoLineAction.Enter_line_number__8=Enter line number (1...{0}):
-TextViewerGotoLineAction.Exceptions_occurred_attempt_to_go_to_line_2=Exceptions occurred attempt to go to line
-TextViewerGotoLineAction.Go_to_&Line...@Ctrl+L_4=Go to &Line...@Ctrl+L
-TextViewerGotoLineAction.Go_To_Line_1=Go to Line
-TextViewerGotoLineAction.Line_number_out_of_range_1=Line number out of range
-TextViewerGotoLineAction.Not_a_number_2=Not a number
-
-IOConsolePage.0=Select &All@Ctrl+A
-IOConsolePage.1=Select All
-IOConsolePage.10=Paste
-IOConsolePage.11=Paste
-IOConsolePage.2=Select All
-IOConsolePage.3=Cut
-IOConsolePage.4=Cut
-IOConsolePage.5=Cut
-IOConsolePage.6=Copy
-IOConsolePage.7=Copy
-IOConsolePage.8=Copy
-IOConsolePage.9=Paste
-ScrollLockAction.0=Scroll Lock
-ScrollLockAction.1=Scroll Lock
-FollowHyperlinkAction.0=&Open Link
-FollowHyperlinkAction.1=Follow the selected hyperlink
-OpenConsoleAction.0=Open Console
-OpenConsoleAction.1=Open Console
-CloseConsoleAction.0=&Close Console
-CloseConsoleAction.1=Close Console
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePageParticipantExtension.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePageParticipantExtension.java
deleted file mode 100644
index 70cc13b14..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePageParticipantExtension.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.core.expressions.EvaluationResult;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.expressions.ExpressionConverter;
-import org.eclipse.core.expressions.ExpressionTagNames;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.ui.IPluginContribution;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsolePageParticipant;
-
-public class ConsolePageParticipantExtension implements IPluginContribution {
-
- private IConfigurationElement fConfig;
- private Expression fEnablementExpression;
-
- public ConsolePageParticipantExtension(IConfigurationElement config) {
- fConfig = config;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPluginContribution#getLocalId()
- */
- public String getLocalId() {
- return fConfig.getAttribute("id"); //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPluginContribution#getPluginId()
- */
- public String getPluginId() {
- return fConfig.getNamespace();
- }
-
- public boolean isEnabledFor(IConsole console) throws CoreException {
- EvaluationContext context = new EvaluationContext(null, console);
- EvaluationResult evaluationResult = getEnablementExpression().evaluate(context);
- return evaluationResult == EvaluationResult.TRUE;
- }
-
- public Expression getEnablementExpression() throws CoreException {
- if (fEnablementExpression == null) {
- IConfigurationElement[] elements = fConfig.getChildren(ExpressionTagNames.ENABLEMENT);
- IConfigurationElement enablement = elements.length > 0 ? elements[0] : null;
-
- if (enablement != null) {
- fEnablementExpression = ExpressionConverter.getDefault().perform(enablement);
- }
- }
- return fEnablementExpression;
- }
-
- public IConsolePageParticipant createDelegate() throws CoreException {
- return (IConsolePageParticipant) fConfig.createExecutableExtension("class"); //$NON-NLS-1$;
- }
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java
deleted file mode 100644
index 8145beef0..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePatternMatcher.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.ui.internal.console;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IPatternMatchListener;
-import org.eclipse.ui.console.PatternMatchEvent;
-import org.eclipse.ui.console.TextConsole;
-
-public class ConsolePatternMatcher implements IDocumentListener {
-
- private MatchJob fMatchJob = new MatchJob();
-
- /**
- * Collection of compiled pattern match listeners
- */
- private ArrayList patterns = new ArrayList();
-
- private TextConsole fConsole;
-
- private boolean fFinalMatch;
-
- private boolean fScheduleFinal;
-
- public ConsolePatternMatcher(TextConsole console) {
- fConsole = console;
- fMatchJob.setRule(fConsole.getSchedulingRule());
- }
-
- private class MatchJob extends Job {
- MatchJob() {
- super("Match Job"); //$NON-NLS-1$
- setSystem(true);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
- */
- protected IStatus run(IProgressMonitor monitor) {
- IDocument doc = fConsole.getDocument();
- String text = null;
- int prevBaseOffset = -1;
- if (doc != null && !monitor.isCanceled()) {
- int endOfSearch = doc.getLength();
- int indexOfLastChar = endOfSearch;
- if (indexOfLastChar > 0) {
- indexOfLastChar--;
- }
- int lastLineToSearch = 0;
- int offsetOfLastLineToSearch = 0;
- try {
- lastLineToSearch = doc.getLineOfOffset(indexOfLastChar);
- offsetOfLastLineToSearch = doc.getLineOffset(lastLineToSearch);
- } catch (BadLocationException e) {
- // perhaps the buffer was re-set
- return Status.OK_STATUS;
- }
- for (int i = 0; i < patterns.size(); i++) {
- if (monitor.isCanceled()) {
- break;
- }
- CompiledPatternMatchListener notifier = (CompiledPatternMatchListener) patterns.get(i);
- int baseOffset = notifier.end;
- int lengthToSearch = endOfSearch - baseOffset;
- if (lengthToSearch > 0) {
- try {
- if (prevBaseOffset != baseOffset) {
- // reuse the text string if possible
- text = doc.get(baseOffset, lengthToSearch);
- }
- Matcher reg = notifier.pattern.matcher(text);
- Matcher quick = null;
- if (notifier.qualifier != null) {
- quick = notifier.qualifier.matcher(text);
- }
- int startOfNextSearch = 0;
- int endOfLastMatch = -1;
- int lineOfLastMatch = -1;
- while ((startOfNextSearch < lengthToSearch) && !monitor.isCanceled()) {
- if (quick != null) {
- if (quick.find(startOfNextSearch)) {
- // start searching on the beginning
- // of the line where the potential
- // match was found, or after the
- // last match on the same line
- int matchLine = doc.getLineOfOffset(baseOffset + quick.start());
- if (lineOfLastMatch == matchLine) {
- startOfNextSearch = endOfLastMatch;
- } else {
- startOfNextSearch = doc.getLineOffset(matchLine) - baseOffset;
- }
- } else {
- startOfNextSearch = lengthToSearch;
- }
- }
- if (startOfNextSearch < 0) {
- startOfNextSearch = 0;
- }
- if (startOfNextSearch < lengthToSearch) {
- if (reg.find(startOfNextSearch)) {
- endOfLastMatch = reg.end();
- lineOfLastMatch = doc.getLineOfOffset(baseOffset + endOfLastMatch - 1);
- int regStart = reg.start();
- IPatternMatchListener listener = notifier.listener;
- if (listener != null && !monitor.isCanceled()) {
- listener.matchFound(new PatternMatchEvent(fConsole, baseOffset + regStart, endOfLastMatch - regStart));
- }
- startOfNextSearch = endOfLastMatch;
- } else {
- startOfNextSearch = lengthToSearch;
- }
- }
- }
- // update start of next search to the last line
- // searched
- // or the end of the last match if it was on the
- // line that
- // was last searched
- if (lastLineToSearch == lineOfLastMatch) {
- notifier.end = baseOffset + endOfLastMatch;
- } else {
- notifier.end = offsetOfLastLineToSearch;
- }
- } catch (BadLocationException e) {
- ConsolePlugin.log(e);
- }
- }
- prevBaseOffset = baseOffset;
- }
- }
-
- if (fFinalMatch) {
- fConsole.matcherFinished();
- } else if (fScheduleFinal) {
- fFinalMatch = true;
- schedule();
- }
-
-
- return Status.OK_STATUS;
- }
- }
-
- private class CompiledPatternMatchListener {
- Pattern pattern;
-
- Pattern qualifier;
-
- IPatternMatchListener listener;
-
- int end = 0;
-
- CompiledPatternMatchListener(Pattern pattern, Pattern qualifier, IPatternMatchListener matchListener) {
- this.pattern = pattern;
- this.listener = matchListener;
- this.qualifier = qualifier;
- }
-
- public void dispose() {
- listener.disconnect();
- pattern = null;
- qualifier = null;
- listener = null;
- }
- }
-
- /**
- * Adds the given pattern match listener to this console. The listener will
- * be connected and receive match notifications.
- *
- * @param matchListener
- * the pattern match listener to add
- */
- public void addPatternMatchListener(IPatternMatchListener matchListener) {
- synchronized (patterns) {
- // TODO: check for dups
- if (matchListener == null || matchListener.getPattern() == null) {
- throw new IllegalArgumentException("Pattern cannot be null"); //$NON-NLS-1$
- }
-
- Pattern pattern = Pattern.compile(matchListener.getPattern(), matchListener.getCompilerFlags());
- String qualifier = matchListener.getLineQualifier();
- Pattern qPattern = null;
- if (qualifier != null) {
- qPattern = Pattern.compile(qualifier, matchListener.getCompilerFlags());
- }
- CompiledPatternMatchListener notifier = new CompiledPatternMatchListener(pattern, qPattern, matchListener);
- patterns.add(notifier);
- matchListener.connect(fConsole);
- fMatchJob.schedule();
- }
- }
-
- /**
- * Removes the given pattern match listener from this console. The listener
- * will be disconnected and will no longer receive match notifications.
- *
- * @param matchListener
- * the pattern match listener to remove.
- */
- public void removePatternMatchListener(IPatternMatchListener matchListener) {
- synchronized (patterns) {
- for (Iterator iter = patterns.iterator(); iter.hasNext();) {
- CompiledPatternMatchListener element = (CompiledPatternMatchListener) iter.next();
- if (element.listener == matchListener) {
- iter.remove();
- matchListener.disconnect();
- }
- }
- }
- }
-
- public void disconnect() {
- fMatchJob.cancel();
- synchronized (patterns) {
- Iterator iterator = patterns.iterator();
- while (iterator.hasNext()) {
- CompiledPatternMatchListener notifier = (CompiledPatternMatchListener) iterator.next();
- notifier.dispose();
- }
- patterns.clear();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.text.IDocumentListener#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
- */
- public void documentAboutToBeChanged(DocumentEvent event) {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.text.IDocumentListener#documentChanged(org.eclipse.jface.text.DocumentEvent)
- */
- public void documentChanged(DocumentEvent event) {
- if (event.fLength > 0) {
- synchronized (patterns) {
- if (event.fDocument.getLength() == 0) {
- // document has been cleared, reset match listeners
- Iterator iter = patterns.iterator();
- while (iter.hasNext()) {
- CompiledPatternMatchListener notifier = (CompiledPatternMatchListener) iter.next();
- notifier.end = 0;
- }
- } else {
- if (event.fOffset == 0) {
- //document was trimmed
- Iterator iter = patterns.iterator();
- while (iter.hasNext()) {
- CompiledPatternMatchListener notifier = (CompiledPatternMatchListener) iter.next();
- notifier.end = notifier.end > event.fLength ? notifier.end-event.fLength : 0;
- }
- }
- }
- }
- }
- fMatchJob.schedule();
- }
-
- /**
- * @return
- */
- public boolean isScheduled() {
- return fMatchJob.getState()==Job.NONE;
- }
-
- public void forceFinalMatching() {
- fScheduleFinal = true;
- fMatchJob.schedule();
- }
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java
deleted file mode 100644
index 2e1e19301..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsolePluginImages.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleConstants;
-
-/**
- * The images provided by the debug plugin.
- */
-public class ConsolePluginImages {
-
- /**
- * The image registry containing <code>Image</code>s.
- */
- private static ImageRegistry imageRegistry;
-
- /**
- * A table of all the <code>ImageDescriptor</code>s.
- */
- private static Map imageDescriptors;
-
- /* Declare Common paths */
- private static URL ICON_BASE_URL= null;
-
- static {
- String pathSuffix = "icons/full/"; //$NON-NLS-1$
- ICON_BASE_URL= ConsolePlugin.getDefault().getBundle().getEntry(pathSuffix);
- }
-
- // Use IPath and toOSString to build the names to ensure they have the slashes correct
- private final static String LOCALTOOL= "clcl16/"; //basic colors - size 16x16 //$NON-NLS-1$
- private final static String DLCL= "dlcl16/"; //disabled - size 16x16 //$NON-NLS-1$
- private final static String ELCL= "elcl16/"; //enabled - size 16x16 //$NON-NLS-1$
- private final static String VIEW= "cview16/"; // views //$NON-NLS-1$
-
- /**
- * Declare all images
- */
- private static void declareImages() {
- // Actions
-
- //local toolbars
- declareRegistryImage(IConsoleConstants.IMG_LCL_CLEAR, LOCALTOOL + "clear_co.gif"); //$NON-NLS-1$
- declareRegistryImage(IInternalConsoleConstants.IMG_LCL_PIN, LOCALTOOL + "pin.gif"); //$NON-NLS-1$
- declareRegistryImage(IInternalConsoleConstants.IMG_LCL_LOCK, LOCALTOOL + "lock_co.gif"); //$NON-NLS-1$
-
- // disabled local toolbars
- declareRegistryImage(IInternalConsoleConstants.IMG_DLCL_CLEAR, DLCL + "clear_co.gif"); //$NON-NLS-1$
- declareRegistryImage(IInternalConsoleConstants.IMG_DLCL_PIN, DLCL + "pin.gif"); //$NON-NLS-1$
- declareRegistryImage(IInternalConsoleConstants.IMG_DLCL_LOCK, DLCL + "lock_co.gif"); //$NON-NLS-1$
- declareRegistryImage(IInternalConsoleConstants.IMG_DLCL_CLOSE, DLCL + "rem_co.gif"); //$NON-NLS-1$
-
- // enabled local toolbars
- declareRegistryImage(IInternalConsoleConstants.IMG_ELCL_CLEAR, ELCL + "clear_co.gif"); //$NON-NLS-1$
- declareRegistryImage(IInternalConsoleConstants.IMG_ELCL_PIN, ELCL + "pin.gif"); //$NON-NLS-1$
- declareRegistryImage(IInternalConsoleConstants.IMG_ELCL_LOCK, ELCL + "lock_co.gif"); //$NON-NLS-1$
- declareRegistryImage(IInternalConsoleConstants.IMG_ELCL_CLOSE, ELCL + "rem_co.gif"); //$NON-NLS-1$
- declareRegistryImage(IInternalConsoleConstants.IMG_ELCL_NEW_CON, ELCL + "new_con.gif"); //$NON-NLS-1$
-
- // Views
- declareRegistryImage(IConsoleConstants.IMG_VIEW_CONSOLE, VIEW + "console_view.gif"); //$NON-NLS-1$
- }
-
- /**
- * Declare an Image in the registry table.
- * @param key The key to use when registering the image
- * @param path The path where the image can be found. This path is relative to where
- * this plugin class is found (i.e. typically the packages directory)
- */
- private final static void declareRegistryImage(String key, String path) {
- ImageDescriptor desc= ImageDescriptor.getMissingImageDescriptor();
- try {
- desc= ImageDescriptor.createFromURL(makeIconFileURL(path));
- } catch (MalformedURLException me) {
- ConsolePlugin.log(me);
- }
- imageRegistry.put(key, desc);
- imageDescriptors.put(key, desc);
- }
-
- /**
- * Returns the ImageRegistry.
- */
- public static ImageRegistry getImageRegistry() {
- if (imageRegistry == null) {
- initializeImageRegistry();
- }
- return imageRegistry;
- }
-
- /**
- * Initialize the image registry by declaring all of the required
- * graphics. This involves creating JFace image descriptors describing
- * how to create/find the image should it be needed.
- * The image is not actually allocated until requested.
- *
- * Prefix conventions
- * Wizard Banners WIZBAN_
- * Preference Banners PREF_BAN_
- * Property Page Banners PROPBAN_
- * Color toolbar CTOOL_
- * Enable toolbar ETOOL_
- * Disable toolbar DTOOL_
- * Local enabled toolbar ELCL_
- * Local Disable toolbar DLCL_
- * Object large OBJL_
- * Object small OBJS_
- * View VIEW_
- * Product images PROD_
- * Misc images MISC_
- *
- * Where are the images?
- * The images (typically gifs) are found in the same location as this plugin class.
- * This may mean the same package directory as the package holding this class.
- * The images are declared using this.getClass() to ensure they are looked up via
- * this plugin class.
- * @see org.eclipse.jface.resource.ImageRegistry
- */
- public static ImageRegistry initializeImageRegistry() {
- imageRegistry= new ImageRegistry(ConsolePlugin.getStandardDisplay());
- imageDescriptors = new HashMap(30);
- declareImages();
- return imageRegistry;
- }
-
- /**
- * Returns the <code>Image<code> identified by the given key,
- * or <code>null</code> if it does not exist.
- */
- public static Image getImage(String key) {
- return getImageRegistry().get(key);
- }
-
- /**
- * Returns the <code>ImageDescriptor<code> identified by the given key,
- * or <code>null</code> if it does not exist.
- */
- public static ImageDescriptor getImageDescriptor(String key) {
- if (imageDescriptors == null) {
- initializeImageRegistry();
- }
- return (ImageDescriptor)imageDescriptors.get(key);
- }
-
- private static URL makeIconFileURL(String iconPath) throws MalformedURLException {
- if (ICON_BASE_URL == null) {
- throw new MalformedURLException();
- }
-
- return new URL(ICON_BASE_URL, iconPath);
- }
-} \ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleTypePropertyTester.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleTypePropertyTester.java
deleted file mode 100644
index aa743c768..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleTypePropertyTester.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.ui.console.IConsole;
-
-/**
- * Tests if an IOConsole's type matches the expected value
- *
- * @since 3.1
- */
-public class ConsoleTypePropertyTester extends PropertyTester {
-
- /* (non-Javadoc)
- * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
- */
- public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
- IConsole console = (IConsole) receiver;
- String type = console.getType();
- return type != null ? type.equals(expectedValue) : false;
- }
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java
deleted file mode 100644
index 9d452378f..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleView.java
+++ /dev/null
@@ -1,579 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.jface.viewers.IBasicPropertyConstants;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IPartListener2;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartReference;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsoleListener;
-import org.eclipse.ui.console.IConsoleManager;
-import org.eclipse.ui.console.IConsolePageParticipant;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.IPage;
-import org.eclipse.ui.part.IPageBookViewPage;
-import org.eclipse.ui.part.MessagePage;
-import org.eclipse.ui.part.PageBook;
-import org.eclipse.ui.part.PageBookView;
-import org.eclipse.ui.progress.IWorkbenchSiteProgressService;
-
-/**
- * Page book console view.
- *
- * @since 3.0
- */
-public class ConsoleView extends PageBookView implements IConsoleView, IConsoleListener, IPropertyChangeListener, IPartListener2 {
-
- /**
- * Whether this console is pinned.
- */
- private boolean fPinned = false;
-
- /**
- * Stack of consoles in MRU order
- */
- private List fStack = new ArrayList();
-
- /**
- * The console being displayed, or <code>null</code> if none
- */
- private IConsole fActiveConsole = null;
-
- /**
- * Map of consoles to dummy console parts (used to close pages)
- */
- private Map fConsoleToPart;
-
- /**
- * Map of consoles to array of page participants
- */
- private Map fConsoleToPageParticipants;
-
- /**
- * Map of parts to consoles
- */
- private Map fPartToConsole;
-
- /**
- * Whether this view is active
- */
- private boolean fActive = false;
-
- // actions
- private PinConsoleAction fPinAction = null;
- private ConsoleDropDownAction fDisplayConsoleAction = null;
-
- private OpenConsoleAction fOpenConsoleAction = null;
-
- private boolean isAvailable() {
- return getPageBook() != null && !getPageBook().isDisposed();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
- */
- public void propertyChange(PropertyChangeEvent event) {
- Object source = event.getSource();
- if (source instanceof IConsole && event.getProperty().equals(IBasicPropertyConstants.P_TEXT)) {
- if (source.equals(getConsole())) {
- updateTitle();
- }
- }
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPartListener#partClosed(org.eclipse.ui.IWorkbenchPart)
- */
- public void partClosed(IWorkbenchPart part) {
- if (isPinned()) {
- // if closing the pinned console, un-pin
- IConsole console = (IConsole)fPartToConsole.get(part);
- if (console != null && console.equals(getConsole())) {
- pin(null);
- }
- }
- super.partClosed(part);
- fPinAction.update();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.ui.console.IConsoleView#getConsole()
- */
- public IConsole getConsole() {
- return fActiveConsole;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.PageBookView#showPageRec(org.eclipse.ui.part.PageBookView.PageRec)
- */
- protected void showPageRec(PageRec pageRec) {
- if (!isPinned()) {
- super.showPageRec(pageRec);
- fActiveConsole = (IConsole)fPartToConsole.get(pageRec.part);
- IConsole tos = null;
- if (!fStack.isEmpty()) {
- tos = (IConsole) fStack.get(0);
- }
- if (tos != null && !tos.equals(fActiveConsole)) {
- deactivateParticipants(tos);
- }
- if (fActiveConsole != null && !fActiveConsole.equals(tos)) {
- fStack.remove(fActiveConsole);
- fStack.add(0,fActiveConsole);
- activateParticipants(fActiveConsole);
- }
- updateTitle();
- // update console actions
- if (fPinAction != null) {
- fPinAction.update();
- }
- }
- }
-
- /**
- * Activates the participants fot the given console, if any.
- *
- * @param console
- */
- private void activateParticipants(IConsole console) {
- // activate
- if (console != null && fActive) {
- IConsolePageParticipant[] participants = getParticipants(console);
- if (participants != null) {
- for (int i = 0; i < participants.length; i++) {
- // TODO: safe runnable
- participants[i].activated();
- }
- }
- }
- }
-
- /**
- * Returns a stack of consoles in the view in MRU order.
- *
- * @return a stack of consoles in the view in MRU order
- */
- protected List getConsoleStack() {
- return fStack;
- }
-
- /**
- * Updates the view title based on the active console
- */
- protected void updateTitle() {
- IConsole console = getConsole();
- if (console == null) {
- setContentDescription(ConsoleMessages.getString("ConsoleView.0")); //$NON-NLS-1$
- } else {
- setContentDescription(console.getName()); //$NON-NLS-1$
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.PageBookView#doDestroyPage(org.eclipse.ui.IWorkbenchPart, org.eclipse.ui.part.PageBookView.PageRec)
- */
- protected void doDestroyPage(IWorkbenchPart part, PageRec pageRecord) {
- IConsole console = (IConsole)fPartToConsole.get(part);
-
- // dispose page participants
- IConsolePageParticipant[] participants = (IConsolePageParticipant[]) fConsoleToPageParticipants.remove(console);
- for (int i = 0; i < participants.length; i++) {
- IConsolePageParticipant participant = participants[i];
- // TODO: this should be done in a safe runnable
- participant.dispose();
- }
-
- IPage page = pageRecord.page;
- page.dispose();
- pageRecord.dispose();
- console.removePropertyChangeListener(this);
-
- // empty cross-reference cache
- fPartToConsole.remove(part);
- fConsoleToPart.remove(console);
-
- // update console actions
- fPinAction.update();
- }
-
- /**
- * Returns the page participants registered for the given console, or <code>null</code>
- *
- * @param console
- * @return registered page participants or <code>null</code>
- */
- private IConsolePageParticipant[] getParticipants(IConsole console) {
- return (IConsolePageParticipant[]) fConsoleToPageParticipants.get(console);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.PageBookView#doCreatePage(org.eclipse.ui.IWorkbenchPart)
- */
- protected PageRec doCreatePage(IWorkbenchPart dummyPart) {
- ConsoleWorkbenchPart part = (ConsoleWorkbenchPart)dummyPart;
- IConsole console = part.getConsole();
- IPageBookViewPage page = console.createPage(this);
- initPage(page);
- page.createControl(getPageBook());
- console.addPropertyChangeListener(this);
-
- // initialize page participants
- IConsolePageParticipant[] participants = ((ConsoleManager)getConsoleManager()).getPageParticipants(console);
- fConsoleToPageParticipants.put(console, participants);
- for (int i = 0; i < participants.length; i++) {
- IConsolePageParticipant participant = participants[i];
- // TODO: this should be done in a safe runnable
- participant.init(page, console);
- }
-
- PageRec rec = new PageRec(dummyPart, page);
- return rec;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.PageBookView#isImportant(org.eclipse.ui.IWorkbenchPart)
- */
- protected boolean isImportant(IWorkbenchPart part) {
- return part instanceof ConsoleWorkbenchPart;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchPart#dispose()
- */
- public void dispose() {
- super.dispose();
- getViewSite().getPage().removePartListener((IPartListener2)this);
- getConsoleManager().removeConsoleListener(this);
- }
-
- /**
- * Returns the console manager.
- *
- * @return the console manager
- */
- private IConsoleManager getConsoleManager() {
- return ConsolePlugin.getDefault().getConsoleManager();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.PageBookView#createDefaultPage(org.eclipse.ui.part.PageBook)
- */
- protected IPage createDefaultPage(PageBook book) {
- MessagePage page = new MessagePage();
- page.createControl(getPageBook());
- initPage(page);
- return page;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleListener#consolesAdded(org.eclipse.ui.console.IConsole[])
- */
- public void consolesAdded(final IConsole[] consoles) {
- if (isAvailable()) {
- Runnable r = new Runnable() {
- public void run() {
- for (int i = 0; i < consoles.length; i++) {
- if (isAvailable()) {
- IConsole console = consoles[i];
- // ensure it's still registered since this is done asynchronously
- IConsole[] allConsoles = getConsoleManager().getConsoles();
- for (int j = 0; j < allConsoles.length; j++) {
- IConsole registered = allConsoles[j];
- if (registered.equals(console)) {
- ConsoleWorkbenchPart part = new ConsoleWorkbenchPart(console, getSite());
- fConsoleToPart.put(console, part);
- fPartToConsole.put(part, console);
- partActivated(part);
- break;
- }
- }
-
- }
- }
- }
- };
- asyncExec(r);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleListener#consolesRemoved(org.eclipse.ui.console.IConsole[])
- */
- public void consolesRemoved(final IConsole[] consoles) {
- if (isAvailable()) {
- Runnable r = new Runnable() {
- public void run() {
- for (int i = 0; i < consoles.length; i++) {
- if (isAvailable()) {
- IConsole console = consoles[i];
- fStack.remove(console);
- ConsoleWorkbenchPart part = (ConsoleWorkbenchPart)fConsoleToPart.get(console);
- if (part != null) {
- partClosed(part);
- }
- if (getConsole() == null) {
- IConsole[] available = getConsoleManager().getConsoles();
- if (available.length > 0) {
- display(available[available.length - 1]);
- }
- }
- }
- }
- }
- };
- asyncExec(r);
- }
- }
-
- /**
- * Constructs a console view
- */
- public ConsoleView() {
- super();
- fConsoleToPart = new HashMap();
- fPartToConsole = new HashMap();
- fConsoleToPageParticipants = new HashMap();
- }
-
- protected void createActions() {
- fPinAction = new PinConsoleAction(this);
- fDisplayConsoleAction = new ConsoleDropDownAction(this);
- ConsoleFactoryExtension[] extensions = ((ConsoleManager)ConsolePlugin.getDefault().getConsoleManager()).getConsoleFactoryExtensions();
- if (extensions.length > 0) {
- fOpenConsoleAction = new OpenConsoleAction();
- }
- }
-
- protected void configureToolBar(IToolBarManager mgr) {
- mgr.add(new Separator(IConsoleConstants.LAUNCH_GROUP));
- mgr.add(new Separator(IConsoleConstants.OUTPUT_GROUP));
- mgr.add(new Separator("fixedGroup")); //$NON-NLS-1$
- mgr.add(fPinAction);
- mgr.add(fDisplayConsoleAction);
- if (fOpenConsoleAction != null) {
- mgr.add(fOpenConsoleAction);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleView#display(org.eclipse.ui.console.IConsole)
- */
- public void display(IConsole console) {
- if (!isPinned()) {
- ConsoleWorkbenchPart part = (ConsoleWorkbenchPart)fConsoleToPart.get(console);
- if (part != null) {
- partActivated(part);
- }
- }
- }
-
- /*/* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleView#pin(org.eclipse.ui.console.IConsole)
- */
- public void pin(IConsole console) {
- if (console == null) {
- fPinned = false;
- } else {
- fPinned = false; // need this off to change displayed console
- display(console);
- fPinned = true;
- }
- if (fPinAction != null) {
- fPinAction.update();
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleView#isPinned()
- */
- public boolean isPinned() {
- return fPinned;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.PageBookView#getBootstrapPart()
- */
- protected IWorkbenchPart getBootstrapPart() {
- return null;
- }
-
- /**
- * Registers the given runnable with the display
- * associated with this view's control, if any.
- *
- * @see org.eclipse.swt.widgets.Display#asyncExec(java.lang.Runnable)
- */
- public void asyncExec(Runnable r) {
- if (isAvailable()) {
- getPageBook().getDisplay().asyncExec(r);
- }
- }
-
- /**
- * Creates this view's underlying viewer and actions.
- * Hooks a pop-up menu to the underlying viewer's control,
- * as well as a key listener. When the delete key is pressed,
- * the <code>REMOVE_ACTION</code> is invoked. Hooks help to
- * this view. Subclasses must implement the following methods
- * which are called in the following order when a view is
- * created:<ul>
- * <li><code>createViewer(Composite)</code> - the context
- * menu is hooked to the viewer's control.</li>
- * <li><code>createActions()</code></li>
- * <li><code>configureToolBar(IToolBarManager)</code></li>
- * <li><code>getHelpContextId()</code></li>
- * </ul>
- * @see IWorkbenchPart#createPartControl(Composite)
- */
- public void createPartControl(Composite parent) {
- super.createPartControl(parent);
- createActions();
- IToolBarManager tbm= getViewSite().getActionBars().getToolBarManager();
- configureToolBar(tbm);
- updateForExistingConsoles();
- getViewSite().getActionBars().updateActionBars();
- WorkbenchHelp.setHelp(parent, IConsoleHelpContextIds.CONSOLE_VIEW);
- getViewSite().getPage().addPartListener((IPartListener2)this);
- }
-
- /**
- * Initialize for existing consoles
- */
- private void updateForExistingConsoles() {
- IConsoleManager manager = getConsoleManager();
- // create pages for consoles
- IConsole[] consoles = manager.getConsoles();
- consolesAdded(consoles);
- // add as a listener
- manager.addConsoleListener(this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleView#warnOfContentChange(org.eclipse.ui.console.IConsole)
- */
- public void warnOfContentChange(IConsole console) {
- IWorkbenchPart part = (IWorkbenchPart)fConsoleToPart.get(console);
- if (part != null) {
- IWorkbenchSiteProgressService service = (IWorkbenchSiteProgressService) part.getSite().getAdapter(IWorkbenchSiteProgressService.class);
- if (service != null) {
- service.warnOfContentChange();
- }
- }
- }
-
- public Object getAdapter(Class key) {
- Object adpater = super.getAdapter(key);
- if (adpater == null) {
- IConsole console = getConsole();
- if (console != null) {
- IConsolePageParticipant[] participants = (IConsolePageParticipant[]) fConsoleToPageParticipants.get(console);
- for (int i = 0; i < participants.length; i++) {
- IConsolePageParticipant participant = participants[i];
- adpater = participant.getAdapter(key);
- if (adpater != null) {
- return adpater;
- }
- }
- }
- }
- return adpater;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPartListener2#partActivated(org.eclipse.ui.IWorkbenchPartReference)
- */
- public void partActivated(IWorkbenchPartReference partRef) {
- if (partRef.getId().equals(getViewSite().getId())) {
- fActive = true;
- activateParticipants(fActiveConsole);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPartListener2#partBroughtToTop(org.eclipse.ui.IWorkbenchPartReference)
- */
- public void partBroughtToTop(IWorkbenchPartReference partRef) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPartListener2#partClosed(org.eclipse.ui.IWorkbenchPartReference)
- */
- public void partClosed(IWorkbenchPartReference partRef) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPartListener2#partDeactivated(org.eclipse.ui.IWorkbenchPartReference)
- */
- public void partDeactivated(IWorkbenchPartReference partRef) {
- if (partRef.getId().equals(getViewSite().getId())) {
- fActive = false;
- deactivateParticipants(fActiveConsole);
- }
- }
-
- /**
- * Deactivates participants for the given console, if any.
- *
- * @param console console to deactivate
- */
- private void deactivateParticipants(IConsole console) {
- // deactivate
- if (console != null) {
- IConsolePageParticipant[] participants = getParticipants(console);
- if (participants != null) {
- for (int i = 0; i < participants.length; i++) {
- // TODO: safe runnable
- participants[i].deactivated();
- }
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPartListener2#partOpened(org.eclipse.ui.IWorkbenchPartReference)
- */
- public void partOpened(IWorkbenchPartReference partRef) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPartListener2#partHidden(org.eclipse.ui.IWorkbenchPartReference)
- */
- public void partHidden(IWorkbenchPartReference partRef) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPartListener2#partVisible(org.eclipse.ui.IWorkbenchPartReference)
- */
- public void partVisible(IWorkbenchPartReference partRef) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui.IWorkbenchPartReference)
- */
- public void partInputChanged(IWorkbenchPartReference partRef) {
- }
-
-} \ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.java
deleted file mode 100644
index d31018090..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ConsoleWorkbenchPart.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.IPropertyListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.IWorkbenchPartSite;
-import org.eclipse.ui.console.IConsole;
-
-/**
- * Fake part to use as keys in page book for console pages
- */
-public class ConsoleWorkbenchPart implements IWorkbenchPart {
-
- private IConsole fConsole = null;
- private IWorkbenchPartSite fSite = null;
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- return (obj instanceof ConsoleWorkbenchPart) &&
- fConsole.equals(((ConsoleWorkbenchPart)obj).fConsole);
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return fConsole.hashCode();
- }
-
- /**
- * Constructs a part for the given console that binds to the given
- * site
- */
- public ConsoleWorkbenchPart(IConsole console, IWorkbenchPartSite site) {
- fConsole = console;
- fSite = site;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchPart#addPropertyListener(org.eclipse.ui.IPropertyListener)
- */
- public void addPropertyListener(IPropertyListener listener) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
- */
- public void createPartControl(Composite parent) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchPart#dispose()
- */
- public void dispose() {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchPart#getSite()
- */
- public IWorkbenchPartSite getSite() {
- return fSite;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchPart#getTitle()
- */
- public String getTitle() {
- return ""; //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchPart#getTitleImage()
- */
- public Image getTitleImage() {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchPart#getTitleToolTip()
- */
- public String getTitleToolTip() {
- return ""; //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchPart#removePropertyListener(org.eclipse.ui.IPropertyListener)
- */
- public void removePropertyListener(IPropertyListener listener) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchPart#setFocus()
- */
- public void setFocus() {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
- */
- public Object getAdapter(Class adapter) {
- return null;
- }
-
- /**
- * Returns the console associated with this part.
- *
- * @return console associated with this part
- */
- protected IConsole getConsole() {
- return fConsole;
- }
-} \ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/FollowHyperlinkAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/FollowHyperlinkAction.java
deleted file mode 100644
index 1c89b005e..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/FollowHyperlinkAction.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.console.IHyperlink;
-import org.eclipse.ui.console.TextConsoleViewer;
-
-/**
- * Follows a hyperlink in the console
- *
- * @since 3.1
- */
-public class FollowHyperlinkAction extends Action {
-
- private TextConsoleViewer viewer;
-
- /**
- * Constructs a follow link action
- */
- public FollowHyperlinkAction(TextConsoleViewer consoleViewer) {
- super(ConsoleMessages.getString("FollowHyperlinkAction.0")); //$NON-NLS-1$
- setToolTipText(ConsoleMessages.getString("FollowHyperlinkAction.1")); //$NON-NLS-1$
- this.viewer = consoleViewer;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.IAction#isEnabled()
- */
- public boolean isEnabled() {
- return viewer.getHyperlink() != null;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run() {
- IHyperlink link = viewer.getHyperlink();
- if (link != null) {
- link.linkActivated();
- }
- }
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IConsoleHelpContextIds.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IConsoleHelpContextIds.java
deleted file mode 100644
index b81cbea77..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IConsoleHelpContextIds.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.ui.console.IConsoleConstants;
-
-/**
- * Help context ids for the debug ui.
- * <p>
- * This interface contains constants only; it is not intended to be implemented
- * or extended.
- * </p>
- *
- */
-public interface IConsoleHelpContextIds {
-
- public static final String PREFIX = IConsoleConstants.PLUGIN_ID + "."; //$NON-NLS-1$
-
- // Actions
- public static final String CLEAR_CONSOLE_ACTION = PREFIX + "clear_console_action_context"; //$NON-NLS-1$
- public static final String CONSOLE_SCROLL_LOCK_ACTION = PREFIX + "console_scroll_lock_action_context"; //$NON-NLS-1$
-
- // Views
- public static final String CONSOLE_VIEW = PREFIX + "console_view_context"; //$NON-NLS-1$
-
- // Preference pages
- public static final String CONSOLE_PREFERENCE_PAGE = PREFIX + "console_preference_page_context"; //$NON-NLS-1$
-}
-
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java
deleted file mode 100644
index a603d9ebf..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IInternalConsoleConstants.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.ui.console.ConsolePlugin;
-
-public interface IInternalConsoleConstants {
- public static final String PREF_CONSOLE_SCROLL_LOCK = ConsolePlugin.getUniqueIdentifier() + ".PREF_CONSOLE_LOCK"; //$NON-NLS-1$
-
- // tool images
- public static final String IMG_LCL_PIN = "IMG_LCL_PIN"; //$NON-NLS-1$
- public static final String IMG_LCL_LOCK = "IMG_LCL_LOCK"; //$NON-NLS-1$
-
- // disabled local tool images
- public static final String IMG_DLCL_PIN = "IMG_DLCL_PIN"; //$NON-NLS-1$
- public static final String IMG_DLCL_CLEAR= "IMG_DLCL_CLEAR"; //$NON-NLS-1$
- public static final String IMG_DLCL_LOCK = "IMG_DLCL_LOCK"; //$NON-NLS-1$
- public static final String IMG_DLCL_CLOSE = "IMG_DLCL_CLOSE"; //$NON-NLS-1$
-
- // enabled local tool images
- public static final String IMG_ELCL_PIN = "IMG_ELCL_PIN"; //$NON-NLS-1$
- public static final String IMG_ELCL_CLEAR= "IMG_ELCL_CLEAR"; //$NON-NLS-1$
- public static final String IMG_ELCL_LOCK = "IMG_ELCL_LOCK"; //$NON-NLS-1$
- public static final String IMG_ELCL_CLOSE = "IMG_ELCL_CLOSE"; //$NON-NLS-1$
- public static final String IMG_ELCL_NEW_CON = "IMG_ELCL_NEW_CON"; //$NON-NLS-1$
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePage.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePage.java
deleted file mode 100644
index de3bf1a06..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePage.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Common Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.console.IConsoleConstants;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.console.IOConsole;
-import org.eclipse.ui.console.TextConsole;
-import org.eclipse.ui.console.TextConsolePage;
-import org.eclipse.ui.console.TextConsoleViewer;
-
-/**
- * A page for an IOConsole
- *
- * @since 3.1
- *
- */
-public class IOConsolePage extends TextConsolePage {
-
- private ScrollLockAction fScrollLockAction;
-
- private boolean fReadOnly;
-
- private IPropertyChangeListener fPropertyChangeListener;
-
- public IOConsolePage(TextConsole console, IConsoleView view) {
- super(console, view);
-
- fPropertyChangeListener = new IPropertyChangeListener() {
- public void propertyChange(PropertyChangeEvent event) {
- String property = event.getProperty();
- if (property.equals(IConsoleConstants.P_AUTO_SCROLL)) {
- IOConsole ioconsole = (IOConsole) getConsole();
- setAutoScroll(ioconsole.getAutoScroll());
- } else if (property.equals(IConsoleConstants.P_CONSOLE_OUTPUT_COMPLETE)) {
- setReadOnly();
- }
- }
- };
- console.addPropertyChangeListener(fPropertyChangeListener);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.part.IPage#createControl(org.eclipse.swt.widgets.Composite)
- */
- public void createControl(Composite parent) {
- super.createControl(parent);
- if (fReadOnly) {
- IOConsoleViewer viewer = (IOConsoleViewer) getViewer();
- viewer.setReadOnly();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.console.TextConsolePage#createViewer(org.eclipse.swt.widgets.Composite,
- * org.eclipse.ui.console.TextConsole)
- */
- protected TextConsoleViewer createViewer(Composite parent, TextConsole console) {
- return new IOConsoleViewer(parent, console);
- }
-
- public void setAutoScroll(boolean scroll) {
- IOConsoleViewer viewer = (IOConsoleViewer) getViewer();
- if (viewer != null) {
- viewer.setAutoScroll(scroll);
- }
- }
-
- /**
- * inform the viewer that it's text widget should not be editable.
- */
- public void setReadOnly() {
- fReadOnly = true;
- IOConsoleViewer viewer = (IOConsoleViewer) getViewer();
- if (viewer != null) {
- viewer.setReadOnly();
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.TextConsolePage#createActions()
- */
- protected void createActions() {
- super.createActions();
- fScrollLockAction = new ScrollLockAction((IOConsole) getConsole());
- setAutoScroll(!fScrollLockAction.isChecked());
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.TextConsolePage#contextMenuAboutToShow(org.eclipse.jface.action.IMenuManager)
- */
- protected void contextMenuAboutToShow(IMenuManager menuManager) {
- super.contextMenuAboutToShow(menuManager);
- menuManager.add(fScrollLockAction);
- IOConsoleViewer viewer = (IOConsoleViewer) getViewer();
- if (!viewer.isReadOnly()) {
- menuManager.remove(ActionFactory.CUT.getId());
- menuManager.remove(ActionFactory.PASTE.getId());
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.console.TextConsolePage#configureToolBar(org.eclipse.jface.action.IToolBarManager)
- */
- protected void configureToolBar(IToolBarManager mgr) {
- super.configureToolBar(mgr);
- mgr.appendToGroup(IConsoleConstants.OUTPUT_GROUP, fScrollLockAction);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.part.IPage#dispose()
- */
- public void dispose() {
- if (fScrollLockAction != null) {
- fScrollLockAction.dispose();
- fScrollLockAction = null;
- }
- getConsole().removePropertyChangeListener(fPropertyChangeListener);
- super.dispose();
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartition.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartition.java
deleted file mode 100644
index f243d35e9..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartition.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IOConsoleInputStream;
-import org.eclipse.ui.console.IOConsoleOutputStream;
-
-/**
- * A region in an IOConsole's document.
- * @since 3.1
- *
- */
-public class IOConsolePartition implements ITypedRegion {
- public static final String OUTPUT_PARTITION_TYPE = ConsolePlugin.getUniqueIdentifier() + ".io_console_output_partition_type"; //$NON-NLS-1$
- public static final String INPUT_PARTITION_TYPE = ConsolePlugin.getUniqueIdentifier() + ".io_console_input_partition_type"; //$NON-NLS-1$
-
- /**
- * The data contained by this partition.
- */
- private StringBuffer buffer;
- private String type;
- private int offset;
- /**
- * Output partitions are all read only.
- * Input partitions are read only once they have been appended to the console's input stream.
- */
- private boolean readOnly;
-
- /**
- * Only one of inputStream or outputStream will be null depending on the partitions type.
- */
- private IOConsoleOutputStream outputStream;
- private IOConsoleInputStream inputStream;
- private int length;
-
- /**
- * Creates a new partition to contain output to console.
- */
- public IOConsolePartition(IOConsoleOutputStream outputStream, int length) {
- this.outputStream = outputStream;
- this.length = length;
- this.type = OUTPUT_PARTITION_TYPE;
- this.readOnly = true;
- }
-
- /**
- * Creates a new partition to contain input from a console
- */
- public IOConsolePartition(IOConsoleInputStream inputStream, String text) {
- this.inputStream = inputStream;
- buffer = new StringBuffer(text);
- length = text.length();
- this.type = INPUT_PARTITION_TYPE;
- this.readOnly = false;
- }
-
- /**
- * Inserts a string into this partition
- * @param s The string to insert
- * @param offset the offset in the partition
- */
- public void insert(String s, int insertOffset) {
- buffer.insert(insertOffset, s);
- length += s.length();
- }
-
- /**
- * Deletes data from this partition.
- * @param delOffset
- * @param delLength
- */
- public void delete(int delOffset, int delLength) {
- buffer.delete(delOffset, delOffset+delLength);
- length -= delLength;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.text.ITypedRegion#getType()
- */
- public String getType() {
- return type;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.text.IRegion#getLength()
- */
- public int getLength() {
- return length;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.text.IRegion#getOffset()
- */
- public int getOffset() {
- return offset;
- }
-
- /**
- * Sets this partitions offset in the document.
- * @param offset This partitions offset in the document.
- */
- public void setOffset(int offset) {
- this.offset = offset;
- }
-
- /**
- * Sets this partitions length
- *
- * @param length
- */
- public void setLength(int length) {
- this.length = length;
- }
-
- /**
- * Returns the data contained in this partition.
- * @return The data contained in this partition.
- */
- public String getString() {
- return buffer != null ? buffer.toString() : ""; //$NON-NLS-1$
- }
-
- /**
- * Returns a StyleRange object which may be used for setting the style
- * of this partition in a viewer.
- */
- public StyleRange getStyleRange(int rangeOffset, int rangeLength) {
- return new StyleRange(rangeOffset, rangeLength, getColor(), null, getFontStyle());
- }
-
- private int getFontStyle() {
- if (type.equals(INPUT_PARTITION_TYPE)) {
- return inputStream.getFontStyle();
- }
- return outputStream.getFontStyle();
- }
-
- public Color getColor() {
- if (type.equals(INPUT_PARTITION_TYPE)) {
- return inputStream.getColor();
- }
- return outputStream.getColor();
- }
-
- public boolean isReadOnly() {
- return readOnly;
- }
-
- public void setReadOnly() {
- readOnly = true;
- }
-
- public void clearBuffer() {
- buffer = null;
- }
-
- IOConsoleOutputStream getStream() {
- return outputStream;
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java
deleted file mode 100644
index 412fe0d0b..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsolePartitioner.java
+++ /dev/null
@@ -1,669 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentPartitionerExtension;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITypedRegion;
-import org.eclipse.jface.text.Region;
-import org.eclipse.swt.custom.StyleRange;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleDocumentPartitioner;
-import org.eclipse.ui.console.IOConsole;
-import org.eclipse.ui.console.IOConsoleInputStream;
-import org.eclipse.ui.console.IOConsoleOutputStream;
-import org.eclipse.ui.progress.UIJob;
-
-/**
- * Partitions an IOConsole's document
- * @since 3.1
- *
- */
-public class IOConsolePartitioner implements IConsoleDocumentPartitioner, IDocumentPartitionerExtension {
- private PendingPartition consoleClosedPartition;
- private IDocument document;
- private ArrayList partitions;
- /**
- * Blocks of data that have not yet been appended to the document.
- */
- private ArrayList pendingPartitions;
- /**
- * A list of PendingPartitions to be appended by the updateJob
- */
- private ArrayList updatePartitions;
- /**
- * The last partition appended to the document
- */
- private IOConsolePartition lastPartition;
- /**
- * Job that appends pending partitions to the document.
- */
- private QueueProcessingJob queueJob;
- /**
- * The input stream attached to this document.
- */
- private IOConsoleInputStream inputStream;
- /**
- * Flag to indicate that the updateJob is updating the document.
- */
- private boolean updateInProgress;
- /**
- * A list of partitions containing input from the console, that have
- * not been appended to the input stream yet.
- */
- private ArrayList inputPartitions;
- /**
- * offset used by updateJob
- */
- private int firstOffset;
- /**
- * An array of legal line delimiters
- */
- private String[] lld;
- private int highWaterMark = -1;
- private int lowWaterMark = -1;
- private boolean connected = false;
-
- private IOConsole console;
-
- private TrimJob trimJob = new TrimJob();
- /**
- * Lock for appending to and removing from the document - used
- * to synchronize addition of new text/partitions in the update
- * job and handling buffer overflow/clearing of the console.
- */
- private Object overflowLock = new Object();
-
- public IOConsolePartitioner(IOConsoleInputStream inputStream, IOConsole console) {
- this.inputStream = inputStream;
- this.console = console;
- trimJob.setRule(console.getSchedulingRule());
- }
-
- public IDocument getDocument() {
- return document;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.text.IDocumentPartitioner#connect(org.eclipse.jface.text.IDocument)
- */
- public void connect(IDocument doc) {
- document = doc;
- document.setDocumentPartitioner(this);
- lld = document.getLegalLineDelimiters();
- partitions = new ArrayList();
- pendingPartitions = new ArrayList();
- inputPartitions = new ArrayList();
- queueJob = new QueueProcessingJob();
- queueJob.setSystem(true);
- queueJob.setRule(console.getSchedulingRule());
- connected = true;
- }
-
- public int getHighWaterMark() {
- return highWaterMark;
- }
-
- public int getLowWaterMark() {
- return lowWaterMark;
- }
-
- public void setWaterMarks(int low, int high) {
- lowWaterMark = low;
- highWaterMark = high;
- ConsolePlugin.getStandardDisplay().asyncExec(new Runnable() {
- public void run() {
- checkBufferSize();
- }
- });
- }
-
- /**
- * Notification from the console that all of its streams have been closed.
- */
- public void streamsClosed() {
- consoleClosedPartition = new PendingPartition(null, null);
- synchronized (pendingPartitions) {
- pendingPartitions.add(consoleClosedPartition);
- }
- queueJob.schedule(); //ensure that all pending partitions are processed.
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.text.IDocumentPartitioner#disconnect()
- */
- public void disconnect() {
- synchronized (overflowLock) {
- document = null;
- partitions.clear();
- connected = false;
- try {
- inputStream.close();
- } catch (IOException e) {
- }
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.text.IDocumentPartitioner#documentAboutToBeChanged(org.eclipse.jface.text.DocumentEvent)
- */
- public void documentAboutToBeChanged(DocumentEvent event) {
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.text.IDocumentPartitioner#documentChanged(org.eclipse.jface.text.DocumentEvent)
- */
- public boolean documentChanged(DocumentEvent event) {
- return documentChanged2(event) != null;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.text.IDocumentPartitioner#getLegalContentTypes()
- */
- public String[] getLegalContentTypes() {
- return new String[] { IOConsolePartition.OUTPUT_PARTITION_TYPE, IOConsolePartition.INPUT_PARTITION_TYPE };
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.text.IDocumentPartitioner#getContentType(int)
- */
- public String getContentType(int offset) {
- return getPartition(offset).getType();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.text.IDocumentPartitioner#computePartitioning(int, int)
- */
- public ITypedRegion[] computePartitioning(int offset, int length) {
- int rangeEnd = offset + length;
- int left= 0;
- int right= partitions.size() - 1;
- int mid= 0;
- IOConsolePartition position= null;
-
- if (left == right) {
- return new IOConsolePartition[]{(IOConsolePartition) partitions.get(0)};
- }
- while (left < right) {
-
- mid= (left + right) / 2;
-
- position= (IOConsolePartition) partitions.get(mid);
- if (rangeEnd < position.getOffset()) {
- if (left == mid)
- right= left;
- else
- right= mid -1;
- } else if (offset > (position.getOffset() + position.getLength() - 1)) {
- if (right == mid)
- left= right;
- else
- left= mid +1;
- } else {
- left= right= mid;
- }
- }
-
-
- List list = new ArrayList();
- int index = left - 1;
- if (index >= 0) {
- position= (IOConsolePartition) partitions.get(index);
- while (index >= 0 && (position.getOffset() + position.getLength()) > offset) {
- index--;
- if (index >= 0) {
- position= (IOConsolePartition) partitions.get(index);
- }
- }
- }
- index++;
- position= (IOConsolePartition) partitions.get(index);
- while (index < partitions.size() && (position.getOffset() < rangeEnd)) {
- list.add(position);
- index++;
- if (index < partitions.size()) {
- position= (IOConsolePartition) partitions.get(index);
- }
- }
-
- return (ITypedRegion[]) list.toArray(new IOConsolePartition[list.size()]);
- }
-
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jface.text.IDocumentPartitioner#getPartition(int)
- */
- public ITypedRegion getPartition(int offset) {
- for (int i = 0; i < partitions.size(); i++) {
- ITypedRegion partition = (ITypedRegion) partitions.get(i);
- int start = partition.getOffset();
- int end = start + partition.getLength();
- if (offset >= start && offset < end) {
- return partition;
- }
- }
-
- if (lastPartition == null) {
- synchronized(partitions) {
- lastPartition = new IOConsolePartition(inputStream, ""); //$NON-NLS-1$
- lastPartition.setOffset(offset);
- partitions.add(lastPartition);
- inputPartitions.add(lastPartition);
- }
- }
- return lastPartition;
- }
-
- /**
- * Enforces the buffer size.
- * When the number of lines in the document exceeds the high water mark, the
- * beginning of the document is trimmed until the number of lines equals the
- * low water mark.
- */
- private void checkBufferSize() {
- if (document != null && highWaterMark > 0) {
- int length = document.getLength();
- if (length > highWaterMark) {
- if (trimJob.getState() == Job.NONE) { //if the job isn't already running
- trimJob.setOffset(length - lowWaterMark);
- trimJob.schedule();
- }
- }
- }
- }
-
- /**
- * Clears the console
- */
- public void clearBuffer() {
- synchronized (overflowLock) {
- trimJob.setOffset(-1);
- trimJob.setRule(console.getSchedulingRule());
- trimJob.schedule();
- }
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.text.IDocumentPartitionerExtension#documentChanged2(org.eclipse.jface.text.DocumentEvent)
- */
- public IRegion documentChanged2(DocumentEvent event) {
- if (document == null) {
- return null; //another thread disconnected the partitioner
- }
- if (document.getLength() == 0) { //document cleared
- partitions.clear();
- inputPartitions.clear();
- pendingPartitions.clear();
- lastPartition = null;
- return new Region(0, 0);
- }
-
-
- if (updateInProgress) {
- synchronized(partitions) {
- if (updatePartitions != null) {
- for (Iterator i = updatePartitions.iterator(); i.hasNext(); ) {
- PendingPartition pp = (PendingPartition) i.next();
- if (pp == consoleClosedPartition) {
- continue;
- }
-
- int ppLen = pp.text.length();
- if (lastPartition != null && lastPartition.getStream() == pp.stream) {
- int len = lastPartition.getLength();
- lastPartition.setLength(len + ppLen);
- } else {
- IOConsolePartition partition = new IOConsolePartition(pp.stream, ppLen);
- partition.setOffset(firstOffset);
- lastPartition = partition;
- partitions.add(partition);
- }
- firstOffset += ppLen;
- }
- }
- }
- } else {// user input.
- int amountDeleted = event.getLength() ;
-
- if (amountDeleted > 0) {
- int offset = event.fOffset;
- IOConsolePartition partition = (IOConsolePartition) getPartition(offset);
- if(partition == lastPartition) {
- partition.delete(event.fOffset-partition.getOffset(), amountDeleted);
- }
- }
-
- synchronized(partitions) {
- if (lastPartition == null || lastPartition.isReadOnly()) {
- lastPartition = new IOConsolePartition(inputStream, event.fText); //$NON-NLS-1$
- lastPartition.setOffset(event.fOffset);
- partitions.add(lastPartition);
- inputPartitions.add(lastPartition);
- } else {
- lastPartition.insert(event.fText, (event.fOffset-lastPartition.getOffset()));
- }
-
- int lastLineDelimiter = -1;
- String partitionText = lastPartition.getString();
- for (int i = 0; i < lld.length; i++) {
- String ld = lld[i];
- int index = partitionText.lastIndexOf(ld);
- if (index != -1) {
- index += ld.length();
- }
- if (index > lastLineDelimiter) {
- lastLineDelimiter = index;
- }
- }
- if (lastLineDelimiter != -1) {
- StringBuffer input = new StringBuffer();
- Iterator it = inputPartitions.iterator();
- while (it.hasNext()) {
- IOConsolePartition partition = (IOConsolePartition) it.next();
- if (partition.getOffset() + partition.getLength() <= event.fOffset + lastLineDelimiter) {
- if (partition == lastPartition) {
- lastPartition = null;
- }
- input.append(partition.getString());
- partition.clearBuffer();
- partition.setReadOnly();
- it.remove();
- } else {
- //create a new partition containing everything up to the line delimiter
- //and append that to the string buffer.
- String contentBefore = partitionText.substring(0, lastLineDelimiter);
- IOConsolePartition newPartition = new IOConsolePartition(inputStream, contentBefore);
- newPartition.setOffset(partition.getOffset());
- newPartition.setReadOnly();
- newPartition.clearBuffer();
- int index = partitions.indexOf(partition);
- partitions.add(index, newPartition);
- input.append(contentBefore);
- //delete everything that has been appended to the buffer.
- partition.delete(0, lastLineDelimiter);
- partition.setOffset(lastLineDelimiter + partition.getOffset());
- lastLineDelimiter = 0;
- }
- }
- if (input.length() > 0) {
- inputStream.appendData(input.toString());
- }
-
- }
- }
- }
-
- return new Region(event.fOffset, event.fText.length());
- }
-
- private void setUpdateInProgress(boolean b) {
- updateInProgress = b;
- }
-
- /**
- * A stream has been appended, add to pendingPartions list and schedule updateJob.
- * updateJob is scheduled with a slight delay, this allows the console to run the job
- * less frequently and update the document with a greater amount of data each time
- * the job is run
- * @param stream The stream that was written to.
- * @param s The string that should be appended to the document.
- */
- public void streamAppended(IOConsoleOutputStream stream, String s) {
- synchronized(pendingPartitions) {
- PendingPartition last = (PendingPartition) (pendingPartitions.size() > 0 ? pendingPartitions.get(pendingPartitions.size()-1) : null);
- if (last != null && last.stream == stream) {
- last.append(s);
- } else {
- pendingPartitions.add(new PendingPartition(stream, s));
- queueJob.schedule(100);
- }
- }
- }
-
- /**
- * Holds data until updateJob can be run and the document can be updated.
- */
- private class PendingPartition {
- String text;
- IOConsoleOutputStream stream;
-
- PendingPartition(IOConsoleOutputStream stream, String text) {
- this.stream = stream;
- this.text=text;
- }
-
- void append(String moreText) {
- text += moreText;
- }
- }
-
- /**
- * Updates the document. Will append everything that is available before
- * finishing.
- */
- private class QueueProcessingJob extends Job {
-
- QueueProcessingJob() {
- super("IOConsole Updater"); //$NON-NLS-1$
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.core.internal.jobs.InternalJob#run(org.eclipse.core.runtime.IProgressMonitor)
- */
- protected IStatus run(IProgressMonitor monitor) {
- synchronized (overflowLock) {
-
- Display display = ConsolePlugin.getStandardDisplay();
-
- ArrayList pendingCopy = new ArrayList();
- StringBuffer buffer = null;
- boolean consoleClosed = false;
- while (display != null && pendingPartitions.size() > 0) {
- synchronized(pendingPartitions) {
- pendingCopy.addAll(pendingPartitions);
- pendingPartitions.clear();
- }
-
- buffer = new StringBuffer();
- for (Iterator i = pendingCopy.iterator(); i.hasNext(); ) {
- PendingPartition pp = (PendingPartition) i.next();
- if (pp != consoleClosedPartition) {
- buffer.append(pp.text);
- } else {
- consoleClosed = true;
- }
- }
- }
-
- final ArrayList finalCopy = pendingCopy;
- final String toAppend = buffer.toString();
- final boolean notifyClosed = consoleClosed;
-
- display.asyncExec(new Runnable() {
- public void run() {
- if (connected) {
- setUpdateInProgress(true);
- updatePartitions = finalCopy;
- firstOffset = document.getLength();
- try {
- document.replace(firstOffset, 0, toAppend.toString());
- } catch (BadLocationException e) {
- }
- updatePartitions = null;
- setUpdateInProgress(false);
- }
- if (notifyClosed) {
- console.partitionerFinished();
- }
- checkBufferSize();
- }
- });
- }
-
- return Status.OK_STATUS;
- }
-
- /*
- * Job will process as much as it can each time it's run, but it gets
- * scheduled everytime a PendingPartition is added to the list, meaning
- * that this job could get scheduled unnecessarily in cases of heavy output.
- * Note however, that schedule() will only reschedule a running/scheduled Job
- * once even if it's called many times.
- */
- public boolean shouldRun() {
- boolean shouldRun = connected && pendingPartitions != null && pendingPartitions.size() > 0;
- return shouldRun;
- }
- }
-
-
-
-
-
-
-
- /**
- * Job to trim the console document, runs in the UI thread.
- */
- private class TrimJob extends UIJob {
-
- /**
- * trims output up to the line containing the given offset,
- * or all output if -1.
- */
- private int truncateOffset;
-
- /**
- * Creates a new job to trim the buffer.
- */
- TrimJob() {
- super("Trim Job"); //$NON-NLS-1$
- setSystem(true);
- }
-
- /**
- * Sets the trim offset.
- *
- * @param offset trims output up to the line containing the given offset
- */
- public void setOffset(int offset) {
- truncateOffset = offset;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.progress.UIJob#runInUIThread(org.eclipse.core.runtime.IProgressMonitor)
- */
- public IStatus runInUIThread(IProgressMonitor monitor) {
- if (document == null) {
- return Status.OK_STATUS;
- }
-
- int length = document.getLength();
- if (truncateOffset < length) {
- synchronized (overflowLock) {
- try {
- if (truncateOffset < 0) {
- // clear
- setUpdateInProgress(true);
- document.set(""); //$NON-NLS-1$
- setUpdateInProgress(false);
- partitions.clear();
- } else {
- // overflow
- int cutoffLine = document.getLineOfOffset(truncateOffset);
- int cutOffset = document.getLineOffset(cutoffLine);
-
-
- // set the new length of the first partition
- IOConsolePartition partition = (IOConsolePartition) getPartition(cutOffset);
- partition.setLength(partition.getOffset() + partition.getLength() - cutOffset);
-
- setUpdateInProgress(true);
- document.replace(0, cutOffset, ""); //$NON-NLS-1$
- setUpdateInProgress(false);
-
- //remove partitions and reset Partition offsets
- int index = partitions.indexOf(partition);
- for (int i = 0; i < index; i++) {
- partitions.remove(0);
- }
-
- int offset = 0;
- for (Iterator i = partitions.iterator(); i.hasNext(); ) {
- IOConsolePartition p = (IOConsolePartition) i.next();
- p.setOffset(offset);
- offset += p.getLength();
- }
- }
- } catch (BadLocationException e) {
- }
- }
- }
- return Status.OK_STATUS;
- }
- }
-
-
-
-
-
-
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleDocumentPartitioner#isReadOnly(int)
- */
- public boolean isReadOnly(int offset) {
- return ((IOConsolePartition)getPartition(offset)).isReadOnly();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IConsoleDocumentPartitioner#computeStyleRange(int, int)
- */
- public StyleRange[] getStyleRanges(int offset, int length) {
- if (!connected) {
- return new StyleRange[0];
- }
- IOConsolePartition[] computedPartitions = (IOConsolePartition[])computePartitioning(offset, length);
- StyleRange[] styles = new StyleRange[computedPartitions.length];
- for (int i = 0; i < computedPartitions.length; i++) {
- int rangeStart = Math.max(computedPartitions[i].getOffset(), offset);
- int rangeLength = computedPartitions[i].getLength();
- styles[i] = computedPartitions[i].getStyleRange(rangeStart, rangeLength);
- }
- return styles;
- }
-
-
-} \ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsoleViewer.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsoleViewer.java
deleted file mode 100644
index 5b75e330d..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/IOConsoleViewer.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Common Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.IDocumentListener;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.events.VerifyEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleDocumentPartitioner;
-import org.eclipse.ui.console.TextConsole;
-import org.eclipse.ui.console.TextConsoleViewer;
-
-/**
- * Viewer used to display an IOConsole
- *
- * @since 3.1
- */
-public class IOConsoleViewer extends TextConsoleViewer {
- /**
- * will always scroll with output if value is true.
- */
- private boolean fAutoScroll = true;
-
- private IDocumentListener fDocumentListener;
-
- public IOConsoleViewer(Composite parent, TextConsole console) {
- super(parent, console);
- }
-
- public boolean isAutoScroll() {
- return fAutoScroll;
- }
-
- public void setAutoScroll(boolean scroll) {
- fAutoScroll = scroll;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.text.TextViewer#handleVerifyEvent(org.eclipse.swt.events.VerifyEvent)
- */
- protected void handleVerifyEvent(VerifyEvent e) {
- IDocument doc = getDocument();
- String[] legalLineDelimiters = doc.getLegalLineDelimiters();
- String eventString = e.text;
-
- IConsoleDocumentPartitioner partitioner = (IConsoleDocumentPartitioner) doc.getDocumentPartitioner();
- if (!partitioner.isReadOnly(e.start)) {
- boolean isCarriageReturn = false;
- for (int i = 0; i < legalLineDelimiters.length; i++) {
- if (e.text.equals(legalLineDelimiters[i])) {
- isCarriageReturn = true;
- break;
- }
- }
-
- if (!isCarriageReturn) {
- super.handleVerifyEvent(e);
- return;
- }
- }
-
- int length = doc.getLength();
- if (e.start == length) {
- super.handleVerifyEvent(e);
- } else {
- try {
- doc.replace(length, 0, eventString);
- } catch (BadLocationException e1) {
- }
- e.doit = false;
- }
- }
-
- /**
- * makes the associated text widget uneditable.
- */
- public void setReadOnly() {
- ConsolePlugin.getStandardDisplay().asyncExec(new Runnable() {
- public void run() {
- StyledText text = getTextWidget();
- if (text != null) {
- text.setEditable(false);
- }
- }
- });
- }
-
- /**
- * @return <code>false</code> if text is editable
- */
- public boolean isReadOnly() {
- return !getTextWidget().getEditable();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.ITextViewer#setDocument(org.eclipse.jface.text.IDocument)
- */
- public void setDocument(IDocument document) {
- IDocument oldDocument= getDocument();
-
- super.setDocument(document);
-
- if (oldDocument != null) {
- oldDocument.removeDocumentListener(getDocumentListener());
- }
- if (document != null) {
- document.addDocumentListener(getDocumentListener());
- }
- }
-
- private IDocumentListener getDocumentListener() {
- if (fDocumentListener == null) {
- fDocumentListener= new IDocumentListener() {
- public void documentAboutToBeChanged(DocumentEvent event) {
- }
-
- public void documentChanged(DocumentEvent event) {
- if (fAutoScroll) {
- revealEndOfDocument();
- }
- }
- };
- }
- return fDocumentListener;
- }
-} \ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/OpenConsoleAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/OpenConsoleAction.java
deleted file mode 100644
index 8b6190d91..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/OpenConsoleAction.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.activities.WorkbenchActivityHelper;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsoleFactory;
-
-/**
- * @since 3.1
- */
-public class OpenConsoleAction extends Action implements IMenuCreator {
-
- private ConsoleFactoryExtension[] fFactoryExtensions;
- private Menu fMenu;
-
- public OpenConsoleAction() {
- fFactoryExtensions = ((ConsoleManager)ConsolePlugin.getDefault().getConsoleManager()).getConsoleFactoryExtensions();
- setText(ConsoleMessages.getString("OpenConsoleAction.0")); //$NON-NLS-1$
- setToolTipText(ConsoleMessages.getString("OpenConsoleAction.1")); //$NON-NLS-1$
- setImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_ELCL_NEW_CON));
- setMenuCreator(this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.IMenuCreator#dispose()
- */
- public void dispose() {
- fFactoryExtensions = null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control)
- */
- public Menu getMenu(Control parent) {
- if (fMenu != null) {
- fMenu.dispose();
- }
-
- fMenu= new Menu(parent);
- int accel = 1;
- for (int i = 0; i < fFactoryExtensions.length; i++) {
- ConsoleFactoryExtension extension = fFactoryExtensions[i];
- if (!WorkbenchActivityHelper.filterItem(extension) && extension.isEnabled()) {
- String label = extension.getLabel();
- ImageDescriptor image = extension.getImageDescriptor();
- addActionToMenu(fMenu, new ConsoleFactoryAction(label, image, extension), accel);
- accel++;
- }
- }
- return fMenu;
- }
-
- private void addActionToMenu(Menu parent, Action action, int accelerator) {
- if (accelerator < 10) {
- StringBuffer label= new StringBuffer();
- //add the numerical accelerator
- label.append('&');
- label.append(accelerator);
- label.append(' ');
- label.append(action.getText());
- action.setText(label.toString());
- }
-
- ActionContributionItem item= new ActionContributionItem(action);
- item.fill(parent, -1);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu)
- */
- public Menu getMenu(Menu parent) {
- return null;
- }
-
- private class ConsoleFactoryAction extends Action {
-
- private ConsoleFactoryExtension fConfig;
- private IConsoleFactory fFactory;
-
- public ConsoleFactoryAction(String label, ImageDescriptor image, ConsoleFactoryExtension extension) {
- setText(label);
- if (image != null) {
- setImageDescriptor(image);
- }
- fConfig = extension;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run() {
- try {
- if (fFactory == null) {
- fFactory = fConfig.createFactory();
- }
-
- fFactory.openConsole();
- } catch (CoreException e) {
- ConsolePlugin.log(e);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.IAction#runWithEvent(org.eclipse.swt.widgets.Event)
- */
- public void runWithEvent(Event event) {
- run();
- }
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListener.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListener.java
deleted file mode 100644
index afedfe6f7..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListener.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IPatternMatchListener;
-import org.eclipse.ui.console.IPatternMatchListenerDelegate;
-import org.eclipse.ui.console.PatternMatchEvent;
-
-public class PatternMatchListener implements IPatternMatchListener {
-
- private PatternMatchListenerExtension fExtension;
- private IPatternMatchListenerDelegate fDelegate;
-
- public PatternMatchListener(PatternMatchListenerExtension extension) throws CoreException {
- fExtension = extension;
- fDelegate = fExtension.createDelegate();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IPatternMatchListener#getPattern()
- */
- public String getPattern() {
- return fExtension.getPattern();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IPatternMatchListener#getCompilerFlags()
- */
- public int getCompilerFlags() {
- return fExtension.getCompilerFlags();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IPatternMatchListener#matchFound(org.eclipse.ui.console.PatternMatchEvent)
- */
- public void matchFound(PatternMatchEvent event) {
- fDelegate.matchFound(event);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IPatternMatchListener#connect(org.eclipse.ui.console.IConsole)
- */
- public void connect(IConsole console) {
- fDelegate.connect(console);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IPatternMatchListener#disconnect()
- */
- public void disconnect() {
- fDelegate.disconnect();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.console.IPatternMatchListener#getQuickPattern()
- */
- public String getLineQualifier() {
- return fExtension.getQuickPattern();
- }
-
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListenerExtension.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListenerExtension.java
deleted file mode 100644
index 25c622658..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PatternMatchListenerExtension.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import java.lang.reflect.Field;
-
-import org.eclipse.core.expressions.EvaluationContext;
-import org.eclipse.core.expressions.EvaluationResult;
-import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.expressions.ExpressionConverter;
-import org.eclipse.core.expressions.ExpressionTagNames;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.ui.IPluginContribution;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IPatternMatchListenerDelegate;
-
-public class PatternMatchListenerExtension implements IPluginContribution {
-
- private IConfigurationElement fConfig;
- private Expression fEnablementExpression;
- private String fPattern;
- private int fFlags = -1;
-
- public PatternMatchListenerExtension(IConfigurationElement extension) {
- fConfig = extension;
- }
-
- /*
- * returns the integer value of the flags defined in java.util.regex.Pattern.
- * Both <code>Pattern.MULTILINE</code> and <code>MULTILINE</code> will return
- * the same value.
- */
- public int parseFlags(String flagsElement) {
- int val = 0;
- if (flagsElement == null) {
- return val;
- }
-
- try {
- flagsElement = flagsElement.replaceAll("Pattern.", ""); //$NON-NLS-1$ //$NON-NLS-2$
- String[] tokens = flagsElement.split("\\s\\|\\s"); //$NON-NLS-1$
- Class clazz = Class.forName("java.util.regex.Pattern"); //$NON-NLS-1$
-
- for (int i = 0; i < tokens.length; i++) {
- Field field = clazz.getDeclaredField(tokens[i]);
- val |= field.getInt(null);
- }
- } catch (ClassNotFoundException e) {
- ConsolePlugin.log(e);
- } catch (NoSuchFieldException e) {
- ConsolePlugin.log(e);
- } catch (IllegalAccessException e) {
- ConsolePlugin.log(e);
- }
- return val;
- }
-
- public boolean isEnabledFor(IConsole console) throws CoreException {
- EvaluationContext context = new EvaluationContext(null, console);
- EvaluationResult evaluationResult = getEnablementExpression().evaluate(context);
- return evaluationResult == EvaluationResult.TRUE;
- }
-
- public IPatternMatchListenerDelegate createDelegate() throws CoreException {
- return (IPatternMatchListenerDelegate) fConfig.createExecutableExtension("class"); //$NON-NLS-1$
- }
-
- public Expression getEnablementExpression() throws CoreException {
- if (fEnablementExpression == null) {
- IConfigurationElement[] elements = fConfig.getChildren(ExpressionTagNames.ENABLEMENT);
- IConfigurationElement enablement = elements.length > 0 ? elements[0] : null;
-
- if (enablement != null) {
- fEnablementExpression = ExpressionConverter.getDefault().perform(enablement);
- }
- }
- return fEnablementExpression;
- }
-
- /*
- * returns the regular expression to be matched.
- */
- public String getPattern() {
- if (fPattern == null) {
- fPattern = fConfig.getAttributeAsIs("regex"); //$NON-NLS-1$
- }
- return fPattern;
- }
-
- /*
- * returns the flags to be used by <code>Pattern.compile(pattern, flags)</code>
- */
- public int getCompilerFlags() {
- if(fFlags < 0) {
- String flagsAttribute = fConfig.getAttributeAsIs("flags"); //$NON-NLS-1$
- fFlags = parseFlags(flagsAttribute);
- }
- return fFlags;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPluginContribution#getLocalId()
- */
- public String getLocalId() {
- return fConfig.getAttribute("id"); //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.IPluginContribution#getPluginId()
- */
- public String getPluginId() {
- return fConfig.getNamespace();
- }
-
- public String getQuickPattern() {
- return fConfig.getAttribute("qualifier"); //$NON-NLS-1$
- }
-}
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java
deleted file mode 100644
index 586d3c274..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/PinConsoleAction.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.console.IConsoleView;
-import org.eclipse.ui.texteditor.IUpdate;
-
-/**
- * Pins the currently visible console in a console view.
- */
-public class PinConsoleAction extends Action implements IUpdate {
-
- private IConsoleView fView = null;
-
- /**
- * Constructs a 'pin console' action
- */
- public PinConsoleAction(IConsoleView view) {
- super(ConsoleMessages.getString("PinConsoleAction.0"), IAction.AS_CHECK_BOX); //$NON-NLS-1$
- setToolTipText(ConsoleMessages.getString("PinConsoleAction.1")); //$NON-NLS-1$
- setImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_ELCL_PIN));
- setDisabledImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_DLCL_PIN));
- setHoverImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_LCL_PIN));
- fView = view;
- update();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run() {
- if (isChecked()) {
- fView.pin(fView.getConsole());
- } else {
- fView.pin(null);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.texteditor.IUpdate#update()
- */
- public void update() {
- setEnabled(fView.getConsole() != null);
- setChecked(fView.isPinned());
- }
-} \ No newline at end of file
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ScrollLockAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ScrollLockAction.java
deleted file mode 100644
index ed42ad3e0..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ScrollLockAction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.util.PropertyChangeEvent;
-import org.eclipse.ui.console.ConsolePlugin;
-import org.eclipse.ui.console.IOConsole;
-
-/**
- * Toggles console auto-scroll
- *
- * @since 3.1
- */
-public class ScrollLockAction extends Action implements IPropertyChangeListener {
-
- private IPreferenceStore prefStore = ConsolePlugin.getDefault().getPreferenceStore();
- private IOConsole fConsole;
-
- public ScrollLockAction(IOConsole console) {
- super(ConsoleMessages.getString("ScrollLockAction.0")); //$NON-NLS-1$
- fConsole = console;
-
- setToolTipText(ConsoleMessages.getString("ScrollLockAction.1")); //$NON-NLS-1$
- setHoverImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_LCL_LOCK));
- setDisabledImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_DLCL_LOCK));
- setImageDescriptor(ConsolePluginImages.getImageDescriptor(IInternalConsoleConstants.IMG_ELCL_LOCK));
-
- boolean checked = prefStore.getBoolean(IInternalConsoleConstants.PREF_CONSOLE_SCROLL_LOCK);
- setChecked(checked);
- fConsole.setAutoScroll(!checked);
- prefStore.addPropertyChangeListener(this);
- }
-
- /**
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run() {
- // There may be mulitple consoles open but scroll lock is considered global to all of them.
- // Need to fire the event so that all consoles have a chance to update their state.
- prefStore.setValue(IInternalConsoleConstants.PREF_CONSOLE_SCROLL_LOCK, isChecked());
- }
-
- public void dispose() {
- prefStore.removePropertyChangeListener(this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.util.IPropertyChangeListener#propertyChange(org.eclipse.jface.util.PropertyChangeEvent)
- */
- public void propertyChange(PropertyChangeEvent event) {
- if (event.getProperty().equals(IInternalConsoleConstants.PREF_CONSOLE_SCROLL_LOCK)) {
- boolean checked = prefStore.getBoolean(IInternalConsoleConstants.PREF_CONSOLE_SCROLL_LOCK);
- setChecked(checked);
- fConsole.setAutoScroll(!checked);
- }
-
- }
-}
-
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java b/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java
deleted file mode 100644
index 7e0ee4a19..000000000
--- a/org.eclipse.ui.console/src/org/eclipse/ui/internal/console/ShowConsoleAction.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.internal.console;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.console.IConsoleView;
-
-/**
- * Shows a specific console in the console view
- */
-public class ShowConsoleAction extends Action {
-
- private IConsole fConsole;
- private IConsoleView fView;
-
- /* (non-Javadoc)
- * @see org.eclipse.jface.action.IAction#run()
- */
- public void run() {
- if (!fConsole.equals(fView.getConsole())) {
- // only change if required (and pin the console if pinned)
- if (fView.isPinned()) {
- fView.pin(fConsole);
- } else {
- fView.display(fConsole);
- }
- }
- }
-
- /**
- * Constructs an action to display the given console.
- *
- * @param view the console view in which the given console is contained
- * @param console the console
- */
- public ShowConsoleAction(IConsoleView view, IConsole console) {
- super();
- fConsole = console;
- fView = view;
- setText(console.getName());
- setImageDescriptor(console.getImageDescriptor());
- }
-}
diff --git a/org.eclipse.ui.externaltools/.classpath b/org.eclipse.ui.externaltools/.classpath
deleted file mode 100644
index 26de43bd1..000000000
--- a/org.eclipse.ui.externaltools/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="External Tools Base"/>
- <classpathentry kind="src" path="Program Tools Support"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/org.eclipse.ui.externaltools/.cvsignore b/org.eclipse.ui.externaltools/.cvsignore
deleted file mode 100644
index 1fb8f5b9f..000000000
--- a/org.eclipse.ui.externaltools/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bin
-externaltools.jar
-build.xml
-temp.folder
diff --git a/org.eclipse.ui.externaltools/.options b/org.eclipse.ui.externaltools/.options
deleted file mode 100644
index d127194c3..000000000
--- a/org.eclipse.ui.externaltools/.options
+++ /dev/null
@@ -1 +0,0 @@
-# Debugging options for the org.eclipse.ui.externaltools plugin.
diff --git a/org.eclipse.ui.externaltools/.project b/org.eclipse.ui.externaltools/.project
deleted file mode 100644
index 28c5bcf1c..000000000
--- a/org.eclipse.ui.externaltools/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.ui.externaltools</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 3c5515b6f..000000000
--- a/org.eclipse.ui.externaltools/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,69 +0,0 @@
-#Mon Nov 01 18:53:31 GMT-08:00 2004
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.source=1.3
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-eclipse.preferences.version=1
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=disabled
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
diff --git a/org.eclipse.ui.externaltools/.settings/org.eclipse.pde.prefs b/org.eclipse.ui.externaltools/.settings/org.eclipse.pde.prefs
deleted file mode 100644
index 4c5630dee..000000000
--- a/org.eclipse.ui.externaltools/.settings/org.eclipse.pde.prefs
+++ /dev/null
@@ -1,14 +0,0 @@
-#Wed Nov 24 22:35:50 GMT-08:00 2004
-compilers.p.unused-element-or-attribute=1
-compilers.p.unresolved-ex-points=0
-compilers.p.deprecated=1
-compilers.p.unknown-element=0
-compilers.p.unknown-resource=1
-compilers.p.unknown-class=1
-compilers.p.unknown-attribute=0
-compilers.p.no-required-att=0
-eclipse.preferences.version=1
-compilers.p.unresolved-import=0
-compilers.p.not-externalized-att=1
-compilers.p.illegal-att-value=0
-compilers.use-project=true
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java
deleted file mode 100644
index 6f6a13792..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsBuilderTab.java
+++ /dev/null
@@ -1,310 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.debug.ui.IDebugUIConstants;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IWorkingSet;
-import org.eclipse.ui.IWorkingSetManager;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.IWorkingSetEditWizard;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolBuilder;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolsHelpContextIds;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.ide.IDE;
-
-public class ExternalToolsBuilderTab extends AbstractLaunchConfigurationTab {
-
- private Button afterClean;
- private Button autoBuildButton;
- private Button manualBuild;
- private Button workingSetButton;
- private Button specifyResources;
- protected Button fLaunchInBackgroundButton;
- private IWorkingSet workingSet;
-
- private SelectionListener selectionListener= new SelectionAdapter() {
- /* (non-Javadoc)
- * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
- */
- public void widgetSelected(SelectionEvent e) {
- boolean enabled= autoBuildButton.getSelection() || manualBuild.getSelection();
- workingSetButton.setEnabled(enabled);
- specifyResources.setEnabled(enabled && workingSetButton.getSelection());
- updateLaunchConfigurationDialog();
- }
- };
-
- public void createControl(Composite parent) {
- Composite mainComposite = new Composite(parent, SWT.NONE);
- setControl(mainComposite);
- WorkbenchHelp.setHelp(getControl(), IExternalToolsHelpContextIds.EXTERNAL_TOOLS_LAUNCH_CONFIGURATION_DIALOG_BUILDER_TAB);
-
- GridLayout layout = new GridLayout();
- GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
- gridData.horizontalSpan = 2;
- layout.numColumns = 2;
- layout.makeColumnsEqualWidth = false;
- mainComposite.setLayout(layout);
- mainComposite.setLayoutData(gridData);
- mainComposite.setFont(parent.getFont());
- createLaunchInBackgroundComposite(mainComposite);
- createBuildScheduleComponent(mainComposite);
-
- }
-
- /**
- * Creates the controls needed to edit the launch in background
- * attribute of an external tool
- *
- * @param parent the composite to create the controls in
- */
- protected void createLaunchInBackgroundComposite(Composite parent) {
- fLaunchInBackgroundButton = createCheckButton(parent, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.14")); //$NON-NLS-1$
- GridData data = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- data.horizontalSpan = 2;
- fLaunchInBackgroundButton.setLayoutData(data);
- fLaunchInBackgroundButton.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- updateLaunchConfigurationDialog();
- }
- });
- }
-
- private void createBuildScheduleComponent(Composite parent) {
- Label label= new Label(parent, SWT.NONE);
- label.setText(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Run_this_builder_for__1")); //$NON-NLS-1$
- label.setFont(parent.getFont());
- afterClean= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.&Full_builds_2"), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Full"), 2); //$NON-NLS-1$ //$NON-NLS-2$
- manualBuild= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.&Incremental_builds_4"), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Inc"), 2); //$NON-NLS-1$ //$NON-NLS-2$
- autoBuildButton= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.&Auto_builds_(Not_recommended)_6"), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Auto"), 2); //$NON-NLS-1$ //$NON-NLS-2$
-
- createVerticalSpacer(parent, 2);
-
- workingSetButton= createButton(parent, selectionListener, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.workingSet_label"), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.workingSet_tooltip"), 1); //$NON-NLS-1$ //$NON-NLS-2$
- specifyResources= createPushButton(parent, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.13"), null); //$NON-NLS-1$
- GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_END);
- specifyResources.setLayoutData(gd);
- specifyResources.addSelectionListener(new SelectionAdapter() {
- public void widgetSelected(SelectionEvent e) {
- selectResources();
- }
- });
- }
-
- /*
- * Creates a check button in the given composite with the given text
- */
- private Button createButton(Composite parent, SelectionListener listener, String text, String tooltipText, int columns) {
- Button button= createCheckButton(parent, text);
- button.setToolTipText(tooltipText);
- button.addSelectionListener(listener);
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.horizontalSpan = columns;
- button.setLayoutData(gd);
- return button;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
- */
- public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
- StringBuffer buffer= new StringBuffer(IExternalToolConstants.BUILD_TYPE_FULL);
- buffer.append(',');
- buffer.append(IExternalToolConstants.BUILD_TYPE_INCREMENTAL);
- buffer.append(',');
- configuration.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, buffer.toString());
- configuration.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, false);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
- */
- public void initializeFrom(ILaunchConfiguration configuration) {
-
- afterClean.setSelection(false);
- manualBuild.setSelection(false);
- autoBuildButton.setSelection(false);
-
- String buildKindString= null;
- String buildScope= null;
- try {
- buildKindString= configuration.getAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, ""); //$NON-NLS-1$
- buildScope= configuration.getAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, (String)null);
- } catch (CoreException e) {
- }
-
- workingSetButton.setSelection(buildScope != null);
- workingSetButton.setEnabled(buildScope != null);
-
- if (buildScope != null) {
- workingSet = RefreshTab.getWorkingSet(buildScope);
- }
-
- int buildTypes[]= ExternalToolBuilder.buildTypesToArray(buildKindString);
- for (int i = 0; i < buildTypes.length; i++) {
- switch (buildTypes[i]) {
- case IncrementalProjectBuilder.FULL_BUILD:
- afterClean.setSelection(true);
- break;
- case IncrementalProjectBuilder.INCREMENTAL_BUILD:
- manualBuild.setSelection(true);
- break;
- case IncrementalProjectBuilder.AUTO_BUILD:
- autoBuildButton.setSelection(true);
- break;
- }
- }
- boolean enabled= autoBuildButton.getSelection() || manualBuild.getSelection();
- workingSetButton.setEnabled(enabled);
- specifyResources.setEnabled(enabled && workingSetButton.getSelection());
- updateRunInBackground(configuration);
- }
-
- protected void updateRunInBackground(ILaunchConfiguration configuration) {
- fLaunchInBackgroundButton.setSelection(isLaunchInBackground(configuration));
- }
-
- /**
- * Returns whether the given configuration should be run in the background.
- *
- * @param configuration the configuration
- * @return whether the configuration is configured to run in the background
- */
- public static boolean isLaunchInBackground(ILaunchConfiguration configuration) {
- boolean launchInBackground= false;
- try {
- launchInBackground= configuration.getAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, false);
- } catch (CoreException ce) {
- ExternalToolsPlugin.getDefault().log(ce);
- }
- return launchInBackground;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
- */
- public void performApply(ILaunchConfigurationWorkingCopy configuration) {
- StringBuffer buffer= new StringBuffer();
- if (afterClean.getSelection()) {
- buffer.append(IExternalToolConstants.BUILD_TYPE_FULL).append(',');
- }
- if (manualBuild.getSelection()){
- buffer.append(IExternalToolConstants.BUILD_TYPE_INCREMENTAL).append(',');
- }
- if (autoBuildButton.getSelection()) {
- buffer.append(IExternalToolConstants.BUILD_TYPE_AUTO).append(',');
- }
- configuration.setAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, buffer.toString());
-
- if (workingSetButton.getSelection()) {
- String scope = RefreshTab.getRefreshAttribute(workingSet);
- configuration.setAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, scope);
- } else {
- configuration.setAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, (String)null);
- }
- configuration.setAttribute(IDebugUIConstants.ATTR_LAUNCH_IN_BACKGROUND, fLaunchInBackgroundButton.getSelection());
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
- */
- public String getName() {
- return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.Build_Options_9"); //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
- */
- public Image getImage() {
- return PlatformUI.getWorkbench().getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
- */
- public boolean isValid(ILaunchConfiguration launchConfig) {
- setErrorMessage(null);
- setMessage(null);
-
- boolean buildKindSelected= afterClean.getSelection() || manualBuild.getSelection() || autoBuildButton.getSelection();
- if (!buildKindSelected) {
- setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.buildKindError")); //$NON-NLS-1$
- return false;
- }
- if (workingSetButton.getSelection() && (workingSet == null || workingSet.getElements().length == 0)) {
- setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.16")); //$NON-NLS-1$
- }
-
- return true;
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#canSave()
- */
- public boolean canSave() {
- return isValid(null);
- }
-
- /**
- * Prompts the user to select the working set that triggers the build.
- */
- private void selectResources() {
- IWorkingSetManager workingSetManager= PlatformUI.getWorkbench().getWorkingSetManager();
-
- if (workingSet == null){
- workingSet = workingSetManager.createWorkingSet(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsBuilderTab.15"), new IAdaptable[0]); //$NON-NLS-1$
- }
- IWorkingSetEditWizard wizard= workingSetManager.createWorkingSetEditWizard(workingSet);
- WizardDialog dialog = new WizardDialog(ExternalToolsPlugin.getStandardDisplay().getActiveShell(), wizard);
- dialog.create();
-
- if (dialog.open() == Window.CANCEL) {
- return;
- }
- workingSet = wizard.getSelection();
- updateLaunchConfigurationDialog();
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
- */
- public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
- // do nothing on activation
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
- */
- public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
- // do nothing on deactivation
- }
-
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java
deleted file mode 100644
index e1e1695db..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ExternalToolsLaunchConfigurationMessages {
-
- private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsLaunchConfigurationMessages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE =
- ResourceBundle.getBundle(BUNDLE_NAME);
-
- private ExternalToolsLaunchConfigurationMessages() {
- }
-
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties
deleted file mode 100644
index cca674c06..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsLaunchConfigurationMessages.properties
+++ /dev/null
@@ -1,53 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-ExternalToolsMainTab.&Location___2=&Location:
-ExternalToolsMainTab.&Browse_Workspace..._3=Browse Works&pace...
-ExternalToolsMainTab.Brows&e_File_System..._4=Brows&e File System...
-ExternalToolsMainTab.Working_&Directory__5=Working &Directory:
-ExternalToolsMainTab.Browse_Wor&kspace..._6=Browse Wor&kspace...
-ExternalToolsMainTab.Browse_F&ile_System..._7=Br&owse File System...
-ExternalToolsMainTab.Error_reading_configuration_10=Error reading configuration
-ExternalToolsMainTab.&Main_17=Main
-ExternalToolsMainTab.External_tool_location_cannot_be_empty_18=External tool location cannot be empty
-ExternalToolsMainTab.External_tool_location_does_not_exist_19=External tool location does not exist
-ExternalToolsMainTab.External_tool_location_specified_is_not_a_file_20=External tool location specified is not a file
-ExternalToolsMainTab.External_tool_working_directory_does_not_exist_or_is_invalid_21=External tool working directory does not exist or is invalid
-ExternalToolsMainTab.Select_a_resource_22=Select a resource:
-ExternalToolsMainTab.23=Select a working directory:
-ExternalToolsMainTab.&Arguments___1=&Arguments:
-ExternalToolsMainTab.Varia&bles..._2=Variable&s...
-ExternalToolsMainTab.3=Note: Enclose an argument containing spaces using double-quotes (\").
-ExternalToolsMainTab.Error_reading_configuration_7=Error reading configuration
-ExternalToolsMainTab.Not_a_directory=The specified location is not a directory
-ExternalToolsMainTab.30=Please specify the location of the external tool you would like to configure.
-ExternalToolsMainTab.31=Var&iables...
-ExternalToolsMainTab.32=Varia&bles...
-
-ExternalToolsUtil.Location_not_specified_by_{0}_1=Location not specified by {0}
-ExternalToolsUtil.invalidLocation_{0} = The file does not exist for the external tool named {0}.
-ExternalToolsUtil.invalidDirectory_{0} = The working directory {0} does not exist for the external tool named {1}.
-
-ExternalToolsBuilderTab.Run_this_builder_for__1=Run the builder:
-ExternalToolsBuilderTab.&Full_builds_2=&After a \"Clean\"
-ExternalToolsBuilderTab.Full=Runs on the first build that occurs after a clean.
-ExternalToolsBuilderTab.&Incremental_builds_4=&During Manual Builds
-ExternalToolsBuilderTab.Inc=Runs whenever the user invokes a build (but not for auto-build).
-ExternalToolsBuilderTab.&Auto_builds_(Not_recommended)_6=During A&uto Builds
-ExternalToolsBuilderTab.Auto=Runs whenever a resource in the workspace is modified if autobuilding is enabled. Enabling this option should be paired with a specifying a resource working set.
-ExternalToolsBuilderTab.Build_Options_9=&Build Options
-ExternalToolsBuilderTab.workingSet_label=Specify working set of &relevant resources (not applied for the build after a clean)
-ExternalToolsBuilderTab.workingSet_tooltip=The working set of resources that if changed from a manual or auto build will trigger the external tool builder
-ExternalToolsBuilderTab.buildKindError=At least one type of build kind must be selected
-ExternalToolsBuilderTab.14=Launch in bac&kground
-ExternalToolsBuilderTab.13=&Specify Resources...
-ExternalToolsBuilderTab.16=Must select resources in working set.
-ExternalToolsBuilderTab.15=workingSet \ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java
deleted file mode 100644
index 0419e9e21..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsMainTab.java
+++ /dev/null
@@ -1,644 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-
-import java.io.File;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.internal.ui.stringsubstitution.StringVariableSelectionDialog;
-import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.accessibility.AccessibleAdapter;
-import org.eclipse.swt.accessibility.AccessibleEvent;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.dialogs.ContainerSelectionDialog;
-import org.eclipse.ui.dialogs.ResourceSelectionDialog;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsImages;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * The external tools main tab allows the user to configure primary attributes
- * of external tool launch configurations such as the location, working directory,
- * and arguments.
- */
-public abstract class ExternalToolsMainTab extends AbstractLaunchConfigurationTab {
- public final static String FIRST_EDIT = "editedByExternalToolsMainTab"; //$NON-NLS-1$
-
- protected Text locationField;
- protected Text workDirectoryField;
- protected Button fileLocationButton;
- protected Button workspaceLocationButton;
- protected Button variablesLocationButton;
- protected Button fileWorkingDirectoryButton;
- protected Button workspaceWorkingDirectoryButton;
- protected Button variablesWorkingDirectoryButton;
-
- protected Text argumentField;
- protected Button argumentVariablesButton;
-
- protected SelectionAdapter selectionAdapter;
-
- protected boolean fInitializing= false;
- private boolean userEdited= false;
-
- protected WidgetListener fListener= new WidgetListener();
-
- /**
- * A listener to update for text modification and widget selection.
- */
- protected class WidgetListener extends SelectionAdapter implements ModifyListener {
- public void modifyText(ModifyEvent e) {
- if (!fInitializing) {
- setDirty(true);
- userEdited= true;
- updateLaunchConfigurationDialog();
- }
- }
- public void widgetSelected(SelectionEvent e) {
- setDirty(true);
- Object source= e.getSource();
- if (source == workspaceLocationButton) {
- handleWorkspaceLocationButtonSelected();
- } else if (source == fileLocationButton) {
- handleFileLocationButtonSelected();
- } else if (source == workspaceWorkingDirectoryButton) {
- handleWorkspaceWorkingDirectoryButtonSelected();
- } else if (source == fileWorkingDirectoryButton) {
- handleFileWorkingDirectoryButtonSelected();
- } else if (source == argumentVariablesButton) {
- handleVariablesButtonSelected(argumentField);
- } else if (source == variablesLocationButton) {
- handleVariablesButtonSelected(locationField);
- } else if (source == variablesWorkingDirectoryButton) {
- handleVariablesButtonSelected(workDirectoryField);
- }
- }
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
- */
- public void createControl(Composite parent) {
- Composite mainComposite = new Composite(parent, SWT.NONE);
- setControl(mainComposite);
- mainComposite.setFont(parent.getFont());
- GridLayout layout = new GridLayout();
- layout.numColumns = 1;
- GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
- mainComposite.setLayout(layout);
- mainComposite.setLayoutData(gridData);
-
- createLocationComponent(mainComposite);
- createWorkDirectoryComponent(mainComposite);
- createArgumentComponent(mainComposite);
- createVerticalSpacer(mainComposite, 1);
-
- Dialog.applyDialogFont(parent);
- }
-
- /**
- * Creates the controls needed to edit the location
- * attribute of an external tool
- *
- * @param group the composite to create the controls in
- */
- protected void createLocationComponent(Composite parent) {
- Group group = new Group(parent, SWT.NONE);
- String locationLabel = getLocationLabel();
- group.setText(locationLabel);
- GridLayout layout = new GridLayout();
- layout.numColumns = 1;
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
- group.setLayout(layout);
- group.setLayoutData(gridData);
-
- locationField = new Text(group, SWT.BORDER);
- gridData = new GridData(GridData.FILL_HORIZONTAL);
- gridData.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- locationField.setLayoutData(gridData);
- locationField.addModifyListener(fListener);
- addControlAccessibleListener(locationField, group.getText());
-
- Composite buttonComposite = new Composite(group, SWT.NONE);
- layout = new GridLayout();
- layout.numColumns = 3;
- gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
- buttonComposite.setLayout(layout);
- buttonComposite.setLayoutData(gridData);
- buttonComposite.setFont(parent.getFont());
-
- workspaceLocationButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Browse_Workspace..._3"), null); //$NON-NLS-1$
- workspaceLocationButton.addSelectionListener(fListener);
- addControlAccessibleListener(workspaceLocationButton, group.getText() + " " + workspaceLocationButton.getText()); //$NON-NLS-1$
-
- fileLocationButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Brows&e_File_System..._4"), null); //$NON-NLS-1$
- fileLocationButton.addSelectionListener(fListener);
- addControlAccessibleListener(fileLocationButton, group.getText() + " " + fileLocationButton.getText()); //$NON-NLS-1$
-
- variablesLocationButton = createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.31"), null); //$NON-NLS-1$
- variablesLocationButton.addSelectionListener(fListener);
- addControlAccessibleListener(variablesLocationButton, group.getText() + " " + variablesLocationButton.getText()); //$NON-NLS-1$
- }
-
- /**
- * Returns the label used for the location widgets. Subclasses may wish to override.
- */
- protected String getLocationLabel() {
- return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Location___2"); //$NON-NLS-1$
- }
-
- /**
- * Creates the controls needed to edit the working directory
- * attribute of an external tool
- *
- * @param parent the composite to create the controls in
- */
- protected void createWorkDirectoryComponent(Composite parent) {
- Group group = new Group(parent, SWT.NONE);
- String groupName = getWorkingDirectoryLabel();
- group.setText(groupName);
- GridLayout layout = new GridLayout();
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- layout.numColumns = 1;
- GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
- group.setLayout(layout);
- group.setLayoutData(gridData);
-
- workDirectoryField = new Text(group, SWT.BORDER);
- GridData data = new GridData(GridData.FILL_HORIZONTAL);
- data.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- workDirectoryField.setLayoutData(data);
- workDirectoryField.addModifyListener(fListener);
- addControlAccessibleListener(workDirectoryField,group.getText());
-
- Composite buttonComposite = new Composite(group, SWT.NONE);
- layout = new GridLayout();
- layout.numColumns = 3;
- gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
- buttonComposite.setLayout(layout);
- buttonComposite.setLayoutData(gridData);
- buttonComposite.setFont(parent.getFont());
-
- workspaceWorkingDirectoryButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Browse_Wor&kspace..._6"), null); //$NON-NLS-1$
- workspaceWorkingDirectoryButton.addSelectionListener(fListener);
- addControlAccessibleListener(workspaceWorkingDirectoryButton, group.getText() + " " + workspaceWorkingDirectoryButton.getText()); //$NON-NLS-1$
-
- fileWorkingDirectoryButton= createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Browse_F&ile_System..._7"), null); //$NON-NLS-1$
- fileWorkingDirectoryButton.addSelectionListener(fListener);
- addControlAccessibleListener(fileWorkingDirectoryButton, group.getText() + " " + fileLocationButton.getText()); //$NON-NLS-1$
-
- variablesWorkingDirectoryButton = createPushButton(buttonComposite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.32"), null); //$NON-NLS-1$
- variablesWorkingDirectoryButton.addSelectionListener(fListener);
- addControlAccessibleListener(variablesWorkingDirectoryButton, group.getText() + " " + variablesWorkingDirectoryButton.getText()); //$NON-NLS-1$
- }
-
- /**
- * Return the String to use as the label for the working directory field.
- * Subclasses may wish to override.
- */
- protected String getWorkingDirectoryLabel() {
- return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Working_&Directory__5"); //$NON-NLS-1$
- }
-
- /**
- * Creates the controls needed to edit the argument and
- * prompt for argument attributes of an external tool
- *
- * @param parent the composite to create the controls in
- */
- protected void createArgumentComponent(Composite parent) {
- Group group = new Group(parent, SWT.NONE);
- String groupName = ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Arguments___1"); //$NON-NLS-1$
- group.setText(groupName);
- GridLayout layout = new GridLayout();
- layout.marginWidth = 0;
- layout.marginHeight = 0;
- layout.numColumns = 1;
- GridData gridData = new GridData(GridData.FILL_BOTH);
- group.setLayout(layout);
- group.setLayoutData(gridData);
-
- argumentField = new Text(group, SWT.MULTI | SWT.WRAP | SWT.BORDER | SWT.V_SCROLL);
- gridData = new GridData(GridData.FILL_BOTH);
- gridData.widthHint = IDialogConstants.ENTRY_FIELD_WIDTH;
- gridData.heightHint = 30;
- argumentField.setLayoutData(gridData);
- argumentField.addModifyListener(fListener);
- addControlAccessibleListener(argumentField, group.getText());
-
- Composite composite = new Composite(group, SWT.NONE);
- layout = new GridLayout();
- layout.numColumns= 1;
- gridData = new GridData(GridData.HORIZONTAL_ALIGN_END);
- composite.setLayout(layout);
- composite.setLayoutData(gridData);
- composite.setFont(parent.getFont());
-
- argumentVariablesButton= createPushButton(composite, ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Varia&bles..._2"), null); //$NON-NLS-1$
- argumentVariablesButton.addSelectionListener(fListener);
- addControlAccessibleListener(argumentVariablesButton, argumentVariablesButton.getText()); // need to strip the mnemonic from buttons
-
- Label instruction = new Label(group, SWT.NONE);
- instruction.setText(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.3")); //$NON-NLS-1$
- gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
- gridData.horizontalSpan = 2;
- instruction.setLayoutData(gridData);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
- */
- public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
- configuration.setAttribute(FIRST_EDIT, true);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(org.eclipse.debug.core.ILaunchConfiguration)
- */
- public void initializeFrom(ILaunchConfiguration configuration) {
- fInitializing= true;
- updateLocation(configuration);
- updateWorkingDirectory(configuration);
- updateArgument(configuration);
- fInitializing= false;
- setDirty(false);
- }
-
- /**
- * Updates the working directory widgets to match the state of the given launch
- * configuration.
- */
- protected void updateWorkingDirectory(ILaunchConfiguration configuration) {
- String workingDir= ""; //$NON-NLS-1$
- try {
- workingDir= configuration.getAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, ""); //$NON-NLS-1$
- } catch (CoreException ce) {
- ExternalToolsPlugin.getDefault().log(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Error_reading_configuration_10"), ce); //$NON-NLS-1$
- }
- workDirectoryField.setText(workingDir);
- }
-
- /**
- * Updates the location widgets to match the state of the given launch
- * configuration.
- */
- protected void updateLocation(ILaunchConfiguration configuration) {
- String location= ""; //$NON-NLS-1$
- try {
- location= configuration.getAttribute(IExternalToolConstants.ATTR_LOCATION, ""); //$NON-NLS-1$
- } catch (CoreException ce) {
- ExternalToolsPlugin.getDefault().log(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Error_reading_configuration_10"), ce); //$NON-NLS-1$
- }
- locationField.setText(location);
- }
-
- /**
- * Updates the argument widgets to match the state of the given launch
- * configuration.
- */
- protected void updateArgument(ILaunchConfiguration configuration) {
- String arguments= ""; //$NON-NLS-1$
- try {
- arguments= configuration.getAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, ""); //$NON-NLS-1$
- } catch (CoreException ce) {
- ExternalToolsPlugin.getDefault().log(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Error_reading_configuration_7"), ce); //$NON-NLS-1$
- }
- argumentField.setText(arguments);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#performApply(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
- */
- public void performApply(ILaunchConfigurationWorkingCopy configuration) {
- String location= locationField.getText().trim();
- if (location.length() == 0) {
- configuration.setAttribute(IExternalToolConstants.ATTR_LOCATION, (String)null);
- } else {
- configuration.setAttribute(IExternalToolConstants.ATTR_LOCATION, location);
- }
-
- String workingDirectory= workDirectoryField.getText().trim();
- if (workingDirectory.length() == 0) {
- configuration.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, (String)null);
- } else {
- configuration.setAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, workingDirectory);
- }
-
- String arguments= argumentField.getText().trim();
- if (arguments.length() == 0) {
- configuration.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, (String)null);
- } else {
- configuration.setAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, arguments);
- }
-
- if(userEdited) {
- configuration.setAttribute(FIRST_EDIT, (String)null);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName()
- */
- public String getName() {
- return ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.&Main_17"); //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(org.eclipse.debug.core.ILaunchConfiguration)
- */
- public boolean isValid(ILaunchConfiguration launchConfig) {
- setErrorMessage(null);
- setMessage(null);
- boolean newConfig = false;
- try {
- newConfig = launchConfig.getAttribute(FIRST_EDIT, false);
- } catch (CoreException e) {
- //assume false is correct
- }
- return validateLocation(newConfig) && validateWorkDirectory();
- }
-
- /**
- * Validates the content of the location field.
- */
- protected boolean validateLocation(boolean newConfig) {
- String location = locationField.getText().trim();
- if (location.length() < 1) {
- if (newConfig) {
- setErrorMessage(null);
- setMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.30")); //$NON-NLS-1$
- } else {
- setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.External_tool_location_cannot_be_empty_18")); //$NON-NLS-1$
- setMessage(null);
- }
- return false;
- }
-
- String expandedLocation= null;
- try {
- expandedLocation= resolveValue(location);
- if (expandedLocation == null) { //a variable that needs to be resolved at runtime
- return true;
- }
- } catch (CoreException e) {
- setErrorMessage(e.getStatus().getMessage());
- return false;
- }
-
- File file = new File(expandedLocation);
- if (!file.exists()) { // The file does not exist.
- if (!newConfig) {
- setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.External_tool_location_does_not_exist_19")); //$NON-NLS-1$
- }
- return false;
- }
- if (!file.isFile()) {
- if (!newConfig) {
- setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.External_tool_location_specified_is_not_a_file_20")); //$NON-NLS-1$
- }
- return false;
- }
- return true;
- }
-
- /**
- * Validates the variables of the given string to determine if all variables are valid
- *
- * @param expression expression with variables
- * @exception CoreException if a variable is specified that does not exist
- */
- private void validateVaribles(String expression) throws CoreException {
- IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
- manager.validateStringVariables(expression);
- }
-
- private String resolveValue(String expression) throws CoreException {
- String expanded= null;
- try {
- expanded= getValue(expression);
- } catch (CoreException e) { //possibly just a variable that needs to be resolved at runtime
- validateVaribles(expression);
- return null;
- }
- return expanded;
- }
-
- /**
- * Validates the value of the given string to determine if any/all variables are valid
- *
- * @param expression expression with variables
- * @return whether the expression contained any variable values
- * @exception CoreException if variable resolution fails
- */
- private String getValue(String expression) throws CoreException {
- IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
- return manager.performStringSubstitution(expression);
- }
-
- /**
- * Validates the content of the working directory field.
- */
- protected boolean validateWorkDirectory() {
- String dir = workDirectoryField.getText().trim();
- if (dir.length() <= 0) {
- return true;
- }
-
- String expandedDir= null;
- try {
- expandedDir= resolveValue(dir);
- if (expandedDir == null) { //a variable that needs to be resolved at runtime
- return true;
- }
- } catch (CoreException e) {
- setErrorMessage(e.getStatus().getMessage());
- return false;
- }
-
- File file = new File(expandedDir);
- if (!file.exists()) { // The directory does not exist.
- setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.External_tool_working_directory_does_not_exist_or_is_invalid_21")); //$NON-NLS-1$
- return false;
- }
- if (!file.isDirectory()) {
- setErrorMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Not_a_directory")); //$NON-NLS-1$
- return false;
- }
- return true;
- }
-
- /**
- * Prompts the user to choose a location from the filesystem and
- * sets the location as the full path of the selected file.
- */
- protected void handleFileLocationButtonSelected() {
- FileDialog fileDialog = new FileDialog(getShell(), SWT.NONE);
- fileDialog.setFileName(locationField.getText());
- String text= fileDialog.open();
- if (text != null) {
- locationField.setText(text);
- }
- }
-
- /**
- * Prompts the user for a workspace location within the workspace and sets
- * the location as a String containing the workspace_loc variable or
- * <code>null</code> if no location was obtained from the user.
- */
- protected void handleWorkspaceLocationButtonSelected() {
- ResourceSelectionDialog dialog;
- dialog = new ResourceSelectionDialog(getShell(), ResourcesPlugin.getWorkspace().getRoot(), ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.Select_a_resource_22")); //$NON-NLS-1$
- dialog.open();
- Object[] results = dialog.getResult();
- if (results == null || results.length < 1) {
- return;
- }
- IResource resource = (IResource)results[0];
- locationField.setText(newVariableExpression("workspace_loc", resource.getFullPath().toString())); //$NON-NLS-1$
- }
-
- /**
- * Prompts the user for a working directory location within the workspace
- * and sets the working directory as a String containing the workspace_loc
- * variable or <code>null</code> if no location was obtained from the user.
- */
- protected void handleWorkspaceWorkingDirectoryButtonSelected() {
- ContainerSelectionDialog containerDialog;
- containerDialog = new ContainerSelectionDialog(
- getShell(),
- ResourcesPlugin.getWorkspace().getRoot(),
- false,
- ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.23")); //$NON-NLS-1$
- containerDialog.open();
- Object[] resource = containerDialog.getResult();
- String text= null;
- if (resource != null && resource.length > 0) {
- text= newVariableExpression("workspace_loc", ((IPath)resource[0]).toString()); //$NON-NLS-1$
- }
- if (text != null) {
- workDirectoryField.setText(text);
- }
- }
-
- /**
- * Returns a new variable expression with the given variable and the given argument.
- * @see IStringVariableManager#generateVariableExpression(String, String)
- */
- protected String newVariableExpression(String varName, String arg) {
- return VariablesPlugin.getDefault().getStringVariableManager().generateVariableExpression(varName, arg);
- }
-
- /**
- * Prompts the user to choose a working directory from the filesystem.
- */
- protected void handleFileWorkingDirectoryButtonSelected() {
- DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.SAVE);
- dialog.setMessage(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsMainTab.23")); //$NON-NLS-1$
- dialog.setFilterPath(workDirectoryField.getText());
- String text= dialog.open();
- if (text != null) {
- workDirectoryField.setText(text);
- }
- }
-
- /**
- * A variable entry button has been pressed for the given text
- * field. Prompt the user for a variable and enter the result
- * in the given field.
- */
- private void handleVariablesButtonSelected(Text textField) {
- String variable = getVariable();
- if (variable != null) {
- textField.append(variable);
- }
- }
-
- /**
- * Prompts the user to choose and configure a variable and returns
- * the resulting string, suitable to be used as an attribute.
- */
- private String getVariable() {
- StringVariableSelectionDialog dialog = new StringVariableSelectionDialog(getShell());
- dialog.open();
- return dialog.getVariableExpression();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage()
- */
- public Image getImage() {
- return ExternalToolsImages.getImage(IExternalToolConstants.IMG_TAB_MAIN);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#deactivated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
- */
- public void deactivated(ILaunchConfigurationWorkingCopy workingCopy) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.ILaunchConfigurationTab#activated(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
- */
- public void activated(ILaunchConfigurationWorkingCopy workingCopy) {
- }
-
- /*
- * Fix for Bug 60163 Accessibility: New Builder Dialog missing object info for textInput controls
- */
- public void addControlAccessibleListener(Control control, String controlName) {
- //strip mnemonic (&)
- String[] strs = controlName.split("&"); //$NON-NLS-1$
- StringBuffer stripped = new StringBuffer();
- for (int i = 0; i < strs.length; i++) {
- stripped.append(strs[i]);
- }
- control.getAccessible().addAccessibleListener(new ControlAccessibleListener(stripped.toString()));
- }
-
- private class ControlAccessibleListener extends AccessibleAdapter {
- private String controlName;
- ControlAccessibleListener(String name) {
- controlName = name;
- }
- public void getName(AccessibleEvent e) {
- e.result = controlName;
- }
-
- }
-} \ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java
deleted file mode 100644
index 4c74b8c51..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/ExternalToolsUtil.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Keith Seitz (keiths@redhat.com) - environment variables contribution (Bug 27243(
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-
-import java.io.File;
-import java.text.MessageFormat;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * Utilities for external tool launch configurations.
- * <p>
- * This class it not intended to be instantiated.
- * </p>
- */
-public class ExternalToolsUtil {
-
- /**
- * Throws a core exception with an error status object built from
- * the given message, lower level exception, and error code.
- *
- * @param message the status message
- * @param exception lower level exception associated with the
- * error, or <code>null</code> if none
- * @param code error code
- */
- protected static void abort(String message, Throwable exception, int code) throws CoreException {
- throw new CoreException(new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, code, message, exception));
- }
-
- /**
- * Expands and returns the location attribute of the given launch
- * configuration. The location is
- * verified to point to an existing file, in the local file system.
- *
- * @param configuration launch configuration
- * @return an absolute path to a file in the local file system
- * @throws CoreException if unable to retrieve the associated launch
- * configuration attribute, if unable to resolve any variables, or if the
- * resolved location does not point to an existing file in the local file
- * system
- */
- public static IPath getLocation(ILaunchConfiguration configuration) throws CoreException {
- String location = configuration.getAttribute(IExternalToolConstants.ATTR_LOCATION, (String) null);
- if (location == null) {
- abort(MessageFormat.format(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.Location_not_specified_by_{0}_1"), new String[] { configuration.getName()}), null, 0); //$NON-NLS-1$
- } else {
- String expandedLocation = getStringVariableManager().performStringSubstitution(location);
- if (expandedLocation == null || expandedLocation.length() == 0) {
- String msg = MessageFormat.format(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.invalidLocation_{0}"), new Object[] { configuration.getName()}); //$NON-NLS-1$
- abort(msg, null, 0);
- } else {
- File file = new File(expandedLocation);
- if (file.isFile()) {
- return new Path(expandedLocation);
- }
-
- String msg = MessageFormat.format(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.invalidLocation_{0}"), new Object[] { configuration.getName()}); //$NON-NLS-1$
- abort(msg, null, 0);
- }
- }
- // execution will not reach here
- return null;
- }
-
- /**
- * Returns a boolean specifying whether or not output should be captured for
- * the given configuration
- *
- * @param configuration the configuration from which the value will be
- * extracted
- * @return boolean specifying whether or not output should be captured
- * @throws CoreException if unable to access the associated attribute
- */
- public static boolean getCaptureOutput(ILaunchConfiguration configuration) throws CoreException {
- return configuration.getAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, true);
- }
-
- /**
- * Expands and returns the working directory attribute of the given launch
- * configuration. Returns <code>null</code> if a working directory is not
- * specified. If specified, the working is verified to point to an existing
- * directory in the local file system.
- *
- * @param configuration launch configuration
- * @return an absolute path to a directory in the local file system, or
- * <code>null</code> if unspecified
- * @throws CoreException if unable to retrieve the associated launch
- * configuration attribute, if unable to resolve any variables, or if the
- * resolved location does not point to an existing directory in the local
- * file system
- */
- public static IPath getWorkingDirectory(ILaunchConfiguration configuration) throws CoreException {
- String location = configuration.getAttribute(IExternalToolConstants.ATTR_WORKING_DIRECTORY, (String) null);
- if (location != null) {
- String expandedLocation = getStringVariableManager().performStringSubstitution(location);
- if (expandedLocation.length() > 0) {
- File path = new File(expandedLocation);
- if (path.isDirectory()) {
- return new Path(expandedLocation);
- }
- String msg = MessageFormat.format(ExternalToolsLaunchConfigurationMessages.getString("ExternalToolsUtil.invalidDirectory_{0}"), new Object[] { expandedLocation, configuration.getName()}); //$NON-NLS-1$
- abort(msg, null, 0);
- }
- }
- return null;
- }
-
- /**
- * Expands and returns the arguments attribute of the given launch
- * configuration. Returns <code>null</code> if arguments are not specified.
- *
- * @param configuration launch configuration
- * @return an array of resolved arguments, or <code>null</code> if
- * unspecified
- * @throws CoreException if unable to retrieve the associated launch
- * configuration attribute, or if unable to resolve any variables
- */
- public static String[] getArguments(ILaunchConfiguration configuration) throws CoreException {
- String args = configuration.getAttribute(IExternalToolConstants.ATTR_TOOL_ARGUMENTS, (String) null);
- if (args != null) {
- String expanded = getStringVariableManager().performStringSubstitution(args);
- return parseStringIntoList(expanded);
- }
- return null;
- }
-
- private static IStringVariableManager getStringVariableManager() {
- return VariablesPlugin.getDefault().getStringVariableManager();
- }
-
- /**
- * Returns whether the given launch configuration is enabled. This property
- * is intended only to apply to external tool builder configurations and
- * determines whether the project builder will launch the configuration
- * when it builds.
- *
- * @param configuration the configuration for which the enabled state should
- * be determined.
- * @return whether the given configuration is enabled to be run when a build occurs.
- * @throws CoreException if unable to access the associated attribute
- */
- public static boolean isBuilderEnabled(ILaunchConfiguration configuration) throws CoreException {
- return configuration.getAttribute(IExternalToolConstants.ATTR_BUILDER_ENABLED, true);
- }
-
- /**
- * Returns the collection of resources for the build scope as specified by the given launch configuration.
- *
- * @param configuration launch configuration
- * @throws CoreException if an exception occurs while retrieving the resources
- */
- public static IResource[] getResourcesForBuildScope(ILaunchConfiguration configuration) throws CoreException {
- String scope = configuration.getAttribute(IExternalToolConstants.ATTR_BUILD_SCOPE, (String) null);
- if (scope == null) {
- return null;
- }
-
- return RefreshTab.getRefreshResources(scope);
- }
-
- /**
- * Parses the argument text into an array of individual
- * strings using the space character as the delimiter.
- * An individual argument containing spaces must have a
- * double quote (") at the start and end. Two double
- * quotes together is taken to mean an embedded double
- * quote in the argument text.
- *
- * @param arguments the arguments as one string
- * @return the array of arguments
- */
- public static String[] parseStringIntoList(String arguments) {
- if (arguments == null || arguments.length() == 0) {
- return new String[0];
- }
- String[] res= DebugPlugin.parseArguments(arguments);
- return res;
- }
-
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java
deleted file mode 100644
index f2f93146d..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/IgnoreWhiteSpaceComparator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-import java.util.Comparator;
-
-public class IgnoreWhiteSpaceComparator implements Comparator {
-
- /* (non-Javadoc)
- * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
- */
- public int compare(Object o1, Object o2) {
- String one= (String)o1;
- String two= (String)o2;
- int i1 = 0;
- int i2 = 0;
- int l1 = one.length();
- int l2 = two.length();
- char ch1 = ' ';
- char ch2 = ' ';
- while (i1 < l1 && i2 < l2) {
- while (i1 < l1 && Character.isWhitespace(ch1 = one.charAt(i1))) {
- i1++;
- }
- while (i2 < l2 && Character.isWhitespace(ch2 = two.charAt(i2))) {
- i2++;
- }
- if (i1 == l1 && i2 == l2) {
- return 0;
- }
- if (ch1 != ch2) {
- return -1;
- }
- i1++;
- i2++;
- }
- return 0;
- }
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java
deleted file mode 100644
index cd8fea5d2..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/launchConfigurations/WorkingSetComparator.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.launchConfigurations;
-
-import java.util.Comparator;
-
-import org.eclipse.debug.ui.RefreshTab;
-import org.eclipse.ui.IWorkingSet;
-
-/**
- * Comparator for refresh scope launch configuration attribute
- * <code>ATTR_REFRESH_SCOPE</code>.
- */
-public class WorkingSetComparator implements Comparator {
-
- /* (non-Javadoc)
- * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
- */
- public int compare(Object o1, Object o2) {
- String one= (String)o1;
- String two= (String)o2;
- if (one == null || two == null) {
- if (one == two) {
- return 0;
- }
- return -1;
- }
- if (one.startsWith("${working_set:") && two.startsWith("${working_set:")) { //$NON-NLS-1$//$NON-NLS-2$
- IWorkingSet workingSet1 = RefreshTab.getWorkingSet(one);
- IWorkingSet workingSet2 = RefreshTab.getWorkingSet(two);
- if (workingSet1 == null || workingSet2 == null) {
- if (workingSet1 == workingSet2) {
- return 0;
- }
- return -1;
- }
- if (workingSet1.equals(workingSet2)) {
- return 0;
- }
- return -1;
- }
- return one.compareTo(two);
- }
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java
deleted file mode 100644
index c387f4529..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/ExternalToolMenuDelegate.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.menu;
-
-import org.eclipse.debug.ui.actions.AbstractLaunchToolbarAction;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * This action delegate is responsible for producing the
- * Run > External Tools sub menu contents, which includes
- * an items to run last tool, favorite tools, and show the
- * external tools launch configuration dialog.
- */
-public class ExternalToolMenuDelegate extends AbstractLaunchToolbarAction {
-
- /**
- * Creates the action delegate
- */
- public ExternalToolMenuDelegate() {
- super(IExternalToolConstants.ID_EXTERNAL_TOOLS_LAUNCH_GROUP);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.actions.AbstractLaunchToolbarAction#getOpenDialogAction()
- */
- protected IAction getOpenDialogAction() {
- IAction action= new OpenExternalToolsConfigurations();
- action.setActionDefinitionId("org.eclipse.ui.externalTools.commands.OpenExternalToolsConfigurations"); //$NON-NLS-1$
- return action;
- }
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/OpenExternalToolsConfigurations.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/OpenExternalToolsConfigurations.java
deleted file mode 100644
index 69b97795d..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/menu/OpenExternalToolsConfigurations.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.menu;
-
-import org.eclipse.debug.ui.actions.OpenLaunchDialogAction;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
-
-/**
- * Opens the launch config dialog on the external tools launch group.
- */
-public class OpenExternalToolsConfigurations extends OpenLaunchDialogAction {
-
- public OpenExternalToolsConfigurations() {
- super(IExternalToolConstants.ID_EXTERNAL_TOOLS_LAUNCH_GROUP);
- }
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java
deleted file mode 100644
index e253213e0..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/BuilderUtils.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.resources.ICommand;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.externaltools.internal.registry.ExternalToolMigration;
-
-/**
- * Utility methods for working with external tool project builders.
- */
-public class BuilderUtils {
-
- public static final String LAUNCH_CONFIG_HANDLE = "LaunchConfigHandle"; //$NON-NLS-1$
-
- /**
- * Constant used to find a builder using the 3.0-interim format
- */
- public static final String BUILDER_FOLDER_NAME= ".externalToolBuilders"; //$NON-NLS-1$
- /**
- * Constant used to represent the current project in the 3.0-final format.
- */
- public static final String PROJECT_TAG= "<project>"; //$NON-NLS-1$
-
- public static final String VERSION_1_0= "1.0"; //$NON-NLS-1$
- public static final String VERSION_2_1= "2.1"; //$NON-NLS-1$
- // The format shipped up to and including Eclipse 3.0 RC1
- public static final String VERSION_3_0_interim= "3.0.interim"; //$NON-NLS-1$
- // The format shipped in Eclipse 3.0 final
- public static final String VERSION_3_0_final= "3.0"; //$NON-NLS-1$
-
- // Extension point constants.
- private static final String TAG_CONFIGURATION_MAP= "configurationMap"; //$NON-NLS-1$
- private static final String TAG_SOURCE_TYPE= "sourceType"; //$NON-NLS-1$
- private static final String TAG_BUILDER_TYPE= "builderType"; //$NON-NLS-1$
-
- /**
- * Returns a launch configuration from the given ICommand arguments. If the
- * given arguments are from an old-style external tool, an unsaved working
- * copy will be created from the arguments and returned.
- *
- * @param commandArgs the builder ICommand arguments
- * @return a launch configuration, a launch configuration working copy, or
- * <code>null</code> if not possible.
- */
- public static ILaunchConfiguration configFromBuildCommandArgs(IProject project, Map commandArgs, String[] version) {
- String configHandle = (String) commandArgs.get(LAUNCH_CONFIG_HANDLE);
- if (configHandle == null) {
- // Probably an old-style (Eclipse 1.0 or 2.0) external tool. Try to migrate.
- version[0]= VERSION_1_0;
- return ExternalToolMigration.configFromArgumentMap(commandArgs);
- }
- ILaunchManager manager= DebugPlugin.getDefault().getLaunchManager();
- ILaunchConfiguration configuration= null;
- if (configHandle.startsWith(PROJECT_TAG)) {
- version[0]= VERSION_3_0_final;
- IPath path= new Path(configHandle);
- IFile file= project.getFile(path.removeFirstSegments(1));
- if (file.exists()) {
- configuration= manager.getLaunchConfiguration(file);
- }
- } else {
- // Try treating the handle as a file name.
- // This is the format used in 3.0 RC1.
- IPath path= new Path(BUILDER_FOLDER_NAME).append(configHandle);
- IFile file= project.getFile(path);
- if (file.exists()) {
- version[0]= VERSION_3_0_interim;
- configuration= manager.getLaunchConfiguration(file);
- } else {
- try {
- // Treat the configHandle as a memento. This is the format
- // used in Eclipse 2.1.
- configuration = manager.getLaunchConfiguration(configHandle);
- } catch (CoreException e) {
- }
- if (configuration != null) {
- version[0]= VERSION_2_1;
- }
- }
- }
- return configuration;
- }
-
- /**
- * Returns an <code>ICommand</code> from the given launch configuration.
- *
- * @param project the project the ICommand is relevant to
- * @param config, the launch configuration to create the command from
- * @return the new command. <code>null</code> can be returned if problems occur during
- * the translation.
- */
- public static ICommand commandFromLaunchConfig(IProject project, ILaunchConfiguration config) {
- ICommand newCommand = null;
- try {
- newCommand = project.getDescription().newCommand();
- newCommand = toBuildCommand(project, config, newCommand);
- } catch (CoreException exception) {
- Shell shell= ExternalToolsPlugin.getActiveWorkbenchShell();
- if (shell != null) {
- MessageDialog.openError(shell, ExternalToolsModelMessages.getString("BuilderUtils.5"), ExternalToolsModelMessages.getString("BuilderUtils.6")); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return null;
- }
- return newCommand;
- }
-
- /**
- * Returns whether the given configuration is an "unmigrated" builder.
- * Unmigrated builders are external tools that are stored in an old format
- * but have not been migrated by the user. Old format builders are always
- * translated into launch config working copies in memory, but they're not
- * considered "migrated" until the config has been saved and the project spec
- * updated.
- * @param config the config to examine
- * @return whether the given config represents an unmigrated builder
- */
- public static boolean isUnmigratedConfig(ILaunchConfiguration config) {
- return config.isWorkingCopy() && ((ILaunchConfigurationWorkingCopy) config).getOriginal() == null;
- }
-
- /**
- * Converts the given config to a build command which is stored in the
- * given command.
- *
- * @return the configured build command
- */
- public static ICommand toBuildCommand(IProject project, ILaunchConfiguration config, ICommand command) throws CoreException {
- Map args= null;
- if (isUnmigratedConfig(config)) {
- // This config represents an old external tool builder that hasn't
- // been edited. Try to find the old ICommand and reuse the arguments.
- // The goal here is to not change the storage format of old, unedited builders.
- ICommand[] commands= project.getDescription().getBuildSpec();
- for (int i = 0; i < commands.length; i++) {
- ICommand projectCommand = commands[i];
- String name= ExternalToolMigration.getNameFromCommandArgs(projectCommand.getArguments());
- if (name != null && name.equals(config.getName())) {
- args= projectCommand.getArguments();
- break;
- }
- }
- } else {
- if (config instanceof ILaunchConfigurationWorkingCopy) {
- ILaunchConfigurationWorkingCopy workingCopy= (ILaunchConfigurationWorkingCopy) config;
- if (workingCopy.getOriginal() != null) {
- config= workingCopy.getOriginal();
- }
- }
- args= new HashMap();
- // Launch configuration builders are stored with a project-relative path
- StringBuffer buffer= new StringBuffer(PROJECT_TAG);
- // Append the project-relative path (workspace path minus first segment)
- buffer.append('/').append(config.getFile().getFullPath().removeFirstSegments(1));
- args.put(LAUNCH_CONFIG_HANDLE, buffer.toString());
- }
- command.setBuilderName(ExternalToolBuilder.ID);
- command.setArguments(args);
- return command;
- }
-
- /**
- * Returns the type of launch configuration that should be created when
- * duplicating the given configuration as a project builder. Queries to see
- * if an extension has been specified to explicitly declare the mapping.
- */
- public static ILaunchConfigurationType getConfigurationDuplicationType(ILaunchConfiguration config) throws CoreException {
- IExtensionPoint ep= Platform.getExtensionRegistry().getExtensionPoint(IExternalToolConstants.PLUGIN_ID, IExternalToolConstants.EXTENSION_POINT_CONFIGURATION_DUPLICATION_MAPS);
- IConfigurationElement[] elements = ep.getConfigurationElements();
- String sourceType= config.getType().getIdentifier();
- String builderType= null;
- for (int i= 0; i < elements.length; i++) {
- IConfigurationElement element= elements[i];
- if (element.getName().equals(TAG_CONFIGURATION_MAP) && sourceType.equals(element.getAttribute(TAG_SOURCE_TYPE))) {
- builderType= element.getAttribute(TAG_BUILDER_TYPE);
- break;
- }
- }
- if (builderType != null) {
- ILaunchConfigurationType type= DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(builderType);
- if (type != null) {
- return type;
- }
- }
- return config.getType();
- }
-
- /**
- * Returns the folder where project builders should be stored or
- * <code>null</code> if the folder could not be created
- */
- public static IFolder getBuilderFolder(IProject project, boolean create) {
- IFolder folder = project.getFolder(BUILDER_FOLDER_NAME);
- if (!folder.exists() && create) {
- try {
- folder.create(true, true, new NullProgressMonitor());
- } catch (CoreException e) {
- return null;
- }
- }
- return folder;
- }
-
- /**
- * Returns a duplicate of the given configuration. The new configuration
- * will be of the same type as the given configuration or of the duplication
- * type registered for the given configuration via the extension point
- * IExternalToolConstants.EXTENSION_POINT_CONFIGURATION_DUPLICATION_MAPS.
- */
- public static ILaunchConfiguration duplicateConfiguration(IProject project, ILaunchConfiguration config) throws CoreException {
- Map attributes= null;
- attributes= config.getAttributes();
- String newName= new StringBuffer(config.getName()).append(ExternalToolsModelMessages.getString("BuilderUtils.7")).toString(); //$NON-NLS-1$
- newName= DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(newName);
- ILaunchConfigurationType newType= getConfigurationDuplicationType(config);
- ILaunchConfigurationWorkingCopy newWorkingCopy= newType.newInstance(getBuilderFolder(project, true), newName);
- newWorkingCopy.setAttributes(attributes);
- return newWorkingCopy.doSave();
- }
-
- /**
- * Migrates the launch configuration working copy, which is based on an old-
- * style external tool builder, to a new, saved launch configuration. The
- * returned launch configuration will contain the same attributes as the
- * given working copy with the exception of the configuration name, which
- * may be changed during the migration. The name of the configuration will
- * only be changed if the current name is not a valid name for a saved
- * config.
- *
- * @param workingCopy the launch configuration containing attributes from an
- * old-style project builder.
- * @return ILaunchConfiguration a new, saved launch configuration whose
- * attributes match those of the given working copy as well as possible
- * @throws CoreException if an exception occurs while attempting to save the
- * new launch configuration
- */
- public static ILaunchConfiguration migrateBuilderConfiguration(IProject project, ILaunchConfigurationWorkingCopy workingCopy) throws CoreException {
- workingCopy.setContainer(getBuilderFolder(project, true));
- // Before saving, make sure the name is valid
- String name= workingCopy.getName();
- name= name.replace('/', '.');
- if (name.charAt(0) == ('.')) {
- name = name.substring(1);
- }
- IStatus status = ResourcesPlugin.getWorkspace().validateName(name, IResource.FILE);
- if (!status.isOK()) {
- name = "ExternalTool"; //$NON-NLS-1$
- }
- name = DebugPlugin.getDefault().getLaunchManager().generateUniqueLaunchConfigurationNameFrom(name);
- workingCopy.rename(name);
- return workingCopy.doSave();
- }
-} \ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java
deleted file mode 100644
index 948043ce1..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolBuilder.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.ui.externaltools.internal.launchConfigurations.ExternalToolsUtil;
-import org.eclipse.ui.externaltools.internal.registry.ExternalToolMigration;
-import org.osgi.framework.Bundle;
-
-/**
- * This project builder implementation will run an external tool during the
- * build process.
- */
-public final class ExternalToolBuilder extends IncrementalProjectBuilder {
- private final class IgnoreTeamPrivateChanges implements IResourceDeltaVisitor {
- private boolean[] fTrueChange;
- private IgnoreTeamPrivateChanges(boolean[] trueChange) {
- super();
- fTrueChange= trueChange;
- }
- public boolean visit(IResourceDelta visitDelta) throws CoreException {
- IResource resource= visitDelta.getResource();
- if (resource instanceof IFile) {
- fTrueChange[0]= true;
- return false;
- }
- return true;
- }
- }
-
- public static final String ID = "org.eclipse.ui.externaltools.ExternalToolBuilder"; //$NON-NLS-1$;
-
- private static final String BUILD_TYPE_SEPARATOR = ","; //$NON-NLS-1$
- private static final int[] DEFAULT_BUILD_TYPES= new int[] {
- IncrementalProjectBuilder.INCREMENTAL_BUILD,
- IncrementalProjectBuilder.FULL_BUILD};
-
- private static String buildType = IExternalToolConstants.BUILD_TYPE_NONE;
-
- private static IProject buildProject= null;
-
- private List projectsWithinScope;
-
- private boolean buildKindCompatible(int kind, ILaunchConfiguration config) throws CoreException {
- int[] buildKinds = buildTypesToArray(config.getAttribute(IExternalToolConstants.ATTR_RUN_BUILD_KINDS, "")); //$NON-NLS-1$
- for (int j = 0; j < buildKinds.length; j++) {
- if (kind == buildKinds[j]) {
- return true;
- }
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.internal.events.InternalBuilder#build(int, java.util.Map, org.eclipse.core.runtime.IProgressMonitor)
- */
- protected IProject[] build(int kind, Map args, IProgressMonitor monitor) throws CoreException {
- if (ExternalToolsPlugin.getDefault().getBundle().getState() != Bundle.ACTIVE) {
- return null;
- }
-
- projectsWithinScope= new ArrayList();
- ILaunchConfiguration config = BuilderUtils.configFromBuildCommandArgs(getProject(), args, new String[1]);
- if (config != null && buildKindCompatible(kind, config) && configEnabled(config)) {
- doBuildBasedOnScope(kind, config, monitor);
- }
- return getProjectsWithinScope();
- }
-
- /**
- * Returns whether the given builder config is enabled or not.
- *
- * @param config the config to examine
- * @return whether the config is enabled
- */
- private boolean configEnabled(ILaunchConfiguration config) {
- try {
- return ExternalToolsUtil.isBuilderEnabled(config);
- } catch (CoreException e) {
- ExternalToolsPlugin.getDefault().log(e);
- }
- return true;
- }
-
- private IProject[] getProjectsWithinScope() {
- if (projectsWithinScope == null || projectsWithinScope.isEmpty()) {
- projectsWithinScope = null;
- return null;
- }
- return (IProject[])projectsWithinScope.toArray(new IProject[projectsWithinScope.size()]);
- }
-
- private void doBuildBasedOnScope(int kind, ILaunchConfiguration config, IProgressMonitor monitor) throws CoreException {
- boolean buildForChange = true;
- if (kind != FULL_BUILD) { //scope not applied for full builds
- IResource[] resources = ExternalToolsUtil.getResourcesForBuildScope(config);
- if (resources != null && resources.length > 0) {
- for (int i = 0; i < resources.length; i++) {
- IResource resource = resources[i];
- projectsWithinScope.add(resource.getProject());
- }
- buildForChange = buildScopeIndicatesBuild(resources);
- }
- }
-
- if (buildForChange) {
- launchBuild(kind, config, monitor);
- }
- }
-
- private void launchBuild(int kind, ILaunchConfiguration config, IProgressMonitor monitor) throws CoreException {
- monitor.subTask(MessageFormat.format(ExternalToolsModelMessages.getString("ExternalToolBuilder.Running_{0}..._1"), new String[] { config.getName()})); //$NON-NLS-1$
- buildStarted(kind);
- // The default value for "launch in background" is true in debug core. If
- // the user doesn't go through the UI, the new attribute won't be set. This means
- // that existing Ant builders will try to run in the background (and likely conflict with
- // each other) without migration.
- config= ExternalToolMigration.migrateRunInBackground(config);
- config.launch(ILaunchManager.RUN_MODE, monitor);
- buildEnded();
- }
-
- /**
- * Returns the build type being performed if the
- * external tool is being run as a project builder.
- *
- * @return one of the <code>IExternalToolConstants.BUILD_TYPE_*</code> constants.
- */
- public static String getBuildType() {
- return buildType;
- }
-
- /**
- * Returns the project that is being built and has triggered the current external
- * tool builder. <code>null</code> is returned if no build is currently occurring.
- *
- * @return project being built or <code>null</code>.
- */
- public static IProject getBuildProject() {
- return buildProject;
- }
-
- /**
- * Stores the currently active build kind and build project when a build begins
- * @param buildKind
- */
- private void buildStarted(int buildKind) {
- switch (buildKind) {
- case IncrementalProjectBuilder.INCREMENTAL_BUILD :
- buildType = IExternalToolConstants.BUILD_TYPE_INCREMENTAL;
- break;
- case IncrementalProjectBuilder.FULL_BUILD :
- buildType = IExternalToolConstants.BUILD_TYPE_FULL;
- break;
- case IncrementalProjectBuilder.AUTO_BUILD :
- buildType = IExternalToolConstants.BUILD_TYPE_AUTO;
- break;
- default :
- buildType = IExternalToolConstants.BUILD_TYPE_NONE;
- break;
- }
- buildProject= getProject();
- }
-
- /**
- * Clears the current build kind and build project when a build finishes.
- */
- private void buildEnded() {
- buildType= IExternalToolConstants.BUILD_TYPE_NONE;
- buildProject= null;
- }
-
- private boolean buildScopeIndicatesBuild(IResource[] resources) {
- for (int i = 0; i < resources.length; i++) {
- IResourceDelta delta = getDelta(resources[i].getProject());
- if (delta == null) {
- //project just added to the workspace..no previous build tree
- return true;
- }
- IPath path= resources[i].getProjectRelativePath();
- IResourceDelta change= delta.findMember(path);
- if (change != null) {
- final boolean[] trueChange= new boolean[1];
- trueChange[0]= false;
- try {
- change.accept(new IgnoreTeamPrivateChanges(trueChange));
- } catch (CoreException e) {
- ExternalToolsPlugin.getDefault().log("Internal error resolving changed resources during build", e); //$NON-NLS-1$
- }
-
- return trueChange[0]; //filtered out team private changes
- }
- }
- return false;
- }
-
- /**
- * Converts the build types string into an array of
- * build kinds.
- *
- * @param buildTypes the string of built types to convert
- * @return the array of build kinds.
- */
- public static int[] buildTypesToArray(String buildTypes) {
- if (buildTypes == null || buildTypes.length() == 0) {
- return DEFAULT_BUILD_TYPES;
- }
-
- int count = 0;
- boolean incremental = false;
- boolean full = false;
- boolean auto = false;
-
- StringTokenizer tokenizer = new StringTokenizer(buildTypes, BUILD_TYPE_SEPARATOR);
- while (tokenizer.hasMoreTokens()) {
- String token = tokenizer.nextToken();
- if (IExternalToolConstants.BUILD_TYPE_INCREMENTAL.equals(token)) {
- if (!incremental) {
- incremental = true;
- count++;
- }
- } else if (IExternalToolConstants.BUILD_TYPE_FULL.equals(token)) {
- if (!full) {
- full = true;
- count++;
- }
- } else if (IExternalToolConstants.BUILD_TYPE_AUTO.equals(token)) {
- if (!auto) {
- auto = true;
- count++;
- }
- }
- }
-
- int[] results = new int[count];
- count = 0;
- if (incremental) {
- results[count] = IncrementalProjectBuilder.INCREMENTAL_BUILD;
- count++;
- }
- if (full) {
- results[count] = IncrementalProjectBuilder.FULL_BUILD;
- count++;
- }
- if (auto) {
- results[count] = IncrementalProjectBuilder.AUTO_BUILD;
- count++;
- }
-
- return results;
- }
-} \ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
deleted file mode 100644
index 5ba59682a..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.resource.CompositeImageDescriptor;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * The images provided by the external tools plugin.
- */
-public class ExternalToolsImages {
-
- /**
- * The image registry containing <code>Image</code>s.
- */
- private static ImageRegistry imageRegistry;
-
- /**
- * The registry for composite images
- */
- private static ImageDescriptorRegistry imageDescriptorRegistry;
-
- /**
- * A table of all the <code>ImageDescriptor</code>s.
- */
- private static Map imageDescriptors;
-
- /* Declare Common paths */
- private static URL ICON_BASE_URL= null;
-
- static {
- String pathSuffix = "icons/full/"; //$NON-NLS-1$
- ICON_BASE_URL= ExternalToolsPlugin.getDefault().getBundle().getEntry(pathSuffix);
- }
-
- // Use IPath and toOSString to build the names to ensure they have the slashes correct
- private final static String OBJECT= "obj16/"; //basic colors - size 16x16 //$NON-NLS-1$
-
- /**
- * Declare all images
- */
- private static void declareImages() {
- // Objects
- declareRegistryImage(IExternalToolConstants.IMG_TAB_MAIN, OBJECT + "main_tab.gif"); //$NON-NLS-1$
- }
-
- /**
- * Declare an Image in the registry table.
- * @param key The key to use when registering the image
- * @param path The path where the image can be found. This path is relative to where
- * this plugin class is found (i.e. typically the packages directory)
- */
- private final static void declareRegistryImage(String key, String path) {
- ImageDescriptor desc= ImageDescriptor.getMissingImageDescriptor();
- try {
- desc= ImageDescriptor.createFromURL(makeIconFileURL(path));
- } catch (MalformedURLException me) {
- }
- imageRegistry.put(key, desc);
- imageDescriptors.put(key, desc);
- }
-
- /**
- * Returns the ImageRegistry.
- */
- public static ImageRegistry getImageRegistry() {
- if (imageRegistry == null) {
- initializeImageRegistry();
- }
- return imageRegistry;
- }
-
- /**
- * Initialize the image registry by declaring all of the required
- * graphics. This involves creating JFace image descriptors describing
- * how to create/find the image should it be needed.
- * The image is not actually allocated until requested.
- *
- * Prefix conventions
- * Wizard Banners WIZBAN_
- * Preference Banners PREF_BAN_
- * Property Page Banners PROPBAN_
- * Color toolbar CTOOL_
- * Enable toolbar ETOOL_
- * Disable toolbar DTOOL_
- * Local enabled toolbar ELCL_
- * Local Disable toolbar DLCL_
- * Object large OBJL_
- * Object small OBJS_
- * View VIEW_
- * Product images PROD_
- * Misc images MISC_
- *
- * Where are the images?
- * The images (typically gifs) are found in the same location as this plugin class.
- * This may mean the same package directory as the package holding this class.
- * The images are declared using this.getClass() to ensure they are looked up via
- * this plugin class.
- * @see org.eclipse.jface.resource.ImageRegistry
- */
- public static ImageRegistry initializeImageRegistry() {
- imageRegistry= new ImageRegistry(ExternalToolsPlugin.getStandardDisplay());
- imageDescriptors = new HashMap(30);
- declareImages();
- return imageRegistry;
- }
-
- /**
- * Returns the <code>Image<code> identified by the given key,
- * or <code>null</code> if it does not exist.
- */
- public static Image getImage(String key) {
- return getImageRegistry().get(key);
- }
-
- /**
- * Returns the <code>ImageDescriptor<code> identified by the given key,
- * or <code>null</code> if it does not exist.
- */
- public static ImageDescriptor getImageDescriptor(String key) {
- if (imageDescriptors == null) {
- initializeImageRegistry();
- }
- return (ImageDescriptor)imageDescriptors.get(key);
- }
-
- private static URL makeIconFileURL(String iconPath) throws MalformedURLException {
- if (ICON_BASE_URL == null) {
- throw new MalformedURLException();
- }
-
- return new URL(ICON_BASE_URL, iconPath);
- }
-
- /**
- * Sets the three image descriptors for enabled, disabled, and hovered to an action. The actions
- * are retrieved from the *lcl16 folders.
- */
- public static void setLocalImageDescriptors(IAction action, String iconName) {
- setImageDescriptors(action, "lcl16", iconName); //$NON-NLS-1$
- }
-
- private static void setImageDescriptors(IAction action, String type, String relPath) {
-
- try {
- ImageDescriptor id= ImageDescriptor.createFromURL(makeIconFileURL("d" + type, relPath)); //$NON-NLS-1$
- if (id != null)
- action.setDisabledImageDescriptor(id);
- } catch (MalformedURLException e) {
- ExternalToolsPlugin.getDefault().log(e);
- }
-
- try {
- ImageDescriptor id= ImageDescriptor.createFromURL(makeIconFileURL("c" + type, relPath)); //$NON-NLS-1$
- if (id != null)
- action.setHoverImageDescriptor(id);
- } catch (MalformedURLException e) {
- ExternalToolsPlugin.getDefault().log(e);
- }
-
- action.setImageDescriptor(create("e" + type, relPath)); //$NON-NLS-1$
- }
-
- private static URL makeIconFileURL(String prefix, String name) throws MalformedURLException {
- if (ICON_BASE_URL == null) {
- throw new MalformedURLException();
- }
-
- StringBuffer buffer= new StringBuffer(prefix);
- buffer.append('/');
- buffer.append(name);
- return new URL(ICON_BASE_URL, buffer.toString());
- }
-
- private static ImageDescriptor create(String prefix, String name) {
- try {
- return ImageDescriptor.createFromURL(makeIconFileURL(prefix, name));
- } catch (MalformedURLException e) {
- ExternalToolsPlugin.getDefault().log(e);
- return ImageDescriptor.getMissingImageDescriptor();
- }
- }
-
- /**
- * Returns the image for the given composite descriptor.
- */
- public static Image getImage(CompositeImageDescriptor imageDescriptor) {
- if (imageDescriptorRegistry == null) {
- imageDescriptorRegistry = new ImageDescriptorRegistry();
- }
- return imageDescriptorRegistry.get(imageDescriptor);
- }
-
- public static void disposeImageDescriptorRegistry() {
- if (imageDescriptorRegistry != null) {
- imageDescriptorRegistry.dispose();
- }
- }
-} \ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java
deleted file mode 100644
index 75bd41e71..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-public class ExternalToolsModelMessages {
-
- private static final String BUNDLE_NAME = "org.eclipse.ui.externaltools.internal.model.ExternalToolsModelMessages"; //$NON-NLS-1$
-
- private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
-
- private ExternalToolsModelMessages() {
- }
-
- public static String getString(String key) {
- try {
- return RESOURCE_BUNDLE.getString(key);
- } catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
-}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
deleted file mode 100644
index 61fcca0f3..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Common Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/cpl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-ImageDescriptorRegistry.Allocating_image_for_wrong_display_1=Allocating image for wrong display
-ExternalToolBuilder.Running_{0}..._1=Running {0}...
-BuilderUtils.5=Command Error
-BuilderUtils.6=An error occurred while saving the project's build commands
-BuilderUtils.7=\ [Builder]
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
deleted file mode 100644
index d412fb51e..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
-
-/**
- * External tools plug-in class
- */
-public final class ExternalToolsPlugin extends AbstractUIPlugin {
- /**
- * Status representing no problems encountered during operation.
- */
- public static final IStatus OK_STATUS = new Status(IStatus.OK, IExternalToolConstants.PLUGIN_ID, 0, "", null); //$NON-NLS-1$
-
- private static ExternalToolsPlugin plugin;
-
- private static final String EMPTY_STRING= ""; //$NON-NLS-1$
-
- /**
- * Create an instance of the External Tools plug-in.
- */
- public ExternalToolsPlugin() {
- super();
- plugin = this;
- }
-
- /**
- * Returns the default instance of the receiver.
- * This represents the runtime plugin.
- */
- public static ExternalToolsPlugin getDefault() {
- return plugin;
- }
-
- /**
- * Returns a new <code>IStatus</code> for this plug-in
- */
- public static IStatus newErrorStatus(String message, Throwable exception) {
- if (message == null) {
- message= EMPTY_STRING;
- }
- return new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, 0, message, exception);
- }
-
- /**
- * Returns a new <code>CoreException</code> for this plug-in
- */
- public static CoreException newError(String message, Throwable exception) {
- return new CoreException(new Status(IStatus.ERROR, IExternalToolConstants.PLUGIN_ID, 0, message, exception));
- }
-
- /**
- * Writes the message to the plug-in's log
- *
- * @param message the text to write to the log
- */
- public void log(String message, Throwable exception) {
- IStatus status = newErrorStatus(message, exception);
- getLog().log(status);
- }
-
- public void log(Throwable exception) {
- //this message is intentionally not internationalized, as an exception may
- // be due to the resource bundle itself
- getLog().log(newErrorStatus("Internal error logged from External Tools UI: ", exception)); //$NON-NLS-1$
- }
-
- /**
- * Returns the ImageDescriptor for the icon with the given path
- *
- * @return the ImageDescriptor object
- */
- public ImageDescriptor getImageDescriptor(String path) {
- try {
- Bundle bundle= getDefault().getBundle();
- URL installURL = bundle.getEntry("/"); //$NON-NLS-1$
- URL url = new URL(installURL, path);
- return ImageDescriptor.createFromURL(url);
- } catch (MalformedURLException e) {
- return null;
- }
- }
-
- /**
- * Returns the active workbench window or <code>null</code> if none
- */
- public static IWorkbenchWindow getActiveWorkbenchWindow() {
- return getDefault().getWorkbench().getActiveWorkbenchWindow();
- }
-
- /**
- * Returns the active workbench page or <code>null</code> if none.
- */
- public static IWorkbenchPage getActivePage() {
- IWorkbenchWindow window= getActiveWorkbenchWindow();
- if (window != null) {
- return window.getActivePage();
- }
- return null;
- }
-
- /**
- * Returns the active workbench shell or <code>null</code> if none.
- */
- public static Shell getActiveWorkbenchShell() {
- IWorkbenchWindow window = getActiveWorkbenchWindow();
- if (window != null) {
- return window.getShell();
- }
- return null;
- }
-
- /**
- * Returns the standard display to be used. The method first checks, if
- * the thread calling this method has an associated display. If so, this
- * display is returned. Otherwise the method returns the default display.
- */
- public static Display getStandardDisplay() {
- Display display = Display.getCurrent();
- if (display == null) {
- display = Display.getDefault();
- }
- return display;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#createImageRegistry()
- */
- protected ImageRegistry createImageRegistry() {
- return ExternalToolsImages.initializeImageRegistry();
- }
-
- /* (non-Javadoc)
- * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
- */
- public void stop(BundleContext context) throws Exception {
- try {
- ExternalToolsImages.disposeImageDescriptorRegistry();
- } finally {
- super.stop(context);
- }
- }
-} \ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPreferenceInitializer.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPreferenceInitializer.java
deleted file mode 100644
index 93eddffd3..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPreferenceInitializer.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.jface.preference.IPreferenceStore;
-
-public class ExternalToolsPreferenceInitializer extends AbstractPreferenceInitializer {
-
- public ExternalToolsPreferenceInitializer() {
- super();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
- */
- public void initializeDefaultPreferences() {
- IPreferenceStore prefs = ExternalToolsPlugin.getDefault().getPreferenceStore();
- prefs.setDefault(IPreferenceConstants.PROMPT_FOR_TOOL_MIGRATION, true);
- prefs.setDefault(IPreferenceConstants.PROMPT_FOR_PROJECT_MIGRATION, true);
- }
-} \ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java
deleted file mode 100644
index a0cd1ecb6..000000000
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/IExternalToolConstants.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.ui.externaltools.internal.model;
-
-/**
- * Defines the constants available for client use.
- * <p>
- * This interface is not intended to be extended or implemented by clients.
- * </p>
- */
-public interface IExternalToolConstants {
- /**
- * Plugin identifier for external tools (value <code>org.eclipse.ui.externaltools</code>).
- */
- public static final String PLUGIN_ID = "org.eclipse.ui.externaltools"; //$NON-NLS-1$;
-
- // ------- Extensions Points -------
- /**
- * Extension point to declare the launch configuration type that should be
- * created when duplicating an existing configuration as a project builder.
- */
- public static final String EXTENSION_POINT_CONFIGURATION_DUPLICATION_MAPS = "configurationDuplicationMaps"; //$NON-NLS-1$
- // ------- Refresh Variables -------
- /**
- * Variable that expands to the workspace root object (value <code>workspace</code>).
- */
- public static final String VAR_WORKSPACE = "workspace"; //$NON-NLS-1$
- /**
- * Variable that expands to the project resource (value <code>project</code>).
- */
- public static final String VAR_PROJECT = "project"; //$NON-NLS-1$
- /**
- * Variable that expands to the container resource (value <code>container</code>).
- */
- public static final String VAR_CONTAINER = "container"; //$NON-NLS-1$
- /**
- * Variable that expands to a resource (value <code>resource</code>).
- */
- public static final String VAR_RESOURCE = "resource"; //$NON-NLS-1$
- /**
- * Variable that expands to the working set object (value <code>working_set</code>).
- */
- public static final String VAR_WORKING_SET = "working_set"; //$NON-NLS-1$
- // ------- Tool Types -------
- /**
- * External tool type for programs such as executables, batch files,
- * shell scripts, etc (value <code>programType</code>).
- */
- public static final String TOOL_TYPE_PROGRAM = "programType"; //$NON-NLS-1$;
-
- // ------- Build Types -------
- /**
- * Build type indicating an incremental project build request for
- * the external tool running as a builder (value <code>incremental</code>).
- */
- public static final String BUILD_TYPE_INCREMENTAL = "incremental"; //$NON-NLS-1$
-
- /**
- * Build type indicating a full project build request for
- * the external tool running as a builder (value <code>full</code>).
- */
- public static final String BUILD_TYPE_FULL = "full"; //$NON-NLS-1$
-
- /**
- * Build type indicating an automatic project build request for
- * the external tool running as a builder (value <code>incremental</code>).
- */
- public static final String BUILD_TYPE_AUTO = "auto"; //$NON-NLS-1$
-
- /**
- * Build type indicating an no project build request for
- * the external tool running as a builder (value <code>none</code>).
- */
- public static final String BUILD_TYPE_NONE = "none"; //$NON-NLS-1$
-
- // ------- Images -------
-
- /**
- * Main tab image.
- */
- public static final String IMG_TAB_MAIN = PLUGIN_ID + ".IMG_TAB_MAIN"; //$NON-NLS-1$
-
- // ------- Launch configuration types --------
- /**
- * Program launch configuration type identifier.
- */
- public static final String ID_PROGRAM_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.ui.externaltools.ProgramLaunchConfigurationType"; //$NON-NLS-1$
-
- /**
- * Program builder launch configuration type identifier. Program project
- * builders are of this type.
- */
- public static final String ID_PROGRAM_BUILDER_LAUNCH_CONFIGURATION_TYPE = "org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType"; //$NON-NLS-1$
-
- // ------- Launch configuration category --------
- /**
- * Identifier for external tools launch configuration category. Launch
- * configuration types for external tools that appear in the external tools
- * launch configuration dialog should belong to this category.
- */
- public static final String ID_EXTERNAL_TOOLS_LAUNCH_CATEGORY = "org.eclipse.ui.externaltools"; //$NON-NLS-1$
- /**
- * Identifier for external tools launch configuration builders category.
- * Launch configuration types that can be added as project builders should
- * belong to this category.
- */
- public static final String ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_CATEGORY = "org.eclipse.ui.externaltools.builder"; //$NON-NLS-1$
-
- // ------- Launch configuration groups --------
- /**
- * Identifier for external tools launch configuration group. The external
- * tools launch configuration group corresponds to the external tools
- * category in run mode.
- */
- public static final String ID_EXTERNAL_TOOLS_LAUNCH_GROUP = "org.eclipse.ui.externaltools.launchGroup"; //$NON-NLS-1$
- /**
- * Identifier for external tools launch configuration group
- */
- public static final String ID_EXTERNAL_TOOLS_BUILDER_LAUNCH_GROUP = "org.eclipse.ui.externaltools.launchGroup.builder"; //$NON-NLS-1$
-
- // ------- Common External Tool Launch Configuration Attributes -------
-
- /**
- * Boolean attribute indicating if external tool output should be captured.
- * Default value is <code>false</code>.
- * @deprecated since 3.1 Replaced by <code>org.eclipse.debug.core.DebugPlugin.ATTR_CAPTURE_OUTPUT</code>
- */
- public static final String ATTR_CAPTURE_OUTPUT = PLUGIN_ID + ".ATTR_CAPTURE_OUTPUT"; //$NON-NLS-1$
- /**
- * String attribute identifying the location of an external. Default value
- * is <code>null</code>. Encoding is tool specific.
- */
- public static final String ATTR_LOCATION = PLUGIN_ID + ".ATTR_LOCATION"; //$NON-NLS-1$
-
- /**
- * Boolean attribute indicating if the user should be prompted for
- * arguments before running a tool. Default value is <code>false</code>.
- * THIS ATTRIBUTE IS NOT USED.
- */
- public static final String ATTR_PROMPT_FOR_ARGUMENTS = PLUGIN_ID + ".ATTR_PROMPT_FOR_ARGUMENTS"; //$NON-NLS-1$
-
- /**
- * String attribute identifying the scope of resources that should trigger an
- * external tool to run. Default value is <code>null</code>
- * indicating that the builder will be triggered for all changes.
- */
- public static final String ATTR_BUILD_SCOPE = PLUGIN_ID + ".ATTR_BUILD_SCOPE"; //$NON-NLS-1$
-
-
- /**
- * String attribute containing an array of build kinds for which an
- * external tool builder should be run.
- */
- public static final String ATTR_RUN_BUILD_KINDS = PLUGIN_ID + ".ATTR_RUN_BUILD_KINDS"; //$NON-NLS-1$
-
- /**
- * Boolean attribute indicating if the console should be shown on external
- * tool output. Default value is <code>false</code>.
- */
- public static final String ATTR_SHOW_CONSOLE = PLUGIN_ID + ".ATTR_SHOW_CONSOLE"; //$NON-NLS-1$
-
- /**
- * String attribute containing the arguments that should be passed to the
<