source: subversion/applications/editors/josm/plugins/OsmInspectorPlugin/src/org/openstreetmap/josm/plugins/osminspector/ImportOsmInspectorBugsAction.java

Last change on this file was 33793, checked in by donvip, 18 months ago

update to JOSM 12881

File size: 2.5 KB
Line 
1package org.openstreetmap.josm.plugins.osminspector;
2
3import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.awt.event.ActionEvent;
7import java.awt.event.KeyEvent;
8import java.io.IOException;
9import java.util.NoSuchElementException;
10
11import javax.swing.ProgressMonitor;
12
13import org.opengis.referencing.FactoryException;
14import org.openstreetmap.josm.actions.JosmAction;
15import org.openstreetmap.josm.data.Bounds;
16import org.openstreetmap.josm.gui.MainApplication;
17import org.openstreetmap.josm.gui.MapView;
18import org.openstreetmap.josm.tools.Logging;
19import org.openstreetmap.josm.tools.Shortcut;
20
21import com.vividsolutions.jts.io.ParseException;
22
23public class ImportOsmInspectorBugsAction extends JosmAction {
24        OsmInspectorPlugin plugin;
25        /**
26         *
27         */
28        private static final long serialVersionUID = -6484182416189079287L;
29
30        public ImportOsmInspectorBugsAction(OsmInspectorPlugin thePlugin) {
31                super(tr("Import Osm Inspector Bugs..."), "importosmibugs",
32                                tr("Import Osm Inspector Bugs..."), Shortcut.registerShortcut("importosmibugs",
33                                                tr("Edit: {0}", tr("Import Osm Inspector Bugs...")),
34                                                KeyEvent.VK_O, Shortcut.ALT_CTRL), true);
35                putValue("help", ht("/Action/ImportOsmInspectorBugs"));
36                plugin = thePlugin;
37        }
38
39        @Override
40        public void actionPerformed(ActionEvent event) {
41                if (isEnabled()) {
42                    MapView mapView = MainApplication.getMap().mapView;
43                        ProgressMonitor monitor = new ProgressMonitor(mapView,
44                                        "Querying WFS Geofabrik", "Dowloading features", 0, 100);
45
46                        try {
47                                Bounds bounds = mapView.getLatLonBounds(mapView.getBounds());
48
49                                Logging.info("OSMI View bounds" + bounds);
50
51                                monitor.setProgress(10);
52
53                                OsmInspectorLayer inspector = plugin.getLayer();
54                                if (inspector == null) {
55                                        GeoFabrikWFSClient wfs = new GeoFabrikWFSClient(bounds);
56                                        wfs.initializeDataStore();
57                                        inspector = new OsmInspectorLayer(wfs, monitor);
58                                        MainApplication.getLayerManager().addLayer(inspector);
59                                        plugin.setLayer(inspector);
60                                } else {
61                                        GeoFabrikWFSClient wfs = new GeoFabrikWFSClient(bounds);
62                                        wfs.initializeDataStore();
63                                        inspector.loadFeatures(wfs);
64
65                                }
66                        } catch (IOException | IndexOutOfBoundsException | NoSuchElementException | FactoryException | ParseException e) {
67                                Logging.error(e);
68                        } finally {
69                                monitor.close();
70                                if (plugin.getLayer() != null) {
71                                        plugin.getLayer().updateView();
72                                }
73                        }
74                } else {
75                    Logging.warn("Osm Inspector Action not enabled");
76                }
77        }
78
79}
Note: See TracBrowser for help on using the repository browser.