Index: /trunk/.settings/org.eclipse.jdt.ui.prefs
===================================================================
--- /trunk/.settings/org.eclipse.jdt.ui.prefs	(revision 1681)
+++ /trunk/.settings/org.eclipse.jdt.ui.prefs	(revision 1682)
@@ -1,6 +1,59 @@
-#Sat Jun 06 11:00:10 CEST 2009
+#Mon Jun 08 20:01:40 CEST 2009
+cleanup_settings_version=2
 eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
 formatter_profile=_josm
 formatter_settings_version=11
 org.eclipse.jdt.ui.javadoc=false
 org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">// License\: GPL. \r\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="false" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">// License\: GPL. For details, see LICENSE file.\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\r\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\r\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\r\n * @return the ${bare_field_name}\r\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\r\n * @param ${param} the ${bare_field_name} to set\r\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="filecomment_context" deleted\="false" description\="Comment for created JavaScript files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.filecomment" name\="filecomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\r\n * @author ${user}\r\n *\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for vars" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\r\n * \r\n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding function" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\r\n * ${tags}\r\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Jsdoc)\r\n * ${see_to_overridden}\r\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate functions" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\r\n * ${tags}\r\n * ${see_to_target}\r\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.classbody" name\="classbody">\r\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\r\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created function stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated function stub\r\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\r\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.wst.jsdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=false
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=true
+sp_cleanup.format_source_code=false
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.make_local_variable_final=false
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=false
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=false
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=false
+sp_cleanup.remove_unused_imports=false
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
Index: /trunk/build.xml
===================================================================
--- /trunk/build.xml	(revision 1681)
+++ /trunk/build.xml	(revision 1682)
@@ -77,3 +77,7 @@
 	</target>
 
+	<target name="dev-deploy" depends="dist">
+		<copy  file="dist/josm-custom.jar" todir="C:\data\projekte\osm\tag-editor-plugin"/>
+	</target>
+
 </project>
Index: /trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTaskList.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTaskList.java	(revision 1681)
+++ /trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTaskList.java	(revision 1682)
@@ -21,5 +21,4 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
 import org.openstreetmap.josm.gui.download.DownloadDialog.DownloadTask;
 import org.openstreetmap.josm.gui.layer.Layer;
@@ -136,5 +135,5 @@
                 +  "There are {0} primitives in your local dataset which<br>"
                 + "might be deleted on the server. If you later try to delete or<br>"
-                + "update them on the server the server is likely to report a<br>"
+                + "update them the server is likely to report a<br>"
                 + "conflict.<br>"
                 + "<br>"
@@ -177,5 +176,4 @@
     }
 
