Changeset 10420 in josm


Ignore:
Timestamp:
2016-06-18T19:54:45+02:00 (9 years ago)
Author:
Don-vip
Message:

sonar - squid:S1166 - Exception handlers should preserve the original exceptions

Location:
trunk/src/org/openstreetmap/josm
Files:
31 edited

Legend:

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

    r10412 r10420  
    439439
    440440    /**
     441     * Prints a debug message for the given Throwable. Useful for exceptions usually ignored
     442     * @param t The throwable object causing the error
     443     * @since 10419
     444     */
     445    public static void debug(Throwable t) {
     446        debug(getErrorMessage(t));
     447    }
     448
     449    /**
     450     * Prints a trace message for the given Throwable. Useful for exceptions usually ignored
     451     * @param t The throwable object causing the error
     452     * @since 10419
     453     */
     454    public static void trace(Throwable t) {
     455        trace(getErrorMessage(t));
     456    }
     457
     458    /**
    441459     * Prints an error message for the given Throwable.
    442460     * @param t The throwable object causing the error
     
    452470
    453471    /**
     472     * Prints an error message for the given Throwable.
     473     * @param t The throwable object causing the error
     474     * @param message additional error message
     475     * @since 10419
     476     */
     477    public static void error(Throwable t, String message) {
     478        warn(message + ' ' + getErrorMessage(t));
     479    }
     480
     481    /**
    454482     * Prints a warning message for the given Throwable.
    455483     * @param t The throwable object causing the error
     
    462490            t.printStackTrace();
    463491        }
     492    }
     493
     494    /**
     495     * Prints a warning message for the given Throwable.
     496     * @param t The throwable object causing the error
     497     * @param message additional error message
     498     * @since 10419
     499     */
     500    public static void warn(Throwable t, String message) {
     501        warn(message + ' ' + getErrorMessage(t));
    464502    }
    465503
     
    11721210            pref.saveDefaults();
    11731211        } catch (IOException ex) {
    1174             Main.warn(tr("Failed to save default preferences."));
     1212            Main.warn(ex, tr("Failed to save default preferences."));
    11751213        }
    11761214        worker.shutdownNow();
  • trunk/src/org/openstreetmap/josm/actions/SessionSaveAsAction.java

    r10318 r10420  
    8181            saveSession();
    8282        } catch (UserCancelException ignore) {
    83             if (Main.isTraceEnabled()) {
    84                 Main.trace(ignore.getMessage());
    85             }
     83            Main.trace(ignore);
    8684        }
    8785    }
  • trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java

    r10409 r10420  
    8282            unglue(e);
    8383        } catch (UserCancelException ignore) {
    84             Main.debug(ignore.getMessage());
     84            Main.trace(ignore);
    8585        } finally {
    8686            cleanup();
     
    300300     */
    301301    private void unglueOneNodeAtMostOneWay(ActionEvent e) {
    302         List<Command> cmds = new LinkedList<>();
    303 
    304302        final PropertiesMembershipDialog dialog;
    305303        try {
    306304            dialog = PropertiesMembershipDialog.showIfNecessary(Collections.singleton(selectedNode), true);
    307         } catch (UserCancelException e1) {
     305        } catch (UserCancelException ex) {
     306            Main.trace(ex);
    308307            return;
    309308        }
     
    311310        final Node n = new Node(selectedNode, true);
    312311
     312        List<Command> cmds = new LinkedList<>();
    313313        cmds.add(new AddCommand(n));
    314314        if (dialog != null) {
     
    513513     */
    514514    private void unglueWays() {
    515         List<Command> cmds = new LinkedList<>();
    516         List<Node> newNodes = new LinkedList<>();
    517 
    518515        final PropertiesMembershipDialog dialog;
    519516        try {
    520517            dialog = PropertiesMembershipDialog.showIfNecessary(Collections.singleton(selectedNode), false);
    521518        } catch (UserCancelException e) {
     519            Main.trace(e);
    522520            return;
    523521        }
    524522
     523        List<Command> cmds = new LinkedList<>();
     524        List<Node> newNodes = new LinkedList<>();
    525525        if (selectedWay == null) {
    526526            Way wayWithSelectedNode = null;
     
    573573    private boolean unglueSelfCrossingWay() {
    574574        // According to previous check, only one valid way through that node
    575         List<Command> cmds = new LinkedList<>();
    576575        Way way = null;
    577576        for (Way w: OsmPrimitive.getFilteredList(selectedNode.getReferrers(), Way.class)) {
     
    583582            return false;
    584583        }
     584        List<Command> cmds = new LinkedList<>();
    585585        List<Node> oldNodes = way.getNodes();
    586586        List<Node> newNodes = new ArrayList<>(oldNodes.size());
     
    617617            return true;
    618618        } catch (UserCancelException ignore) {
    619             Main.debug(ignore.getMessage());
     619            Main.trace(ignore);
    620620        }
    621621        return false;
     
    627627     */
    628628    private void unglueOneWayAnyNodes() {
    629         List<Command> cmds = new LinkedList<>();
    630         List<Node> allNewNodes = new LinkedList<>();
    631629        Way tmpWay = selectedWay;
    632630
     
    635633            dialog = PropertiesMembershipDialog.showIfNecessary(selectedNodes, false);
    636634        } catch (UserCancelException e) {
     635            Main.trace(e);
    637636            return;
    638637        }
    639638
     639        List<Command> cmds = new LinkedList<>();
     640        List<Node> allNewNodes = new LinkedList<>();
    640641        for (Node n : selectedNodes) {
    641642            List<Node> newNodes = new LinkedList<>();
  • trunk/src/org/openstreetmap/josm/actions/downloadtasks/ChangesetContentDownloadTask.java

    r10250 r10420  
    7676                // the download was canceled by the user. This exception is caught if the user canceled the authentication dialog.
    7777                setCanceled(true);
     78                Main.trace(e);
    7879                return;
    7980            } catch (OsmTransferException e) {
  • trunk/src/org/openstreetmap/josm/actions/downloadtasks/ChangesetQueryTask.java

    r10378 r10420  
    7171                // thrown if user cancel the authentication dialog
    7272                setCanceled(true);
     73                Main.trace(e);
    7374            } catch (OsmTransferException e) {
    7475                if (isCanceled())
  • trunk/src/org/openstreetmap/josm/data/Version.java

    r10378 r10420  
    5959            properties.load(revisionInfo);
    6060        } catch (IOException e) {
    61             Main.warn(tr("Error reading revision info from revision file: {0}", e.getMessage()));
     61            Main.warn(e, tr("Error reading revision info from revision file: {0}", e.getMessage()));
    6262        }
    6363        String value = properties.getProperty("Revision");
  • trunk/src/org/openstreetmap/josm/data/cache/HostLimitQueue.java

    r10378 r10420  
    6363                        url = job.getUrl();
    6464                    } catch (IOException e) {
    65                         if (Main.isDebugEnabled()) {
    66                             Main.debug(e.getMessage());
    67                         }
     65                        Main.debug(e);
    6866                    }
    6967                    Main.debug("TMS - Skipping job {0} because host limit reached", url);
  • trunk/src/org/openstreetmap/josm/data/imagery/TMSCachedTileLoaderJob.java

    r10378 r10420  
    2525import org.openstreetmap.gui.jmapviewer.interfaces.TileSource;
    2626import org.openstreetmap.gui.jmapviewer.tilesources.AbstractTMSTileSource;
     27import org.openstreetmap.josm.Main;
    2728import org.openstreetmap.josm.data.cache.BufferedImageCacheEntry;
    2829import org.openstreetmap.josm.data.cache.CacheEntry;
     
    154155        } catch (IOException e) {
    155156            // if we fail to submit the job, mark tile as loaded and set error message
     157            Main.warn(e, false);
    156158            tile.finishLoading();
    157159            tile.setError(e.getMessage());
  • trunk/src/org/openstreetmap/josm/data/preferences/ParametrizedEnumProperty.java

    r9743 r10420  
    2828            return Enum.valueOf(enumClass, s);
    2929        } catch (IllegalArgumentException e) {
     30            Main.trace(e);
    3031            return defaultValue;
    3132        }
  • trunk/src/org/openstreetmap/josm/data/validation/routines/DomainValidator.java

    r10411 r10420  
    2020import java.util.Arrays;
    2121import java.util.Locale;
     22
     23import org.openstreetmap.josm.Main;
    2224
    2325/**
     
    18471849            }
    18481850        } catch (IllegalArgumentException e) { // input is not valid
     1851            Main.trace(e);
    18491852            return input;
    18501853        }
  • trunk/src/org/openstreetmap/josm/data/validation/routines/UrlValidator.java

    r10338 r10420  
    2727import java.util.regex.Matcher;
    2828import java.util.regex.Pattern;
     29
     30import org.openstreetmap.josm.Main;
    2931
    3032/**
     
    454456            String norm = uri.normalize().getPath();
    455457            if (norm.startsWith("/../") // Trying to go via the parent dir
    456              || norm.equals("/..")) {   // Trying to go to the parent dir
     458             || "/..".equals(norm)) {   // Trying to go to the parent dir
    457459                return false;
    458460            }
    459461        } catch (URISyntaxException e) {
     462            Main.trace(e);
    460463            return false;
    461464        }
  • trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java

    r10413 r10420  
    14281428                tagRowSorter.convertRowIndexToModel(tagTable.getSelectedRow());
    14291429            } catch (IndexOutOfBoundsException ignore) {
    1430                 Main.debug("Clearing tagTable selection, {0}", ignore.toString());
     1430                Main.debug(ignore);
     1431                Main.debug("Clearing tagTable selection");
    14311432                tagTable.clearSelection();
    14321433            }
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedAfterSelection.java

    r9665 r10420  
    88import org.openstreetmap.josm.Main;
    99import org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.AddAbortException;
     10import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
    1011import org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel;
    11 import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
    1212import org.openstreetmap.josm.gui.dialogs.relation.SelectionTableModel;
    1313import org.openstreetmap.josm.tools.ImageProvider;
     
    4343                    memberTableModel.getSelectionModel().getMaxSelectionIndex());
    4444        } catch (AddAbortException ex) {
    45             if (Main.isTraceEnabled()) {
    46                 Main.trace(ex.getMessage());
    47             }
     45            Main.trace(ex);
    4846        }
    4947    }
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedAtEndAction.java

    r9665 r10420  
    88import org.openstreetmap.josm.Main;
    99import org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.AddAbortException;
     10import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
    1011import org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel;
    11 import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
    1212import org.openstreetmap.josm.gui.dialogs.relation.SelectionTableModel;
    1313import org.openstreetmap.josm.tools.ImageProvider;
     
    4242            memberTableModel.addMembersAtEnd(filterConfirmedPrimitives(selectionTableModel.getSelection()));
    4343        } catch (AddAbortException ex) {
    44             if (Main.isTraceEnabled()) {
    45                 Main.trace(ex.getMessage());
    46             }
     44            Main.trace(ex);
    4745        }
    4846    }
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedAtStartAction.java

    r9665 r10420  
    88import org.openstreetmap.josm.Main;
    99import org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.AddAbortException;
     10import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
    1011import org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel;
    11 import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
    1212import org.openstreetmap.josm.gui.dialogs.relation.SelectionTableModel;
    1313import org.openstreetmap.josm.tools.ImageProvider;
     
    4242            memberTableModel.addMembersAtBeginning(filterConfirmedPrimitives(selectionTableModel.getSelection()));
    4343        } catch (AddAbortException ex) {
    44             if (Main.isTraceEnabled()) {
    45                 Main.trace(ex.getMessage());
    46             }
     44            Main.trace(ex);
    4745        }
    4846    }
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/AddSelectedBeforeSelection.java

    r9665 r10420  
    88import org.openstreetmap.josm.Main;
    99import org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.AddAbortException;
     10import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
    1011import org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel;
    11 import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
    1212import org.openstreetmap.josm.gui.dialogs.relation.SelectionTableModel;
    1313import org.openstreetmap.josm.tools.ImageProvider;
     
    4343                    memberTableModel.getSelectionModel().getMinSelectionIndex());
    4444        } catch (AddAbortException ex) {
    45             if (Main.isTraceEnabled()) {
    46                 Main.trace(ex.getMessage());
    47             }
     45            Main.trace(ex);
    4846        }
    4947    }
  • trunk/src/org/openstreetmap/josm/gui/dialogs/relation/actions/PasteMembersAction.java

    r9665 r10420  
    1515import org.openstreetmap.josm.data.osm.PrimitiveData;
    1616import org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.AddAbortException;
     17import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
    1718import org.openstreetmap.josm.gui.dialogs.relation.MemberTableModel;
    18 import org.openstreetmap.josm.gui.dialogs.relation.IRelationEditor;
    1919import org.openstreetmap.josm.gui.layer.OsmDataLayer;
    2020
     
    7171
    7272        } catch (AddAbortException ex) {
    73             if (Main.isTraceEnabled()) {
    74                 Main.trace(ex.getMessage());
    75             }
     73            Main.trace(ex);
    7674        }
    7775    }
  • trunk/src/org/openstreetmap/josm/gui/io/SaveLayersDialog.java

    r10378 r10420  
    374374                closeDialog();
    375375            } catch (UserCancelException ignore) {
    376                 if (Main.isTraceEnabled()) {
    377                     Main.trace(ignore.getMessage());
    378                 }
     376                Main.trace(ignore);
    379377            }
    380378        }
  • trunk/src/org/openstreetmap/josm/gui/layer/ImageryLayer.java

    r10378 r10420  
    295295                }
    296296            } catch (IllegalArgumentException ignore) {
    297                 if (Main.isTraceEnabled()) {
    298                     Main.trace(ignore.getMessage());
    299                 }
     297                Main.trace(ignore);
    300298            }
    301299            final int type = image.getTransparency() == Transparency.OPAQUE ? BufferedImage.TYPE_INT_RGB : BufferedImage.TYPE_INT_ARGB;
  • trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelateGpxWithImages.java

    r10378 r10420  
    10321032                delta = r.b;
    10331033            } catch (IndexOutOfBoundsException ex) {
     1034                Main.debug(ex);
    10341035                JOptionPane.showMessageDialog(Main.parent,
    10351036                        tr("The selected photos do not contain time information."),
     
    10371038                return;
    10381039            } catch (NoGpxTimestamps ex) {
     1040                Main.debug(ex);
    10391041                JOptionPane.showMessageDialog(Main.parent,
    10401042                        tr("The selected GPX track does not contain timestamps. Please select another one."),
  • trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageEntry.java

    r10309 r10420  
    447447            setExifTime(ExifReader.readTime(file));
    448448        } catch (RuntimeException ex) {
     449            Main.warn(ex);
    449450            setExifTime(null);
    450451        }
     
    467468            }
    468469        } catch (MetadataException ex) {
    469             if (Main.isDebugEnabled()) {
    470                 Main.debug(ex.getMessage());
    471             }
     470            Main.debug(ex);
    472471        }
    473472
     
    491490            setSpeed(speed);
    492491        } catch (MetadataException ex) {
    493             if (Main.isDebugEnabled()) {
    494                 Main.debug(ex.getMessage());
    495             }
     492            Main.debug(ex);
    496493        }
    497494
     
    504501            setElevation(ele);
    505502        } catch (MetadataException ex) {
    506             if (Main.isDebugEnabled()) {
    507                 Main.debug(ex.getMessage());
    508             }
     503            Main.debug(ex);
    509504        }
    510505
     
    526521            }
    527522        } catch (IndexOutOfBoundsException ex) { // (other exceptions, e.g. #5271)
    528             if (Main.isDebugEnabled()) {
    529                 Main.debug(ex.getMessage());
    530             }
     523            Main.debug(ex);
    531524        }
    532525
  • trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java

    r10358 r10420  
    329329                    entry.url);
    330330            Main.error(msg);
     331            Main.debug(e);
    331332            HelpAwareOptionPane.showOptionDialog(Main.parent, msg, tr("Warning"), JOptionPane.WARNING_MESSAGE,
    332333                    HelpUtil.ht("/Styles/MapCSSImplementation"));
  • trunk/src/org/openstreetmap/josm/gui/mappaint/styleelement/NodeElement.java

    r10378 r10420  
    128128                        rotationAngle = RotationAngle.buildStaticRotation(rotationKW.val);
    129129                    } catch (IllegalArgumentException ignore) {
    130                         if (Main.isTraceEnabled()) {
    131                             Main.trace(ignore.getMessage());
    132                         }
     130                        Main.trace(ignore);
    133131                    }
    134132                }
  • trunk/src/org/openstreetmap/josm/gui/preferences/map/MapPaintPreference.java

    r10114 r10420  
    167167            }
    168168        } catch (RuntimeException ignore) {
    169             if (Main.isTraceEnabled()) {
    170                 Main.trace(ignore.getMessage());
    171             }
     169            Main.debug(ignore);
    172170        }
    173171        return null;
  • trunk/src/org/openstreetmap/josm/gui/preferences/server/OAuthAuthenticationPreferencesPanel.java

    r10180 r10420  
    324324                wizard.showDialog();
    325325            } catch (UserCancelException ignore) {
    326                 Main.trace(ignore.toString());
     326                Main.trace(ignore);
    327327                return;
    328328            }
  • trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/ComboMultiSelect.java

    r10212 r10420  
    450450                    Main.error(tr("Broken tagging preset \"{0}-{1}\" - Java method given in ''values_from'' threw {2} ({3})", key, text,
    451451                            e.getClass().getName(), e.getMessage()));
     452                    Main.debug(e);
    452453                }
    453454            }
  • trunk/src/org/openstreetmap/josm/gui/util/GuiHelper.java

    r10372 r10420  
    578578            return JOptionPane.getFrameForComponent(parentComponent);
    579579        } catch (HeadlessException e) {
    580             if (Main.isDebugEnabled()) {
    581                 Main.debug(e.getMessage());
    582             }
     580            Main.debug(e);
    583581            return null;
    584582        }
  • trunk/src/org/openstreetmap/josm/gui/widgets/CompileSearchTextDecorator.java

    r9981 r10420  
    99import javax.swing.text.JTextComponent;
    1010
     11import org.openstreetmap.josm.Main;
    1112import org.openstreetmap.josm.actions.search.SearchCompiler;
    1213
     
    4647            textComponent.setToolTipText(ex.getMessage());
    4748            filter = SearchCompiler.Always.INSTANCE;
     49            Main.debug(ex);
    4850        }
    4951        textComponent.firePropertyChange("filter", 0, 1);
  • trunk/src/org/openstreetmap/josm/io/OsmServerReader.java

    r10378 r10420  
    160160                if (response.getResponseCode() != HttpURLConnection.HTTP_OK) {
    161161                    String errorHeader = response.getHeaderField("Error");
    162                     String errorBody;
    163                     try {
    164                         errorBody = response.fetchContent();
    165                     } catch (IOException e) {
    166                         errorBody = tr("Reading error text failed.");
    167                     }
     162                    String errorBody = fetchResponseText(response);
    168163                    throw new OsmApiException(response.getResponseCode(), errorHeader, errorBody, url.toString());
    169164                }
     
    178173        } finally {
    179174            progressMonitor.invalidate();
     175        }
     176    }
     177
     178    private static String fetchResponseText(final HttpClient.Response response) {
     179        try {
     180            return response.fetchContent();
     181        } catch (IOException e) {
     182            Main.error(e);
     183            return tr("Reading error text failed.");
    180184        }
    181185    }
  • trunk/src/org/openstreetmap/josm/tools/HttpClient.java

    r10302 r10420  
    262262                in = connection.getInputStream();
    263263            } catch (IOException ioe) {
     264                Main.debug(ioe);
    264265                in = connection.getErrorStream();
    265266            }
  • trunk/src/org/openstreetmap/josm/tools/bugreport/BugReportExceptionHandler.java

    r10285 r10420  
    103103                    }
    104104                } catch (IOException | NumberFormatException ex) {
    105                     Main.warn("Unable to detect latest version of JOSM: "+ex.getMessage());
     105                    Main.warn(ex, "Unable to detect latest version of JOSM:");
    106106                }
    107107            }
     
    137137                    Main.platform.openUrl(Main.getJOSMWebsite());
    138138                } catch (IOException ex) {
    139                     Main.warn("Unable to access JOSM website: "+ex.getMessage());
     139                    Main.warn(ex, "Unable to access JOSM website:");
    140140                }
    141141            } else {
Note: See TracChangeset for help on using the changeset viewer.