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-unsubscr...@jakarta.apache.org For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org