-
     public Set<Long> getDownloadedIds() {
         HashSet<Long> ret = new HashSet<Long>();
Index: unk/src/org/openstreetmap/josm/command/ConflictResolveCommand.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/command/ConflictResolveCommand.java	(revision 1681)
+++ 	(revision )
@@ -1,80 +1,0 @@
-// License: GPL. Copyright 2007 by Immanuel Scholz and others
-package org.openstreetmap.josm.command;
-
-import static org.openstreetmap.josm.tools.I18n.tr;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.Map.Entry;
-
-import javax.swing.JLabel;
-import javax.swing.tree.DefaultMutableTreeNode;
-import javax.swing.tree.MutableTreeNode;
-
-import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.data.conflict.ConflictItem;
-import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.gui.ConflictResolver;
-import org.openstreetmap.josm.gui.dialogs.ConflictDialog;
-import org.openstreetmap.josm.tools.ImageProvider;
-
-public class ConflictResolveCommand extends Command {
-
-    private final Collection<ConflictItem> conflicts;
-    private final Map<OsmPrimitive, OsmPrimitive> resolved;
-    private Map<OsmPrimitive, OsmPrimitive> origAllConflicts;
-    private final ConflictDialog conflictDialog;
-
-    public ConflictResolveCommand(List<ConflictItem> conflicts, Map<OsmPrimitive, OsmPrimitive> resolved) {
-        this.conflicts = conflicts;
-        this.resolved = resolved;
-        conflictDialog = Main.map.conflictDialog;
-    }
-
-    @Override public boolean executeCommand() {
-        super.executeCommand();
-
-        origAllConflicts = new HashMap<OsmPrimitive, OsmPrimitive>(conflictDialog.conflicts);
-
-        Set<OsmPrimitive> completed = new HashSet<OsmPrimitive>(resolved.keySet());
-        for (ConflictItem ci : conflicts) {
-            for (Entry<OsmPrimitive, OsmPrimitive> e : resolved.entrySet()) {
-                if (ci.resolution == ConflictResolver.Resolution.THEIR)
-                    ci.apply(e.getKey(), e.getValue());
-                else if (ci.resolution == ConflictResolver.Resolution.MY)
-                    ci.apply(e.getValue(), e.getKey());
-                else if (ci.hasConflict(e.getKey(), e.getValue()))
-                    completed.remove(e.getKey());
-            }
-        }
-        if (!completed.isEmpty()) {
-            for (OsmPrimitive k : completed)
-                conflictDialog.conflicts.remove(k);
-            conflictDialog.rebuildList();
-        }
-        return true;
-    }
-
-    @Override public void undoCommand() {
-        super.undoCommand();
-        Main.map.conflictDialog.conflicts.clear();
-        Main.map.conflictDialog.conflicts.putAll(origAllConflicts);
-        Main.map.conflictDialog.rebuildList();
-    }
-
-    @Override public void fillModifiedData(Collection<OsmPrimitive> modified, Collection<OsmPrimitive> deleted, Collection<OsmPrimitive> added) {
-        modified.addAll(resolved.keySet());
-    }
-
-    @Override public MutableTreeNode description() {
-        int i = 0;
-        for (ConflictItem c : conflicts)
-            if (c.resolution != null)
-                i++;
-        return new DefaultMutableTreeNode(new JLabel(tr("Resolve {0} conflicts in {1} objects",i,resolved.size()), ImageProvider.get("data", "object"), JLabel.HORIZONTAL));
-    }
-}
Index: unk/src/org/openstreetmap/josm/gui/ConflictResolver.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/ConflictResolver.java	(revision 1681)
+++ 	(revision )
@@ -1,242 +1,0 @@
-// License: GPL. Copyright 2007 by Immanuel Scholz and others
-package org.openstreetmap.josm.gui;
-
-import static org.openstreetmap.josm.tools.I18n.tr;
-import static org.openstreetmap.josm.tools.I18n.trn;
-
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.Font;
-import java.awt.GridBagLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeSet;
-import java.util.Map.Entry;
-
-import javax.swing.AbstractAction;
-import javax.swing.JButton;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JScrollPane;
-import javax.swing.JTable;
-import javax.swing.ListSelectionModel;
-import javax.swing.event.ListSelectionEvent;
-import javax.swing.event.ListSelectionListener;
-import javax.swing.event.TableModelListener;
-import javax.swing.table.DefaultTableCellRenderer;
-import javax.swing.table.TableCellRenderer;
-import javax.swing.table.TableModel;
-
-import org.openstreetmap.josm.data.conflict.ConflictItem;
-import org.openstreetmap.josm.data.conflict.DeleteConflict;
-import org.openstreetmap.josm.data.conflict.PositionConflict;
-import org.openstreetmap.josm.data.conflict.PropertyConflict;
-import org.openstreetmap.josm.data.osm.OsmPrimitive;
-import org.openstreetmap.josm.tools.GBC;
-import org.openstreetmap.josm.tools.ImageProvider;
-
-/**
- * A panel which implement the conflict resolving of a set of primitive-pairs. There will be
- * three tables in the screen, one for each both sides and one resulting table. The user can
- * move items from either one of the sides ("my" and "their") to the resulting table.
- *
- * @author Imi
- */
-public class ConflictResolver extends JPanel {
-
-    public static enum Resolution {MY, THEIR}
-
-    private final class ConflictTableModel implements TableModel {
-        private final Resolution resolution;
-        public ConflictTableModel(Resolution resolution) {
-            this.resolution = resolution;
-        }
-
-        public int getRowCount() {
-            return conflicts.size();
-        }
-
-        public Object getValueAt(int rowIndex, int columnIndex) {
-            ConflictItem ci = conflicts.get(rowIndex);
-            if (columnIndex == 0)
-                return ci.key();
-            Resolution r = resolution == null ? ci.resolution : resolution;
-            if (r == null)
-                return "<html><i>???</i></html>";
-            JLabel l = new JLabel(r == Resolution.MY ? ci.my : ci.their);
-            if (ci.resolution == resolution && resolution != null)
-                l.setFont(l.getFont().deriveFont(Font.BOLD));
-            return l;
-        }
-
-        public String getColumnName(int columnIndex) {return columnIndex == 0 ? tr("Key") : tr("Value");}
-        public int getColumnCount() {return 2;}
-        public boolean isCellEditable(int row, int column) {return false;}
-        public Class<?> getColumnClass(int columnIndex) {return Object.class;}
-
-        public void addTableModelListener(TableModelListener l) {}
-        public void removeTableModelListener(TableModelListener l) {}
-        public void setValueAt(Object aValue, int rowIndex, int columnIndex) {}
-    }
-
-    private final class DblClickListener extends MouseAdapter {
-        private final Resolution resolution;
-        public DblClickListener(Resolution resolution) {
-            this.resolution = resolution;
-        }
-        @Override public void mouseClicked(MouseEvent e) {
-            if (e.getClickCount() >= 2) {
-                int sel = ((JTable)e.getSource()).getSelectedRow();
-                if (sel == -1)
-                    return;
-                ConflictResolver.this.conflicts.get(sel).resolution = resolution;
-                repaint();
-            }
-        }
-    }
-    private final class ResolveAction extends AbstractAction {
-        private final Resolution resolution;
-        public ResolveAction(String name, Resolution resolution) {
-            super(null, ImageProvider.get("dialogs", name));
-            this.resolution = resolution;
-        }
-        public void actionPerformed(ActionEvent e) {
-            int sel = myTable.getSelectedRow();
-            if (sel == -1)
-                return;
-            conflicts.get(sel).resolution = resolution;
-            if (sel == myTable.getRowCount()-1)
-                myTable.clearSelection();
-            else
-                myTable.getSelectionModel().setSelectionInterval(sel+1, sel+1);
-            repaint();
-        }
-    }
-
-    public final List<ConflictItem> conflicts = new ArrayList<ConflictItem>();
-
-    private final ConflictTableModel my = new ConflictTableModel(Resolution.MY);
-    private final JTable myTable;
-    private final ConflictTableModel their = new ConflictTableModel(Resolution.THEIR);
-    private final JTable theirTable;
-    private final ConflictTableModel resolve = new ConflictTableModel(null);
-    private final JTable resolveTable;
-
-
-    public ConflictResolver(Map<OsmPrimitive, OsmPrimitive> conflicts) {
-        super(new GridBagLayout());
-        Collection<ConflictItem> possibleConflicts = new ArrayList<ConflictItem>();
-        possibleConflicts.add(new DeleteConflict());
-        possibleConflicts.add(new PositionConflict());
-        TreeSet<String> allkeys = new TreeSet<String>();
-        for (Entry<OsmPrimitive, OsmPrimitive> e : conflicts.entrySet()) {
-            allkeys.addAll(e.getKey().keySet());
-            allkeys.addAll(e.getValue().keySet());
-        }
-        for (String s : allkeys)
-            possibleConflicts.add(new PropertyConflict(s));
-
-        for (Entry<OsmPrimitive, OsmPrimitive> e : conflicts.entrySet()) {
-            for (Iterator<ConflictItem> it = possibleConflicts.iterator(); it.hasNext();) {
-                ConflictItem ci = it.next();
-                if (ci.hasConflict(e.getKey(), e.getValue())) {
-                    ci.initialize(conflicts);
-                    this.conflicts.add(ci);
-                    it.remove();
-                }
-            }
-        }
-
-
-        // have to initialize the JTables here and not in the declaration, because its constructor
-        // may access this.conflicts (indirectly)
-        myTable = new JTable(my);
-        theirTable = new JTable(their);
-        resolveTable = new JTable(resolve);
-
-        myTable.setPreferredScrollableViewportSize(new Dimension(250,70));
-        theirTable.setPreferredScrollableViewportSize(new Dimension(250,70));
-        resolveTable.setPreferredScrollableViewportSize(new Dimension(250,70));
-
-        TableCellRenderer renderer = new DefaultTableCellRenderer(){
-            final Font defFont = new JLabel().getFont();
-            @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
-                JLabel c = (JLabel)super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
-                c.setIcon(null);
-                c.setFont(defFont);
-                if (value instanceof JLabel) {
-                    JLabel l = (JLabel)value;
-                    String text = l.getText();
-                    c.setText(text);
-                    c.setFont(l.getFont());
-                    if (text.startsWith("<html>") && l.getFont().isBold())
-                        c.setText("<html>"+"<b>"+text.substring(6, text.length()-12));
-                } else {
-                    String s = value.toString();
-                    int i = s.indexOf('|');
-                    if (i != -1) {
-                        c.setIcon(ImageProvider.get("data", s.substring(0,i)));
-                        c.setText(s.substring(i+1));
-                    }
-                }
-                return c;
-            }
-        };
-        myTable.setDefaultRenderer(Object.class, renderer);
-        theirTable.setDefaultRenderer(Object.class, renderer);
-        resolveTable.setDefaultRenderer(Object.class, renderer);
-
-        myTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-        theirTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-        resolveTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-        ListSelectionListener selListener = new ListSelectionListener(){
-            public void valueChanged(ListSelectionEvent e) {
-                if (((ListSelectionModel)e.getSource()).isSelectionEmpty()) {
-                    myTable.clearSelection();
-                    theirTable.clearSelection();
-                    resolveTable.clearSelection();
-                } else {
-                    int i = ((ListSelectionModel)e.getSource()).getMinSelectionIndex();
-                    myTable.scrollRectToVisible(myTable.getCellRect(i, 0, true));
-                    myTable.getSelectionModel().setSelectionInterval(i, i);
-                    theirTable.scrollRectToVisible(theirTable.getCellRect(i, 0, true));
-                    theirTable.getSelectionModel().setSelectionInterval(i, i);
-                    resolveTable.scrollRectToVisible(resolveTable.getCellRect(i, 0, true));
-                    resolveTable.getSelectionModel().setSelectionInterval(i, i);
-                }
-            }
-        };
-        myTable.getSelectionModel().addListSelectionListener(selListener);
-        theirTable.getSelectionModel().addListSelectionListener(selListener);
-        resolveTable.getSelectionModel().addListSelectionListener(selListener);
-        myTable.getSelectionModel().setSelectionInterval(0,0);
-
-        myTable.addMouseListener(new DblClickListener(Resolution.MY));
-        theirTable.addMouseListener(new DblClickListener(Resolution.THEIR));
-        resolveTable.addMouseListener(new DblClickListener(null));
-
-        add(new JLabel(trn("{0} object has conflicts:","{0} objects have conflicts:",conflicts.size(),conflicts.size())), GBC.eol().insets(0,0,0,10));
-
-        JPanel p = new JPanel(new GridBagLayout());
-        p.add(new JLabel(tr("my version:")), GBC.eol());
-        p.add(new JScrollPane(myTable), GBC.eol().fill(GBC.BOTH));
-        p.add(new JButton(new ResolveAction("down", Resolution.MY)), GBC.eol().anchor(GBC.CENTER).insets(0,5,0,0));
-        add(p, GBC.std().insets(0,0,5,0));
-
-        p = new JPanel(new GridBagLayout());
-        p.add(new JLabel(tr("their version:")), GBC.eol());
-        p.add(new JScrollPane(theirTable), GBC.eol().fill(GBC.BOTH));
-        p.add(new JButton(new ResolveAction("down", Resolution.THEIR)), GBC.eol().anchor(GBC.CENTER).insets(0,5,0,0));
-        add(p, GBC.eop().insets(5,0,0,0));
-
-        add(new JButton(new ResolveAction("up", null)), GBC.eol().anchor(GBC.CENTER));
-        add(new JLabel(tr("resolved version:")), GBC.eol().insets(0,5,0,0));
-        add(new JScrollPane(resolveTable), GBC.eol().anchor(GBC.CENTER).fill(GBC.BOTH));
-    }
-}
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java	(revision 1681)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java	(revision 1682)
@@ -29,5 +29,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.command.ConflictResolveCommand;
 import org.openstreetmap.josm.data.SelectionChangedListener;
 import org.openstreetmap.josm.data.osm.DataSet;
