Changeset 199 in josm for src/org/openstreetmap/josm


Ignore:
Timestamp:
2007-02-14T13:58:04+01:00 (17 years ago)
Author:
imi
Message:
  • Appletversion support of bookmarks
  • Applet does not crash on toggling dialogs
  • Pluginname works even if plugin is loaded not from .jar file
Location:
src/org/openstreetmap/josm
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • src/org/openstreetmap/josm/data/ServerSidePreferences.java

    r197 r199  
    1515import java.util.Collection;
    1616import java.util.Collections;
     17import java.util.LinkedList;
     18import java.util.StringTokenizer;
    1719import java.util.Map.Entry;
    1820
     
    119121                if (!properties.containsKey("osm-server.password") && password != null)
    120122                        properties.put("osm-server.password", password);
    121         Reader in = new StringReader(connection.download());
     123                Reader in = new StringReader(connection.download());
    122124                try {
    123                 XmlObjectParser.Uniform<Prop> parser = new XmlObjectParser.Uniform<Prop>(in, "tag", Prop.class);
    124                 for (Prop p : parser)
    125                         properties.put(p.key, p.value);
    126         } catch (RuntimeException e) {
    127                 e.printStackTrace();
    128         }
     125                        XmlObjectParser.Uniform<Prop> parser = new XmlObjectParser.Uniform<Prop>(in, "tag", Prop.class);
     126                        for (Prop p : parser)
     127                                properties.put(p.key, p.value);
     128                } catch (RuntimeException e) {
     129                        e.printStackTrace();
     130                }
    129131        }
    130132
     
    138140                StringBuilder b = new StringBuilder("<preferences>\n");
    139141                for (Entry<String, String> p : properties.entrySet()) {
     142                        if (p.getKey().equals("osm-server.password"))
     143                                continue; // do not upload password. It would get stored in plain!
    140144                        b.append("<tag key='");
    141145                        b.append(XmlWriter.encode(p.getKey()));
     
    149153
    150154        @Override public Collection<Bookmark> loadBookmarks() {
    151                 return Collections.<Bookmark>emptyList();
     155                try {
     156                        Collection<Bookmark> bookmarks;
     157                        BufferedReader in = new BufferedReader(new InputStreamReader(new URL("http://"+connection.serverUrl.getHost()+"/josm/bookmarks").openStream()));
     158                        bookmarks = new LinkedList<Bookmark>();
     159                        for (String line = in.readLine(); line != null; line = in.readLine()) {
     160                                StringTokenizer st = new StringTokenizer(line, ",");
     161                                if (st.countTokens() < 5)
     162                                        continue;
     163                                Bookmark b = new Bookmark();
     164                                b.name = st.nextToken();
     165                                try {
     166                                        for (int i = 0; i < b.latlon.length; ++i)
     167                                                b.latlon[i] = Double.parseDouble(st.nextToken());
     168                                        bookmarks.add(b);
     169                                } catch (NumberFormatException x) {
     170                                        // line not parsed
     171                                }
     172                        }
     173                        in.close();
     174                        return bookmarks;
     175                } catch (MalformedURLException e) {
     176                        e.printStackTrace();
     177                } catch (IOException e) {
     178                        e.printStackTrace();
     179                }
     180                return Collections.emptyList();
    152181        }
    153182
  • src/org/openstreetmap/josm/gui/MainApplet.java

    r195 r199  
    5353        };
    5454
    55         private Map<String, Collection<String>> args = new HashMap<String, Collection<String>>();
     55        private Map<String, Collection<String>> args = new HashMap<String, Collection<String>>();
     56        private UploadPreferencesAction uploadPreferences = new UploadPreferencesAction();
    5657
    5758        @Override public String[][] getParameterInfo() {
     
    99100                // remove offending stuff from JOSM (that would break the SecurityManager)
    100101                m.remove(m.fileMenu);
    101                 m.editMenu.add(new UploadPreferencesAction());
     102                m.editMenu.add(uploadPreferences);
    102103                m.open.setEnabled(false);
    103104                m.exit.setEnabled(false);
  • src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java

    r198 r199  
    7878                        public void actionPerformed(ActionEvent e) {
    7979                                final JFrame f = new JFrame(name);
    80                                 f.setAlwaysOnTop(true);
     80                                try {f.setAlwaysOnTop(true);} catch (SecurityException e1) {}
    8181                                parent.remove(ToggleDialog.this);
    8282                                f.getContentPane().add(ToggleDialog.this);
  • src/org/openstreetmap/josm/plugins/Plugin.java

    r168 r199  
    4242        public Plugin() {
    4343                URL[] urls = ((URLClassLoader)getClass().getClassLoader()).getURLs();
    44                 String s = urls[urls.length-1].toString();
    45                 int lastSlash = s.lastIndexOf('/');
    46                 name = s.substring(lastSlash+1, s.length()-4);
     44                name = urls[urls.length-1].toString();
     45                if (name.toLowerCase().endsWith(".jar")) {
     46                        int lastSlash = name.lastIndexOf('/');
     47                        name = name.substring(lastSlash+1, name.length()-4);
     48                }
    4749    }
    4850
Note: See TracChangeset for help on using the changeset viewer.