From: <va...@us...> - 2007-07-04 05:02:20
|
Revision: 9926 http://svn.sourceforge.net/jedit/?rev=9926&view=rev Author: vanza Date: 2007-07-03 22:02:16 -0700 (Tue, 03 Jul 2007) Log Message: ----------- - thinking about this, I think it's better not to cache PropertyDescriptor instances. Later, if we find out it's too slow for what it's meant to do, we can revive caching and do it properly. Modified Paths: -------------- jEdit/trunk/org/gjt/sp/jedit/PluginJAR.java jEdit/trunk/org/gjt/sp/util/PropertiesBean.java Modified: jEdit/trunk/org/gjt/sp/jedit/PluginJAR.java =================================================================== --- jEdit/trunk/org/gjt/sp/jedit/PluginJAR.java 2007-07-04 00:05:27 UTC (rev 9925) +++ jEdit/trunk/org/gjt/sp/jedit/PluginJAR.java 2007-07-04 05:02:16 UTC (rev 9926) @@ -606,7 +606,7 @@ depends.optional = optional; return depends; } //}}} - + //{{{ PluginDepends class private static class PluginDepends { @@ -731,7 +731,6 @@ startPluginLater(); } - PropertiesBean.clearPropertyCache(); EditBus.send(new PluginUpdate(this,PluginUpdate.ACTIVATED,false)); } //}}} @@ -1284,11 +1283,11 @@ actions.load(); cache.cachedActionNames = actions.getCacheableActionNames(); - cache.cachedActionToggleFlags = + cache.cachedActionToggleFlags = new boolean[cache.cachedActionNames.length]; for(int i = 0; i < cache.cachedActionNames.length; i++) { - cache.cachedActionToggleFlags[i] = + cache.cachedActionToggleFlags[i] = jEdit.getBooleanProperty( cache.cachedActionNames[i] + ".toggle"); } @@ -1296,7 +1295,7 @@ if(cache.browserActionsURI != null) { - browserActions = + browserActions = new ActionSet(this,null,null, cache.browserActionsURI); browserActions.load(); VFSBrowser.getActionContext().addActionSet(browserActions); @@ -1323,7 +1322,7 @@ { if(label != null) { - actions.setLabel(jEdit.getProperty( + actions.setLabel(jEdit.getProperty( "action-set.plugin", new String[] { label })); } else @@ -1351,7 +1350,7 @@ { breakPlugin(); - Log.log(Log.ERROR,PluginJAR.this, + Log.log(Log.ERROR,PluginJAR.this, "Error while starting plugin " + plugin.getClassName()); Log.log(Log.ERROR,PluginJAR.this,t); String[] args = { t.toString() }; @@ -1360,7 +1359,7 @@ if(plugin instanceof EBPlugin) { - if(jEdit.getProperty("plugin." + plugin.getClassName() + if(jEdit.getProperty("plugin." + plugin.getClassName() + ".activate") == null) { // old plugins expected jEdit 4.1-style Modified: jEdit/trunk/org/gjt/sp/util/PropertiesBean.java =================================================================== --- jEdit/trunk/org/gjt/sp/util/PropertiesBean.java 2007-07-04 00:05:27 UTC (rev 9925) +++ jEdit/trunk/org/gjt/sp/util/PropertiesBean.java 2007-07-04 05:02:16 UTC (rev 9926) @@ -55,16 +55,6 @@ public abstract class PropertiesBean { - /** - * Mostly for internal use by jEdit. Clear the entries in the - * internal cache, so that new classes are re-scanned. Used when - * loading/unloading plugins, to avoid having stale data in the cache. - */ - public static void clearPropertyCache() - { - PROPERTY_CACHE.clear(); - } - // Constructors /** @@ -197,18 +187,8 @@ private PropertyDescriptor[] getPropertyDescriptors() throws IntrospectionException { - PropertyDescriptor[] _props; - synchronized (PROPERTY_CACHE) - { - _props = PROPERTY_CACHE.get(getClass().getName()); - if (_props == null) - { - BeanInfo _info = Introspector.getBeanInfo(getClass()); - _props = _info.getPropertyDescriptors(); - PROPERTY_CACHE.put(getClass().getName(), _props); - } - } - return _props; + BeanInfo _info = Introspector.getBeanInfo(getClass()); + return _info.getPropertyDescriptors(); } private String encode(Object value) @@ -290,12 +270,6 @@ return _ret; } - // Static variables - - /** Holds a cache of class name -> PropertyDescriptor[] mappings. */ - private static final Map<String,PropertyDescriptor[]> PROPERTY_CACHE - = new WeakHashMap<String,PropertyDescriptor[]>(); - // Instance variables private final char arraysep; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |