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 ms...@apache.org on 2002/06/15 00:45:17 UTC

cvs commit: jakarta-jmeter/src_1/org/apache/jmeter/util Data.java

mstover1    2002/06/14 15:45:17

  Modified:    src_1/org/apache/jmeter/assertions/gui AssertionGui.java
               src_1/org/apache/jmeter/gui/util JMeterColor.java
                        PowerTableModel.java
               src_1/org/apache/jmeter/protocol/http/control Cookie.java
                        CookieManager.java
               src_1/org/apache/jmeter/protocol/http/gui CookiePanel.java
               src_1/org/apache/jmeter/util Data.java
  Added:       src_1/org/apache/jmeter/gui/util TextAreaCellRenderer.java
                        TextAreaTableCellEditor.java
  Log:
  More refactoring and improvements in GUI code
  
  Revision  Changes    Path
  1.7       +8 -1      jakarta-jmeter/src_1/org/apache/jmeter/assertions/gui/AssertionGui.java
  
  Index: AssertionGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/assertions/gui/AssertionGui.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- AssertionGui.java	14 Jun 2002 00:12:33 -0000	1.6
  +++ AssertionGui.java	14 Jun 2002 22:45:16 -0000	1.7
  @@ -79,9 +79,11 @@
   import javax.swing.JTable;
   import javax.swing.border.Border;
   import javax.swing.border.EmptyBorder;
  -import javax.swing.table.DefaultTableModel;
  +import javax.swing.table.TableCellRenderer;
   import org.apache.jmeter.assertions.Assertion;
   import org.apache.jmeter.gui.util.PowerTableModel;
  +import org.apache.jmeter.gui.util.TextAreaCellRenderer;
  +import org.apache.jmeter.gui.util.TextAreaTableCellEditor;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
   
  @@ -311,6 +313,10 @@
   		stringTable.addFocusListener(this);
   		tableModel = new PowerTableModel(new String[]{COL_NAME},new Class[]{String.class});
   		stringTable.setModel(tableModel);
  +		TextAreaCellRenderer renderer = new TextAreaCellRenderer();
  +		stringTable.setDefaultEditor(String.class,new TextAreaTableCellEditor());
  +		stringTable.setRowHeight(renderer.getPreferredHeight());
  +		stringTable.setDefaultRenderer(String.class,renderer);
   		panel.setLayout(new BorderLayout());
   		panel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
   				JMeterUtils.getResString("assertion_patterns_to_test")));
  @@ -345,6 +351,7 @@
   		public void actionPerformed(ActionEvent e)
   		{
   			int index = stringTable.getSelectedRow();
  +			stringTable.getCellEditor(index,stringTable.getSelectedColumn()).cancelCellEditing();
   			if(index > -1)
   			{
   				tableModel.removeRow(index);
  
  
  
  1.4       +1 -0      jakarta-jmeter/src_1/org/apache/jmeter/gui/util/JMeterColor.java
  
  Index: JMeterColor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/util/JMeterColor.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JMeterColor.java	14 Jun 2002 00:12:33 -0000	1.3
  +++ JMeterColor.java	14 Jun 2002 22:45:16 -0000	1.4
  @@ -66,6 +66,7 @@
   	
   	public final static Color dark_green = new JMeterColor(0F,.5F,0F);
   	public final static Color YELLOW = new JMeterColor(1F,1F,0);
  +	public final static Color LAVENDER = new JMeterColor(206F/255F,207F/255F,1F);
   	
   	public JMeterColor(float r,float g,float b)
   	{
  
  
  
  1.2       +85 -6     jakarta-jmeter/src_1/org/apache/jmeter/gui/util/PowerTableModel.java
  
  Index: PowerTableModel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/gui/util/PowerTableModel.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PowerTableModel.java	14 Jun 2002 00:12:33 -0000	1.1
  +++ PowerTableModel.java	14 Jun 2002 22:45:16 -0000	1.2
  @@ -1,9 +1,9 @@
   package org.apache.jmeter.gui.util;
   
  -import javax.swing.table.DefaultTableModel;
  +import java.lang.reflect.Constructor;
   
  +import javax.swing.table.DefaultTableModel;
   import org.apache.jmeter.util.Data;
  -
   /**
    * @author mstover
    *
  @@ -36,6 +36,7 @@
   		 *@param row  Description of Parameter
   		 ***************************************/
   	public void removeRow(int row) {
  +		System.out.println("Removing row: "+row);
   		if (model.size() > row) {
   			model.removeRow(row);
   		}
  @@ -50,8 +51,83 @@
   
   	/****************************************
   	 ***************************************/
  -	public void addNewRow() {
  -		model.addRow();
  +	public void addNewRow() {		
  +		addRow(createDefaultRow());
  +	}
  +	
  +	private Object[] createDefaultRow()
  +	{
  +		Object[] rowData = new Object[getColumnCount()];
  +		for(int i = 0;i < rowData.length;i++)
  +		{
  +			rowData[i] = createDefaultValue(i);
  +		}
  +		return rowData;
  +	}
  +	
  +	public Object[] getRowData(int row)
  +	{
  +		Object[] rowData = new Object[getColumnCount()];
  +		for(int i = 0;i < rowData.length;i++)
  +		{
  +			rowData[i] = model.getColumnValue(i,row);
  +		}
  +		return rowData;
  +	}
  +	
  +	private Object createDefaultValue(int i)
  +	{
  +		Class colClass = getColumnClass(i);
  +		try {
  +			return colClass.newInstance();
  +		} catch(Exception e) {
  +			try {
  +				Constructor constr = colClass.getConstructor(new Class[]{String.class});
  +				return constr.newInstance(new Object[]{""});
  +			} catch(Exception err) {
  +			} 
  +			try {
  +				Constructor constr = colClass.getConstructor(new Class[]{Integer.TYPE});
  +				return constr.newInstance(new Object[]{new Integer(0)});
  +			} catch(Exception err) {
  +			} 
  +			try {
  +				Constructor constr = colClass.getConstructor(new Class[]{Long.TYPE});
  +				return constr.newInstance(new Object[]{new Long(0L)});
  +			} catch(Exception err) {
  +			}
  +			try {
  +				Constructor constr = colClass.getConstructor(new Class[]{Boolean.TYPE});
  +				return constr.newInstance(new Object[]{new Boolean(false)});
  +			} catch(Exception err) {
  +			}
  +			try {
  +				Constructor constr = colClass.getConstructor(new Class[]{Float.TYPE});
  +				return constr.newInstance(new Object[]{new Float(0F)});
  +			} catch(Exception err) {
  +			}
  +			try {
  +				Constructor constr = colClass.getConstructor(new Class[]{Double.TYPE});
  +				return constr.newInstance(new Object[]{new Double(0D)});
  +			} catch(Exception err) {
  +			}
  +			try {
  +				Constructor constr = colClass.getConstructor(new Class[]{Character.TYPE});
  +				return constr.newInstance(new Object[]{new Character(' ')});
  +			} catch(Exception err) {
  +			}
  +			try {
  +				Constructor constr = colClass.getConstructor(new Class[]{Byte.TYPE});
  +				return constr.newInstance(new Object[]{new Byte(Byte.MIN_VALUE)});
  +			} catch(Exception err) {
  +			}
  +			try {
  +				Constructor constr = colClass.getConstructor(new Class[]{Short.TYPE});
  +				return constr.newInstance(new Object[]{new Short(Short.MIN_VALUE)});
  +			} catch(Exception err) {
  +			}
  +		}
  +		return "";		
   	}
   
   	/****************************************
  @@ -126,8 +202,11 @@
   	 *@param column  !ToDo (Parameter description)
   	 ***************************************/
   	public void setValueAt(Object value, int row, int column) {
  -		model.setCurrentPos(row);
  -		model.addColumnValue(model.getHeaders()[column], value);
  +		if(row < model.size())
  +		{
  +			model.setCurrentPos(row);
  +			model.addColumnValue(model.getHeaders()[column], value);
  +		}
   	}
   
   }
  
  
  
  1.1                  jakarta-jmeter/src_1/org/apache/jmeter/gui/util/TextAreaCellRenderer.java
  
  Index: TextAreaCellRenderer.java
  ===================================================================
  package org.apache.jmeter.gui.util;
  
  import java.awt.Component;
  
  import javax.swing.JTable;
  import javax.swing.JTextArea;
  import javax.swing.table.TableCellRenderer;
  
  /**
   * @author mstover
   *
   * To change this generated comment edit the template variable "typecomment":
   * Window>Preferences>Java>Templates.
   */
  public class TextAreaCellRenderer implements TableCellRenderer {
  
  	private JTextArea rend = new JTextArea("");
  	/**
  	 * @see TableCellRenderer#getTableCellRendererComponent(JTable, Object, boolean, boolean, int, int)
  	 */
  	public Component getTableCellRendererComponent(JTable arg0,
  		Object arg1,
  		boolean arg2,
  		boolean arg3,
  		int arg4,
  		int arg5) 
  	{
  		rend = new JTextArea(arg1.toString());
  		rend.revalidate();
  		if(!arg3 && !arg2)
  		{
  			rend.setBackground(JMeterColor.LAVENDER);
  		}
  		if(arg0.getRowHeight(arg4) != getPreferredHeight())
  		{
  			arg0.setRowHeight(arg4,getPreferredHeight());
  		}
  		return rend;
  	}
  	
  	public int getPreferredHeight()
  	{
  		return rend.getPreferredSize().height + 5;
  	}
  
  }
  
  
  
  1.1                  jakarta-jmeter/src_1/org/apache/jmeter/gui/util/TextAreaTableCellEditor.java
  
  Index: TextAreaTableCellEditor.java
  ===================================================================
  package org.apache.jmeter.gui.util;
  
  import java.awt.Component;
  import java.awt.event.FocusEvent;
  import java.awt.event.FocusListener;
  import java.awt.event.MouseEvent;
  import java.util.EventObject;
  import java.util.HashSet;
  import java.util.Iterator;
  import java.util.Set;
  
  import javax.swing.JScrollPane;
  import javax.swing.JTable;
  import javax.swing.JTextArea;
  import javax.swing.event.CellEditorListener;
  import javax.swing.event.ChangeEvent;
  import javax.swing.table.TableCellEditor;
  
  /**
   * @author mstover
   *
   * To change this generated comment edit the template variable "typecomment":
   * Window>Preferences>Java>Templates.
   */
  public class TextAreaTableCellEditor implements TableCellEditor,FocusListener {
  	JScrollPane pane;
  	JTextArea editor;
  	String value = "";
  	Set listeners = new HashSet();
  	
  	public Component getTableCellEditorComponent(JTable table,
                                               Object value,
                                               boolean isSelected,
                                               int row,
                                               int column)
      {
      	editor = new JTextArea(value.toString());
      	editor.addFocusListener(this);
      	editor.setEnabled(true);
      	editor.setRows(editor.getRows()+1);
      	editor.revalidate();
      	pane = new JScrollPane(editor);
      	pane.validate();
      	return pane;
      }
      
      public void focusLost(FocusEvent fe)
      {
      	stopCellEditing();
      }
      
      public void focusGained(FocusEvent fe)
      {
      }
      
      public TextAreaTableCellEditor()
      {
      	editor = new JTextArea();
      	editor.setRows(3);
      }
      
      public Component getComponent()
      {
      	return editor;
      }
      
      public Object getCellEditorValue()
      {
      	return editor.getText();
      }
      
      public void cancelCellEditing()
      {
      	Iterator iter = listeners.iterator();
      	while(iter.hasNext())
      	{
      		((CellEditorListener)iter.next()).editingCanceled(new ChangeEvent(this));
      	}
      }
      
      public boolean stopCellEditing()
      {
      	Iterator iter = listeners.iterator();
      	while(iter.hasNext())
      	{
      		((CellEditorListener)iter.next()).editingStopped(new ChangeEvent(this));
      	}
      	return true;
      }
      
      public void addCellEditorListener(CellEditorListener lis)
      {
      	listeners.add(lis);
      }
      
      public boolean isCellEditable(EventObject anEvent)
      {
      	if (anEvent instanceof MouseEvent)
  		{
  			if (((MouseEvent)anEvent).getClickCount() > 1)
  			{
  				return true;
  			}
  		}
  		return false;
      }
      
      public void removeCellEditorListener(CellEditorListener lis)
      {
      	listeners.remove(lis);
      }
      
      public boolean shouldSelectCell(EventObject eo)
      {
      	return true;
      }
  
  }
  
  
  
  1.4       +2 -17     jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/control/Cookie.java
  
  Index: Cookie.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/control/Cookie.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Cookie.java	29 Apr 2002 17:08:10 -0000	1.3
  +++ Cookie.java	14 Jun 2002 22:45:17 -0000	1.4
  @@ -188,23 +188,8 @@
   	  * get the secure for this object.
   	  */
   	 public boolean getSecure() {
  -		Object ret = getProperty(SECURE);
  -		if(ret == null)
  -		{
  -			return false;
  -		}
  -		if(ret instanceof Boolean)
  -		{
  -			return ((Boolean)ret).booleanValue();
  -		}
  -		else if(ret instanceof String)
  -		{
  -			return Boolean.getBoolean((String)ret);
  -		}
  -		else
  -		{
  -			return false;
  -		}
  +	 	System.out.println("Secure = "+getProperty(SECURE));
  +		return this.getPropertyAsBoolean(SECURE);
   	 }
   
   	 /**
  
  
  
  1.6       +1 -20     jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/control/CookieManager.java
  
  Index: CookieManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/control/CookieManager.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- CookieManager.java	23 May 2002 15:47:05 -0000	1.5
  +++ CookieManager.java	14 Jun 2002 22:45:17 -0000	1.6
  @@ -98,16 +98,6 @@
   		*/
   	  private static SimpleDateFormat dateFormat = new SimpleDateFormat("EEEE, dd-MMM-yyyy HH:mm:ss zzz");
   
  -	  private final static int columnCount = 6;
  -	  private final static String[] columnNames = {
  -		 JMeterUtils.getResString("name"),
  -		 JMeterUtils.getResString("value"),
  -		 JMeterUtils.getResString("domain"),
  -		 JMeterUtils.getResString("path"),
  -		 JMeterUtils.getResString("secure"),
  -		 JMeterUtils.getResString("expiration"),
  -	  };
  -
   	  private static List addableList = new LinkedList();
   
   	 static
  @@ -132,15 +122,6 @@
   		  return getCookies().size();
   	 }
   
  -	 public int getColumnCount()
  -	 {
  -		  return columnCount;
  -	 }
  -
  -	 public String getColumnName(int column)
  -	 {
  -		  return columnNames[column];
  -	 }
   
   	 // Incorrect method. Always returns String. I changed CookiePanel code to perform
   	 // this lookup.
  
  
  
  1.7       +87 -194   jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/gui/CookiePanel.java
  
  Index: CookiePanel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/protocol/http/gui/CookiePanel.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- CookiePanel.java	23 May 2002 15:47:05 -0000	1.6
  +++ CookiePanel.java	14 Jun 2002 22:45:17 -0000	1.7
  @@ -53,18 +53,37 @@
    * <http://www.apache.org/>.
    */
   package org.apache.jmeter.protocol.http.gui;
  -import java.awt.*;
  -import java.awt.event.*;
  -import java.io.*;
  -import javax.swing.*;
  -import javax.swing.border.*;
  -import javax.swing.table.*;
  -import javax.swing.text.*;
  +import java.awt.Dimension;
  +import java.awt.Font;
  +import java.awt.event.ActionEvent;
  +import java.awt.event.ActionListener;
  +import java.io.File;
  +import java.io.IOException;
  +import java.util.Iterator;
  +
  +import javax.swing.BorderFactory;
  +import javax.swing.Box;
  +import javax.swing.JButton;
  +import javax.swing.JLabel;
  +import javax.swing.JPanel;
  +import javax.swing.JScrollPane;
  +import javax.swing.JTable;
  +import javax.swing.JTextArea;
  +import javax.swing.JTextField;
  +import javax.swing.JTextPane;
  +import javax.swing.ListSelectionModel;
  +import javax.swing.border.Border;
  +import javax.swing.border.CompoundBorder;
  +import javax.swing.border.EmptyBorder;
  +import javax.swing.table.JTableHeader;
  +import javax.swing.table.TableCellEditor;
   import org.apache.jmeter.config.gui.AbstractConfigGui;
  -import org.apache.jmeter.gui.*;
   import org.apache.jmeter.gui.util.FileDialoger;
  +import org.apache.jmeter.gui.util.PowerTableModel;
  +import org.apache.jmeter.gui.util.TextAreaTableCellEditor;
   import org.apache.jmeter.gui.util.VerticalLayout;
  -import org.apache.jmeter.protocol.http.control.*;
  +import org.apache.jmeter.protocol.http.control.Cookie;
  +import org.apache.jmeter.protocol.http.control.CookieManager;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
   
  @@ -78,7 +97,16 @@
    ***************************************/
   public class CookiePanel extends AbstractConfigGui implements ActionListener
   {
  -	InnerTableModel tableModel;
  +	private final static int columnCount = 6;
  +	private final static String[] columnNames = {
  +		 JMeterUtils.getResString("name"),
  +		 JMeterUtils.getResString("value"),
  +		 JMeterUtils.getResString("domain"),
  +		 JMeterUtils.getResString("path"),
  +		 JMeterUtils.getResString("secure"),
  +		 JMeterUtils.getResString("expiration"),
  +	};
  +	
   	JTable cookieTable;
   	JTextField nicknameField;
   	JButton addButton;
  @@ -88,13 +116,15 @@
   	JPanel cookieManagerPanel;
   	JTextPane nicknameTextPane;
   	JTextArea nicknameText;
  +	PowerTableModel tableModel;
   
   	/****************************************
   	 * Default constructor
   	 ***************************************/
   	public CookiePanel()
   	{
  -		tableModel = new InnerTableModel();
  +		tableModel = new PowerTableModel(columnNames,new Class[]{String.class,
  +				String.class,String.class,String.class,Boolean.class,Long.class});
   		init();
   	}
   
  @@ -193,7 +223,10 @@
   				File tmp = FileDialoger.promptToOpenFile().getSelectedFile();
   				if(tmp != null)
   				{
  -					tableModel.manager.addFile(tmp.getAbsolutePath());
  +					CookieManager manager = new CookieManager();
  +					manager.addFile(tmp.getAbsolutePath());
  +					Cookie cookie = manager.get(0);
  +					addCookieToTable(cookie);
   					tableModel.fireTableDataChanged();
   
   					if(tableModel.getRowCount() > 0)
  @@ -216,7 +249,7 @@
   				File tmp = FileDialoger.promptToSaveFile(null).getSelectedFile();
   				if(tmp != null)
   				{
  -					tableModel.manager.save(tmp.getAbsolutePath());
  +					createCookieManager().save(tmp.getAbsolutePath());
   				}
   			}
   			catch(IOException ex)
  @@ -227,6 +260,42 @@
   		}
   	}
   
  +	private void addCookieToTable(Cookie cookie) {
  +		tableModel.addRow(new Object[]{cookie.getName(),cookie.getValue(),
  +				cookie.getDomain(),cookie.getPath(),
  +				new Boolean(cookie.getSecure()),
  +				new Long(cookie.getExpires())});
  +	}
  +	
  +	private CookieManager createCookieManager()
  +	{
  +		CookieManager cookieManager = new CookieManager();
  +		for(int i = 0;i < tableModel.getRowCount();i++)
  +		{
  +			Cookie cookie = createCookie(tableModel.getRowData(i));
  +			cookieManager.add(cookie);
  +		}
  +		return cookieManager;
  +	}
  +	
  +	private Cookie createCookie(Object[] rowData)
  +	{
  +		Cookie cookie = new Cookie((String)rowData[0],(String)rowData[1],(String)rowData[2],
  +				(String)rowData[3],((Boolean)rowData[4]).booleanValue(),
  +				((Long)rowData[5]).longValue());
  +		return cookie;
  +	}
  +	
  +	private void populateTable(CookieManager manager)
  +	{
  +		Iterator iter = manager.getCookies().iterator();
  +		while(iter.hasNext())
  +		{
  +			addCookieToTable((Cookie)iter.next());
  +		}
  +	}
  +	
  +
   	/****************************************
   	 * !ToDo (Method description)
   	 *
  @@ -234,7 +303,7 @@
   	 ***************************************/
   	public TestElement createTestElement()
   	{
  -		CookieManager cookieManager = tableModel.manager;
  +		CookieManager cookieManager = createCookieManager();
   		configureTestElement(cookieManager);
   		return cookieManager;
   	}
  @@ -247,7 +316,7 @@
   	public void configure(TestElement el)
   	{
   		super.configure(el);
  -		tableModel.manager = (CookieManager)el;
  +		populateTable((CookieManager)el);
   	}
   
   	/****************************************
  @@ -365,181 +434,5 @@
   		return tempPanel;
   	}
   
  -	/****************************************
  -	 * Description of the Class
  -	 *
  -	 *@author    mike
  -	 *@created   July 14, 2001
  -	 *@version   $Revision$
  -	 ***************************************/
  -	public class InnerTableModel extends AbstractTableModel
  -	{
  -		CookieManager manager;
  -
  -		/****************************************
  -		 * Constructor for the InnerTableModel object
  -		 *
  -		 *@param man  Description of Parameter
  -		 ***************************************/
  -		public InnerTableModel(CookieManager man)
  -		{
  -			manager = man;
  -		}
  -
  -		/****************************************
  -		 * !ToDo (Constructor description)
  -		 ***************************************/
  -		public InnerTableModel()
  -		{
  -			manager = new CookieManager();
  -		}
  -
  -		/****************************************
  -		 * Description of the Method
  -		 *
  -		 *@param row  Description of Parameter
  -		 ***************************************/
  -		public void removeRow(int row)
  -		{
  -			manager.remove(row);
  -		}
  -
  -		/****************************************
  -		 ***************************************/
  -		public void addNewRow()
  -		{
  -			manager.add();
  -		}
  -
  -		/****************************************
  -		 * required by table model interface
  -		 *
  -		 *@return   The RowCount value
  -		 ***************************************/
  -		public int getRowCount()
  -		{
  -			//System.out.println("manager.getCookieCount(): " + manager.getCookieCount());
  -			return manager.getCookieCount();
  -		}
  -
  -		/****************************************
  -		 * required by table model interface
  -		 *
  -		 *@return   The ColumnCount value
  -		 ***************************************/
  -		public int getColumnCount()
  -		{
  -			return manager.getColumnCount();
  -		}
  -
  -		/****************************************
  -		 * required by table model interface
  -		 *
  -		 *@param column  Description of Parameter
  -		 *@return        The ColumnName value
  -		 ***************************************/
  -		public String getColumnName(int column)
  -		{
  -			return manager.getColumnName(column);
  -		}
  -
  -
  -		/****************************************
  -		 * !ToDoo (Method description)
  -		 *
  -		 *@param row     !ToDo (Parameter description)
  -		 *@param column  !ToDo (Parameter description)
  -		 *@return        !ToDo (Return description)
  -		 ***************************************/
  -		public boolean isCellEditable(int row, int column)
  -		{
  -			// all table cells are editable
  -			return true;
  -		}
  -
  -		/****************************************
  -		 * !ToDoo (Method description)
  -		 *
  -		 *@param column  !ToDo (Parameter description)
  -		 *@return        !ToDo (Return description)
  -		 ***************************************/
  -		public Class getColumnClass(int column)
  -		{
  -			return getValueAt(0, column).getClass();
  -		}
  -
  -		/****************************************
  -		 * required by table model interface
  -		 *
  -		 *@param row     Description of Parameter
  -		 *@param column  Description of Parameter
  -		 *@return        The ValueAt value
  -		 ***************************************/
  -		public Object getValueAt(int row, int column)
  -		{
  -			Cookie cook = manager.getCookie(row);
  -			if(column == 0)
  -			{
  -				return cook.getName();
  -			}
  -			else if(column == 1)
  -			{
  -				return cook.getValue();
  -			}
  -			else if(column == 2)
  -			{
  -				return cook.getDomain();
  -			}
  -			else if(column == 3)
  -			{
  -				return cook.getPath();
  -			}
  -			else if(column == 4)
  -			{
  -				return new Boolean(cook.getSecure());
  -			}
  -			else if(column == 5)
  -			{
  -				return manager.convertLongToDateFormatStr(cook.getExpires());
  -			}
  -			return null;
  -		}
  -
  -		/****************************************
  -		 * Sets the ValueAt attribute of the Arguments object
  -		 *
  -		 *@param value   The new ValueAt value
  -		 *@param row     The new ValueAt value
  -		 *@param column  !ToDo (Parameter description)
  -		 ***************************************/
  -		public void setValueAt(Object value, int row, int column)
  -		{
  -			Cookie cook = manager.getCookie(row);
  -
  -			if(column == 0)
  -			{
  -				cook.setName((String)value);
  -			}
  -			else if(column == 1)
  -			{
  -				cook.setValue((String)value);
  -			}
  -			else if(column == 2)
  -			{
  -				cook.setDomain((String)value);
  -			}
  -			else if(column == 3)
  -			{
  -				cook.setPath((String)value);
  -			}
  -			else if(column == 4)
  -			{
  -				cook.setSecure(((Boolean)value).booleanValue());
  -			}
  -			else if(column == 5)
  -			{
  -				cook.setExpires(manager.convertDateFormatStrToLong((String)value));
  -			}
  -		}
  -	}
  +	
   }
  
  
  
  1.2       +4 -1      jakarta-jmeter/src_1/org/apache/jmeter/util/Data.java
  
  Index: Data.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src_1/org/apache/jmeter/util/Data.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- Data.java	14 Jun 2002 00:12:34 -0000	1.1
  +++ Data.java	14 Jun 2002 22:45:17 -0000	1.2
  @@ -153,7 +153,10 @@
   		  tempList = (List)data.get(it.next());
   		  tempList.remove(currentPos);
   		}
  -		currentPos--;
  +		if(currentPos > 0)
  +		{
  +			currentPos--;
  +		}
   		size--;
   	 }
     } // End Method
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>