Author: sebb
Date: Mon Oct 24 20:23:44 2011
New Revision: 1188356
URL: http://svn.apache.org/viewvc?rev=1188356&view=rev
Log:
Allo user to override toolbar and toolbar icons
Modified:
jakarta/jmeter/trunk/bin/jmeter.properties
jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/IconToolbarBean.java
jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/JMeterToolBar.java
Modified: jakarta/jmeter/trunk/bin/jmeter.properties
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/bin/jmeter.properties?rev=1188356&r1=1188355&r2=1188356&view=diff
==============================================================================
--- jakarta/jmeter/trunk/bin/jmeter.properties (original)
+++ jakarta/jmeter/trunk/bin/jmeter.properties Mon Oct 24 20:23:44 2011
@@ -120,6 +120,8 @@ jmeter.laf.mac=System
#jmeter.toolbar.display=true
# Toolbar icon definitions
#jmeter.toolbar.icons=org/apache/jmeter/images/toolbar/icons-toolbar.properties
+# Toolbar list
+#jmeter.toolbar=new,open,close,save,save_as_testplan,|,cut,copy,paste,|,expand,collapse,toggle,|,test_start,test_stop,test_shutdown,|,test_start_remote_all,test_stop_remote_all,test_shutdown_remote_all,|,test_clear,test_clear_all,|,search,search_reset,|,function_helper,help
# Icon definitions
# default:
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/IconToolbarBean.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/IconToolbarBean.java?rev=1188356&r1=1188355&r2=1188356&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/IconToolbarBean.java
(original)
+++
jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/IconToolbarBean.java
Mon Oct 24 20:23:44 2011
@@ -43,7 +43,7 @@ public final class IconToolbarBean {
* @param strToSplit - the line value (i18n key, ActionNames ID, icon
path, optional icon pressed path)
* @throws JMeterException if error in parsing.
*/
- IconToolbarBean(final String strToSplit) throws JMeterException {
+ IconToolbarBean(final String strToSplit) throws NullPointerException,
IllegalArgumentException {
if (strToSplit == null) {
throw new NullPointerException("Icon definition must not be
null"); //$NON-NLS-1$
}
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/JMeterToolBar.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/JMeterToolBar.java?rev=1188356&r1=1188355&r2=1188356&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/JMeterToolBar.java
(original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/util/JMeterToolBar.java
Mon Oct 24 20:23:44 2011
@@ -32,7 +32,6 @@ import javax.swing.JToolBar;
import org.apache.jmeter.gui.action.ActionRouter;
import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.logging.LoggingManager;
-import org.apache.jorphan.util.JMeterException;
import org.apache.log.Logger;
/**
@@ -48,9 +47,11 @@ public class JMeterToolBar {
private static final String TOOLBAR_PROP_NAME = "toolbar"; //$NON-NLS-1$
// protected fields: JMeterToolBar class can be use to create another
toolbar (plugin, etc.)
- protected static final String defaultIconProp =
"org/apache/jmeter/images/toolbar/icons-toolbar.properties"; //$NON-NLS-1$
+ protected static final String DEFAULT_TOOLBAR_PROPERTY_FILE =
"org/apache/jmeter/images/toolbar/icons-toolbar.properties"; //$NON-NLS-1$
+
+ protected static final String USER_DEFINED_TOOLBAR_PROPERTY_FILE =
"jmeter.toolbar.icons"; //$NON-NLS-1$
- protected static final String keyIconProp = "jmeter.toolbar.icons";
//$NON-NLS-1$
+ private static final String TOOLBAR_LIST = "jmeter.toolbar";
/**
* Create the default JMeter toolbar
@@ -96,37 +97,53 @@ public class JMeterToolBar {
* @return List of icons/action definition
*/
private static List<IconToolbarBean> getIconMappings() {
- String iconProp = JMeterUtils.getPropDefault(keyIconProp,
defaultIconProp); //$NON-NLS-1$
- Properties p = JMeterUtils.loadProperties(iconProp);
- if (p == null && !iconProp.equals(defaultIconProp)) {
- log.info(iconProp + " not found - using " + defaultIconProp);
- iconProp = defaultIconProp;
- p = JMeterUtils.loadProperties(defaultIconProp);
+ // Get the standard toolbar properties
+ Properties defaultProps =
JMeterUtils.loadProperties(DEFAULT_TOOLBAR_PROPERTY_FILE);
+ if (defaultProps == null) {
+ JOptionPane.showMessageDialog(null,
+ JMeterUtils.getResString("toolbar_icon_set_not_found"), //
$NON-NLS-1$
+ JMeterUtils.getResString("toolbar_icon_set_not_found"), //
$NON-NLS-1$
+ JOptionPane.WARNING_MESSAGE);
+ return null;
}
- if (p == null) {
+ Properties p;
+ String userProp =
JMeterUtils.getProperty(USER_DEFINED_TOOLBAR_PROPERTY_FILE);
+ if (userProp != null){
+ p = JMeterUtils.loadProperties(userProp, defaultProps);
+ } else {
+ p=defaultProps;
+ }
+
+ String order = JMeterUtils.getPropDefault(TOOLBAR_LIST,
p.getProperty(TOOLBAR_PROP_NAME));
+
+ if (order == null) {
+ log.warn("Could not find toolbar definition list");
JOptionPane.showMessageDialog(null,
JMeterUtils.getResString("toolbar_icon_set_not_found"), //
$NON-NLS-1$
JMeterUtils.getResString("toolbar_icon_set_not_found"), //
$NON-NLS-1$
JOptionPane.WARNING_MESSAGE);
return null;
}
- log.info("Loading toolbar icons properties from " + iconProp);
//$NON-NLS-1$
-
- String order = p.getProperty(TOOLBAR_PROP_NAME);
- p.remove(TOOLBAR_PROP_NAME);
+
String[] oList = order.split(TOOLBAR_ENTRY_SEP);
-
+
List<IconToolbarBean> listIcons = new ArrayList<IconToolbarBean>();
for (String key : oList) {
log.debug("Toolbar icon key: " + key); //$NON-NLS-1$
- if (key.trim().equals("|")) { //$NON-NLS-1$
+ String trimmed = key.trim();
+ if (trimmed.equals("|")) { //$NON-NLS-1$
listIcons.add(null);
} else {
- try {
- IconToolbarBean itb = new
IconToolbarBean(p.getProperty(key));
- listIcons.add(itb);
- } catch (JMeterException je) {
- log.error("Toolbar icon loading error - key: " + key);
//$NON-NLS-1$
+ String property = p.getProperty(trimmed);
+ if (property == null) {
+ log.warn("No definition for toolbar entry: " + key);
+ } else {
+ try {
+ IconToolbarBean itb = new IconToolbarBean(property);
+ listIcons.add(itb);
+ } catch (IllegalArgumentException e) {
+ // already reported by IconToolbarBean
+ }
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]