You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2009/11/19 00:16:10 UTC
svn commit: r881994 - in /jakarta/jmeter/trunk:
src/core/org/apache/jmeter/config/gui/
src/core/org/apache/jmeter/engine/util/
src/core/org/apache/jmeter/gui/tree/ src/core/org/apache/jmeter/save/
src/core/org/apache/jmeter/testbeans/gui/ src/core/org/...
Author: sebb
Date: Wed Nov 18 23:16:09 2009
New Revision: 881994
URL: http://svn.apache.org/viewvc?rev=881994&view=rev
Log:
Generics and other tidy ups
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java
jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/util/CompoundVariable.java
jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/tree/JMeterTreeNode.java
jakarta/jmeter/trunk/src/core/org/apache/jmeter/save/OldSaveService.java
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/JMeterUtils.java
jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JexlFunction.java
jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/collections/SearchByClass.java
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
jakarta/jmeter/trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java
jakarta/jmeter/trunk/test/src/org/apache/jmeter/engine/util/TestValueReplacer.java
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java?rev=881994&r1=881993&r2=881994&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/config/gui/ArgumentsPanel.java Wed Nov 18 23:16:09 2009
@@ -60,7 +60,7 @@
private transient JTable table;
/** The model for the arguments table. */
- protected transient ObjectTableModel tableModel;
+ protected transient ObjectTableModel tableModel; // will only contain Argument or HTTPArgument
/** A button for adding new arguments to the table. */
private JButton add;
@@ -156,6 +156,7 @@
if (args instanceof Arguments) {
arguments = (Arguments) args;
arguments.clear();
+ @SuppressWarnings("unchecked") // only contains Argument (or HTTPArgument)
Iterator<Argument> modelData = (Iterator<Argument>) tableModel.iterator();
while (modelData.hasNext()) {
Argument arg = modelData.next();
@@ -326,7 +327,7 @@
*
* @return a new Argument object
*/
- protected Object makeNewArgument() {
+ protected Argument makeNewArgument() {
return new Argument("", ""); // $NON-NLS-1$ // $NON-NLS-2$
}
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/util/CompoundVariable.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/util/CompoundVariable.java?rev=881994&r1=881993&r2=881994&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/util/CompoundVariable.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/util/CompoundVariable.java Wed Nov 18 23:16:09 2009
@@ -154,6 +154,7 @@
return results.toString();
}
+ @SuppressWarnings("unchecked") // clone will produce correct type
public CompoundVariable getFunction() {
CompoundVariable func = new CompoundVariable();
func.compiledComponents = (LinkedList<Object>) compiledComponents.clone();
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/tree/JMeterTreeNode.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/tree/JMeterTreeNode.java?rev=881994&r1=881993&r2=881994&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/tree/JMeterTreeNode.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/gui/tree/JMeterTreeNode.java Wed Nov 18 23:16:09 2009
@@ -23,6 +23,7 @@
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.util.Collection;
+import java.util.Enumeration;
import javax.swing.ImageIcon;
import javax.swing.JPopupMenu;
@@ -141,4 +142,11 @@
public void nameChanged() {
treeModel.nodeChanged(this);
}
+
+ // Override in order to provide type safety
+ @Override
+ @SuppressWarnings("unchecked")
+ public Enumeration<JMeterTreeNode> children() {
+ return super.children();
+ }
}
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/save/OldSaveService.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/save/OldSaveService.java?rev=881994&r1=881993&r2=881994&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/save/OldSaveService.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/save/OldSaveService.java Wed Nov 18 23:16:09 2009
@@ -376,6 +376,7 @@
private static Collection<JMeterProperty> createCollection(Configuration config, String testClass) throws ConfigurationException,
ClassNotFoundException, IllegalAccessException, InstantiationException {
+ @SuppressWarnings("unchecked") // OK
Collection<JMeterProperty> coll = (Collection<JMeterProperty>) Class.forName(config.getAttribute("class")).newInstance(); // $NON-NLS-1$
Configuration[] items = config.getChildren();
@@ -434,6 +435,7 @@
private static Map<String, JMeterProperty> createMap(Configuration config, String testClass) throws ConfigurationException,
ClassNotFoundException, IllegalAccessException, InstantiationException {
+ @SuppressWarnings("unchecked") // OK
Map<String, JMeterProperty> map = (Map<String, JMeterProperty>) Class.forName(config.getAttribute("class")).newInstance();
Configuration[] items = config.getChildren();
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java?rev=881994&r1=881993&r2=881994&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java Wed Nov 18 23:16:09 2009
@@ -318,8 +318,9 @@
/**
* {@inheritDoc}
- * @param map must be an instance of Map<String, Object>
+ * @param map must be an instance of Map<String, Object>
*/
+ @SuppressWarnings("unchecked")
public void setObject(Object map) {
propertyMap = (Map<String, Object>) map;
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/JMeterUtils.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/JMeterUtils.java?rev=881994&r1=881993&r2=881994&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/JMeterUtils.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/util/JMeterUtils.java Wed Nov 18 23:16:09 2009
@@ -367,6 +367,7 @@
*/
private static void notifyLocaleChangeListeners() {
LocaleChangeEvent event = new LocaleChangeEvent(JMeterUtils.class, locale);
+ @SuppressWarnings("unchecked") // clone will produce correct type
Iterator<LocaleChangeListener> iterator = ((Vector<LocaleChangeListener>) localeChangeListeners.clone()).iterator();
while (iterator.hasNext()) {
Modified: jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JexlFunction.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JexlFunction.java?rev=881994&r1=881993&r2=881994&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JexlFunction.java (original)
+++ jakarta/jmeter/trunk/src/functions/org/apache/jmeter/functions/JexlFunction.java Wed Nov 18 23:16:09 2009
@@ -77,6 +77,7 @@
{
Script script = ScriptFactory.createScript(exp);
JexlContext jc = JexlHelper.createContext();
+ @SuppressWarnings("unchecked")
final Map<String, Object> jexlVars = jc.getVars();
jexlVars.put("log", log); //$NON-NLS-1$
jexlVars.put("ctx", jmctx); //$NON-NLS-1$
Modified: jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/collections/SearchByClass.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/collections/SearchByClass.java?rev=881994&r1=881993&r2=881994&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/collections/SearchByClass.java (original)
+++ jakarta/jmeter/trunk/src/jorphan/org/apache/jorphan/collections/SearchByClass.java Wed Nov 18 23:16:09 2009
@@ -59,14 +59,6 @@
private final Class<?> searchClass;
/**
- * Creates an instance of SearchByClass. However, without setting the Class
- * to search for, it will be a useless object.
- */
- public SearchByClass() {
- searchClass = null;
- }
-
- /**
* Creates an instance of SearchByClass, and sets the Class to be searched
* for.
*
Modified: jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java?rev=881994&r1=881993&r2=881994&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java (original)
+++ jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPArgumentsPanel.java Wed Nov 18 23:16:09 2009
@@ -77,7 +77,7 @@
}
@Override
- protected Object makeNewArgument() {
+ protected HTTPArgument makeNewArgument() {
HTTPArgument arg = new HTTPArgument("", "");
arg.setAlwaysEncoded(false);
arg.setUseEquals(true);
@@ -99,6 +99,7 @@
@Override
public TestElement createTestElement() {
stopTableEditing();
+ @SuppressWarnings("unchecked") // only contains Argument (or HTTPArgument)
Iterator<HTTPArgument> modelData = (Iterator<HTTPArgument>) tableModel.iterator();
Arguments args = new Arguments();
while (modelData.hasNext()) {
Modified: jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java?rev=881994&r1=881993&r2=881994&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java (original)
+++ jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/HTTPFileArgsPanel.java Wed Nov 18 23:16:09 2009
@@ -65,7 +65,7 @@
private transient JTable table;
/** The model for the files table. */
- private transient ObjectTableModel tableModel;
+ private transient ObjectTableModel tableModel; // only contains HTTPFileArg elements
/** A button for adding new files to the table. */
private JButton add;
@@ -170,6 +170,7 @@
if (testElement instanceof HTTPSamplerBase) {
HTTPSamplerBase base = (HTTPSamplerBase) testElement;
int rows = tableModel.getRowCount();
+ @SuppressWarnings("unchecked") // we only put HTTPFileArgs in it
Iterator<HTTPFileArg> modelData = (Iterator<HTTPFileArg>) tableModel.iterator();
HTTPFileArg[] files = new HTTPFileArg[rows];
int row=0;
Modified: jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java?rev=881994&r1=881993&r2=881994&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java (original)
+++ jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java Wed Nov 18 23:16:09 2009
@@ -378,7 +378,9 @@
public synchronized void deliverSampler(HTTPSamplerBase sampler, TestElement[] subConfigs, SampleResult result) {
if (filterContentType(result) && filterUrl(sampler)) {
JMeterTreeNode myTarget = findTargetControllerNode();
+ @SuppressWarnings("unchecked") // OK, because find only returns correct element types
Collection<ConfigTestElement> defaultConfigurations = (Collection<ConfigTestElement>) findApplicableElements(myTarget, ConfigTestElement.class, false);
+ @SuppressWarnings("unchecked") // OK, because find only returns correct element types
Collection<Arguments> userDefinedVariables = (Collection<Arguments>) findApplicableElements(myTarget, Arguments.class, true);
removeValuesFromSampler(sampler, defaultConfigurations);
Modified: jakarta/jmeter/trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java?rev=881994&r1=881993&r2=881994&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java (original)
+++ jakarta/jmeter/trunk/src/protocol/ldap/org/apache/jmeter/protocol/ldap/config/gui/LDAPArgumentsPanel.java Wed Nov 18 23:16:09 2009
@@ -61,7 +61,8 @@
private transient JTable table;
/** The model for the arguments table. */
- protected transient ObjectTableModel tableModel;
+ // needs to be accessible from test code
+ transient ObjectTableModel tableModel; // Only contains LDAPArgument entries
/** A button for adding new arguments to the table. */
private JButton add;
@@ -132,6 +133,7 @@
if (args instanceof LDAPArguments) {
arguments = (LDAPArguments) args;
arguments.clear();
+ @SuppressWarnings("unchecked") // Only contains LDAPArgument entries
Iterator<LDAPArgument> modelData = (Iterator<LDAPArgument>) tableModel.iterator();
while (modelData.hasNext()) {
LDAPArgument arg = modelData.next();
@@ -166,46 +168,10 @@
}
/**
- * Get the table used to enter arguments.
- *
- * @return the table used to enter arguments
- */
- protected JTable getTable() {
- return table;
- }
-
- /**
- * Get the title label for this component.
- *
- * @return the title label displayed with the table
- */
- protected JLabel getTableLabel() {
- return tableLabel;
- }
-
- /**
- * Get the button used to delete rows from the table.
- *
- * @return the button used to delete rows from the table
- */
- protected JButton getDeleteButton() {
- return delete;
- }
-
- /**
- * Get the button used to add rows to the table.
- *
- * @return the button used to add rows to the table
- */
- protected JButton getAddButton() {
- return add;
- }
-
- /**
* Enable or disable the delete button depending on whether or not there is
* a row to be deleted.
*/
- protected void checkDeleteStatus() {
+ private void checkDeleteStatus() {
// Disable DELETE if there are no rows in the table to delete.
if (tableModel.getRowCount() == 0) {
delete.setEnabled(false);
@@ -240,7 +206,7 @@
/**
* Remove the currently selected argument from the table.
*/
- protected void deleteArgument() {
+ private void deleteArgument() {
// If a table cell is being edited, we must cancel the editing before
// deleting the row
if (table.isEditing()) {
@@ -275,7 +241,7 @@
/**
* Add a new argument row to the table.
*/
- protected void addArgument() {
+ private void addArgument() {
// If a table cell is being edited, we should accept the current value
// and stop the editing before adding a new row.
stopTableEditing();
@@ -295,7 +261,7 @@
*
* @return a new LDAPArgument object
*/
- protected Object makeNewLDAPArgument() {
+ private LDAPArgument makeNewLDAPArgument() {
return new LDAPArgument("", "", "");
}
@@ -313,7 +279,7 @@
/**
* Initialize the table model used for the arguments table.
*/
- protected void initializeTableModel() {
+ private void initializeTableModel() {
tableModel = new ObjectTableModel(new String[] { COLUMN_NAMES[0], COLUMN_NAMES[1], COLUMN_NAMES[2] },
LDAPArgument.class,
new Functor[] { new Functor("getName"), new Functor("getValue"), new Functor("getOpcode") },
@@ -343,7 +309,7 @@
* @param _table
* the table to resize columns for
*/
- protected void sizeColumns(JTable _table) {
+ private void sizeColumns(JTable _table) {
}
/**
@@ -364,7 +330,7 @@
*
* @return a panel containing the title label
*/
- protected Component makeLabelPanel() {
+ private Component makeLabelPanel() {
JPanel labelPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
labelPanel.add(tableLabel);
return labelPanel;
Modified: jakarta/jmeter/trunk/test/src/org/apache/jmeter/engine/util/TestValueReplacer.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/test/src/org/apache/jmeter/engine/util/TestValueReplacer.java?rev=881994&r1=881993&r2=881994&view=diff
==============================================================================
--- jakarta/jmeter/trunk/test/src/org/apache/jmeter/engine/util/TestValueReplacer.java (original)
+++ jakarta/jmeter/trunk/test/src/org/apache/jmeter/engine/util/TestValueReplacer.java Wed Nov 18 23:16:09 2009
@@ -66,6 +66,7 @@
element.setProperty(new CollectionProperty("args", argsin));
replacer.reverseReplace(element);
assertEquals("${server}", element.getPropertyAsString("domain"));
+ @SuppressWarnings("unchecked")
List<JMeterProperty> args = (List<JMeterProperty>) element.getProperty("args").getObjectValue();
assertEquals("username is ${username}", args.get(0).getStringValue());
assertEquals("${password}", args.get(1).getStringValue());
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org