Author: sebb Date: Thu Jan 21 00:51:00 2010 New Revision: 901471 URL: http://svn.apache.org/viewvc?rev=901471&view=rev Log: Use ConcurrentHashMap instead of Hashtable now we are using Java 1.5
Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/timers/ConstantThroughputTimer.java jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/FileReporter.java jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/Summariser.java jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/MessageAdmin.java Modified: jakarta/jmeter/trunk/src/components/org/apache/jmeter/timers/ConstantThroughputTimer.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/components/org/apache/jmeter/timers/ConstantThroughputTimer.java?rev=901471&r1=901470&r2=901471&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/components/org/apache/jmeter/timers/ConstantThroughputTimer.java (original) +++ jakarta/jmeter/trunk/src/components/org/apache/jmeter/timers/ConstantThroughputTimer.java Thu Jan 21 00:51:00 2010 @@ -18,8 +18,8 @@ package org.apache.jmeter.timers; -import java.util.Hashtable; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.apache.jmeter.engine.event.LoopIterationEvent; import org.apache.jmeter.testbeans.TestBean; @@ -72,7 +72,7 @@ //For holding the ThrougputInfo objects for all ThreadGroups. Keyed by ThreadGroup objects private final static Map<ThreadGroup, ThroughputInfo> threadGroupsInfoMap = - new Hashtable<ThreadGroup, ThroughputInfo>(); + new ConcurrentHashMap<ThreadGroup, ThroughputInfo>(); /** Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/FileReporter.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/FileReporter.java?rev=901471&r1=901470&r2=901471&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/FileReporter.java (original) +++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/FileReporter.java Thu Jan 21 00:51:00 2010 @@ -29,9 +29,9 @@ import java.io.FileReader; import java.io.IOException; import java.text.DecimalFormat; -import java.util.Enumeration; -import java.util.Hashtable; +import java.util.Map; import java.util.Vector; +import java.util.concurrent.ConcurrentHashMap; import javax.swing.JFrame; import javax.swing.JLabel; @@ -50,7 +50,7 @@ public class FileReporter extends JPanel { private static final Logger log = LoggingManager.getLoggerForClass(); - private final Hashtable<String, Vector<Integer>> data = new Hashtable<String, Vector<Integer>>(); + private final Map<String, Vector<Integer>> data = new ConcurrentHashMap<String, Vector<Integer>>(); /** initalize a file reporter from a file */ public void init(String file) throws IOException { @@ -131,19 +131,15 @@ */ private static class GraphPanel extends JPanel { // boolean autoScale = true; - Hashtable<String, Vector<Integer>> data; + private final Map<String, Vector<Integer>> data; - Vector<String> keys = new Vector<String>(); + private final Vector<String> keys = new Vector<String>(); - Vector<Color> colorList = new Vector<Color>(); + private final Vector<Color> colorList = new Vector<Color>(); - public GraphPanel(Hashtable<String, Vector<Integer>> data) { + public GraphPanel(Map<String, Vector<Integer>> data) { this.data = data; - Enumeration<String> e = data.keys(); - - while (e.hasMoreElements()) { - String key = e.nextElement(); - + for (String key : data.keySet()) { keys.addElement(key); } for (int a = 0x33; a < 0xFF; a += 0x66) { Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/Summariser.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/Summariser.java?rev=901471&r1=901470&r2=901471&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/Summariser.java (original) +++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/reporters/Summariser.java Thu Jan 21 00:51:00 2010 @@ -24,6 +24,7 @@ import java.util.Map; import java.util.Set; import java.util.Map.Entry; +import java.util.concurrent.ConcurrentHashMap; import org.apache.jmeter.engine.event.LoopIterationEvent; import org.apache.jmeter.engine.util.NoThreadClone; @@ -89,8 +90,8 @@ /* * This map allows summarisers with the same name to contribute to the same totals. */ - //@GuardedBy("accumulators") - private static final Hashtable<String, Totals> accumulators = new Hashtable<String, Totals>(); + //@GuardedBy("accumulators") - needed to ensure consistency between this and instanceCount + private static final Map<String, Totals> accumulators = new ConcurrentHashMap<String, Totals>(); //@GuardedBy("accumulators") private static int instanceCount; // number of active tests Modified: jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java?rev=901471&r1=901470&r2=901471&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java (original) +++ jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/parser/HTMLParser.java Thu Jan 21 00:51:00 2010 @@ -23,6 +23,8 @@ import java.util.Hashtable; import java.util.Iterator; import java.util.LinkedHashSet; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import org.apache.jmeter.util.JMeterUtils; import org.apache.jorphan.logging.LoggingManager; @@ -55,7 +57,7 @@ protected static final String STYLESHEET = "stylesheet";// $NON-NLS-1$ // Cache of parsers - parsers must be re-usable - private static final Hashtable<String, HTMLParser> parsers = new Hashtable<String, HTMLParser>(3); + private static final Map<String, HTMLParser> parsers = new ConcurrentHashMap<String, HTMLParser>(3); public static final String PARSER_CLASSNAME = "htmlParser.className"; // $NON-NLS-1$ @@ -73,7 +75,7 @@ return getParser(JMeterUtils.getPropDefault(PARSER_CLASSNAME, DEFAULT_PARSER)); } - public static final synchronized HTMLParser getParser(String htmlParserClassName) { + public static final HTMLParser getParser(String htmlParserClassName) { // Is there a cached parser? HTMLParser pars = parsers.get(htmlParserClassName); Modified: jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/MessageAdmin.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/MessageAdmin.java?rev=901471&r1=901470&r2=901471&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/MessageAdmin.java (original) +++ jakarta/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/sampler/MessageAdmin.java Thu Jan 21 00:51:00 2010 @@ -18,8 +18,8 @@ package org.apache.jmeter.protocol.jms.sampler; -import java.util.Hashtable; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import javax.jms.Message; @@ -33,14 +33,14 @@ public class MessageAdmin { private static final MessageAdmin SINGLETON = new MessageAdmin(); - private final Map<String, PlaceHolder> table = new Hashtable<String, PlaceHolder>(); + private final Map<String, PlaceHolder> table = new ConcurrentHashMap<String, PlaceHolder>(); private static final Logger log = LoggingManager.getLoggerForClass(); private MessageAdmin() { } - public static synchronized MessageAdmin getAdmin() { + public static MessageAdmin getAdmin() { return SINGLETON; } @@ -89,7 +89,7 @@ } class PlaceHolder { - private Object request; + private final Object request; private Object reply; --------------------------------------------------------------------- To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org