This commit was manufactured by cvs2svn to create tag
'v20020327_ce_intermediate'.

Sprout from master 2002-03-27 15:50:35 UTC Christopher Elek <celek> '*** empty log message ***'
Cherrypick from master 2002-03-17 22:13:16 UTC Dejan Glozic <dejan> '*** empty log message ***':
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.java
Delete:
    ant/org.eclipse.ant.core/.classpath
    ant/org.eclipse.ant.core/.cvsignore
    ant/org.eclipse.ant.core/.vcm_meta
    ant/org.eclipse.ant.core/about.html
    ant/org.eclipse.ant.core/build.properties
    ant/org.eclipse.ant.core/buildnotes_platform-ant.html
    ant/org.eclipse.ant.core/doc/hglegal.htm
    ant/org.eclipse.ant.core/doc/ngibmcpy.gif
    ant/org.eclipse.ant.core/doc/org_eclipse_ant_core.html
    ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antObjects.html
    ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTasks.html
    ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTypes.html
    ant/org.eclipse.ant.core/os/linux/libcore_2_0_5.so
    ant/org.eclipse.ant.core/os/win32/core_2_0_5.dll
    ant/org.eclipse.ant.core/plugin.properties
    ant/org.eclipse.ant.core/plugin.xml
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntNotificationManager.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntPlugin.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CommaPatternSet.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CommandDataType.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/ConvertPath.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CopyProject.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CreateProject.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/DeleteProject.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseAnt.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseCompilerAdapterFactory.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseCopy.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseFileUtils.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseJavac.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseProject.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IAntRunnerListener.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IncrementalBuild.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/MoveProject.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Policy.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/RefreshLocal.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/XercesRegexpMatcher.java
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/messages.properties
    ant/org.eclipse.ant.core/src/org/eclipse/ant/core/package.html
    ant/org.eclipse.ant.ui/.classpath
    ant/org.eclipse.ant.ui/.cvsignore
    ant/org.eclipse.ant.ui/.vcm_meta
    ant/org.eclipse.ant.ui/about.html
    ant/org.eclipse.ant.ui/build.properties
    ant/org.eclipse.ant.ui/icons/basic/clcl16/clear.gif
    ant/org.eclipse.ant.ui/icons/basic/clcl16/hideOrShowTree.gif
    ant/org.eclipse.ant.ui/icons/basic/clcl16/showOnlySelectedText.gif
    ant/org.eclipse.ant.ui/icons/basic/cview16/ant_view.gif
    ant/org.eclipse.ant.ui/icons/basic/eview16/ant_view.gif
    ant/org.eclipse.ant.ui/icons/basic/wizban/ant_wiz.gif
    ant/org.eclipse.ant.ui/icons/full/clcl16/clear.gif
    ant/org.eclipse.ant.ui/icons/full/clcl16/hideOrShowTree.gif
    ant/org.eclipse.ant.ui/icons/full/clcl16/showOnlySelectedText.gif
    ant/org.eclipse.ant.ui/icons/full/cview16/ant_view.gif
    ant/org.eclipse.ant.ui/icons/full/eview16/ant_view.gif
    ant/org.eclipse.ant.ui/icons/full/eview16/build_exec.gif
    ant/org.eclipse.ant.ui/icons/full/wizban/ant_wiz.gif
    ant/org.eclipse.ant.ui/plugin.properties
    ant/org.eclipse.ant.ui/plugin.xml
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntAction.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntConsole.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntConsolePreferencePage.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchDropDownAction.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizard.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizardPage.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntPreferencesPage.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntPropertyChangeListener.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntTreeContentProvider.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntTreeLabelProvider.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntUIPlugin.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/BuildCanceledException.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/IAntPreferenceConstants.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/OutputStructureElement.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/Policy.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/RunAntActionDelegate.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TargetsListContentProvider.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TargetsListLabelProvider.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/UIBuildListener.java
    ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/messages.properties
    platform/org.eclipse.sdk/.vcm_meta
    platform/org.eclipse.sdk/about.html
    platform/org.eclipse.sdk/about_prod.gif
    platform/org.eclipse.sdk/build.properties
    platform/org.eclipse.sdk/platform.ini
    platform/org.eclipse.sdk/platform.properties
    platform/org.eclipse.sdk/plugin.properties
    platform/org.eclipse.sdk/plugin.xml
    platform/org.eclipse.sdk/prod.gif
    platform/org.eclipse.sdk/product.ini
    platform/org.eclipse.sdk/product.properties
    platform/org.eclipse.sdk/welcome.xml
    update/org.eclipse.update.examples/bin/org/eclipse/update/examples/buildzip/java.page.jpage
    update/org.eclipse.update/.classpath
    update/org.eclipse.update/.cvsignore
    update/org.eclipse.update/.vcm_meta
    update/org.eclipse.update/about.html
    update/org.eclipse.update/build.properties
    update/org.eclipse.update/icons/full/ctool16/new.gif
    update/org.eclipse.update/icons/full/ctool16/update.gif
    update/org.eclipse.update/icons/full/wizban/new.gif
    update/org.eclipse.update/icons/full/wizban/revert.gif
    update/org.eclipse.update/icons/full/wizban/update.gif
    update/org.eclipse.update/plugin.properties
    update/org.eclipse.update/plugin.xml
    update/org.eclipse.update/plugin.xml.off
    update/org.eclipse.update/src/org/eclipse/update/internal/core/ISessionDefiner.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/IUMLock.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UMLock.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionDefinerReferenceUpdate.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManager.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerEntry.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerMessage.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerOperation.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerParcel.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerSession.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/URLHandler.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManager.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerException.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerPlugin.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerStrings.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerURLComparator.java
    update/org.eclipse.update/src/org/eclipse/update/internal/core/updatemanagerstrings.properties
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/AuthorizationDatabase.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/Installation.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationDialog.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationResult.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationService.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerifier.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/KeyStores.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/Main.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplication.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationUserInterface.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationUserInterfaceProperties.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationWindow.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMDialog.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMDialogAction.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMPreferencePageSettings.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizard.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageComplete.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageInstallable.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageInstalling.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLaunchHistory.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLaunchHistoryComplete.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLocations.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLComplete.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstall.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstallable.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstalling.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPersistentProperties.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentNew.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentRevert.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentURLInstall.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentUpdate.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardTreeItem.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardTreeItemComparator.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardURLNamePairComparator.java
    update/org.eclipse.update/src/org/eclipse/update/internal/ui/UserValidationDialog.java
diff --git a/ant/org.eclipse.ant.core/.classpath b/ant/org.eclipse.ant.core/.classpath
deleted file mode 100644
index eeb713f..0000000
--- a/ant/org.eclipse.ant.core/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="src"/>
-    <classpathentry kind="src" path="/org.apache.xerces"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="src" path="/org.apache.ant"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/ant/org.eclipse.ant.core/.cvsignore b/ant/org.eclipse.ant.core/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/ant/org.eclipse.ant.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/.vcm_meta b/ant/org.eclipse.ant.core/.vcm_meta
deleted file mode 100644
index d9a7fb3..0000000
--- a/ant/org.eclipse.ant.core/.vcm_meta
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<project-description>

-	<nature id="org.eclipse.jdt.core.javanature"/>

-	<reference project-name="org.apache.ant"/>

-	<reference project-name="org.apache.xerces"/>

-	<reference project-name="org.eclipse.core.boot"/>

-	<reference project-name="org.eclipse.core.resources"/>

-	<reference project-name="org.eclipse.core.runtime"/>

-	<builder name="org.eclipse.jdt.core.javabuilder">

-	</builder>

-</project-description>

diff --git a/ant/org.eclipse.ant.core/about.html b/ant/org.eclipse.ant.core/about.html
deleted file mode 100644
index 9df5d4f..0000000
--- a/ant/org.eclipse.ant.core/about.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<html>

-<head>

-<title>About</title>

-<style type="text/css">

-p, table, td, th { font-family: arial, helvetica, geneva; font-size: 10pt}

-pre { font-family: "Courier New", Courier, mono; font-size: 10pt}

-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}

-code { font-family: "Courier New", Courier, mono; font-size: 10pt}

-sup { font-family: arial,helvetica,geneva; font-size: 10px}

-h3 { font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}

-li { font-family: arial, helvetica, geneva; font-size: 10pt}

-h1 { font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}

-body { font-family: arial, helvetica, geneva; font-size: 10pt; clip: rect(   ); margin-top: 5mm; margin-left: 3mm}

-</style>

-</head>

-<body lang="EN-US" link="blue" vlink="purple">

-<table border="0" cellspacing="5" cellpadding="2" width="100%" >

-  <tr> 

-    <td align="LEFT" valign="TOP" colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF">About This Content</font></b></td>

-  </tr>

-  <tr> 

-    <td> 

-<p>11th December, 2001</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

-<a href="http://www.eclipse.org/legal/cpl-v05.html">Common Public License Version 0.5</a> &quot;CPL&quot;.  For purposes of the CPL, &quot;Program&quot; will mean the Content.</p>

-

-<h3>Third Party Content</h3>

-

-<p>The Content includes items that have been sourced from third parties as follows:</p>

-

-<p><b>Ant 1.4.1</b></p>

-<p>The plug-in is based on software developed by The Apache Software Foundation as part of the Jakarta project.

-The following classes contained in antsupport.jar and antsupportsrc.zip &quot;Ant Derivative Work&quot; are based on Ant code:</p>

-

-<ul>

-	<li>AntRunner</li>

-	<li>CommaPatternSet</li>

-	<li>EclipseAnt</li>

-	<li>EclipseCopy</li>

-	<li>EclipseProject</li>

-	<li>EclipseJavac</li>

-</ul>

-

-<p>The Ant Derivative Work is:</p>

-

-<blockquote>Copyright (c) 1999 The Apache Software Foundation. All rights reserved.</blockquote>

-

-<p>Your use of the Ant Derivative Work is subject to the terms and conditions of the

-<a href="http://jakarta.apache.org/ant/manual/LICENSE">Apache Software License 1.1</a>.

-More specifically:</p>

-<blockquote>

-	1. Redistributions of source code must retain the above copyright notice, this list of<br />

-	conditions and the following disclaimer.<br />

-<br />

-	2. Redistributions in binary form must reproduce the above copyright notice, this list of<br />

-	conditions and the following disclaimer in the documentation and/or other materials<br />

-	provided with the distribution.<br />

-<br />

-	3. The end-user documentation included with the redistribution, if any, must include the<br />

-	following acknowledgment:<br />

-	<blockquote>

-		&quot;This product includes software developed by the Apache Software Foundation<br />

-		(<a href="http://www.apache.org/">http://www.apache.org/</a>).&quot;

-	</blockquote>

-	Alternately, this acknowledgment may appear in the software itself, if and wherever such<br />

-	third-party acknowledgments normally appear.<br />

-<br />

-	4. The names &quot;Ant&quot; and &quot;Apache Software Foundation&quot; must not be used to endorse or<br />

-	promote products derived from this software without prior written permission. For written<br />

-	permission, please contact <a href="mailto:apache@apache.org">apache@apache.org</a>.<br />

-<br />

-	5. Products derived from this software may not be called &quot;Apache&quot;, nor may &quot;Apache&quot; appear<br />

-	in their name, without prior written permission of the Apache Software Foundation.<br />

-<br />

-	THIS SOFTWARE IS PROVIDED &quot;AS IS&quot; AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT<br />

-	LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR<br />

-	PURPOSE ARE	DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS<br />

-	CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR<br />

-	CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR<br />

-	SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON<br />

-	ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,	OR TORT (INCLUDING<br />

-	NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT	OF THE USE OF THIS SOFTWARE, EVEN IF<br />

-	ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

-</blockquote>

-

-<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>

-</td></tr></table>

-</body>

-</html>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/build.properties b/ant/org.eclipse.ant.core/build.properties
deleted file mode 100644
index 248b94b..0000000
--- a/ant/org.eclipse.ant.core/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-source.antsupport.jar=src/

-bin.includes=os/,plugin.xml,*.jar,plugin.properties,about.html

-javadoc.packages=org.eclipse.*
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/buildnotes_platform-ant.html b/ant/org.eclipse.ant.core/buildnotes_platform-ant.html
deleted file mode 100644
index ca9979d..0000000
--- a/ant/org.eclipse.ant.core/buildnotes_platform-ant.html
+++ /dev/null
@@ -1,165 +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">

-   <meta name="GENERATOR" content="Mozilla/4.7 [en] (Win98; I) [Netscape]">

-   <title>Eclipse Platform Release Notes Core</title>

-<!-- saved from url=(0079)http://home.ott.oti.com/hubba/drops/sdk/latest-javadoc/doc/buildnotes_core.html -->

-<!-- saved from url=(0079)http://home.ott.oti.com/hubba/drops/sdk/latest-javadoc/doc/buildnotes_core.html -->

-</head>

-<body>

-

-<h1>

-Eclipse Platform Build Notes<br>

-Ant</h1>

-Eclipse SDK Build 20020129

-<h2>

-What's new in this drop</h2>

-

-<h3>

-API changes</h3>

-

-<ul>

-<li>

-None.</li>

-</ul>

-

-<h3>

-Other highlights</h3>

-

-<ul>

-<li>

-None.</li>

-</ul>

-

-<h3>

-Resolved Bugs</h3>

-

-<ul>

-<li>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2001%2F12%2F17&chfieldto=2002%2F01%2F29&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&namedcmd=ant&newqueryname=&order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-since the last integration build.</li>

-</ul>

-

-<h1>

-

-<hr WIDTH="100%">Eclipse Platform Build Notes<br>

-Ant</h1>

-Eclipse SDK Build 20011218

-<h2>

-What's new in this drop</h2>

-

-<h3>

-API changes</h3>

-

-<ul>

-<li>

-None.</li>

-</ul>

-

-<h3>

-Other highlights</h3>

-

-<ul>

-<li>

-None.</li>

-</ul>

-

-<h3>

-Resolved Bugs</h3>

-

-<ul>

-<li>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2001%2F12%2F11&chfieldto=2001%2F12%2F17&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&namedcmd=ant&newqueryname=&order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-since the last integration build.</li>

-</ul>

-

-<h1>

-

-<hr WIDTH="100%">Eclipse Platform Build Notes<br>

-Ant</h1>

-Eclipse SDK Build 20011211

-<h2>

-What's new in this drop</h2>

-

-<h3>

-API changes</h3>

-

-<ul>

-<li>

-None.</li>

-</ul>

-

-<h3>

-Other highlights</h3>

-

-<ul>

-<li>

-Ant code from Apache has moved to a new plug-in called org.apache.ant..</li>

-</ul>

-

-<h3>

-Resolved Bugs</h3>

-

-<ul>

-<li>

-<a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfield=bug_status&chfieldfrom=2001%2F11%2F27&chfieldto=2001%2F12%2F10&chfieldvalue=&product=Platform&component=Ant&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&namedcmd=Active&newqueryname=&order=Bug+Number">Click

-here</a> to see PRs which have been marked as RESOLVED, VERIFIED or CLOSED

-since the last integration build.</li>

-</ul>

-

-<h1>

-

-<hr WIDTH="100%">Eclipse Platform Build Notes<br>

-Ant</h1>

-Eclipse SDK Build 20011127 (v213)

-<h2>

-What's new in this drop</h2>

-

-<h3>

-API changes</h3>

-

-<ul>

-<li>

-None.</li>

-</ul>

-

-<h3>

-Other highlights</h3>

-

-<ul>

-<li>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5391">5391</a>&nbsp;

-Upgrade to Ant 1.4.1</li>

-</ul>

-

-<h1>

-

-<hr WIDTH="100%">Eclipse Platform Build Notes<br>

-Ant</h1>

-Eclipse SDK Build 20011120 (v211)

-<h2>

-What's new in this drop</h2>

-

-<h3>

-API changes</h3>

-

-<ul>

-<li>

-None.</li>

-</ul>

-

-<h3>

-Other highlights</h3>

-

-<ul>

-<li>

-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5331">5331</a>&nbsp;

-Ant does not override optional tasks with org.eclipse.ant.core.antTasks

-extension point</li>

-</ul>

-

-</body>

-</html>

diff --git a/ant/org.eclipse.ant.core/doc/hglegal.htm b/ant/org.eclipse.ant.core/doc/hglegal.htm
deleted file mode 100644
index b071dbd..0000000
--- a/ant/org.eclipse.ant.core/doc/hglegal.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">

-   <meta name="GENERATOR" content="Mozilla/4.73 [en] (Win98; U) [Netscape]">

-   <title>Legal Notices</title>

-</head>

-<body>

-

-<h3>

-<a NAME="Notices"></a>Notices</h3>

-(c) Copyright IBM Corp. 2000, 2001. All Rights Reserved.

-</body>

-</html>

diff --git a/ant/org.eclipse.ant.core/doc/ngibmcpy.gif b/ant/org.eclipse.ant.core/doc/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/ant/org.eclipse.ant.core/doc/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core.html b/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core.html
deleted file mode 100644
index a82e148..0000000
--- a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core.html
+++ /dev/null
@@ -1,32 +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>Ant Build Tool Core extension-points</title>

-</head>

-<body link="#0000FF" vlink="#800080">

-

-<center>

-<h1>

-Ant Build Tool Core Plug-in</h1></center>

-This document lists all of the extension points that the Ant Build Tool Core

-plug-in makes available to tool developers.

-<p>

-<hr WIDTH="100%">

-<h1>

-General Extension Points</h1>

-The following extension points can be used to extend the fundamental capabilities

-of the Ant core plug-in:

-<ul>

-<li>

-<a href="org_eclipse_ant_core_antObjects.html">org.eclipse.ant.core.antObjects</a></li>

-

-<li>

-<a href="org_eclipse_ant_core_antTasks.html">org.eclipse.ant.core.antTasks</a></li>

-

-<li>

-<a href="org_eclipse_ant_core_antTypes.html">org.eclipse.ant.core.antTypes</a></li>

-</ul>

-<a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>

-</body>

-</html>

diff --git a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antObjects.html b/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antObjects.html
deleted file mode 100644
index 2bec323..0000000
--- a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antObjects.html
+++ /dev/null
@@ -1,49 +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>AntObjects</title>

-</head>

-<body link="#0000FF" vlink="#800080">

-

-<center>

-<h1>

-AntObjects</h1></center>

-<b><i>Identifier: </i></b>org.eclipse.ant.core.antObjects<p><b><i>Description: </i></b>Allows

-plug-ins to define arbitrary classes for use by the Ant infrastructure.&nbsp;

-For example, in the case of a Javac compiler adapter, the compiler adapter

-factory can be supplied, via a property setting, with the name of an adapter

-class to use.&nbsp; Unfortunately, it is unlikely that the Ant Core plug-in

-would have this class on its classpath (or that of any of its

-prerequisites).&nbsp; To address this, clients should define an extension which

-plugs into this extension-point and maps a name onto a class.&nbsp; The Ant

-plug-in can then request that the declaring plug-in load the specified class.

-<p><b><i>Configuration Markup:&nbsp; </i></b>

-<p><tt>&nbsp;&nbsp; &lt;!ELEMENT antObject EMPTY&gt;</tt>

-<br><tt>&nbsp;&nbsp; &lt;!ATTLIST antObject</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

-CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

-CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp; ></tt>

-<ul>

-<li>

-<b>name -</b> name of the class to be defined</li>

-

-<li>

-<b>class</b> - the fully qualified name of a Java class</li>

-</ul>

-<p><i><b>Examples: </b> </i>The following is an example of an object

-declaration:

-<p><tt>&nbsp;&nbsp; &lt;extension point=&quot;org.eclipse.ant.core.antObject&quot;&gt;</tt><br>

-<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;antObject name=&quot;com.example.Foo&quot;

-class=&quot;com.example.Foo&quot;/&gt;</tt><br>

-<tt>&nbsp;&nbsp; &lt;/extension&gt;</tt>

-<p><b><i>API Information</i>:</b><i> </i>The objects declared via this

-extension-point are accessible though the following API:<p><tt>&nbsp;&nbsp;

-org.eclipse.core.ant.AntPlugin.getObjectExtensions</tt>

-<p><b><i>Supplied Implementation:</i></b>  The platform itself does not supply

-any object extension.

-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>

-</body>

-</html>

diff --git a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTasks.html b/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTasks.html
deleted file mode 100644
index c7b84e8..0000000
--- a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTasks.html
+++ /dev/null
@@ -1,49 +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>AntTasks</title>

-</head>

-<body link="#0000FF" vlink="#800080">

-

-<center>

-<h1>

-AntTasks</h1></center>

-<b><i>Identifier: </i></b>org.eclipse.ant.core.antTasks<p><b><i>Description: </i></b>Allows

-plug-ins to define arbitrary Ant tasks for use by the Ant infrastructure.&nbsp;

-The standard Ant infrastructure allows for the addition of arbitrary

-tasks.&nbsp; Unfortunately, it is unlikely that the Ant Core plug-in

-would have the classes required by these tasks on its classpath (or that of any of its

-prerequisites).&nbsp; To address this, clients should define an extension which

-plugs into this extension-point and maps a task name onto a class.&nbsp; The Ant

-plug-in can then request that the declaring plug-in load the specified class.

-<p><b><i>Configuration Markup:&nbsp; </i></b>

-<p><tt>&nbsp;&nbsp; &lt;!ELEMENT antTask EMPTY&gt;</tt>

-<br><tt>&nbsp;&nbsp; &lt;!ATTLIST antTask</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

-CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

-CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp; ></tt>

-<ul>

-<li>

-<b>name -</b> name of the task to be defined</li>

-

-<li>

-<b>class</b> - the fully qualified name of a Java class implementing the

-task.&nbsp; Generally this class must be a subclass of&nbsp; <tt>org.apache.tools.ant.Task</tt>.</li>

-</ul>

-<p><i><b>Examples: </b> </i>The following is an example of an object

-declaration:

-<p><tt>&nbsp;&nbsp; &lt;extension point=&quot;org.eclipse.ant.core.antTask&quot;&gt;</tt><br>

-<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;antTask name=&quot;coolTask&quot;

-class=&quot;com.example.CoolTask&quot;/&gt;</tt><br>

-<tt>&nbsp;&nbsp; &lt;/extension&gt;</tt>

-<p><b><i>API Information</i>:</b><i> </i>The objects declared via this

-extension-point are accessible though the following API:<p><tt>&nbsp;&nbsp;

-org.eclipse.core.ant.AntPlugin.getTaskExtensions</tt>

-<p><b><i>Supplied Implementation:</i></b>  The platform itself supplies a number

-of tasks including <tt>incremental, javac and refreshLocal</tt>.

-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>

-</body>

-</html>

diff --git a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTypes.html b/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTypes.html
deleted file mode 100644
index 143fee1..0000000
--- a/ant/org.eclipse.ant.core/doc/org_eclipse_ant_core_antTypes.html
+++ /dev/null
@@ -1,48 +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>AntObjects</title>

-</head>

-<body link="#0000FF" vlink="#800080">

-

-<center>

-<h1>

-AntTypes</h1></center>

-<b><i>Identifier: </i></b>org.eclipse.ant.core.antTypes<p><b><i>Description: </i></b>Allows

-plug-ins to define arbitrary Ant datatypes for use by the Ant infrastructure.&nbsp;

-The standard Ant infrastructure allows for the addition of arbitrary datatypes.&nbsp; Unfortunately, it is unlikely that the Ant Core plug-in

-would have the classes required by these datatypes on its classpath (or that of any of its

-prerequisites).&nbsp; To address this, clients should define an extension which

-plugs into this extension-point and maps a datatype name onto a class.&nbsp; The Ant

-plug-in can then request that the declaring plug-in load the specified class.

-<p><b><i>Configuration Markup:&nbsp; </i></b>

-<p><tt>&nbsp;&nbsp; &lt;!ELEMENT antType EMPTY&gt;</tt>

-<br><tt>&nbsp;&nbsp; &lt;!ATTLIST antType</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

-CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

-CDATA #REQUIRED</tt>

-<br><tt>&nbsp;&nbsp; ></tt>

-<ul>

-<li>

-<b>name -</b> name of the task to be defined</li>

-

-<li>

-<b>class</b> - the fully qualified name of a Java class implementing the

-datatype.&nbsp; Generally this class must be a subclass of&nbsp; <tt>org.apache.tools.ant.types.DataType</tt>.</li>

-</ul>

-<p><i><b>Examples: </b> </i>The following is an example of an object

-declaration:

-<p><tt>&nbsp;&nbsp; &lt;extension point=&quot;org.eclipse.ant.core.antType&quot;&gt;</tt><br>

-<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;antTask name=&quot;coolType&quot;

-class=&quot;com.example.CoolType&quot;/&gt;</tt><br>

-<tt>&nbsp;&nbsp; &lt;/extension&gt;</tt>

-<p><b><i>API Information</i>:</b><i> </i>The objects declared via this

-extension-point are accessible though the following API:<p><tt>&nbsp;&nbsp;

-org.eclipse.core.ant.AntPlugin.getTypeExtensions</tt>

-<p><b><i>Supplied Implementation:</i></b>  The platform itself supplies a number

-of datatypes including <tt>commaPatternSet</tt>.

-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001.  All Rights Reserved." BORDER=0 height=12 width=195></a>

-</body>

-</html>

diff --git a/ant/org.eclipse.ant.core/os/linux/libcore_2_0_5.so b/ant/org.eclipse.ant.core/os/linux/libcore_2_0_5.so
deleted file mode 100644
index f28dcf6..0000000
--- a/ant/org.eclipse.ant.core/os/linux/libcore_2_0_5.so
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.core/os/win32/core_2_0_5.dll b/ant/org.eclipse.ant.core/os/win32/core_2_0_5.dll
deleted file mode 100644
index 8395c07..0000000
--- a/ant/org.eclipse.ant.core/os/win32/core_2_0_5.dll
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.core/plugin.properties b/ant/org.eclipse.ant.core/plugin.properties
deleted file mode 100644
index c3fe97e..0000000
--- a/ant/org.eclipse.ant.core/plugin.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-pluginName = Ant Build Tool Core

-objectsName = Ant Object Definitions

-tasksName = Ant Task Definitions

-typesName = Ant Type Definitions

diff --git a/ant/org.eclipse.ant.core/plugin.xml b/ant/org.eclipse.ant.core/plugin.xml
deleted file mode 100644
index 1d1bd4b..0000000
--- a/ant/org.eclipse.ant.core/plugin.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin

-   id="org.eclipse.ant.core"

-   name="%pluginName"

-   version="2.2.1"

-   provider-name="Object Technology International, Inc."

-   class="org.eclipse.ant.core.AntPlugin">

-<requires>

-   <import plugin="org.apache.xerces"/>

-   <import plugin="org.eclipse.core.resources"/>

-   <import plugin="org.apache.ant" export="true"/>

-</requires>

-

-<runtime>

-   <library name="antsupport.jar">

-      <export name="*"/>

-   </library>

-</runtime>

-

-<extension-point id="antObjects" name="%objectsName"/>

-<extension-point id="antTasks" name="%tasksName"/>

-<extension-point id="antTypes" name="%typesName"/>

-

-<extension

-      id="antRunner"

-      point="org.eclipse.core.runtime.applications">

-   <application>

-      <run

-            class="org.eclipse.ant.core.AntRunner">

-      </run>

-   </application>

-</extension>

-<extension

-      point="org.eclipse.ant.core.antTypes">

-   <antType

-         name="commapatternset"

-         class="org.eclipse.ant.core.CommaPatternSet">

-   </antType>

-   <antType

-         name="command"

-         class="org.eclipse.ant.core.CommandDataType">

-   </antType>

-</extension>

-<extension

-      point="org.eclipse.ant.core.antTasks">

-   <antTask

-         name="incremental"

-         class="org.eclipse.ant.core.IncrementalBuild">

-   </antTask>

-   <antTask

-         name="eclipse.incremental"

-         class="org.eclipse.ant.core.IncrementalBuild">

-   </antTask>

-   <antTask

-         name="javac"

-         class="org.eclipse.ant.core.EclipseJavac">

-   </antTask>

-   <antTask

-         name="copy"

-         class="org.eclipse.ant.core.EclipseCopy">

-   </antTask>

-   <antTask

-         name="refreshLocal"

-         class="org.eclipse.ant.core.RefreshLocal">

-   </antTask>

-   <antTask

-         name="eclipse.refreshLocal"

-         class="org.eclipse.ant.core.RefreshLocal">

-   </antTask>

-   <antTask

-         name="eclipse.createProject"

-         class="org.eclipse.ant.core.CreateProject">

-   </antTask>

-   <antTask

-         name="eclipse.deleteProject"

-         class="org.eclipse.ant.core.DeleteProject">

-   </antTask>

-   <antTask

-         name="eclipse.moveProject"

-         class="org.eclipse.ant.core.MoveProject">

-   </antTask>

-   <antTask

-         name="eclipse.copyProject"

-         class="org.eclipse.ant.core.CopyProject">

-   </antTask>

-   <antTask

-         name="eclipse.convertPath"

-         class="org.eclipse.ant.core.ConvertPath">

-   </antTask>

-</extension>

-</plugin>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntNotificationManager.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntNotificationManager.java
deleted file mode 100644
index 89ba5dd..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntNotificationManager.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * (c) Copyright 2001 MyCorporation.
- * All Rights Reserved.
- */
-package org.eclipse.ant.core;
-
-import java.util.*;
-
-import org.apache.tools.ant.BuildEvent;
-
-/**
- * Proxy class for providing updates to several ant listeners.
- */
-public class AntNotificationManager implements IAntRunnerListener {
-	protected List listeners = Collections.synchronizedList(new ArrayList());
-
-/**
- * Registers an ant build listener for notification.
- */
-public void addListener(IAntRunnerListener listener) {
-	listeners.add(listener);
-}
-protected IAntRunnerListener[] getListeners() {
-	return (IAntRunnerListener[]) listeners.toArray(new IAntRunnerListener[listeners.size()]);
-}
-/**
- * @see IAntRunnerListener#messageLogged(String, int)
- */
-public void messageLogged(String message, int priority) {
-	IAntRunnerListener[] list = getListeners();
-	for (int i = 0; i < list.length; i++) {
-		list[i].messageLogged(message, priority);
-	}
-}
-/**
- * @see IAntRunnerListener#executeTargetStarted(BuildEvent)
- */
-public void executeTargetStarted(BuildEvent event) {
-	IAntRunnerListener[] list = getListeners();
-	for (int i = 0; i < list.length; i++) {
-		list[i].executeTargetStarted(event);
-	}
-}
-/**
- * @see IAntRunnerListener#executeTargetFinished(BuildEvent)
- */
-public void executeTargetFinished(BuildEvent event) {
-	IAntRunnerListener[] list = getListeners();
-	for (int i = 0; i < list.length; i++) {
-		list[i].executeTargetFinished(event);
-	}
-}
-/**
- * @see BuildListener#buildStarted(BuildEvent)
- */
-public void buildStarted(BuildEvent event) {
-	IAntRunnerListener[] list = getListeners();
-	for (int i = 0; i < list.length; i++) {
-		list[i].buildStarted(event);
-	}
-}
-/**
- * @see BuildListener#buildFinished(BuildEvent)
- */
-public void buildFinished(BuildEvent event) {
-	IAntRunnerListener[] list = getListeners();
-	for (int i = 0; i < list.length; i++) {
-		list[i].buildFinished(event);
-	}
-}
-/**
- * Removes an ant listener from the list.
- */
-public void removeListener(IAntRunnerListener listener) {
-	listeners.remove(listener);
-}
-/**
- * @see BuildListener#targetStarted(BuildEvent)
- */
-public void targetStarted(BuildEvent event) {
-	IAntRunnerListener[] list = getListeners();
-	for (int i = 0; i < list.length; i++) {
-		list[i].targetStarted(event);
-	}
-}
-/**
- * @see BuildListener#targetFinished(BuildEvent)
- */
-public void targetFinished(BuildEvent event) {
-	IAntRunnerListener[] list = getListeners();
-	for (int i = 0; i < list.length; i++) {
-		list[i].targetFinished(event);
-	}
-}
-/**
- * @see BuildListener#taskStarted(BuildEvent)
- */
-public void taskStarted(BuildEvent event) {
-	IAntRunnerListener[] list = getListeners();
-	for (int i = 0; i < list.length; i++) {
-		list[i].taskStarted(event);
-	}
-}
-/**
- * @see BuildListener#taskFinished(BuildEvent)
- */
-public void taskFinished(BuildEvent event) {
-	IAntRunnerListener[] list = getListeners();
-	for (int i = 0; i < list.length; i++) {
-		list[i].taskFinished(event);
-	}
-}
-/**
- * @see BuildListener#messageLogged(BuildEvent)
- */
-public void messageLogged(BuildEvent event) {
-	IAntRunnerListener[] list = getListeners();
-	for (int i = 0; i < list.length; i++) {
-		list[i].messageLogged(event);
-	}
-}
-}
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntPlugin.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntPlugin.java
deleted file mode 100644
index ed8daad..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntPlugin.java
+++ /dev/null
@@ -1,187 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.runtime.*;

-import java.util.HashMap;

-import java.util.Map;

-import org.apache.tools.ant.Task;

-

-/**

- * The plug-in runtime class for the Ant Core plug-in.

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- * </p>

- */

-

-public final class AntPlugin extends Plugin {

-	/**

-	 * The single instance of this plug-in runtime class.

-	 */

-	private static AntPlugin plugin;

-

-	/**

-	 * Table of Ant tasks added through the antTasks extension point

-	 */

-	private Map taskExtensions;

-

-	/**

-	 * Table of Ant objects added through the antObjects extension point

-	 */

-	private Map objectExtensions;

-

-	/**

-	 * Table of Ant types added through the antTypes extension point

-	 */

-	private Map typeExtensions;

-	

-	/**

-	 * The notification manager for registering build listeners.

-	 */

-	private AntNotificationManager notificationManager = new AntNotificationManager();

-

-	/**

-	 * Unique identifier constant (value <code>"org.eclipse.ant.core"</code>)

-	 * for the Ant plug-in.

-	 */

-	public static final String PI_ANT= "org.eclipse.ant.core";

-

-	/**

-	 * Simple identifier constant (value <code>"antTasks"</code>)

-	 * for the Ant tasks extension point.

-	 */

-	public static final String PT_ANTTASKS = "antTasks";

-

-	/**

-	 * Simple identifier constant (value <code>"antTypes"</code>)

-	 * for the Ant types extension point.

-	 */

-	public static final String PT_ANTTYPES = "antTypes";

-

-	/**

-	 * Simple identifier constant (value <code>"antObjects"</code>)

-	 * for the Ant objects extension point.

-	 */

-	public static final String PT_ANTOBJECTS = "antObjects";

-

-	/**

-	 * Simple identifier constant (value <code>"class"</code>)

-	 * of a tag that appears in Ant extensions.

-	 */

-	public static final String CLASS = "class";

-

-	/**

-	 * Simple identifier constant (value <code>"class"</code>)

-	 * of a tag that appears in Ant extensions.

-	 */

-	public static final String NAME = "name";

-

-/** 

- * Constructs an instance of this plug-in runtime class.

- * <p>

- * Instances of plug-in runtime classes are automatically created 

- * by the platform in the course of plug-in activation.

- * <b>No client or plug-in should ever explicitly instantiate

- * a plug-in runtime class</b>.

- * </p>

- * 

- * @param pluginDescriptor the plug-in descriptor for the

- *   Resources plug-in

- */

-public AntPlugin(IPluginDescriptor pluginDescriptor) {

-	super(pluginDescriptor);

-	plugin = this;

-}

-/**

- * Gets the notificationManager.

- * @return Returns the AntNotificationManager

- */

-public AntNotificationManager getNotificationManager() {

-	return notificationManager;

-}

-/**

- * Returns the internal collection of object extensions.

- * 

- * @return the internal collection of object extensions

- */	

-public Map getObjectExtensions() {

-	return objectExtensions;

-}

-

-/**

- * Returns this plug-in.

- *

- * @return the single instance of this plug-in runtime class

- */

-public static AntPlugin getPlugin() {

-	return plugin;

-}

-

-/**

- * Returns the internal collection of task extensions.

- * 

- * @return the internal collection of task extensions

- */	

-public Map getTaskExtensions() {

-	return taskExtensions;

-}

-

-/**

- * Returns the internal collection of type extensions.

- * 

- * @return the internal collection of type extensions

- */	

-public Map getTypeExtensions() {

-	return typeExtensions;

-}

-

-/**

- * This implementation of the corresponding <code>Plugin</code> method

- * 

- * @exception CoreException if this method fails to shut down this plug-in

- */

-public void shutdown() throws CoreException {

-}

-

-/**

- * This implementation of the corresponding <code>Plugin</code> method

- * 

- * @exception CoreException if this plug-in did not start up properly

- */

-public void startup() throws CoreException {

-	IExtensionPoint extensionPoint = getDescriptor().getExtensionPoint(PT_ANTTASKS);

-	if (extensionPoint != null) {

-		IConfigurationElement[] extensions = extensionPoint.getConfigurationElements();

-		taskExtensions = new HashMap(extensions.length);

-		for (int i = 0; i < extensions.length; i++) {

-			String name = extensions[i].getAttribute(NAME);

-			taskExtensions.put(name, extensions[i]);

-		}

-	}

-	extensionPoint = getDescriptor().getExtensionPoint(PT_ANTTYPES);

-	if (extensionPoint != null) {

-		IConfigurationElement[] extensions = extensionPoint.getConfigurationElements();

-		typeExtensions = new HashMap(extensions.length);

-		for (int i = 0; i < extensions.length; i++) {

-			String name = extensions[i].getAttribute(NAME);

-			typeExtensions.put(name, extensions[i]);

-		}

-	}

-	extensionPoint = getDescriptor().getExtensionPoint(PT_ANTOBJECTS);

-	if (extensionPoint != null) {

-		IConfigurationElement[] extensions = extensionPoint.getConfigurationElements();

-		objectExtensions = new HashMap(extensions.length);

-		for (int i = 0; i < extensions.length; i++) {

-			String name = extensions[i].getAttribute(NAME);

-			objectExtensions.put(name, extensions[i]);

-		}

-	}

-}

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
deleted file mode 100644
index 8ac9cdd..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/AntRunner.java
+++ /dev/null
@@ -1,720 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/*

- * The Apache Software License, Version 1.1

- *

- * Copyright (c) 1999, 2000 The Apache Software Foundation.  All rights

- * reserved.

- *

- * Redistribution and use in source and binary forms, with or without

- * modification, are permitted provided that the following conditions

- * are met:

- *

- * 1. Redistributions of source code must retain the above copyright

- *    notice, this list of conditions and the following disclaimer.

- *

- * 2. Redistributions in binary form must reproduce the above copyright

- *    notice, this list of conditions and the following disclaimer in

- *    the documentation and/or other materials provided with the

- *    distribution.

- *

- * 3. The end-user documentation included with the redistribution, if

- *    any, must include the following acknowlegement:

- *       "This product includes software developed by the

- *        Apache Software Foundation (http://www.apache.org/)."

- *    Alternately, this acknowlegement may appear in the software itself,

- *    if and wherever such third-party acknowlegements normally appear.

- *

- * 4. The names "The Jakarta Project", "Ant", and "Apache Software

- *    Foundation" must not be used to endorse or promote products derived

- *    from this software without prior written permission. For written

- *    permission, please contact apache@apache.org.

- *

- * 5. Products derived from this software may not be called "Apache"

- *    nor may "Apache" appear in their names without prior written

- *    permission of the Apache Group.

- *

- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED

- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR

- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF

- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND

- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,

- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT

- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

- * SUCH DAMAGE.

- * ====================================================================

- *

- * This software consists of voluntary contributions made by many

- * individuals on behalf of the Apache Software Foundation.  For more

- * information on the Apache Software Foundation, please see

- * <http://www.apache.org/>.

- */

-import org.eclipse.core.boot.IPlatformRunnable;

-import java.io.*;

-import java.util.*;

-import org.apache.tools.ant.*;

-

-/**

- * Eclipse application entry point into Ant. Derived from the original Ant Main class

- * to ensure that the functionality was equivalent when running in the platform.

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- * </p>

- */

-

-public class AntRunner implements IPlatformRunnable {

-

-	/** The default build file name */

-	public static final String DEFAULT_BUILD_FILENAME = "build.xml";

-

-	/** Our current message output status. Follows Project.MSG_XXX */

-	private int msgOutputLevel = Project.MSG_INFO;

-

-	/** File that we are using for configuration */

-	private File buildFile; /** null */

-

-	/** Stream that we are using for logging */

-	private PrintStream out = System.out;

-

-	/** Stream that we are using for logging error messages */

-	private PrintStream err = System.err;

-

-	/** The build targets */

-	private Vector targets = new Vector(5);

-

-	/** Set of properties that can be used by tasks */

-	private Properties definedProps = new Properties();

-

-	/** Names of classes to add as listeners to project */

-	private Vector listeners = new Vector(5);

-

-	/** Names of classes to add as listeners to project */

-	private IAntRunnerListener clientListener;

-

-	/**

-	 * The Ant logger class. There may be only one logger. It will have the

-	 * right to use the 'out' PrintStream. The class must implements the BuildLogger

-	 * interface

-	 */

-	private String loggerClassname = null;

-

-	/**

-	 * Indicates whether output to the log is to be unadorned.

-	 */

-	private boolean emacsMode = false;

-

-	/**

-	 * Indicates if this ant should be run.

-	 */

-	private boolean readyToRun = false;

-

-	/**

-	 * Indicates we should only parse and display the project help information

-	 */

-	private boolean projectHelp = false;

-	

-    private static String antVersion = null;

-    

-    /**

-	 * Adds a logger and all registered build listeners to an ant project.

-	 * 

-	 * @param project the project to add listeners to

-	 */

-protected void addBuildListeners(Project project) {

-	// If we have a client listener then use that.  Otherwise add the default listener

-	if (clientListener != null)

-		project.addBuildListener(clientListener);

-	else

-		project.addBuildListener(createLogger());

-	for (int i= 0; i < listeners.size(); i++) {

-		String className = (String) listeners.elementAt(i);

-		try {

-			BuildListener listener = (BuildListener) Class.forName(className).newInstance();

-			project.addBuildListener(listener);

-		} catch (Exception exc) {

-			throw new BuildException(Policy.bind("exception.cannotCreateListener",className), exc);

-		}

-	}

-}

-

-/**

- * Creates and returns the default build logger for logging build events to the ant log.

- * 

- * @return the default build logger for logging build events to the ant log

- */

-private BuildLogger createLogger() {

-	BuildLogger logger = null;

-	if (loggerClassname != null) {

-		try {

-			logger = (BuildLogger) (Class.forName(loggerClassname).newInstance());

-		} catch (ClassCastException e) {

-			System.err.println(Policy.bind("exception.loggerDoesNotImplementInterface",loggerClassname));

-			throw new RuntimeException();

-		} catch (Exception e) {

-			System.err.println(Policy.bind("exception.cannotCreateLogger",loggerClassname));

-			throw new RuntimeException();

-		}

-	} else {

-		logger = new DefaultLogger();

-	}

-	logger.setMessageOutputLevel(msgOutputLevel);

-	logger.setOutputPrintStream(out);

-	logger.setErrorPrintStream(err);

-	logger.setEmacsMode(emacsMode);

-	return logger;

-}

-

-/**

- * Search parent directories for the build file.

- *

- * <p>Takes the given target as a suffix to append to each

- * parent directory in seach of a build file.  Once the

- * root of the file-system has been reached an exception

- * is thrown.

- * </p>

- * @param suffix Suffix filename to look for in parents.

- * @return A handle to the build file

- * @exception BuildException Failed to locate a build file

- */

-private File findBuildFile(String start, String suffix) throws BuildException {

-	logMessage(Policy.bind("info.searchingFor",suffix), Project.MSG_INFO);

-	File parent = new File(new File(start).getAbsolutePath());

-	File file = new File(parent, suffix);

-	// check if the target file exists in the current directory

-	while (!file.exists()) {

-		// change to parent directory

-		parent = getParentFile(parent);

-		// if parent is null, then we are at the root of the fs,

-		// complain that we can't find the build file.

-		if (parent == null)

-			throw new BuildException(Policy.bind("exception.noBuildFile"));

-		// refresh our file handle

-		file = new File(parent, suffix);

-	}

-	return file;

-}

-

-/**

- * Returns the appropriate insertion index for a given string into a sorted collection.

- * 

- * @return the insertion index

- * @param names the initial collection of sorted strings

- * @param name the string whose insertion index into <code>names</code> is to be determined

- */

-private int findTargetPosition(Vector names, String name) {

-	int result = names.size();

-	for (int i = 0; i < names.size() && result == names.size(); i++) {

-		if (name.compareTo((String) names.elementAt(i)) < 0)

-			result = i;

-	}

-	return result;

-}

-

-/**

- * Helper to get the parent file for a given file.

- * <p>Added to simulate File.getParentFile() from JDK 1.2.</p>

- *

- * @param file File

- * @return Parent file or null if none

- */

-private File getParentFile(File file) {

-	String filename = file.getAbsolutePath();

-	file = new File(filename);

-	filename = file.getParent();

-	logMessage(Policy.bind("info.searchingIn",filename), Project.MSG_VERBOSE);

-	return (filename == null) ? null : new File(filename);

-}

-private void logMessage(String message, int severity) {

-	if (clientListener != null)

-		clientListener.messageLogged(message, severity);

-}

-/**

- * Command-line invocation method.

- * 

- * @param args the string arguments present on the command line

- */

-public static void main(String[] args) throws Exception {

-	new AntRunner().run(args);

-}

-

-/**

- * Equivalent to the standard command-line invocation method except

- * that command-line arguments are provided in the form of a string

- * instead of an array.

- * 

- * @param argString the string arguments present on the command line

- */

-public static void main(String argString) throws Exception {

-	main(tokenizeArgs(argString));

-}

-

-/**

- * Returns the output message level that has been requested by the

- * client.  This value will be one of <code>Project.MSG_ERR</code>,

- * <code>Project.MSG_WARN</code>, <code>Project.MSG_INFO</code>,

- * <code>Project.MSG_VERBOSE</code> or <code>Project.MSG_DEBUG</code>.

- * 

- * @see org.apache.tools.ant.Project

- * @return the output message level that has been requested by the client

- */

-public int getOutputMessageLevel() {

-	return msgOutputLevel;

-}

-

-/**

- * Prints the message of the Throwable if it is not null.

- * 

- * @param t the throwable whose message is to be displayed

- */

-private void printMessage(Throwable t) {

-	String message= t.getMessage();

-	if (message != null)

-		System.err.println(message);

-}

-

-/**

- * Logs a message with the client that lists the target names and optional descriptions

- * 

- * @param names the targets names

- * @param descriptions the corresponding descriptions

- * @param heading the message heading

- * @param maxlen maximum length that can be allocated for a name

- */

-private void printTargets(Vector names, Vector descriptions, String heading, int maxlen) {

-	// now, start printing the targets and their descriptions

-	String lSep = System.getProperty("line.separator");

-	// got a bit annoyed that I couldn't find a pad function

-	String spaces = "    ";

-	while (spaces.length() < maxlen) {

-		spaces += spaces;

-	}

-	StringBuffer msg = new StringBuffer();

-	msg.append(heading + lSep + lSep);

-	for (int i= 0; i < names.size(); i++) {

-		msg.append(" ");

-		msg.append(names.elementAt(i));

-		if (descriptions != null) {

-			msg.append(spaces.substring(0, maxlen - ((String) names.elementAt(i)).length() + 2));

-			msg.append(descriptions.elementAt(i));

-		}

-		msg.append(lSep);

-	}

-	logMessage(msg.toString(), Project.MSG_INFO);

-}

-

-/**

- * Logs a message with the client that lists the targets

- * in a project

- * 

- * @param project the project to list targets from

- */

-private void printTargets(Project project) {

-    // find the target with the longest name

-    int maxLength = 0;

-    Enumeration ptargets = project.getTargets().elements();

-    String targetName;

-    String targetDescription;

-    Target currentTarget;

-    // split the targets in top-level and sub-targets depending

-    // on the presence of a description

-    Vector topNames = new Vector();

-    Vector topDescriptions = new Vector();

-    Vector subNames = new Vector();

-

-    while (ptargets.hasMoreElements()) {

-        currentTarget = (Target)ptargets.nextElement();

-        targetName = currentTarget.getName();

-        targetDescription = currentTarget.getDescription();

-        // maintain a sorted list of targets

-        if (targetDescription == null) {

-            int pos = findTargetPosition(subNames, targetName);

-            subNames.insertElementAt(targetName, pos);

-        } else {

-            int pos = findTargetPosition(topNames, targetName);

-            topNames.insertElementAt(targetName, pos);

-            topDescriptions.insertElementAt(targetDescription, pos);

-            if (targetName.length() > maxLength) {

-                maxLength = targetName.length();

-            }

-        }

-    }

-

-    String defaultTarget = project.getDefaultTarget();

-    if (defaultTarget != null && !"".equals(defaultTarget)) { // shouldn't need to check but...

-        Vector defaultName = new Vector();

-        Vector defaultDesc = null;

-        defaultName.addElement(defaultTarget);

-

-        int indexOfDefDesc = topNames.indexOf(defaultTarget);

-        if (indexOfDefDesc >= 0) {

-            defaultDesc = new Vector();

-            defaultDesc.addElement(topDescriptions.elementAt(indexOfDefDesc));

-        }

-        printTargets(defaultName, defaultDesc, Policy.bind("label.defaultTarget"), maxLength);

-

-    }

-

-    printTargets(topNames, topDescriptions, Policy.bind("label.mainTargets"), maxLength);

-    printTargets(subNames, null, Policy.bind("label.subTargets"), 0);

-}

-

-/**

- * Logs a message with the client outlining the usage of <b>Ant</b>.

- */

-private void printUsage() {

-	String lSep = System.getProperty("line.separator");

-	StringBuffer msg = new StringBuffer();

-	msg.append("ant [" + Policy.bind("usage.options") + "] [" 

-				+ Policy.bind("usage.target") + " ["

-				+ Policy.bind("usage.target") + "2 ["

-				+ Policy.bind("usage.target") + "3] ...]]" + lSep);

-	msg.append(Policy.bind("usage.Options") + ": " + lSep);

-	msg.append("  -help                  " + Policy.bind("usage.printMessage") + lSep);

-	msg.append("  -projecthelp           " + Policy.bind("usage.projectHelp") + lSep);

-	msg.append("  -version               " + Policy.bind("usage.versionInfo") + lSep);

-	msg.append("  -quiet                 " + Policy.bind("usage.beQuiet") + lSep);

-	msg.append("  -verbose               " + Policy.bind("usage.beVerbose") + lSep);

-	msg.append("  -debug                 " + Policy.bind("usage.printDebugInfo") + lSep);

-	msg.append("  -emacs                 " + Policy.bind("usage.emacsLog") + lSep);

-	msg.append("  -logfile <file>        " + Policy.bind("usage.useFile") + lSep);

-	msg.append("  -logger <classname>    " + Policy.bind("usage.logClass") + lSep);

-	msg.append("  -listener <classname>  " + Policy.bind("usage.listenerClass") + lSep);

-	msg.append("  -buildfile <file>      " + Policy.bind("usage.fileToBuild") + lSep);

-	msg.append("  -D<property>=<value>   " + Policy.bind("usage.propertiesValues") + lSep);

-	msg.append("  -find <file>           " + Policy.bind("usage.findFileToBuild") + lSep);

-	

-	logMessage(msg.toString(), Project.MSG_INFO);

-}

-

-/**

- * Logs a message with the client indicating the version of <b>Ant</b> that this class

- * fronts.

- */

-private void printVersion() {

- 	logMessage(getAntVersion(), Project.MSG_INFO);

-}

-

-public synchronized static String getAntVersion() throws BuildException {

-    if (antVersion == null) {

-        try {

-            Properties props = new Properties();

-            InputStream in =

-                Main.class.getResourceAsStream("/org/apache/tools/ant/version.txt");

-            props.load(in);

-            in.close();

-            

-            String lSep = System.getProperty("line.separator");

-            StringBuffer msg = new StringBuffer();

-            msg.append(Policy.bind("usage.antVersion"));

-            msg.append(props.getProperty("VERSION") + " ");

-            msg.append(Policy.bind("usage.compiledOn"));

-            msg.append(props.getProperty("DATE"));

-            antVersion = msg.toString();

-        } catch (IOException ioe) {

-            throw new BuildException(Policy.bind("exception.cannotLoadVersionInfo", ioe.getMessage()));

-        } catch (NullPointerException npe) {

-            throw new BuildException(Policy.bind("exception.cannotLoadVersionInfo", ""));

-        }

-    }

-    return antVersion;

-}

-

-/**

- * Processes the command line passed in by the client.

- * 

- * @execption BuildException occurs if the build file is not properly specified

- * @param args the collection of arguments

- */

-protected void processCommandLine(String[] args) throws BuildException {

-	String searchForThis = null;

-	// cycle through given args

-	boolean canBeTarget = false;

-	for (int i= 0; i < args.length; i++) {

-		String arg = args[i];

-		if (arg.equals("-help")) {

-			printUsage();

-			return;

-		} 

-		if (arg.equals("-version")) {

-			printVersion();

-			return;

-		}

-		if (arg.equals("-quiet") || arg.equals("-q")) {

-			msgOutputLevel = Project.MSG_WARN;

-			canBeTarget = false;

-		} else if (arg.equals("-verbose") || arg.equals("-v")) {

-			printVersion();

-			msgOutputLevel = Project.MSG_VERBOSE;

-			canBeTarget = false;

-		} else if (arg.equals("-debug")) {

-			printVersion();

-			msgOutputLevel = Project.MSG_DEBUG;

-			canBeTarget = false;

-		} else if (arg.equals("-logfile") || arg.equals("-l")) {

-			try {

-				File logFile = new File(args[i + 1]);

-				i++;

-				out= new PrintStream(new FileOutputStream(logFile));

-				err = out;

-				System.setOut(out);

-				System.setErr(out);

-				canBeTarget = false;

-			} catch (IOException ioe) {

-				logMessage(Policy.bind("exception.cannotWriteToLog"), Project.MSG_INFO);

-				return;

-			} catch (ArrayIndexOutOfBoundsException aioobe) {

-				logMessage(Policy.bind("exception.missingLogFile"), Project.MSG_INFO);

-				return;

-			}

-		} else if (arg.equals("-buildfile") || arg.equals("-file") || arg.equals("-f")) {

-			try {

-				buildFile = new File(args[i + 1]);

-				i++;

-				canBeTarget = true;

-			} catch (ArrayIndexOutOfBoundsException aioobe) {

-				logMessage(Policy.bind("exception.missingBuildFile"), Project.MSG_INFO);

-				return;

-			}

-		} else if (arg.equals("-listener")) {

-			try {

-				listeners.addElement(args[i + 1]);

-				i++;

-				canBeTarget = false;

-			} catch (ArrayIndexOutOfBoundsException aioobe) {

-				logMessage(Policy.bind("exception.missingClassName"), Project.MSG_INFO);

-				return;

-			}

-		} else if (arg.startsWith("-D")) {

-

-			/* Interestingly enough, we get to here when a user

-			 * uses -Dname=value. However, in some cases, the JDK

-			 * goes ahead * and parses this out to args

-			 *   {"-Dname", "value"}

-			 * so instead of parsing on "=", we just make the "-D"

-			 * characters go away and skip one argument forward.

-			 *

-			 * I don't know how to predict when the JDK is going

-			 * to help or not, so we simply look for the equals sign.

-			 */

-

-			String name = arg.substring(2, arg.length());

-			String value = null;

-			int posEq = name.indexOf("=");

-			if (posEq > 0) {

-				value = name.substring(posEq + 1);

-				name = name.substring(0, posEq);

-			} else if (i < args.length - 1)

-				value = args[++i];

-

-			definedProps.put(name, value);

-			canBeTarget = false;

-		} else if (arg.equals("-logger")) {

-			if (loggerClassname != null) {

-				logMessage(Policy.bind("exception.multipleLoggers"), Project.MSG_INFO);

-				return;

-			}

-			loggerClassname = args[++i];

-			canBeTarget = false;

-		} else if (arg.equals("-emacs")) {

-			emacsMode = true;

-			canBeTarget = false;

-		} else if (arg.equals("-projecthelp")) {

-			projectHelp = true; // set the flag to display the targets and quit

-			canBeTarget = false;

-		} else if (arg.equals("-find")) {

-			// eat up next arg if present, default to build.xml

-			if (i < args.length - 1)

-				searchForThis = args[++i];

-			else

-				searchForThis = DEFAULT_BUILD_FILENAME;

-			canBeTarget = false;

-		} else if (arg.startsWith("-")) {

-			// we don't have any more args to recognize!

-			logMessage(Policy.bind("exception.unknownArgument",arg), Project.MSG_INFO);

-//			printUsage();

-//			return;

-			canBeTarget = false;

-		} else {

-			if (canBeTarget)

-				targets.addElement(arg);

-		}

-	}

-	// if buildFile was not specified on the command line,

-	if (buildFile == null) {

-		// but -find then search for it

-		if (searchForThis != null)

-			buildFile = findBuildFile(".", searchForThis);

-		else

-			buildFile = new File(DEFAULT_BUILD_FILENAME);

-	}

-	// make sure buildfile exists

-	if (!buildFile.getAbsoluteFile().exists()) {

-		logMessage(Policy.bind("exception.buildFileNotFound",buildFile.toString()), Project.MSG_INFO);

-		throw new BuildException(Policy.bind("error.buildFailed"));

-	}

-	// make sure it's not a directory (this falls into the ultra

-	// paranoid lets check everything catagory

-	if (buildFile.isDirectory()) {

-		logMessage(Policy.bind("exception.buildFileIsDirectory",buildFile.toString()), Project.MSG_INFO);

-		throw new BuildException(Policy.bind("error.buildFailed"));

-	}

-	readyToRun= true;

-}

-

-/**

- * Invokes the building of a project object and executes a build using either a given

- * target or the default target.

- *

- * @param argArray the command line arguments

- * @exception execution exceptions

- */

-public Object run(Object argArray) throws Exception {

-	String[] args = (String[]) argArray;

-	processCommandLine(args);

-	try {

-		runBuild(null);

-	} catch (BuildException e) {

-		if (err != System.err)

-			printMessage(e);

-		throw e;

-	} catch (ThreadDeath e) {

-		throw e;

-	} catch (Throwable e) {

-		printMessage(e);

-	}

-	return null;

-}

-

-/**

- * Invokes the building of a project object and executes a build using either a given

- * target or the default target.

- *

- * @param argArray the command line arguments

- * @param listener the client listener

- * @exception execution exceptions

- */

-public Object run(Object argArray, IAntRunnerListener listener) throws Exception {

-	clientListener = listener;

-	return run(argArray);

-}

-

-/**

- * Executes the build.

- * 

- * @exception BuildException thrown if there is a problem during building.

- */

-private void runBuild(ClassLoader coreLoader) throws BuildException {

-

-    if (!readyToRun) {

-        return;

-    }

-

-	logMessage(Policy.bind("label.buildFile",buildFile.toString()),Project.MSG_INFO);

-

-    final EclipseProject project = new EclipseProject();

-    project.setCoreLoader(coreLoader);

-    

-    Throwable error = null;

-

-    try {

-        addBuildListeners(project);

-

-        PrintStream err = System.err;

-        PrintStream out = System.out;

-        SecurityManager oldsm = System.getSecurityManager();

-

-        try {

-            System.setOut(new PrintStream(new DemuxOutputStream(project, false)));

-            System.setErr(new PrintStream(new DemuxOutputStream(project, true)));

-            project.fireBuildStarted();

-            project.init();

-            project.setUserProperty("ant.version", getAntVersion());

-

-            // set user-define properties

-            Enumeration e = definedProps.keys();

-            while (e.hasMoreElements()) {

-                String arg = (String)e.nextElement();

-                String value = (String)definedProps.get(arg);

-                project.setUserProperty(arg, value);

-            }

-            

-            project.setUserProperty("ant.file" , buildFile.getAbsolutePath() );

-            

-            // first use the ProjectHelper to create the project object

-            // from the given build file.

-            try {

-                Class.forName("javax.xml.parsers.SAXParserFactory");

-                ProjectHelper.configureProject(project, buildFile);

-            } catch (NoClassDefFoundError ncdfe) {

-                throw new BuildException(Policy.bind("exception.noParser"), ncdfe);

-            } catch (ClassNotFoundException cnfe) {

-                throw new BuildException(Policy.bind("exception.noParser"), cnfe);

-            } catch (NullPointerException npe) {

-                throw new BuildException(Policy.bind("exception.noParser"), npe);

-            }

-            

-            // make sure that we have a target to execute

-            if (targets.size() == 0) {

-                targets.addElement(project.getDefaultTarget());

-            }

-            

-            if (!projectHelp) {

-                project.executeTargets(targets);

-            }

-        }

-        finally {

-            System.setOut(out);

-            System.setErr(err);

-        }

-        if (projectHelp) {

-            printDescription(project);

-            printTargets(project);

-        }

-    }

-    catch(RuntimeException exc) {

-        error = exc;

-        throw exc;

-    }

-    catch(Error err) {

-        error = err;

-        throw err;

-    }

-    finally {

-        project.fireBuildFinished(error);

-    }

-}

-/**

- * Print the project description, if any

- */

-private static void printDescription(Project project) {

-   if (project.getDescription() != null) {

-      System.out.println(project.getDescription());

-   }

-}

-

-/**

- * Returns a tokenized version of a string.

- * 

- * @return a tokenized version of a string

- * @param argString the original argument string

- */

-public static String[] tokenizeArgs(String argString) throws Exception {

-	Vector list = new Vector(5);

-	for (StringTokenizer tokens = new StringTokenizer(argString, " "); tokens.hasMoreElements();)

-		list.addElement((String) tokens.nextElement());

-	return (String[]) list.toArray(new String[list.size()]);

-}

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CommaPatternSet.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CommaPatternSet.java
deleted file mode 100644
index 87d08cc..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CommaPatternSet.java
+++ /dev/null
@@ -1,429 +0,0 @@
-package org.eclipse.ant.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/*

- * The Apache Software License, Version 1.1

- *

- * Copyright (c) 2000 The Apache Software Foundation.  All rights 

- * reserved.

- *

- * Redistribution and use in source and binary forms, with or without

- * modification, are permitted provided that the following conditions

- * are met:

- *

- * 1. Redistributions of source code must retain the above copyright

- *    notice, this list of conditions and the following disclaimer. 

- *

- * 2. Redistributions in binary form must reproduce the above copyright

- *    notice, this list of conditions and the following disclaimer in

- *    the documentation and/or other materials provided with the

- *    distribution.

- *

- * 3. The end-user documentation included with the redistribution, if

- *    any, must include the following acknowlegement:  

- *       "This product includes software developed by the 

- *        Apache Software Foundation (http://www.apache.org/)."

- *    Alternately, this acknowlegement may appear in the software itself,

- *    if and wherever such third-party acknowlegements normally appear.

- *

- * 4. The names "The Jakarta Project", "Ant", and "Apache Software

- *    Foundation" must not be used to endorse or promote products derived

- *    from this software without prior written permission. For written 

- *    permission, please contact apache@apache.org.

- *

- * 5. Products derived from this software may not be called "Apache"

- *    nor may "Apache" appear in their names without prior written

- *    permission of the Apache Group.

- *

- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED

- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR

- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF

- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND

- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,

- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT

- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

- * SUCH DAMAGE.

- * ====================================================================

- *

- * This software consists of voluntary contributions made by many

- * individuals on behalf of the Apache Software Foundation.  For more

- * information on the Apache Software Foundation, please see

- * <http://www.apache.org/>.

- */

-

-import org.apache.tools.ant.Project;

-import org.apache.tools.ant.ProjectHelper;

-import org.apache.tools.ant.BuildException;

-import org.apache.tools.ant.types.PatternSet;

-import org.apache.tools.ant.types.Reference;

-

-import java.io.*;

-import java.util.Enumeration;

-import java.util.Stack;

-import java.util.StringTokenizer;

-import java.util.Vector;

-

-/**

- * Named collection of include/exclude tags.  This is largely a copy of the original

- * Ant PatternSet data type.  Unfortunately, that datatype used both the comma and

- * the space character as a token to delimit pattern entries.  This makes it virtually

- * impossible to use for files which have spaces in their names.  The <code>CommaPatternSet</code>

- * is not particularly usable but it is easier than trying to deal with the original.

- * <p>

- * A complete copy was done to ensure that the behavior is correct.  Otherwise there is a

- * risk of getting some values from the private slots of the superclass and some from this

- * class.  Unfortunately, there is no way to link this support into <code>FileSet</code>.

- * </p>

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- * </p>

- * @see PatternSet

- */

-

-public class CommaPatternSet extends PatternSet {

-    private Vector includeList = new Vector();

-    private Vector excludeList = new Vector();

-    private Vector includesFileList = new Vector();

-    private Vector excludesFileList = new Vector();

-

-    public CommaPatternSet() {

-        super();

-    }

-

-	/**

-	 * Makes the receiver effectively a reference to another <code>PatternSet</code>

-	 * instance.

-	 *

-	 * <p>Once this element becomes a reference its internal attributes and nested elements

-	 * must not be modified.</p>

-	 * 

-	 * @param r the other <code>PatternSet</code>

-	 * @exception BuildException

-	 */

-    public void setRefid(Reference r) throws BuildException {

-        if (!includeList.isEmpty() || !excludeList.isEmpty()) {

-            throw tooManyAttributes();

-        }

-        super.setRefid(r);

-    }

-

-	/**

-	 * Adds a name entry to the receiver's include list.

-	 * 

-	 * @return the new name entry

-	 */

-    public NameEntry createInclude() {

-        if (isReference()) {

-            throw noChildrenAllowed();

-        }

-        return addPatternToList(includeList);

-    }

-

-    /**

-     * add a name entry on the include files list

-     */

-    public NameEntry createIncludesFile() {

-        if (isReference()) {

-            throw noChildrenAllowed();

-        }

-        return addPatternToList(includesFileList);

-    }

-    

-	/**

-	 * Adds a name entry to the receiver's exclude list.

-	 * 

-	 * @return the new name entry

-	 */

-    public NameEntry createExclude() {

-        if (isReference()) {

-            throw noChildrenAllowed();

-        }

-        return addPatternToList(excludeList);

-    }

-    

-    /**

-     * add a name entry on the exclude files list

-     */

-    public NameEntry createExcludesFile() {

-        if (isReference()) {

-            throw noChildrenAllowed();

-        }

-        return addPatternToList(excludesFileList);

-    }

-

-	/**

-	 * Sets the receiver's set of include patterns. Patterns can only be separated

-	 * by a comma and by not a space (unlike PatternSet).

-	 *

-	 * @param includes the include patterns

-	 */

-    public void setIncludes(String includes) {

-        if (isReference()) {

-            throw tooManyAttributes();

-        }

-        if (includes != null && includes.length() > 0) {

-            StringTokenizer tok = new StringTokenizer(includes, ",", false);

-            while (tok.hasMoreTokens()) {

-                createInclude().setName(tok.nextToken());

-            }

-        }

-    }

-

-	/**

-	 * Sets the receiver's set of exclude patterns. Patterns can only be separated

-	 * by a comma and by not a space (unlike PatternSet).

-	 *

-	 * @param excludes the exclude patterns

-	 */

-    public void setExcludes(String excludes) {

-        if (isReference()) {

-            throw tooManyAttributes();

-        }

-        if (excludes != null && excludes.length() > 0) {

-            StringTokenizer tok = new StringTokenizer(excludes, ",", false);

-            while (tok.hasMoreTokens()) {

-                createExclude().setName(tok.nextToken());

-            }

-        }

-    }

-

-	/**

-	 * Adds a name entry to the given list.

-	 * 

-	 * @return the new name entry

-	 * @param list the target list

-	 */

-    private NameEntry addPatternToList(Vector list) {

-        NameEntry result = new NameEntry();

-        list.addElement(result);

-        return result;

-    }

-

-	/**

-	 * Sets the name of the file containing the includes patterns.

-	 *

-	 * @param incl the file to retrieve the include patterns from

-	 */

-     public void setIncludesfile(File includesFile) throws BuildException {

-         if (isReference()) {

-             throw tooManyAttributes();

-         }

-         createIncludesFile().setName(includesFile.getAbsolutePath());

-     }

-

-	/**

-	 * Sets the name of the file containing the excludes patterns.

-	 *

-	 * @param excl the file to retrieve the exclude patterns from

-	 */

-     public void setExcludesfile(File excludesFile) throws BuildException {

-         if (isReference()) {

-             throw tooManyAttributes();

-         }

-         createExcludesFile().setName(excludesFile.getAbsolutePath());

-     }

-    

-	/**

-	 * Reads path matching patterns from a file and adds them to the

-	 * includes or excludes list as appropriate.

-	 * 

-	 * @param patternfile the source file

-	 * @param patternlist the list of patterns

-	 * @param p the target project

-	 * @exception BuildException thrown if the file cannot be read

-	 */

-    private void readPatterns(File patternfile, Vector patternlist, Project p)

-        throws BuildException {

-        

-        try {

-            // Get a FileReader

-            BufferedReader patternReader = 

-                new BufferedReader(new FileReader(patternfile)); 

-        

-            // Create one NameEntry in the appropriate pattern list for each 

-            // line in the file.

-            String line = patternReader.readLine();

-            while (line != null) {

-                if (line.length() > 0) {

-                    line = ProjectHelper.replaceProperties(p, line,

-                                                           p.getProperties());

-                    addPatternToList(patternlist).setName(line);

-                }

-                line = patternReader.readLine();

-            }

-        } catch(IOException ioe)  {

-			throw new BuildException(Policy.bind("exception.patternFile",patternfile.toString()),ioe);

-        }

-    }

-

-	/**

-	 * Adds the patterns of another <code>PatternSet</code> to the receiver.

-	 * 

-	 * @param other the other <code>PatternSet</code>

-	 * @param p the target project

-	 */

-    public void append(PatternSet other, Project p) {

-        if (isReference()) {

-            throw new BuildException(Policy.bind("exception.cannotAppendToReference"));

-        }

-

-        String[] incl = other.getIncludePatterns(p);

-        if (incl != null) {

-            for (int i=0; i<incl.length; i++) {

-                createInclude().setName(incl[i]);

-            }

-        }

-        

-        String[] excl = other.getExcludePatterns(p);

-        if (excl != null) {

-            for (int i=0; i<excl.length; i++) {

-                createExclude().setName(excl[i]);

-            }

-        }

-    }

-

-	/**

-	 * Returns the receiver's filtered include patterns.

-	 * 

-	 * @return the receiver's filtered include patterns.

-	 * @param the target project

-	 */

-    public String[] getIncludePatterns(Project p) {

-        if (isReference()) {

-            return getRef(p).getIncludePatterns(p);

-        } else {

-            readFiles(p);

-            return makeArray(includeList, p);

-        }

-    }

-

-	/**

-	 * Returns the receiver's filtered exclude patterns.

-	 * 

-	 * @return the receiver's filtered exclude patterns.

-	 * @param the target project

-	 */

-    public String[] getExcludePatterns(Project p) {

-        if (isReference()) {

-            return getRef(p).getExcludePatterns(p);

-        } else {

-            readFiles(p);

-            return makeArray(excludeList, p);

-        }

-    }

-

-	/**

-	 * Returns a boolean indicating whether this instance has any patterns.

-	 * 

-	 * @return a boolean indicating whether this instance has any patterns

-	 */

-    boolean hasPatterns() {

-        return includesFileList.size() > 0 || excludesFileList.size() > 0 

-            || includeList.size() > 0 || excludeList.size() > 0;

-    }

-

-	/**

-	 * Performs a check for circular references and returns the

-	 * referenced <code>PatternSet</code>.

-	 * 

-	 * @return the referenced <code>PatternSet</code>

-	 * @param the target project

-	 */

-    private PatternSet getRef(Project p) {

-        if (!checked) {

-            Stack stk = new Stack();

-            stk.push(this);

-            dieOnCircularReference(stk, p);

-        }

-        

-        Object o = ref.getReferencedObject(p);

-        if (!(o instanceof PatternSet)) {

-			throw new BuildException(Policy.bind("exception.notAPatternSet",ref.getRefId()));

-    	} else {

-            return (PatternSet) o;

-        }

-    }

-

-	/**

-	 * Returns a given vector of name entries as an array of strings.

-	 * 

-	 * @return a string array of name entries

-	 * @param list the original vector of name entries

-	 * @param p the target project

-	 */

-    private String[] makeArray(Vector list, Project p) {

-        if (list.size() == 0) return null;

-

-        Vector tmpNames = new Vector();

-        for (Enumeration e = list.elements() ; e.hasMoreElements() ;) {

-            NameEntry ne = (NameEntry)e.nextElement();

-            String pattern = ne.evalName(p);

-            if (pattern != null && pattern.length() > 0) {

-                tmpNames.addElement(pattern);

-            }

-        }

-

-        String result[] = new String[tmpNames.size()];

-        tmpNames.copyInto(result);

-        return result;

-    }

-        

-	/**

-	 * Reads includefile and excludefile if not already done.

-	 * 

-	 * @param p the target project

-	 */

-    private void readFiles(Project p) {

-        if (includesFileList.size() > 0) {

-            Enumeration e = includesFileList.elements();

-            while (e.hasMoreElements()) {

-                NameEntry ne = (NameEntry)e.nextElement();

-                String fileName = ne.evalName(p);

-                if (fileName != null) {

-                    File inclFile = p.resolveFile(fileName);

-                    if (!inclFile.exists())

-                        throw new BuildException("Includesfile "

-                                                 + inclFile.getAbsolutePath()

-                                                 + " not found.");

-                    readPatterns(inclFile, includeList, p);

-                }

-            }

-            includesFileList.removeAllElements();

-        }

-

-        if (excludesFileList.size() > 0) {

-            Enumeration e = excludesFileList.elements();

-            while (e.hasMoreElements()) {

-                NameEntry ne = (NameEntry)e.nextElement();

-                String fileName = ne.evalName(p);

-                if (fileName != null) {

-                    File exclFile = p.resolveFile(fileName);

-                    if (!exclFile.exists())

-                        throw new BuildException("Excludesfile "

-                                                 + exclFile.getAbsolutePath()

-                                                 + " not found.");

-                    readPatterns(exclFile, excludeList, p);

-                }

-            }

-            excludesFileList.removeAllElements();

-        }

-    }

-

-    public String toString()

-    {

-        return "patternSet{ includes: " + includeList + 

-            " excludes: " + excludeList + " }";

-    }

-}

-

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CommandDataType.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CommandDataType.java
deleted file mode 100644
index 76542fc..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CommandDataType.java
+++ /dev/null
@@ -1,161 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.util.*;

-import org.apache.tools.ant.*;

-import org.apache.tools.ant.types.*;

-

-/**

- * An Ant data type used to specify commands (builder name and arguments for this builder)

- * while working on projects.

- * <p>

- * The name of the builder must be specified.<br>

- * It is posible to specify arguments with nested elements. It is also 

- * possible to reference this command using a reference id.

- * <p><p>

- * Example:<p>

- *	&lt;command name="Main Builder" id="mainBuilder"&gt;

- * 		&lt;eclipse.argument name="arg1" value="value1"/&gt;

- *  &lt;/command&gt;

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- * </p>

- * @see CreateProject, MoveProject, CopyProject

- */

-public class CommandDataType extends DataType {

-	

-	/**

-	 * The name of the builder. It is an identifier defined in the extension points of Eclipse.

-	 */

-	private String name = null;

-	

-	/**

-	 * A vector of Argument objects.

-	 */

-	private HashMap args = null;

-

-	/**

-	 * Inner class that represents a name-value pair.

-	 */

-	public class Argument {

-		private String name;

-

-		/**

-		 * Sets the name of this argument. 

-		 * @param name the name of this argument

-		 */

-		public void setName(String value) {

-			name= value;

-		}

-

-		/**

-		 * Sets the value of this argument. 

-		 * @param value the value of this argument

-		 */

-		public void setValue(String value) {

-			if (value == null)

-				args.remove(name);

-			else

-				args.put(name, value);

-		}

-	}

-	

-	

-/**

- * Constructs a new <code>CommandDataType</code> instance.

- */	

-public CommandDataType() {

-	super();

-	args= new HashMap(5);

-}

-

-public Argument createArgument() {

-	if (isReference())

-		throw new BuildException(Policy.bind("exception.noNestedElements"));

-    return new Argument();

-}

-

-/**

- * Makes this instance in effect a reference to another CommandDataType

- * instance.

- *

- * <p>You must not set attributes, just the reference ID.</p> 

- */

-public void setRefid(Reference r) throws BuildException {

-    if (name != null || !args.isEmpty())

-        throw new BuildException(Policy.bind("exception.noAttributes"));

-    super.setRefid(r);

-}

-

-/**

- * Sets the name of the builder.

- * 

- * @param the name of the builder		

- */

-public void setName(String name) {

-	if (isReference())

-		throw new BuildException(Policy.bind("exception.tooManyAttributes"));

-	this.name = name;

-}

-

-/**

- * Returns the name of the command builer, or the one of the command that is refered to 

- * via the "refid" attribute.

- * 

- * @param the project to which the CommandDataType belongs

- * @return the name of the builder	

- */

-public String getName(Project p) {

-	if (isReference())

-		return getRef(p).getName(p);

-	if (name == null)

-		throw new BuildException(Policy.bind("exception.commandMustHaveName"));

-	return name;

-}

-

-/**

- * Returns the arguments of the command, or the one of the command that is refered to 

- * via the "refid" attribute.<br>

- * The arguments are returned in a <code>HashMap</code> where the names of the arguments

- * are the keys and the values are the actual values in the hashMap.

- * 

- * @param the project to which the CommandDataType belongs

- * @return the hashMap containing the arguments

- */

-public HashMap getArguments(Project p) {

-	if (isReference())

-		return getRef(p).getArguments(p);

-	return args;

-}

-

-/**

- * Performs the check for circular references and returns the

- * referenced PatternSet.

- * 

- * @param the project to which the CommandDataType belongs

- */

-private CommandDataType getRef(Project p) {

-    if (!checked) {

-        Stack stk = new Stack();

-        stk.push(this);

-        dieOnCircularReference(stk, p);

-    }

-    

-    Object o = ref.getReferencedObject(p);

-    if (!(o instanceof CommandDataType)) {

-        throw new BuildException(Policy.bind("exception.doesntDenoteACommand", ref.getRefId()));

-    } else {

-        return (CommandDataType) o;

-    }

-}

-

-}

-

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/ConvertPath.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/ConvertPath.java
deleted file mode 100644
index 9663275..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/ConvertPath.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.resources.*;

-import org.eclipse.core.runtime.*;

-import java.io.File;

-import org.apache.tools.ant.*;

-import org.apache.tools.ant.types.Path;

-

-/**

- * An Ant task which allows to switch from a file system path to a resource path, 

- * and vice versa, and store the result in a user property which name is set by the user. If the 

- * resource does not exist, the property is set to "false".

- * <p>

- * The attribute "property" must be specified, as well as only one of "fileSystemPath" or "resourcePath".

- * <p><p>

- * Example:<p>

- *	&lt;eclipse.convertPath fileSystemPath="D:\MyWork\MyProject" property="myProject.resourcePath"/&gt;

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- */

-public class ConvertPath extends Task {

-	

-	/**

-	 * The file system path.

-	 */

-	private IPath fileSystemPath = null;

-	

-	/**

-	 * The resource path.

-	 */

-	private IPath resourcePath = null;

-	

-	/**

-	 * The name of the property where the result may be stored.

-	 */

-	private String property = null;

-	

-	/**

-	 * The id of the new Path object that may be created.

-	 */

-	private String pathID = null;

-

-

-/**

- * Constructs a new <code>ConvertPath</code> instance.

- */

-public ConvertPath() {

-	super();

-}

-

-/**

- * Performs the project copy operation.

- * 

- * @exception BuildException thrown if a problem occurs during execution.

- */

-public void execute() throws BuildException {

-	

-	validateAttributes();

-	

-	if (fileSystemPath == null) 

-		// here, resourcePath is not null

-		convertResourcePathToFileSystemPath(resourcePath);

-	else

-		convertFileSystemPathToResourcePath(fileSystemPath);

-}

-

-protected void convertFileSystemPathToResourcePath(IPath path) {

-	IResource resource = ResourcesPlugin.getWorkspace().getRoot().getContainerForLocation(path);

-	if (resource == null)

-		throw new BuildException(Policy.bind("exception.noProjectMatchThePath", fileSystemPath.toOSString()));

-	

-	if (property != null)

-		project.setUserProperty(property, resource.getFullPath().toString());

-	if (pathID != null) {

-		Path newPath = new Path(project, resource.getFullPath().toString());

-		project.addReference(pathID, newPath);

-	}

-}

-

-protected void convertResourcePathToFileSystemPath(IPath path) {

-	IResource resource = null;

-	if (path.segmentCount() == 1)

-		resource = ResourcesPlugin.getWorkspace().getRoot().getProject(path.lastSegment());

-	else

-		resource = ResourcesPlugin.getWorkspace().getRoot().getFile(path);

-		

-	if (resource.getLocation() == null)

-		// can occur if the first segment is not a project

-		throw new BuildException(Policy.bind("exception.pathNotValid", path.toString()));

-	

-	if (property != null)

-		project.setUserProperty(property, resource.getLocation().toOSString());

-	if (pathID != null) {

-		Path newPath = new Path(project, resource.getLocation().toOSString());

-		project.addReference(pathID, newPath);

-	}

-}

-

-/**

- * Sets the file system path.

- * 

- * @param the file corresponding to the path supplied by the user

- */

-public void setFileSystemPath(File value) {

-	if (resourcePath != null)

-		throw new BuildException(Policy.bind("exception.cantUseBoth"));

-	fileSystemPath = new org.eclipse.core.runtime.Path(value.toString());

-}

-

-/**

- * Sets the resource path.

- * 

- * @param the path	

- */

-public void setResourcePath(String value) {

-	if (fileSystemPath != null)

-		throw new BuildException(Policy.bind("exception.cantUseBoth"));

-	resourcePath = new org.eclipse.core.runtime.Path(value);

-}

-

-/**

- * Sets the name of the property where the result may stored.

- * 

- * @param the name of the property		

- */

-public void setProperty(String value) {

-	property = value;

-

-}

-

-/**

- * Sets the id for the path where the result may be stored

- * 

- * @param the id of the path

- */

-public void setPathId(String value) {

-	pathID = value;

-}

-

-/**

- * Performs a validation of the receiver.

- * 

- * @exception BuildException thrown if a problem occurs during validation.

- */

-protected void validateAttributes() throws BuildException {

-	if (property == null && pathID == null) 

-		throw new BuildException(Policy.bind("exception.propertyAndPathIdNotSpecified"));

-

-	if (resourcePath != null && (!resourcePath.isValidPath(resourcePath.toString()) || resourcePath.isEmpty())) 

-		throw new BuildException(Policy.bind("exception.invalidPath", resourcePath.toOSString()));

-	else if (fileSystemPath != null && !fileSystemPath.isValidPath(fileSystemPath.toOSString())) 

-		throw new BuildException(Policy.bind("exception.invalidPath", fileSystemPath.toOSString()));

-		

-	if (resourcePath == null && fileSystemPath == null)

-		throw new BuildException(Policy.bind("exception.mustHaveOneAttribute"));

-}

-

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CopyProject.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CopyProject.java
deleted file mode 100644
index aedbcb5..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CopyProject.java
+++ /dev/null
@@ -1,286 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.io.File;

-import java.util.*;

-import org.eclipse.core.resources.*;

-import org.eclipse.core.runtime.*;

-import org.apache.tools.ant.*;

-

-/**

- * An Ant task which copies an existing Eclipse project.

- * <p>

- * The name of the project to copy (source), its new name (destination) and the "force" attribute 

- * must be specified.<br>

- * The comment, the nature(s) and the referenced projects are optional.<br>

- * Concerning the location attribute (the directory where the project will be copied on the file system),

- * there are several cases:<br>

- * <ul>

- * 	<li>If "location" is specified, the project will be copied to the given directory. 

- * 		To specify the default workspace directory, location should be set to "null".

- * 		However, it is not possible to copy the project in the same directory.</li>

- * 	<li>If "location" is not specified, the copy of the project will be located in the

- * 		default worksapce directory.</li>

- * </ul>

- * <br>

- * It is also possible to define commands with nested elements.

- * <p><p>

- * Example:<p>

- *	&lt;eclipse.copyProject source="Foo" destination="Bar" location="D:\MyWork\My Project"/&gt;

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- * </p>

- * @see IProject#copy

- * @see CommandDataType

- */

-public class CopyProject extends Task {

-	

-	/**

-	 * The name of the source project.

-	 */

-	private String source = null;

-	

-	/**

-	 * The name of the project after it has been copied.

-	 */

-	private String destination = null;

-

-	/**

-	 * The force attribute.

-	 */

-	private boolean force;

-	// variable used to know if the user has actually set the "force" attribute

-	private boolean isForceSet = false;

-	

-	/**

-	 * The folder where the user wants to move the project.

-	 */

-	private IPath location = null;

-	// variable used to know if the user has specified "null" or not

-	private boolean isLocationSet = false;

-	

-	/**

-	 * The natures, if the user wants to modify them.

-	 */

-	private String[] natures = null;

-	

-	/**

-	 * The comment, if the user wants to modify it

-	 */

-	private String comment = null;

-	

-	/**

-	 * The projects that the project references, if the user wants to modify them

-	 */

-	private IProject[] referencedProjects = null;

-

-	/**

-	 * The builders and their arguments (commands), if the user wants to modify them

-	 */

-	private Vector commands;

-	

-

-/**

- * Constructs a new <code>CopyProject</code> instance.

- */

-public CopyProject() {

-	super();

-	commands = new Vector();

-}

-

-/**

- * Performs the project copy operation.

- * 

- * @exception BuildException thrown if a problem occurs during execution.

- */

-public void execute() throws BuildException {

-	

-	validateAttributes();

-	

-	IProject newProject = ResourcesPlugin.getWorkspace().getRoot().getProject(source);

-	

-	try {

-		if (!newProject.exists()) 

-			throw new BuildException(Policy.bind("exception.projectDoesntExist", source));

-			

-		IProject temp = ResourcesPlugin.getWorkspace().getRoot().getProject(destination);

-		if (temp.exists())

-			throw new BuildException(Policy.bind("exception.nameAlreadyUsed", destination));

-			

-		if (!newProject.isOpen())

-			newProject.open(null);

-		

-		IProjectDescription desc = newProject.getDescription();

-		desc.setName(destination);

-		setLocationToDescription(newProject, desc);

-		

-		if (natures != null)

-			desc.setNatureIds(natures);

-		if (comment != null)

-			desc.setComment(comment);

-		if (referencedProjects != null)

-			desc.setReferencedProjects(referencedProjects);

-		if (!commands.isEmpty())

-			desc.setBuildSpec(createCommands(desc));

-			

-		newProject.copy(desc, force, null);

-		

-	} catch (CoreException e) {

-		throw new BuildException(e);

-	}

-}

-

-protected void setLocationToDescription(IProject newProject, IProjectDescription desc) {

-	if (isLocationSet) {

-		// the user wants to change the location.

-		// location can be null if the user set the attribute to "null" in order to copy the folder in the default workspace directory

-		if (location!= null && !ResourcesPlugin.getWorkspace().validateProjectLocation(newProject, location).isOK())

-			throw new BuildException(Policy.bind("exception.folderAlreadyUsedForAnotherProject"));

-	}

-	desc.setLocation(location);

-}

-

-protected ICommand[] createCommands(IProjectDescription description) {

-	ICommand[] commandArray = new ICommand[commands.size()];

-	int index = 0;

-	for (Iterator i = commands.iterator(); i.hasNext();) {

-		CommandDataType b = (CommandDataType) i.next();

-		commandArray[index] = description.newCommand();

-		// needs the project of this target to be able to get the name and the arguments

-		commandArray[index].setBuilderName(b.getName(project));

-		commandArray[index].setArguments(b.getArguments(project));

-		index++;

-	}

-	return commandArray;

-}

-

-/**

- * Sets the name of the source project that the user wants to copy.

- * 

- * @param the name of the project		

- */

-public void setSource(String value) {

-	source = value;

-}

-

-/**

- * Sets the new name for the project.

- * 

- * @param the new name	

- */

-public void setDestination(String value) {

-	destination = value;

-}

-

-/**

- * Sets the force attribute.

- * 

- * @param true/false		

- */

-public void setForce(boolean value) {

-	force = value;

-	isForceSet = true;

-}

-

-/**

- * Sets the directory where the project will be copied. The parameter is a String

- * and not a File because the user can specify "null" if he wants to refer to the

- * default workspace directory.

- * 

- * @param the name of the folder or "null" for the default workspace directory

- */

-public void setLocation(String value) {

-	isLocationSet = true;

-	if (value.equals("null"))

-		// we leave the location as it currently is (i.e. null)

-		return;

-	location = new Path(value);

-	if (!location.isAbsolute()) {

-		// the location can be relative if the user used a period in the path

-		org.eclipse.core.runtime.Path defaultPath = new org.eclipse.core.runtime.Path(project.getBaseDir().toString());

-		location = defaultPath.append(location);

-	}

-}

-

-/**

- * Sets the natures for the project. They are given as a list of nature identifers

- * separated by a coma.

- * 

- * @param the natures specified by the user

- */

-public void setNatures(String value) {

-	StringTokenizer tokenizer = new StringTokenizer(value, ",");

-	Vector vect = new Vector(1);

-	while (tokenizer.hasMoreTokens())

-		vect.add(((String)tokenizer.nextToken()).trim());

-	natures = new String[vect.size()];

-	vect.toArray(natures);

-}

-

-/**

- * Sets the comment for the project.

- * 

- * @param the comment

- */

-public void setComment(String value) {

-	comment = value;

-}

-

-/**

- * Sets the projects that the project references. They are given as a list of project names

- * separated by a coma.

- * 

- * @param the natures specified by the user

- */

-public void setReferencedProjects(String value) {

-	StringTokenizer tokenizer = new StringTokenizer(value, ",");

-	Vector vect = new Vector(1);

-	while (tokenizer.hasMoreTokens()) {

-		IProject currentProject = ResourcesPlugin.getWorkspace().getRoot().getProject(((String) tokenizer.nextToken()).trim());

-		if (currentProject.exists())

-			vect.add(currentProject);

-		else

-			throw new BuildException(Policy.bind("exception.unknownProject", currentProject.getName()));

-	}

-		

-	referencedProjects = new IProject[vect.size()];

-	vect.toArray(referencedProjects);

-}

-

-/**

- * Adds a CommandDataType object to the set of commands specified for this project.

- * 

- * @param the command

- */

-public void addCommand(CommandDataType command) {

-	commands.add(command);

-}

-

-/**

- * Performs a validation of the receiver.

- * 

- * @exception BuildException thrown if a problem occurs during validation.

- */

-protected void validateAttributes() throws BuildException {

-	if (source == null) 

-		throw new BuildException(Policy.bind("exception.sourceNotSpecified"));

-

-	if (destination == null) 

-		throw new BuildException(Policy.bind("exception.destinationNotSpecified"));

-

-	if (location!= null && !location.isValidPath(location.toOSString()))

-		throw new BuildException(Policy.bind("exception.invalidPath", location.toOSString()));

-	

-	if (!isForceSet)

-		throw new BuildException(Policy.bind("exception.forceNotSpecified"));

-}

-

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CreateProject.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CreateProject.java
deleted file mode 100644
index 089d5b9..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/CreateProject.java
+++ /dev/null
@@ -1,220 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.resources.*;

-import org.eclipse.core.runtime.*;

-import java.io.File;

-import java.util.*;

-import org.apache.tools.ant.*;

-

-/**

- * An Ant task which creates an Eclipse project.

- * <p>

- * The name of the project to create must be specified.<br>

- * The directory where the project is located on the file system, the comment, the nature(s)

- * and the referenced projects are optional. If the directory is not specified, the project will be

- * located in the default workspace folder.<br>

- * It is also possible to define commands with nested elements.

- * <p><p>

- * Example:<p>

- *	&lt;eclipse.createProject name="My Project" location="D:\MyWork\FirstProject" 

- *  natures="org.eclipse.jdt.core.javanature"/&gt;

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- * </p>

- * @see IProject#create

- * @see CommandDataType

- */

-public class CreateProject extends Task {

-	

-	/**

-	 * The name of the project.

-	 */

-	private String name = null;

-	

-	/**

-	 * The location of the project.

-	 */

-	private IPath location = null;

-	

-	/**

-	 * The nature of the project.

-	 */

-	private String[] natures = null;

-	

-	/**

-	 * The comment for this project

-	 */

-	private String comment = null;

-	

-	/**

-	 * The projects that the project references

-	 */

-	private IProject[] referencedProjects = null;

-

-	/**

-	 * The builders and their arguments (commands)

-	 */

-	private Vector commands;

-

-

-/**

- * Constructs a new <code>CreateProject</code> instance.

- */

-public CreateProject() {

-	super();

-	commands = new Vector();

-}

-

-/**

- * Performs the project creation operation.

- * 

- * @exception BuildException thrown if a problem occurs during execution.

- */

-public void execute() throws BuildException {

-	

-	validateAttributes();

-	

-	IProject newProject = ResourcesPlugin.getWorkspace().getRoot().getProject(name);

-	

-	try {

-		if (newProject.exists())

-			throw new BuildException(Policy.bind("exception.nameAlreadyUsed", name));

-			

-		IProjectDescription description = ResourcesPlugin.getWorkspace().newProjectDescription(project.getName());

-		description.setName(name);

-		description.setLocation(location);

-		if (comment != null)

-			description.setComment(comment);

-		if (referencedProjects != null)

-			description.setReferencedProjects(referencedProjects);

-		if (!commands.isEmpty())

-			description.setBuildSpec(createCommands(description));

-		

-		newProject.create(description, null);

-		newProject.open(null);

-		

-		if (natures!=null) {

-			// should be able to do that while creating the project, but it doesn't seem to work until the project is opened.

-			// see Project#checkAccessible while JavaNature tries to configure the project.

-			IProjectDescription desc = newProject.getDescription();

-			description.setNatureIds(natures);

-			newProject.setDescription(desc, null);

-		}

-		

-	} catch (CoreException e) {

-		if (newProject.exists())

-			try {

-				newProject.delete(true, true, null);

-			} catch (CoreException ce) {

-			}

-		throw new BuildException(e);

-	}

-}

-

-protected ICommand[] createCommands(IProjectDescription description) {

-	ICommand[] commandArray = new ICommand[commands.size()];

-	int index = 0;

-	for (Iterator i = commands.iterator(); i.hasNext();) {

-		CommandDataType b = (CommandDataType) i.next();

-		commandArray[index] = description.newCommand();

-		// needs the project of this target to be able to get the name and the arguments

-		commandArray[index].setBuilderName(b.getName(project));

-		commandArray[index].setArguments(b.getArguments(project));

-		index++;

-	}

-	return commandArray;

-}

-

-/**

- * Sets the name of the project that the user wants to create.

- * 

- * @param the name of the project		

- */

-public void setName(String value) {

-	name = value;

-}

-

-/**

- * Sets the folder where the project should be created.

- * 

- * @param the file corresponding to the folder specified by the user

- */

-public void setLocation(File value) {

-	 location = new Path(value.toString());

-}

-

-/**

- * Sets the natures for the project. They are given as a list of nature identifers

- * separated by a coma.

- * 

- * @param the natures specified by the user

- */

-public void setNatures(String value) {

-	StringTokenizer tokenizer = new StringTokenizer(value, ",");

-	Vector vect = new Vector(1);

-	while (tokenizer.hasMoreTokens())

-		vect.add(((String)tokenizer.nextToken()).trim());

-	natures = new String[vect.size()];

-	vect.toArray(natures);

-}

-

-/**

- * Sets the comment for the project.

- * 

- * @param the comment

- */

-public void setComment(String value) {

-	comment = value;

-}

-

-/**

- * Sets the projects that the project references. They are given as a list of project names

- * separated by a coma.

- * 

- * @param the natures specified by the user

- */

-public void setReferencedProjects(String value) {

-	StringTokenizer tokenizer = new StringTokenizer(value, ",");

-	Vector vect = new Vector(1);

-	IWorkspaceRoot root =  ResourcesPlugin.getWorkspace().getRoot();

-	while (tokenizer.hasMoreTokens()) {

-		IProject currentProject = root.getProject(((String) tokenizer.nextToken()).trim());

-		vect.add(currentProject);

-	}

-		

-	referencedProjects = new IProject[vect.size()];

-	vect.toArray(referencedProjects);

-}

-

-/**

- * Adds a CommandDataType object to the set of commands specified for this project.

- * 

- * @param the command

- */

-public void addCommand(CommandDataType command) {

-	commands.add(command);

-}

-

-/**

- * Performs a validation of the receiver.

- * 

- * @exception BuildException thrown if a problem occurs during validation.

- */

-protected void validateAttributes() throws BuildException {

-	if (name == null) 

-		throw new BuildException(Policy.bind("exception.nameNotSpecified"));

-	

-	if (location!=null && !location.isValidPath(location.toOSString()))

-		throw new BuildException(Policy.bind("exception.invalidPath", location.toOSString()));

-}

-

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/DeleteProject.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/DeleteProject.java
deleted file mode 100644
index 8d87cdc..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/DeleteProject.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.resources.*;

-import org.eclipse.core.runtime.*;

-import org.apache.tools.ant.*;

-

-/**

- * An Ant task which deletes an existing Eclipse project.

- * <p>

- * The name of the project to delete, as well as the force and 

- * the deleteContent attributes, must be specified.

- * <p><p>

- * Example:<p>

- *	&lt;eclipse.deleteProject name="My Project" force="true" deleteContent="true"/&gt;

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- * </p>

- * @see IProject#delete

- */

-public class DeleteProject extends Task {

-	

-	/**

-	 * The name of the project.

-	 */

-	private String name = null;

-	

-	/**

-	 * The force attribute for the deletion.

-	 */

-	private boolean force;

-	// isForceSet is used to know if the user has actually set this attribute

-	private boolean isForceSet = false;

-	

-	/**

-	 * The deleteContent attribute for the deletion.

-	 */

-	private boolean deleteContent;

-	// same as for Force

-	private boolean isDeleteContentSet = false;

-	

-

-/**

- * Constructs a new <code>DeleteProject</code> instance.

- */

-public DeleteProject() {

-	super();

-}

-

-/**

- * Performs the project deletion operation.

- * 

- * @exception BuildException thrown if a problem occurs during execution.

- */

-public void execute() throws BuildException {

-	

-	validateAttributes();

-	

-	IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(name);

-	

-	try {

-		if (!project.exists())

-			throw new BuildException(Policy.bind("exception.projectDoesntExist", name));

-			

-		if (!project.isOpen())

-			project.open(null);

-		

-		project.delete(deleteContent, force, null);

-			

-	} catch (CoreException e) {

-		throw new BuildException(e);

-	}

-}

-

-/**

- * Sets the name of the project that the user wants to delete.

- * 

- * @param the name of the project		

- */

-public void setName(String value) {

-	name = value;

-}

-

-/**

- * Sets the force attribute.

- * 

- * @param true/false		

- */

-public void setForce(boolean value) {

-	force = value;

-	isForceSet = true;

-}

-

-/**

- * Sets the deleteContent attribute.

- * 

- * @param true/false		

- */

-public void setDeleteContent(boolean value) {

-	deleteContent = value;

-	isDeleteContentSet = true;

-}

-

-/**

- * Performs a validation of the receiver.

- * 

- * @exception BuildException thrown if a problem occurs during validation.

- */

-protected void validateAttributes() throws BuildException {

-	if (name == null) 

-		throw new BuildException(Policy.bind("exception.nameNotSpecified"));

-		

-	if (!isForceSet)

-		throw new BuildException(Policy.bind("exception.forceNotSpecified"));

-		

-	if (!isDeleteContentSet)

-		throw new BuildException(Policy.bind("exception.deleteContentNotSpecified"));

-}

-

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseAnt.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseAnt.java
deleted file mode 100644
index abc4694..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseAnt.java
+++ /dev/null
@@ -1,346 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/*

- * The Apache Software License, Version 1.1

- *

- * Copyright (c) 1999 The Apache Software Foundation.  All rights

- * reserved.

- *

- * Redistribution and use in source and binary forms, with or without

- * modification, are permitted provided that the following conditions

- * are met:

- *

- * 1. Redistributions of source code must retain the above copyright

- *    notice, this list of conditions and the following disclaimer.

- *

- * 2. Redistributions in binary form must reproduce the above copyright

- *    notice, this list of conditions and the following disclaimer in

- *    the documentation and/or other materials provided with the

- *    distribution.

- *

- * 3. The end-user documentation included with the redistribution, if

- *    any, must include the following acknowlegement:

- *       "This product includes software developed by the

- *        Apache Software Foundation (http://www.apache.org/)."

- *    Alternately, this acknowlegement may appear in the software itself,

- *    if and wherever such third-party acknowlegements normally appear.

- *

- * 4. The names "The Jakarta Project", "Ant", and "Apache Software

- *    Foundation" must not be used to endorse or promote products derived

- *    from this software without prior written permission. For written

- *    permission, please contact apache@apache.org.

- *

- * 5. Products derived from this software may not be called "Apache"

- *    nor may "Apache" appear in their names without prior written

- *    permission of the Apache Group.

- *

- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED

- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR

- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF

- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND

- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,

- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT

- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

- * SUCH DAMAGE.

- * ====================================================================

- *

- * This software consists of voluntary contributions made by many

- * individuals on behalf of the Apache Software Foundation.  For more

- * information on the Apache Software Foundation, please see

- * <http://www.apache.org/>.

- */

-

-import org.apache.tools.ant.*;

-import org.apache.tools.ant.taskdefs.Property;

-import org.apache.tools.ant.taskdefs.Ant;

-import org.apache.tools.ant.util.FileUtils;

-import java.io.*;

-import java.util.*;

-

-/**

- * Call Ant in a sub-project.

- * This is a bulk copy of the original Ant task.  Unfortunately the original

- * created a new Project in which to run Ant.  This prevents people from

- * providing their own kind of Project and having that propogate into

- * the subprojects.

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- * </p>

- */

-public class EclipseAnt extends Ant {

-

-    /** the basedir where is executed the build file */

-    private File dir = null;

-    

-    /** the build.xml file (can be absolute) in this case dir will be ignored */

-    private String antFile = null;

-    

-    /** the target to call if any */

-    private String target = null;

-    

-    /** the output */

-    private String output = null;

-    

-    /** should we inherit properties from the parent ? */

-    private boolean inheritAll = true;

-    

-    /** the properties to pass to the new project */

-    private Vector properties = new Vector();

-    

-    /** the temporary project created to run the build file */

-    private Project newProject;

-

-	private final static String DEFAULT_ANTFILE = "build.xml";

-

-/**

- * Creates and returns a new <code>Property</code> for the receiver's

- * target project.

- * 

- * @return the new property

- */

-public Property createProperty() {

-    if (newProject == null) {

-        reinit();

-    }

-    Property p=(Property)newProject.createTask("property");

-    p.setUserProperty(true);

-    properties.addElement( p );

-    return p;

-}

-

-/**

- * Performs the execution.

- * 

- * @exception BuildException thrown if an execution problem occurs

- */

-public void execute() throws BuildException {

-    try {

-        if (newProject == null) {

-            reinit();

-        }

-    

-        if (dir == null) {

-            dir = project.getBaseDir();

-        }

-

-        initializeProject();

-

-        newProject.setBaseDir(dir);

-        newProject.setUserProperty("basedir" , dir.getAbsolutePath());

-        

-        // Override with local-defined properties

-        Enumeration e = properties.elements();

-        while (e.hasMoreElements()) {

-            Property p=(Property) e.nextElement();

-            p.execute();

-        }

-        

-        if (antFile == null){

-            antFile = DEFAULT_ANTFILE;

-        }

-

-        File file = FileUtils.newFileUtils().resolveFile(dir, antFile);

-        antFile = file.getAbsolutePath();

-

-        newProject.setUserProperty( "ant.file" , antFile );

-        ProjectHelper.configureProject(newProject, new File(antFile));

-        

-        if (target == null) {

-            target = newProject.getDefaultTarget();

-        }

-

-        // Are we trying to call the target in which we are defined?

-        if (newProject.getBaseDir().equals(project.getBaseDir()) &&

-            newProject.getProperty("ant.file").equals(project.getProperty("ant.file")) &&

-            getOwningTarget() != null &&

-            target.equals(this.getOwningTarget().getName())) { 

-

-            throw new BuildException(Policy.bind("exception.antTaskCallingParentTarget"));

-        }

-

-        newProject.executeTarget(target);

-    } finally {

-        // help the gc

-        newProject = null;

-    }

-}

-

-/**

- * Initializes the receiver.

- */

-public void init() {

-	// This method used to create a Project, not an EclipseProject.

-	// It has been changed so that it is possible to use Eclipse Ant tasks (such as eclipse.refreshLocal)

-	// in Ant scripts called by through an "ant" task. Indeed, only an EclipseProject knows how to find them.

-	// We need to check that it doesn't introduce new bugs.

-	newProject = new EclipseProject();

-	newProject.setJavaVersionProperty();

-	newProject.addTaskDefinition("property", 

-                         (Class)project.getTaskDefinitions().get("property"));

-}

-

-/**

- * Initializes the target project.

- */

-private void initializeProject() {

-    Vector listeners = project.getBuildListeners();

-    for (int i = 0; i < listeners.size(); i++) {

-        newProject.addBuildListener((BuildListener)listeners.elementAt(i));

-    }

-

-    if (output != null) {

-        try {

-            PrintStream out = new PrintStream(new FileOutputStream(output));

-            DefaultLogger logger = new DefaultLogger();

-            logger.setMessageOutputLevel(Project.MSG_INFO);

-            logger.setOutputPrintStream(out);

-            logger.setErrorPrintStream(out);

-            newProject.addBuildListener(logger);

-        }

-        catch( IOException ex ) {

-            log(Policy.bind("exception.cannotSetOutput",output));

-        }

-    }

-

-    Hashtable taskdefs = project.getTaskDefinitions();

-    Enumeration et = taskdefs.keys();

-    while (et.hasMoreElements()) {

-        String taskName = (String) et.nextElement();

-        Class taskClass = (Class) taskdefs.get(taskName);

-        newProject.addTaskDefinition(taskName, taskClass);

-    }

-

-    Hashtable typedefs = project.getDataTypeDefinitions();

-    Enumeration e = typedefs.keys();

-    while (e.hasMoreElements()) {

-        String typeName = (String) e.nextElement();

-        Class typeClass = (Class) typedefs.get(typeName);

-        newProject.addDataTypeDefinition(typeName, typeClass);

-    }

-

-    // set user-defined or all properties from calling project

-    Hashtable prop1;

-    if (inheritAll == true) {

-       prop1 = project.getProperties();

-    }

-    else {

-       prop1 = project.getUserProperties();

-

-       // set Java built-in properties separately,

-       // b/c we won't inherit them.

-       newProject.setSystemProperties();

-    }

-    

-    e = prop1.keys();

-    while (e.hasMoreElements()) {

-        String arg = (String) e.nextElement();

-        String value = (String) prop1.get(arg);

-        if (inheritAll == true){

-           newProject.setProperty(arg, value);

-        } else {

-           newProject.setUserProperty(arg, value);

-        }

-    }

-}

-

-/**

- * Reinitializes the receiver.

- */

-private void reinit() {

-    init();

-    for (int i=0; i<properties.size(); i++) {

-        Property p = (Property) properties.elementAt(i);

-        Property newP = (Property) newProject.createTask("property");

-        newP.setName(p.getName());

-        if (p.getValue() != null) {

-            newP.setValue(p.getValue());

-        }

-        if (p.getFile() != null) {

-            newP.setFile(p.getFile());

-        } 

-        if (p.getResource() != null) {

-            newP.setResource(p.getResource());

-        }

-        properties.setElementAt(newP, i);

-    }

-}

-

-/**

- * set the build file, it can be either absolute or relative.

- * If it is absolute, <tt>dir</tt> will be ignored, if it is

- * relative it will be resolved relative to <tt>dir</tt>.

- * 

- * @param s the <b>Ant</b> file location

- */

-public void setAntfile(String s) {

-    // @note: it is a string and not a file to handle relative/absolute

-    // otherwise a relative file will be resolved based on the current

-    // basedir.

-    this.antFile = s;

-}

-

-/**

- * Sets the receiver's target directory.

- * 

- * @param s the target directory

- */

-public void setDir(File d) {

-	this.dir = d;

-}

-

-/**

- * Sets the receiver's output destination.

- * 

- * @param s the output destination

- */

-public void setOutput(String s) {

-	this.output = s;

-}

-

-/**

- * set the target to execute. If none is defined it will

- * execute the default target of the build file

- * 

- * @param s the <b>Ant</b> target to execute

- */

-public void setTarget(String s) {

-	this.target = s;

-}

-protected void handleErrorOutput(String line) {

-    if (newProject != null) {

-        newProject.demuxOutput(line, true);

-    }

-    else {

-        super.handleErrorOutput(line);

-    }

-}

-protected void handleOutput(String line) {

-    if (newProject != null) {

-        newProject.demuxOutput(line, false);

-    }

-    else {

-        super.handleOutput(line);

-    }

-}

-/**

- * If true, inherit all properties from parent Project

- * If false, inherit only userProperties and those defined

- * inside the ant call itself

- */

-public void setInheritAll(boolean value) {

-   inheritAll = value;

-}

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseCompilerAdapterFactory.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseCompilerAdapterFactory.java
deleted file mode 100644
index bef6722..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseCompilerAdapterFactory.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.runtime.IConfigurationElement;

-

-import org.apache.tools.ant.*;

-import org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory;

-import org.apache.tools.ant.taskdefs.compilers.CompilerAdapter;

-import java.util.Map;

-

-/**

- * Static helper functionality for finding the correct compiler adapter to use for the current

- * Javac task.  This class logically wrappers the standard Ant 

- * <code>CompilerAdapterFactory</code>.  It changes the behavior to use the

- * Ant plug-ins object class registry to find the compiler adapter class.  This is needed

- * because of the platform's class loading strategy (otherwise the Ant plug-in would likely not

- * be able to see the other classes).

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- * </p>

- */

-

-public class EclipseCompilerAdapterFactory {

-

-private EclipseCompilerAdapterFactory() {

-}

-/**

- * Returns the <code>CompilerAdapter</code> to use given a compiler type and task.

- * 

- * @return the compiler adapter to use

- * @param compilerType the type of compiler

- * @param task the task

- * @exception BuildException thrown if a problem occurs while returning the adapter

- */

-public static CompilerAdapter getCompiler(String compilerType, Task task) throws BuildException {

-	try {

-		return CompilerAdapterFactory.getCompiler(compilerType, task);

-	} catch (BuildException be) {

-		if (AntPlugin.getPlugin() == null)

-			throw be;

-		Map objects = AntPlugin.getPlugin().getObjectExtensions();

-		if (objects == null)

-			throw be;

-		IConfigurationElement declaration = (IConfigurationElement) objects.get(compilerType);

-		if (declaration == null)

-			throw be;

-		String className = declaration.getAttribute(AntPlugin.CLASS);

-		try {

-			Class clazz = declaration.getDeclaringExtension().getDeclaringPluginDescriptor().getPluginClassLoader().loadClass(className);

-			return (CompilerAdapter) clazz.newInstance();

-		} catch (ClassNotFoundException e) {

-			throw new BuildException(Policy.bind("exception.classNotFound",className), e);

-		} catch (ClassCastException e) {

-			throw new BuildException(Policy.bind("exception.classNotCompiler",className), e);

-		} catch (Exception e) {

-			throw new BuildException(Policy.bind("exception.creationProblem",className), e);

-		}

-	}

-}

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseCopy.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseCopy.java
deleted file mode 100644
index 0990d25..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseCopy.java
+++ /dev/null
@@ -1,413 +0,0 @@
-package org.eclipse.ant.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/*

- * The Apache Software License, Version 1.1

- *

- * Copyright (c) 1999 The Apache Software Foundation.  All rights

- * reserved.

- *

- * Redistribution and use in source and binary forms, with or without

- * modification, are permitted provided that the following conditions

- * are met:

- *

- * 1. Redistributions of source code must retain the above copyright

- *    notice, this list of conditions and the following disclaimer.

- *

- * 2. Redistributions in binary form must reproduce the above copyright

- *    notice, this list of conditions and the following disclaimer in

- *    the documentation and/or other materials provided with the

- *    distribution.

- *

- * 3. The end-user documentation included with the redistribution, if

- *    any, must include the following acknowlegement:

- *       "This product includes software developed by the

- *        Apache Software Foundation (http://www.apache.org/)."

- *    Alternately, this acknowlegement may appear in the software itself,

- *    if and wherever such third-party acknowlegements normally appear.

- *

- * 4. The names "The Jakarta Project", "Ant", and "Apache Software

- *    Foundation" must not be used to endorse or promote products derived

- *    from this software without prior written permission. For written

- *    permission, please contact apache@apache.org.

- *

- * 5. Products derived from this software may not be called "Apache"

- *    nor may "Apache" appear in their names without prior written

- *    permission of the Apache Group.

- *

- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED

- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR

- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF

- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND

- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,

- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT

- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

- * SUCH DAMAGE.

- * ====================================================================

- *

- * This software consists of voluntary contributions made by many

- * individuals on behalf of the Apache Software Foundation.  For more

- * information on the Apache Software Foundation, please see

- * <http://www.apache.org/>.

- */

-

-import org.apache.tools.ant.*;

-import org.apache.tools.ant.taskdefs.Copy;

-import org.apache.tools.ant.types.*;

-import org.apache.tools.ant.util.*;

-

-import java.io.*;

-import java.util.*;

-/**

- * Ant task which replaces the standard Ant Copy task.  This version of the task

- * is necessary in order to copy permissions of files as well.

- * <p>

- * This task can be used as a direct replacement for the original Copy task

- * </p>

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- * </p>

- */

-public class EclipseCopy extends Copy {

-    protected File file = null;     // the source file 

-    protected File destFile = null; // the destination file 

-    protected File destDir = null;  // the destination directory

-    protected Vector filesets = new Vector();

-

-    protected boolean filtering = false;

-    protected boolean preserveLastModified = false;

-    protected boolean forceOverwrite = false;

-    protected boolean flatten = false;

-    protected int verbosity = Project.MSG_VERBOSE;

-    protected boolean includeEmpty = true;

-

-    protected Hashtable fileCopyMap = new Hashtable();

-    protected Hashtable dirCopyMap = new Hashtable();

-

-    protected Mapper mapperElement = null;

-    private Vector filterSets = new Vector();

-    private FileUtils fileUtils;

-    

-    public EclipseCopy() {

-    	super();

-        fileUtils = new EclipseFileUtils();

-    }

-

-    protected FileUtils getFileUtils() {return fileUtils;}

-

-    /**

-     * Sets a single source file to copy.

-     */

-    public void setFile(File file) {

-        this.file = file;

-    }

-

-    /**

-     * Sets the destination file.

-     */

-    public void setTofile(File destFile) {

-        this.destFile = destFile;

-    }

-

-    /**

-     * Sets the destination directory.

-     */

-    public void setTodir(File destDir) {

-        this.destDir = destDir;

-    }

-

-    /**

-     * Create a nested filterset

-     */

-    public FilterSet createFilterSet() {

-        FilterSet filterSet = new FilterSet();

-        filterSets.addElement(filterSet);

-        return filterSet;

-    }

-    

-    /**

-     * Give the copied files the same last modified time as the original files.

-     */

-    public void setPreserveLastModified(String preserve) {

-        preserveLastModified = Project.toBoolean(preserve);

-    }

-

-    /**

-     * Get the filtersets being applied to this operation.

-     *

-     * @return a vector of FilterSet objects

-     */

-    protected Vector getFilterSets() {

-        return filterSets;

-    }

-    

-    /**

-     * Sets filtering.

-     */

-    public void setFiltering(boolean filtering) {

-        this.filtering = filtering;

-    }

-

-    /**

-     * Overwrite any existing destination file(s).

-     */

-    public void setOverwrite(boolean overwrite) {

-        this.forceOverwrite = overwrite;

-    }

-

-    /**

-     * When copying directory trees, the files can be "flattened"

-     * into a single directory.  If there are multiple files with

-     * the same name in the source directory tree, only the first

-     * file will be copied into the "flattened" directory, unless

-     * the forceoverwrite attribute is true.

-     */

-    public void setFlatten(boolean flatten) {

-        this.flatten = flatten;

-    }

-

-    /**

-     * Used to force listing of all names of copied files.

-     */

-    public void setVerbose(boolean verbose) {

-        if (verbose) {

-            this.verbosity = Project.MSG_INFO;

-        } else {

-            this.verbosity = Project.MSG_VERBOSE;

-        } 

-    } 

-

-    /**

-     * Used to copy empty directories.

-     */

-    public void setIncludeEmptyDirs(boolean includeEmpty) {

-        this.includeEmpty = includeEmpty;

-    }

-

-    /**

-     * Adds a set of files (nested fileset attribute).

-     */

-    public void addFileset(FileSet set) {

-        filesets.addElement(set);

-    }

-

-    /**

-     * Defines the FileNameMapper to use (nested mapper element).

-     */

-    public Mapper createMapper() throws BuildException {

-        if (mapperElement != null) {

-            throw new BuildException("Cannot define more than one mapper",

-                                     location);

-        }

-        mapperElement = new Mapper(project);

-        return mapperElement;

-    }

-

-    /**

-     * Performs the copy operation.

-     */

-    public void execute() throws BuildException {

-        // make sure we don't have an illegal set of options

-        validateAttributes();   

-

-        // deal with the single file

-        if (file != null) {

-            if (file.exists()) {

-                if (destFile == null) {

-                    destFile = new File(destDir, file.getName());

-                }

-                

-                if (forceOverwrite || 

-                    (file.lastModified() > destFile.lastModified())) {

-                    fileCopyMap.put(file.getAbsolutePath(), destFile.getAbsolutePath());

-                } else {

-                    log(file + " omitted as " + destFile + " is up to date.",

-                        Project.MSG_VERBOSE);

-                }

-            } else {

-                String message = "Could not find file " 

-                                 + file.getAbsolutePath() + " to copy.";

-                log(message);

-                throw new BuildException(message);

-            }

-        }

-

-        // deal with the filesets

-        for (int i=0; i<filesets.size(); i++) {

-            FileSet fs = (FileSet) filesets.elementAt(i);

-            DirectoryScanner ds = fs.getDirectoryScanner(project);

-            File fromDir = fs.getDir(project);

-

-            String[] srcFiles = ds.getIncludedFiles();

-            String[] srcDirs = ds.getIncludedDirectories();

-

-            scan(fromDir, destDir, srcFiles, srcDirs);

-        }

-

-        // do all the copy operations now...

-        doFileOperations();

-

-        // clean up destDir again - so this instance can be used a second

-        // time without throwing an exception

-        if (destFile != null) {

-            destDir = null;

-        }

-    }

-

-//************************************************************************

-//  protected and private methods

-//************************************************************************

-

-    /**

-     * Ensure we have a consistent and legal set of attributes, and set

-     * any internal flags necessary based on different combinations 

-     * of attributes.

-     */

-    protected void validateAttributes() throws BuildException {

-        if (file == null && filesets.size() == 0) {

-            throw new BuildException("Specify at least one source - a file or a fileset.");

-        }

-

-        if (destFile != null && destDir != null) {

-            throw new BuildException("Only one of destfile and destdir may be set.");

-        }

-

-        if (destFile == null && destDir == null) {

-            throw new BuildException("One of destfile or destdir must be set.");

-        }

-

-        if (file != null && file.exists() && file.isDirectory()) {

-            throw new BuildException("Use a fileset to copy directories.");

-        }

-           

-        if (destFile != null && filesets.size() > 0) {

-            throw new BuildException("Cannot concatenate multple files into a single file.");

-        }

-

-        if (destFile != null) {

-            destDir = new File(destFile.getParent());   // be 1.1 friendly

-        }

-

-    }

-

-    /**

-     * Compares source files to destination files to see if they should be

-     * copied.

-     */

-    protected void scan(File fromDir, File toDir, String[] files, String[] dirs) {

-        FileNameMapper mapper = null;

-        if (mapperElement != null) {

-            mapper = mapperElement.getImplementation();

-        } else if (flatten) {

-            mapper = new FlatFileNameMapper();

-        } else {

-            mapper = new IdentityMapper();

-        }

-

-        buildMap(fromDir, toDir, files, mapper, fileCopyMap);

-

-        if (includeEmpty) {

-            buildMap(fromDir, toDir, dirs, mapper, dirCopyMap);

-        }

-    }

-

-    protected void buildMap(File fromDir, File toDir, String[] names,

-                            FileNameMapper mapper, Hashtable map) {

-

-        String[] toCopy = null;

-        if (forceOverwrite) {

-            Vector v = new Vector();

-            for (int i=0; i<names.length; i++) {

-                if (mapper.mapFileName(names[i]) != null) {

-                    v.addElement(names[i]);

-                }

-            }

-            toCopy = new String[v.size()];

-            v.copyInto(toCopy);

-        } else {

-            SourceFileScanner ds = new SourceFileScanner(this);

-            toCopy = ds.restrict(names, fromDir, toDir, mapper);

-        }

-        

-        for (int i = 0; i < toCopy.length; i++) {

-            File src = new File(fromDir, toCopy[i]);

-            File dest = new File(toDir, mapper.mapFileName(toCopy[i])[0]);

-            map.put( src.getAbsolutePath(), dest.getAbsolutePath() );

-        }

-    }

-

-    /**

-     * Actually does the file (and possibly empty directory) copies.

-     * This is a good method for subclasses to override.

-     */

-    protected void doFileOperations() {

-        if (fileCopyMap.size() > 0) {

-            log("Copying " + fileCopyMap.size() + 

-                " file" + (fileCopyMap.size() == 1 ? "" : "s") + 

-                " to " + destDir.getAbsolutePath() );

-

-            Enumeration e = fileCopyMap.keys();

-            while (e.hasMoreElements()) {

-                String fromFile = (String) e.nextElement();

-                String toFile = (String) fileCopyMap.get(fromFile);

-

-                if( fromFile.equals( toFile ) ) {

-                    log("Skipping self-copy of " + fromFile, verbosity);

-                    continue;

-                }

-

-                try {

-                    log("Copying " + fromFile + " to " + toFile, verbosity);

-                    

-                    FilterSetCollection executionFilters = new FilterSetCollection();

-                    if (filtering) {

-                        executionFilters.addFilterSet(project.getGlobalFilterSet());

-                    }

-                    for (Enumeration filterEnum = filterSets.elements(); filterEnum.hasMoreElements();) {

-                        executionFilters.addFilterSet((FilterSet)filterEnum.nextElement());

-                    }

-                    fileUtils.copyFile(fromFile, toFile, executionFilters,

-                                       forceOverwrite, preserveLastModified);

-                } catch (IOException ioe) {

-                    String msg = "Failed to copy " + fromFile + " to " + toFile

-                        + " due to " + ioe.getMessage();

-                    throw new BuildException(msg, ioe, location);

-                }

-            }

-        }

-

-        if (includeEmpty) {

-            Enumeration e = dirCopyMap.elements();

-            int count = 0;

-            while (e.hasMoreElements()) {

-                File d = new File((String)e.nextElement());

-                if (!d.exists()) {

-                    if (!d.mkdirs()) {

-                        log("Unable to create directory " + d.getAbsolutePath(), Project.MSG_ERR);

-                    } else {

-                        count++;

-                    }

-                }

-            }

-

-            if (count > 0) {

-                log("Copied " + count + 

-                    " empty director" + 

-                    (count==1?"y":"ies") + 

-                    " to " + destDir.getAbsolutePath());

-            }

-        }

-    }

-

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseFileUtils.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseFileUtils.java
deleted file mode 100644
index 48d73c0..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseFileUtils.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.eclipse.ant.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-import java.io.File;

-import java.io.IOException;

-import java.io.UnsupportedEncodingException;

-

-import org.apache.tools.ant.types.FilterSetCollection;

-import org.apache.tools.ant.util.FileUtils;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.core.runtime.Status;

-/**

- * Subclasses FileUtiles from Ant to extend its

- * funtionalities.

- */

-public class EclipseFileUtils extends FileUtils {

-

-	/** Indicates the default string encoding on this platform */

-	private static String defaultEncoding = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(new byte[0])).getEncoding();

-

-	/** instance of this library */

-	private static final String LIBRARY_NAME = "core_2_0_5";

-	private static boolean hasNatives = false;

-	

-	static {

-		try {

-			System.loadLibrary(LIBRARY_NAME);

-			hasNatives = true;

-		} catch (UnsatisfiedLinkError e) {

-			logMissingNativeLibrary(e);

-		}

-	}

-	

-public void copyFile(File sourceFile, File destFile, FilterSetCollection filters, boolean overwrite, boolean preserveLastModified) throws IOException {

-	super.copyFile(sourceFile, destFile, filters, overwrite, preserveLastModified);

-	if (hasNatives)

-		internalCopyAttributes(toPlatformBytes(sourceFile.getAbsolutePath()), toPlatformBytes(destFile.getAbsolutePath()), preserveLastModified);

-}

-/**

- * Copies file attributes from source to destination. The copyLastModified attribute

- * indicates whether the lastModified attribute should be copied.

- */

-protected static boolean copyAttributes(String source, String destination, boolean copyLastModified) {

-	if (hasNatives)

-		return internalCopyAttributes(toPlatformBytes(source), toPlatformBytes(destination), false);

-	return false; // not supported

-}

-/**

- * Copies file attributes from source to destination. The copyLastModified attribute

- * indicates whether the lastModified attribute should be copied.

- */

-private static final native boolean internalCopyAttributes(byte[] source, byte[] destination, boolean copyLastModified);

-

-private static void logMissingNativeLibrary(UnsatisfiedLinkError e) {

-	String libName = System.mapLibraryName(LIBRARY_NAME);

-	String message = Policy.bind("info.couldNotLoadLibrary", libName);

-	IStatus status = new Status(IStatus.INFO, AntPlugin.PI_ANT, IStatus.INFO, message, e);

-	AntPlugin.getPlugin().getLog().log(status);

-}

-/**

- * Calling String.getBytes() creates a new encoding object and other garbage.

- * This can be avoided by calling String.getBytes(String encoding) instead.

- */

-protected static byte[] toPlatformBytes(String target) {

-	if (defaultEncoding == null)

-		return target.getBytes();

-	// try to use the default encoding

-	try {

-		return target.getBytes(defaultEncoding);

-	} catch (UnsupportedEncodingException e) {

-		// null the default encoding so we don't try it again

-		defaultEncoding = null;

-		return target.getBytes();

-	}

-}

-}
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseJavac.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseJavac.java
deleted file mode 100644
index 0b3f29a..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseJavac.java
+++ /dev/null
@@ -1,153 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/*

- * The Apache Software License, Version 1.1

- *

- * Copyright (c) 1999 The Apache Software Foundation.  All rights

- * reserved.

- *

- * Redistribution and use in source and binary forms, with or without

- * modification, are permitted provided that the following conditions

- * are met:

- *

- * 1. Redistributions of source code must retain the above copyright

- *    notice, this list of conditions and the following disclaimer.

- *

- * 2. Redistributions in binary form must reproduce the above copyright

- *    notice, this list of conditions and the following disclaimer in

- *    the documentation and/or other materials provided with the

- *    distribution.

- *

- * 3. The end-user documentation included with the redistribution, if

- *    any, must include the following acknowlegement:

- *       "This product includes software developed by the

- *        Apache Software Foundation (http://www.apache.org/)."

- *    Alternately, this acknowlegement may appear in the software itself,

- *    if and wherever such third-party acknowlegements normally appear.

- *

- * 4. The names "The Jakarta Project", "Ant", and "Apache Software

- *    Foundation" must not be used to endorse or promote products derived

- *    from this software without prior written permission. For written

- *    permission, please contact apache@apache.org.

- *

- * 5. Products derived from this software may not be called "Apache"

- *    nor may "Apache" appear in their names without prior written

- *    permission of the Apache Group.

- *

- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED

- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR

- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF

- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND

- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,

- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT

- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

- * SUCH DAMAGE.

- * ====================================================================

- *

- * This software consists of voluntary contributions made by many

- * individuals on behalf of the Apache Software Foundation.  For more

- * information on the Apache Software Foundation, please see

- * <http://www.apache.org/>.

- */

-

-import org.apache.tools.ant.taskdefs.Javac;

-import org.apache.tools.ant.BuildException;

-import org.apache.tools.ant.types.Path;

-import java.io.File;

-import org.apache.tools.ant.DirectoryScanner;

-import org.apache.tools.ant.Project;

-import org.apache.tools.ant.taskdefs.compilers.CompilerAdapter;

-

-/**

- * Ant task which replaces the standard Ant Javac task.  This version of the task

- * uses a special compiler adapter factory which in turn uses the Ant plug-in's

- * object class registry to find the class to use for compiler adapters.  This is required

- * because of the platform's classloading strategy.

- * <p>

- * This task can be used as a direct replacement for the original Javac task

- * </p>

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- * </p>

- */

-

-public class EclipseJavac extends Javac {

-	

-/**

- * Executes the task.

- * 

- * @exception BuildException thrown if a problem occurs during execution

- */

-public void execute() throws BuildException {

-	// first off, make sure that we've got a srcdir

-

-	Path src = getSrcdir();

-	if (src == null)

-		throw new BuildException(Policy.bind("exception.missingSrcAttribute"), location);

-	String[] list = src.list();

-	if (list.length == 0)

-		throw new BuildException(Policy.bind("exception.missingSrcAttribute"), location);

-

-	File destDir = getDestdir();

-	if (destDir != null && !destDir.isDirectory())

-		throw new BuildException(Policy.bind("exception.missingDestinationDir",destDir.toString()), location);

-

-	// scan source directories and dest directory to build up 

-	// compile lists

-	resetFileLists();

-	for (int i = 0; i < list.length; i++) {

-		File srcDir = (File) project.resolveFile(list[i]);

-		if (!srcDir.exists()) {

-			throw new BuildException(Policy.bind("exception.missingSourceDir",srcDir.getPath()), location);

-		}

-

-		DirectoryScanner ds = this.getDirectoryScanner(srcDir);

-

-		String[] files = ds.getIncludedFiles();

-

-		scanDir(srcDir, destDir != null ? destDir : srcDir, files);

-	}

-

-	// compile the source files

-

-	String compiler = project.getProperty("build.compiler");

-	if (compiler == null) {

-		if (Project.getJavaVersion().startsWith("1.3")) {

-			compiler = "modern";

-		} else {

-			compiler = "classic";

-		}

-	}

-

-	if (compileList.length > 0) {

-

-		CompilerAdapter adapter = EclipseCompilerAdapterFactory.getCompiler(compiler, this);

-		log(Policy.bind("info.compiling"));

-

-		// now we need to populate the compiler adapter

-		adapter.setJavac(this);

-

-		// finally, lets execute the compiler!!

-		if (!adapter.execute()) {

-			if (failOnError) {

-				throw new BuildException(Policy.bind("error.compileFailed"), location);

-			} else {

-				log(Policy.bind("error.compileFailed"), Project.MSG_ERR);

-			}

-		}

-	}

-}

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseProject.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseProject.java
deleted file mode 100644
index 5143345..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/EclipseProject.java
+++ /dev/null
@@ -1,288 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/*

- * The Apache Software License, Version 1.1

- *

- * Copyright (c) 1999 The Apache Software Foundation.  All rights

- * reserved.

- *

- * Redistribution and use in source and binary forms, with or without

- * modification, are permitted provided that the following conditions

- * are met:

- *

- * 1. Redistributions of source code must retain the above copyright

- *    notice, this list of conditions and the following disclaimer.

- *

- * 2. Redistributions in binary form must reproduce the above copyright

- *    notice, this list of conditions and the following disclaimer in

- *    the documentation and/or other materials provided with the

- *    distribution.

- *

- * 3. The end-user documentation included with the redistribution, if

- *    any, must include the following acknowlegement:

- *       "This product includes software developed by the

- *        Apache Software Foundation (http://www.apache.org/)."

- *    Alternately, this acknowlegement may appear in the software itself,

- *    if and wherever such third-party acknowlegements normally appear.

- *

- * 4. The names "The Jakarta Project", "Ant", and "Apache Software

- *    Foundation" must not be used to endorse or promote products derived

- *    from this software without prior written permission. For written

- *    permission, please contact apache@apache.org.

- *

- * 5. Products derived from this software may not be called "Apache"

- *    nor may "Apache" appear in their names without prior written

- *    permission of the Apache Group.

- *

- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED

- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES

- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR

- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF

- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND

- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,

- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT

- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

- * SUCH DAMAGE.

- * ====================================================================

- *

- * This software consists of voluntary contributions made by many

- * individuals on behalf of the Apache Software Foundation.  For more

- * information on the Apache Software Foundation, please see

- * <http://www.apache.org/>.

- */

-

-import org.eclipse.core.resources.*;

-import org.eclipse.core.runtime.*;

-import org.apache.tools.ant.*;

-import java.io.*;

-import java.io.File;

-import java.io.IOException;

-import java.util.*;

-

-/**

- * An Ant project adapted to running inside the Eclipse Platform.  Because of the class

- * loading structure of the Eclipse platform, the standard techniques for creating instances 

- * of tasks and datatypes needs to be adapted.

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- * </p>

- */

-

-public class EclipseProject extends Project {

-/**

- * Creates a new project for use in running Ant inside the Eclipse Platform.

- */

-public EclipseProject() {

-	super();

-}

-/**

- * Creates and returns a new instance of the identified data type.

- * 

- * @return the new data type instance

- * @param typeName the name of the type to create

- * @exception BuildException thrown if a problem occurs during data type creation

- */

-public Object createDataType(String typeName) throws BuildException {

-	// First look in the types defined in the plugin extension points. If not

-	// found, do the super behaviour.

-	// check to see if the ant plugin is available.  If we are running from

-	// the command line (i.e., no platform) it will not be.

-	if (AntPlugin.getPlugin() == null)

-		return internalCreateDataType(typeName);

-	Map types = AntPlugin.getPlugin().getTypeExtensions();

-	if (types == null)

-		return internalCreateDataType(typeName);

-	IConfigurationElement declaration = (IConfigurationElement) types.get(typeName);

-	if (declaration == null)

-		return internalCreateDataType(typeName);

-	String className = declaration.getAttribute(AntPlugin.CLASS);

-	try {

-		Class typeClass = declaration.getDeclaringExtension().getDeclaringPluginDescriptor().getPluginClassLoader().loadClass(className);

-		addDataTypeDefinition(typeName, typeClass);

-	} catch (ClassNotFoundException e) {

-		return internalCreateDataType(typeName);

-	}

-	return internalCreateDataType(typeName);

-}

-/**

- * Creates and returns a new instance of the identified task.

- * 

- * @return the new task

- * @param taskName the name of the task to create

- * @exception BuildException thrown if a problem occurs during task creation

- */

-public Task createTask(String taskName) throws BuildException {

-	// First try to find if the task is defined in a plug-in. If not, call

-	// the super method.

-	// check to see if the ant plugin is available.  If we are running from

-	// the command line (i.e., no platform) it will not be.

-	if (AntPlugin.getPlugin() == null)

-		return super.createTask(taskName);

-	Map tasks = AntPlugin.getPlugin().getTaskExtensions();

-	if (tasks == null)

-		return super.createTask(taskName);

-	IConfigurationElement declaration = (IConfigurationElement) tasks.get(taskName);

-	if (declaration == null)

-		return super.createTask(taskName);

-	String className = declaration.getAttribute(AntPlugin.CLASS);

-	try {

-		Class taskClass = declaration.getDeclaringExtension().getDeclaringPluginDescriptor().getPluginClassLoader().loadClass(className);

-		addTaskDefinition(taskName, taskClass);

-	} catch (ClassNotFoundException e) {

-		return super.createTask(taskName);

-	}

-	return super.createTask(taskName);

-}

-/**

- * Sends a build finished notification to all registered listeners along with

- * the exception that caused the termination.

- * 

- * @param exception the exception to include with the notification

- */

-protected void fireBuildFinished(Throwable exception) {

-	super.fireBuildFinished(exception);

-}

-/**

- * Sends a build started notification to all registered listeners.

- */

-protected void fireBuildStarted() {

-	super.fireBuildStarted();

-}

-/**

- * Sends a target started notification to all the listeners when an execute target 

- * has just been started.

- */

-protected void fireExecuteTargetStarted(Target target) {

-    BuildEvent event = new BuildEvent(target);

-    Vector buildListeners = getBuildListeners();

-    for (int i = 0; i < buildListeners.size(); i++) {

-		if (buildListeners.elementAt(i) instanceof IAntRunnerListener) {

-			IAntRunnerListener listener = (IAntRunnerListener) buildListeners.elementAt(i);

-			listener.executeTargetStarted(event);

-		}

-	}

-}

-/**

- * Sends a target finished notification to all the listeners when an execute target

- * has just been finished.

- */

-protected void fireExecuteTargetFinished(Target target, Throwable exception) {

-    BuildEvent event = new BuildEvent(target);

-    event.setException(exception);

-    Vector buildListeners = getBuildListeners();

-    for (int i = 0; i < buildListeners.size(); i++) {

-		if (buildListeners.elementAt(i) instanceof IAntRunnerListener) {

-			IAntRunnerListener listener = (IAntRunnerListener) buildListeners.elementAt(i);

-			listener.executeTargetFinished(event);

-		}

-	}

-}

-/**

- * Initializes the receiver.

- * 

- * @exception BuildException thrown if a problem occurs during initialization.

- */

-public void init() throws BuildException {

-	super.init();

-	// add some additional tasks and datatypes.  Normally they would be found

-	// in the plugin.xml markup for the Ant Support plugin but if we are not running 

-	// the platform we need to add them here.  

-	addTaskDefinition("ant", EclipseAnt.class);

-	addTaskDefinition("javac", EclipseJavac.class);

-	addDataTypeDefinition("commapatternset", CommaPatternSet.class);

-	addDataTypeDefinition("command", CommandDataType.class);

-	System.setProperty("ant.regexp.matcherimpl", "org.eclipse.ant.core.XercesRegexpMatcher");

-	// initialize the datatype table with marker values so that the table contains

-	// the keys (needed while parsing) but don't load the classes to prevent plugin activation.

-	if (AntPlugin.getPlugin() == null)

-		return;

-	Map types = AntPlugin.getPlugin().getTypeExtensions();

-	if (types == null)

-		return;

-	for (Iterator i = types.keySet().iterator(); i.hasNext();) {

-		String typeName = (String)i.next();

-		if (getDataTypeDefinitions().get(typeName) == null)

-			addDataTypeDefinition(typeName, EclipseProject.class);

-	}

-}

-

-protected Object internalCreateDataType(String typeName) throws BuildException {

-    Class c = (Class) getDataTypeDefinitions().get(typeName);

-

-    if (c == null)

-        return null;

-

-    try {

-        java.lang.reflect.Constructor ctor = null;

-        boolean noArg = false;

-        // DataType can have a "no arg" constructor or take a single 

-        // Project argument.

-        try {

-            ctor = c.getConstructor(new Class[0]);

-            noArg = true;

-        } catch (NoSuchMethodException nse) {

-            ctor = c.getConstructor(new Class[] {Project.class});

-            noArg = false;

-        }

-

-        Object o = null;

-        if (noArg) {

-             o = ctor.newInstance(new Object[0]);

-        } else {

-             o = ctor.newInstance(new Object[] {this});

-        }

-        if (o instanceof ProjectComponent) {

-            ((ProjectComponent)o).setProject(this);

-        }

-        String msg = "   +DataType: " + typeName;

-        log (msg, MSG_DEBUG);

-        return o;

-    } catch (java.lang.reflect.InvocationTargetException ite) {

-        Throwable t = ite.getTargetException();

-        String msg = "Could not create datatype of type: "

-             + typeName + " due to " + t;

-        throw new BuildException(msg, t);

-    } catch (Throwable t) {

-        String msg = "Could not create datatype of type: "

-             + typeName + " due to " + t;

-        throw new BuildException(msg, t);

-    }

-}

-/**

- * Executes a target. Notification has been added: the build listener knows that a top level

- * target is being executed and when it is finished.

- * 

- * @see Project#executeTarget(String targetName)

- */

-public void executeTarget(String targetName) throws BuildException {

-	Target targetToExecute = (Target) getTargets().get(targetName);

-	if (targetToExecute == null)

-		// can happen if the user has specified a target name that is not valid

-		throw new BuildException(Policy.bind("exception.targetDoesNotExist", targetName));

-    try {

-        fireExecuteTargetStarted(targetToExecute);

-        super.executeTarget(targetName);

-        fireExecuteTargetFinished(targetToExecute, null);

-    } catch(RuntimeException exc) {

-        fireExecuteTargetFinished(targetToExecute, exc);

-        throw exc;

-    }

-}

-

-

-

-

-

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IAntRunnerListener.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IAntRunnerListener.java
deleted file mode 100644
index 4c064bc..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IAntRunnerListener.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IncrementalBuild.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IncrementalBuild.java
deleted file mode 100644
index 7060357..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/IncrementalBuild.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.resources.*;

-import org.eclipse.core.runtime.CoreException;

-import java.util.HashMap;

-import org.apache.tools.ant.BuildException;

-import org.apache.tools.ant.Task;

-

-/**

- * Ant task which runs the platform's incremental build facilities.

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- * </p>

- */

-

-public class IncrementalBuild extends Task {

-	private String builder;

-	private String project;

-	private int kind= IncrementalProjectBuilder.INCREMENTAL_BUILD;

-	private HashMap args= new HashMap(5);

-

-	/**

-	 * Unique identifier constant (value <code>"KIND_INCR"</code>)

-	 * indicating that an incremental build should be performed.

-	 */

-	public final static String KIND_INCR = "incr";

-	

-	/**

-	 * Unique identifier constant (value <code>"KIND_FULL"</code>)

-	 * indicating that a full build should be performed.

-	 */

-	public final static String KIND_FULL = "full";

-	

-	/**

-	 * Unique identifier constant (value <code>"KIND_AUTO"</code>)

-	 * indicating that an auto build should be performed.

-	 */

-	public final static String KIND_AUTO = "auto";

-	

-	/**

-	 * Inner class that represents a name-value pair.

-	 */

-	public class Argument {

-		private String name;

-

-		/**

-		 * Sets the name of this argument. 

-		 * @param name the name of this argument

-		 */

-		public void setName(String value) {

-			name= value;

-		}

-

-		/**

-		 * Sets the value of this argument. 

-		 * @param value the value of this argument

-		 */

-		public void setValue(String value) {

-			if (value == null)

-				args.remove(name);

-			else

-				args.put(name, value);

-		}

-	}

-

-/**

- * Constructs an <code>IncrementalBuild</code> instance.

- */

-public IncrementalBuild() {

-	super();

-}

-/**

- * Creates and returns a new <code>Argument</code>.

- * 

- * @return the new argument

- */

-public Argument createArgument() {

-	return new Argument();

-}

-/**

- * Executes this task.

- * 

- * @exception BuildException thrown if a problem occurs during execution

- */

-public void execute() throws BuildException {

-	try {

-		if (project == null) {

-			ResourcesPlugin.getWorkspace().build(kind, null);

-		} else {

-			IProject target= ResourcesPlugin.getWorkspace().getRoot().getProject(project);

-			if (builder == null)

-				target.build(kind, null);

-			else

-				target.build(kind, builder, args, null);

-		}

-	} catch (CoreException e) {

-		throw new BuildException(e);

-	}

-}

-/**

- * Sets the name of the receiver's builder.

- * 

- * @param value the name of the receiver's builder

- */

-public void setBuilder(String value) {

-	builder= value;

-}

-/**

- * Sets the receiver's kind> attribute.  This value must be one

- * of <code>IncrementalBuild.KIND_FULL</code>, <code>IncrementalBuild.KIND_AUTO</code>,

- * <code>IncrementalBuild.KIND_INCR</code>.

- * 

- * @param kind the receiver's kind attribute

- */

-public void setKind(String value) {

-	if (IncrementalBuild.KIND_FULL.equalsIgnoreCase(value))

-		kind= IncrementalProjectBuilder.FULL_BUILD;

-	else if (IncrementalBuild.KIND_AUTO.equalsIgnoreCase(value))

-		kind= IncrementalProjectBuilder.AUTO_BUILD;

-	else if (IncrementalBuild.KIND_INCR.equalsIgnoreCase(value))

-		kind= IncrementalProjectBuilder.INCREMENTAL_BUILD;

-}

-/**

- * Sets the receiver's target project.

- * 

- * @param value the receiver's target project

- */

-public void setProject(String value) {

-	project= value;

-}

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/MoveProject.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/MoveProject.java
deleted file mode 100644
index f5c4240..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/MoveProject.java
+++ /dev/null
@@ -1,276 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.util.*;

-import org.eclipse.core.resources.*;

-import org.eclipse.core.runtime.*;

-import org.apache.tools.ant.*;

-

-/**

- * An Ant task which moves an existing Eclipse project.

- * <p>

- * The name of the project to move (source), its new name (destination) and the "force" attribute 

- * must be specified.<br>

- * The directory where the project is located on the file system, the comment, the nature(s)

- * and the referenced projects are optional. If the directory is not specified, the project 

- * will just be renamed after the new name. The user can specify "null" for the location if he wants

- * the project to be moved in the default workspace directory.<br>

- * It is also possible to define commands with nested elements.

- * <p><p>

- * Example:<p>

- *	&lt;eclipse.moveProject source="Foo" destination="Bar" location="D:\MyWork\My Project"/&gt;

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- * </p>

- * @see IProject#move

- */

-public class MoveProject extends Task {

-	

-	/**

-	 * The name of the source project.

-	 */

-	private String source = null;

-	

-	/**

-	 * The name of the project after it has been moved.

-	 */

-	private String destination = null;

-	

-	/**

-	 * The force attribute.

-	 */

-	private boolean force;

-	// variable used to know if the user has actually set the "force" attribute

-	private boolean isForceSet = false;

-

-	/**

-	 * The folder where the user wants to move the project.

-	 */

-	private IPath location = null;

-	// variable used to know if the user has specified "null" or not

-	private boolean isLocationSet = false;

-	

-	/**

-	 * The natures, if the user wants to modify them.

-	 */

-	private String[] natures = null;

-	

-	/**

-	 * The comment, if the user wants to modify it

-	 */

-	private String comment = null;

-	

-	/**

-	 * The projects that the project references, if the user wants to modify them

-	 */

-	private IProject[] referencedProjects = null;

-

-	/**

-	 * The builders and their arguments (commands), if the user wants to modify them

-	 */

-	private Vector commands;

-	

-

-/**

- * Constructs a new <code>MoveProject</code> instance.

- */

-public MoveProject() {

-	super();

-	commands = new Vector();

-}

-

-/**

- * Performs the project move operation.

- * 

- * @exception BuildException thrown if a problem occurs during execution.

- */

-public void execute() throws BuildException {

-	

-	validateAttributes();

-	

-	IProject newProject = ResourcesPlugin.getWorkspace().getRoot().getProject(source);

-	

-	try {

-		if (!newProject.exists()) 

-			throw new BuildException(Policy.bind("exception.projectDoesntExist", source));

-			

-		IProject temp = ResourcesPlugin.getWorkspace().getRoot().getProject(destination);

-		if (temp.exists())

-			throw new BuildException(Policy.bind("exception.nameAlreadyUsed", destination));		

-			

-		if (!newProject.isOpen())

-			newProject.open(null);

-		

-		IProjectDescription desc = newProject.getDescription();

-		desc.setName(destination);

-		setLocationToDescription(newProject, desc);

-

-		if (natures != null)

-			desc.setNatureIds(natures);

-		if (comment != null)

-			desc.setComment(comment);

-		if (referencedProjects != null)

-			desc.setReferencedProjects(referencedProjects);

-		if (!commands.isEmpty())

-			desc.setBuildSpec(createCommands(desc));

-			

-		newProject.move(desc, force, null);

-		

-	} catch (CoreException e) {

-		throw new BuildException(e);

-	}

-}

-

-protected void setLocationToDescription(IProject newProject, IProjectDescription desc) {

-	if (isLocationSet && location!= null && !ResourcesPlugin.getWorkspace().validateProjectLocation(newProject, location).isOK())

-		// the user wants to change the location.

-		// location can be null if the user set the attribute to "null" in order to copy the folder in the default workspace directory

-		throw new BuildException(Policy.bind("exception.folderAlreadyUsedForAnotherProject"));

-

-	desc.setLocation(location);			

-}

-

-protected ICommand[] createCommands(IProjectDescription description) {

-	ICommand[] commandArray = new ICommand[commands.size()];

-	int index = 0;

-	for (Iterator i = commands.iterator(); i.hasNext();) {

-		CommandDataType b = (CommandDataType) i.next();

-		commandArray[index] = description.newCommand();

-		// needs the project of this target to be able to get the name and the arguments

-		commandArray[index].setBuilderName(b.getName(project));

-		commandArray[index].setArguments(b.getArguments(project));

-		index++;

-	}

-	return commandArray;

-}

-

-/**

- * Sets the name of the project that the user wants to move.

- * 

- * @param the name of the project		

- */

-public void setSource(String value) {

-	source = value;

-}

-

-/**

- * Sets the new name for the project.

- * 

- * @param the new name	

- */

-public void setDestination(String value) {

-	destination = value;

-}

-

-/**

- * Sets the directory where the project will be moved. The parameter is a String

- * and not a File because the user can specify "null" if he wants to refer to the

- * default workspace directory.

- * 

- * @param the name of the folder or "null" for the default workspace directory

- */

-public void setLocation(String value) {

-	isLocationSet = true;

-	if (value.equals("null"))

-		// we leave the location as it currently is (i.e. null)

-		return;

-	location = new Path(value);

-	if (!location.isAbsolute()) {

-		// the location can be relative if the user used a period in the path

-		org.eclipse.core.runtime.Path defaultPath = new org.eclipse.core.runtime.Path(project.getBaseDir().toString());

-		location = defaultPath.append(location);

-	}

-}

-

-/**

- * Sets the force attribute.

- * 

- * @param true/false		

- */

-public void setForce(boolean value) {

-	force = value;

-	isForceSet = true;

-}

-

-/**

- * Sets the natures for the project. They are given as a list of nature identifers

- * separated by a coma.

- * 

- * @param the natures specified by the user

- */

-public void setNatures(String value) {

-	StringTokenizer tokenizer = new StringTokenizer(value, ",");

-	Vector vect = new Vector(1);

-	while (tokenizer.hasMoreTokens())

-		vect.add(((String)tokenizer.nextToken()).trim());

-	natures = new String[vect.size()];

-	vect.toArray(natures);

-}

-

-/**

- * Sets the comment for the project.

- * 

- * @param the comment

- */

-public void setComment(String value) {

-	comment = value;

-}

-

-/**

- * Sets the projects that the project references. They are given as a list of project names

- * separated by a coma.

- * 

- * @param the natures specified by the user

- */

-public void setReferencedProjects(String value) {

-	StringTokenizer tokenizer = new StringTokenizer(value, ",");

-	Vector vect = new Vector(1);

-	while (tokenizer.hasMoreTokens()) {

-		IProject currentProject = ResourcesPlugin.getWorkspace().getRoot().getProject(((String) tokenizer.nextToken()).trim());

-		if (currentProject.exists())

-			vect.add(currentProject);

-		else

-			throw new BuildException(Policy.bind("exception.unknownProject", currentProject.getName()));

-	}

-		

-	referencedProjects = new IProject[vect.size()];

-	vect.toArray(referencedProjects);

-}

-

-/**

- * Adds a CommandDataType object to the set of commands specified for this project.

- * 

- * @param the command

- */

-public void addCommand(CommandDataType command) {

-	commands.add(command);

-}

-

-/**

- * Performs a validation of the receiver.

- * 

- * @exception BuildException thrown if a problem occurs during validation.

- */

-protected void validateAttributes() throws BuildException {

-	if (source == null) 

-		throw new BuildException(Policy.bind("exception.sourceNotSpecified"));

-

-	if (destination == null) 

-		throw new BuildException(Policy.bind("exception.destinationNotSpecified"));

-		

-	if (location!= null && !location.isValidPath(location.toOSString()))

-		throw new BuildException(Policy.bind("exception.invalidPath", location.toOSString()));

-	

-	if (!isForceSet)

-		throw new BuildException(Policy.bind("exception.forceNotSpecified"));

-}

-

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Policy.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Policy.java
deleted file mode 100644
index 44f46e1..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/Policy.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/RefreshLocal.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/RefreshLocal.java
deleted file mode 100644
index 8995f69..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/RefreshLocal.java
+++ /dev/null
@@ -1,142 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.resources.*;

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.Path;

-import java.util.Vector;

-import org.apache.tools.ant.*;

-import org.apache.tools.ant.types.PatternSet;

-

-/**

- * An Ant task which refreshes the Eclipse Platform's view of the local filesystem.

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- * </p>

- * @see IResource#refreshLocal

- */

-public class RefreshLocal extends Task {

-	/**

-	 * Unique identifier constant (value <code>"DEPTH_ZERO"</code>)

-	 * indicating that refreshes should be performed only on the target

-	 * resource itself

-	 */

-	public static final String DEPTH_ZERO = "zero";

-	

-	/**

-	 * Unique identifier constant (value <code>"DEPTH_ONE"</code>)

-	 * indicating that refreshes should be performed on the target

-	 * resource and its children

-	 */

-	public static final String DEPTH_ONE = "one";

-	

-	/**

-	 * Unique identifier constant (value <code>"DEPTH_INFINITE"</code>)

-	 * indicating that refreshes should be performed on the target

-	 * resource and all of its recursive children

-	 */

-	public static final String DEPTH_INFINITE = "infinite";

-	

-	/**

-	 * The resource to refresh.

-	 */

-	protected IResource resource;

-	

-	/**

-	 * The depth to refresh to.

-	 */

-	protected int depth = IResource.DEPTH_INFINITE;

-	

-	private IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();

-

-/**

- * Constructs a new <code>RefreshLocal</code> instance.

- */

-public RefreshLocal() {

-	super();

-}

-

-/**

- * Performs the refresh operation.

- * 

- * @exception BuildException thrown if a problem occurs during execution.

- */

-public void execute() throws BuildException {

-	// make sure we don't have an illegal set of options

-	validateAttributes();

-

-	// deal with the single resource

-	if (resource != null) {

-		if (!resource.exists())

-			throw new BuildException(Policy.bind("exception.resourceNotFound",resource.toString()));

-		try {

-			resource.refreshLocal(depth, null);

-			return;

-		} catch (CoreException e) {

-			throw new BuildException(e);

-		}

-	} else

-		throw new BuildException(Policy.bind("exception.resourceNotSpecified"));

-}

-/**

- * Refreshes a collection of resources.

- * 

- * @param resources the names of the resources to refresh

- * @exception BuildException thrown if a problem occurs during refresh

- */

-protected void refreshResources(String[] resources) throws BuildException {

-	for (int i = 0; i < resources.length; i++) {

-		IResource target = root.findMember(resources[i]);

-		if (target == null)

-			throw new BuildException(Policy.bind("exception.resourceNotFound",resources[i].toString()));

-		try {

-			target.refreshLocal(depth, null);

-		} catch (CoreException e) {

-			throw new BuildException(e);

-		}

-	}

-}

-

-/**

- * Sets the depth of this task appropriately.  The specified argument must

- * by one of <code>RefreshLocal.DEPTH_ZERO</code>, <code>RefreshLocal.DEPTH_ONE</code>

- * or <code>RefreshLocal.DEPTH_INFINITE</code>.

- * 

- * @param value the depth to refresh to		

- */

-public void setDepth(String value) {

-	if (DEPTH_ZERO.equalsIgnoreCase(value))

-		depth = IResource.DEPTH_ZERO;

-	else

-		if (DEPTH_ONE.equalsIgnoreCase(value))

-			depth = IResource.DEPTH_ONE;

-		else

-			if (DEPTH_INFINITE.equalsIgnoreCase(value))

-				depth = IResource.DEPTH_INFINITE;

-}

-

-/**

- * Sets the root of the workspace resource tree to refresh.

- * 

- * @param value the root value

- */

-public void setResource(String value) {

-	resource = ResourcesPlugin.getWorkspace().getRoot().findMember(new Path(value));

-}

-

-/**

- * Performs a validation of the receiver.

- * 

- * @exception BuildException thrown if a problem occurs during validation.

- */

-protected void validateAttributes() throws BuildException {

-}

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/XercesRegexpMatcher.java b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/XercesRegexpMatcher.java
deleted file mode 100644
index 4b670e3..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/XercesRegexpMatcher.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.ant.core;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.apache.tools.ant.util.regexp.RegexpMatcher;

-import org.apache.xerces.utils.regex.RegularExpression;

-import org.apache.xerces.utils.regex.Match;

-import java.util.Vector;

-import org.apache.tools.ant.BuildException;

-

-/**

- * An Ant regular expression matcher adapted to use the Xerces XML parser.

- * This implementation is the standard one used when running Ant inside the

- * Eclipse platform using the <code>AntRunner</code>.

- * <p>

- * <b>Note:</b> This class/interface is part of an interim API that is still under 

- * development and expected to change significantly before reaching stability. 

- * It is being made available at this early stage to solicit feedback from pioneering 

- * adopters on the understanding that any code that uses this API will almost 

- * certainly be broken (repeatedly) as the API evolves.

- * </p>

- */

-

-public class XercesRegexpMatcher implements RegexpMatcher {

-	private RegularExpression regexp;

-

-/**

- * Creates a new Xerces based regular expression matcher.

- */

-public XercesRegexpMatcher() {

-	super();

-}

-/**

- * Returns a collection of matched groups found in an argument.

- *

- * <p>Group 0 will be the full match, the rest are the

- * parenthesized subexpressions</p>.

- * 

- * @return the collection of matched groups found in the argument.

- * @param argument the argument

- */

-public Vector getGroups(String argument) {

-	Match match = new Match();

-	if (!regexp.matches(argument, match))

-		return null;

-	int count = match.getNumberOfGroups();

-	Vector result = new Vector(count);

-	for (int i = 0; i < count; i++) {

-		result.add(match.getCapturedText(i));

-	}

-	return result;

-}

-/**

- * Returns a string representation of the receiver

- * 

- * @return a string representation of the receiver

- */

-public String getPattern() {

-	return regexp.getPattern();

-}

-/**

- * Returns a <code>boolean</code> indicating whether an argument

- * matches with the receiver.

- * 

- * @return a <code>boolean</code> indicating whether an argument

- * matches with the receiver.

- * @param argument the argument to match with the receiver

- */

-public boolean matches(String argument) {

-	return regexp.matches(argument);

-}

-

-/**

- * Sets the receiver's pattern.

- * 

- * @param pattern the pattern value

- * @exception BuildException thrown if a problem occurs setting the pattern

- */

-public void setPattern(String pattern) throws BuildException {

-	if (regexp == null)

-		regexp = new RegularExpression(pattern);

-	else

-		regexp.setPattern(pattern);

-}

-}

diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/messages.properties b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/messages.properties
deleted file mode 100644
index 44c1e55..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/messages.properties
+++ /dev/null
@@ -1,90 +0,0 @@
-### Ant Core plugin message catalog

-

-### labels

-label.buildFile = Build file: {0}

-label.mainTargets = Main targets:

-label.subTargets = Subtargets:

-label.defaultTarget = Default target:

-

-### usage

-usage.options = options

-usage.target = target

-usage.Options = Options

-usage.printMessage = print this message

-usage.projectHelp = print project help information

-usage.versionInfo = print the version information and exit

-usage.beQuiet = be extra quiet

-usage.beVerbose = be extra verbose

-usage.printDebugInfo = print debugging information

-usage.emacsLog = produce logging information without adornments

-usage.useFile = use given file for log

-usage.logClass = the class which is to perform logging

-usage.listenerClass = add an instance of class as a project listener

-usage.fileToBuild = use given buildfile

-usage.propertiesValues = use value for given property

-usage.findFileToBuild = search for buildfile towards the root of the filesystem and use it

-usage.antVersion = Ant version 

-usage.compiledOn =  compiled on 

-

-

-

-### info

-info.compiling = Compiling source files

-info.searchingFor = Searching for: {0} ...

-info.searchingIn = Searching in: {0} ...

-info.couldNotLoadLibrary = Could not load library: {0}.

-

-### error

-error.compileFailed = Compile failed; messages should have been provided.

-error.buildFailed = Build Failed.

-

-### exception

-exception.antTaskCallingParentTarget = Ant task calling its own parent target.

-exception.buildFileIsDirectory = Build file is a directory: {0}

-exception.buildFileNotFound = Build file not found: {0}

-exception.cannotAppendToReference = Cannot append to a reference.

-exception.cannotCreateListener = Unable to instantiate listener: {0}

-exception.cannotCreateLogger = Unable to instantiate logger: {0}

-exception.cannotLoadVersionInfo = Could not load the version information. {0}

-exception.cannotSetOutput = Ant cannot set output to: {0}

-exception.cannotWriteToLog = Cannot write on the specified log file.  Make sure the path exists and you have write permissions.

-exception.classNotFound = Class not found: {0}

-exception.classNotCompiler = Class is not a compiler adapter: {0}

-exception.creationProblem = Exception creating: {0}

-exception.loggerDoesNotImplementInterface = The specified logger class does not implement the BuildLogger interface: {0}

-exception.missingBuildFile = You must specify a build file when using the -buildfile argument.

-exception.missingClassName = You must specify a class name when using the -listener argument.

-exception.missingDestinationDir = Destination directory does not exist or is not a directory: {0}

-exception.missingExcludesFile = Excludes file not found: {0}

-exception.missingIncludesFile = Includes file not found: {0}

-exception.missingLogFile = You must specify a log file when using the -log argument.

-exception.missingSrcAttribute = srcdir attribute must be set.

-exception.missingSourceDir = srcdir does not exist: {0}

-exception.multipleLoggers = Only one logger class may be specified.

-exception.noBuildFile = Could not locate a build file.

-exception.noParser = No JAXP compliant XML parser found. See http://java.sun.com/xml for the reference implementation.

-exception.notAPatternSet = Not a patternset: {0}

-exception.patternFile = An error occured while reading pattern file: {0}

-exception.resourceNotFound = Resource not found: {0}

-exception.unknownArgument = Unknown argument: {0}

-exception.sourceNotSpecified = The attribute "source" must be specified.

-exception.forceNotSpecified = The attribute "force" must be specified.

-exception.deleteContentNotSpecified = The attribute "deleteContent" must be specified.

-exception.projectDoesntExist = The project "{0}" does not exist.

-exception.nameAlreadyUsed = The name "{0}" is already used for another project.

-exception.destinationNotSpecified = The attribute destination must be specified.

-exception.invalidPath = Invalid path: {0}.

-exception.propertyAndPathIdNotSpecified = At least one of the "property" or "pathId" attributes must be specified.

-exception.cantUseBoth = "fileSystemPath" and "resourcePath" can't be used at the same time.

-exception.mustHaveOneAttribute = "fileSystemPath" or "resourcePath" must be specified.

-exception.pathNotValid = The path "{0}" for the resource is not a valid path as the first segment does not represent a project.

-exception.noProjectMatchThePath = The path "{0}" doesn't match any existing project.

-exception.unknownProject = The project "{0}" does not exist.

-exception.commandMustHaveName = The attribute "name" must be set for the command.

-exception.doesntDenoteACommand = {0} doesn't denote a command.

-exception.noAttributes = You must not specify any attribute when using refid.

-exception.noNestedElements = You must not define nested elements when using refid.

-exception.folderAlreadyUsedForAnotherProject = Project content location overlaps with an existing project's content location.

-exception.cantCopyProjectInSameFolder = You must specify a location for the project to copy because it is already located in a specific folder ("{0}").

-exception.resourceNotSpecified = The resource attribute must be specified with a valid existing resource name.

-exception.targetDoesNotExist = The target "{0}" does not exist.
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/package.html b/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/package.html
deleted file mode 100644
index d737de8..0000000
--- a/ant/org.eclipse.ant.core/src/org/eclipse/ant/core/package.html
+++ /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=windows-1252">

-   <title>Package-level Javadoc</title>

-</head>

-<body>

-Provides support for running the Ant build tool in the platform.

-<h2>

-Package Specification</h2>

-This package defines a number of task and data types and various infrastructure

-pieces which make Ant in the platform easier and more powerful.

-</body>

-</html>

diff --git a/ant/org.eclipse.ant.ui/.classpath b/ant/org.eclipse.ant.ui/.classpath
deleted file mode 100644
index b07cb74..0000000
--- a/ant/org.eclipse.ant.ui/.classpath
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>
-    <classpathentry kind="src" path="/org.eclipse.ant.core"/>
-    <classpathentry kind="src" path="src"/>
-    <classpathentry kind="src" path="/org.eclipse.swt"/>
-    <classpathentry kind="src" path="/org.eclipse.ui"/>
-    <classpathentry kind="src" path="/org.apache.ant"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/ant/org.eclipse.ant.ui/.cvsignore b/ant/org.eclipse.ant.ui/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/ant/org.eclipse.ant.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/.vcm_meta b/ant/org.eclipse.ant.ui/.vcm_meta
deleted file mode 100644
index b877ca5..0000000
--- a/ant/org.eclipse.ant.ui/.vcm_meta
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<project-description>

-	<nature id="org.eclipse.jdt.core.javanature"/>

-	<reference project-name="org.apache.ant"/>

-	<reference project-name="org.eclipse.ant.core"/>

-	<reference project-name="org.eclipse.core.boot"/>

-	<reference project-name="org.eclipse.core.resources"/>

-	<reference project-name="org.eclipse.core.runtime"/>

-	<reference project-name="org.eclipse.swt"/>

-	<reference project-name="org.eclipse.ui"/>

-	<builder name="org.eclipse.jdt.core.javabuilder">

-	</builder>

-</project-description>

diff --git a/ant/org.eclipse.ant.ui/about.html b/ant/org.eclipse.ant.ui/about.html
deleted file mode 100644
index 768324e..0000000
--- a/ant/org.eclipse.ant.ui/about.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<html>

-<head>

-<title>About</title>

-<style type="text/css">

-p, table, td, th { font-family: arial, helvetica, geneva; font-size: 10pt}

-pre { font-family: "Courier New", Courier, mono; font-size: 10pt}

-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}

-code { font-family: "Courier New", Courier, mono; font-size: 10pt}

-sup { font-family: arial,helvetica,geneva; font-size: 10px}

-h3 { font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}

-li { font-family: arial, helvetica, geneva; font-size: 10pt}

-h1 { font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}

-body { font-family: arial, helvetica, geneva; font-size: 10pt; clip: rect(   ); margin-top: 5mm; margin-left: 3mm}

-</style>

-</head>

-<body lang="EN-US" link="blue" vlink="purple">

-<table border="0" cellspacing="5" cellpadding="2" width="100%" >

-  <tr> 

-    <td align="LEFT" valign="TOP" colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF">About This Content</font></b></td>

-  </tr>

-  <tr> 

-    <td> 

-<p>11th December, 2001</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

-<a href="http://www.eclipse.org/legal/cpl-v05.html">Common Public License Version 0.5</a> &quot;CPL&quot;.  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>

-</td></tr></table>

-</body>

-</html>
\ No newline at end of file
diff --git a/ant/org.eclipse.ant.ui/build.properties b/ant/org.eclipse.ant.ui/build.properties
deleted file mode 100644
index 4b8a87b..0000000
--- a/ant/org.eclipse.ant.ui/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-source.antui.jar=src/

-bin.includes=icons/,plugin.xml,*.jar,plugin.properties,about.html

-javadoc.packages=org.eclipse.*

diff --git a/ant/org.eclipse.ant.ui/icons/basic/clcl16/clear.gif b/ant/org.eclipse.ant.ui/icons/basic/clcl16/clear.gif
deleted file mode 100644
index 2558326..0000000
--- a/ant/org.eclipse.ant.ui/icons/basic/clcl16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/basic/clcl16/hideOrShowTree.gif b/ant/org.eclipse.ant.ui/icons/basic/clcl16/hideOrShowTree.gif
deleted file mode 100644
index 5a8c7ea..0000000
--- a/ant/org.eclipse.ant.ui/icons/basic/clcl16/hideOrShowTree.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/basic/clcl16/showOnlySelectedText.gif b/ant/org.eclipse.ant.ui/icons/basic/clcl16/showOnlySelectedText.gif
deleted file mode 100644
index be9eb92..0000000
--- a/ant/org.eclipse.ant.ui/icons/basic/clcl16/showOnlySelectedText.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/basic/cview16/ant_view.gif b/ant/org.eclipse.ant.ui/icons/basic/cview16/ant_view.gif
deleted file mode 100644
index 0165a50..0000000
--- a/ant/org.eclipse.ant.ui/icons/basic/cview16/ant_view.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/basic/eview16/ant_view.gif b/ant/org.eclipse.ant.ui/icons/basic/eview16/ant_view.gif
deleted file mode 100644
index 76be436..0000000
--- a/ant/org.eclipse.ant.ui/icons/basic/eview16/ant_view.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/basic/wizban/ant_wiz.gif b/ant/org.eclipse.ant.ui/icons/basic/wizban/ant_wiz.gif
deleted file mode 100644
index c4aaf15..0000000
--- a/ant/org.eclipse.ant.ui/icons/basic/wizban/ant_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/clcl16/clear.gif b/ant/org.eclipse.ant.ui/icons/full/clcl16/clear.gif
deleted file mode 100644
index 2558326..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/clcl16/clear.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/clcl16/hideOrShowTree.gif b/ant/org.eclipse.ant.ui/icons/full/clcl16/hideOrShowTree.gif
deleted file mode 100644
index 5a8c7ea..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/clcl16/hideOrShowTree.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/clcl16/showOnlySelectedText.gif b/ant/org.eclipse.ant.ui/icons/full/clcl16/showOnlySelectedText.gif
deleted file mode 100644
index be9eb92..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/clcl16/showOnlySelectedText.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/cview16/ant_view.gif b/ant/org.eclipse.ant.ui/icons/full/cview16/ant_view.gif
deleted file mode 100644
index 03e30a2..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/cview16/ant_view.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/eview16/ant_view.gif b/ant/org.eclipse.ant.ui/icons/full/eview16/ant_view.gif
deleted file mode 100644
index eba5891..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/eview16/ant_view.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/eview16/build_exec.gif b/ant/org.eclipse.ant.ui/icons/full/eview16/build_exec.gif
deleted file mode 100644
index 20e7bae..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/eview16/build_exec.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/icons/full/wizban/ant_wiz.gif b/ant/org.eclipse.ant.ui/icons/full/wizban/ant_wiz.gif
deleted file mode 100644
index 42754e5..0000000
--- a/ant/org.eclipse.ant.ui/icons/full/wizban/ant_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/plugin.properties b/ant/org.eclipse.ant.ui/plugin.properties
deleted file mode 100644
index 249f8bf..0000000
--- a/ant/org.eclipse.ant.ui/plugin.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-antActionSetLabel = Ant

-antBuilderPropertyName=Tool Script Builders

-antConsole = Ant Console

-antConsolePreferences = Console

-antLauncher = Ant Targets

-antPreferences = Ant Preferences

-executeAntLabel = Run Ant Script

-executeAntTooltip =  Run Ant script

-executeToolScriptLabel = Run Tool &Script...

-pluginName = Ant Build Tool UI

-runAnt = Run &Ant...

-runAntTip = Run Ant with the selected build file

diff --git a/ant/org.eclipse.ant.ui/plugin.xml b/ant/org.eclipse.ant.ui/plugin.xml
deleted file mode 100644
index ceb49e4..0000000
--- a/ant/org.eclipse.ant.ui/plugin.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<plugin

-  name = "%pluginName"

-  id="org.eclipse.ant.ui"

-  version = "2.0.2"

-  provider-name = "Object Technology International, Inc."

-  class="org.eclipse.ant.internal.ui.AntUIPlugin">

-

-  <requires>

-    <import plugin="org.eclipse.ui"/>

-    <import plugin="org.eclipse.core.resources"/>

-    <import plugin="org.eclipse.ant.core"/>

-  </requires>

-

-  <runtime>

-    <library name="antui.jar">  

-      <export name = "*"/>

-    </library> 

-  </runtime>

-

-  <extension point="org.eclipse.ui.popupMenus">

-	<objectContribution

-		id="org.eclipse.ant.ui.RunAnt"

-		objectClass="org.eclipse.core.resources.IResource"

-		nameFilter="*.xml">

-		<action

-			id="RunAnt"

-			label="%runAnt"

-			tooltip="%runAntTip"

-			menubarPath="additions"

-			enablesFor="1"

-			class="org.eclipse.ant.internal.ui.RunAntActionDelegate">

-		</action>

-	</objectContribution>			

-  </extension>

-  

-  <extension point="org.eclipse.ui.views">

-	<category 

-		id="org.eclipse.ant.ui"

-		name="&amp;Ant">

-	</category>

-	<view

-		id="org.eclipse.ant.ui.antconsole"

-		name="%antConsole"

-		icon="icons/full/cview16/ant_view.gif"

-		category="org.eclipse.ant.ui"

-		class="org.eclipse.ant.internal.ui.AntConsole">

-	</view>

-  </extension>

-  

-  <extension point="org.eclipse.ui.preferencePages">

-  	<page 

-  		id="org.eclipse.ant.ui.AntPreferences" 

-  		name="%antPreferences"

-  		class="org.eclipse.ant.internal.ui.AntPreferencesPage">

-  	</page>

-  	<page 

-  		id="org.eclipse.ant.ui.AntConsolePreferences" 

-  		name="%antConsolePreferences"

-  		class="org.eclipse.ant.internal.ui.AntConsolePreferencePage"

-  		category="org.eclipse.ant.ui.AntPreferences">

-  	</page>

-  </extension>

-  

-  <extension point="org.eclipse.ui.actionSets">

-	<actionSet label="%antActionSetLabel" 

-		visible="false" 

-		id="org.eclipse.ant.ui.antActionSet">

-	  	<action label="%executeAntLabel" 

-	  		pulldown="true" 

-	  		icon="icons/full/eview16/ant_view.gif" 

-	  		tooltip="%executeAntTooltip" 

-	  		class="org.eclipse.ant.internal.ui.AntLaunchDropDownAction" 

-	  		toolbarPath="ant" 

-	  		id="org.eclipse.ant.ui.antDropDownAction" /> 

-	</actionSet>

-  </extension>

-  

-</plugin>

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntAction.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntAction.java
deleted file mode 100644
index 6f25b52..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntAction.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.io.File;

-

-import org.apache.tools.ant.ProjectHelper;

-import org.eclipse.ant.core.EclipseProject;

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.runtime.*;

-import org.eclipse.jface.action.Action;

-import org.eclipse.jface.dialogs.ErrorDialog;

-import org.eclipse.jface.wizard.WizardDialog;

-import org.eclipse.ui.*;

-

-public class AntAction extends Action {

-	

-	private IFile file;

-	

-public AntAction(IFile file) {

-	super();

-	this.file = file;

-	if (file != null) {

-		setText(file.getName());

-		setToolTipText(file.getFullPath().toOSString());

-	}

-	else

-		setText(Policy.bind("launcher.noFile"));

-}

-

-public void run() {

-	if (file == null)

-		return;

-	

-	// save the modified files if required by the user

-	if (AntUIPlugin.getPlugin().getPreferenceStore().getBoolean(IAntPreferenceConstants.AUTO_SAVE)) {

-		IEditorPart[] editors = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditors();

-		for (int i=0; i<editors.length; i++) {

-			if (editors[i].isDirty()) {

-				editors[i].getSite().getPage().saveEditor(editors[i],false);

-			}

-		}

-	}

-	

-	EclipseProject project = extractProject(file);

-	if (project == null)

-		return;

-		

-	AntLaunchWizard wizard = new AntLaunchWizard(project,file);

-	wizard.setNeedsProgressMonitor(true);

-	WizardDialog dialog = new WizardDialog(AntUIPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow().getShell(),wizard);

-	dialog.create();

-	dialog.open();

-}

-

-protected EclipseProject extractProject(IFile sourceFile) {

-	// create a project and initialize it

-	EclipseProject antProject = new EclipseProject();

-	antProject.init();

-	antProject.setProperty("ant.file",sourceFile.getLocation().toOSString());

-	

-	try {

-		ProjectHelper.configureProject(antProject,new File(sourceFile.getLocation().toOSString()));

-	} catch (Exception e) {

-		// If the document is not well-formated for example

-		String message = e.getMessage();

-		if (message == null)

-			message = Policy.bind("error.antParsingError");

-		IStatus status = new Status(IStatus.ERROR,AntUIPlugin.PI_ANTUI,IStatus.ERROR,message,e);

-		ErrorDialog.openError(

-			AntUIPlugin.getPlugin().getWorkbench().getActiveWorkbenchWindow().getShell(),

-			Policy.bind("error.antScriptError"),

-			Policy.bind("error.antParsingError"),

-			status);

-			

-		return null;

-	}

-	return antProject;

-}

-

-}

-

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntConsole.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntConsole.java
deleted file mode 100644
index d43d131..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntConsole.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntConsolePreferencePage.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntConsolePreferencePage.java
deleted file mode 100644
index 749f936..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntConsolePreferencePage.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.jface.preference.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.ui.*;

-import org.eclipse.ui.help.WorkbenchHelp;

-

-/**

- * A page to set the preferences for the console

- */

-public class AntConsolePreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {

-		

-

-/**

- * Create the console page.

- */

-public AntConsolePreferencePage() {

-	super(GRID);

-	

-	setDescription(Policy.bind("preferences.description"));

-	

-	IPreferenceStore store= AntUIPlugin.getPlugin().getPreferenceStore();

-	setPreferenceStore(store);

-}

-public void createControl(Composite parent) {

-	super.createControl(parent);

-	

-	// should do something here with the help..	

-	/*

-	WorkbenchHelp.setHelp(

-		parent,

-		new Object[] { IAntHelpContextIds.ANT_CONSOLE_PREFERENCE_PAGE });

-	*/

-}

-/**

- * Create all field editors for this page

- */

-public void createFieldEditors() {

-

-	ColorFieldEditor errOut= new ColorFieldEditor(IAntPreferenceConstants.CONSOLE_ERROR_RGB, Policy.bind("preferences.errorColor"), getFieldEditorParent());

-	ColorFieldEditor warnOut= new ColorFieldEditor(IAntPreferenceConstants.CONSOLE_WARNING_RGB, Policy.bind("preferences.warningColor"), getFieldEditorParent());

-	ColorFieldEditor infoOut= new ColorFieldEditor(IAntPreferenceConstants.CONSOLE_INFO_RGB, Policy.bind("preferences.infoColor"), getFieldEditorParent());

-	ColorFieldEditor verbOut= new ColorFieldEditor(IAntPreferenceConstants.CONSOLE_VERBOSE_RGB, Policy.bind("preferences.verboseColor"), getFieldEditorParent());

-	ColorFieldEditor debugOut= new ColorFieldEditor(IAntPreferenceConstants.CONSOLE_DEBUG_RGB, Policy.bind("preferences.debugColor"), getFieldEditorParent());

-	

-	FontFieldEditor font= new FontFieldEditor(IAntPreferenceConstants.CONSOLE_FONT, Policy.bind("preferences.font"), getFieldEditorParent());

-

-	addField(errOut);

-	addField(warnOut);

-	addField(infoOut);

-	addField(verbOut);

-	addField(debugOut);

-	addField(font);

-}

-/**

- * Returns the font data that describes the font to use for the console

- */

-protected static FontData getConsoleFontData() {

-	IPreferenceStore pstore= AntUIPlugin.getPlugin().getPreferenceStore();

-	FontData fontData= PreferenceConverter.getFontData(pstore, IAntPreferenceConstants.CONSOLE_FONT);

-	return fontData;

-}

-/**

- * Returns the a color based on the type.

- */

-protected static Color getPreferenceColor(String type) {

-	IPreferenceStore pstore= AntUIPlugin.getPlugin().getPreferenceStore();

-	RGB outRGB= PreferenceConverter.getColor(pstore, type);

-	return new Color(Display.getCurrent() ,outRGB);

-}

-/**

- * @see IWorkbenchPreferencePage#init

- */

-public void init(IWorkbench workbench) {

-}

-

-}

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchDropDownAction.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchDropDownAction.java
deleted file mode 100644
index a75050d..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchDropDownAction.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

- 

-import java.io.File;

-import org.apache.tools.ant.ProjectHelper;

-import org.eclipse.ant.core.EclipseProject;

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.runtime.*;

-import org.eclipse.ui.*;

-import org.eclipse.ui.part.FileEditorInput;

-import org.eclipse.jface.action.*;

-import org.eclipse.jface.dialogs.ErrorDialog;

-import org.eclipse.jface.viewers.*;

-import org.eclipse.jface.wizard.WizardDialog;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.widgets.*;

-

-/**

- * Superclass of run & debug pulldown actions.

- */

-public class AntLaunchDropDownAction implements IWorkbenchWindowPulldownDelegate {

-	

-

-/**

- * @see IWorkbenchWindowActionDelegate

- */

-public void dispose() {

-}

-

-private void createMenuForAction(Menu parent, Action action) {

-	ActionContributionItem item= new ActionContributionItem(action);

-	item.fill(parent, -1);

-}

-

-/**

- * @see IWorkbenchWindowPulldownDelegate

- */

-public Menu getMenu(Control parent) {

-	Menu menu= new Menu(parent);

-	IFile[] historyList= AntUIPlugin.getPlugin().getHistory();

-	int count= 0;

-	for (int i = 0; i < historyList.length; i++) {

-		IFile file = historyList[i];

-		if (file == null) 

-			break;

-		AntAction newAction= new AntAction(file);

-		createMenuForAction(menu, newAction);

-		count++;

-	}

-	if (count == 0)

-		createMenuForAction(menu, new AntAction(null));

-

-	return menu;

-}

-

-/**

- * @see IWorkbenchWindowActionDelegate

- */

-public void init(IWorkbenchWindow window){

-}

-

-/**

- * @see IActionDelegate

- */

-public void run(IAction action) {

-	IWorkbenchWindow window= PlatformUI.getWorkbench().getActiveWorkbenchWindow();

-	IStructuredSelection selection= resolveSelection(window);

-	

-	if (selection != null) {

-		Object selectedObject = selection.getFirstElement();

-		if (selectedObject instanceof IFile) {

-			if (((IFile) selectedObject).getFileExtension().equals("xml"))

-				new AntAction((IFile) selectedObject).run();

-		}

-		else if (selectedObject instanceof FileEditorInput) {

-			if ((((FileEditorInput) selectedObject).getFile()).getFileExtension().equals("xml"))

-				new AntAction(((FileEditorInput) selectedObject).getFile()).run();

-		}

-	}

-}

-

-/**

- * Determines and returns the selection that provides context for the launch,

- * or <code>null</code> if there is no selection.

- */

-protected IStructuredSelection resolveSelection(IWorkbenchWindow window) {

-	if (window == null) {

-		return null;

-	}

-	ISelection selection= window.getSelectionService().getSelection();

-	if (selection == null || selection.isEmpty() || !(selection instanceof IStructuredSelection)) {

-		// there is no obvious selection - go fishing

-		selection= null;

-		IWorkbenchPage page= window.getActivePage();

-		if (page == null) {

-			//workspace is closed

-			return null;

-		}

-

-		// first, see if there is an active editor, and try its input element

-		IEditorPart editor= page.getActiveEditor();

-		Object element= null;

-		if (editor != null) {

-			element= editor.getEditorInput();

-		}

-

-		if (selection == null && element != null) {

-			selection= new StructuredSelection(element);

-		}

-	}

-	return (IStructuredSelection)selection;

-}

-

-/**

- * @see IActionDelegate

- */

-public void selectionChanged(IAction action, ISelection selection){

-}

-

-}

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizard.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizard.java
deleted file mode 100644
index a88950f..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizard.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizardPage.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizardPage.java
deleted file mode 100644
index b081040..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntLaunchWizardPage.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntPreferencesPage.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntPreferencesPage.java
deleted file mode 100644
index 1ae0135..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntPreferencesPage.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntPropertyChangeListener.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntPropertyChangeListener.java
deleted file mode 100644
index bf82ea5..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntPropertyChangeListener.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntTreeContentProvider.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntTreeContentProvider.java
deleted file mode 100644
index 796547c..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntTreeContentProvider.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.jface.viewers.*;

-

-/**

- * Content provider for the tree viewer of the Ant Console.

- */

-

-public class AntTreeContentProvider implements ITreeContentProvider {

-	

-	private AntConsole console;

-	

-public AntTreeContentProvider(AntConsole console) {

-	this.console = console;

-}

-

-/**

- * @see ITreeContentProvider#getChildren(Object)

- */

-public Object[] getChildren(Object parent) {

-		return ((OutputStructureElement) parent).getChildren();

-}

-

-/**

- * @see ITreeContentProvider#getParent(Object)

- */

-public Object getParent(Object element) {

-	return ((OutputStructureElement) element).getParent();

-}

-

-/**

- * @see ITreeContentProvider#hasChildren(Object)

- */

-public boolean hasChildren(Object element) {

-		return ((OutputStructureElement) element).hasChildren();

-}

-

-/**

- * @see IStructuredContentProvider#getElements(Object)

- */

-public Object[] getElements(Object parent) {

-	return ((OutputStructureElement) parent).getChildren();

-}

-

-/**

- * @see IContentProvider#dispose()

- */

-public void dispose() {

-}

-

-/**

- * @see IContentProvider#inputChanged(Viewer, Object, Object)

- */

-public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {

-}

-

-}

-

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntTreeLabelProvider.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntTreeLabelProvider.java
deleted file mode 100644
index a6cbbed..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntTreeLabelProvider.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.jface.viewers.*;

-import org.eclipse.swt.graphics.Image;

-

-/**

- * Label provider for the tree viewer of the Ant Console.

- */

-

-public class AntTreeLabelProvider implements ILabelProvider {

-	

-	private AntConsole console;

-	

-public AntTreeLabelProvider(AntConsole console) {

-	this.console = console;

-}

-

-

-/**

- * @see ILabelProvider#getImage(Object)

- */

-public Image getImage(Object element) {

-	return null;

-}

-

-/**

- * @see ILabelProvider#getText(Object)

- */

-public String getText(Object element) {

-	String text = ((OutputStructureElement) element).getName();

-	if ( text == null)

-		// this can happen if the userwrites a task name that doesn't exist => the #taskStarted will be triggered

-		// but null will be given as a name to the current task, and then only, the exception will be raised

-		return Policy.bind("antTreeLabelProvider.invalidTaskName");

-	return text;

-}

-

-/**

- * @see IBaseLabelProvider#addListener(ILabelProviderListener)

- */

-public void addListener(ILabelProviderListener listener) {

-}

-

-/**

- * @see IBaseLabelProvider#dispose()

- */

-public void dispose() {

-}

-

-/**

- * @see IBaseLabelProvider#isLabelProperty(Object, String)

- */

-public boolean isLabelProperty(Object arg0, String arg1) {

-	return false;

-}

-

-/**

- * @see IBaseLabelProvider#removeListener(ILabelProviderListener)

- */

-public void removeListener(ILabelProviderListener listener) {

-}

-

-}

-

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntUIPlugin.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntUIPlugin.java
deleted file mode 100644
index 1dd8018..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/AntUIPlugin.java
+++ /dev/null
@@ -1,189 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.net.*;

-import java.util.*;

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.runtime.*;

-import org.eclipse.jface.dialogs.ErrorDialog;

-import org.eclipse.jface.dialogs.IDialogSettings;

-import org.eclipse.jface.preference.IPreferenceStore;

-import org.eclipse.jface.preference.PreferenceConverter;

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.swt.graphics.Font;

-import org.eclipse.swt.graphics.RGB;

-import org.eclipse.ui.plugin.AbstractUIPlugin;

-

-/**

- * The plug-in runtime class for the AntUI plug-in.

- */

-public final class AntUIPlugin extends AbstractUIPlugin{

-

-	/**

-	 * Unique identifier constant (value <code>"org.eclipse.ant.ui"</code>)

-	 * for the Ant UI plug-in.

-	 */

-	public static final String PI_ANTUI= "org.eclipse.ant.ui";

-	

-	public static final String PROPERTIES_MESSAGES = "org.eclipse.ant.internal.ui.messages";

-	

-	public static final String IMG_ANT_SCRIPT= "icons/full/eview16/ant_view.gif";

-	public static final String IMG_BUILDER= "icons/full/eview16/build_exec.gif";

-	

-	private static final String SETTINGS_COMMAND_HISTORY = "CommandHistory";

-	private static final int MAX_COMMAND_HISTORY = 15;

-	

-	

-	/**

-	 * The single instance of this plug-in runtime class.

-	 */

-	private static AntUIPlugin plugin;

-	

-	private final static int MAX_HISTORY_SIZE= 5;

-	/**

-	 * The most recent debug launches

-	 */

-	private IFile[] antHistory = new IFile[MAX_HISTORY_SIZE];

-	

-

-public AntUIPlugin(IPluginDescriptor desc) {

-	super(desc);

-	plugin= this;

-}

-

-public static AntUIPlugin getPlugin() {

-	return plugin;

-}

-

-public static ResourceBundle getResourceBundle() {

-	try {

-		return ResourceBundle.getBundle(PROPERTIES_MESSAGES);

-	} catch (MissingResourceException e) {

-		ErrorDialog.openError(

-			plugin.getWorkbench().getActiveWorkbenchWindow().getShell(),

-			Policy.bind("exception.missingResourceBundle"),

-			Policy.bind("exception.missingResourceBundle.message"),

-			new Status(IStatus.ERROR,PI_ANTUI,0,Policy.bind("exception.missingResourceBundle.message"),e));

-		return null;

-	}

-}

-

-/**

- * Adds the given command to the command history.

- * - if the command doesn't exist: put it at the first place

- * - if it exists and is already at the first place: does nothing

- * - if it exists and is not at the first place: move it to the first place

-

- */

-public void addToCommandHistory(String command) {

-	IDialogSettings settings = getDialogSettings();

-	String[] oldHistory = settings.getArray(SETTINGS_COMMAND_HISTORY);

-	if (oldHistory == null || oldHistory.length == 0) {

-		settings.put(SETTINGS_COMMAND_HISTORY, new String[] {command});

-		return;

-	}

-	if (command.equals(oldHistory[0])) {

-		return;

-	}

-	//search for existing command and move to top if found

-	int index;

-	for (index=1; index<oldHistory.length; index++)

-		if (command.equals(oldHistory[index]))

-			break;

-	if (index < oldHistory.length) {

-		//it was found, so replace it

-		for (int i=index; i>0; i--)

-			oldHistory[i] = oldHistory[i-1];

-		oldHistory[0] = command;

-		settings.put(SETTINGS_COMMAND_HISTORY, oldHistory);

-	}

-	//not found -- add it to the history

-	String[] newHistory;

-	if (oldHistory.length == MAX_COMMAND_HISTORY) {

-		//shift other commands down and add new one

-		System.arraycopy(oldHistory, 0, oldHistory, 1, oldHistory.length-1);

-		oldHistory[0] = command;

-		newHistory = oldHistory;

-	} else {

-		// grow the history array

-		newHistory = new String[oldHistory.length+1];

-		System.arraycopy(oldHistory, 0, newHistory, 1, oldHistory.length);

-		newHistory[0] = command;

-	}

-	settings.put(SETTINGS_COMMAND_HISTORY, newHistory);

-}

-/**

- * Adds the given file to the history: 

- * - if the file doesn't exist: put it at the first place

- * - if it exists and is already at the first place: does nothing

- * - if it exists and is not at the first place: move it to the first place

- * 

- * @param the file

- */

-public void addToHistory(IFile file) {

-	if (file.equals(antHistory[0]))

-		return;

-		

-	int index;

-	for (index=1; index<MAX_HISTORY_SIZE; index++)

-		if (file.equals(antHistory[index]))

-			break;

-	if (index == MAX_HISTORY_SIZE)

-		index--;

-	for (int i=index; i>0; i--)

-		antHistory[i] = antHistory[i-1];

-	antHistory[0] = file;	

-}

-

-/**

- * Returns the history of tool script command that have been run.

- */

-public String[] getCommandHistory() {

-	return getDialogSettings().getArray(SETTINGS_COMMAND_HISTORY);

-}

-/**

- * Returns the history of the AntPlugin, i.e. the files that were executed previously

- * 

- * @return an array containing the files

- */

-public IFile[] getHistory() {

-	return antHistory;	

-}

-

-/**

- * Returns the ImageDescriptor for the icon with the given path

- * 

- * @return the ImageDescriptor object

- */

-public ImageDescriptor getImageDescriptor(String path) {

-	try {

-		URL installURL = getDescriptor().getInstallURL();

-		URL url = new URL(installURL,path);

-		return ImageDescriptor.createFromURL(url);

-	} catch (MalformedURLException e) {

-		return null;

-	}

-}

-

-/**

- * @see AbstractUIPlugin#initializeDefaultPreferences

- */

-protected void initializeDefaultPreferences(IPreferenceStore prefs) {

-	prefs.setDefault(IAntPreferenceConstants.AUTO_SAVE, false);

-	prefs.setDefault(IAntPreferenceConstants.INFO_LEVEL, true);

-	prefs.setDefault(IAntPreferenceConstants.VERBOSE_LEVEL, false);

-	prefs.setDefault(IAntPreferenceConstants.DEBUG_LEVEL, false);

-

-	PreferenceConverter.setDefault(prefs, IAntPreferenceConstants.CONSOLE_ERROR_RGB, new RGB(255, 0, 0)); 		// red - exactly the same as debug Consol

-	PreferenceConverter.setDefault(prefs, IAntPreferenceConstants.CONSOLE_WARNING_RGB, new RGB(255, 100, 0)); 	// orange

-	PreferenceConverter.setDefault(prefs, IAntPreferenceConstants.CONSOLE_INFO_RGB, new RGB(0, 0, 255)); 		// blue

-	PreferenceConverter.setDefault(prefs, IAntPreferenceConstants.CONSOLE_VERBOSE_RGB, new RGB(0, 200, 125));	// green

-	PreferenceConverter.setDefault(prefs, IAntPreferenceConstants.CONSOLE_DEBUG_RGB, new RGB(0, 0, 0));			// black

-	

-}

-

-}

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/BuildCanceledException.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/BuildCanceledException.java
deleted file mode 100644
index 60e7e6b..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/BuildCanceledException.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.apache.tools.ant.BuildException;

-

-public class BuildCanceledException extends BuildException {

-

-public BuildCanceledException() {

-	super(Policy.bind("exception.canceled"));

-}

-

-}

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/IAntPreferenceConstants.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/IAntPreferenceConstants.java
deleted file mode 100644
index abec6e3..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/IAntPreferenceConstants.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-public interface IAntPreferenceConstants {

-	

-	// for the Ant preference page

-

-	public static final String AUTO_SAVE = "Ant.autoSave";

-	

-	public static final String OUPUT_LEVEL = "Ant.outputLevel";

-

- 	public static final String INFO_LEVEL = "Ant.infoLevel";

- 	

- 	public static final String VERBOSE_LEVEL = "Ant.verboseLevel";

- 	

- 	public static final String DEBUG_LEVEL = "Ant.levelLevel";

- 	

- 	

- 	// Colors and police for the Ant Console

- 	

-	public static final String CONSOLE_ERROR_RGB = "Ant.Console.errorColor";

-	

-	public static final String CONSOLE_WARNING_RGB = "Ant.Console.warningColor";

-

- 	public static final String CONSOLE_INFO_RGB = "Ant.Console.infoColor";

- 	

- 	public static final String CONSOLE_VERBOSE_RGB = "Ant.Console.verboseColor";

- 	

- 	public static final String CONSOLE_DEBUG_RGB = "Ant.Console.debugColor";

- 	

- 	public static final String CONSOLE_FONT = "Ant.Console.font";

-

-}

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/OutputStructureElement.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/OutputStructureElement.java
deleted file mode 100644
index f77f80f..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/OutputStructureElement.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.util.Vector;

-

-/**

- * Object which stores the index and the length of the output for a given

- * target or task (represented by a string)

- */

-

-public class OutputStructureElement {

-

-	private OutputStructureElement parent = null;

-	private Vector children;

-	private String name;

-	private int startIndex = 0;

-	private int length = 0;

-

-

-/**

- * This constructor is intended to be used only by the first element of the structure (the root element)

- */

-public OutputStructureElement(String name) {

-	// there's at least one target as it is the root which may be instantiated via this constructor

-	children = new Vector(1);

-	this.name = name;

-}

-

-/**

- * This constructor is used for any element but the first element of the structure (the root element)

- */	

-public OutputStructureElement(String name, OutputStructureElement parent, int startIndex) {

-	children = new Vector(0);

-	this.name = name;

-	this.startIndex = startIndex;

-	parent.addChild(this);

-}

-

-public void addChild(OutputStructureElement child) {

-	children.add(child);

-	child.setParent(this);

-}

-

-public boolean hasChildren() {

-	return !children.isEmpty();

-}

-

-public String getName() {

-	return name;

-}

-

-public void setName(String name) {

-	this.name = name;

-}

-

-public void setParent(OutputStructureElement parent) {

-	this.parent = parent;

-}

-

-public OutputStructureElement getParent() {

-	return parent;

-}

-

-public OutputStructureElement[] getChildren() {

-	return (OutputStructureElement[]) children.toArray(new OutputStructureElement[children.size()]);

-}

-

-public void setStartIndex(int index) {

-	startIndex = index;

-}

-

-public void setEndIndex(int index) {

-	length = index - startIndex;

-}

-

-public int getStartIndex() {

-	return startIndex;

-}

-

-public int getEndIndex() {

-	return startIndex + length;

-}

-

-public int getLength() {

-	return length;

-}

-

-public String toString() {

-	return name;

-}

-

-}

-

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/Policy.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/Policy.java
deleted file mode 100644
index 145fcd8..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/Policy.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.eclipse.ant.internal.ui;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.runtime.*;

-import java.util.*;

-

-public class Policy {

-	private static ResourceBundle bundle;

-	static {

-		relocalize();

-	}

-/**

- * Lookup the message with the given ID in this catalog 

- */

-public static String bind(String id) {

-	return bind(id, (String[])null);

-}

-/**

- * Lookup the message with the given ID in this catalog and bind its

- * substitution locations with the given string.

- */

-public static String bind(String id, String binding) {

-	return bind(id, new String[] {binding});

-}

-/**

- * Lookup the message with the given ID in this catalog and bind its

- * substitution locations with the given strings.

- */

-public static String bind(String id, String binding1, String binding2) {

-	return bind(id, new String[] {binding1, binding2});

-}

-

-/**

- * Lookup the message with the given ID in this catalog and bind its

- * substitution locations with the given string values.

- */

-public static String bind(String id, String[] bindings) {

-	if (id == null)

-		return "No message available";

-	String message = null;

-	try {

-		message = bundle.getString(id);

-	} catch (MissingResourceException e) {

-		// If we got an exception looking for the message, fail gracefully by just returning

-		// the id we were looking for.  In most cases this is semi-informative so is not too bad.

-		return "Missing message: " + id + "in: " + AntUIPlugin.PROPERTIES_MESSAGES;

-	}

-	if (bindings == null)

-		return message;

-	int length = message.length();

-	int start = -1;

-	int end = length;

-	StringBuffer output = new StringBuffer(80);

-	while (true) {

-		if ((end = message.indexOf('{', start)) > -1) {

-			output.append(message.substring(start + 1, end));

-			if ((start = message.indexOf('}', end)) > -1) {

-				int index = -1;

-				try {

-					index = Integer.parseInt(message.substring(end + 1, start));

-					output.append(bindings[index]);

-				} catch (NumberFormatException nfe) {

-					output.append(message.substring(end + 1, start + 1));

-				} catch (ArrayIndexOutOfBoundsException e) {

-					output.append("{missing " + Integer.toString(index) + "}");

-				}

-			} else {

-				output.append(message.substring(end, length));

-				break;

-			}

-		} else {

-			output.append(message.substring(start + 1, length));

-			break;

-		}

-	}

-	return output.toString();

-}

-public static IProgressMonitor monitorFor(IProgressMonitor monitor) {

-	if (monitor == null)

-		return new NullProgressMonitor();

-	return monitor;

-}

-/**

- * Creates a NLS catalog for the given locale.

- */

-public static void relocalize() {

-	bundle = ResourceBundle.getBundle(AntUIPlugin.PROPERTIES_MESSAGES, Locale.getDefault());

-}

-public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks) {

-	if (monitor == null)

-		return new NullProgressMonitor();

-	if (monitor instanceof NullProgressMonitor)

-		return monitor;

-	return new SubProgressMonitor(monitor, ticks);

-}

-public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks, int style) {

-	if (monitor == null)

-		return new NullProgressMonitor();

-	if (monitor instanceof NullProgressMonitor)

-		return monitor;

-	return new SubProgressMonitor(monitor, ticks, style);

-}

-}

diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/RunAntActionDelegate.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/RunAntActionDelegate.java
deleted file mode 100644
index 6ecf21e..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/RunAntActionDelegate.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TargetsListContentProvider.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TargetsListContentProvider.java
deleted file mode 100644
index a70f07c..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TargetsListContentProvider.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TargetsListLabelProvider.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TargetsListLabelProvider.java
deleted file mode 100644
index 50ed423..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/TargetsListLabelProvider.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/UIBuildListener.java b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/UIBuildListener.java
deleted file mode 100644
index 4f15da6..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/UIBuildListener.java
+++ /dev/null
Binary files differ
diff --git a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/messages.properties b/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/messages.properties
deleted file mode 100644
index d00d44f..0000000
--- a/ant/org.eclipse.ant.ui/src/org/eclipse/ant/internal/ui/messages.properties
+++ /dev/null
@@ -1,91 +0,0 @@
-### Ant UI plugin message catalog

-

-

-### wizard

-wizard.title = Run Ant

-wizard.executeAntScriptTitle = Execute Ant Script

-wizard.executeAntScriptDescription = Select the targets to execute.

-wizard.availableTargetsLabel = Available Targets:

-wizard.argumentsLabel = Arguments:

-wizard.displayLogLabel = &Display execution log to Ant console

-

-

-### label provider

-labelprovider.defaultTarget = Default target

-antTreeLabelProvider.invalidTaskName = Invalid task name

-

-

-### preferences page

-preferences.savePriorToBuilding = Save all &modified resources automatically prior to manual execution of an Ant script

-preferences.preferedOutputLevel = Preferred output level

-preferences.info = &Information (normal)

-preferences.verbose = &Verbose

-preferences.debug = De&bug

-preferences.description = Console text color settings.

-preferences.errorColor = &Error:

-preferences.warningColor = &Warning:

-preferences.infoColor = &Information:

-preferences.verboseColor = &Verbose:

-preferences.debugColor = &Debug:

-preferences.font = Console font setting:

-

-

-### console labels

-find_action.label=&Find...@Ctrl+F

-find_action.tooltip=Find

-find_action.image=

-find_action.description=Find

-

-

-### monitor

-monitor.runningAnt = Running Ant.

-monitor.buildStarted = Build started...

-monitor.targetColumn = Target: 

-monitor.started = started.

-

-

-### console

-console.copy = &Copy@Ctrl+C

-console.selectAll = Select &All@Ctrl+A

-console.clearOutput = Clear &Output

-console.expandAll = &Expand All

-console.hideOutputStructureTree = Hide Output Structure Tree

-console.showOutputStructureTree = Show Output Structure Tree

-console.hideTree = &Hide Tree

-console.showTree = &Show Tree

-console.showSelectedElementOnly = S&how Output of Selected Element Only

-console.showCompleteOutput = Show &Complete Output

-console.antScript = Ant Script

-console.project = Project

-

-### launcher

-launcher.noFile = No file recently executed.

-

-### Ant builder property page

-builderProperties.description= Tool scripts and external commands can be configured to run as part of the \n\

-incremental build process.  Use this page to add, remove, and configure tool \n\

-scripts to run when this project is built.

-

-### status

-status.targetPropertyNotRead = Could not read ant targets property from resource: {0}.

-status.targetPropertyNotWritten = Could not write ant targets property to resource: {0}.

-status.logPropertyNotRead = Could not read log property from resource: {0}.

-status.logPropertyNotWritten = Could not write log property to resource: {0}.

-status.consoleNotInitialized = Could not initialize Ant console view

-status.argumentPropertyNotRead = Could not read argument property from resource: {0}.

-status.argumentPropertyNotWritten = Could not write argument property to resource: {0}.

-

-

-### error

-error.antScriptError = Ant script error.

-error.antParsingError = A problem occurred parsing the Ant file.

-error.antExecutionErrorTitle = Ant Execution Problems.

-error.antExecutionError = A problem occurred executing the Ant file.

-error.antExecutionErrorGeneral = See the output console for details.

-

-

-### exception

-exception.canceled = Canceled.

-exception.buildException = BuildException: {0}

-exception.missingResourceBundle = Missing Resource Bundle

-exception.missingResourceBundle.message = The resource properties for the Ant UI plugin could not be found.

diff --git a/platform/org.eclipse.sdk/.vcm_meta b/platform/org.eclipse.sdk/.vcm_meta
deleted file mode 100644
index 3f788a5..0000000
--- a/platform/org.eclipse.sdk/.vcm_meta
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<project-description>

-	<comment></comment>

-</project-description>

diff --git a/platform/org.eclipse.sdk/about.html b/platform/org.eclipse.sdk/about.html
deleted file mode 100644
index 768324e..0000000
--- a/platform/org.eclipse.sdk/about.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<html>

-<head>

-<title>About</title>

-<style type="text/css">

-p, table, td, th { font-family: arial, helvetica, geneva; font-size: 10pt}

-pre { font-family: "Courier New", Courier, mono; font-size: 10pt}

-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}

-code { font-family: "Courier New", Courier, mono; font-size: 10pt}

-sup { font-family: arial,helvetica,geneva; font-size: 10px}

-h3 { font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}

-li { font-family: arial, helvetica, geneva; font-size: 10pt}

-h1 { font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}

-body { font-family: arial, helvetica, geneva; font-size: 10pt; clip: rect(   ); margin-top: 5mm; margin-left: 3mm}

-</style>

-</head>

-<body lang="EN-US" link="blue" vlink="purple">

-<table border="0" cellspacing="5" cellpadding="2" width="100%" >

-  <tr> 

-    <td align="LEFT" valign="TOP" colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF">About This Content</font></b></td>

-  </tr>

-  <tr> 

-    <td> 

-<p>11th December, 2001</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

-<a href="http://www.eclipse.org/legal/cpl-v05.html">Common Public License Version 0.5</a> &quot;CPL&quot;.  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>

-</td></tr></table>

-</body>

-</html>
\ No newline at end of file
diff --git a/platform/org.eclipse.sdk/about_prod.gif b/platform/org.eclipse.sdk/about_prod.gif
deleted file mode 100644
index 262c524..0000000
--- a/platform/org.eclipse.sdk/about_prod.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.sdk/build.properties b/platform/org.eclipse.sdk/build.properties
deleted file mode 100644
index 220b667..0000000
--- a/platform/org.eclipse.sdk/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-# Eclipse build contribution

-bin.includes=*.gif,platform.ini,platform.properties,plugin.xml,plugin.properties,product.properties,welcome.xml,product.ini,about.html

diff --git a/platform/org.eclipse.sdk/platform.ini b/platform/org.eclipse.sdk/platform.ini
deleted file mode 100644
index 0d3adeb..0000000
--- a/platform/org.eclipse.sdk/platform.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-name = Eclipse Platform

-detailedName = %detailedName 

-version = 2.0 (pre-release)

-buildID = @build@

-platformURL = http://www.eclipse.org

-copyright = %copyright 

-

diff --git a/platform/org.eclipse.sdk/platform.properties b/platform/org.eclipse.sdk/platform.properties
deleted file mode 100644
index 5c5ebe3..0000000
--- a/platform/org.eclipse.sdk/platform.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-copyright = (c) Copyright IBM Corp. 2000, 2002.  All rights reserved.\n\

-\n\

-     This offering is based on technology from the Eclipse Project.\n\

-     http://www.eclipse.org\n\

-\n\

-     Third party code may be provided with, included in, or accompany this product.\n\

-     See the license and plugin info for details.\n\

-

-detailedName = Eclipse Platform
\ No newline at end of file
diff --git a/platform/org.eclipse.sdk/plugin.properties b/platform/org.eclipse.sdk/plugin.properties
deleted file mode 100644
index e698ba3..0000000
--- a/platform/org.eclipse.sdk/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-pluginName = Eclipse SDK Configuration Plug-In

diff --git a/platform/org.eclipse.sdk/plugin.xml b/platform/org.eclipse.sdk/plugin.xml
deleted file mode 100644
index 69ed2d5..0000000
--- a/platform/org.eclipse.sdk/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin

-   id="org.eclipse.sdk"

-   name="%pluginName"

-   version="2.0"

-   provider-name="Object Technology International, Inc.">

-</plugin>

diff --git a/platform/org.eclipse.sdk/prod.gif b/platform/org.eclipse.sdk/prod.gif
deleted file mode 100644
index 6ca37e0..0000000
--- a/platform/org.eclipse.sdk/prod.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.sdk/product.ini b/platform/org.eclipse.sdk/product.ini
deleted file mode 100644
index 48c2ef5..0000000
--- a/platform/org.eclipse.sdk/product.ini
+++ /dev/null
@@ -1,17 +0,0 @@
-name = Eclipse Project SDK

-detailedName = %detailedName

-image = prod.gif

-version = 2.0 (pre-release)

-application = org.eclipse.ui.workbench

-appName = Eclipse

-productURL = http://www.eclipse.org

-aboutImage = about_prod.gif

-welcomePage = welcome.xml

-baseInfosets = /org.eclipse.platform.doc.user/toc.xml,\

-                              /org.eclipse.jdt.doc.user/toc.xml,\

-                              /org.eclipse.platform.doc.isv/toc.xml,\

-                              /org.eclipse.jdt.doc.isv/toc.xml,\

-                              /org.eclipse.pde.doc.user/toc.xml

-defaultPerspectiveId = org.eclipse.ui.resourcePerspective

-copyright = %copyright

-buildID = @build@
\ No newline at end of file
diff --git a/platform/org.eclipse.sdk/product.properties b/platform/org.eclipse.sdk/product.properties
deleted file mode 100644
index 2c63923..0000000
--- a/platform/org.eclipse.sdk/product.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-copyright = (c) Copyright IBM Corp. 2000, 2002.  All rights reserved.\n\

-\n\

-     Visit the website at http://www.eclipse.org\n\

-

-detailedName = Eclipse Project SDK

-

diff --git a/platform/org.eclipse.sdk/welcome.xml b/platform/org.eclipse.sdk/welcome.xml
deleted file mode 100644
index 124f33c..0000000
--- a/platform/org.eclipse.sdk/welcome.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> 

-<welcomePage 

-	title="Welcome to the Workbench">

-	<intro>This page will help familiarize you with the Workbench.

-To get started, read the sections below and click on the related links. </intro>

-

-	<item><b>Create Java components </b>

-To begin Java development, create a <action pluginId="org.eclipse.jdt.ui"  class="org.eclipse.jdt.internal.ui.wizards.OpenProjectWizardAction">Java project</action>.  Select the newly created project

-and choose File > New > Other.... In the left column of the wizard, select Java and double

-click on Java Package in the right column. Fill in the name of your package and click Finish. 

-

-To create a Java class, select the package in the navigator view and click on the 

-"Open the New Wizard" toolbar button (on the far left of the toolbar). This toolbar button

-provides us with a quick alternative to File > New > Other... .  Choose Java Class in the right column of

-the category Java, and click Next. In the class wizard fill in the name of your class and 

-click Finish to create the class and start editing it.</item>

-

-	<item><b>Perspectives, views and editors </b>

-A window contains one or more perspectives. A perspective consists of views (e.g. Navigator) 

-and editors for working with your resources.

-

-The shortcut bar at the far left of the window allows you to open new perspectives and move

-between perspectives that are already open. You can also use Alt+Up and Alt+Down to

-move between the open perspectives. The perspective you are currently working with is shown 

-in the title of the window and in the shortcut bar as a pushed-in icon.

-

-When opening perspectives you can hold down Ctrl (on Linux use Alt+Shift) or Shift to

-optionally open each perspective in its own window, or to replace the current perspective 

-with a new perspective. The behavior of Ctrl and Shift is configurable from <action pluginId="org.eclipse.ui"  class="org.eclipse.ui.internal.OpenPreferencesAction">Workbench > Preferences</action>.

-

-To open the Java perspective choose Perspective > Open > Java. </item>

-

-

-<item><b>Configuring your perspectives</b>

-You can move views and editors around the workbench by dragging their titlebars. You can

-also add more views to your current perspective by using Perspective > Show View. 

-To reset the perspective to its original state, choose <action pluginId="org.eclipse.ui"  class="org.eclipse.ui.internal.ResetPerspectiveAction">Perspective > Reset</action>. 

-

-Once you have arranged your perspective, you can save it using Perspective > Save As.... 

-You can customize the views, perspectives and New menu operations that show up for 

-your perspective. To do this choose <action pluginId="org.eclipse.ui"  class="org.eclipse.ui.internal.EditActionSetsAction">Perspective > Customize...</action>. A view can

-additionally be converted into a Fast View by dragging it to the shortcut bar (at the 

-far left of the window). </item> 

-

-<item><b>Join a CVS team</b>

-To join a CVS development team, open the <action pluginId="org.eclipse.vcm.ui"  class="org.eclipse.vcm.internal.ui.actions.OpenRepositoriesViewAction">Repositories view</action>. Next, specify the location

-of your CVS repository. To do this choose <action pluginId="org.eclipse.vcm.ui.cvs"  class="org.eclipse.vcm.internal.ui.ccvs.NewRepositoryConnectionAction">New > CVS Repository Location...</action> from the

-Repositories view popup menu. When the location wizard opens, fill in the details of your 

-CVS repository and click Finish. 

-

-In the Repositories view expand the location entry and expand Streams. Choose the HEAD

-stream and expand it to view any ongoing work. Select the projects you want to work with

-and choose "Add to Workspace" from the project's popup menu.</item>

-

-

-	<item><b>Learn more </b>

-To learn more you can browse the <topic id="/org.eclipse.platform.doc.user/toc.xml">Workbench User Guide</topic> or the <topic id="/org.eclipse.jdt.doc.user/toc.xml">Java Development User Guide</topic>.</item>

-

-

-</welcomePage>
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/bin/org/eclipse/update/examples/buildzip/java.page.jpage b/update/org.eclipse.update.examples/bin/org/eclipse/update/examples/buildzip/java.page.jpage
deleted file mode 100644
index 8b3ca30..0000000
--- a/update/org.eclipse.update.examples/bin/org/eclipse/update/examples/buildzip/java.page.jpage
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.java
index fb46567..fbd75d3 100644
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.java
+++ b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.java
@@ -8,7 +8,7 @@
  * @version 	1.0

  * @author

  */

-public class Locator { 
+public class Locator {
 	public int indent;
 	public int x, y;
 	public int width, height;
diff --git a/update/org.eclipse.update/.classpath b/update/org.eclipse.update/.classpath
deleted file mode 100644
index f12531d..0000000
--- a/update/org.eclipse.update/.classpath
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="src"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.eclipse.core.boot/boot.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.core.boot/bootsrc.zip"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.eclipse.core.runtime/runtime.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.core.runtime/runtimesrc.zip"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.eclipse.swt/swt.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.swt/swtsrc.zip"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.eclipse.ui/workbench.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.ui/workbenchsrc.zip"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.webdav/webdav.jar"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update/.cvsignore b/update/org.eclipse.update/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/update/org.eclipse.update/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/update/org.eclipse.update/.vcm_meta b/update/org.eclipse.update/.vcm_meta
deleted file mode 100644
index 7655f8d..0000000
--- a/update/org.eclipse.update/.vcm_meta
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<project-description>

-	<comment></comment>

-	<nature id="org.eclipse.jdt.core.javanature"/>

-	<builder name="org.eclipse.jdt.core.javabuilder">

-	</builder>

-</project-description>

diff --git a/update/org.eclipse.update/about.html b/update/org.eclipse.update/about.html
deleted file mode 100644
index 9a15e5c..0000000
--- a/update/org.eclipse.update/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<html>

-<head>

-<title>About</title>

-<style type="text/css">

-p, table, td, th { font-family: arial, helvetica, geneva; font-size: 10pt}

-pre { font-family: "Courier New", Courier, mono; font-size: 10pt}

-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}

-code { font-family: "Courier New", Courier, mono; font-size: 10pt}

-sup { font-family: arial,helvetica,geneva; font-size: 10px}

-h3 { font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}

-li { font-family: arial, helvetica, geneva; font-size: 10pt}

-h1 { font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}

-body { font-family: arial, helvetica, geneva; font-size: 10pt; clip: rect(   ); margin-top: 5mm; margin-left: 3mm}

-</style>

-</head>

-<body>

-<body lang=EN-US link=blue vlink=purple>

-<table border=0 cellspacing=5 cellpadding=2 width="100%" >

-  <tr> 

-    <td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">About This Plug-in</font></b></td>

-  </tr>

-  <tr> 

-    <td> 

-<p>1st November, 2001</p>	

-<h3>License</h3>

-<p>Eclipse.org makes available all content in this plug-in.  The plug-in is provided to you under the terms and conditions of the

-<a href="http://www.eclipse.org/legal/cpl-v05.html">Common Public License Version 0.5</a>.  For purposes of the Common Public License, &quot;Program&quot; will mean the plug-in.</p>

-</td></tr></table>

-</body>

-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update/build.properties b/update/org.eclipse.update/build.properties
deleted file mode 100644
index ac7da03..0000000
--- a/update/org.eclipse.update/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-source.update.jar=src/

-bin.includes=plugin.xml,icons/,plugin.properties,*.jar,about.html

diff --git a/update/org.eclipse.update/icons/full/ctool16/new.gif b/update/org.eclipse.update/icons/full/ctool16/new.gif
deleted file mode 100644
index d16d5b0..0000000
--- a/update/org.eclipse.update/icons/full/ctool16/new.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/icons/full/ctool16/update.gif b/update/org.eclipse.update/icons/full/ctool16/update.gif
deleted file mode 100644
index f011d8a..0000000
--- a/update/org.eclipse.update/icons/full/ctool16/update.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/icons/full/wizban/new.gif b/update/org.eclipse.update/icons/full/wizban/new.gif
deleted file mode 100644
index 2a0c793..0000000
--- a/update/org.eclipse.update/icons/full/wizban/new.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/icons/full/wizban/revert.gif b/update/org.eclipse.update/icons/full/wizban/revert.gif
deleted file mode 100644
index d7402a2..0000000
--- a/update/org.eclipse.update/icons/full/wizban/revert.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/icons/full/wizban/update.gif b/update/org.eclipse.update/icons/full/wizban/update.gif
deleted file mode 100644
index 4ff15da..0000000
--- a/update/org.eclipse.update/icons/full/wizban/update.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/plugin.properties b/update/org.eclipse.update/plugin.properties
deleted file mode 100644
index 9c052ee..0000000
--- a/update/org.eclipse.update/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-S_Eclipse_Update_Manager_Plugin = Install/Update Manager

-S_Software_Updates = &Software Updates

-S_Software_Updates_Preferences = Software Updates

diff --git a/update/org.eclipse.update/plugin.xml b/update/org.eclipse.update/plugin.xml
deleted file mode 100644
index 87f8787..0000000
--- a/update/org.eclipse.update/plugin.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<!-- File written by PDE 1.0 -->

-<plugin

-   id="org.eclipse.update"

-   name="%S_Eclipse_Update_Manager_Plugin"

-   version="1.0"

-   provider-name="International Business Machines Corp."

-   class="org.eclipse.update.internal.core.UpdateManagerPlugin">

-<requires>

-   <import plugin="org.eclipse.core.runtime"/>

-   <import plugin="org.eclipse.ui"/>

-   <import plugin="org.eclipse.webdav"/>

-</requires>

-

-<runtime>

-   <library name="update.jar"/>

-</runtime>

-

-<!-- ================================================================================= -->

-<!--                                                                                   -->

-<!-- Update Manager Help Menu Action Set                                               -->

-<!--                                                                                   -->

-<!-- ================================================================================= -->

-<extension

-      point="org.eclipse.ui.actionSets">

-   <actionSet

-         label="%S_Software_Updates"

-         visible="false"

-         id="org.eclipse.update.internal.ui.UpdateManagerActionSet">

-      <action

-            label="%S_Software_Updates"

-            class="org.eclipse.update.internal.ui.UMDialogAction"

-            menubarPath="help/helpEnd"

-            id="org.eclipse.update.internal.ui.UpdateManagerAction">

-      </action>

-   </actionSet>

-</extension>

-<!-- ============================================================================================ -->

-<!--                                                                                              -->

-<!-- Update Manager Application                                                                   -->

-<!--                                                                                              -->

-<!-- ============================================================================================ -->

-<extension

-      id="updateManager"

-      point="org.eclipse.core.runtime.applications">

-   <application>

-      <run

-            class="org.eclipse.update.internal.ui.UMApplicationUserInterface">

-      </run>

-   </application>

-</extension>

-</plugin>

diff --git a/update/org.eclipse.update/plugin.xml.off b/update/org.eclipse.update/plugin.xml.off
deleted file mode 100644
index 8a83831..0000000
--- a/update/org.eclipse.update/plugin.xml.off
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<!-- Eclipse Update Manager Plugin -->

-

-<plugin

-    id          = "org.eclipse.update"

-    name        = "%S_Eclipse_Update_Manager_Plugin"

-    version     = "1.0"

-    provider-name = "International Business Machines Corp."

-    class       = "org.eclipse.update.internal.core.UpdateManagerPlugin">

-

-    <requires>

-        <import plugin="org.eclipse.core.runtime"/>

-        <import plugin="org.eclipse.ui"/>

-        <import plugin="org.eclipse.webdav"/>

-    </requires>

-

-    <runtime>

-        <library name="update.jar" />

-    </runtime>

-

-    <!-- ================================================================================= -->

-    <!--                                                                                   -->

-    <!-- Update Manager Preference Page Settings                                           -->

-    <!--                                                                                   -->

-    <!-- ================================================================================= -->

-    <extension point="org.eclipse.ui.preferencePages">

-        <page id       = "UMPreferencePageSettings"

-              name     = "%S_Software_Updates_Preferences"

-              class    = "org.eclipse.update.internal.ui.UMPreferencePageSettings">

-        </page>

-    </extension>

-

-    <!-- ================================================================================= -->

-    <!--                                                                                   -->

-    <!-- Update Manager Help Menu Action Set                                               -->

-    <!--                                                                                   -->

-    <!-- ================================================================================= -->

-    <extension point="org.eclipse.ui.actionSets">

-        <actionSet

-            id      = "org.eclipse.update.internal.ui.UpdateManagerActionSet"

-            label   = "%S_Software_Updates"

-            visible = "true">

-            <action id          = "org.eclipse.update.internal.ui.UpdateManagerAction"

-                    menubarPath = "help/helpEnd"

-                    label       = "%S_Software_Updates"

-                    class       = "org.eclipse.update.internal.ui.UMDialogAction"/>

-        </actionSet>

-    </extension>

-

-    <!-- ============================================================================================ -->

-    <!--                                                                                              -->

-    <!-- Update Manager Application                                                                   -->

-    <!--                                                                                              -->

-    <!-- ============================================================================================ -->

-    <extension id="updateManager" point="org.eclipse.core.runtime.applications">

-        <application>

-            <run class="org.eclipse.update.internal.ui.UMApplicationUserInterface">

-            </run>

-        </application>

-    </extension>

-</plugin>

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/ISessionDefiner.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/ISessionDefiner.java
deleted file mode 100644
index 626ca05..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/ISessionDefiner.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/**

- */

-import org.eclipse.core.internal.boot.update.*;

-

-public interface ISessionDefiner {

-/**

- * Creates one or more operations for the current session.

- */

-void defineOperations( UMSessionManagerSession session, IInstallable[] descriptors, boolean bVerifyJars );

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/IUMLock.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/IUMLock.java
deleted file mode 100644
index c25c907..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/IUMLock.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/**

- */

-public interface IUMLock {

-/**

- * Checks to see if the UMLock file is there.  If yes, returns true

- */

-public boolean exists();

-/**

- */

-void remove();

-/**

- */

-void set();

-/**

- */

-void set(String msg);

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMLock.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMLock.java
deleted file mode 100644
index 5c08d9a..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMLock.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/**

- */

-import org.eclipse.core.internal.boot.update.*;

-import java.io.*;

-import java.net.*;

-public class UMLock implements IUMLock {

-	File file = null;

-/**

- * UMLock constructor comment.

- */

-public UMLock() {

-	super();

-	URL lockfileURL = null;

-	try {

-		lockfileURL = new URL(UMEclipseTree.getInstallTreeURL(), IManifestAttributes.UM_LOCK);

-	} catch (MalformedURLException ex) {

-	}

-	file = getFile(lockfileURL);

-}

-/**

- * Checks to see if the UMLock file is there.  If yes, returns true

- */

-public boolean exists() {

-	

-	if (file != null) {

-		if (file.exists() == true) {

-			return true;

-		}

-	}

-	return false;

-}

-/**

- */

-public static File getFile(URL url) {

-	File file = null;

-	if (url != null) {

-

-		// Convert the URL to a string

-		//----------------------------

-		String strFilespec = UMEclipseTree.getFileInPlatformString(url);

-

-		file = new File(strFilespec);

-	}

-	return file;

-}

-/**

- */

-public void remove() {

-	if (exists())

-		file.delete();

-		

-}

-/**

- */

-public void set() {

-	set("");

-}

-/**

- */

-public void set(String msg) {

-	URL lockfileURL = null;

-	try {

-		lockfileURL = new URL(UMEclipseTree.getInstallTreeURL(), IManifestAttributes.UM_LOCK);

-	} catch (MalformedURLException ex) {

-	}

-	

-	// Create a lock file

-	//-------------------

-	Log lockfile = new Log();

-

-	try {

-		lockfile.load(lockfileURL);		// creates file if it doesn't exist

-	}

-	catch (LogStoreException ex) {

-		return;

-	}

-

-	// Add an entry

-	//-------------

-	LogEntry lockEntry = new LogEntry( lockfile, msg );

-	lockfile.addChildEntry( lockEntry );

-

-

-	try {

-		lockfile.save(lockfileURL);

-	}

-	catch (LogStoreException ex) {

-		return;

-	}

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionDefinerReferenceUpdate.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionDefinerReferenceUpdate.java
deleted file mode 100644
index 240091b..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionDefinerReferenceUpdate.java
+++ /dev/null
@@ -1,216 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/**

- */

-import org.eclipse.core.internal.boot.update.*;

-import org.eclipse.core.internal.boot.LaunchInfo;

-

-public class UMSessionDefinerReferenceUpdate implements ISessionDefiner {

-/**

- * UMUpdaterCached constructor comment.

- */

-public UMSessionDefinerReferenceUpdate() {

-	super();

-}

-/**

- * Creates one or more operations for the current parcel.

- */

-public void defineComponentOperation(UMSessionManagerParcel parcel, IInstallable descriptor, boolean bVerifyJars) {

-

-	IComponentDescriptor componentDescriptor = null;

-

-	if (descriptor instanceof IComponentDescriptor) {

-		componentDescriptor = (IComponentDescriptor) descriptor;

-	}

-	else if (descriptor instanceof IComponentEntryDescriptor) {

-		componentDescriptor = ((IComponentEntryDescriptor) descriptor).getComponentDescriptor();

-	}

-	if (componentDescriptor == null)

-		return; 

-

-	UMSessionManagerOperation operation = null;

-

-	// Create download operation

-	//--------------------------

-	operation = parcel.createOperation();

-	operation.setAction(UpdateManagerConstants.OPERATION_COPY);

-	operation.setId(componentDescriptor.getUniqueIdentifier());

-	operation.setSource(componentDescriptor.getDownloadURL().toExternalForm());

-	String downloadTarget = UMEclipseTree.getStagingArea().toExternalForm() + componentDescriptor.getDirName() + ".jar";

-	operation.setTarget(downloadTarget);

-	operation.setData(descriptor);

-

-	// Create jar verification operation

-	//----------------------------------

-	if (bVerifyJars == true) {

-		operation = parcel.createOperation();

-		operation.setAction(UpdateManagerConstants.OPERATION_VERIFY_JAR);

-		operation.setId(componentDescriptor.getUniqueIdentifier());

-		operation.setSource(downloadTarget);

-		operation.setTarget(null);

-		operation.setData(descriptor);

-	}

-

-	// Create apply operation for component files (files not in plugins/ dir structure)

-	//---------------------------------------------------------------------------------

-	operation = parcel.createOperation();

-	operation.setAction(UpdateManagerConstants.OPERATION_UNZIP_INSTALL);

-	operation.setId(componentDescriptor.getUniqueIdentifier());

-	operation.setSource(downloadTarget);

-	String applyTarget = UMEclipseTree.getBaseInstallURL().toExternalForm();

-	//	String applyTarget = "file:///c:/temp/x/" ;

-	operation.setTarget(applyTarget);

-	operation.setData(descriptor);

-

-	// Create apply operation for plug-ins		

-	//------------------------------------

-	IPluginEntryDescriptor[] plugins = componentDescriptor.getPluginEntries();

-	IFragmentEntryDescriptor[] fragments = componentDescriptor.getFragmentEntries();

-	if ((plugins.length > 0) || (fragments.length >0)) {

-		operation = parcel.createOperation();

-		operation.setAction(UpdateManagerConstants.OPERATION_UNZIP_PLUGINS);

-		operation.setId(componentDescriptor.getUniqueIdentifier());

-		operation.setSource(downloadTarget);

-		// by specifiying the install dir with a trailing slash, the unzip method

-		// will just unzip the contents of the jar into the dir

-		applyTarget = UMEclipseTree.getBaseInstallURL().toExternalForm();

-		//	applyTarget = "file:///c:/temp/x/" ;

-		operation.setTarget(applyTarget);

-		operation.setData(descriptor);

-	}

-

-}

-/**

- * Creates one or more operations for the current session.

- */

-public void defineOperations(UMSessionManagerSession session, IInstallable[] descriptors, boolean bVerifyJars) {

-

-	for (int i = 0; i < descriptors.length; ++i) {

-

-		// Products

-		//---------

-		if (descriptors[i] instanceof IProductDescriptor) {

-

-			UMSessionManagerParcel parcel = null;

-

-			// Create parcel

-			//--------------

-			parcel = session.createParcel();

-			parcel.setType(IManifestAttributes.PRODUCT);

-			parcel.setAction(UpdateManagerConstants.OPERATION_ACTION_INSTALL);

-			parcel.setId(((IProductDescriptor) descriptors[i]).getUniqueIdentifier());

-			parcel.setData((IProductDescriptor) descriptors[i]);

-

-			defineProductOperation(parcel, descriptors[i], bVerifyJars);

-		}

-

-		// Components

-		//-----------

-		else if (descriptors[i] instanceof IComponentDescriptor) {

-

-			UMSessionManagerParcel parcel = null;

-

-			// Create parcel

-			//--------------

-			parcel = session.createParcel();

-			parcel.setType(IManifestAttributes.COMPONENT);

-			parcel.setAction(UpdateManagerConstants.OPERATION_ACTION_INSTALL);

-			parcel.setId(((IComponentDescriptor) descriptors[i]).getUniqueIdentifier());

-			parcel.setData((IComponentDescriptor) descriptors[i]);

-

-			defineComponentOperation(parcel, descriptors[i], bVerifyJars);

-		}

-

-		// Component Entries

-		//------------------

-		else if (descriptors[i] instanceof IComponentEntryDescriptor) {

-

-			UMSessionManagerParcel parcel = null;

-

-			// Create parcel

-			//--------------

-			parcel = session.createParcel();

-			parcel.setType(IManifestAttributes.COMPONENT);

-			parcel.setAction(UpdateManagerConstants.OPERATION_ACTION_INSTALL);

-			parcel.setId(((IComponentEntryDescriptor) descriptors[i]).getUniqueIdentifier());

-			parcel.setData((IComponentEntryDescriptor) descriptors[i]);

-

-			defineComponentOperation(parcel, descriptors[i], bVerifyJars);

-		}

-	}

-}

-/**

- * Creates one or more operations for the current parcel.

- */

-public void defineProductOperation(UMSessionManagerParcel parcel, IInstallable descriptor, boolean bVerifyJars) {

-

-	IProductDescriptor productDescriptor = (IProductDescriptor) descriptor;

-	UMSessionManagerOperation operation = null;

-

-	// Create download operation

-	//--------------------------

-	operation = parcel.createOperation();

-	operation.setAction(UpdateManagerConstants.OPERATION_COPY);

-	operation.setId(productDescriptor.getUniqueIdentifier());

-	operation.setSource(productDescriptor.getDownloadURL().toExternalForm());

-	String downloadTarget = UMEclipseTree.getStagingArea().toString() + productDescriptor.getDirName() + ".jar";

-	operation.setTarget(downloadTarget);

-	operation.setData(productDescriptor);

-

-	// Create jar verification operation

-	//----------------------------------

-	if (bVerifyJars == true) {

-		operation = parcel.createOperation();

-		operation.setAction(UpdateManagerConstants.OPERATION_VERIFY_JAR);

-		operation.setId(productDescriptor.getUniqueIdentifier());

-		operation.setSource(downloadTarget);

-		operation.setTarget(null);

-		operation.setData(productDescriptor);

-	}

-

-	// Create apply operation for product files     

-	//-----------------------------------------

-	operation = parcel.createOperation();

-	operation.setAction(UpdateManagerConstants.OPERATION_UNZIP_INSTALL);

-	operation.setId(productDescriptor.getUniqueIdentifier());

-	operation.setSource(downloadTarget);

-	String applyTarget = UMEclipseTree.getBaseInstallURL().toExternalForm();

-	operation.setTarget(applyTarget);

-	operation.setData(productDescriptor);

-

-	// Create component sub-parcels

-	//-----------------------------

-	IComponentEntryDescriptor[] entries = productDescriptor.getComponentEntries();

-	for (int j = 0; j < entries.length; ++j) {

-		if (entries[j].isSelected()) {

-

-			UMSessionManagerParcel subparcel = null;

-			// Create parcel for each component

-			//---------------------------------

-			subparcel = parcel.createParcel();

-			subparcel.setType(IManifestAttributes.COMPONENT);

-			subparcel.setAction(UpdateManagerConstants.OPERATION_ACTION_INSTALL);

-			subparcel.setId(entries[j].getUniqueIdentifier());

-			subparcel.setData(entries[j]);

-

-			defineComponentOperation(subparcel, entries[j], bVerifyJars);

-		}

-	}

-

-	// Create apply operation for product files     

-	//-----------------------------------------

-	String app = LaunchInfo.getCurrent().getApplicationConfigurationIdentifier();

-	if ((app != null) && (app.equals(productDescriptor.getUniqueIdentifier()))) { 	// dominant app?

-		operation = parcel.createOperation();

-		operation.setAction(UpdateManagerConstants.OPERATION_UNZIP_BINDIR);

-		operation.setId(productDescriptor.getUniqueIdentifier());

-		operation.setSource(downloadTarget);

-		operation.setTarget(applyTarget);

-		operation.setData(productDescriptor);

-	}

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManager.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManager.java
deleted file mode 100644
index ab379b5..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManager.java
+++ /dev/null
@@ -1,351 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.internal.boot.update.*;

-import java.io.*;

-import java.net.*;

-import java.util.*;

-

-/**

- * Session Manager executes defined sessions, and manages the update and update history logs.

- * Logs look like this:

- *

- * <session timestamp="xxxx" status="complete" attempts="1">

- *   <operation action="urltocache" status="complete" attempts="1">

- *      <parcel type="component" id="xxx" action="add" status="complete" attempts="1">

- *         <item id="xxx" source="file:///C:/temp/sample_in.java" target="file:///C:/temp/sample_out.java" status="complete" attempts="1">

- *            <message text="successful" timestamp="Thu Mar 01 09:56:49 EST 2001" />

- *         </item>

- *      </parcel>

- *   </operation>

- * </session>

- *

- *

- *  Each element is represented by an UpdateManagerXyz class and have specific

- * member functions for accessing domain specific attributes and child elements.

- * The "status" attribute can be one of "pending", "failed", or "complete".

- */

-

-public class UMSessionManager {

-	

-	protected Log _logUpdate  = null;

-	protected Log _logHistory = null;

-	

-	protected URL _urlUpdate  = null;

-	protected URL _urlHistory = null;

-

-	protected ArrayList _alUpdateSessions = new ArrayList();

-/**

- * Constructs an UpdateManager with the update log and history log URLs.

- * The boolean specifies whether an exception should be thrown if one of

- * the logs is not found.

- */

-public UMSessionManager(URL urlUpdateLog, URL urlHistoryLog, boolean notifyIfLogNotFound) throws LogStoreException {

-

-	_urlUpdate = urlUpdateLog;

-	_urlHistory = urlHistoryLog;

-

-	// Attempt to open the two logs

-	//-----------------------------

-	_logUpdate = new Log();

-	_logHistory = new Log();

-

-	// If the files do not exist

-	// notify if required.  Otherwise assume new files

-	//------------------------------------------------

-	try {

-		_logUpdate.load(_urlUpdate);

-	}

-	catch (LogStoreException ex) {

-//		_logUpdate.printEntryTree(0);

-		if (notifyIfLogNotFound == true) {

-			throw ex;

-		}

-	}

-

-	// Create the update session structure from the log

-	//-------------------------------------------------

-	buildTreeFromLog( _logUpdate );

-

-/*	

-	try {

-		_logHistory.load(_urlUpdate);

-	}

-	catch (LogStoreException ex) {

-		

-		if (notifyIfLogNotFound == true) {

-			throw ex;

-		}

-	}

-

-	_logHistory.printEntryTree(0);

-*/

-}

-/**

- * Creates a tree of sessions from the given log.

- * @param logUpdate org.eclipse.update.internal.core.Log

- * @param alUpdate java.util.ArrayList

- */

-private void buildTreeFromLog(Log logUpdate ) {

-	

-	ILogEntry[] entryChildren = logUpdate.getChildEntries();

-

-	UMSessionManagerSession session = null;

-	

-	for( int i=0; i<entryChildren.length; ++i )

-	{

-		session = new UMSessionManagerSession( entryChildren[i] );

-

-		_alUpdateSessions.add( session );

-		

-		session.buildTreeFromLog( entryChildren[i] );

-	}

-	

-	return;

-}

-/**

- * Creates a new update session where pending operations may be defined for

- * completion.

- * @return org.eclipse.update.internal.core.UMSessionManagerSession

- */

-public UMSessionManagerSession createUpdateSession() {

-

-	UMSessionManagerSession umSession = null;

-	

-	if( _logUpdate != null )

-	{

-		ILogEntry entrySession = new LogEntry( _logUpdate, UpdateManagerConstants.STRING_SESSION );

-		

-		_logUpdate.addChildEntry( entrySession );

-

-		umSession = new UMSessionManagerSession( entrySession );

-

-		umSession.buildTreeFromLog( entrySession );

-

-		_alUpdateSessions.add( umSession );

-	}

-	

-	return umSession;

-}

-/**

- * Runs all sessions

- */

-public boolean executePendingSessions(IProgressMonitor progressMonitor) {

-

-	// Run each of the failed sessions

-	//--------------------------------

-	boolean bSuccess = true;

-

-	UMSessionManagerSession session = null;

-

-	Iterator iter = _alUpdateSessions.iterator();

-

-	while (iter.hasNext() == true) {

-

-		session = (UMSessionManagerSession) iter.next();

-

-		if (session.getStatus().equals(UpdateManagerConstants.STATUS_PENDING) == true) {

-			if (session.execute(progressMonitor) == false) {

-				bSuccess = false;

-			}

-		}

-	}

-

-	return bSuccess;

-}

-/**

- * Runs one session

- */

-public boolean executeSession(UMSessionManagerSession session, IProgressMonitor progressMonitor) {

-

-	if (session == null)

-		return false;

-

-	// Run the session

-	//----------------

-	return session.execute(progressMonitor);

-}

-/**

- * Runs one session

- */

-public boolean executeSessionUndo(UMSessionManagerSession session, IProgressMonitor progressMonitor) {

-

-	if (session == null)

-		return false;

-

-	// Run the session

-	//----------------

-	return session.executeUndo(progressMonitor);

-}

-/**

- * Returns an array of sessions that are complete.

- * @return org.eclipse.update.internal.core.UMSessionManagerSession[]

- */

-private UMSessionManagerSession[] getUpdateSessionsCompleted() {

-

-	// Obtain the successfully completed sessions

-	//-------------------------------------------

-	UMSessionManagerSession session = null;

-

-	ArrayList alSessionsCompleted = new ArrayList();

-

-	Iterator iter = _alUpdateSessions.iterator();

-

-	while (iter.hasNext() == true) {

-

-		session = (UMSessionManagerSession) iter.next();

-

-		if (session.isComplete() == true) {

-			alSessionsCompleted.add(session);

-		}

-	}

-

-	Object[] objArray = alSessionsCompleted.toArray();

-	UMSessionManagerSession[] sessions = new UMSessionManagerSession[objArray.length];

-	System.arraycopy(objArray, 0, sessions, 0, objArray.length);

-

-	return sessions;

-}

-/**

- * Removes an existing update session

- *

- */

-private boolean removeUpdateSession(UMSessionManagerSession session) {

-

-	if (session != null && _logUpdate != null) {

-

-	    // Ensure session exists

-	    //----------------------

-		if (_alUpdateSessions.contains(session) == false) {

-			return false;

-		}

-

-		// Remove the log entry

-		//---------------------

-		if (session.getLogEntry() != null) {

-

-			if (_logUpdate.removeChildEntry(session.getLogEntry()) == false) {

-				return false;

-			}

-

-			// Remove the session

-			//-------------------

-			_alUpdateSessions.remove(session);

-		}

-	}

-

-	return true;

-}

-/**

- * Saves the current state of the update log.

- */

-public void saveUpdateLog() throws LogStoreException {

-	_logUpdate.save( _urlUpdate );

-}

-/**

- * Moves all completed sessions in the update log to the history log.

- * This method does not parse the history file.  Sessions are written to

- * the end of the history log and removed from the update log tree, and update

- * session tree.  The update log is saved.

- */

-public void updateAndSaveLogs() throws LogStoreException {

-

-	// Check for history log URL

-	// If none, save the update log

-	//-----------------------------

-	if (_urlHistory == null) {

-		saveUpdateLog();

-		return;

-	}

-

-	// Obtain a list of completed update sessions

-	//-------------------------------------------

-	UMSessionManagerSession[] sessionsCompleted = getUpdateSessionsCompleted();

-

-	// If there are none, save the update log

-	//---------------------------------------

-	if (sessionsCompleted.length <= 0) {

-		saveUpdateLog();

-		return;

-	}

-

-	// Attempt to open the output log

-	//-------------------------------

-	String strFilespec = UMEclipseTree.getFileInPlatformString(_urlHistory);

-	

-

-	File file = new File(strFilespec);

-

-	boolean bExists = file.exists();

-

-	if (bExists == false) {

-		try {

-			bExists = file.createNewFile();

-		}

-		catch (IOException ex) {

-			return;

-		}

-	}

-

-	// Create a file writer and seek to the end of the file

-	//-----------------------------------------------------

-	RandomAccessFile fileWriter = null;

-

-	if (bExists == true) {

-		try {

-			fileWriter = new RandomAccessFile(file, "rw");

-			long lLength = fileWriter.length();

-			fileWriter.seek(lLength);

-		}

-		catch (IOException ex) {

-			fileWriter = null;

-		}

-	}

-

-	// Write out each session log to the history log

-	// Remove the session log from the update log

-	// Save both logs

-	//----------------------------------------------

-	StringBuffer strb = new StringBuffer();

-

-	if (fileWriter != null) {

-

-		ILogEntry logEntry = null;

-

-		for (int i = 0; i < sessionsCompleted.length; ++i) {

-

-			logEntry = sessionsCompleted[i].getLogEntry();

-

-			if (logEntry != null) {

-				logEntry.printPersistentEntryString(strb, 0);

-			}

-		}

-	}

-

-	// Write the buffer to the end of the history file

-	//------------------------------------------------

-	if (strb.length() > 0) {

-		try {

-			fileWriter.write(strb.toString().getBytes());

-			fileWriter.close();

-		}

-		catch (IOException ex) {

-

-		}

-	}

-

-	// Remove the update sessions from the update log

-	//-----------------------------------------------

-	for (int i = 0; i < sessionsCompleted.length; ++i) {

-		removeUpdateSession(sessionsCompleted[i]);

-	}

-

-	// Save the update log to keep logs in sync

-	//-----------------------------------------

-	saveUpdateLog();

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerEntry.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerEntry.java
deleted file mode 100644
index 9d616c8..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerEntry.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.internal.boot.update.*;

-/**

- * Abstract class for update manager objects that have an ILogEntry

- */

-public abstract class UMSessionManagerEntry {

-	protected ILogEntry _logEntry = null;

-	protected ILogEntryProperty _propertyStatus = null;

-	protected ILogEntryProperty _propertyAttempts = null;

-	protected Object            _objData = null;

-/**

- * UpdateManagerEntry constructor comment.

- */

-public UMSessionManagerEntry( ILogEntry logEntry ) {

-	_logEntry = logEntry;

-

-	// Status

-	//-------

-	_propertyStatus = _logEntry.getProperty(UpdateManagerConstants.STRING_STATUS);

-

-	if (_propertyStatus == null) {

-		_propertyStatus = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_STATUS, UpdateManagerConstants.STATUS_PENDING );

-		logEntry.addProperty( _propertyStatus );

-	}

-

-	// Attempts

-	//---------

-	_propertyAttempts = _logEntry.getProperty(UpdateManagerConstants.STRING_ATTEMPTS);

-

-	if (_propertyAttempts == null) {

-		_propertyAttempts = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_ATTEMPTS, UpdateManagerConstants.STRING_0 );

-		logEntry.addProperty( _propertyAttempts );

-	}

-

-}

-/**

- * @param logEntry org.eclipse.update.internal.core.ILogEntry

- */

-public void buildTreeFromLog(ILogEntry logEntry) {

-	

-	// Attempts

-	//---------

-	ILogEntryProperty property = _logEntry.getProperty(UpdateManagerConstants.STRING_ATTEMPTS);

-

-	if (property != null) {

-		_propertyAttempts = property;

-	}

-	

-	// Status

-	//-------

-	property = _logEntry.getProperty(UpdateManagerConstants.STRING_STATUS);

-

-	if (property != null) {

-		_propertyStatus = property;

-	}

-}

-/**

- * 

- * @return java.lang.String

- * @param strPrefix java.lang.String

- * @param ex java.lang.Exception

- */

-public String createMessageString(String strPrefix, Exception ex) {

-

-	StringBuffer strb = new StringBuffer(strPrefix);

-

-	if (ex != null) {

-		if (ex.getLocalizedMessage() != null) {

-			strb.append(": " + ex.getLocalizedMessage());

-		}

-

-		else if (ex.toString() != null && ex.toString().length() > 0) {

-			strb.append(": " + ex.toString());

-		}

-	}

-

-	return strb.toString();

-}

-/**

- * Execute any pending or failed updates.

- */

-public abstract boolean execute( IProgressMonitor progressMonitor );

-/**

- * Execute any pending or failed updates.

- */

-public abstract boolean executeUndo( IProgressMonitor progressMonitor );

-/**

- * @return java.lang.Object

- */

-public java.lang.Object getData() {

-	return _objData;

-}

-/**

- * Returns the log entry associated with this session object.

- * @return org.eclipse.update.internal.core.ILogEntry

- */

-public ILogEntry getLogEntry() {

-	return _logEntry;

-}

-/**

- *

- * @return java.lang.String

- */

-public String getStatus() {

-

-	return _propertyStatus.getValue();

-}

-/**

- * @param strb java.lang.StringBuffer

- * @param iIndentation int

- */

-public abstract void getStatusString(StringBuffer strb, int iIndentation);

-/**

- * Increments the value of the number of attempts

- */

-public void incrementAttemptCount() {

-

-	int iAttempts = 0;

-

-	try {

-		iAttempts = new Integer(_propertyAttempts.getValue()).intValue();

-	}

-	catch (Exception ex) {

-	}

-

-	_propertyAttempts.setValue( Integer.toString( ++iAttempts ) );

-}

-/**

- * @param strb java.lang.StringBuffer

- * @param iIndentation int

- */

-public void indent(StringBuffer strb, int iIndentation) {

-

-	// Line feed

-	//----------

-	strb.append( "\n" );

-

-	// Indentation spaces

-	//-------------------

-	for( int i=0; i<iIndentation; ++i ){

-		strb.append( " " );

-	}

-}

-/**

- */

-public void resetAttemptCount() {

-	_propertyAttempts.setValue( UpdateManagerConstants.STRING_0 );

-}

-/**

- * Stores IManifestDescriptor

- * @param newData java.lang.Object

- */

-public void setData(java.lang.Object objData) {

-	_objData = objData;

-}

-/**

- * Every entry has a status property.

- * @return java.lang.String

- * @param status java.lang.String

- */

-public void setStatus(String strStatus) {

-

-	_propertyStatus.setValue( strStatus != null ? strStatus : UpdateManagerConstants.STRING_EMPTY );

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerMessage.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerMessage.java
deleted file mode 100644
index 3a9c9b9..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerMessage.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.internal.boot.update.*;

-import java.util.Date;

-

-/**

- * This class represents a failure message and consists of a timestamp and text.

- *

- */

-

-public class UMSessionManagerMessage {

-	protected ILogEntry _logEntry = null;

-	protected ILogEntryProperty _propertyTimestamp = null;

-	protected ILogEntryProperty _propertyText      = null;

-/**

- *

- * @param logEntry org.eclipse.update.internal.core.ILogEntry

- */

-public UMSessionManagerMessage(ILogEntry logEntry) {

-

-	_logEntry = logEntry;

-	

-	// Text

-	//-----

-	_propertyText = _logEntry.getProperty(UpdateManagerConstants.STRING_TEXT);

-

-	if (_propertyText == null) {

-		_propertyText = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_TEXT, UpdateManagerConstants.STRING_EMPTY );

-		logEntry.addProperty( _propertyText );

-	}

-

-	// Timestamp

-	//----------

-	_propertyTimestamp = _logEntry.getProperty(UpdateManagerConstants.STRING_TIMESTAMP);

-

-	if (_propertyTimestamp == null) {

-		_propertyTimestamp = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_TIMESTAMP, new Date().toString() );

-		logEntry.addProperty( _propertyTimestamp );

-	}

-}

-/**

- * @param logEntry org.eclipse.update.internal.core.LogEntry

- */

-public void buildTreeFromLog(ILogEntry logEntry) {

-		

-	// Text

-	//-----

-	ILogEntryProperty property = _logEntry.getProperty(UpdateManagerConstants.STRING_TEXT);

-

-	if (property != null) {

-		_propertyText = property;

-	}

-

-	// Source

-	//-------

-	property = _logEntry.getProperty(UpdateManagerConstants.STRING_TIMESTAMP);

-

-	if (property != null) {

-		_propertyTimestamp = property;

-	}

-}

-/**

- * @return java.lang.String

- */

-public String getText() {

-	

-	return _propertyText.getValue();

-}

-/**

- *

- */

-public void setText( String strID ) {

-	_propertyText.setValue( strID != null ? strID : UpdateManagerConstants.STRING_EMPTY );

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerOperation.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerOperation.java
deleted file mode 100644
index f6aadd5..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerOperation.java
+++ /dev/null
@@ -1,1189 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.webdav.http.client.Response;

-import java.util.jar.*;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.internal.boot.LaunchInfo;

-import org.eclipse.update.internal.ui.*;

-import org.eclipse.core.internal.boot.update.*;

-import java.io.*;

-import java.net.*;

-import java.util.*;

-

-/**

- * This class represents an operation such as "copy" or "unzip".

- * Attributes are id, status (pending/complete), action,

- * source, target.  Children are messages.

- */

-

-public class UMSessionManagerOperation extends UMSessionManagerEntry {

-		

-	protected ArrayList         _alMessages     = new ArrayList();

-	protected ILogEntryProperty _propertyAction = null;

-	protected ILogEntryProperty _propertyID     = null;

-	protected ILogEntryProperty _propertySource = null;

-	protected ILogEntryProperty _propertyTarget = null;

-/**

- * UpdateManagerOperation constructor comment.

- */

-public UMSessionManagerOperation( ILogEntry logEntry ) {

-	super( logEntry );

-

-	// Action

-	//-------

-	_propertyAction = _logEntry.getProperty(UpdateManagerConstants.STRING_ACTION);

-

-	if (_propertyAction == null) {

-		_propertyAction = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_ACTION, UpdateManagerConstants.STRING_EMPTY );

-		logEntry.addProperty( _propertyAction );

-	}

-

-	// Id

-	//---

-	_propertyID = _logEntry.getProperty(UpdateManagerConstants.STRING_ID);

-

-	if (_propertyID == null) {

-		_propertyID = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_ID, UpdateManagerConstants.STRING_EMPTY );

-		logEntry.addProperty( _propertyID );

-	}

-

-	// Source

-	//-------

-	_propertySource = _logEntry.getProperty(UpdateManagerConstants.STRING_SOURCE);

-

-	if (_propertySource == null) {

-		_propertySource = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_SOURCE, UpdateManagerConstants.STRING_EMPTY );

-		logEntry.addProperty( _propertySource );

-	}

-

-	// Target

-	//-------

-	_propertyTarget = _logEntry.getProperty(UpdateManagerConstants.STRING_TARGET);

-

-	if (_propertyTarget == null) {

-		_propertyTarget = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_TARGET, UpdateManagerConstants.STRING_EMPTY );

-		logEntry.addProperty( _propertyTarget);

-	}

-}

-/**

- * @param logEntry org.eclipse.update.internal.core.LogEntry

- */

-public void buildTreeFromLog(ILogEntry logEntry) {

-	

-	super.buildTreeFromLog( logEntry );

-	

-	// Action

-	//-------

-	ILogEntryProperty property = _logEntry.getProperty(UpdateManagerConstants.STRING_ACTION);

-

-	if (property != null) {

-		_propertyAction = property;

-	}

-	

-

-	// Id

-	//---

-	property = _logEntry.getProperty(UpdateManagerConstants.STRING_ID);

-

-	if (property != null) {

-		_propertyID = property;

-	}

-

-	// Source

-	//-------

-	property = _logEntry.getProperty(UpdateManagerConstants.STRING_SOURCE);

-

-	if (property != null) {

-		_propertySource = property;

-	}

-

-	// Target

-	//-------

-	property = _logEntry.getProperty(UpdateManagerConstants.STRING_TARGET);

-

-	if (property != null) {

-		_propertyTarget = property;

-	}

-

-

-	ILogEntry[] entries = logEntry.getChildEntries();

-

-	// Messages

-	//---------

-	int iIndex = 0;

-	UMSessionManagerMessage message = null;

-	

-	for( int i = 0; i < entries.length; ++i) {

-		if (entries[i] != null && entries[i].getName().equals(UpdateManagerConstants.STRING_MESSAGE) == true) {

-			message = new UMSessionManagerMessage( entries[i] );			

-	        _alMessages.add( message );

-

-	        message.buildTreeFromLog( entries[i] );

-		}

-	}

-}

-/**

- * Copies all data from input stream to output stream.

- * @param inputStream java.io.InputStream

- * @param outputStream java.io.OutputStream

- */

-public String copyStream(InputStream streamInput, OutputStream streamOutput, long lContentLength, String strTaskName, IProgressMonitor progressMonitor, boolean bSubtask) {

-

-	String strErrorMessage = null;

-

-	// Allocate buffer

-	//---------------- 

-	byte[] byteArray = null;

-

-	if (streamInput != null && streamOutput != null) {

-		byteArray = new byte[64000];

-	}

-

-	if (byteArray != null) {

-

-		// Copy

-		//-----

-		if (progressMonitor != null) {

-			if (bSubtask == false) {

-				if (lContentLength > 0 && lContentLength < Integer.MAX_VALUE)

-					progressMonitor.beginTask(UpdateManagerStrings.getString("S_Copy") + ": " +strTaskName, (int) lContentLength);

-				else

-					progressMonitor.beginTask(UpdateManagerStrings.getString("S_Copy") + ": "  + strTaskName, IProgressMonitor.UNKNOWN);

-			}

-			else {

-				progressMonitor.subTask(UpdateManagerStrings.getString("S_Copy") + ": "  + strTaskName);

-			}

-		}

-

-		int iBytesReceived = 0;

-

-		do {

-			// Read

-			//-----

-			try {

-				iBytesReceived = streamInput.read(byteArray);

-			}

-			catch (Exception ex) {

-				iBytesReceived = 0;

-				strErrorMessage = UpdateManagerStrings.getString("S_Error_reading_from_input_stream") + ": " + ex.getMessage();

-			}

-

-			// Write

-			//------

-			if (iBytesReceived > 0) {

-				try {

-					streamOutput.write(byteArray, 0, iBytesReceived);

-

-					if (progressMonitor != null && bSubtask == false)

-						progressMonitor.worked(iBytesReceived);

-				}

-				catch (IOException ex) {

-					iBytesReceived = 0;

-					strErrorMessage = UpdateManagerStrings.getString("S_Error_writing_to_output_stream") + ": " + ex.getMessage();

-				}

-			}

-		}

-		while (iBytesReceived > 0);

-

-		if (progressMonitor != null && bSubtask == false) {

-			progressMonitor.done();

-		}

-	}

-

-	return strErrorMessage;

-}

-/**

- *

- * @return org.eclipse.update.internal.core.UMSessionManagerMessage

- * @param actionType java.lang.String

- */

-public UMSessionManagerMessage createMessage() {

-

-	// Create a new log entry

-	//-----------------------

-	ILogEntry logEntryChild = new LogEntry( _logEntry, UpdateManagerConstants.STRING_MESSAGE );

-	_logEntry.addChildEntry( logEntryChild );

-

-	// Create the operation object

-	//----------------------------

-	UMSessionManagerMessage message = new UMSessionManagerMessage( logEntryChild );

-	

-	message.buildTreeFromLog( logEntryChild );

-	

-	_alMessages.add( message );

-	

-	return message;

-}

-/**

- *

- * 

- */

-public boolean doCopy(IProgressMonitor progressMonitor) {

-

-	String strErrorMessage = null;

-

-	// Input URL

-	//----------

-	URL urlInput = null;

-

-	try {

-		urlInput = new URL(getSource());

-	}

-	catch (MalformedURLException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Source_URL_is_malformed"), ex);

-	}

-

-	URL urlOutput = null;

-

-	// Output URL

-	//-----------

-	try {

-		urlOutput = new URL(getTarget());

-	}

-	catch (MalformedURLException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Target_URL_is_malformed"), ex);

-	}

-

-	// Input

-	//-------

-	InputStream streamInput = null;

-

-	long lContentLength = 0;

-

-	if (urlInput != null && urlOutput != null) {

-

-		// Input stream

-		//-------------

-		try {

-			URLHandler.Response response = (URLHandler.Response)URLHandler.open(urlInput);

-			lContentLength = response.getContentLength();

-			if( response.getResponseCode() == HttpURLConnection.HTTP_OK )

-				streamInput = response.getInputStream();

-		}

-		catch (IOException ex) {

-			strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Unable_to_obtain_source_input_stream"), ex);

-		}

-

-	}

-

-	// Output

-	//-------

-	OutputStream streamOutput = null;

-

-	if (streamInput != null) {

-

-		// Output connection

-		//------------------

-		URLConnection urlConnectionOutput = null;

-		

-		try {

-			urlConnectionOutput = urlOutput.openConnection();

-			urlConnectionOutput.setDoOutput(true);

-		}

-		catch (IOException ex) {

-			strErrorMessage = createMessageString( UpdateManagerStrings.getString("S_Unable_to_connect"), ex );

-		}

-

-		// Output stream

-		//--------------

-		if (urlConnectionOutput != null) {

-			try {

-				streamOutput = urlConnectionOutput.getOutputStream();

-			}

-			catch (IOException ex) {

-				strErrorMessage = createMessageString( UpdateManagerStrings.getString("S_Unable_to_obtain_target_output_stream"), ex );

-			}

-		}

-

-		// Attempt to create a file output stream

-		// This is used when protocol is file: or valoader:

-		// thus our local writes are all file I/O currently

-		//-------------------------------------------------

-		if (streamOutput == null) {

-	        try

-	        {

-		 		streamOutput = getFileOutputStream(urlOutput);

-	        }

-	        catch( IOException ex){

-				strErrorMessage = createMessageString( UpdateManagerStrings.getString("S_Unable_to_create_file"), ex );

-			}

-		}

-	}

-

-	if( streamInput != null && streamOutput != null )

-	{

-	    strErrorMessage = copyStream( streamInput, streamOutput, lContentLength, urlInput.toExternalForm(), progressMonitor, false );

-	}    

-

-	// Close input stream

-	//-------------------

-	if (streamInput != null) {

-		try {

-			streamInput.close();

-		}

-		catch (IOException ex) {

-		}

-	}

-

-	// Close output stream

-	//--------------------

-	if (streamOutput != null) {

-		try {

-			streamOutput.flush();

-			streamOutput.close();

-		}

-		catch (IOException ex) {

-			strErrorMessage = createMessageString( UpdateManagerStrings.getString("S_Error_closing_output_stream"), ex );

-		}

-	}

-	

-	// Increment the number of attempts

-	//---------------------------------

-	incrementAttemptCount();

-

-	// Error return

-	//-------------

-	if (strErrorMessage != null) {

-		UMSessionManagerMessage message = createMessage();

-		message.setText(strErrorMessage);

-		setStatus(UpdateManagerConstants.STATUS_FAILED);

-		return false;

-	}

-

-	// Successful return

-	//------------------

-	setStatus(UpdateManagerConstants.STATUS_SUCCEEDED);

-

-	return true;

-}

-/**

- *

- * 

- */

-public boolean doUnzip(IProgressMonitor progressMonitor) {

-

-	String strErrorMessage = null;

-	int rc = UpdateManagerConstants.UNDEFINED_CONTENTS;

-

-	// Input URL

-	//----------

-	URL urlInput = null;

-	try {

-		urlInput = new URL(getSource());

-	}

-	catch (MalformedURLException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Source_URL_is_malformed"), ex);

-	}

-

-	// Output URL

-	//-----------

-	URL urlOutput = null;

-	try {

-		urlOutput = new URL(getTarget());

-	}

-	catch (MalformedURLException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Target_URL_is_malformed"), ex);

-	}

-

-	// For unzipping plugins or component/configuration jar, 

-	// set up the list of directories to look for, also call

-	// LaunchInfo.installPending

-	//-----------------------------------------------------

-	Vector dirNames = new Vector();

-	Vector dirNamesInstalled = new Vector();// keep track of plugins/fragments unzipped

-	Vector dirNamesUnexpected = new Vector();	// keep track of unexpected plugins/fragments dir

-	ArrayList productVIDs = new ArrayList();

-	ArrayList componentVIDs = new ArrayList();

-	ArrayList pluginVIDs = new ArrayList();

-	ArrayList fragmentVIDs = new ArrayList();

-

-	if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_PLUGINS ) {

-		IComponentDescriptor comp = null;

-		if (getData() instanceof IComponentEntryDescriptor) {

-			comp = ((IComponentEntryDescriptor) getData()).getComponentDescriptor();

-		} else {

-			comp = (IComponentDescriptor) getData();

-		}

-		if (comp != null) {

-			IPluginEntryDescriptor[] plugins = comp.getPluginEntries();

-			for (int i=0; i<plugins.length; i++) {

-				dirNames.addElement( UMEclipseTree.PLUGINS_DIR + "/" + plugins[i].getDirName());

-				pluginVIDs.add(new LaunchInfo.VersionedIdentifier(plugins[i].getUniqueIdentifier(), plugins[i].getVersionStr()));

-			}

-			IFragmentEntryDescriptor[] fragments = comp.getFragmentEntries();

-			for (int i=0; i<fragments.length; i++) {

-				dirNames.addElement( UMEclipseTree.FRAGMENTS_DIR + "/" + fragments[i].getDirName());	

-				fragmentVIDs.add(new LaunchInfo.VersionedIdentifier(plugins[i].getUniqueIdentifier(), plugins[i].getVersionStr()));

-			}

-		} else {

-			strErrorMessage = UpdateManagerStrings.getString("S_Error_in_registry");

-		}

-	} else if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_INSTALL) {

-		rc = UpdateManagerConstants.INSTALL_XML_MISSING;

-		if (getData() instanceof IProductDescriptor) {

-			IProductDescriptor desc = (IProductDescriptor) getData();

-			dirNames.addElement(UMEclipseTree.INSTALL_DIR + "/" + UMEclipseTree.PRODUCTS_DIR + "/" + desc.getDirName());

-			productVIDs.add(new LaunchInfo.VersionedIdentifier(desc.getUniqueIdentifier(), desc.getVersionStr()));

-		} else { 

-			IComponentDescriptor desc = null;

-			if (getData() instanceof IComponentEntryDescriptor) {

-				desc = ((IComponentEntryDescriptor) getData()).getComponentDescriptor();

-			} else {

-				desc = (IComponentDescriptor) getData();

-			}

-			dirNames.addElement(UMEclipseTree.INSTALL_DIR + "/" + UMEclipseTree.COMPONENTS_DIR + "/" + desc.getDirName());

-			componentVIDs.add(new LaunchInfo.VersionedIdentifier(desc.getUniqueIdentifier(), desc.getVersionStr()));

-		}

-	}

-	if (!LaunchInfo.getCurrent().installPending(productVIDs, componentVIDs, pluginVIDs, fragmentVIDs)) {

-		strErrorMessage = UpdateManagerStrings.getString("S_Error_occurred_during_installation_setup");

-	}

-	

-	

-	// Create a file specification from the input URL

-	//-----------------------------------------------

-	String strFilespec = UMEclipseTree.getFileInPlatformString(urlInput);

-

-	JarFile jarFile = null;

-

-	try {

-		jarFile = new JarFile(strFilespec);

-	}

-	catch (IOException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Unable_to_open_Jar_file"), ex);

-	}

-

-	if ((jarFile != null) && (strErrorMessage == null)) {

-

-		JarEntry entry = null;

-		InputStream streamInputEntry = null;

-

-		int iCount = jarFile.size();

-		

-		// Set up progress monitor

-		// Compute the filename without the path information

-		//--------------------------------------------------

-		String strFilename = strFilespec;

-		int iIndex = strFilespec.lastIndexOf(File.separatorChar);

-		

-		if (iIndex >= 0 && iIndex < strFilespec.length() - 1) {

-			strFilename = strFilespec.substring(iIndex + 1);

-		}

-

-		if (progressMonitor != null) {

-			progressMonitor.beginTask(UpdateManagerStrings.getString("S_Install") + ": " + strFilename, iCount);

-		}

-

-

-		// Do each jar file entry

-		//-----------------------

-		Enumeration enum = jarFile.entries();

-		while (enum.hasMoreElements() == true) {

-			entry = (JarEntry) enum.nextElement();

-			String entryName = entry.getName();

-			

-			if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_PLUGINS ) {

-				// Unzip plugins and fragments.  Skip entries not under plugins/  or fragments/ trees

-				//-----------------------------------------------------------------------------------

-				if ((!entryName.startsWith(UMEclipseTree.PLUGINS_DIR) &&

-					!entryName.startsWith(UMEclipseTree.FRAGMENTS_DIR)) 

-					|| entryName.endsWith("/")) {

-					if (progressMonitor != null) progressMonitor.worked(1);

-					continue;

-				}

-				String prefix = entryName;

-				int second_slash = entryName.indexOf("/", (entryName.indexOf("/")+1));

-				if (second_slash > 0) 

-					prefix = entryName.substring(0,second_slash);

-				int match = dirNames.indexOf(prefix);

-				if (match < 0) {   // not a valid plugin

-					if (!dirNamesUnexpected.contains(prefix))

-						dirNamesUnexpected.addElement(prefix);

-					continue;

-				}

-				// got an entry with matching directory 

-				// keep track of which ones they are

-				if (!dirNamesInstalled.contains(prefix))

-					dirNamesInstalled.addElement(prefix);

-			} else if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_INSTALL) {

-				// Skip over entries that don't start with the right dir naming convention (id_version)

-				//-------------------------------------------------------------------------------------

-				if (!entryName.startsWith((String)dirNames.firstElement()) || entryName.endsWith("/")) {

-					if (progressMonitor != null) progressMonitor.worked(1);

-					continue;

-				}

-				// got an entry - as long as we have install.xml we're happy

-				if (entryName.equals((String)dirNames.firstElement()+"/"+IManifestAttributes.INSTALL_MANIFEST))

-					rc = UpdateManagerConstants.OK;

-			} else if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_BINDIR) {

-				// Unzip the bin directory, if it exists

-				//--------------------------------------

-				if (!entryName.startsWith(UMEclipseTree.BIN_DIR) || entryName.endsWith("/")) {

-					if (progressMonitor != null) progressMonitor.worked(1);

-					continue;

-				}

-				// got bin dir

-				rc = UpdateManagerConstants.OK;

-			}

-			try {

-				streamInputEntry = jarFile.getInputStream(entry);

-			}

-			catch (IOException ex) {

-				streamInputEntry = null;

-				strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Unable_to_open_jar_entry_input_stream"), ex);

-				break;

-			}

-			catch (SecurityException ex) {

-				streamInputEntry = null;

-				strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Encountered_jar_entry_security_exception"), ex);

-				break;

-			}

-

-

-			// Create an output URL

-			//---------------------

-			URL urlOutputFile = null;

-

-			if (streamInputEntry != null) {

-				try {

-					// Ensure file separator between target directory, and source file path

-					//---------------------------------------------------------------------

-					StringBuffer strbTarget = new StringBuffer(getTarget());

-					if (getTarget().endsWith("/") == false) {

-						strbTarget.append('/');

-					}

-					strbTarget.append(entryName);

-					urlOutputFile = new URL(strbTarget.toString());

-					File fTarget = new File(UMEclipseTree.getFileInPlatformString(urlOutputFile));

-					if (fTarget.exists() &&

-						(getAction() != UpdateManagerConstants.OPERATION_UNZIP_BINDIR)) {		

-						// we will not override existing files, except in bin/

-						if (progressMonitor != null) progressMonitor.worked(1);

-						continue;

-					}

-				}

-				catch (MalformedURLException ex) {

-					strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Unable_to_create_jar_entry_URL"), ex);

-					break;

-				}

-			}

-

-

-			// Create a file output stream

-			//----------------------------

-			OutputStream streamOutputFile = null;

-

-			if (urlOutputFile != null) {

-				try {

-					streamOutputFile = getFileOutputStream(urlOutputFile);

-				}

-				catch (IOException ex) {

-					strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Unable_to_create_output_file_for_Jar_entry") + ": " + urlOutputFile.toExternalForm(), ex);

-					break;

-				}

-			}

-

-			// Copy from input to output stream

-			//---------------------------------

-			if (streamInputEntry != null && streamOutputFile != null) {

-

-	            // Do not alter progress monitor

-	            //------------------------------

-				strErrorMessage = copyStream(streamInputEntry, streamOutputFile, 0, entryName, null, true );

-				if (strErrorMessage != null) {

-					break;

-				}

-			}

-			try {

-				if (streamInputEntry != null) 	streamInputEntry.close();

-				if (streamOutputFile != null) 	streamOutputFile.close();

-			} catch (java.io.IOException ex) {

-				// unchecked

-			}

-			if (progressMonitor != null) progressMonitor.worked(1);

-		}	// while

-//		strErrorMessage = "Error Injected!";

-		try {

-			jarFile.close();

-		} catch (java.io.IOException ex) {

-			// unchecked

-		}		

-	}	// if jarFile is not null

-

-	// tally up what's unzipped and what's not

-	//---------------------------------

-	if (strErrorMessage == null) {

-		if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_PLUGINS ) {

-			if (dirNamesUnexpected.size() > 0) {

-				rc = UpdateManagerConstants.UNDEFINED_CONTENTS;

-				strErrorMessage = UpdateManagerStrings.getString("S_Undefined_contents_found_in_Jar");

-			}

-			else if (!dirNamesInstalled.containsAll(dirNames)) {

-				rc = UpdateManagerConstants.MISSING_CONTENTS;

-				strErrorMessage = UpdateManagerStrings.getString("S_Unable_to_find_defined_contents_in_Jar");

-			} 

-		} else if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_INSTALL) {

-			if (rc != UpdateManagerConstants.OK)

-				strErrorMessage = UpdateManagerStrings.getString("S_Unable_to_find_install_manifest_file_in_Jar");

-		}

-	}		

-	

-	// Call LaunchInfo.installConfirmed if all clean

-	// Otherwise, call after we've cleaned up (undo*)

-	//-----------------------------------------------

-	if (strErrorMessage == null) {

-		if (!LaunchInfo.getCurrent().installConfirmed(productVIDs, componentVIDs, pluginVIDs, fragmentVIDs)) {

-			strErrorMessage = UpdateManagerStrings.getString("S_Error_occurred_during_installation_completion");

-		}

-	}

-	

-	if (progressMonitor != null) progressMonitor.done();

-

-	// Increment the number of attempts

-	//---------------------------------

-	incrementAttemptCount();

-

-	// Error return

-	//-------------

-	if (strErrorMessage != null) {

-		UMSessionManagerMessage message = createMessage();

-		message.setText(strErrorMessage);

-		setStatus(UpdateManagerConstants.STATUS_FAILED);

-		return false;

-	}

-

-	// Successful return

-	//------------------

-	setStatus(UpdateManagerConstants.STATUS_SUCCEEDED);

-

-	return true;

-}

-/**

- *

- * 

- */

-public boolean doVerify(IProgressMonitor progressMonitor) {

-

-	String strErrorMessage = null;

-

-	// Input URL

-	//----------

-	URL urlInput = null;

-

-	try {

-		urlInput = new URL(getSource());

-	}

-	catch (MalformedURLException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Source_URL_is_malformed"), ex);

-	}

-

-	IInstallable installable = (IInstallable) getData();

-

-	String strName = installable.getLabel();

-	String strId = null;

-	String strProviderName = null;

-

-	if (installable instanceof IProductDescriptor) {

-		strId = ((IProductDescriptor) installable).getUniqueIdentifier();

-		strProviderName = ((IProductDescriptor) installable).getProviderName();

-	}

-	else if (installable instanceof IComponentDescriptor) {

-		strId = ((IComponentDescriptor) installable).getUniqueIdentifier();

-		strProviderName = ((IComponentDescriptor) installable).getProviderName();

-	}

-	else if (installable instanceof IComponentEntryDescriptor) {

-		strId = ((IComponentEntryDescriptor) installable).getUniqueIdentifier();

-	}

-	else if (installable instanceof IPluginEntryDescriptor) {

-		strId = ((IPluginEntryDescriptor) installable).getUniqueIdentifier();

-	}

-	else if (installable instanceof IFragmentEntryDescriptor) {

-		strId = ((IFragmentEntryDescriptor) installable).getUniqueIdentifier();

-	}

-

-	JarVerificationService verifier = UpdateManager.getCurrentInstance().getJarVerifier();

-

-	JarVerificationResult result = verifier.okToInstall(new File(urlInput.getFile()), strId, strName, strProviderName, progressMonitor);

-

-	if (result.getResultCode() == JarVerificationResult.CANCEL_INSTALL) {

-		Exception ex = result.getResultException();

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Installation_cancelled_by_user"), ex);

-	}

-

-	// Increment the number of attempts

-	//---------------------------------

-	incrementAttemptCount();

-

-	// Error return

-	//-------------

-	if (strErrorMessage != null) {

-		UMSessionManagerMessage message = createMessage();

-		message.setText(strErrorMessage);

-		setStatus(UpdateManagerConstants.STATUS_FAILED);

-		return false;

-	}

-

-	// Successful return

-	//------------------

-	setStatus(UpdateManagerConstants.STATUS_SUCCEEDED);

-

-	return true;

-}

-/**

- * Execute copy from source URL to target URL.

- */

-public boolean execute(IProgressMonitor progressMonitor) {

-

-	if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_INSTALL ||

-		getAction() == UpdateManagerConstants.OPERATION_UNZIP_PLUGINS ||

-		getAction() == UpdateManagerConstants.OPERATION_UNZIP_BINDIR) {

-		return doUnzip(progressMonitor);

-	}

-	

-	else if (getAction() == UpdateManagerConstants.OPERATION_COPY) {

-		return doCopy(progressMonitor);

-	}

-	else if (getAction() == UpdateManagerConstants.OPERATION_VERIFY_JAR) {

-		return doVerify(progressMonitor);

-	}

-	return false;

-}

-/**

- * Execute any pending or failed updates.

- */

-public boolean executeUndo(IProgressMonitor progressMonitor) {

-

-	// Undo all successful and failed operations

-	//------------------------------------------

-	if (getStatus().equals(UpdateManagerConstants.STATUS_PENDING) == false) {

-		if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_INSTALL ||

-			getAction() == UpdateManagerConstants.OPERATION_UNZIP_PLUGINS) {

-			return undoUnzip(progressMonitor);

-		}

-		else if (getAction() == UpdateManagerConstants.OPERATION_COPY) {

-			return undoCopy(progressMonitor);

-		}

-		else if (getAction() == UpdateManagerConstants.OPERATION_VERIFY_JAR){

-			return undoVerify(progressMonitor);

-		}

-	}

-

-	return true;

-}

-/**

- * 

- * @return java.lang.String

- */

-public String getAction() {

-	

-	return _propertyAction.getValue();

-}

-/**

- * Creates a file output stream from the URL.

- * @param url java.net.URL

- */

-private FileOutputStream getFileOutputStream(URL url) throws IOException {

-

-	// Convert the URL to a string

-	//----------------------------

-	String strFilespec = UMEclipseTree.getFileInPlatformString(url);

-

-

-	// Create directory structure

-	//---------------------------

-	int iIndex = strFilespec.lastIndexOf(File.separator);

-	if (iIndex >= 0) {

-		String strPath = strFilespec.substring(0, iIndex+1);

-

-		File fileDirectory = new File(strPath);

-		if (fileDirectory.exists() == false) {

-			fileDirectory.mkdirs();

-		}

-	}

-

-	// Open / create the file

-	//-----------------------

-	File file = new File(strFilespec);

-	boolean bExists = file.exists();

-

-	if (bExists == false) {

-		bExists = file.createNewFile();

-	}

-

-	// Create the output stream

-	//-------------------------

-	return new FileOutputStream(file);

-}

-/**

- * @return java.lang.String

- */

-public String getId() {

-	

-	return _propertyID.getValue();

-}

-/**

- *

- * @return java.lang.String

- */

-public String getSource() {

-	

-	return _propertySource.getValue();

-}

-/**

- * @param strb java.lang.StringBuffer

- * @param iIndentation int

- */

-public void getStatusString(java.lang.StringBuffer strb, int iIndentation) {

-

-	if (getStatus().equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true) {

-		return;

-	}

-	else if (getStatus().equals(UpdateManagerConstants.STATUS_PENDING) == true) {

-		return;

-	}

-

-	else {

-		if (getAction().equals(UpdateManagerConstants.OPERATION_COPY) == true) {

-			indent(strb, iIndentation);

-			strb.append(UpdateManagerStrings.getString("S_Copy") + ": " + getSource());

-		}

-		else if (getAction().equals(UpdateManagerConstants.OPERATION_UNZIP_INSTALL) ||

-				getAction().equals(UpdateManagerConstants.OPERATION_UNZIP_PLUGINS) == true) {

-			indent(strb, iIndentation);

-			strb.append(UpdateManagerStrings.getString("S_Install") + ": " + getSource());

-		}

-

-		// Obtain messages

-		//----------------

-		for (int i = 0; i < _alMessages.size(); ++i) {

-			indent(strb, iIndentation + 2);

-			strb.append(((UMSessionManagerMessage) _alMessages.get(i)).getText());

-		}

-	}

-}

-/**

- *

- * @return java.lang.String

- */

-public String getTarget() {

-	

-	return _propertyTarget.getValue();

-}

-/**

- *

- * @param actionType java.lang.String

- */

-public void setAction(String strAction) {

-	_propertyAction.setValue( strAction != null ? strAction : UpdateManagerConstants.STRING_EMPTY );

-}

-/**

- *

- */

-public void setId( String strID ) {

-	_propertyID.setValue( strID != null ? strID : UpdateManagerConstants.STRING_EMPTY );

-}

-/**

- *

- */

-public void setSource( String strSource ) {

-	_propertySource.setValue( strSource != null ? strSource : UpdateManagerConstants.STRING_EMPTY );

-}

-/**

- *

- */

-public void setTarget( String strTarget ) {

-	_propertyTarget.setValue( strTarget != null ? strTarget : UpdateManagerConstants.STRING_EMPTY );

-}

-/**

- *

- * 

- */

-public boolean undoCopy(IProgressMonitor progressMonitor) {

-

-	String strErrorMessage = null;

-

-	// Output URL

-	//-----------

-	URL urlOutput = null;

-

-	try {

-		urlOutput = new URL(getTarget());

-	}

-	catch (MalformedURLException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Target_URL_is_malformed"), ex);

-	}

-

-	if (urlOutput != null) {

-

-		// Convert the URL to a string

-		//----------------------------

-		String strFilespec = UMEclipseTree.getFileInPlatformString(urlOutput);

-

-		// Delete the file

-		//----------------

-		File file = new File(strFilespec);

-		if (file.exists() == true) {

-			if (file.delete() == false) {

-				strErrorMessage = UpdateManagerStrings.getString("S_Unable_to_delete_file") + ": " + strFilespec;

-			}

-		}

-	}

-

-	// Reset the number of attempts

-	//-----------------------------

-	resetAttemptCount();

-

-	// Error return

-	//-------------

-	if (strErrorMessage != null) {

-		if (getStatus().equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true)

-			setStatus(UpdateManagerConstants.STATUS_SUCCEEDED_UNDO_FAILED);

-		else

-			setStatus(UpdateManagerConstants.STATUS_FAILED_UNDO_FAILED);

-

-		return false;

-	}

-

-	// Successful return

-	//------------------

-	if (getStatus().equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true)

-		setStatus(UpdateManagerConstants.STATUS_SUCCEEDED_UNDO_SUCCEEDED);

-	else

-		setStatus(UpdateManagerConstants.STATUS_FAILED_UNDO_SUCCEEDED);

-

-	return true;

-}

-/**

- *

- * 

- */

-public boolean undoUnzip(IProgressMonitor progressMonitor) {

-

-	String strErrorMessage = null;

-

-	// Input URL

-	//----------

-	URL urlInput = null;

-	try {

-		urlInput = new URL(getSource());

-	}

-	catch (MalformedURLException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Source_URL_is_malformed"), ex);

-	}

-

-	// Output URL

-	//-----------

-	URL urlOutput = null;

-	try {

-		urlOutput = new URL(getTarget());

-	}

-	catch (MalformedURLException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Target_URL_is_malformed"), ex);

-	}

-

-	// For plugins or component/configuration jar, 

-	// set up the list of directories to look for

-	// This section contains subtle differences from doUnzip()

-	//--------------------------------------------------------

-	Vector dirNames = new Vector();

-	ArrayList productVIDs = new ArrayList();

-	ArrayList componentVIDs = new ArrayList();

-	ArrayList pluginVIDs = new ArrayList();

-	ArrayList fragmentVIDs = new ArrayList();

-	if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_PLUGINS ) {

-		IComponentDescriptor comp = null;

-		if (getData() instanceof IComponentEntryDescriptor) {

-			comp = ((IComponentEntryDescriptor) getData()).getComponentDescriptor();

-		} else {

-			comp = (IComponentDescriptor) getData();

-		}

-		if (comp != null) {

-			IPluginEntryDescriptor[] plugins = comp.getPluginEntries();

-			for (int i=0; i<plugins.length; i++) {

-				dirNames.addElement( UMEclipseTree.PLUGINS_DIR + "/" + plugins[i].getDirName());

-				pluginVIDs.add(new LaunchInfo.VersionedIdentifier(plugins[i].getUniqueIdentifier(), plugins[i].getVersionStr()));

-			}

-			IFragmentEntryDescriptor[] fragments = comp.getFragmentEntries();

-			for (int i=0; i<fragments.length; i++) {

-				dirNames.addElement( UMEclipseTree.FRAGMENTS_DIR + "/" + fragments[i].getDirName());	

-				fragmentVIDs.add(new LaunchInfo.VersionedIdentifier(plugins[i].getUniqueIdentifier(), plugins[i].getVersionStr()));

-			}

-		} else {

-			strErrorMessage = UpdateManagerStrings.getString("S_Error_in_registry");

-		}

-	} else if (getAction() == UpdateManagerConstants.OPERATION_UNZIP_INSTALL) {

-		// rc = UpdateManagerConstants.INSTALL_XML_MISSING;

-		if (getData() instanceof IProductDescriptor) {

-			IProductDescriptor desc = (IProductDescriptor) getData();

-			dirNames.addElement(UMEclipseTree.INSTALL_DIR + "/" + UMEclipseTree.PRODUCTS_DIR + "/" + desc.getDirName() + "/");

-			productVIDs.add(new LaunchInfo.VersionedIdentifier(desc.getUniqueIdentifier(), desc.getVersionStr()));

-		} else { 

-			IComponentDescriptor desc = (IComponentDescriptor) getData();

-			dirNames.addElement(UMEclipseTree.INSTALL_DIR + "/" + UMEclipseTree.COMPONENTS_DIR + "/" + desc.getDirName() + "/");

-			componentVIDs.add(new LaunchInfo.VersionedIdentifier(desc.getUniqueIdentifier(), desc.getVersionStr()));

-		}

-	}

-

-		

-	// Create a file specification from the input URL

-	//-----------------------------------------------

-	String strFilespec = UMEclipseTree.getFileInPlatformString(urlInput);

-

-	JarFile jarFile = null;

-	

-	try {

-		jarFile = new JarFile(strFilespec);

-	}

-	catch (IOException ex) {

-		strErrorMessage = createMessageString(UpdateManagerStrings.getString("S_Unable_to_open_Jar_file"), ex);

-	}

-

-	if (jarFile != null) {

-

-		JarEntry entry = null;

-

-		int iCount = jarFile.size();

-

-		// Set up progress monitor

-		// Compute the filename without the path information

-		//--------------------------------------------------

-		String strFilename = strFilespec;

-		int iIndex = strFilespec.lastIndexOf(File.separatorChar);

-		

-		if (iIndex >= 0 && iIndex < strFilespec.length() - 1) {

-			strFilename = strFilespec.substring(iIndex + 1);

-		}

-		

-		if (progressMonitor != null) progressMonitor.beginTask(UpdateManagerStrings.getString("S_Undo") + ": " + strFilename, iCount);

-

-		// Do each jar file entry

-		//-----------------------

-		Enumeration enum = jarFile.entries();

-

-		while (enum.hasMoreElements() == true) {

-			entry = (JarEntry) enum.nextElement();

-			String entryName = entry.getName();

-			

-			if (getAction().equals(UpdateManagerConstants.OPERATION_UNZIP_PLUGINS)) {

-				// Remove the plugins and fragments.  Skip entries not under plugins/ or fragments/ trees

-				//----------------------------------------------------------------------------------------

-				if ((!entryName.startsWith(UMEclipseTree.PLUGINS_DIR)) &&

-					(!entryName.startsWith(UMEclipseTree.FRAGMENTS_DIR))) {

-					if (progressMonitor != null) progressMonitor.worked(1);

-					continue;

-				}												

-				if ((entryName.equals(UMEclipseTree.PLUGINS_DIR + "/")) ||

-					(entryName.equals(UMEclipseTree.FRAGMENTS_DIR + "/"))) {

-					if (progressMonitor != null) progressMonitor.worked(1);

-					continue;

-				}

-				// Don't bother cleaning up the entries not matching the expected list

-				// They weren't unzipped in the first place

-				//--------------------------------------------------------------------

-				String prefix = entryName;

-				int second_slash = entryName.indexOf("/", (entryName.indexOf("/")+1));

-				if (second_slash > 0) 

-					prefix = entryName.substring(0,second_slash);

-				int match = dirNames.indexOf(prefix);

-				if (match < 0) {   // not a valid plugin

-					continue;

-				}

-			} else if (getAction().equals(UpdateManagerConstants.OPERATION_UNZIP_INSTALL)) {

-				// Remove the component/product items.  Skip over entries that don't match the dirname

-				//------------------------------------------------------------------------------------

-				if (!entryName.startsWith((String)dirNames.firstElement())) {

-					if (progressMonitor != null) progressMonitor.worked(1);

-					continue;

-				}

-			} else if (getAction().equals(UpdateManagerConstants.OPERATION_UNZIP_BINDIR)) {

-				// No-op.   The bin directory contents cannot be undone

-				//-----------------------------------------------------

-				break;

-			}

-

-			if (urlOutput != null) {

-				// Build pathname to actual install location

-				//------------------------------------------

-				strFilespec = urlOutput.getFile() + "/" + entryName;

-				strFilespec = strFilespec.replace('/',File.separatorChar);

-				int k = strFilespec.indexOf(UMEclipseTree.DEVICE_SEPARATOR);

-				if (k != -1 && strFilespec.startsWith(File.separator)) {

-					strFilespec = strFilespec.substring(1);

-				}

-

-				// Delete the file or directory

-				//-----------------------------

-				File file = new File(strFilespec);

-				if (file.exists() == true) {

-					if (file.isDirectory())

-						UpdateManager.cleanupDirectory(file);

-					if (file.delete() == false) {

-						strErrorMessage = UpdateManagerStrings.getString("S_Unable_to_delete_file") + ": " + strFilespec;

-					}

-				}

-			}

-		if (progressMonitor != null) progressMonitor.worked(1);		

-		} // while

-

-		try {

-			jarFile.close();

-		} catch (java.io.IOException ex) {

-			// unchecked

-		}

-	} // if jarFile is not null

-

-	// Call LaunchInfo.installConfirmed if all clean

-	//-----------------------------------------------

-	if (strErrorMessage == null) {

-		if (!LaunchInfo.getCurrent().installConfirmed(productVIDs, componentVIDs, pluginVIDs, fragmentVIDs)) {

-			strErrorMessage = UpdateManagerStrings.getString("S_Error_occurred_during_installation_completion");

-		}

-	}

-	

-	if (progressMonitor != null) progressMonitor.done();

-	

-	// Reset the number of attempts

-	//-----------------------------

-	resetAttemptCount();

-

-	// Error return

-	//-------------

-	if (strErrorMessage != null) {

-		if (getStatus().equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true)

-			setStatus(UpdateManagerConstants.STATUS_SUCCEEDED_UNDO_FAILED);

-		else

-			setStatus(UpdateManagerConstants.STATUS_FAILED_UNDO_FAILED);

-

-		return false;

-	}

-

-	// Successful return

-	//------------------

-	if (getStatus().equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true)

-		setStatus(UpdateManagerConstants.STATUS_SUCCEEDED_UNDO_SUCCEEDED);

-	else

-		setStatus(UpdateManagerConstants.STATUS_FAILED_UNDO_SUCCEEDED);

-

-	return true;

-}

-/**

- *

- * 

- */

-public boolean undoVerify(IProgressMonitor progressMonitor) {

-	

-	resetAttemptCount();

-	

-	if (getStatus().equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true)

-		setStatus(UpdateManagerConstants.STATUS_SUCCEEDED_UNDO_SUCCEEDED);

-	else

-		setStatus(UpdateManagerConstants.STATUS_FAILED_UNDO_SUCCEEDED);

-

-	return true;

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerParcel.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerParcel.java
deleted file mode 100644
index b0c7d97..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerParcel.java
+++ /dev/null
@@ -1,327 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.internal.boot.update.*;

-import java.util.*;

-

-/**

- * This class represents either a component or a product.  A parcel can

- * have sub parcels, and copy objects.  Attributes are action (add, fix), id, status (pending, complete),

- * type (component / product).

- */

-

-public class UMSessionManagerParcel extends UMSessionManagerEntry {

-	

-	protected ArrayList _alParcels = new ArrayList();

-	protected ArrayList _alOperations   = new ArrayList();

-	

-	protected ILogEntryProperty _propertyAction = null;

-	protected ILogEntryProperty _propertyID     = null;

-	protected ILogEntryProperty _propertyType   = null;

-/**

- * UpdateManagerParcel constructor comment.

- */

-public UMSessionManagerParcel( ILogEntry logEntry ) {

-	super( logEntry );

-

-	// Action

-	//-------

-	_propertyAction = _logEntry.getProperty(UpdateManagerConstants.STRING_ACTION);

-

-	if (_propertyAction == null) {

-		_propertyAction = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_ACTION, UpdateManagerConstants.STRING_EMPTY );

-		logEntry.addProperty( _propertyAction );

-	}

-

-	// Id

-	//---

-	_propertyID = _logEntry.getProperty(UpdateManagerConstants.STRING_ID);

-

-	if (_propertyID == null) {

-		_propertyID = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_ID, UpdateManagerConstants.STRING_EMPTY );

-		logEntry.addProperty( _propertyID );

-	}

-

-	// Type

-	//-----

-	_propertyType = _logEntry.getProperty(UpdateManagerConstants.STRING_TYPE);

-

-	if (_propertyType == null) {

-		_propertyType = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_TYPE, UpdateManagerConstants.STRING_EMPTY );

-		logEntry.addProperty( _propertyType );

-	}

-}

-/**

- * @param logEntry org.eclipse.update.internal.core.LogEntry

- */

-public void buildTreeFromLog(ILogEntry logEntry) {

-

-	super.buildTreeFromLog( logEntry );

-	

-	// Action

-	//-------

-	ILogEntryProperty property = _logEntry.getProperty(UpdateManagerConstants.STRING_ACTION);

-

-	if (property != null) {

-		_propertyAction = property;

-	}

-

-	// Id

-	//---

-	property = _logEntry.getProperty(UpdateManagerConstants.STRING_ID);

-

-	if (property != null) {

-		_propertyID = property;

-	}

-

-	// Type  

-	//-----

-	property = _logEntry.getProperty(UpdateManagerConstants.STRING_TYPE);

-

-	if (property != null) {

-		_propertyType = property;

-	}

-		

-	ILogEntry[] entries = logEntry.getChildEntries();

-

-	// Parcels

-	//--------	

-	int iIndex = 0;

-	UMSessionManagerParcel parcel = null;

-	

-	for( int i = 0; i < entries.length; ++i) {

-		if (entries[i] != null && entries[i].getName().equals(UpdateManagerConstants.STRING_PARCEL) == true) {

-			parcel = new UMSessionManagerParcel( entries[i] );			

-	        _alParcels.add( parcel );

-

-	        parcel.buildTreeFromLog( entries[i] );

-		}

-	}

-

-	// Operations

-	//-----------

-	iIndex = 0;

-	UMSessionManagerOperation operation = null;

-	

-	for( int i = 0; i < entries.length; ++i) {

-		if (entries[i] != null && entries[i].getName().equals(UpdateManagerConstants.STRING_OPERATION) == true) {

-			operation = new UMSessionManagerOperation( entries[i] );			

-	        _alOperations.add( operation );

-

-	        operation.buildTreeFromLog( entries[i] );

-		}

-	}

-}

-/**

- * @return org.eclipse.update.internal.core.UMSessionManagerOperation

- * @param actionType java.lang.String

- */

-public UMSessionManagerOperation createOperation() {

-

-	// Create a new log entry

-	//-----------------------

-	ILogEntry logEntryChild = new LogEntry( _logEntry, UpdateManagerConstants.STRING_OPERATION );

-	_logEntry.addChildEntry( logEntryChild );

-

-	// Create the operation object

-	//----------------------------

-	UMSessionManagerOperation operation = new UMSessionManagerOperation( logEntryChild );

-	_alOperations.add( operation );

-	

-	return operation;

-}

-/**

- * Creates a sub-parcel

- * @return org.eclipse.update.internal.core.UpdateManagerParcel

- * @param actionType java.lang.String

- */

-public UMSessionManagerParcel createParcel() {

-

-	// Create a new log entry

-	//-----------------------

-	ILogEntry logEntryChild = new LogEntry( _logEntry, UpdateManagerConstants.STRING_PARCEL );

-	_logEntry.addChildEntry( logEntryChild );

-

-	// Create the parcel object

-	//-------------------------

-	UMSessionManagerParcel parcel = new UMSessionManagerParcel( logEntryChild );

-	_alParcels.add( parcel );

-	

-	return parcel;

-}

-/**

- * Execute any pending or failed updates.

- */

-public boolean execute(IProgressMonitor progressMonitor) {

-

-	// Stop if any failure occurs

-	//---------------------------

-	boolean bSuccess = true;

-

-	// Parcels may be sequential, do in forward order

-	//-----------------------------------------------

-	for (int i = 0; i < _alParcels.size(); ++i) {

-

-		if (((UMSessionManagerParcel) _alParcels.get(i)).execute(progressMonitor) == false) {

-			bSuccess = false;

-			break;

-		}

-	}

-

-	// Operations may be sequential, do in forward order

-	//--------------------------------------------------

-	if (bSuccess == true) {

-		for (int i = 0; i < _alOperations.size(); ++i) {

-

-			if (((UMSessionManagerOperation) _alOperations.get(i)).execute(progressMonitor) == false) {

-				bSuccess = false;

-				break;

-			}

-		}

-	}

-

-	// Status

-	//-------

-	setStatus(bSuccess == true ? UpdateManagerConstants.STATUS_SUCCEEDED : UpdateManagerConstants.STATUS_FAILED);

-

-	incrementAttemptCount();

-

-	return bSuccess;

-}

-/**

- * Execute any pending or failed updates.

- */

-public boolean executeUndo(org.eclipse.core.runtime.IProgressMonitor progressMonitor) {

-

-	// Undo only failed attempts

-	//--------------------------

-	if (getStatus().equals(UpdateManagerConstants.STATUS_FAILED) == false) {

-		return true;

-	}

-

-	// Attempt all even if failure occurs

-	//-----------------------------------	

-	boolean bSuccess = true;

-

-	// Parcels may be sequential, undo in reverse order

-	//-------------------------------------------------

-	for (int i = _alParcels.size() - 1; i >= 0; --i) {

-

-		if (((UMSessionManagerParcel) _alParcels.get(i)).executeUndo(progressMonitor) == false) {

-			bSuccess = false;

-		}

-	}

-

-	// Operations may be sequential, undo in reverse order

-	//----------------------------------------------------

-	for (int i = _alOperations.size() - 1; i >= 0; --i) {

-

-		if (((UMSessionManagerOperation) _alOperations.get(i)).executeUndo(progressMonitor) == false) {

-			bSuccess = false;

-		}

-	}

-

-	// Status

-	//-------

-	setStatus(bSuccess == true ? UpdateManagerConstants.STATUS_FAILED_UNDO_SUCCEEDED : UpdateManagerConstants.STATUS_FAILED_UNDO_FAILED);

-

-	resetAttemptCount();

-

-	return bSuccess;

-}

-/**

- * @return java.lang.String

- */

-public String getAction() {

-	

-	return _propertyAction.getValue();

-}

-/**

- * @return java.lang.String

- */

-public String getId() {

-	

-	return _propertyID.getValue();

-}

-/**

- * Returns all operations

- * @return org.eclipse.update.internal.core.UMSessionManagerOperation[]

- */

-public UMSessionManagerOperation[] getOperations() {

-

-	UMSessionManagerOperation[] operations = new UMSessionManagerOperation[_alOperations.size()];

-	return (UMSessionManagerOperation[])_alOperations.toArray( operations );

-}

-/**

- * Returns all sub-parcels

- * @return org.eclipse.update.internal.core.UpdateManagerParcel[]

- */

-public UMSessionManagerParcel[] getParcels() {

-

-	UMSessionManagerParcel[] parcels = new UMSessionManagerParcel[_alParcels.size()];

-	return (UMSessionManagerParcel[])_alParcels.toArray( parcels );

-}

-/**

- * @param strb java.lang.StringBuffer

- * @param iIndentation int

- */

-public void getStatusString(java.lang.StringBuffer strb, int iIndentation) {

-

-	if (getStatus().equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true) {

-		return;

-	}

-

-	else {

-		// Parcel label

-		//-------------

-		IInstallable descriptor = (IInstallable) getData();

-

-		indent(strb, iIndentation);

-		strb.append( descriptor.getLabel());

-

-

-		// Parcels may be sequential, do in forward order

-		//-----------------------------------------------

-		for (int i = 0; i < _alParcels.size(); ++i) {

-

-			((UMSessionManagerParcel) _alParcels.get(i)).getStatusString(strb, iIndentation + 2);

-		}

-

-		// Operations may be sequential, do in forward order

-		//--------------------------------------------------

-		for (int i = 0; i < _alOperations.size(); ++i) {

-

-			((UMSessionManagerOperation) _alOperations.get(i)).getStatusString(strb, iIndentation + 2);

-		}

-	}

-}

-/**

- * @return java.lang.String

- */

-public String getType() {

-	

-	return _propertyType.getValue();

-}

-/**

- *

- */

-public void setAction( String strAction ) {

-	_propertyAction.setValue( strAction != null ? strAction : UpdateManagerConstants.STRING_EMPTY );

-}

-/**

- *

- */

-public void setId( String strID ) {

-	_propertyID.setValue( strID != null ? strID : UpdateManagerConstants.STRING_EMPTY );

-}

-/**

- *

- */

-public void setType( String strType ) {

-	_propertyType.setValue( strType != null ? strType : UpdateManagerConstants.STRING_EMPTY );

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerSession.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerSession.java
deleted file mode 100644
index 369855a..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UMSessionManagerSession.java
+++ /dev/null
@@ -1,207 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.internal.boot.update.*;

-import java.util.Date;

-import java.util.*;

-

-/**

- * This class represents a session in which update manager operations are

- * executed.  This class contains parcel objects and has status and timestamp

- * as its attributes.  The timestamp attribute is automatically set when the session

- * is created for the first time.

- */

-

-public class UMSessionManagerSession extends UMSessionManagerEntry {

-	protected ArrayList _alParcels = new ArrayList();

-	protected ILogEntryProperty _propertyTimestamp = null;

-/**

- * UpdateManagerSession constructor comment.

- */

-public UMSessionManagerSession(ILogEntry logEntry) {

-	super( logEntry );

-

-	// Timestamp

-	//----------

-	_propertyTimestamp = _logEntry.getProperty(UpdateManagerConstants.STRING_TIMESTAMP);

-

-	if (_propertyTimestamp == null) {

-		_propertyTimestamp = new LogEntryProperty(logEntry, UpdateManagerConstants.STRING_TIMESTAMP, new Date().toString() );

-		logEntry.addProperty( _propertyTimestamp );

-	}

-}

-/**

- * @param logEntry org.eclipse.update.internal.core.LogEntry

- */

-public void buildTreeFromLog(ILogEntry logEntry) {

-	

-	super.buildTreeFromLog( logEntry );

-	

-	// Timestamp

-	//----------

-	ILogEntryProperty property = _logEntry.getProperty(UpdateManagerConstants.STRING_TIMESTAMP);

-

-	if (property != null) {

-		_propertyTimestamp = property;

-	}

-

-	

-	ILogEntry[] entries = logEntry.getChildEntries();

-	

-	// Parcels

-	//--------

-	int iIndex = 0;

-	UMSessionManagerParcel parcel = null;

-	

-	for( int i = 0; i < entries.length; ++i) {

-		if (entries[i] != null && entries[i].getName().equals(UpdateManagerConstants.STRING_PARCEL) == true) {

-			parcel = new UMSessionManagerParcel( entries[i] );			

-	        _alParcels.add( parcel );

-

-	        parcel.buildTreeFromLog( entries[i] );

-		}

-	}

-}

-/**

- *

- * @return org.eclipse.update.internal.core.UMTaskManagerParcel

- * @param actionType java.lang.String

- */

-public UMSessionManagerParcel createParcel() {

-

-	// Create a new log entry

-	//-----------------------

-	ILogEntry logEntryChild = new LogEntry( _logEntry, UpdateManagerConstants.STRING_PARCEL );

-	_logEntry.addChildEntry( logEntryChild );

-

-	// Create the copy object

-	//-----------------------

-	UMSessionManagerParcel parcel = new UMSessionManagerParcel( logEntryChild );

-	_alParcels.add( parcel );

-	

-	return parcel;

-}

-/**

- * Execute any pending or failed updates.

- */

-public boolean execute(IProgressMonitor progressMonitor) {

-

-	// Attempt all even if failure occurs

-	//-----------------------------------	

-	boolean bSuccess = true;

-

-	// Parcels may be sequential, do in forward order

-	//-----------------------------------------------

-	for (int i = 0; i < _alParcels.size(); ++i) {

-

-		if (((UMSessionManagerParcel) _alParcels.get(i)).execute(progressMonitor) == false) {

-			bSuccess = false;

-		}

-	}

-

-	// Status

-	//-------

-	setStatus(bSuccess == true ? UpdateManagerConstants.STATUS_SUCCEEDED : UpdateManagerConstants.STATUS_FAILED);

-

-	incrementAttemptCount();

-

-	return bSuccess;

-}

-/**

- * Execute any pending or failed updates.

- */

-public boolean executeUndo(org.eclipse.core.runtime.IProgressMonitor progressMonitor) {

-

-	// Undo only failed attempts

-	//--------------------------

-	if (getStatus().equals(UpdateManagerConstants.STATUS_FAILED) == false) {

-		return true;

-	}

-	

-	// Attempt all even if failure occurs

-	//-----------------------------------	

-	boolean bSuccess = true;

-

-	// Parcels may be sequential, undo in reverse order

-	//-------------------------------------------------

-	for (int i = _alParcels.size() - 1; i >= 0; --i) {

-

-		if (((UMSessionManagerParcel) _alParcels.get(i)).executeUndo(progressMonitor) == false) {

-			bSuccess = false;

-		}

-	}

-

-	// Status

-	//-------

-	setStatus(bSuccess == true ? UpdateManagerConstants.STATUS_FAILED_UNDO_SUCCEEDED : UpdateManagerConstants.STATUS_FAILED_UNDO_FAILED);

-

-	resetAttemptCount();

-	

-	return bSuccess;

-}

-/**

- * Returns all parcels

- * @return org.eclipse.update.internal.core.UMSessionManagerParcel[]

- */

-public UMSessionManagerParcel[] getParcels() {

-

-	UMSessionManagerParcel[] parcels = new UMSessionManagerParcel[_alParcels.size()];

-	return (UMSessionManagerParcel[])_alParcels.toArray( parcels );

-}

-/**

- * @return java.lang.String

- */

-public String getStatusString() {

-	

-	StringBuffer strb = new StringBuffer();

-

-	getStatusString( strb, 0 );

-	

-	return strb.toString();

-}

-/**

- * @param strb java.lang.StringBuffer

- * @param iIndentation int

- */

-public void getStatusString(java.lang.StringBuffer strb, int iIndentation) {

-

-	String strStatus = getStatus();

-

-	if (strStatus.equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true) {

-		strb.append(UpdateManagerStrings.getString("S_Installations_have_completed_successfully"));

-		strb.append("\n");

-		strb.append(UpdateManagerStrings.getString("S_You_must_restart_the_workbench_to_activate_any_changes"));

-	}

-

-	else {

-		strb.append(UpdateManagerStrings.getString("S_An_installation_error_or_cancellation_has_occurred"));

-

-		// Parcels may be sequential, do in forward order

-		//-----------------------------------------------

-		for (int i = 0; i < _alParcels.size(); ++i) {

-

-			((UMSessionManagerParcel) _alParcels.get(i)).getStatusString(strb, 2);

-		}

-	}

-}

-/**

- * @return java.lang.String

- */

-public String getTimestamp() {

-	

-	return _propertyTimestamp.getValue();

-}

-/**

- * Returns whether this session is complete

- * @return boolean

- */

-public boolean isComplete() {

-

-	return _propertyStatus.getValue().equals(UpdateManagerConstants.STATUS_SUCCEEDED) ||

-		   _propertyStatus.getValue().equals(UpdateManagerConstants.STATUS_FAILED_UNDO_SUCCEEDED);

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/URLHandler.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/URLHandler.java
deleted file mode 100644
index 50eed69..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/URLHandler.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.internal.boot.update.*;

-import org.eclipse.webdav.http.client.*;

-import org.eclipse.webdav.client.WebDAVFactory;

-import org.eclipse.webdav.Context;

-import java.io.*;

-import java.net.*;

-

-public class URLHandler extends BaseURLHandler {

-

-	private static HttpClient http = null;

-	private static WebDAVFactory factory = null;

-	

-	private static final String HTTP = "http";

-	

-	static class Response extends BaseURLHandler.Response {

-		private org.eclipse.webdav.http.client.Response r = null;

-		private Response(org.eclipse.webdav.http.client.Response r) {

-			this.r = r;

-		}

-		public InputStream getInputStream() throws IOException {

-			return r.getInputStream();

-		}

-		public long getContentLength() {

-			return r.getContentLength();

-		}

-		public int getResponseCode() {

-			return r.getStatusCode();

-		}

-		public String getResponseMessage() {

-			return r.getStatusMessage();

-		}

-	}

-

-private URLHandler() {}

-public static BaseURLHandler.Response open(URL url) throws IOException {

-

-	if (url==null) return null;

-

-	if (!url.getProtocol().equals(HTTP)) {

-		URLConnection c = url.openConnection();

-		Context ctx = factory.newContext();

-		int i = 1;

-		String name = null;

-		while ((name = c.getHeaderFieldKey(i)) != null) {

-			ctx.put(name.toLowerCase(), c.getHeaderField(i));

-			i++;

-		}	

-		InputStream is = c.getInputStream();	

-		return new Response(new org.eclipse.webdav.http.client.Response(UNKNOWN_STATUS,UNKNOWN_MSG,ctx,is));

-	}

-	else {

-		if (http==null) throw new IllegalStateException(UpdateManagerStrings.getString("S_HTTP_client_not_set"));	

-		Request request = new Request("GET", url, null);

-		return new Response(http.invoke(request));

-	}	

-}

-protected BaseURLHandler.Response openURL(URL url) throws IOException {

-	return URLHandler.open(url);

-}

-public static void setHttpClient(HttpClient c) {

-

-	if (http==null) {

-		http = c;

-		factory = new WebDAVFactory();

-

-		// setup this handler as the handler for boot portion of update manager

-		BaseURLHandler.setURLHandler(new URLHandler());

-	}

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManager.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManager.java
deleted file mode 100644
index e456884..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManager.java
+++ /dev/null
@@ -1,640 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.io.File;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.util.TreeSet;

-

-import org.eclipse.core.internal.boot.LaunchInfo;

-import org.eclipse.core.internal.boot.LaunchInfo.VersionedIdentifier;

-import org.eclipse.core.internal.boot.update.IComponentDescriptor;

-import org.eclipse.core.internal.boot.update.IComponentEntryDescriptor;

-import org.eclipse.core.internal.boot.update.IFragmentEntryDescriptor;

-import org.eclipse.core.internal.boot.update.IInstallable;

-import org.eclipse.core.internal.boot.update.IPluginEntryDescriptor;

-import org.eclipse.core.internal.boot.update.IProductDescriptor;

-import org.eclipse.core.internal.boot.update.IUMRegistry;

-import org.eclipse.core.internal.boot.update.IURLNamePair;

-import org.eclipse.core.internal.boot.update.LogStoreException;

-import org.eclipse.core.internal.boot.update.UMEclipseTree;

-import org.eclipse.core.internal.boot.update.UMRegistryManager;

-import org.eclipse.core.internal.boot.update.UpdateManagerConstants;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.update.internal.ui.JarVerificationService;

-

-/**

- * Update Manager updates a workstation in one of three modes:

- * <ol>

- * <li>local</li>

- * <li>remote</li>

- * <li>remote cached</li>

- * </ol>

- * Usage:

- * <ol>

- * <li>Create an instance of this class</li>

- * <li>Set persistent properties as required</li>

- * <ul>

- * <li>mode</li>

- * <li>update log URL</li>

- * <li>history log URL</li>

- * </ul>

- * <li>Call the initialize function</li>

- * <li>Call the update function</li>

- * </ol>

- * Persistent properties are loaded before any are changed, and saved after any

- * are changed.

- */

-

-public class UpdateManager {

-

-	// Package name for this class

-	// Used by UpdateManagerStrings to obtain its resource bundle properties file

-	//---------------------------------------------------------------------------

-	public static final String _strPackageName = "org.eclipse.update.internal.core";

-	public static UpdateManager _updateManagerInstance = null;

-	

-	// Persistent properties

-	//----------------------

-	protected int    _iMode         = UpdateManagerConstants.MODE_LOCAL;

-	protected String _strUpdateLogURL  = null;

-	protected String _strHistoryLogURL = null;

-

-	// Instance state data

-	//--------------------

-	protected UMRegistryManager _registryManager = null;

-	protected UMSessionManager  _sessionManager  = null;

-	protected Shell             _shell           = null;

-	

-	protected JarVerificationService _jarVerifier = null;

-/**

- * Constructs an instance of this class, then initializes by loading its persistent properties

- */

-public UpdateManager() {

-}

-/**

- * Constructs an instance of this class, then initializes by loading its persistent properties

- */

-public UpdateManager( Shell shell ) {

-	_updateManagerInstance = this;

-	_shell = shell;

-}

-/**

- * Deletes all files in the staging area.

- */

-public void cleanup() {

-	String strStagingDirectory = UMEclipseTree.getFileInPlatformString(UMEclipseTree.getStagingArea());

-

-	File fileStagingDirectory = new File(strStagingDirectory);

-

-	if (fileStagingDirectory.exists() == true) {

-		File[] files = fileStagingDirectory.listFiles();

-		for (int i = 0; i < files.length; ++i) {

-			if (files[i].isDirectory() == true) {

-				cleanupDirectory(files[i]);

-			}

-			boolean bSuccessful = files[i].delete();

-			

-		}

-	}

-}

-/**

- */

-public static void cleanupDirectory(File fileDirectory) {

-

-	File[] files = fileDirectory.listFiles();

-	

-	for (int i = 0; i < files.length; ++i) {

-		if (files[i].isDirectory() == true) {

-			cleanupDirectory(files[i]);

-		}

-

-		boolean bSuccessful = files[i].delete();

-//		if (!bSuccessful)

-//			System.out.println("ooops!" + files[i]);

-	}

-}

-/**

- */

-public UMSessionManagerSession createSession(IInstallable[] descriptors, boolean bVerifyJars) throws UpdateManagerException {

-

-	// FOR NOW DO NOT DO JAR VERIFICATION

-	//-----------------------------------

-	bVerifyJars = false;

-

-	// Create a new update session

-	//----------------------------

-	UMSessionManagerSession session = _sessionManager.createUpdateSession();

-

-	// Create a definer that can define the operations required

-	//---------------------------------------------------------

-	ISessionDefiner sessionDefiner = new UMSessionDefinerReferenceUpdate();

-	

-	// Define a set of operations

-	//---------------------------

-	sessionDefiner.defineOperations(session, descriptors, bVerifyJars);

-

-	// Save the update log

-	//--------------------

-	try {

-		_sessionManager.saveUpdateLog();

-	}

-	catch (LogStoreException ex) {

-		throw new UpdateManagerException(ex.getMessage());

-	}

-

-	return session;

-}

-/**

- * Updates the local machine by:

- * <ol>

- * <li>defining the operations</li>

- * <li>downloading any new objects</li>

- * <li>applying any downloaded updates</li>

- * <li>displaying a progress monitor</li>

- * </ol>

- */

-public UMSessionManagerSession executeSession( UMSessionManagerSession session, IProgressMonitor progressMonitor ) throws UpdateManagerException {

-

-	// Throw any exception when complete

-	//----------------------------------

-	UpdateManagerException umException = null;

-	

-	// Execute the session

-	//--------------------

-	_sessionManager.executeSession( session, progressMonitor );

-

-	// Move successful sessions from update log to history log

-	//--------------------------------------------------------

-	try {

-		_sessionManager.updateAndSaveLogs();

-	}

-	catch (LogStoreException ex) {

-		if (umException != null) {

-			umException = new UpdateManagerException("S_Unable_to_save_update_logs");

-		}

-	}

-

-	// Throw any exceptions found

-	//---------------------------

-	if (umException != null) {

-		throw umException;

-	}

-

-	return session;

-}

-/**

- * Updates the local machine by:

- * <ol>

- * <li>defining the operations</li>

- * <li>downloading any new objects</li>

- * <li>applying any downloaded updates</li>

- * <li>displaying a progress monitor</li>

- * </ol>

- */

-public UMSessionManagerSession executeSessionUndo( UMSessionManagerSession session, IProgressMonitor progressMonitor ) throws UpdateManagerException {

-

-	// Throw any exception when complete

-	//----------------------------------

-	UpdateManagerException umException = null;

-	

-	// Execute the session

-	//--------------------

-	_sessionManager.executeSessionUndo( session, progressMonitor );

-

-	// Move successful sessions from update log to history log

-	//--------------------------------------------------------

-	try {

-		_sessionManager.updateAndSaveLogs();

-	}

-	catch (LogStoreException ex) {

-		if (umException != null) {

-			umException = new UpdateManagerException("S Unable to save update logs");

-		}

-	}

-

-	// Throw any exceptions found

-	//---------------------------

-	if (umException != null) {

-		throw umException;

-	}

-

-	return session;

-}

-/**

- */

-public static UpdateManager getCurrentInstance() {

-	return _updateManagerInstance;

-}

-/**

- * Takes a string with an Id + '_' + Version, and returns the Id.

- */

-private String getIdFromInfoString(String strInfo) {

-

-	String strId = null;

-

-	int iIndex = strInfo.lastIndexOf('_');

-	

-	if (iIndex >= 0) {

-		strId = strInfo.substring(0, iIndex);

-	}

-

-	else {

-		strId = strInfo;

-	}

-

-	return strId;

-}

-// return the jar verifier

-

-public JarVerificationService getJarVerifier() {

-	if (_jarVerifier == null)	

-		_jarVerifier = new JarVerificationService( _shell );

-	return _jarVerifier;

-}

-/**

- * Returns a list of components that require updating by:

- *<ol>

- *<li>Loading all product/component manifests from .install/tree </li>

- *<li>Determining which components require updating by:</li>

- *<ol>

- *<li>Collecting update URLs from each component</li>

- *<li>Collecting update URLs from products that components are a part of</li>

- *</ol>

- *<li>Determining what updates are available by:</li>

- *<ol>

- *<li>Accessing the update URL</li>

- *<li>Determining if the component is a newer version of the existing one</li>

- *</ol>

- *<li>

- *</ol>

- */

-public IURLNamePair[] getLocalDiscoveryURLs() {

-

-	IURLNamePair[] urlNPs = null;

-	

-	// Obtain the local registry

-	//--------------------------

-	IUMRegistry registry = _registryManager.getLocalRegistry();

-

-	// Create a list of all URLs

-	//--------------------------

-	TreeSet setURLs = new TreeSet( new UpdateManagerURLComparator() );

-

-	// Obtain a list of all installed components

-	//------------------------------------------

-	IComponentDescriptor[] componentDescriptors = registry.getComponentDescriptors();

-

-	// Obtain a list of discovery URLs

-	//--------------------------------

-	for (int i = 0; i < componentDescriptors.length; ++i) {

-		urlNPs = componentDescriptors[i].getDiscoveryURLs();

-

-		for (int j = 0; j < urlNPs.length; ++j) {

-			setURLs.add(urlNPs[j]);

-		}

-	}

-

-	// Obtain a list of all installed products

-	//----------------------------------------

-	IProductDescriptor[] productDescriptors = registry.getProductDescriptors();

-

-	// Obtain a list of discovery URLs

-	//--------------------------------

-	for (int i = 0; i < productDescriptors.length; ++i) {

-		urlNPs = productDescriptors[i].getDiscoveryURLs();

-

-		for (int j = 0; j < urlNPs.length; ++j) {

-			setURLs.add(urlNPs[j]);

-		}

-	}

-

-	urlNPs = new IURLNamePair[ setURLs.size() ];

-	System.arraycopy(setURLs.toArray(), 0, urlNPs, 0, setURLs.size() );

-	

-	return urlNPs;

-}

-/**

- * Returns a list of components that require updating by:

- *<ol>

- *<li>Loading all product/component manifests from .install/tree </li>

- *<li>Determining which components require updating by:</li>

- *<ol>

- *<li>Collecting update URLs from each component</li>

- *<li>Collecting update URLs from products that components are a part of</li>

- *</ol>

- *<li>Determining what updates are available by:</li>

- *<ol>

- *<li>Accessing the update URL</li>

- *<li>Determining if the component is a newer version of the existing one</li>

- *</ol>

- *<li>

- *</ol>

- */

-public IURLNamePair[] getLocalUpdateURLs() {

-

-	IURLNamePair[] urlNPs = null;

-	

-	// Obtain the local registry

-	//--------------------------

-	IUMRegistry registry = _registryManager.getLocalRegistry();

-

-	// Create a list of all URLs

-	//--------------------------

-	TreeSet setURLs = new TreeSet( new UpdateManagerURLComparator() );

-

-	// Obtain a list of all installed components

-	//------------------------------------------

-	IComponentDescriptor[] componentDescriptors = registry.getComponentDescriptors();

-

-	// Obtain a list of discovery URLs

-	//--------------------------------

-	for (int i = 0; i < componentDescriptors.length; ++i) {

-		urlNPs = componentDescriptors[i].getUpdateURLs();

-

-		for (int j = 0; j < urlNPs.length; ++j) {

-			setURLs.add(urlNPs[j]);

-		}

-	}

-

-	// Obtain a list of all installed products

-	//----------------------------------------

-	IProductDescriptor[] productDescriptors = registry.getProductDescriptors();

-

-	// Obtain a list of discovery URLs

-	//--------------------------------

-	for (int i = 0; i < productDescriptors.length; ++i) {

-		urlNPs = productDescriptors[i].getUpdateURLs();

-

-		for (int j = 0; j < urlNPs.length; ++j) {

-			setURLs.add(urlNPs[j]);

-		}

-	}

-

-	urlNPs = new IURLNamePair[ setURLs.size() ];

-	System.arraycopy(setURLs.toArray(), 0, urlNPs, 0, setURLs.size() );

-	

-	return urlNPs;

-}

-// return the local (current) registry

-

-public IUMRegistry getRegistryAt(URL url) {

-	

-	return _registryManager.getRegistryAt( url );

-}

-/**

- */

-public UMRegistryManager getRegistryManager() {

-	return _registryManager;

-}

-/**

- * Initializes the update and history log URLs,creates a session manager,

- * and creates a registry manager.

- */

-public void initialize() throws UpdateManagerException{

-

-	// Obtain install URL

-	//-------------------

-	URL urlBase = UMEclipseTree.getBaseInstallURL();

-	String strUrlBase = urlBase.toExternalForm();

-	String strUrlInstall = strUrlBase + "install/";

-

-	String strUrlUpdateLog = strUrlInstall + "update.log";

-	String strUrlHistoryLog = strUrlInstall + "history.log";

-

-	setUpdateLogURL(strUrlUpdateLog);

-	setHistoryLogURL(strUrlHistoryLog);

-

-	// Create a session manager

-	//-------------------------

-	try {

-		_sessionManager = new UMSessionManager(new URL(_strUpdateLogURL), new URL(_strHistoryLogURL), true);

-	}

-	catch (MalformedURLException ex) {

-		throw new UpdateManagerException("Invalid log URL specification");

-	}

-	catch (LogStoreException ex) {

-		throw new UpdateManagerException(ex.getMessage());

-	}

-

-	// Registry Manager

-	//-----------------

-	_registryManager = new UMRegistryManager(urlBase);

-}

-/**

- * 

- */

-public void removeComponent(IComponentDescriptor componentDescriptor) {

-	removeComponent(componentDescriptor, null);

-}

-/**

- * 

- */

-public void removeComponent(IComponentDescriptor componentDescriptor, IProductDescriptor productDescriptor) {

-

-	if( componentDescriptor == null )

-		return;

-		

-	LaunchInfo launchInfo = LaunchInfo.getCurrent();

-	LaunchInfo.VersionedIdentifier vid = null;

-

-	// Plugins

-	//--------

-	IPluginEntryDescriptor[] pluginEntries = componentDescriptor.getPluginEntries();

-

-	for (int i = 0; i < pluginEntries.length; ++i) {

-		vid = new LaunchInfo.VersionedIdentifier(pluginEntries[i].getUniqueIdentifier(), pluginEntries[i].getVersionStr());

-		launchInfo.removePlugin(vid);

-	}

-

-	// Fragments

-	//----------

-	IFragmentEntryDescriptor[] fragmentEntries = componentDescriptor.getFragmentEntries();

-

-	for (int i = 0; i < fragmentEntries.length; ++i) {

-		vid = new LaunchInfo.VersionedIdentifier(fragmentEntries[i].getUniqueIdentifier(), pluginEntries[i].getVersionStr());

-		launchInfo.removeFragment(vid);

-	}

-

-	// Component

-	//----------

-	vid = new LaunchInfo.VersionedIdentifier(componentDescriptor.getUniqueIdentifier(), componentDescriptor.getVersionStr());

-	launchInfo.removeComponent(vid);

-	_registryManager.removeComponentDescriptorFromLocal(componentDescriptor, productDescriptor);

-	

-	return;

-}

-/**

- * 

- */

-public void removeProduct(IProductDescriptor productDescriptor) {

-

-	if( productDescriptor == null )

-		return;

-		

-	// Components

-	//-----------

-	IComponentEntryDescriptor[] componentEntries = productDescriptor.getComponentEntries();

-

-	for (int i = 0; i < componentEntries.length; ++i) {

-		IComponentDescriptor componentDescriptor = componentEntries[i].getComponentDescriptor();

-		if (componentDescriptor.isRemovable(productDescriptor))

-			removeComponent(componentDescriptor, productDescriptor);

-	}

-

-	// Product

-	//--------

-	LaunchInfo.VersionedIdentifier vid = new LaunchInfo.VersionedIdentifier(productDescriptor.getUniqueIdentifier(), productDescriptor.getVersionStr());

-	LaunchInfo.getCurrent().removeConfiguration(vid);

-	_registryManager.removeProductDescriptorFromLocal(productDescriptor);

-}

-/**

- * Sets the URL for the history log.  This property is persistent.

- */

-public void setHistoryLogURL(String strURL) throws UpdateManagerException {

-

-	// Check for valid URL

-	//--------------------

-	try {

-		new URL(strURL);

-	}

-	catch (MalformedURLException ex) {

-		throw new UpdateManagerException("Invalid log URL specification");

-	}

-

-	// Change the property

-	//--------------------

-	_strHistoryLogURL = strURL;

-}

-/**

- * Sets the URL for the update log.  This property is persistent.

- */

-public void setUpdateLogURL(String strURL) throws UpdateManagerException {

-	

-	// Check for valid URL

-	//--------------------

-	try {

-		new URL(strURL);

-	}

-	catch (MalformedURLException ex) {

-		throw new UpdateManagerException("Invalid log URL specification");

-	}

-

-	// Change the property

-	//--------------------

-	_strUpdateLogURL = strURL;

-}

-/**

- * Updates the boot loader's launch information with what is currently installed.

- */

-public void updateLaunchInfoAndRegistry(UMSessionManagerSession session) {

-

-	// Update launch info even if this session had a failure

-	// One or more parcels could have succeeded

-	//------------------------------------------------------

-	if (session != null) {

-		

-		LaunchInfo launchInfo = LaunchInfo.getCurrent();

-

-		// Obtain product/component information

-		//-------------------------------------

-		UMSessionManagerParcel[] parcels = session.getParcels();

-

-		for (int i = 0; i < parcels.length; ++i) {

-			updateLaunchInfoAndRegistryParcel( parcels[i], launchInfo );

-		}

-	}

-}

-/**

- * Recursively updates the boot loader's information for this parcel and sub-parcels.

- */

-protected void updateLaunchInfoAndRegistryParcel(UMSessionManagerParcel parcel, LaunchInfo launchInfo) {

-

-	// Update the profile only if the install was successful

-	//------------------------------------------------------

-	if (parcel != null && parcel.getStatus().equals(UpdateManagerConstants.STATUS_SUCCEEDED) == true) {

-

-		Object objData = parcel.getData();

-

-		// Product

-		//--------

-		if (objData instanceof IProductDescriptor) {

-			updateLaunchInfoProduct((IProductDescriptor) objData, launchInfo);

-			_registryManager.addProductDescriptorToLocal((IProductDescriptor) objData);

-		}

-

-		// Component

-		//----------

-		else if (objData instanceof IComponentDescriptor) {

-			updateLaunchInfoComponent((IComponentDescriptor) objData, launchInfo);

-			_registryManager.addComponentDescriptorToLocal((IComponentDescriptor) objData, true);

-		}

-			

-		// Component Entry

-		//----------------

-		else if (objData instanceof IComponentEntryDescriptor) {

-			IComponentDescriptor comp = ((IComponentEntryDescriptor)objData).getComponentDescriptor();

-			updateLaunchInfoComponent(comp, launchInfo);

-			_registryManager.addComponentDescriptorToLocal(comp, false);

-		}

-

-		// Do child parcels

-		//-----------------

-		UMSessionManagerParcel[] parcelChildren = parcel.getParcels();

-

-		for (int i = 0; i < parcelChildren.length; ++i) {

-			updateLaunchInfoAndRegistryParcel(parcelChildren[i], launchInfo);

-		}

-	}

-}

-/**

- * Updates the boot loader's launch information with what is currently installed.

- */

-public void updateLaunchInfoComponent(IComponentDescriptor descriptor, LaunchInfo launchInfo) {

-

-	// Component

-	//----------

-	launchInfo.setComponent(new LaunchInfo.VersionedIdentifier(descriptor.getUniqueIdentifier(), descriptor.getVersionStr()));

-

-	// Plugins

-	//--------

-	IPluginEntryDescriptor[] pluginDescriptors = descriptor.getPluginEntries();

-

-	for (int i = 0; i < pluginDescriptors.length; ++i) {

-		updateLaunchInfoPlugin(pluginDescriptors[i], launchInfo);

-	}

-

-	// Fragments

-	//----------

-	IFragmentEntryDescriptor[] fragmentDescriptors = descriptor.getFragmentEntries();

-

-	for (int i = 0; i < fragmentDescriptors.length; ++i) {

-		updateLaunchInfoFragment(fragmentDescriptors[i], launchInfo);

-	}

-}

-/**

- * Updates the boot loader's launch information with what is currently installed.

- */

-public void updateLaunchInfoFragment(IFragmentEntryDescriptor descriptor, LaunchInfo launchInfo) {

-

-	launchInfo.setFragment(new LaunchInfo.VersionedIdentifier(descriptor.getUniqueIdentifier(),descriptor.getVersionStr()));

-}

-/**

- * Updates the boot loader's launch information with what is currently installed.

- */

-public void updateLaunchInfoPlugin(IPluginEntryDescriptor descriptor, LaunchInfo launchInfo) {

-

-	launchInfo.setPlugin(new LaunchInfo.VersionedIdentifier(descriptor.getUniqueIdentifier(),descriptor.getVersionStr()));

-}

-/**

- * Updates the boot loader's launch information with what is currently installed.

- */

-public void updateLaunchInfoProduct(IProductDescriptor descriptor, LaunchInfo launchInfo) {

-

-	launchInfo.setConfiguration(new LaunchInfo.VersionedIdentifier(descriptor.getUniqueIdentifier(),descriptor.getVersionStr()), descriptor.getApplication());

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerException.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerException.java
deleted file mode 100644
index e25de36..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerException.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/**

- * 

- */

-public class UpdateManagerException  extends Exception {

-/**

- * UpdateManagerException constructor comment.

- */

-public UpdateManagerException( String strMessage ) {

-	super( strMessage );

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerPlugin.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerPlugin.java
deleted file mode 100644
index e05d25d..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerPlugin.java
+++ /dev/null
@@ -1,135 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.net.MalformedURLException;

-import java.net.URL;

-/**

- */

-import org.eclipse.core.runtime.*;

-import org.eclipse.update.internal.ui.*;

-import org.eclipse.jface.resource.ImageDescriptor;

-import org.eclipse.webdav.http.client.HttpClient;

-

-public class UpdateManagerPlugin extends Plugin {

-	private static UpdateManagerPlugin _pluginInstance = null;

-	private	HttpClient client =null;

-/**

- * UpdateManagerPlugin constructor comment.

- */

-public UpdateManagerPlugin( IPluginDescriptor pluginDescriptor ) {

-	super( pluginDescriptor );

-

-	_pluginInstance = this;

-}

-/**

- * Returns the image descriptor of an image file relative to this plugin

- * @return org.eclipse.jface.resource.ImageDescriptor

- * @param strImage java.lang.String

- */

-public static ImageDescriptor getImageDescriptor(String strImage) {

-

-	UpdateManagerPlugin plugin = getPluginInstance();

-

-	if (plugin != null) {

-

-		// Obtain my plugin descriptor

-		//----------------------------

-		IPluginDescriptor pluginDescriptor = plugin.getDescriptor();

-

-		// Determine where I am installed

-		//-------------------------------

-		URL path = pluginDescriptor.getInstallURL();

-

-		// Add the relative file location to the install location

-		// Create the image descriptor

-		//-------------------------------------------------------

-		URL urlFullPathString = null;

-

-		try {

-			urlFullPathString = new URL(path, strImage);

-			return ImageDescriptor.createFromURL(urlFullPathString);

-		}

-

-		catch (MalformedURLException e) {

-		}

-	}

-	return null;

-}

-/**

- * @return org.eclipse.update.internal.core.UpdateManagerPlugin

- */

-public static UpdateManagerPlugin getPluginInstance() {

-	return _pluginInstance;

-}

-/**

- * Shuts down this plug-in and discards all plug-in state.

- * <p>

- * This method should be re-implemented in subclasses that need to do something

- * when the plug-in is shut down.  Implementors should call the inherited method

- * to ensure that any system requirements can be met.

- * </p>

- * <p>

- * Plug-in shutdown code should be robust. In particular, this method

- * should always make an effort to shut down the plug-in. Furthermore,

- * the code should not assume that the plug-in was started successfully,

- * as this method will be invoked in the event of a failure during startup.

- * </p>

- * <p>

- * Note 1: If a plug-in has been started, this method will be automatically

- * invoked by the platform when the platform is shut down.

- * </p>

- * <p>

- * Note 2: This method is intended to perform simple termination

- * of the plug-in environment. The platform may terminate invocations

- * that do not complete in a timely fashion.

- * </p>

- * <b>Cliens must never explicitly call this method.</b>

- *

- * @exception CoreException if this method fails to shut down

- *   this plug-in 

- */

-public void shutdown() throws CoreException {

-	if(client!=null) client.close(); 

-}

-/**

- * Starts up this plug-in.

- * <p>

- * This method should be overridden in subclasses that need to do something

- * when this plug-in is started.  Implementors should call the inherited method

- * to ensure that any system requirements can be met.

- * </p>

- * <p>

- * If this method throws an exception, it is taken as an indication that

- * plug-in initialization has failed; as a result, the plug-in will not

- * be activated; moreover, the plug-in will be marked as disabled and 

- * ineligible for activation for the duration.

- * </p>

- * <p>

- * Plug-in startup code should be robust. In the event of a startup failure,

- * the plug-in's <code>shutdown</code> method will be invoked automatically,

- * in an attempt to close open files, etc.

- * </p>

- * <p>

- * Note 1: This method is automatically invoked by the platform 

- * the first time any code in the plug-in is executed.

- * </p>

- * <p>

- * Note 2: This method is intended to perform simple initialization 

- * of the plug-in environment. The platform may terminate initializers 

- * that do not complete in a timely fashion.

- * </p>

- * <b>Cliens must never explicitly call this method.</b>

- *

- * @exception CoreException if this plug-in did not start up properly

- */

-public void startup() throws CoreException {

-	// Setup HTTP client

-	//------------------

-	client = new HttpClient();

-	client.setAuthenticator(new AuthorizationDatabase());

-	URLHandler.setHttpClient(client);

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerStrings.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerStrings.java
deleted file mode 100644
index 21b7ecd..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerStrings.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/**

- * This class loads translatable strings from a resource bundle properties file.

- */

-import java.util.ResourceBundle;

-import java.util.MissingResourceException;

-

-public class UpdateManagerStrings

-{

-	private static ResourceBundle _resourceBundle = null;

-/**

- * Obtains a NL translated string from a resource bundle

- * @param strKey java.lang.String

- */

-public static String getString( String strKey ) 

-{

-	String strTranslated = strKey;

-

-	// Obtain the set of translated strings

-	//-------------------------------------

-	if( _resourceBundle == null )

-	{

-		try

-		{

-			_resourceBundle = ResourceBundle.getBundle( UpdateManager._strPackageName + ".updatemanagerstrings" );

-		}

-		catch( MissingResourceException ex )

-		{

-			_resourceBundle = null;

-		}

-	}

-

-	// Obtain the translated string

-	//-----------------------------

-	if( _resourceBundle != null )

-	{

-		try

-		{

-			strTranslated = _resourceBundle.getString( strKey );

-		}

-		catch( MissingResourceException ex )

-		{

-			strTranslated = strKey;

-		}

-	}

-

-	return strTranslated;

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerURLComparator.java b/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerURLComparator.java
deleted file mode 100644
index ede4744..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/UpdateManagerURLComparator.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.eclipse.update.internal.core;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import org.eclipse.core.internal.boot.update.*;

-import java.net.*;

-/**

- * 

- */

-import java.util.Comparator;

-public class UpdateManagerURLComparator implements Comparator{

-/**

- * UpdateManagerTreeItemComparator constructor comment.

- */

-public UpdateManagerURLComparator() {

-	super();

-}

-/**

- * Compares two strings independent of case.

- * 

- * @return a negative integer, zero, or a positive integer as the

- *         first argument is less than, equal to, or greater than the

- *         second. 

- * @throws ClassCastException if the arguments' types prevent them from

- *         being compared by this Comparator.

- */

-public int compare(java.lang.Object o1, java.lang.Object o2) {

-

-	if (o1 instanceof URLNamePair && o2 instanceof URLNamePair) {

-		return ((URLNamePair) o1).getURL().toExternalForm().toLowerCase().compareTo(((URLNamePair) o2).getURL().toExternalForm().toLowerCase());

-	}

-

-	return 0;

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/core/updatemanagerstrings.properties b/update/org.eclipse.update/src/org/eclipse/update/internal/core/updatemanagerstrings.properties
deleted file mode 100644
index 5cec005..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/core/updatemanagerstrings.properties
+++ /dev/null
@@ -1,112 +0,0 @@
-S_Add                                                     = Add

-S_Additional_Locations                                    = Additional Locations

-S_An_installation_error_or_cancellation_has_occurred      = An installation error or cancellation has occurred

-S_At_the_following_domain                                 = At the following domain

-S_Available                                               = Available

-S_Cancel_component_installation                           = Cancel component installation

-S_Component                                               = Component

-S_Component_identifier                                    = Component identifier

-S_Component_name                                          = Component name

-S_Configuration_Change                                    = Configuration Change

-S_Copy                                                    = Copy

-S_Current_installation                                    = Current installation

-S_Description                                             = Description

-S_Encountered_jar_entry_security_exception                = Encountered jar entry security exception

-S_Enter_a_user_name_and_password_for                      = Enter a user name and password for

-S_Error_closing_output_stream                             = Error closing output stream

-S_Error_in_registry                                       = Error in registry

-S_Error_occurred_during_installation_completion           = Error occurred during installation completion

-S_Error_occurred_during_installation_setup                = Error occurred during installation setup

-S_Error_occurred_during_verification                      = Error occurred during verification

-S_Error_reading_from_input_stream                         = Error reading from input stream

-S_Error_writing_to_output_stream                          = Error writing to output stream

-S_Examining                                               = Examining

-S_File_is_not_a_valid_JAR_file                            = File is not a valid JAR file

-S_File_name                                               = File name

-S_HTTP_client_not_set                                     = HTTP client not set

-S_Identifier                                              = Identifier

-S_Information                                             = Information

-S_Install                                                 = Install

-S_Install_component                                       = Install component

-S_Install_Components                                      = Install Components

-S_Installation                                            = Installation

-S_Installation_cancelled_by_user                          = Installation cancelled by user

-S_Installation_completed                                  = Installation completed

-S_Installations_have_completed_successfully               = Installations have completed successfully

-S_Installed                                               = Installed

-S_Installed_Components                                    = Installed Components

-S_Installing_this_component_may_corrupt_your_installation = Installing this component may corrupt your installation

-S_Location                                                = Location

-S_New_Component_Updates                                   = New Component Updates

-S_New_Components                                          = New Components

-S_No_installable_items_were_found                         = No installable items were found

-S_not_available                                           = not available

-S_not_compatible                                          = not compatible

-S_not_newer                                               = not newer

-S_not_updatable                                           = not updatable

-S_Number_of_installation_histories_to_keep                = Number of installation histories to keep

-S_Obtaining_information                                   = Obtaining information

-S_OK                                                      = OK

-S_optional                                                = optional

-S_Password                                                = Password

-S_Password_Required                                       = Password Required

-S_Predefined_Locations                                    = Predefined Locations

-S_Provider                                                = Provider

-S_Reading                                                 = Reading

-S_Remove                                                  = Remove

-S_Remove_selected_components                              = Remove selected components

-S_Revert                                                  = Revert

-S_Revert_to_a_Previous_Installation                       = Revert to a Previous Installation

-S_Revert_to_another_installation                          = Revert to another installation

-S_Search_for_more_recent_versions_to_install              = Search for more recent versions to install

-S_Search_for_new_components                               = Search for new components

-S_Search_for_updates_for_all_components                   = Search for updates for all components

-S_Search_for_updates_for_selected_components              = Search for updates for selected components

-S_Select_a_previous_installation_to_revert_to             = Select a previous installation to revert to

-S_Select_any_optional_components_to_install               = Select any optional components to install

-S_Select_available_versions_to_install                    = Select available versions to install

-S_Select_components_to_install                            = Select components to install

-S_Select_locations_to_update_from                         = Select locations to update from

-S_Show_only_most_recent_versions                          = Show only most recent versions

-S_Software_Updates                                        = Software Updates

-S_Source_location                                         = Source location

-S_Source_URL_is_malformed                                 = Source URL is malformed

-S_Specify_search_locations_for_new_components             = Specify search locations for new components

-S_Status                                                  = Status

-S_Target_URL_is_malformed                                 = Target URL is malformed

-S_The_certificates_used_to_authenticate_this_component_are_not_recognized = The certificates used to authenticate this component are not recognized

-S_The_content_of_this_component_has_been_corrupted        = The content of this component has been corrupted

-S_The_following_installation_will_become_active_when_the_workbench_is_restarted = The following installation will become active when the workbench is restarted

-S_The_following_items_will_be_installed                   = The following items will be installed

-S_The_following_items_will_be_updated                     = The following items will be updated

-S_The_installation_process_will_be_aborted                = The installation process will be aborted

-S_The_provider_of_this_component_cannot_be_verified       = The provider of this component cannot be verified

-S_This_component_has_not_been_digitally_signed            = This component has not been digitally signed

-S_This_component_will_not_be_installed                    = This component will not be installed

-S_Update                                                  = Update

-S_Update_All                                              = Update All

-S_Updates_completed                                       = Updates completed

-S_Unable_to_access_the_following_locations                = Unable to access the following locations

-S_Unable_to_connect                                       = Unable to connect

-S_Unable_to_create_file                                   = Unable to create file

-S_Unable_to_create_jar_entry_URL                          = Unable to create jar entry URL

-S_Unable_to_create_output_file_for_Jar_entry              = Unable to create output file for Jar entry

-S_Unable_to_delete_file                                   = Unable to delete file

-S_Unable_to_find_install_manifest_file_in_Jar             = Unable to find install manifest file in Jar

-S_Unable_to_find_defined_contents_in_Jar                  = Unable to find defined contents in Jar

-S_Unable_to_obtain_source_input_stream                    = Unable to obtain source input stream

-S_Unable_to_obtain_target_output_stream                   = Unable to obtain target output stream

-S_Unable_to_open_error_logs                               = Unable to open error_logs

-S_Unable_to_open_jar_entry_input_stream                   = Unable to open jar entry input stream

-S_Unable_to_open_Jar_file                                 = Unable to open Jar file

-S_Undefined_contents_found_in_Jar                         = Undefined contents found in Jar

-S_Undo                                                    = Undo

-S_User_name                                               = User name

-S_Verification                                            = Verification

-S_Verification_cancelled                                  = Verification cancelled

-S_Verify                                                  = Verify

-S_Version                                                 = Version

-S_You_are_about_to_install_a_signed_component             = You are about to install a signed component

-S_You_are_about_to_install_an_unsigned_component          = You are about to install an unsigned component

-S_You_may_choose_to_install_the_component_or_cancel_its_installation = You may choose to install the component or cancel its installation

-S_You_must_restart_the_workbench_to_activate_any_changes  = You must restart the workbench to activate any changes

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/AuthorizationDatabase.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/AuthorizationDatabase.java
deleted file mode 100644
index 8d2af15..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/AuthorizationDatabase.java
+++ /dev/null
@@ -1,108 +0,0 @@
-package org.eclipse.update.internal.ui;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.net.URL;

-import java.util.Hashtable;

-import java.util.Map;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.Platform;

-import org.eclipse.swt.widgets.Display;

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.update.internal.core.UpdateManagerPlugin;

-import org.eclipse.webdav.http.client.IAuthenticator;

-

-/**

- * A transient database that remembers information, such as usernames and

- * passwords.  The information is stored in memory only and is discarted

- * when the Plaform shuts down.

- */

-public class AuthorizationDatabase implements IAuthenticator {

-

-	/**

-	 * The Map containing the userid and password

-	 */

-	private Map result = new Hashtable();

-

-	/**

-	 * 

-	 */

-	public void addAuthenticationInfo(URL serverUrl, String realm, String scheme, Map info) {

-		try {

-			Platform.addAuthorizationInfo(serverUrl, realm, scheme, info);

-		}

-		catch (CoreException e) {

-			UpdateManagerPlugin.getPluginInstance().getLog().log(e.getStatus());

-		}

-	}

-

-	/**

-	 * 

-	 */

-	public void addProtectionSpace(URL resourceUrl, String realm) {

-		try {

-			Platform.addProtectionSpace(resourceUrl, realm);

-		}

-		catch (CoreException e) {

-			UpdateManagerPlugin.getPluginInstance().getLog().log(e.getStatus());

-		}

-

-	}

-	/**

-	 *

-	 */

-	public Map getAuthenticationInfo(URL serverUrl, String realm, String scheme) {

-

-		return Platform.getAuthorizationInfo(serverUrl, realm, scheme);

-	}

-	/**

-	 * 

-	 */

-	public String getProtectionSpace(URL resourceUrl) {

-		return Platform.getProtectionSpace(resourceUrl);

-	}

-	/**

-	 * 

-	 */

-	public Map requestAuthenticationInfo(final URL resourceUrl, final String realm, final String scheme) {

-

-		result = new Hashtable();

-		if (scheme.equalsIgnoreCase("Basic")) {

-

-			Display disp = Display.getCurrent();

-			if (disp != null) {

-				promptForPassword(resourceUrl, realm, result);

-			}

-			else {

-				Display.getDefault().syncExec(new Runnable() {

-					public void run() {

-						promptForPassword(resourceUrl, realm, result);

-					}

-				});

-			};

-		}

-		return result;

-	}

-

-	/**

-	 *

-	 */

-	private void promptForPassword(URL resourceUrl, String realm, Map info) {

-

-		Shell shell = new Shell();

-		UserValidationDialog ui = new UserValidationDialog(shell, resourceUrl, realm, "");

-		ui.setUsernameMutable(true);

-		ui.setBlockOnOpen(true);

-		ui.open();

-

-		if (ui.getReturnCode() != ui.CANCEL) {

-			info.put("username", ui.getUserid());

-			info.put("password", ui.getPassword());

-		}

-		shell.dispose();

-

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/Installation.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/Installation.java
deleted file mode 100644
index 056f820..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/Installation.java
+++ /dev/null
@@ -1,221 +0,0 @@
-package org.eclipse.update.internal.ui;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.util.Date;

-import org.eclipse.core.internal.boot.LaunchInfo;

-import org.eclipse.core.internal.boot.LaunchInfo.History;

-/**

- */

-public class Installation {

-	private static final String STRING_ID = "-id";

-	private static final String STRING_LIST = "-list";

-	private static final String STRING_LOCATION = "-location";

-	private static final String STRING_SET = "-set";

-

-	private boolean _bList = false;

-	private boolean _bSet = false;

-	private String _strLocation = null;

-	private String _strId = null;

-	private int _iId = -1;

-	private LaunchInfo _launchInfo = null;

-	/**

-	 * Installation constructor comment.

-	 */

-	public Installation() {

-		super();

-	}

-	/**

-	 * 

-	 */

-	private String checkCommandLineOptions() {

-

-		// Command

-		//--------

-		if (_bList == true) {

-			if (_bSet == true) {

-				return "Invalid option syntax";

-			}

-		}

-

-		else if (_bSet == true) {

-			if (_bList == true) {

-				return "Invalid option syntax";

-			}

-		}

-

-		else {

-			return "Command missing";

-		}

-

-		// Location

-		//---------

-		if (_strLocation == null || _strLocation.length() == 0) {

-			return "Location missing";

-		}

-

-		URL urlLocation = null;

-

-		try {

-			urlLocation = new URL(_strLocation);

-		}

-		catch (MalformedURLException ex) {

-			return "Invalid location syntax";

-		}

-

-		// Set the location of the installation directory

-		//-----------------------------------------------

-		//	LaunchInfo.startup(urlLocation);

-		_launchInfo = LaunchInfo.getCurrent();

-

-		// Set

-		//----

-		if (_bSet == true) {

-			if (_strId == null || _strId.length() == 0) {

-				return "Installation identifier number missing";

-			}

-

-			try {

-				_iId = new Integer(_strId).intValue();

-			}

-			catch (NumberFormatException ex) {

-				return "Invalid identifier syntax";

-			}

-		}

-

-		return null;

-	}

-	/**

-	 */

-	public String doList() {

-

-		LaunchInfo launchInfoFormer = null;

-

-		LaunchInfo.History[] histories = _launchInfo.getLaunchInfoHistory();

-

-		if (histories.length == 0)

-			return "No histories found";

-

-		if (histories.length == 1 && histories[0].getLaunchInfoDate() == null)

-			return "No histories found";

-

-		// Same order as doSet()

-		// Most recent to oldest order

-		//----------------------------

-		int iIndex = 1;

-

-		for (int i = histories.length - 1; i >= 0; --i) {

-

-			Date date = histories[i].getLaunchInfoDate();

-

-			// Older profile

-			//--------------

-			if (date != null) {

-				System.out.println(Integer.toString(iIndex++) + " " + histories[i].getLaunchInfoDate().toString());

-			}

-		}

-

-		return null;

-	}

-	/**

-	 * 

-	 */

-	public String doSet() {

-

-		LaunchInfo.History[] histories = _launchInfo.getLaunchInfoHistory();

-

-		if (_iId < histories.length) {

-

-			int iIndex = 1;

-

-			// Same algorithm as doList()

-			// Most recent to oldest order

-			//----------------------------

-			for (int i = histories.length - 1; i >= 0; --i) {

-

-				Date date = histories[i].getLaunchInfoDate();

-

-				// Older profile

-				//--------------

-				if (date != null) {

-					if (iIndex == _iId) {

-						_launchInfo.revertTo(histories[i]);

-						System.out.println(date.toString());

-						return null;

-					}

-					else {

-						iIndex++;

-					}

-				}

-			}

-		}

-

-		return "Identifier not found";

-	}

-	/**

-	 */

-	public static void main(String[] args) {

-

-		Installation installation = new Installation();

-

-		installation.parseCommandLineOptions(args);

-

-		String strError = installation.checkCommandLineOptions();

-

-		if (strError == null) {

-			if (installation._bList == true)

-				strError = installation.doList();

-

-			else if (installation._bSet == true)

-				strError = installation.doSet();

-		}

-

-		if (strError != null) {

-			System.out.println(strError);

-			printUsage();

-			System.exit(-1);

-		}

-	}

-	/**

-	 */

-	public void parseCommandLineOptions(String[] straArgs) {

-

-		for (int i = 0; i < straArgs.length; ++i) {

-

-			// Command: List

-			//--------------

-			if (straArgs[i].equalsIgnoreCase(STRING_LIST) == true) {

-				_bList = true;

-			}

-

-			// Command: Set

-			//-------------

-			else if (straArgs[i].equalsIgnoreCase(STRING_SET) == true) {

-				_bSet = true;

-			}

-

-			// Location to install from

-			//-------------------------

-			else if (straArgs[i].equalsIgnoreCase(STRING_LOCATION) == true && i < straArgs.length - 1) {

-				_strLocation = straArgs[++i];

-			}

-

-			// Identifier

-			//-----------

-			else if (straArgs[i].equalsIgnoreCase(STRING_ID) == true && i < straArgs.length - 1) {

-				_strId = straArgs[++i];

-			}

-		}

-	}

-	/**

-	 */

-	public static void printUsage() {

-		System.out.println("");

-		System.out.println("-list -location urlPath");

-		System.out.println("-set  -location urlPath -id number");

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationDialog.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationDialog.java
deleted file mode 100644
index 6d5389d..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationDialog.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationResult.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationResult.java
deleted file mode 100644
index 1711181..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationResult.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.eclipse.update.internal.ui;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/**

- * Result of the service

- */

-public class JarVerificationResult {

-

-	public static final int CANCEL_INSTALL = 0;

-	public static final int OK_TO_INSTALL = 1;

-

-	private int resultCode;

-	private Exception resultException;

-	/**

-	 */

-	public int getResultCode() {

-		return resultCode;

-	}

-	/**

-	 */

-	public Exception getResultException() {

-		return resultException;

-	}

-	/**

-	 */

-	public void setResultCode(int newResultCode) {

-		resultCode = newResultCode;

-	}

-	/**

-	 * called by JarVerificationService only

-	 */

-	void setResultException(Exception newResultException) {

-		resultException = newResultException;

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationService.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationService.java
deleted file mode 100644
index 69b4339..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerificationService.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerifier.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerifier.java
deleted file mode 100644
index dda11d7..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/JarVerifier.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/KeyStores.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/KeyStores.java
deleted file mode 100644
index 7284e0a..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/KeyStores.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/Main.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/Main.java
deleted file mode 100644
index e0f0367..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/Main.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package org.eclipse.update.internal.ui;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.net.*;

-import java.lang.reflect.*;

-import java.io.PrintWriter;

-import java.util.StringTokenizer;

-import java.util.Vector;

-/**

- * Startup class for Eclipse. Creates a class loader using

- * supplied URL of platform installation, loads and calls

- * the Eclipse Boot Loader

- */

-public class Main {

-	protected boolean debug = false;

-	protected boolean usage = false;

-	protected String bootLocation = null;

-	protected String application;

-	protected URL pluginPathLocation;

-	protected String location;

-

-	// constants

-	private static final String APPLICATION = "-application";

-	private static final String BOOT = "-boot";

-	private static final String DEBUG = "-debug";

-	private static final String USAGE = "-?";

-	private static final String BOOTLOADER = "org.eclipse.core.boot.BootLoader";

-

-	// The project containing the boot loader code.  This is used to construct

-	// the correct class path for running in VAJ and VAME.

-	private static final String PROJECT_NAME = "Eclipse Core Boot";

-

-	private static boolean inVAJ;

-	static {

-		try {

-			Class.forName("com.ibm.uvm.lang.ProjectClassLoader");

-			inVAJ = true;

-		} catch (Exception e) {

-			inVAJ = false;

-		}

-	}

-	private static boolean inVAME;

-	static {

-		try {

-			Class.forName("com.ibm.eclipse.VAME");

-			inVAME = true;

-		} catch (Exception e) {

-			inVAME = false;

-		}

-	}

-

-protected void basicRun(String[] args) throws Exception {

-	Class clazz = getBootLoader(bootLocation);

-	Method method = clazz.getDeclaredMethod("run", new Class[] { String.class, URL.class, String.class, String[].class });

-	try {

-		method.invoke(clazz, new Object[] { application, pluginPathLocation, location, args });

-	} catch (InvocationTargetException e) {

-		if (e.getTargetException() instanceof Error)

-			throw (Error) e.getTargetException();

-		else

-			throw e;

-	}

-}

-public Class getBootLoader(String base) throws Exception {

-	URLClassLoader loader = new URLClassLoader(new URL[] { getBootURL(base)}, null);

-	return loader.loadClass(BOOTLOADER);

-}

-/**

- * Returns the <code>URL</code> where the boot classes are located.

- */

-protected URL getBootURL(String base) throws MalformedURLException {

-	URL url = null;

-	if (base != null) 

-		return new URL(base);

-	// Create a URL based on the location of this class' code.

-	// strip off jar file and/or last directory to get 

-	// to the directory containing projects.

-	url = getClass().getProtectionDomain().getCodeSource().getLocation();

-	String path = url.getFile();

-	if (path.endsWith(".jar"))

-		path = path.substring(0, path.lastIndexOf("/"));

-	if (path.endsWith("/"))

-		path = path.substring(0, path.length() - 1);

-	if (inVAJ || inVAME) {

-		int ix = path.lastIndexOf("/");

-		path = path.substring(0, ix + 1);

-		path = path + PROJECT_NAME + "/";

-	} else

-		path = path + "/plugins/org.eclipse.core.boot/boot.jar";

-	return new URL(url.getProtocol(), url.getHost(), url.getPort(), path);

-}

-/**

- * Print the usage of this launcher on the system console

- */

-protected void printUsage(PrintWriter out) {

-	out.println("The general form of using the Platform bootstrap main is:");

-	out.println("      java <main class> -application <name> [option list]");

-	out.println("where the required arguments are:");

-	out.println("      -application <name> : the application to run ");

-	out.println("and where the option list can be any number of the following:");

-	out.println("      -platform <location> : run in the given location");

-	out.println("      -debug [debug options file] : turn on debug mode.  Read debug options from ");

-	out.println("          the specified file or from ./.options if not specified.");

-	out.println("      -? : print this message");

-	out.flush();

-}

-protected String[] processCommandLine(String[] args) throws Exception {

-	int[] configArgs = new int[100];

-	configArgs[0] = -1; // need to initialize the first element to something that could not be an index.

-	int configArgIndex = 0;

-	for (int i = 0; i < args.length; i++) {

-		boolean found = false;

-		// check for args without parameters (i.e., a flag arg)

-		// check if debug should be enabled for the entire platform

-		if (args[i].equalsIgnoreCase(DEBUG)) {

-			debug = true;

-			// passed thru this arg (i.e., do not set found = true

-		}

-

-		// look for the usage flag

-		if (args[i].equalsIgnoreCase(USAGE)) {

-			usage = true;

-			// passed thru this arg (i.e., do not set found = true

-		}

-

-		if (found) {

-			configArgs[configArgIndex++] = i;

-			continue;

-		}

-		// check for args with parameters. If we are at the last argument or if the next one

-		// has a '-' as the first character, then we can't have an arg with a parm so continue.

-		if (i == args.length - 1 || args[i + 1].startsWith("-")) {

-			continue;

-		}

-		String arg = args[++i];

-

-		// look for the laucher to run

-		if (args[i - 1].equalsIgnoreCase(BOOT)) {

-			found = true;

-			bootLocation = arg;

-		}

-

-		// look for the application to run

-		if (args[i - 1].equalsIgnoreCase(APPLICATION)) {

-			found = true;

-			application = arg;

-		}

-

-		// done checking for args.  Remember where an arg was found 

-		if (found) {

-			configArgs[configArgIndex++] = i - 1;

-			configArgs[configArgIndex++] = i;

-		}

-	}

-

-	// remove all the arguments consumed by this argument parsing

-	if (configArgIndex == 0)

-		return args;

-	String[] passThruArgs = new String[args.length - configArgIndex];

-	configArgIndex = 0;

-	int j = 0;

-	for (int i = 0; i < args.length; i++) {

-		if (i == configArgs[configArgIndex])

-			configArgIndex++;

-		else

-			passThruArgs[j++] = args[i];

-	}

-	return passThruArgs;

-}

-public void run(String[] args) throws Exception {

-	String[] passThruArgs = processCommandLine(args);

-	if (usage) {

-		printUsage(new PrintWriter(System.out));

-		return;

-	}

-	basicRun(passThruArgs);

-}

-}

diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplication.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplication.java
deleted file mode 100644
index 3bb792a..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplication.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.update.internal.ui;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/* 

- * Update Manager Install Application

- *

- * Command to run from command line:

- *

- *.\jre\bin\java -verify -cp startup.jar org.eclipse.core.launcher.UIMain -application org.eclipse.update.internal.ui.updateManager -install -url http://klicnik.torolab.ibm.com/eclipse/site/ -id org.eclipse.sdk %*

- *

- *

- * Arguments are:

- *   -install   Install command

- *   -url [url] Location from which to install from

- *   -id  [id]  Identifier of the manifest to install

- *

- * Sample:

- *   -install -url file:/c:/temp/updatesite/ -id org.eclipse.sdk

- */

-import java.util.StringTokenizer;

-import java.util.Vector;

-

-public class UMApplication extends Main {

-	private static final String DEFAULT_APPLICATION = "org.eclipse.update.internal.ui.updateManager";

-	public UMApplication() {

-		super();

-		application = DEFAULT_APPLICATION;

-	}

-	public static void main(String[] args) {

-

-		int iReturnCode = 0;

-

-		try {

-			new UMApplication().run(args);

-		}

-

-		catch (Exception e) {

-		}

-

-		System.exit(0);

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationUserInterface.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationUserInterface.java
deleted file mode 100644
index 2543bc2..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationUserInterface.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationUserInterfaceProperties.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationUserInterfaceProperties.java
deleted file mode 100644
index ac84b0b..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationUserInterfaceProperties.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationWindow.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationWindow.java
deleted file mode 100644
index 9d6394b..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMApplicationWindow.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMDialog.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMDialog.java
deleted file mode 100644
index a098936..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMDialog.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMDialogAction.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMDialogAction.java
deleted file mode 100644
index 19dd3d4..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMDialogAction.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMPreferencePageSettings.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMPreferencePageSettings.java
deleted file mode 100644
index d5a2709..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMPreferencePageSettings.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizard.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizard.java
deleted file mode 100644
index 0adbc08..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizard.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageComplete.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageComplete.java
deleted file mode 100644
index 5d3a7ec..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageComplete.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageInstallable.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageInstallable.java
deleted file mode 100644
index b2803d4..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageInstallable.java
+++ /dev/null
@@ -1,1333 +0,0 @@
-package org.eclipse.update.internal.ui;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-import java.io.InputStream;

-import java.lang.reflect.InvocationTargetException;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.util.Hashtable;

-import java.util.Iterator;

-import java.util.TreeSet;

-import java.util.Vector;

-

-import org.eclipse.core.internal.boot.update.IComponentDescriptor;

-import org.eclipse.core.internal.boot.update.IComponentEntryDescriptor;

-import org.eclipse.core.internal.boot.update.IManifestDescriptor;

-import org.eclipse.core.internal.boot.update.IProductDescriptor;

-import org.eclipse.core.internal.boot.update.IUMRegistry;

-import org.eclipse.core.internal.boot.update.UMEclipseTree;

-import org.eclipse.core.internal.boot.update.URLNamePair;

-import org.eclipse.core.internal.boot.update.UpdateManagerConstants;

-import org.eclipse.core.internal.boot.update.BaseURLHandler.Response;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.jface.operation.IRunnableWithProgress;

-import org.eclipse.jface.viewers.ColumnLayoutData;

-import org.eclipse.jface.viewers.ColumnWeightData;

-import org.eclipse.jface.viewers.TableLayout;

-import org.eclipse.jface.wizard.WizardPage;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.SashForm;

-import org.eclipse.swt.custom.TableTree;

-import org.eclipse.swt.custom.TableTreeItem;

-import org.eclipse.swt.events.MouseEvent;

-import org.eclipse.swt.events.MouseMoveListener;

-import org.eclipse.swt.events.MouseTrackListener;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.events.SelectionListener;

-import org.eclipse.swt.graphics.Point;

-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.TableColumn;

-import org.eclipse.swt.widgets.TableItem;

-import org.eclipse.swt.widgets.Text;

-import org.eclipse.update.internal.core.URLHandler;

-import org.eclipse.update.internal.core.UpdateManagerStrings;

-import org.eclipse.webdav.http.client.IStatusCodes;

-

-/**

- * Presents products and components that may be selected for installation.

- */

-public class UMWizardPageInstallable extends WizardPage implements MouseMoveListener, MouseTrackListener, SelectionListener {

-	protected boolean _bRefreshRequired = true;

-	protected UMWizard _wizard = null;

-	protected TableTree _tableTreeItems = null;

-	protected Hashtable _hashRegistryCache = new Hashtable();

-	protected TreeSet _treeSetItems = null;

-	protected TreeSet _treeSetLocations = null;

-	protected Text _textDescription = null;

-	protected String _strDescription = null;

-	protected boolean _bUpdateMode = false;

-	protected SashForm _sashFormTopBottom = null;

-	protected IProgressMonitor _progressMonitor = null;

-	protected URLNamePair[] _urlNamePairs = null;

-	protected Button _buttonShowLatestOnly = null;

-	protected boolean _bShowLatestOnly = true;

-	/**

-	 *

-	 */

-	public UMWizardPageInstallable(UMWizard wizard, String strName, boolean bUpdateMode) {

-		super(strName);

-		_wizard = wizard;

-		_bUpdateMode = bUpdateMode;

-

-		if (bUpdateMode == true) {

-			this.setTitle(UpdateManagerStrings.getString("S_New_Component_Updates"));

-			this.setDescription(UpdateManagerStrings.getString("S_Select_available_versions_to_install"));

-		}

-		else {

-			this.setTitle(UpdateManagerStrings.getString("S_New_Components"));

-			this.setDescription(UpdateManagerStrings.getString("S_Select_components_to_install"));

-		}

-	}

-	/**

-	 * 

-	 */

-	public void addLocationToTree(IUMRegistry registryRemote, IUMRegistry registryLocal, IProgressMonitor progressMonitor) {

-

-		UMWizardTreeItem itemProduct = null;

-		UMWizardTreeItem itemComponent = null;

-		UMWizardTreeItem itemComponentEntry = null;

-		UMWizardTreeItem itemLocation = null;

-		UMWizardTreeItem itemComponentCategory = null;

-		UMWizardTreeItem itemProductCategory = null;

-

-		IProductDescriptor descriptorLocalProduct = null;

-		IProductDescriptor[] descriptorsProduct = null;

-		IComponentDescriptor descriptorLocalComponent = null;

-		IComponentDescriptor[] descriptorsComponent = null;

-		IComponentEntryDescriptor[] descriptorsEntry = null;

-

-		// Obtain descriptors

-		//-------------------

-		if (_bShowLatestOnly == true) {

-			descriptorsProduct = registryRemote.getProductDescriptors();

-			descriptorsComponent = registryRemote.getComponentDescriptors();

-		}

-		else {

-			descriptorsProduct = registryRemote.getAllProductDescriptors();

-			descriptorsComponent = registryRemote.getAllComponentDescriptors();

-		}

-

-		if (descriptorsProduct.length + descriptorsComponent.length > 0) {

-

-			itemLocation = new UMWizardTreeItem();

-			itemLocation._iType = UpdateManagerConstants.TYPE_URL;

-			itemLocation._strDescription = registryRemote.getRegistryBaseURL().toExternalForm();

-			itemLocation._strName = getURLDescription(itemLocation._strDescription);

-			itemLocation._strURLUpdate = itemLocation._strName;

-

-			progressMonitor.beginTask(UpdateManagerStrings.getString("S_Examining") + ":", descriptorsProduct.length + descriptorsComponent.length);

-			progressMonitor.subTask(itemLocation._strName);

-

-			IManifestDescriptor[] descriptorsSelected = _wizard._manifestDescriptors;

-

-			boolean bIncludeThisOne = false;

-

-			// Products

-			//---------

-			if (descriptorsProduct.length > 0) {

-

-				itemProductCategory = new UMWizardTreeItem();

-				itemProductCategory._iType = UpdateManagerConstants.TYPE_PRODUCT_CATEGORY;

-				itemProductCategory._strName = "products";

-

-				// Add product category to location tree later

-				//--------------------------------------------

-				IProductDescriptor descriptorProductSelected = null;

-

-				for (int i = 0; i < descriptorsProduct.length; ++i) {

-

-					// Include all if selected descriptors is null

-					// Otherwise, include only those selected

-					//--------------------------------------------

-					bIncludeThisOne = true;

-

-					if (descriptorsSelected != null) {

-						bIncludeThisOne = false;

-

-						for (int j = 0; j < descriptorsSelected.length; ++j) {

-							if (descriptorsSelected[j] instanceof IProductDescriptor) {

-								descriptorProductSelected = (IProductDescriptor) descriptorsSelected[j];

-								if (descriptorProductSelected.getUniqueIdentifier() != null) {

-									if (descriptorProductSelected.getUniqueIdentifier().equals(descriptorsProduct[i].getUniqueIdentifier()) == true) {

-										bIncludeThisOne = true;

-										break;

-									}

-								}

-							}

-						}

-					}

-

-					// Display only non-installed items

-					//---------------------------------

-					if (_bUpdateMode == false) {

-						if (registryLocal.getProductDescriptor(descriptorsProduct[i].getUniqueIdentifier()) != null) {

-							bIncludeThisOne = false;

-						}

-					}

-

-					if (bIncludeThisOne == true) {

-						itemProduct = new UMWizardTreeItem();

-						itemProduct._iType = UpdateManagerConstants.TYPE_PRODUCT;

-						itemProduct._strDescription = descriptorsProduct[i].getDescription();

-						itemProduct._strName = descriptorsProduct[i].getLabel();

-						itemProduct._strId = descriptorsProduct[i].getUniqueIdentifier();

-						itemProduct._strVendorName = descriptorsProduct[i].getProviderName();

-						itemProduct._strVersionAvailable = descriptorsProduct[i].getVersionStr();

-						itemProduct._descriptorAvailable = descriptorsProduct[i];

-

-						descriptorLocalProduct = registryLocal.getProductDescriptor(itemProduct._strId);

-

-						if (descriptorLocalProduct != null) {

-							itemProduct._descriptorCurrent = descriptorLocalProduct;

-							itemProduct._strVersionCurrent = descriptorLocalProduct.getVersionStr();

-						}

-

-						itemProductCategory.addChildItem(itemProduct);

-

-						// Component entries of the product

-						//---------------------------------

-						descriptorsEntry = descriptorsProduct[i].getComponentEntries();

-

-						for (int j = 0; j < descriptorsEntry.length; ++j) {

-

-							// Turn off selected flag

-							//-----------------------

-							descriptorsEntry[j].isSelected(false);

-							itemComponentEntry = new UMWizardTreeItem();

-							itemComponentEntry._iType = UpdateManagerConstants.TYPE_COMPONENT_ENTRY;

-							itemComponentEntry._strName = descriptorsEntry[j].getLabel();

-							itemComponentEntry._strId = descriptorsEntry[j].getUniqueIdentifier();

-							itemComponentEntry._strVersionAvailable = descriptorsEntry[j].getVersionStr();

-							itemComponentEntry._descriptorEntry = descriptorsEntry[j];

-

-							descriptorLocalComponent = registryLocal.getComponentDescriptor(itemComponentEntry._strId);

-

-							if (descriptorLocalComponent != null) {

-								itemComponentEntry._strVersionCurrent = descriptorLocalComponent.getVersionStr();

-								itemComponentEntry._strVendorName = descriptorLocalComponent.getProviderName();

-								itemComponentEntry._descriptorCurrent = descriptorLocalComponent;

-							}

-

-							itemProduct.addChildItem(itemComponentEntry);

-						}

-					}

-

-					progressMonitor.worked(1);

-				}

-

-				// Add component category if there are any components

-				//---------------------------------------------------

-				if (itemProductCategory._vectorChildren != null && itemProductCategory._vectorChildren.size() > 0) {

-					itemLocation.addChildItem(itemProductCategory);

-				}

-			}

-

-			// Components

-			//-----------

-			if (descriptorsComponent.length > 0) {

-

-				itemComponentCategory = new UMWizardTreeItem();

-				itemComponentCategory._iType = UpdateManagerConstants.TYPE_COMPONENT_CATEGORY;

-				itemComponentCategory._strName = "components";

-

-				// Add product category to location tree later

-				//--------------------------------------------

-				IComponentDescriptor descriptorComponentSelected = null;

-				for (int i = 0; i < descriptorsComponent.length; ++i) {

-

-					// Include all if selected descriptors is null

-					// Otherwise, include only those selected

-					//--------------------------------------------

-					bIncludeThisOne = true;

-					if (descriptorsSelected != null) {

-						bIncludeThisOne = false;

-						for (int j = 0; j < descriptorsSelected.length; ++j) {

-							if (descriptorsSelected[j] instanceof IComponentDescriptor) {

-								descriptorComponentSelected = (IComponentDescriptor) descriptorsSelected[j];

-								if (descriptorComponentSelected.getUniqueIdentifier() != null) {

-									if (descriptorComponentSelected.getUniqueIdentifier().equals(descriptorsComponent[i].getUniqueIdentifier()) == true) {

-										bIncludeThisOne = true;

-										break;

-									}

-								}

-							}

-						}

-					}

-

-					// Display only non-installed items

-					//---------------------------------

-					if (_bUpdateMode == false) {

-						if (registryLocal.getComponentDescriptor(descriptorsComponent[i].getUniqueIdentifier()) != null) {

-							bIncludeThisOne = false;

-						}

-					}

-

-					if (bIncludeThisOne == true) {

-						itemComponent = new UMWizardTreeItem();

-						itemComponent._iType = UpdateManagerConstants.TYPE_COMPONENT;

-						itemComponent._strDescription = descriptorsComponent[i].getDescription();

-						itemComponent._strName = descriptorsComponent[i].getLabel();

-						itemComponent._strId = descriptorsComponent[i].getUniqueIdentifier();

-						itemComponent._strVendorName = descriptorsComponent[i].getProviderName();

-						itemComponent._strVersionAvailable = descriptorsComponent[i].getVersionStr();

-						itemComponent._descriptorAvailable = descriptorsComponent[i];

-

-						descriptorLocalComponent = registryLocal.getComponentDescriptor(itemComponent._strId);

-

-						if (descriptorLocalComponent != null) {

-							itemComponent._strVersionCurrent = descriptorLocalComponent.getVersionStr();

-							itemComponent._descriptorCurrent = descriptorLocalComponent;

-						}

-

-						itemComponentCategory.addChildItem(itemComponent);

-					}

-					progressMonitor.worked(1);

-				}

-

-				// Add component category if there are any components

-				//---------------------------------------------------

-				if (itemComponentCategory._vectorChildren != null && itemComponentCategory._vectorChildren.size() > 0) {

-					itemLocation.addChildItem(itemComponentCategory);

-				}

-			}

-			progressMonitor.done();

-

-			// Add location if there are any products/components

-			//---------------------------------------------------       

-			if (itemLocation._vectorChildren != null && itemLocation._vectorChildren.size() > 0) {

-				_treeSetItems.add(itemLocation);

-			}

-		}

-	}

-	/**

-	 *

-	 */

-	public void connectToTree() {

-

-		// Remove all existing tree items

-		//-------------------------------

-		_tableTreeItems.removeAll();

-

-		UMWizardTreeItem item = null;

-

-		Iterator iter = _treeSetItems.iterator();

-

-		while (iter.hasNext() == true) {

-

-			item = (UMWizardTreeItem) iter.next();

-

-			// Create a new tree item for the top level (URL)

-			//-----------------------------------------------

-			TableTreeItem treeItem = new TableTreeItem(_tableTreeItems, SWT.NULL);

-

-			if (item._strName != null)

-				treeItem.setText(0, item._strName);

-

-			if (item._strVendorName != null)

-				treeItem.setText(4, item._strVendorName);

-

-			treeItem.setData(item);

-

-			// Create child tree items

-			//------------------------

-			if (item._vectorChildren != null) {

-				for (int i = 0; i < item._vectorChildren.size(); ++i) {

-					connectToTree((UMWizardTreeItem) item._vectorChildren.elementAt(i), treeItem);

-				}

-			}

-

-			treeItem.setExpanded(true);

-		}

-	}

-	/**

-	 * Connects items to a new tree widget.

-	 */

-	public void connectToTree(UMWizardTreeItem item, TableTreeItem treeItemParent) {

-

-		// Ignore product category and component category items

-		//-----------------------------------------------------

-		TableTreeItem treeItem = treeItemParent;

-

-		// Create a new tree item

-		//-----------------------

-		if (item._iType == UpdateManagerConstants.TYPE_PRODUCT || item._iType == UpdateManagerConstants.TYPE_COMPONENT || item._iType == UpdateManagerConstants.TYPE_COMPONENT_ENTRY) {

-

-			treeItem = new TableTreeItem(treeItemParent, SWT.NULL);

-			treeItem.setText(0, item._strName);

-			treeItem.setData(item);

-

-			// Table text

-			//-----------

-			if (item._strVersionCurrent != null)

-				treeItem.setText(1, item._strVersionCurrent);

-

-			if (item._strVersionAvailable != null)

-				treeItem.setText(2, item._strVersionAvailable);

-

-			if (item._strVendorName != null)

-				treeItem.setText(4, item._strVendorName);

-

-			// Status text

-			//------------

-			boolean bInstallable = false;

-

-			if (item._iType == UpdateManagerConstants.TYPE_PRODUCT) {

-				int iInstallable = isInstallableProduct(treeItem);

-				treeItem.setText(3, convertInstallableToString(iInstallable));

-			}

-

-			else if (item._iType == UpdateManagerConstants.TYPE_COMPONENT) {

-				int iInstallable = isInstallableComponent(treeItem);

-				treeItem.setText(3, convertInstallableToString(iInstallable));

-			}

-

-			else if (item._iType == UpdateManagerConstants.TYPE_COMPONENT_ENTRY) {

-

-				int iInstallable = isInstallableComponentEntry(treeItem);

-				treeItem.setText(3, convertInstallableToString(iInstallable));

-

-				if (iInstallable == UpdateManagerConstants.OK_TO_INSTALL) {

-					// Optional installation

-					//---------------------- 

-					if (item._descriptorEntry.isOptionalForInstall() == true) {

-						treeItem.setText(3, UpdateManagerStrings.getString("S_optional"));

-					}

-				}

-				else {

-					treeItem.setText(3, convertInstallableToString(iInstallable));

-				}

-			}

-		}

-

-		// Create child tree items

-		//------------------------

-		if (item._vectorChildren != null) {

-			for (int i = 0; i < item._vectorChildren.size(); ++i) {

-				connectToTree((UMWizardTreeItem) item._vectorChildren.elementAt(i), treeItem);

-			}

-		}

-

-		// Expand only after children have been created

-		//---------------------------------------------

-		if (item._iType != UpdateManagerConstants.TYPE_PRODUCT)

-			treeItem.setExpanded(true);

-

-		return;

-	}

-	/**

-	 * Converts installable constant to a displayable string

-	 */

-	public String convertInstallableToString(int iInstallable) {

-

-		switch (iInstallable) {

-			case UpdateManagerConstants.NOT_COMPATIBLE :

-				return UpdateManagerStrings.getString("S_not_compatible");

-			case UpdateManagerConstants.NOT_NEWER :

-				return UpdateManagerStrings.getString("S_not_newer");

-			case UpdateManagerConstants.NOT_UPDATABLE :

-				return UpdateManagerStrings.getString("S_not_updatable");

-			case UpdateManagerConstants.NOT_AVAILABLE :

-				return UpdateManagerStrings.getString("S_not_available");

-			default :

-				return "";

-		}

-	}

-	/**

-	 * createContents method comment.

-	 */

-	public void createControl(Composite compositeParent) {

-		// Content

-		//--------

-		Composite compositeContent = new Composite(compositeParent, SWT.NULL);

-

-		GridLayout layout = new GridLayout();

-		compositeContent.setLayout(layout);

-

-		GridData gridData = new GridData();

-		gridData.horizontalAlignment = GridData.FILL;

-		gridData.verticalAlignment = GridData.FILL;

-		gridData.grabExcessHorizontalSpace = true;

-		gridData.grabExcessVerticalSpace = true;

-		compositeContent.setLayoutData(gridData);

-

-		// Checkbox: Show most recent versions only

-		//-----------------------------------------

-		_buttonShowLatestOnly = new Button(compositeContent, SWT.CHECK);

-		_buttonShowLatestOnly.setText(UpdateManagerStrings.getString("S_Show_only_most_recent_versions"));

-		_buttonShowLatestOnly.setSelection(_bShowLatestOnly);

-		_buttonShowLatestOnly.addSelectionListener(this);

-

-		// SashPane Top/Bottom

-		//--------------------

-		_sashFormTopBottom = new SashForm(compositeContent, SWT.VERTICAL);

-

-		gridData = new GridData();

-		gridData.horizontalAlignment = GridData.FILL;

-		gridData.verticalAlignment = GridData.FILL;

-		gridData.grabExcessHorizontalSpace = true;

-		gridData.grabExcessVerticalSpace = true;

-		_sashFormTopBottom.setLayoutData(gridData);

-

-		// Tree: Installable

-		//------------------

-		_tableTreeItems = new TableTree(_sashFormTopBottom, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER | SWT.CHECK);

-

-		String[] columnTitles = { UpdateManagerStrings.getString("S_Component"), UpdateManagerStrings.getString("S_Installed"), UpdateManagerStrings.getString("S_Available"), UpdateManagerStrings.getString("S_Status"), UpdateManagerStrings.getString("S_Provider")};

-		int[] iColumnWeight = { 40, 15, 15, 15, 15 };

-		TableLayout layoutTable = new TableLayout();

-

-		for (int i = 0; i < columnTitles.length; i++) {

-			TableColumn tableColumn = new TableColumn(_tableTreeItems.getTable(), SWT.NONE);

-			tableColumn.setText(columnTitles[i]);

-			ColumnLayoutData cLayout = new ColumnWeightData(iColumnWeight[i], true);

-			layoutTable.addColumnData(cLayout);

-		}

-

-		_tableTreeItems.getTable().setLinesVisible(true);

-		_tableTreeItems.getTable().setHeaderVisible(true);

-		_tableTreeItems.getTable().setLayout(layoutTable);

-		_tableTreeItems.getTable().addMouseMoveListener(this);

-		_tableTreeItems.getTable().addMouseTrackListener(this);

-

-		_tableTreeItems.addSelectionListener(this);

-

-		gridData = new GridData();

-		gridData.horizontalAlignment = GridData.FILL;

-		gridData.verticalAlignment = GridData.FILL;

-		gridData.grabExcessHorizontalSpace = true;

-		gridData.grabExcessVerticalSpace = true;

-		_tableTreeItems.setLayoutData(gridData);

-

-		// Text: Description

-		//------------------

-		_textDescription = new Text(_sashFormTopBottom, SWT.WRAP | SWT.READ_ONLY | SWT.MULTI | SWT.BORDER);

-		gridData = new GridData();

-		gridData.horizontalAlignment = GridData.FILL;

-		gridData.verticalAlignment = GridData.FILL;

-		gridData.heightHint = 50;

-		_textDescription.setLayoutData(gridData);

-

-		_sashFormTopBottom.setWeights(new int[] { 80, 20 });

-

-		setControl(compositeContent);

-

-		setPageComplete(false);

-	}

-	/**

-	 * 

-	 */

-	public IUMRegistry getRegistryAt(String strLocation) {

-

-		IUMRegistry registry = (IUMRegistry) _hashRegistryCache.get(strLocation);

-

-		// Create new entry if not found

-		//------------------------------

-		if (registry == null) {

-			URL url = null;

-

-			try {

-				url = new URL(strLocation);

-			}

-			catch (MalformedURLException ex) {

-				return null;

-			}

-

-			registry = _wizard._updateManager.getRegistryAt(url);

-

-			if (registry != null) {

-				_hashRegistryCache.put(strLocation, registry);

-			}

-		}

-

-		return registry;

-	}

-	/**

-	 * 

-	 */

-	public UMWizardTreeItem[] getSelectedItems() {

-

-		UMWizardTreeItem[] items = null;

-

-		// Obtain all selected items

-		//--------------------------

-		TableTreeItem[] treeItemChildren = _tableTreeItems.getItems();

-

-		// Place them into an array

-		//-------------------------

-		Hashtable hashProducts = new Hashtable();

-		Hashtable hashComponents = new Hashtable();

-		Hashtable hashComponentEntries = new Hashtable();

-

-		for (int i = 0; i < treeItemChildren.length; ++i) {

-			getSelectedItemsRecursive(treeItemChildren[i], hashProducts, hashComponents, hashComponentEntries);

-		}

-

-		// Copy items to an array

-		//-----------------------

-		items = new UMWizardTreeItem[hashProducts.size() + hashComponents.size() + hashComponentEntries.size()];

-

-		// Products

-		//---------

-		Object[] objArray = hashProducts.values().toArray();

-		System.arraycopy(objArray, 0, items, 0, objArray.length);

-

-		// Components

-		//-----------

-		objArray = hashComponents.values().toArray();

-		System.arraycopy(objArray, 0, items, hashProducts.size(), objArray.length);

-

-		// Component Entries

-		//------------------

-		objArray = hashComponentEntries.values().toArray();

-		System.arraycopy(objArray, 0, items, hashProducts.size() + hashComponents.size(), objArray.length);

-

-		return items;

-	}

-	/**

-	 * 

-	 */

-	public void getSelectedItemsRecursive(TableTreeItem treeItem, Hashtable hashProducts, Hashtable hashComponents, Hashtable hashComponentEntries) {

-

-		// Obtain all selected items

-		//--------------------------

-		UMWizardTreeItem umTreeItem = null;

-

-		if (treeItem.getChecked() == true) {

-			umTreeItem = (UMWizardTreeItem) treeItem.getData();

-

-			if (umTreeItem != null) {

-				if (umTreeItem._iType == UpdateManagerConstants.TYPE_PRODUCT) {

-

-					// Remove duplicates by storing newer ones only

-					//---------------------------------------------

-					if (hashProducts.containsKey(umTreeItem._strId) == true) {

-						UMWizardTreeItem umTreeItemPrevious = (UMWizardTreeItem) hashProducts.get(umTreeItem._strId);

-						if (((IProductDescriptor) umTreeItem._descriptorAvailable).compare((IProductDescriptor) umTreeItemPrevious._descriptorAvailable) > 0) {

-							hashProducts.remove(umTreeItem._strId);

-							hashProducts.put(umTreeItem._strId, umTreeItem);

-						}

-					}

-					else {

-						hashProducts.put(umTreeItem._strId, umTreeItem);

-					}

-				}

-

-				else if (umTreeItem._iType == UpdateManagerConstants.TYPE_COMPONENT) {

-

-					// Remove duplicates by storing newer ones only

-					//---------------------------------------------

-					if (hashComponents.containsKey(umTreeItem._strId) == true) {

-						UMWizardTreeItem umTreeItemPrevious = (UMWizardTreeItem) hashComponents.get(umTreeItem._strId);

-						if (((IComponentDescriptor) umTreeItem._descriptorAvailable).compare((IComponentDescriptor) umTreeItemPrevious._descriptorAvailable) > 0) {

-							hashComponents.remove(umTreeItem._strId);

-							hashComponents.put(umTreeItem._strId, umTreeItem);

-						}

-					}

-					else {

-						hashComponents.put(umTreeItem._strId, umTreeItem);

-					}

-				}

-

-				else if (umTreeItem._iType == UpdateManagerConstants.TYPE_COMPONENT_ENTRY) {

-

-					// Add only if the parent product has not been selected

-					//-----------------------------------------------------

-					TableTreeItem treeItemParent = treeItem.getParentItem();

-					if (treeItemParent.getChecked() == false) {

-

-						// Remove duplicates by storing newer ones only

-						//---------------------------------------------

-						if (hashComponentEntries.containsKey(umTreeItem._strId) == true) {

-							UMWizardTreeItem umTreeItemPrevious = (UMWizardTreeItem) hashComponentEntries.get(umTreeItem._strId);

-							if (((IComponentEntryDescriptor) umTreeItem._descriptorEntry).compare((IComponentEntryDescriptor) umTreeItemPrevious._descriptorEntry) > 0) {

-								hashComponentEntries.remove(umTreeItem._strId);

-								hashComponentEntries.put(umTreeItem._strId, umTreeItem);

-							}

-						}

-						else {

-							hashComponentEntries.put(umTreeItem._strId, umTreeItem);

-						}

-					}

-				}

-			}

-		}

-

-		// Do child items

-		//---------------

-		TableTreeItem[] treeItemChildren = treeItem.getItems();

-

-		for (int i = 0; i < treeItemChildren.length; ++i) {

-			getSelectedItemsRecursive(treeItemChildren[i], hashProducts, hashComponents, hashComponentEntries);

-		}

-

-		return;

-	}

-	/**

-	 */

-	public String getURLDescription(String strURL) {

-

-		if (_treeSetLocations != null && _treeSetLocations.size() > 0) {

-			Iterator iter = _treeSetLocations.iterator();

-			URLNamePair pair = null;

-			while (iter.hasNext() == true) {

-				pair = (URLNamePair) iter.next();

-				if (pair._getURL().equals(strURL) == true) {

-					if (pair._getName() != null && pair._getName().length() > 0) {

-						return pair._getName();

-					}

-				}

-			}

-		}

-

-		return strURL;

-	}

-	/**

-	 * Obtains a list of registered component URLs from the local update registry.

-	 * Obtains a list of bookmarked URLs from the persistent data.

-	 * Creates a tree for all of the URLs.

-	 */

-	protected void initializeContent() {

-

-		if (_bRefreshRequired == false) {

-			return;

-		}

-

-		// Add all selected locations to a set

-		//------------------------------------

-		_treeSetLocations = new TreeSet(new UMWizardURLNamePairComparator());

-

-		// Obtain predefined locations strings from location page

-		//-------------------------------------------------------

-		UMWizardPageLocations pageLocations = (UMWizardPageLocations) _wizard.getPage("locations");

-

-		URLNamePair[] pairs = pageLocations.getSelectedPredefinedLocations();

-

-		for (int i = 0; i < pairs.length; ++i) {

-			_treeSetLocations.add(pairs[i]);

-		}

-

-		// Obtain additional locations strings from location page

-		//-------------------------------------------------------

-		pairs = pageLocations.getSelectedAdditionalLocations();

-

-		for (int i = 0; i < pairs.length; ++i) {

-			_treeSetLocations.add(pairs[i]);

-		}

-

-		// Obtain local registry in case there are installed versions

-		//-----------------------------------------------------------

-		final IUMRegistry registryLocal = _wizard._updateManager.getRegistryManager().getCurrentRegistry();

-

-		final Vector vectorRegistries = new Vector();

-		final Vector vectorURLsFailed = new Vector();

-

-		_tableTreeItems.setRedraw(false);

-

-		// Create an operation that read and create a registry for each location

-		//----------------------------------------------------------------------

-		IRunnableWithProgress operation = new IRunnableWithProgress() {

-			public void run(IProgressMonitor progressMonitor) throws InvocationTargetException, InterruptedException {

-

-				_progressMonitor = progressMonitor;

-

-				progressMonitor.beginTask(UpdateManagerStrings.getString("S_Reading") + ":", _treeSetLocations.size());

-

-				URLNamePair pair = null;

-				IUMRegistry registry = null;

-

-				Iterator iter = _treeSetLocations.iterator();

-

-				boolean bUrlOk = false;

-

-				while (iter.hasNext() == true) {

-

-					bUrlOk = false;

-

-					// Obtain the registry for the URL

-					// This will download the information

-					//-----------------------------------

-					pair = (URLNamePair) iter.next();

-

-					progressMonitor.subTask(pair._getName());

-

-					// Attempt to open the stream

-					//---------------------------

-					try {

-						URL url = new URL(pair._getURL());

-						url = UMEclipseTree.appendTrailingSlash(url);

-						Response response = URLHandler.open(url);

-						// we open the url to get authenticated.  response code not

-						// important at this point

-					/*	if (response.getResponseCode() == IStatusCodes.HTTP_OK) {

-							InputStream stream = response.getInputStream();

-

-							if (stream != null) {

-								stream.close();*/

-								bUrlOk = true;

-					//		}

-					//	}

-					}

-					catch (Exception ex) {

-					}

-

-					if (bUrlOk == true) { 

-						registry = getRegistryAt(pair._getURL());

-

-						// Add it to the list

-						//-------------------

-						if (registry != null)

-							vectorRegistries.add(registry);

-					}

-					else {

-						vectorURLsFailed.add(pair);

-					}

-

-					progressMonitor.worked(1);

-				}

-				progressMonitor.done();

-

-				_progressMonitor = null;

-			}

-		};

-

-		// Run the operation

-		//------------------

-		try {

-			_wizard.getContainer().run(true, true, operation);

-		}

-		catch (InterruptedException e) {

-		}

-		catch (InvocationTargetException e) {

-		}

-

-		// Create a new tree

-		//------------------

-		_treeSetItems = new TreeSet(new UMWizardTreeItemComparator());

-

-		// Create an operation that will fill the tree with information

-		// Location URL A

-		//   products

-		//     Product A

-		//     Product B

-		//   components

-		//     Component A

-		//     Component B

-		// Location URL B

-		// ...

-		//-------------------------------------------------------------

-		operation = new IRunnableWithProgress() {

-			public void run(IProgressMonitor progressMonitor) throws InvocationTargetException {

-

-				IUMRegistry registryRemote = null;

-

-				for (int i = 0; i < vectorRegistries.size(); ++i) {

-					registryRemote = (IUMRegistry) vectorRegistries.elementAt(i);

-					addLocationToTree(registryRemote, registryLocal, progressMonitor);

-				}

-			}

-		};

-

-		// Run the operation

-		//------------------

-		try {

-			_wizard.getContainer().run(true, true, operation);

-		}

-		catch (InterruptedException e) {

-			return;

-			//		System.out.println( "Interrupted" );

-		}

-		catch (InvocationTargetException e) {

-			//		System.out.println( "Invocation" );

-		}

-

-		_tableTreeItems.setRedraw(true);

-

-		// Create tree widget items for each update manager tree item

-		//-----------------------------------------------------------

-		connectToTree();

-

-		StringBuffer strbMessage = new StringBuffer();

-

-		// Determine whether there are any updatable items

-		//------------------------------------------------

-		if (_tableTreeItems.getItemCount() == 0)

-			strbMessage.append(UpdateManagerStrings.getString("S_No_installable_items_were_found") + "\n\n");

-

-		// Determine if any locations could not be accessed

-		//-------------------------------------------------

-		if (vectorURLsFailed.size() > 0) {

-			strbMessage.append(UpdateManagerStrings.getString("S_Unable_to_access_the_following_locations") + ":");

-			for (int i = 0; i < vectorURLsFailed.size(); ++i) {

-				strbMessage.append("\n   ");

-				strbMessage.append(((URLNamePair) vectorURLsFailed.elementAt(i))._getName());

-				strbMessage.append(" (");

-				strbMessage.append(((URLNamePair) vectorURLsFailed.elementAt(i))._getURL());

-				strbMessage.append(")");

-			}

-		}

-

-		if (strbMessage.length() > 0) {

-			MessageDialog.openInformation(getControl().getShell(), UpdateManagerStrings.getString("S_Information"), strbMessage.toString());

-		}

-

-		// Reset refresh flag

-		//-------------------

-		_bRefreshRequired = false;

-

-		return;

-	}

-	/**

-	 */

-	public int isInstallableComponent(TableTreeItem treeItemComponent) {

-

-		UMWizardTreeItem umTreeItem = (UMWizardTreeItem) treeItemComponent.getData();

-

-		// False if none available to install

-		//-----------------------------------

-		if (umTreeItem._descriptorAvailable == null) {

-			return -1;

-		}

-

-		// True if not yet installed

-		//--------------------------

-		if (umTreeItem._descriptorCurrent == null) {

-			return UpdateManagerConstants.OK_TO_INSTALL;

-		}

-

-		// True if installable

-		//--------------------

-		return ((IComponentDescriptor) umTreeItem._descriptorAvailable).isInstallable((IComponentDescriptor) umTreeItem._descriptorCurrent);

-	}

-	/**

-	 * @return int

-	 * @param treeItemComponent org.eclipse.swt.custom.TableTreeItem

-	 */

-	public int isInstallableComponentEntry(TableTreeItem treeItemComponentEntry) {

-

-		UMWizardTreeItem umTreeItem = (UMWizardTreeItem) treeItemComponentEntry.getData();

-

-		// False if none available to install

-		//-----------------------------------

-		if (umTreeItem._descriptorEntry == null) {

-			return -1;

-		}

-

-		// Is the product installable?

-		//----------------------------

-		TableTreeItem treeItemProduct = treeItemComponentEntry.getParentItem();

-

-		int iProductInstallable = isInstallableProduct(treeItemProduct);

-

-		// If the product is not installable, disable if mandatory component

-		//------------------------------------------------------------------

-		if (iProductInstallable != UpdateManagerConstants.OK_TO_INSTALL) {

-			if (umTreeItem._descriptorEntry.isOptionalForInstall() == false) {

-				return iProductInstallable;

-			}

-		}

-

-		return umTreeItem._descriptorEntry.isInstallable((IComponentDescriptor) umTreeItem._descriptorCurrent);

-	}

-	/**

-	 * @return int

-	 * @param treeItemComponent org.eclipse.swt.custom.TableTreeItem

-	 */

-	public int isInstallableProduct(TableTreeItem treeItemProduct) {

-

-		UMWizardTreeItem umTreeItem = (UMWizardTreeItem) treeItemProduct.getData();

-

-		// False if none available to install

-		//-----------------------------------

-		if (umTreeItem._descriptorAvailable == null) {

-			return -1;

-		}

-

-		// True if not yet installed

-		//--------------------------

-		else if (umTreeItem._descriptorCurrent == null) {

-			return UpdateManagerConstants.OK_TO_INSTALL;

-		}

-

-		// True if installable

-		//--------------------

-		return ((IProductDescriptor) umTreeItem._descriptorAvailable).isInstallable((IProductDescriptor) umTreeItem._descriptorCurrent);

-	}

-	/**

-	 * 

-	 */

-	public boolean isInstallableRecursive(TableTreeItem treeItem) {

-

-		boolean bInstallable = false;

-

-		UMWizardTreeItem umTreeItem = (UMWizardTreeItem) treeItem.getData();

-

-		// True if product or component is checked

-		//----------------------------------------

-		if (treeItem.getChecked() == true) {

-			if (umTreeItem._iType == UpdateManagerConstants.TYPE_COMPONENT || umTreeItem._iType == UpdateManagerConstants.TYPE_PRODUCT || umTreeItem._iType == UpdateManagerConstants.TYPE_COMPONENT_ENTRY) {

-				return true;

-			}

-		}

-

-		// Check all children

-		//-------------------

-		TableTreeItem[] treeItemChildren = treeItem.getItems();

-

-		for (int i = 0; i < treeItemChildren.length; ++i) {

-			if (isInstallableRecursive(treeItemChildren[i]) == true) {

-				return true;

-			}

-		}

-

-		return false;

-	}

-	/**

-	 * Sent when the mouse pointer passes into the area of

-	 * the screen covered by a control.

-	 */

-	public void mouseEnter(org.eclipse.swt.events.MouseEvent e) {

-	}

-	/**

-	 * Sent when the mouse pointer passes out of the area of

-	 * the screen covered by a control.  Erases the description text area.

-	 */

-	public void mouseExit(MouseEvent e) {

-		if (_strDescription != _wizard._strEmpty) {

-			_textDescription.setText(_wizard._strEmpty);

-			_strDescription = _wizard._strEmpty;

-		}

-	}

-	/**

-	 * Sent when the mouse pointer hovers (that is, stops moving

-	 * for an (operating system specified) period of time) over

-	 * a control.

-	 */

-	public void mouseHover(MouseEvent e) {

-	}

-	/**

-	 * Determines which item the mouse is over.  Sets the text in the description text area to the description of the item.

-	 */

-	public void mouseMove(MouseEvent e) {

-

-		// Table item

-		//-----------

-		TableItem tableItem = _tableTreeItems.getTable().getItem(new Point(e.x, e.y));

-

-		// TableTree item

-		//---------------

-		if (tableItem != null) {

-

-			TableTreeItem tableTreeItem = (TableTreeItem) tableItem.getData();

-

-			// UMWizardTreeItem

-			//---------------------- 

-			if (tableTreeItem != null) {

-

-				UMWizardTreeItem item = (UMWizardTreeItem) tableTreeItem.getData();

-

-				// Description string

-				//-------------------

-				if (item != null) {

-					if (item._strDescription != null) {

-						if (_strDescription != item._strDescription) {

-							_textDescription.setText(item._strDescription);

-							_strDescription = item._strDescription;

-						}

-					}

-					else {

-						if (_strDescription != _wizard._strEmpty) {

-							_textDescription.setText(_wizard._strEmpty);

-							_strDescription = _wizard._strEmpty;

-						}

-					}

-				}

-				else if (_strDescription != _wizard._strEmpty) {

-					_textDescription.setText(_wizard._strEmpty);

-					_strDescription = _wizard._strEmpty;

-				}

-

-			}

-		}

-		else if (_strDescription != _wizard._strEmpty) {

-			_textDescription.setText(_wizard._strEmpty);

-			_strDescription = _wizard._strEmpty;

-		}

-	}

-	/**

-	 * @return boolean

-	 */

-	public boolean performCancel() {

-

-		if (_progressMonitor == null)

-			return true;

-

-		_progressMonitor.setCanceled(true);

-		return false;

-	}

-	/**

-	 */

-	protected boolean setCheckedComponent(TableTreeItem treeItemComponent) {

-

-		if (treeItemComponent.getChecked() == false) {

-			int iInstallable = isInstallableComponent(treeItemComponent);

-

-			setTreeItemChecked(treeItemComponent, iInstallable == 0);

-			return iInstallable == 0;

-		}

-

-		return true;

-	}

-	/**

-	 */

-	protected boolean setCheckedComponentEntry(TableTreeItem treeItemComponentEntry) {

-

-		if (treeItemComponentEntry.getChecked() == false) {

-

-			UMWizardTreeItem umTreeItem = (UMWizardTreeItem) treeItemComponentEntry.getData();

-

-			int iInstallable = isInstallableComponentEntry(treeItemComponentEntry);

-

-			if (iInstallable == 0) {

-

-				// Set checked the product and all of its mandatory components

-				//------------------------------------------------------------

-				TableTreeItem treeItemProduct = treeItemComponentEntry.getParentItem();

-

-				boolean bInstallableProduct = setCheckedProduct(treeItemProduct);

-

-				// If the product is not installable, disable if mandatory component

-				//------------------------------------------------------------------

-				if (bInstallableProduct == false) {

-

-					if (umTreeItem._descriptorEntry.isOptionalForInstall() == false) {

-						if (treeItemComponentEntry.getChecked() == true)

-							treeItemComponentEntry.setChecked(false);

-						return false;

-					}

-				}

-			}

-

-			setTreeItemChecked(treeItemComponentEntry, iInstallable == 0);

-			umTreeItem._descriptorEntry.isSelected(iInstallable == 0);

-

-			return iInstallable == 0;

-		}

-

-		return true;

-	}

-	/**

-	 * This routine assumes that the checkbox was unchecked and is currently checked

-	 */

-	protected boolean setCheckedProduct(TableTreeItem treeItemProduct) {

-

-		if (treeItemProduct.getChecked() == false) {

-

-			int iInstallable = isInstallableProduct(treeItemProduct);

-

-			setTreeItemChecked(treeItemProduct, iInstallable == 0);

-

-			if (iInstallable == 0) {

-

-				TableTreeItem[] treeItemChildren = treeItemProduct.getItems();

-

-				UMWizardTreeItem umTreeItem = null;

-

-				for (int i = 0; i < treeItemChildren.length; ++i) {

-					setCheckedComponentEntry(treeItemChildren[i]);

-				}

-			}

-

-			return iInstallable == 0;

-		}

-

-		return true;

-	}

-	/**

-	 * This routine assumes that the checkbox was unchecked and is currently checked.

-	 */

-	protected boolean setCheckedURL(TableTreeItem treeItemURL) {

-

-		TableTreeItem[] treeItemChildren = treeItemURL.getItems();

-		UMWizardTreeItem umTreeItem = null;

-

-		for (int i = 0; i < treeItemChildren.length; ++i) {

-			umTreeItem = (UMWizardTreeItem) treeItemChildren[i].getData();

-

-			if (umTreeItem._iType == UpdateManagerConstants.TYPE_PRODUCT) {

-				setCheckedProduct(treeItemChildren[i]);

-			}

-			else if (umTreeItem._iType == UpdateManagerConstants.TYPE_COMPONENT) {

-				setCheckedComponent(treeItemChildren[i]);

-			}

-		}

-

-		// Always checked

-		//---------------

-		if (treeItemURL.getChecked() == false)

-			treeItemURL.setChecked(true);

-

-		return true;

-	}

-	/**

-	 */

-	protected void setTreeItemChecked(TableTreeItem treeItem, boolean bChecked) {

-

-		if (bChecked == true) {

-			if (treeItem.getChecked() == false)

-				treeItem.setChecked(true);

-		}

-		else {

-			if (treeItem.getChecked() == true)

-				treeItem.setChecked(false);

-		}

-	}

-	/**

-	 */

-	public void setTreeItemChecked(boolean bChecked) {

-	}

-	/**

-	 */

-	public void setTreeItemUncheckedRecursiveBackward(TableTreeItem treeItem) {

-

-		if (treeItem.getChecked() != false) {

-			treeItem.setChecked(false);

-		}

-

-		TableTreeItem treeItemParent = treeItem.getParentItem();

-

-		if (treeItemParent != null) {

-			setTreeItemUncheckedRecursiveBackward(treeItemParent);

-		}

-	}

-	/**

-	 */

-	public void setTreeItemUncheckedRecursiveForward(TableTreeItem treeItem) {

-

-		if (treeItem.getChecked() != false) {

-

-			treeItem.setChecked(false);

-			/*

-					UMWizardTreeItem umTreeItem = (UMWizardTreeItem) treeItem.getData();

-			

-					if (umTreeItem._iType == UpdateManagerConstants.TYPE_COMPONENT_ENTRY) {

-			

-						if (umTreeItem._descriptorEntry.isOptionalForInstall() == true) {

-							umTreeItem._descriptorEntry.isSelected(false);

-						}

-					}

-			*/

-		}

-

-		TableTreeItem[] treeItemChildren = treeItem.getItems();

-

-		for (int i = 0; i < treeItemChildren.length; ++i) {

-			setTreeItemUncheckedRecursiveForward(treeItemChildren[i]);

-		}

-	}

-	/**

-	 * 

-	 */

-	public void setVisible(boolean bVisible) {

-

-		super.setVisible(bVisible);

-

-		if (bVisible == true) {

-			_sashFormTopBottom.layout();

-			initializeContent();

-

-		}

-	}

-	/**

-	 * Sent when default selection occurs in the control.

-	 */

-	public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {

-	}

-	/**

-	 * Sent when selection occurs in the control.

-	 */

-	public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {

-

-		// Checkbox: Show latest versions only

-		//------------------------------------

-		if (e.widget == _buttonShowLatestOnly) {

-			_bShowLatestOnly = _buttonShowLatestOnly.getSelection();

-			_bRefreshRequired = true;

-			initializeContent();

-		}

-

-		// TableTreeItem: Checkbox

-		//------------------------

-		else if (e.widget == _tableTreeItems && e.detail == SWT.CHECK) {

-

-			// Set page complete to false in case there are

-			// no selected items, or until selection is determined to be valid

-			//----------------------------------------------------------------

-			setPageComplete(false);

-

-			TableTreeItem treeItem = (TableTreeItem) e.item;

-

-			UMWizardTreeItem umTreeItem = (UMWizardTreeItem) treeItem.getData();

-

-			boolean bChecked = treeItem.getChecked();

-

-			// Check

-			//------

-			if (bChecked == true) {

-				// Temporarily uncheck

-				//--------------------

-				treeItem.setChecked(false);

-

-				if (umTreeItem._iType == UpdateManagerConstants.TYPE_URL)

-					setCheckedURL(treeItem);

-

-				else if (umTreeItem._iType == UpdateManagerConstants.TYPE_PRODUCT)

-					setCheckedProduct(treeItem);

-

-				else if (umTreeItem._iType == UpdateManagerConstants.TYPE_COMPONENT)

-					setCheckedComponent(treeItem);

-

-				else if (umTreeItem._iType == UpdateManagerConstants.TYPE_COMPONENT_ENTRY)

-					setCheckedComponentEntry(treeItem);

-			}

-

-			// Uncheck

-			//--------

-			else {

-				switch (umTreeItem._iType) {

-					case UpdateManagerConstants.TYPE_COMPONENT_ENTRY :

-						umTreeItem._descriptorEntry.isSelected(false);

-						if (umTreeItem._descriptorEntry.isOptionalForInstall() == false)

-							setTreeItemUncheckedRecursiveBackward(treeItem);

-						break;

-

-					default :

-						setTreeItemUncheckedRecursiveBackward(treeItem);

-						setTreeItemUncheckedRecursiveForward(treeItem);

-						break;

-				}

-			}

-

-			// Determine if page is complete

-			//------------------------------

-			boolean bPageComplete = false;

-

-			TableTreeItem[] treeItems = _tableTreeItems.getItems();

-

-			for (int i = 0; i < treeItems.length; ++i) {

-				if (isInstallableRecursive(treeItems[i]) == true) {

-					setPageComplete(true);

-					break;

-				}

-			}

-		}

-

-		return;

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageInstalling.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageInstalling.java
deleted file mode 100644
index 7eb1bb8..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageInstalling.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLaunchHistory.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLaunchHistory.java
deleted file mode 100644
index 9589619..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLaunchHistory.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLaunchHistoryComplete.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLaunchHistoryComplete.java
deleted file mode 100644
index 84a9d61..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLaunchHistoryComplete.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLocations.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLocations.java
deleted file mode 100644
index d61bfbb..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageLocations.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLComplete.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLComplete.java
deleted file mode 100644
index 582c842..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLComplete.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstall.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstall.java
deleted file mode 100644
index 4057a14..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstall.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstallable.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstallable.java
deleted file mode 100644
index 0e87c19..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstallable.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstalling.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstalling.java
deleted file mode 100644
index ba49c34..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPageURLInstalling.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPersistentProperties.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPersistentProperties.java
deleted file mode 100644
index 9cd1af7..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardPersistentProperties.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentNew.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentNew.java
deleted file mode 100644
index cdf3a47..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentNew.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentRevert.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentRevert.java
deleted file mode 100644
index 908d541..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentRevert.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentURLInstall.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentURLInstall.java
deleted file mode 100644
index 5c08941..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentURLInstall.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentUpdate.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentUpdate.java
deleted file mode 100644
index f686d65..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardProductComponentUpdate.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardTreeItem.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardTreeItem.java
deleted file mode 100644
index 57ebf4a..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardTreeItem.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardTreeItemComparator.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardTreeItemComparator.java
deleted file mode 100644
index 96c1981..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardTreeItemComparator.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.update.internal.ui;

-/*

- * (c) Copyright IBM Corp. 2000, 2001.

- * All Rights Reserved.

- */

-

-/**

- * 

- */

-import java.util.Comparator;

-public class UMWizardTreeItemComparator implements Comparator {

-	/**

-	 * UpdateManagerTreeItemComparator constructor comment.

-	 */

-	public UMWizardTreeItemComparator() {

-		super();

-	}

-	/**

-	 * Compares its two arguments for order.  Returns a negative integer,

-	 * zero, or a positive integer as the first argument is less than, equal

-	 * to, or greater than the second.<p>

-	 *

-	 * The implementor must ensure that <tt>sgn(compare(x, y)) ==

-	 * -sgn(compare(y, x))</tt> for all <tt>x</tt> and <tt>y</tt>.  (This

-	 * implies that <tt>compare(x, y)</tt> must throw an exception if and only

-	 * if <tt>compare(y, x)</tt> throws an exception.)<p>

-	 *

-	 * The implementor must also ensure that the relation is transitive:

-	 * <tt>((compare(x, y)&gt;0) &amp;&amp; (compare(y, z)&gt;0))</tt> implies

-	 * <tt>compare(x, z)&gt;0</tt>.<p>

-	 *

-	 * Finally, the implementer must ensure that <tt>compare(x, y)==0</tt>

-	 * implies that <tt>sgn(compare(x, z))==sgn(compare(y, z))</tt> for all

-	 * <tt>z</tt>.<p>

-	 *

-	 * It is generally the case, but <i>not</i> strictly required that 

-	 * <tt>(compare(x, y)==0) == (x.equals(y))</tt>.  Generally speaking,

-	 * any comparator that violates this condition should clearly indicate

-	 * this fact.  The recommended language is "Note: this comparator

-	 * imposes orderings that are inconsistent with equals."

-	 * 

-	 * @return a negative integer, zero, or a positive integer as the

-	 *         first argument is less than, equal to, or greater than the

-	 *         second. 

-	 * @throws ClassCastException if the arguments' types prevent them from

-	 *         being compared by this Comparator.

-	 */

-	public int compare(java.lang.Object o1, java.lang.Object o2) {

-

-		if (o1 instanceof UMWizardTreeItem && o2 instanceof UMWizardTreeItem) {

-			if (((UMWizardTreeItem) o1)._strName != null && ((UMWizardTreeItem) o2)._strName != null) {

-				return ((UMWizardTreeItem) o1)._strName.compareTo(((UMWizardTreeItem) o2)._strName);

-			}

-		}

-

-		return 0;

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardURLNamePairComparator.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardURLNamePairComparator.java
deleted file mode 100644
index 59cd313..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UMWizardURLNamePairComparator.java
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UserValidationDialog.java b/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UserValidationDialog.java
deleted file mode 100644
index 8645286..0000000
--- a/update/org.eclipse.update/src/org/eclipse/update/internal/ui/UserValidationDialog.java
+++ /dev/null
Binary files differ