Changeset 18287 in osm for applications/editors/josm


Ignore:
Timestamp:
2009-10-27T10:35:31+01:00 (15 years ago)
Author:
guggis
Message:

Updated to JOSM r2322

Location:
applications/editors/josm/plugins/agpifoj
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/agpifoj/build.xml

    r17707 r18287  
    3434                <attribute name="Plugin-Early" value="false"/>
    3535                <attribute name="Plugin-Link" value="http://wiki.openstreetmap.org/index.php/JOSM/Plugins/AgPifoJ"/>
    36                 <attribute name="Plugin-Mainversion" value="2166"/>
     36                <attribute name="Plugin-Mainversion" value="2322"/>
    3737                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
    3838            </manifest>
  • applications/editors/josm/plugins/agpifoj/src/org/openstreetmap/josm/plugins/agpifoj/AgpifojLayer.java

    r16941 r18287  
    2121import java.util.Date;
    2222import java.util.HashSet;
     23import java.util.LinkedHashSet;
    2324import java.util.List;
    2425
    2526import javax.swing.Icon;
    2627import javax.swing.JMenuItem;
     28import javax.swing.JOptionPane;
    2729import javax.swing.JSeparator;
    2830
     
    102104        private final File[] selection;
    103105        private HashSet<String> loadedDirectories = new HashSet<String>();
    104         private String errorMessage = "";
    105 
     106        private LinkedHashSet<String> errorMessages;
     107
     108        protected void rememberError(String message) {
     109                this.errorMessages.add(message);
     110        }
     111       
    106112        public Loader(File[] selection) {
    107113            super(tr("Extracting GPS locations from EXIF"));
    108114            this.selection = selection;
     115            errorMessages = new LinkedHashSet<String>();
    109116        }
    110117
     
    115122            try {
    116123                addRecursiveFiles(files, selection);
    117             } catch(NullPointerException npe) {
    118                 errorMessage += tr("One of the selected files was null !!!");
     124            } catch(NullPointerException npe) {                 
     125                rememberError(tr("One of the selected files was null"));
    119126            }
    120127
     
    156163            layer = new AgpifojLayer(data);
    157164            files.clear();
    158             if (errorMessage != null && ! errorMessage.trim().equals("")) {
    159                 progressMonitor.setErrorMessage(errorMessage);
    160             }
    161165        }
    162166
     
    179183                    } catch (IOException e) {
    180184                        e.printStackTrace();
    181                         errorMessage += tr("Unable to get canonical path for directory {0}\n",
    182                                            f.getAbsolutePath());
     185                        rememberError(tr("Unable to get canonical path for directory {0}\n",
     186                                           f.getAbsolutePath()));
    183187                    }
    184188
     
    196200                        } catch(NullPointerException npe) {
    197201                            npe.printStackTrace();
    198                             errorMessage += tr("Found null file in directory {0}\n", f.getPath());
     202                           
     203                            rememberError(tr("Found null file in directory {0}\n", f.getPath()));
    199204                        }
    200205                    } else {
    201                         errorMessage += tr("Error while getting files from directory {0}\n", f.getPath());
     206                        rememberError(tr("Error while getting files from directory {0}\n", f.getPath()));
    202207                    }
    203208
     
    212217        }
    213218
     219        protected String formatErrorMessages() {
     220                StringBuffer sb = new StringBuffer();
     221                sb.append("<html>");
     222                if (errorMessages.size() == 1) {
     223                        sb.append(errorMessages.iterator().next());
     224                } else {
     225                        sb.append("<ul>");
     226                        for (String msg: errorMessages) {
     227                                sb.append("<li>").append(msg).append("</li>");
     228                        }
     229                        sb.append("/ul>");
     230                }
     231                sb.append("</html>");
     232                return sb.toString();
     233        }
     234       
    214235        @Override protected void finish() {
     236                if (!errorMessages.isEmpty()) {
     237                        JOptionPane.showMessageDialog(
     238                                        Main.parent,
     239                                        formatErrorMessages(),
     240                                        tr("Error"),
     241                                        JOptionPane.ERROR_MESSAGE
     242                        );
     243                }
    215244            if (layer != null) {
    216245                Main.main.addLayer(layer);
Note: See TracChangeset for help on using the changeset viewer.