Ignore:
Timestamp:
2007-12-31T17:49:15+01:00 (17 years ago)
Author:
gebner
Message:

Don't do hacky string mangling to get a URL from a File.

File:
1 edited

Legend:

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

    r298 r504  
    99import java.io.InputStream;
    1010import java.net.URL;
     11import java.net.MalformedURLException;
    1112import java.util.ArrayList;
    1213import java.util.Collection;
     
    8485                                String classPath = attr.getValue(Attributes.Name.CLASS_PATH);
    8586                                if (classPath != null) {
    86                                         String[] cp = classPath.split(" ");
    87                                         StringBuilder entry = new StringBuilder();
    88                                         for (String s : cp) {
    89                                                 entry.append(s);
    90                                                 if (s.endsWith("\\")) {
    91                                                         entry.setLength(entry.length()-1);
    92                                                         entry.append("%20"); // append the split character " " as html-encode
    93                                                         continue;
     87                                        for (String entry : classPath.split(" ")) {
     88                                                File entryFile;
     89                                                if (new File(entry).isAbsolute()) {
     90                                                        entryFile = new File(entry);
     91                                                } else {
     92                                                        entryFile = new File(file.getParent(), entry);
    9493                                                }
    95                                                 s = entry.toString();
    96                                                 entry = new StringBuilder();
    97                                                 if (!s.startsWith("/") && !s.startsWith("\\") && !s.matches("^.\\:") && file != null)
    98                                                         s = file.getParent() + File.separator + s;
    99                                                 libraries.add(new URL(getURLString(s)));
     94
     95                                                libraries.add(fileToURL(entryFile));
    10096                                        }
    10197                                }
     
    112108                        }
    113109                        if (file != null)
    114                                 libraries.add(0, new URL(getURLString(file.getAbsolutePath())));
     110                                libraries.add(0, fileToURL(file));
    115111
    116112                        if (jar != null)
     
    147143        }
    148144
    149         public static String getURLString(String fileName) {
    150                 if (System.getProperty("os.name").startsWith("Windows"))
    151                         return "file:/"+fileName;
    152                 return "file://"+fileName;
     145        public static URL fileToURL(File f) {
     146                try {
     147                        return f.toURI().toURL();
     148                } catch (MalformedURLException ex) {
     149                        return null;
     150                }
    153151        }
    154152
Note: See TracChangeset for help on using the changeset viewer.