Index: trunk/src/org/openstreetmap/josm/actions/search/SelectionWebsiteLoader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/search/SelectionWebsiteLoader.java	(revision 2712)
+++ 	(revision )
@@ -1,102 +1,0 @@
-// License: GPL. Copyright 2007 by Immanuel Scholz and others
-/**
- *
- */
-package org.openstreetmap.josm.actions.search;
-
-import static org.openstreetmap.josm.tools.I18n.tr;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.Map;
-
-import javax.swing.JOptionPane;
-
-import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.gui.PleaseWaitRunnable;
-import org.openstreetmap.josm.io.OsmIdReader;
-import org.openstreetmap.josm.io.OsmTransferException;
-import org.openstreetmap.josm.io.ProgressInputStream;
-import org.xml.sax.SAXException;
-
-public class SelectionWebsiteLoader extends PleaseWaitRunnable {
-    public final URL url;
-    public Collection<OsmPrimitive> sel;
-    private final SearchAction.SearchMode mode;
-    private OsmIdReader idReader = new OsmIdReader();
-    public SelectionWebsiteLoader(String urlStr, SearchAction.SearchMode mode) {
-        super(tr("Load Selection"));
-        this.mode = mode;
-        URL u = null;
-        try {u = new URL(urlStr);} catch (MalformedURLException e) {}
-        this.url = u;
-    }
-    @Override protected void realRun() {
-        progressMonitor.setTicksCount(2);
-        sel = mode != SearchAction.SearchMode.remove ? new LinkedList<OsmPrimitive>() : Main.main.getCurrentDataSet().allNonDeletedPrimitives();
-        try {
-            URLConnection con = url.openConnection();
-            progressMonitor.subTask(tr("Contact {0}...", url.getHost()));
-            InputStream in = new ProgressInputStream(con, progressMonitor.createSubTaskMonitor(1, true));
-            progressMonitor.subTask(tr("Downloading..."));
-            Map<Long, String> ids = idReader.parseIds(in);
-            for (OsmPrimitive osm : Main.main.getCurrentDataSet().allNonDeletedPrimitives()) {
-                if (ids.containsKey(osm.getId()) && osm.getClass().getName().toLowerCase().endsWith(ids.get(osm.getId()))) {
-                    if (mode == SearchAction.SearchMode.remove) {
-                        sel.remove(osm);
-                    } else {
-                        sel.add(osm);
-                    }
-                }
-            }
-            progressMonitor.worked(1);
-        } catch (IOException e) {
-            e.printStackTrace();
-            JOptionPane.showMessageDialog(
-                    Main.parent,
-                    tr("Could not read from URL: \"{0}\"",url),
-                    tr("Error"),
-                    JOptionPane.ERROR_MESSAGE
-            );
-        } catch (SAXException e) {
-            e.printStackTrace();
-            JOptionPane.showMessageDialog(
-                    Main.parent,
-                    tr("Parsing error in URL: \"{0}\"",url),
-                    tr("Error"),
-                    JOptionPane.ERROR_MESSAGE
-            );
-        } catch(OsmTransferException e) {
-            e.printStackTrace();
-            if (e.getCause() != null) {
-                if (e.getCause() instanceof IOException ) {
-                    JOptionPane.showMessageDialog(
-                            Main.parent, tr("Could not read from URL: \"{0}\"",url),
-                            tr("Error"), JOptionPane.ERROR_MESSAGE);
-                } else if (e.getCause() instanceof SAXException) {
-                    JOptionPane.showMessageDialog(Main.parent,tr("Parsing error in URL: \"{0}\"",url),
-                            tr("Error"), JOptionPane.ERROR_MESSAGE);
-                }
-            } else {
-                JOptionPane.showMessageDialog(Main.parent,tr("Error while communicating with server.",url),
-                        tr("Error"), JOptionPane.ERROR_MESSAGE);
-            }
-
-        }
-    }
-    @Override protected void cancel() {
-        sel = null;
-        idReader.cancel();
-    }
-    @Override protected void finish() {
-        if (sel != null) {
-            Main.main.getCurrentDataSet().setSelected(sel);
-        }
-    }
-}
Index: trunk/src/org/openstreetmap/josm/command/RemoveRelationMemberCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/RemoveRelationMemberCommand.java	(revision 2712)
+++ 	(revision )
@@ -1,85 +1,0 @@
-// License: GPL. Copyright 2007 by Immanuel Scholz and others
-package org.openstreetmap.josm.command;
-
-import static org.openstreetmap.josm.tools.I18n.marktr;
-import static org.openstreetmap.josm.tools.I18n.tr;
-
-import java.util.Collection;
-
-import javax.swing.JLabel;
-import javax.swing.tree.DefaultMutableTreeNode;
-import javax.swing.tree.MutableTreeNode;
-
-import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
-import org.openstreetmap.josm.data.osm.Relation;
-import org.openstreetmap.josm.data.osm.RelationMember;
-import org.openstreetmap.josm.gui.DefaultNameFormatter;
-import org.openstreetmap.josm.tools.ImageProvider;
-
-/**
- * Command that adds a relation to an OSM object
- *
- * @author daveh
- */
-public class RemoveRelationMemberCommand extends Command {
-
-    // container object in which to replace a sub object
-    private final Relation relation;
-    // the sub-object to be replaced
-    private final RelationMember member;
-    // its replacement
-    private int location = -1;
-
-    public RemoveRelationMemberCommand(Relation _relation, RelationMember _member) {
-        this.relation = _relation;
-        this.member = _member;
-    }
-    public RemoveRelationMemberCommand(Relation _relation, RelationMember _member, int _location) {
-        this.relation = _relation;
-        this.member = _member;
-        location = _location;
-    }
-
-    @Override public boolean executeCommand() {
-        super.executeCommand();
-        int removeIndex = relation.getMembers().indexOf(member);
-        if ((location != -1) && (removeIndex != location)) {
-            Main.debug("error removing relation member");
-            return false;
-        } else {
-            relation.removeMember(removeIndex);
-            relation.setModified(true);
-            return true;
-        }
-    }
-
-    @Override public void undoCommand() {
-        super.undoCommand();
-        relation.addMember(member);
-        relation.setModified(this.getOrig(relation).isModified());
-    }
-
-    @Override public void fillModifiedData(Collection<OsmPrimitive> modified, Collection<OsmPrimitive> deleted, Collection<OsmPrimitive> added) {}
-
-    @Override public MutableTreeNode description() {
-        String msg = "";
-        switch(OsmPrimitiveType.from(member.getMember())) {
-            case NODE: msg = marktr("Remove node ''{0}'' at position {1} from relation ''{2}''"); break;
-            case WAY: msg = marktr("Remove way ''{0}'' at position {1} from relation ''{2}''"); break;
-            case RELATION: msg = marktr("Remove relation ''{0}'' at position {1} from relation ''{2}''"); break;
-        }
-        return new DefaultMutableTreeNode(
-                new JLabel(
-                        tr(msg,
-                                member.getMember().getDisplayName(DefaultNameFormatter.getInstance()),
-                                relation.getMembers().indexOf(member),
-                                relation.getDisplayName(DefaultNameFormatter.getInstance())
-                        ),
-                        ImageProvider.get(OsmPrimitiveType.from(relation)),
-                        JLabel.HORIZONTAL
-                )
-        );
-    }
-}
Index: trunk/src/org/openstreetmap/josm/data/osm/DateFormatter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/DateFormatter.java	(revision 2712)
+++ 	(revision )
@@ -1,81 +1,0 @@
-package org.openstreetmap.josm.data.osm;
-
-import java.util.Calendar;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.util.TimeZone;
-
-/**
- * Outputs a date in a format suitable for an OSM XML file.
- *
- * @author Brett Henderson
- */
-public class DateFormatter {
-
-    private GregorianCalendar calendar;
-
-    /**
-     * Creates a new instance.
-     */
-    public DateFormatter() {
-        calendar = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
-    }
-
-    /**
-     * Formats a date in XML format.
-     *
-     * @param date
-     *            The date to be formatted.
-     * @return The string representing the date.
-     */
-    public String format(Date date) {
-        StringBuilder result;
-        int year;
-        int month;
-        int day;
-        int hour;
-        int minute;
-        int second;
-
-        calendar.setTime(date);
-
-        result = new StringBuilder(20);
-
-        year = calendar.get(Calendar.YEAR);
-        month = calendar.get(Calendar.MONTH) + 1;
-        day = calendar.get(Calendar.DATE);
-        hour = calendar.get(Calendar.HOUR_OF_DAY);
-        minute = calendar.get(Calendar.MINUTE);
-        second = calendar.get(Calendar.SECOND);
-
-        result.append(year);
-        result.append('-');
-        if (month < 10) {
-            result.append('0');
-        }
-        result.append(month);
-        result.append('-');
-        if (day < 10) {
-            result.append('0');
-        }
-        result.append(day);
-        result.append('T');
-        if (hour < 10) {
-            result.append('0');
-        }
-        result.append(hour);
-        result.append(':');
-        if (minute < 10) {
-            result.append('0');
-        }
-        result.append(minute);
-        result.append(':');
-        if (second < 10) {
-            result.append('0');
-        }
-        result.append(second);
-        result.append('Z');
-
-        return result.toString();
-    }
-}
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheSortSpecification.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheSortSpecification.java	(revision 2712)
+++ 	(revision )
@@ -1,19 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.gui.dialogs.changeset;
-
-public class ChangesetCacheSortSpecification {
-    static public enum SortCriterium {
-        ID,
-        COMMENT,
-        OPEN,
-        USER,
-        CREATED_AT,
-        CLOSED_AT
-    }
-
-    static public enum SortDirection {
-        ASCENDING,
-        DESCENDING
-    }
-
-}
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/NoPaintElemStyle.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/NoPaintElemStyle.java	(revision 2712)
+++ 	(revision )
@@ -1,21 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.gui.mappaint;
-
-import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.data.osm.visitor.paint.MapPaintSettings;
-import org.openstreetmap.josm.data.osm.visitor.paint.MapPainter;
-
-public class NoPaintElemStyle extends ElemStyle {
-
-    public static final NoPaintElemStyle INSTANCE = new NoPaintElemStyle();
-
-    private NoPaintElemStyle() {
-
-    }
-
-    @Override
-    public void paintPrimitive(OsmPrimitive primitive, MapPaintSettings paintSettings, MapPainter painter, boolean selected) {
-        // Do nothing
-    }
-
-}
Index: trunk/src/org/openstreetmap/josm/gui/progress/StackableProgress.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/progress/StackableProgress.java	(revision 2712)
+++ 	(revision )
@@ -1,7 +1,0 @@
-// License: GPL. For details, see LICENSE file.
-package org.openstreetmap.josm.gui.progress;
-
-public interface StackableProgress {
-    public void setChildProgress(double value);
-    public void setSubTaskName(String value);
-}
Index: trunk/src/org/openstreetmap/josm/io/MultiPartFormOutputStream.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/MultiPartFormOutputStream.java	(revision 2712)
+++ 	(revision )
@@ -1,422 +1,0 @@
-/*
-Taken from forum.java.sun.com
-
-License
-
-Copyright 1994-2007 Sun Microsystems, Inc. All Rights Reserved.
-Redistribution and use in source and binary forms, with or without modification,
-are permitted provided that the following conditions are met:
-
- * Redistribution of source code must retain the above copyright notice, this list
-      of conditions and the following disclaimer.
-
- * Redistribution 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.
-
-Neither the name of Sun Microsystems, Inc. or the names of contributors may be used to
-endorse or promote products derived from this software without specific prior written
-permission.
-
-This software is provided "AS IS," without a warranty of any kind. ALL EXPRESS OR IMPLIED
-CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS,
-INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS
-A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT
-WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
-INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND
-REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS
-SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-You acknowledge that this software is not designed, licensed or intended for use in the
-design, construction, operation or maintenance of any nuclear facility.
- */
-
-package org.openstreetmap.josm.io;
-
-import java.io.DataOutputStream;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLConnection;
-
-/**
- * <code>MultiPartFormOutputStream</code> is used to write
- * "multipart/form-data" to a <code>java.net.URLConnection</code> for
- * POSTing.  This is primarily for file uploading to HTTP servers.
- *
- * @since  JDK1.3
- */
-public class MultiPartFormOutputStream extends OsmConnection {
-    /**
-     * The line end characters.
-     */
-    private static final String NEWLINE = "\r\n";
-
-    /**
-     * The boundary prefix.
-     */
-    private static final String PREFIX = "--";
-
-    /**
-     * The output stream to write to.
-     */
-    private DataOutputStream out = null;
-
-    /**
-     * The multipart boundary string.
-     */
-    private String boundary = null;
-
-    /**
-     * Creates a new <code>MultiPartFormOutputStream</code> object using
-     * the specified output stream and boundary.  The boundary is required
-     * to be created before using this method, as described in the
-     * description for the <code>getContentType(String)</code> method.
-     * The boundary is only checked for <code>null</code> or empty string,
-     * but it is recommended to be at least 6 characters.  (Or use the
-     * static createBoundary() method to create one.)
-     *
-     * @param  os        the output stream
-     * @param  boundary  the boundary
-     * @see  #createBoundary()
-     * @see  #getContentType(String)
-     */
-    public MultiPartFormOutputStream(OutputStream os, String boundary) {
-        if(os == null)
-            throw new IllegalArgumentException("Output stream is required.");
-        if(boundary == null || boundary.length() == 0)
-            throw new IllegalArgumentException("Boundary stream is required.");
-        this.out = new DataOutputStream(os);
-        this.boundary = boundary;
-    }
-
-    /**
-     * Writes an boolean field value.
-     *
-     * @param  name   the field name (required)
-     * @param  value  the field value
-     * @throws  java.io.IOException  on input/output errors
-     */
-    public void writeField(String name, boolean value)
-    throws java.io.IOException {
-        writeField(name, Boolean.valueOf(value).toString());
-    }
-
-    /**
-     * Writes an double field value.
-     *
-     * @param  name   the field name (required)
-     * @param  value  the field value
-     * @throws  java.io.IOException  on input/output errors
-     */
-    public void writeField(String name, double value)
-    throws java.io.IOException {
-        writeField(name, Double.toString(value));
-    }
-
-    /**
-     * Writes an float field value.
-     *
-     * @param  name   the field name (required)
-     * @param  value  the field value
-     * @throws  java.io.IOException  on input/output errors
-     */
-    public void writeField(String name, float value)
-    throws java.io.IOException {
-        writeField(name, Float.toString(value));
-    }
-
-    /**
-     * Writes an long field value.
-     *
-     * @param  name   the field name (required)
-     * @param  value  the field value
-     * @throws  java.io.IOException  on input/output errors
-     */
-    public void writeField(String name, long value)
-    throws java.io.IOException {
-        writeField(name, Long.toString(value));
-    }
-
-    /**
-     * Writes an int field value.
-     *
-     * @param  name   the field name (required)
-     * @param  value  the field value
-     * @throws  java.io.IOException  on input/output errors
-     */
-    public void writeField(String name, int value)
-    throws java.io.IOException {
-        writeField(name, Integer.toString(value));
-    }
-
-    /**
-     * Writes an short field value.
-     *
-     * @param  name   the field name (required)
-     * @param  value  the field value
-     * @throws  java.io.IOException  on input/output errors
-     */
-    public void writeField(String name, short value)
-    throws java.io.IOException {
-        writeField(name, Short.toString(value));
-    }
-
-    /**
-     * Writes an char field value.
-     *
-     * @param  name   the field name (required)
-     * @param  value  the field value
-     * @throws  java.io.IOException  on input/output errors
-     */
-    public void writeField(String name, char value)
-    throws java.io.IOException {
-        writeField(name, Character.valueOf(value).toString());
-    }
-
-    /**
-     * Writes an string field value.  If the value is null, an empty string
-     * is sent ("").
-     *
-     * @param  name   the field name (required)
-     * @param  value  the field value
-     * @throws  java.io.IOException  on input/output errors
-     */
-    public void writeField(String name, String value)
-    throws java.io.IOException {
-        if(name == null)
-            throw new IllegalArgumentException("Name cannot be null or empty.");
-        if(value == null) {
-            value = "";
-        }
-        /*
-            --boundary\r\n
-            Content-Disposition: form-data; name="<fieldName>"\r\n
-            \r\n
-            <value>\r\n
-         */
-        // write boundary
-        out.writeBytes(PREFIX);
-        out.writeBytes(boundary);
-        out.writeBytes(NEWLINE);
-        // write content header
-        out.writeBytes("Content-Disposition: form-data; name=\"" + name + "\"");
-        out.writeBytes(NEWLINE);
-        out.writeBytes(NEWLINE);
-        // write content
-        out.writeBytes(value);
-        out.writeBytes(NEWLINE);
-        out.flush();
-    }
-
-    /**
-     * Writes a file's contents.  If the file is null, does not exists, or
-     * is a directory, a <code>java.lang.IllegalArgumentException</code>
-     * will be thrown.
-     *
-     * @param  name      the field name
-     * @param  mimeType  the file content type (optional, recommended)
-     * @param  file      the file (the file must exist)
-     * @throws  java.io.IOException  on input/output errors
-     */
-    public void writeFile(String name, String mimeType, java.io.File file)
-    throws java.io.IOException {
-        if(file == null)
-            throw new IllegalArgumentException("File cannot be null.");
-        if(!file.exists())
-            throw new IllegalArgumentException("File does not exist.");
-        if(file.isDirectory())
-            throw new IllegalArgumentException("File cannot be a directory.");
-        writeFile(name, mimeType, file.getCanonicalPath(), new FileInputStream(file));
-    }
-
-    /**
-     * Writes a input stream's contents.  If the input stream is null, a
-     * <code>java.lang.IllegalArgumentException</code> will be thrown.
-     *
-     * @param  name      the field name
-     * @param  mimeType  the file content type (optional, recommended)
-     * @param  fileName  the file name (required)
-     * @param  is        the input stream
-     * @throws  java.io.IOException  on input/output errors
-     */
-    public void writeFile(String name, String mimeType,
-            String fileName, InputStream is)
-    throws java.io.IOException {
-        if(is == null)
-            throw new IllegalArgumentException("Input stream cannot be null.");
-        if(fileName == null || fileName.length() == 0)
-            throw new IllegalArgumentException("File name cannot be null or empty.");
-        /*
-            --boundary\r\n
-            Content-Disposition: form-data; name="<fieldName>"; filename="<filename>"\r\n
-            Content-Type: <mime-type>\r\n
-            \r\n
-            <file-data>\r\n
-         */
-        // write boundary
-        out.writeBytes(PREFIX);
-        out.writeBytes(boundary);
-        out.writeBytes(NEWLINE);
-        // write content header
-        out.writeBytes("Content-Disposition: form-data; name=\"" + name +
-                "\"; filename=\"" + fileName + "\"");
-        out.writeBytes(NEWLINE);
-        if(mimeType != null) {
-            out.writeBytes("Content-Type: " + mimeType);
-            out.writeBytes(NEWLINE);
-        }
-        out.writeBytes(NEWLINE);
-        // write content
-        byte[] data = new byte[1024];
-        int r = 0;
-        while((r = is.read(data, 0, data.length)) != -1) {
-            out.write(data, 0, r);
-        }
-        // close input stream, but ignore any possible exception for it
-        try {
-            is.close();
-        } catch(Exception e) {}
-        out.writeBytes(NEWLINE);
-        out.flush();
-    }
-
-    /**
-     * Writes the given bytes.  The bytes are assumed to be the contents
-     * of a file, and will be sent as such.  If the data is null, a
-     * <code>java.lang.IllegalArgumentException</code> will be thrown.
-     *
-     * @param  name      the field name
-     * @param  mimeType  the file content type (optional, recommended)
-     * @param  fileName  the file name (required)
-     * @param  data      the file data
-     * @throws  java.io.IOException  on input/output errors
-     */
-    public void writeFile(String name, String mimeType,
-            String fileName, byte[] data)
-    throws java.io.IOException {
-        if(data == null)
-            throw new IllegalArgumentException("Data cannot be null.");
-        if(fileName == null || fileName.length() == 0)
-            throw new IllegalArgumentException("File name cannot be null or empty.");
-        /*
-            --boundary\r\n
-            Content-Disposition: form-data; name="<fieldName>"; filename="<filename>"\r\n
-            Content-Type: <mime-type>\r\n
-            \r\n
-            <file-data>\r\n
-         */
-        // write boundary
-        out.writeBytes(PREFIX);
-        out.writeBytes(boundary);
-        out.writeBytes(NEWLINE);
-        // write content header
-        out.writeBytes("Content-Disposition: form-data; name=\"" + name +
-                "\"; filename=\"" + fileName + "\"");
-        out.writeBytes(NEWLINE);
-        if(mimeType != null) {
-            out.writeBytes("Content-Type: " + mimeType);
-            out.writeBytes(NEWLINE);
-        }
-        out.writeBytes(NEWLINE);
-        // write content
-        out.write(data, 0, data.length);
-        out.writeBytes(NEWLINE);
-        out.flush();
-    }
-
-    /**
-     * Flushes the stream.  Actually, this method does nothing, as the only
-     * write methods are highly specialized and automatically flush.
-     */
-    public void flush() {
-        // out.flush();
-    }
-
-    /**
-     * Closes the stream.  <br/>
-     * <br/>
-     * <b>NOTE:</b> This method <b>MUST</b> be called to finalize the
-     * multipart stream.
-     *
-     * @throws  java.io.IOException  on input/output errors
-     */
-    public void close() throws java.io.IOException {
-        // write final boundary
-        out.writeBytes(PREFIX);
-        out.writeBytes(boundary);
-        out.writeBytes(PREFIX);
-        out.writeBytes(NEWLINE);
-        out.flush();
-        out.close();
-    }
-
-    /**
-     * Gets the multipart boundary string being used by this stream.
-     *
-     * @return  the boundary
-     */
-    public String getBoundary() {
-        return this.boundary;
-    }
-
-    /**
-     * Creates a new <code>java.net.URLConnection</code> object from the
-     * specified <code>java.net.URL</code>.  This is a convenience method
-     * which will set the <code>doInput</code>, <code>doOutput</code>,
-     * <code>useCaches</code> and <code>defaultUseCaches</code> fields to
-     * the appropriate settings in the correct order.
-     *
-     * @return  a <code>java.net.URLConnection</code> object for the URL
-     * @throws  java.io.IOException  on input/output errors
-     */
-    public static URLConnection createConnection(URL url)
-    throws java.io.IOException {
-        URLConnection urlConn = url.openConnection();
-        if(urlConn instanceof HttpURLConnection) {
-            HttpURLConnection httpConn = (HttpURLConnection)urlConn;
-            httpConn.setRequestMethod("POST");
-        }
-        urlConn.setDoInput(true);
-        urlConn.setDoOutput(true);
-        urlConn.setUseCaches(false);
-        urlConn.setDefaultUseCaches(false);
-        return urlConn;
-    }
-
-    /**
-     * Creates a multipart boundary string by concatenating 20 hyphens (-)
-     * and the hexadecimal (base-16) representation of the current time in
-     * milliseconds.
-     *
-     * @return  a multipart boundary string
-     * @see  #getContentType(String)
-     */
-    public static String createBoundary() {
-        return "--------------------" +
-        Long.toString(System.currentTimeMillis(), 16);
-    }
-
-    /**
-     * Gets the content type string suitable for the
-     * <code>java.net.URLConnection</code> which includes the multipart
-     * boundary string.  <br/>
-     * <br/>
-     * This method is static because, due to the nature of the
-     * <code>java.net.URLConnection</code> class, once the output stream
-     * for the connection is acquired, it's too late to set the content
-     * type (or any other request parameter).  So one has to create a
-     * multipart boundary string first before using this class, such as
-     * with the <code>createBoundary()</code> method.
-     *
-     * @param  boundary  the boundary string
-     * @return  the content type string
-     * @see  #createBoundary()
-     */
-    public static String getContentType(String boundary) {
-        return "multipart/form-data; boundary=" + boundary;
-    }
-}
Index: trunk/src/org/openstreetmap/josm/io/OsmIdReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmIdReader.java	(revision 2712)
+++ 	(revision )
@@ -1,64 +1,0 @@
-// License: GPL. Copyright 2007 by Immanuel Scholz and others
-package org.openstreetmap.josm.io;
-
-import static org.openstreetmap.josm.tools.I18n.tr;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParserFactory;
-
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Read only the ids and classes of an stream.
- *
- * @author Imi
- */
-public class OsmIdReader extends DefaultHandler {
-
-    private boolean cancel;
-    Map<Long, String> entries = new HashMap<Long, String>();
-    private Reader in;
-
-    @Override public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
-        if (qName.equals("node") || qName.equals("way") || qName.equals("relation")) {
-            try {
-                entries.put(Long.valueOf(atts.getValue("id")), qName);
-            } catch (Exception e) {
-                e.printStackTrace();
-                throw new SAXException(tr("Error during parse."));
-            }
-        }
-    }
-
-    public Map<Long, String> parseIds(InputStream in) throws IOException, SAXException {
-        this.in = new InputStreamReader(in, "UTF-8");
-        try {
-            SAXParserFactory.newInstance().newSAXParser().parse(new InputSource(this.in), this);
-        } catch (ParserConfigurationException e) {
-            if (!cancel) {
-                e.printStackTrace(); // broken SAXException chaining
-                throw new SAXException(e);
-            }
-        } catch (SAXException e) {
-            if (!cancel)
-                throw e;
-        }
-        return entries;
-    }
-
-    public void cancel() {
-        cancel = true;
-        if (in != null)
-            try {in.close();} catch (IOException e) {}
-    }
-}
