Ignore:
Timestamp:
2009-07-19T19:04:49+02:00 (16 years ago)
Author:
Gubaer
Message:

removed dependencies to Main.ds, removed Main.ds
removed AddVisitor, NameVisitor, DeleteVisitor - unnecessary double dispatching for these simple cases

Location:
trunk/src/org/openstreetmap/josm/io
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/io/GpxImporter.java

    r1696 r1814  
    2929            GpxReader r = null;
    3030            InputStream is;
    31             if (file.getName().endsWith(".gpx.gz"))
     31            if (file.getName().endsWith(".gpx.gz")) {
    3232                is = new GZIPInputStream(new FileInputStream(file));
    33             else
     33            } else {
    3434                is = new FileInputStream(file);
     35            }
    3536            // Workaround for SAX BOM bug
    3637            // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6206835
    3738            if (!((is.read() == 0xef) && (is.read() == 0xbb) && (is.read() == 0xbf))) {
    3839                is.close();
    39                 if (file.getName().endsWith(".gpx.gz"))
     40                if (file.getName().endsWith(".gpx.gz")) {
    4041                    is = new GZIPInputStream(new FileInputStream(file));
    41                 else
     42                } else {
    4243                    is = new FileInputStream(file);
     44                }
    4345            }
    4446            r = new GpxReader(is, file.getAbsoluteFile().getParentFile());
     
    4850            if (Main.pref.getBoolean("marker.makeautomarkers", true)) {
    4951                MarkerLayer ml = new MarkerLayer(r.data, tr("Markers from {0}", fn), file, gpxLayer);
    50                 if (ml.data.size() > 0)
     52                if (ml.data.size() > 0) {
    5153                    Main.main.addLayer(ml);
     54                }
    5255            }
    5356        } catch (FileNotFoundException e) {
  • trunk/src/org/openstreetmap/josm/io/OsmReader.java

    r1811 r1814  
    2929import org.openstreetmap.josm.data.osm.User;
    3030import org.openstreetmap.josm.data.osm.Way;
    31 import org.openstreetmap.josm.data.osm.visitor.AddVisitor;
    3231import org.openstreetmap.josm.gui.progress.ProgressMonitor;
    3332import org.openstreetmap.josm.tools.DateUtils;
     
    5554    private DataSet ds = new DataSet();
    5655    public DataSet getDs() { return ds; }
    57 
    58     /**
    59      * The visitor to use to add the data to the set.
    60      */
    61     private AddVisitor adder = new AddVisitor(ds);
    6256
    6357    /**
     
    349343                w.incomplete = true;
    350344                w.nodes.clear();
    351                 adder.visit(w);
     345                ds.addPrimitive(w);
    352346            } else {
    353347                e.getKey().copyTo(w);
    354348                w.incomplete = false;
    355                 adder.visit(w);
     349                ds.addPrimitive(w);
    356350            }
    357351        }
     
    401395            Relation en = new Relation();
    402396            e.getKey().copyTo(en);
    403             adder.visit(en);
     397            ds.addPrimitive(en);
    404398        }
    405399
     
    421415                    if (em.member == null) {
    422416                        em.member = new Node(emd.id);
    423                         adder.visit((Node)em.member);
     417                        ds.addPrimitive(em.member);
    424418                    }
    425419                } else if (emd.type.equals("way")) {
     
    430424                    if (em.member == null) {
    431425                        em.member = new Way(emd.id);
    432                         adder.visit((Way)em.member);
     426                        ds.addPrimitive(em.member);
    433427                    }
    434428                } else if (emd.type.equals("relation")) {
     
    436430                    if (em.member == null) {
    437431                        em.member = new Relation(emd.id);
    438                         adder.visit((Relation)em.member);
     432                        ds.addPrimitive(em.member);
    439433                    }
    440434                } else {
     
    458452
    459453    public static OsmReader parseDataSetOsm(InputStream source, ProgressMonitor progressMonitor) throws SAXException, IOException {
    460         OsmReader osm = new OsmReader();
     454        OsmReader reader = new OsmReader();
    461455
    462456        // phase 1: Parse nodes and read in raw ways
    463457        InputSource inputSource = new InputSource(new InputStreamReader(source, "UTF-8"));
    464458        try {
    465             SAXParserFactory.newInstance().newSAXParser().parse(inputSource, osm.new Parser());
     459            SAXParserFactory.newInstance().newSAXParser().parse(inputSource, reader.new Parser());
    466460        } catch (ParserConfigurationException e1) {
    467461            e1.printStackTrace(); // broken SAXException chaining
     
    471465        progressMonitor.beginTask(tr("Prepare OSM data...", 2));
    472466        try {
    473             for (Node n : osm.nodes.values()) {
    474                 osm.adder.visit(n);
     467            for (Node n : reader.nodes.values()) {
     468                reader.ds.addPrimitive(n);
    475469            }
    476470
     
    478472
    479473            try {
    480                 osm.createWays();
    481                 osm.createRelations();
     474                reader.createWays();
     475                reader.createRelations();
    482476            } catch (NumberFormatException e) {
    483477                e.printStackTrace();
     
    486480
    487481            // clear all negative ids (new to this file)
    488             for (OsmPrimitive o : osm.ds.allPrimitives())
     482            for (OsmPrimitive o : reader.ds.allPrimitives())
    489483                if (o.id < 0) {
    490484                    o.id = 0;
    491485                }
    492486
    493             return osm;
     487            return reader;
    494488        } finally {
    495489            progressMonitor.finishTask();
  • trunk/src/org/openstreetmap/josm/io/OsmServerHistoryReader.java

    r1811 r1814  
    44import static org.openstreetmap.josm.tools.I18n.tr;
    55
    6 import java.io.IOException;
    76import java.io.InputStream;
    87
     
    1110import org.openstreetmap.josm.data.osm.history.HistoryDataSet;
    1211import org.openstreetmap.josm.gui.progress.ProgressMonitor;
    13 import org.xml.sax.SAXException;
    1412
    1513import sun.reflect.generics.reflectiveObjects.NotImplementedException;
  • trunk/src/org/openstreetmap/josm/io/OsmServerWriter.java

    r1811 r1814  
    1212import org.openstreetmap.josm.actions.UploadAction;
    1313import org.openstreetmap.josm.data.osm.OsmPrimitive;
    14 import org.openstreetmap.josm.data.osm.visitor.NameVisitor;
     14import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
     15import org.openstreetmap.josm.gui.PrimitiveNameFormatter;
    1516import org.openstreetmap.josm.gui.progress.ProgressMonitor;
    1617
     
    2324 */
    2425public class OsmServerWriter {
     26    static private final PrimitiveNameFormatter NAME_FORMATTER = new PrimitiveNameFormatter();
    2527    static private final Logger logger = Logger.getLogger(OsmServerWriter.class.getName());
    2628
     
    123125                progressMonitor.setTicksCount(primitives.size());
    124126                api.createChangeset(getChangesetComment(), progressMonitor.createSubTaskMonitor(0, false));
    125                 NameVisitor v = new NameVisitor();
    126127                uploadStartTime = System.currentTimeMillis();
    127128                for (OsmPrimitive osm : primitives) {
    128                     osm.visit(v);
    129129                    int progress = progressMonitor.getTicks();
    130130                    String time_left_str = timeLeft(progress, primitives.size());
     
    132132                            tr("{0}% ({1}/{2}), {3} left. Uploading {4}: {5} (id: {6})",
    133133                                    Math.round(100.0*progress/primitives.size()), progress,
    134                                     primitives.size(), time_left_str, tr(v.className), v.name, osm.id));
     134                                    primitives.size(), time_left_str,
     135                                    OsmPrimitiveType.from(osm).getLocalizedDisplayNameSingular(),
     136                                    NAME_FORMATTER.getName(osm),
     137                                    osm.id));
    135138                    makeApiRequest(osm);
    136139                    processed.add(osm);
     
    139142                api.stopChangeset(progressMonitor.createSubTaskMonitor(0, false));
    140143            }
     144
    141145        } finally {
    142146            progressMonitor.finishTask();
Note: See TracChangeset for help on using the changeset viewer.