Ignore:
Timestamp:
2016-05-15T14:48:06+02:00 (4 years ago)
Author:
Don-vip
Message:

findbugs - SF_SWITCH_NO_DEFAULT + various sonar fixes

Location:
trunk/src/org/openstreetmap/josm/actions
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/AutoScaleAction.java

    r10181 r10216  
    234234        switch (mode) {
    235235        case "problem":
    236             TestError error = Main.map.validatorDialog.getSelectedError();
    237             if (error == null)
    238                 return null;
    239             ((ValidatorBoundingXYVisitor) v).visit(error);
    240             if (v.getBounds() == null)
    241                 return null;
    242             v.enlargeBoundingBox(Main.pref.getDouble("validator.zoom-enlarge-bbox", 0.0002));
    243             break;
     236            return modeProblem(v);
    244237        case "data":
    245             for (Layer l : Main.map.mapView.getAllLayers()) {
    246                 l.visitBoundingBox(v);
    247             }
    248             break;
     238            return modeData(v);
    249239        case "layer":
    250             // try to zoom to the first selected layer
    251             Layer l = getFirstSelectedLayer();
    252             if (l == null)
    253                 return null;
    254             l.visitBoundingBox(v);
    255             break;
     240            return modeLayer(v);
    256241        case "selection":
    257242        case "conflict":
    258             Collection<OsmPrimitive> sel = new HashSet<>();
    259             if ("selection".equals(mode)) {
    260                 sel = getCurrentDataSet().getSelected();
     243            return modeSelectionOrConflict(v);
     244        case "download":
     245            return modeDownload(v);
     246        default:
     247            return v;
     248        }
     249    }
     250
     251    private static BoundingXYVisitor modeProblem(BoundingXYVisitor v) {
     252        TestError error = Main.map.validatorDialog.getSelectedError();
     253        if (error == null)
     254            return null;
     255        ((ValidatorBoundingXYVisitor) v).visit(error);
     256        if (v.getBounds() == null)
     257            return null;
     258        v.enlargeBoundingBox(Main.pref.getDouble("validator.zoom-enlarge-bbox", 0.0002));
     259        return v;
     260    }
     261
     262    private static BoundingXYVisitor modeData(BoundingXYVisitor v) {
     263        for (Layer l : Main.map.mapView.getAllLayers()) {
     264            l.visitBoundingBox(v);
     265        }
     266        return v;
     267    }
     268
     269    private BoundingXYVisitor modeLayer(BoundingXYVisitor v) {
     270        // try to zoom to the first selected layer
     271        Layer l = getFirstSelectedLayer();
     272        if (l == null)
     273            return null;
     274        l.visitBoundingBox(v);
     275        return v;
     276    }
     277
     278    private BoundingXYVisitor modeSelectionOrConflict(BoundingXYVisitor v) {
     279        Collection<OsmPrimitive> sel = new HashSet<>();
     280        if ("selection".equals(mode)) {
     281            sel = getCurrentDataSet().getSelected();
     282        } else {
     283            Conflict<? extends OsmPrimitive> c = Main.map.conflictDialog.getSelectedConflict();
     284            if (c != null) {
     285                sel.add(c.getMy());
     286            } else if (Main.map.conflictDialog.getConflicts() != null) {
     287                sel = Main.map.conflictDialog.getConflicts().getMyConflictParties();
     288            }
     289        }
     290        if (sel.isEmpty()) {
     291            JOptionPane.showMessageDialog(
     292                    Main.parent,
     293                    "selection".equals(mode) ? tr("Nothing selected to zoom to.") : tr("No conflicts to zoom to"),
     294                    tr("Information"),
     295                    JOptionPane.INFORMATION_MESSAGE);
     296            return null;
     297        }
     298        for (OsmPrimitive osm : sel) {
     299            osm.accept(v);
     300        }
     301
     302        // Increase the bounding box by up to 100% to give more context.
     303        v.enlargeBoundingBoxLogarithmically(100);
     304        // Make the bounding box at least 100 meter wide to
     305        // ensure reasonable zoom level when zooming onto single nodes.
     306        v.enlargeToMinSize(Main.pref.getDouble("zoom_to_selection_min_size_in_meter", 100));
     307        return v;
     308    }
     309
     310    private BoundingXYVisitor modeDownload(BoundingXYVisitor v) {
     311        if (lastZoomTime > 0 && System.currentTimeMillis() - lastZoomTime > Main.pref.getLong("zoom.bounds.reset.time", 10L*1000L)) {
     312            lastZoomTime = -1;
     313        }
     314        final DataSet dataset = getCurrentDataSet();
     315        if (dataset != null) {
     316            List<DataSource> dataSources = new ArrayList<>(dataset.getDataSources());
     317            int s = dataSources.size();
     318            if (s > 0) {
     319                if (lastZoomTime == -1 || lastZoomArea == -1 || lastZoomArea > s) {
     320                    lastZoomArea = s-1;
     321                    v.visit(dataSources.get(lastZoomArea).bounds);
     322                } else if (lastZoomArea > 0) {
     323                    lastZoomArea -= 1;
     324                    v.visit(dataSources.get(lastZoomArea).bounds);
     325                } else {
     326                    lastZoomArea = -1;
     327                    Area sourceArea = Main.main.getCurrentDataSet().getDataSourceArea();
     328                    if (sourceArea != null) {
     329                        v.visit(new Bounds(sourceArea.getBounds2D()));
     330                    }
     331                }
     332                lastZoomTime = System.currentTimeMillis();
    261333            } else {
    262                 Conflict<? extends OsmPrimitive> c = Main.map.conflictDialog.getSelectedConflict();
    263                 if (c != null) {
    264                     sel.add(c.getMy());
    265                 } else if (Main.map.conflictDialog.getConflicts() != null) {
    266                     sel = Main.map.conflictDialog.getConflicts().getMyConflictParties();
    267                 }
     334                lastZoomTime = -1;
     335                lastZoomArea = -1;
    268336            }
    269             if (sel.isEmpty()) {
    270                 JOptionPane.showMessageDialog(
    271                         Main.parent,
    272                         "selection".equals(mode) ? tr("Nothing selected to zoom to.") : tr("No conflicts to zoom to"),
    273                         tr("Information"),
    274                         JOptionPane.INFORMATION_MESSAGE);
    275                 return null;
    276             }
    277             for (OsmPrimitive osm : sel) {
    278                 osm.accept(v);
    279             }
    280 
    281             // Increase the bounding box by up to 100% to give more context.
    282             v.enlargeBoundingBoxLogarithmically(100);
    283             // Make the bounding box at least 100 meter wide to
    284             // ensure reasonable zoom level when zooming onto single nodes.
    285             v.enlargeToMinSize(Main.pref.getDouble("zoom_to_selection_min_size_in_meter", 100));
    286             break;
    287         case "download":
    288 
    289             if (lastZoomTime > 0 && System.currentTimeMillis() - lastZoomTime > Main.pref.getLong("zoom.bounds.reset.time", 10L*1000L)) {
    290                 lastZoomTime = -1;
    291             }
    292             final DataSet dataset = getCurrentDataSet();
    293             if (dataset != null) {
    294                 List<DataSource> dataSources = new ArrayList<>(dataset.getDataSources());
    295                 int s = dataSources.size();
    296                 if (s > 0) {
    297                     if (lastZoomTime == -1 || lastZoomArea == -1 || lastZoomArea > s) {
    298                         lastZoomArea = s-1;
    299                         v.visit(dataSources.get(lastZoomArea).bounds);
    300                     } else if (lastZoomArea > 0) {
    301                         lastZoomArea -= 1;
    302                         v.visit(dataSources.get(lastZoomArea).bounds);
    303                     } else {
    304                         lastZoomArea = -1;
    305                         Area sourceArea = Main.main.getCurrentDataSet().getDataSourceArea();
    306                         if (sourceArea != null) {
    307                             v.visit(new Bounds(sourceArea.getBounds2D()));
    308                         }
    309                     }
    310                     lastZoomTime = System.currentTimeMillis();
    311                 } else {
    312                     lastZoomTime = -1;
    313                     lastZoomArea = -1;
    314                 }
    315             }
    316             break;
    317337        }
    318338        return v;
  • trunk/src/org/openstreetmap/josm/actions/ImageryAdjustAction.java

    r10152 r10216  
    118118        }
    119119        KeyEvent kev = (KeyEvent) event;
    120         int dx = 0, dy = 0;
     120        int dx = 0;
     121        int dy = 0;
    121122        switch (kev.getKeyCode()) {
    122123        case KeyEvent.VK_UP : dy = +1; break;
     
    124125        case KeyEvent.VK_LEFT : dx = -1; break;
    125126        case KeyEvent.VK_RIGHT : dx = +1; break;
     127        default: // Do nothing
    126128        }
    127129        if (dx != 0 || dy != 0) {
  • trunk/src/org/openstreetmap/josm/actions/PasteAction.java

    r8513 r10216  
    6464    public void pasteData(PrimitiveDeepCopy pasteBuffer, Layer source, ActionEvent e) {
    6565        /* Find the middle of the pasteBuffer area */
    66         double maxEast = -1E100, minEast = 1E100, maxNorth = -1E100, minNorth = 1E100;
     66        double maxEast = -1E100;
     67        double minEast = 1E100;
     68        double maxNorth = -1E100;
     69        double minNorth = 1E100;
    6770        boolean incomplete = false;
    6871        for (PrimitiveData data : pasteBuffer.getAll()) {
     
    9295
    9396        // Allow to cancel paste if there are incomplete primitives
    94         if (incomplete) {
    95             if (!confirmDeleteIncomplete()) return;
     97        if (incomplete && !confirmDeleteIncomplete()) {
     98            return;
    9699        }
    97100
     
    158161                for (RelationMemberData member: ((RelationData) data).getMembers()) {
    159162                    OsmPrimitiveType memberType = member.getMemberType();
    160                     Long newId = null;
     163                    Long newId;
    161164                    switch (memberType) {
    162165                    case NODE:
     
    169172                        newId = newRelationIds.get(member.getMemberId());
    170173                        break;
     174                    default: throw new AssertionError();
    171175                    }
    172176                    if (newId != null) {
     
    183187    }
    184188
    185     protected boolean confirmDeleteIncomplete() {
     189    private static boolean confirmDeleteIncomplete() {
    186190        ExtendedDialog ed = new ExtendedDialog(Main.parent,
    187191                tr("Delete incomplete members?"),
  • trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java

    r10163 r10216  
    135135            }
    136136        } catch (SecurityException e) {
    137             // Ignore exception
    138137            if (Main.isTraceEnabled()) {
    139138                Main.trace(e.getMessage());
     
    165164    }
    166165
    167     protected static Collection<String> getCustomUrls(SourceEditor.SourcePrefHelper helper) {
     166    private static Collection<String> getCustomUrls(SourceEditor.SourcePrefHelper helper) {
    168167        Set<String> set = new TreeSet<>();
    169168        for (SourceEntry entry : helper.get()) {
     
    221220    }
    222221
    223     protected static <T> void appendCollection(StringBuilder text, String label, Collection<T> col) {
     222    private static <T> void appendCollection(StringBuilder text, String label, Collection<T> col) {
    224223        if (!col.isEmpty()) {
    225224            text.append(label+":\n");
     
    267266            case 1: ta.copyToClippboard(); break;
    268267            case 2: BugReportSender.reportBug(reportHeader); break;
     268            default: // Do nothing
    269269        }
    270270    }
  • trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadReferrersTask.java

    r10212 r10216  
    184184                if (canceled)
    185185                    return;
    186                 String msg = "";
     186                String msg;
    187187                switch(entry.getValue()) {
    188188                case NODE: msg = tr("({0}/{1}) Loading parents of node {2}", i+1, children.size(), entry.getKey()); break;
    189189                case WAY: msg = tr("({0}/{1}) Loading parents of way {2}", i+1, children.size(), entry.getKey()); break;
    190190                case RELATION: msg = tr("({0}/{1}) Loading parents of relation {2}", i+1, children.size(), entry.getKey()); break;
     191                default: throw new AssertionError();
    191192                }
    192193                progressMonitor.subTask(msg);
Note: See TracChangeset for help on using the changeset viewer.