Changeset 1649 in josm


Ignore:
Timestamp:
Jun 7, 2009 11:22:20 AM (4 years ago)
Author:
stoecker
Message:

fix #1946 - plugin update

File:
1 edited

Legend:

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

    r1647 r1649  
    4747    private Map<String, Boolean> pluginMap; 
    4848    private Map<String, PluginInformation> availablePlugins; 
     49    private Map<String, PluginInformation> localPlugins; 
    4950 
    5051    public void updateDescription(JPanel pluginPanel) { 
     
    6869        StringBuilder toUpdateStr = new StringBuilder(); 
    6970        for (PluginProxy proxy : PluginHandler.pluginList) { 
    70             PluginInformation description = availablePlugins.get(proxy.info.name); 
     71            PluginInformation local = localPlugins.get(proxy.info.name); 
     72            PluginInformation description = availablePlugins.get(local.name); 
     73 
    7174            if (description != null && (description.version == null || description.version.equals("")) ? 
    72             (proxy.info.version != null && proxy.info.version.equals("")) : !description.version.equals(proxy.info.version)) { 
     75            (local.version != null && local.version.equals("")) : !description.version.equals(local.version)) { 
    7376                toUpdate.add(description); 
    7477                toUpdateStr.append(description.name+"\n"); 
     
    102105                String name = entry.getKey(); 
    103106                PluginInformation ap = availablePlugins.get(name); 
    104                 PluginInformation pi = PluginInformation.findPlugin(name); 
     107                PluginInformation pi = localPlugins.get(name); 
    105108                boolean add = false; 
    106109                if(pi == null) 
     
    177180                remoteversion = tr("unknown"); 
    178181 
    179             String localversion; 
    180             PluginInformation p = PluginInformation.findPlugin(plugin.name); 
    181             if (p != null) { 
     182            String localversion = ""; 
     183            PluginInformation p = localPlugins.get(plugin.name); 
     184            if(p != null) 
     185            { 
    182186                if (p.version != null && !p.version.equals("")) 
    183187                    localversion = p.version; 
     
    185189                    localversion = tr("unknown"); 
    186190                localversion = " (" + localversion + ")"; 
    187             } else 
    188                 localversion = ""; 
     191            } 
    189192 
    190193            final JCheckBox pluginCheck = new JCheckBox( 
     
    252255            } 
    253256        }); 
     257        localPlugins = new TreeMap<String, PluginInformation>(new Comparator<String>(){ 
     258            public int compare(String o1, String o2) { 
     259                return o1.compareToIgnoreCase(o2); 
     260            } 
     261        }); 
    254262        for (String location : PluginInformation.getPluginLocations()) { 
    255263            File[] pluginFiles = new File(location).listFiles(); 
     
    265273                            if (!availablePlugins.containsKey(info.name)) 
    266274                                availablePlugins.put(info.name, info); 
     275                            if (!localPlugins.containsKey(info.name)) 
     276                                localPlugins.put(info.name, info); 
     277                        } catch (PluginException x) { 
     278                        } 
     279                    } else if (fname.endsWith(".jar.new")) { 
     280                        try { 
     281                            PluginInformation info = new PluginInformation(f,fname.substring(0,fname.length()-8)); 
     282                            availablePlugins.put(info.name, info); 
     283                            localPlugins.put(info.name, info); 
    267284                        } catch (PluginException x) { 
    268285                        } 
     
    334351        } 
    335352        for (PluginProxy proxy : PluginHandler.pluginList) 
     353        { 
    336354            if (!availablePlugins.containsKey(proxy.info.name)) 
    337355                availablePlugins.put(proxy.info.name, proxy.info); 
     356            if (!localPlugins.containsKey(proxy.info.name)) 
     357                localPlugins.put(proxy.info.name, proxy.info); 
     358        } 
    338359        return availablePlugins; 
    339360    } 
Note: See TracChangeset for help on using the changeset viewer.