@@ -39,6 +38,4 @@
 import org.openstreetmap.josm.data.osm.visitor.AbstractVisitor;
 import org.openstreetmap.josm.data.osm.visitor.Visitor;
-import org.openstreetmap.josm.gui.ConflictResolver;
-import org.openstreetmap.josm.gui.ExtendedDialog;
 import org.openstreetmap.josm.gui.NavigatableComponent;
 import org.openstreetmap.josm.gui.OsmPrimitivRenderer;
@@ -109,18 +106,4 @@
 
     private final void resolve() {
-        String method = Main.pref.get("conflict.resolution", "extended");
-        method = method.trim().toLowerCase();
-        if (method.equals("traditional")) {
-            resolveTraditional();
-        } else if (method.equals("extended")) {
-            resolveExtended();
-        } else {
-            System.out.println(tr("WARNING: unexpected value for preference conflict.resolution, got " + method));
-            resolveTraditional();
-        }
-    }
-
-
-    private final void resolveExtended() {
         if(model.size() == 1) {
             displaylist.setSelectedIndex(0);
@@ -139,31 +122,4 @@
         dialog.getConflictResolver().populate(my, their);
         dialog.setVisible(true);
-        Main.map.mapView.repaint();
-    }
-
-
-    private final void resolveTraditional() {
-        if(model.size() == 1) {
-            displaylist.setSelectedIndex(0);
-        }
-
-        if (displaylist.getSelectedIndex() == -1)
-            return;
-        Map<OsmPrimitive, OsmPrimitive> sel = new HashMap<OsmPrimitive, OsmPrimitive>();
-        for (int i : displaylist.getSelectedIndices()) {
-            OsmPrimitive s = (OsmPrimitive)model.get(i);
-            sel.put(s, conflicts.get(s));
-        }
-        ConflictResolver resolver = new ConflictResolver(sel);
-        int answer = new ExtendedDialog(Main.parent,
-                tr("Resolve Conflicts"),
-                resolver,
-                new String[] { tr("Solve Conflict"), tr("Cancel") },
-                new String[] { "dialogs/conflict.png", "cancel.png"}
-        ).getValue();
-
-        if (answer != 1)
-            return;
-        Main.main.undoRedo.add(new ConflictResolveCommand(resolver.conflicts, sel));
         Main.map.mapView.repaint();
     }
Index: /trunk/src/org/openstreetmap/josm/io/OsmApi.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OsmApi.java	(revision 1681)
+++ /trunk/src/org/openstreetmap/josm/io/OsmApi.java	(revision 1682)
@@ -307,5 +307,4 @@
      * @return list of processed primitives
      * @throws OsmTransferException if something is wrong
-     * @throws OsmTransferCancelledException  if the upload was cancelled by the user
      */
     public Collection<OsmPrimitive> uploadDiff(final Collection<OsmPrimitive> list) throws OsmTransferException {
Index: /trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java	(revision 1681)
+++ /trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java	(revision 1682)
@@ -84,12 +84,5 @@
         processed = new LinkedList<OsmPrimitive>();
 
-        // initialize API. Abort upload in case of configuration or network
-        // errors
-        //
-        try {
-            api.initialize();
-        } catch(Exception e) {
-            throw new OsmApiInitializationException(e);
-        }
+        api.initialize();
 
         Main.pleaseWaitDlg.progress.setMaximum(primitives.size());
@@ -125,4 +118,5 @@
             // upload changes individually (90% of code is for the status display...)
             //
+            api.createChangeset(getChangesetComment());
             NameVisitor v = new NameVisitor();
             uploadStartTime = System.currentTimeMillis();
@@ -139,4 +133,5 @@
                 Main.pleaseWaitDlg.progress.setValue(progress+1);
             }
+            api.stopChangeset();
         }
     }
