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 wo...@apache.org on 2005/09/07 04:50:15 UTC

cvs commit: jakarta-jmeter/src/reports/org/apache/jmeter/gui/util ReportFilePanel.java

woolfel     2005/09/06 19:50:15

  Modified:    src/reports/org/apache/jmeter/report/writers
                        AbstractReportWriter.java
               src/reports/org/apache/jmeter JMeterReport.java
               src/reports/org/apache/jmeter/control/gui ReportGui.java
               src/reports/org/apache/jmeter/report/gui/tree
                        ReportTreeModel.java
               src/reports/org/apache/jmeter/report/gui LineGraphGui.java
                        BarChartGui.java
               src/reports/org/apache/jmeter/testelement AbstractChart.java
  Added:       src/reports/org/apache/jmeter/report/writers
                        HTMLReportWriter.java
               src/reports/org/apache/jmeter/report/writers/gui
                        HTMLReportWriterGui.java
               src/reports/org/apache/jmeter/gui/util ReportFilePanel.java
  Removed:     src/reports/org/apache/jmeter/report/writers/gui
                        ReportWriterGui.java AbstractReportWriterGui.java
  Log:
  more updates to the reporting tool
  peter
  
  Revision  Changes    Path
  1.2       +48 -21    jakarta-jmeter/src/reports/org/apache/jmeter/report/writers/AbstractReportWriter.java
  
  Index: AbstractReportWriter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/reports/org/apache/jmeter/report/writers/AbstractReportWriter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractReportWriter.java	29 Aug 2005 01:27:12 -0000	1.1
  +++ AbstractReportWriter.java	7 Sep 2005 02:50:14 -0000	1.2
  @@ -1,4 +1,4 @@
  -//$Header:
  +// $Header:
   /*
    * Copyright 2005 The Apache Software Foundation.
    *
  @@ -17,48 +17,75 @@
    */
   package org.apache.jmeter.report.writers;
   
  +import java.io.File;
  +import java.util.Date;
  +
  +import org.apache.jmeter.testelement.AbstractTestElement;
   import org.apache.jmeter.testelement.TestElement;
   
   /**
  - * @author pete
  + * @author Peter Lin
    *
  - * TODO To change the template for this generated type comment go to
  - * Window - Preferences - Java - Code Style - Code Templates
  + * The abstract report writer provides the common implementation for subclasses
  + * to reuse.
    */
  -public abstract class AbstractReportWriter implements ReportWriter {
  +public abstract class AbstractReportWriter extends AbstractTestElement implements ReportWriter {
   
  +	public static final String TARGET_DIRECTORY = "ReportWriter.target.directory";
  +	
   	/**
   	 * 
   	 */
   	public AbstractReportWriter() {
   		super();
  -		// TODO Auto-generated constructor stub
   	}
   
  -    /* (non-Javadoc)
  -	 * @see org.apache.jmeter.report.writers.ReportWriter#writeReport(org.apache.jmeter.testelement.TestElement)
  +    /**
  +     * Subclasses need to implement this method and provide the necessary
  +     * logic to produce a ReportSummary object and write the report
   	 */
  -	public ReportSummary writeReport(TestElement element) {
  -		// TODO Auto-generated method stub
  -		return null;
  -	}
  +	public abstract ReportSummary writeReport(TestElement element);
   
  -	/* (non-Javadoc)
  -	 * @see org.apache.jmeter.report.writers.ReportWriter#getTargetDirectory()
  +	/**
  +	 * The method simply returns the target directory and doesn't
  +	 * validate it. the abstract class expects some other class will
  +	 * validate the target directory.
   	 */
   	public String getTargetDirectory() {
  -		// TODO Auto-generated method stub
  -		return null;
  +		return getPropertyAsString(TARGET_DIRECTORY);
   	}
   
  -	/* (non-Javadoc)
  -	 * @see org.apache.jmeter.report.writers.ReportWriter#setTargetDirectory(java.lang.String)
  +	/**
  +	 * Set the target directory where the report should be saved 
   	 */
   	public void setTargetDirectory(String directory) {
  -		// TODO Auto-generated method stub
  -
  +		setProperty(TARGET_DIRECTORY,directory);
   	}
   
  -	public static void main(String[] args) {
  +	public void makeDirectory() {
  +		File output = new File(getTargetDirectory());
  +		if (!output.exists() || !output.isDirectory()) {
  +			output.mkdir();
  +		}
  +	}
  +	
  +	public void archiveDirectory() {
  +		File output = new File(getTargetDirectory());
  +		if (output.exists() && output.isDirectory()) {
  +			// if the directory already exists and is a directory,
  +			// we just renamed to "archive.date"
  +			output.renameTo(new File("archive." + getDayString()));
  +		}
  +	}
  +	
  +	public String getDayString() {
  +		Date today = new Date();
  +		String year = String.valueOf(today.getYear());
  +		String month = String.valueOf(today.getMonth() + 1);
  +		String day = String.valueOf(today.getDate());
  +		if (month.length() == 1) {
  +			month = "0" + month;
  +		}
  +		return year + month + day;
   	}
   }
  
  
  
  1.1                  jakarta-jmeter/src/reports/org/apache/jmeter/report/writers/HTMLReportWriter.java
  
  Index: HTMLReportWriter.java
  ===================================================================
  // $Header:
  /*
   * Copyright 2005 The Apache Software Foundation.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *   http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   * 
   */
  package org.apache.jmeter.report.writers;
  
  import org.apache.jmeter.testelement.TestElement;
  
  /**
   * HTMLReportWriter is a basic report writer that produces HTML pages.
   * It contains all the necessary helper method to write out the report.
   * 
   * @author Peter Lin
   */
  public class HTMLReportWriter extends AbstractReportWriter {
  
  	public HTMLReportWriter() {
  		super();
  	}
  
  	public ReportSummary writeReport(TestElement element) {
  		return null;
  	}
  
  }
  
  
  
  1.1                  jakarta-jmeter/src/reports/org/apache/jmeter/report/writers/gui/HTMLReportWriterGui.java
  
  Index: HTMLReportWriterGui.java
  ===================================================================
  // $Header:
  /*
   * Copyright 2005 The Apache Software Foundation.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *   http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   * 
   */
  package org.apache.jmeter.report.writers.gui;
  
  import java.awt.BorderLayout;
  import java.awt.Color;
  
  import javax.swing.JPanel;
  import javax.swing.JPopupMenu;
  
  import org.apache.jmeter.gui.util.ReportFilePanel;
  import org.apache.jmeter.gui.util.ReportMenuFactory;
  import org.apache.jmeter.report.gui.AbstractReportGui;
  import org.apache.jmeter.report.writers.HTMLReportWriter;
  import org.apache.jmeter.testelement.TestElement;
  import org.apache.jmeter.util.JMeterUtils;
  
  /**
   * @author Peter Lin
   *
   */
  public class HTMLReportWriterGui extends AbstractReportGui {
  
  	ReportFilePanel outputDirectory = new ReportFilePanel(
  			JMeterUtils.getResString("report_output_directory"), "*");
  	
  	public HTMLReportWriterGui() {
  		super();
  		init();
  	}
  	
  	public String getLabelResource() {
  		return "report_writer_html";
  	}
  	
  	public JPopupMenu createPopupMenu() {
          JPopupMenu pop = new JPopupMenu();
          ReportMenuFactory.addFileMenu(pop);
          ReportMenuFactory.addEditMenu(pop,true);
          return pop;
  	}
  	
  	/**
  	 * init creates the necessary gui stuff.
  	 */
  	public void init() {
          setLayout(new BorderLayout(10, 10));
          setBorder(makeBorder());
          setBackground(Color.white);
          
          JPanel pane = new JPanel();
          pane.setLayout(new BorderLayout(10,10));
          pane.setBackground(Color.white);
          pane.add(this.getNamePanel(),BorderLayout.NORTH);
  		
          outputDirectory.setBackground(Color.white);
  
          pane.add(outputDirectory,BorderLayout.SOUTH);
          add(pane,BorderLayout.NORTH);
  	}
  	
  	/* (non-Javadoc)
  	 * @see org.apache.jmeter.gui.JMeterGUIComponent#createTestElement()
  	 */
  	public TestElement createTestElement() {
  		HTMLReportWriter element = new HTMLReportWriter();
  		modifyTestElement(element);
  		return element;
  	}
  
  	/* (non-Javadoc)
  	 * @see org.apache.jmeter.gui.JMeterGUIComponent#modifyTestElement(org.apache.jmeter.testelement.TestElement)
  	 */
  	public void modifyTestElement(TestElement element) {
  		this.configureTestElement(element);
  		HTMLReportWriter wr = (HTMLReportWriter)element;
  		wr.setTargetDirectory(outputDirectory.getFilename());
  	}
  
      public void configure(TestElement element) {
      	super.configure(element);
  		HTMLReportWriter wr = (HTMLReportWriter)element;
  		outputDirectory.setFilename(wr.getTargetDirectory());
      }
  }
  
  
  
  1.10      +2 -2      jakarta-jmeter/src/reports/org/apache/jmeter/JMeterReport.java
  
  Index: JMeterReport.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/reports/org/apache/jmeter/JMeterReport.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- JMeterReport.java	5 Sep 2005 04:19:08 -0000	1.9
  +++ JMeterReport.java	7 Sep 2005 02:50:15 -0000	1.10
  @@ -50,7 +50,7 @@
   import org.apache.jmeter.report.gui.action.ReportCheckDirty;
   import org.apache.jmeter.report.gui.tree.ReportTreeListener;
   import org.apache.jmeter.report.gui.tree.ReportTreeModel;
  -import org.apache.jmeter.report.writers.gui.AbstractReportWriterGui;
  +import org.apache.jmeter.report.writers.gui.HTMLReportWriterGui;
   import org.apache.jmeter.reporters.ResultCollector;
   import org.apache.jmeter.reporters.Summariser;
   import org.apache.jmeter.util.JMeterUtils;
  @@ -161,7 +161,7 @@
       private static final String[][] DEFAULT_ICONS = {
               { AbstractVisualizer.class.getName(), "org/apache/jmeter/images/meter.png" },
               { AbstractConfigGui.class.getName(), "org/apache/jmeter/images/testtubes.png" },
  -            { AbstractReportWriterGui.class.getName(), "org/apache/jmeter/images/new/pencil.png" },
  +            { HTMLReportWriterGui.class.getName(), "org/apache/jmeter/images/new/pencil.png" },
               { ReportPageGui.class.getName(), "org/apache/jmeter/images/new/scroll.png" },
               { ReportGui.class.getName(), "org/apache/jmeter/images/new/book.png" }
       };
  
  
  
  1.9       +5 -1      jakarta-jmeter/src/reports/org/apache/jmeter/control/gui/ReportGui.java
  
  Index: ReportGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/reports/org/apache/jmeter/control/gui/ReportGui.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ReportGui.java	5 Sep 2005 04:19:09 -0000	1.8
  +++ ReportGui.java	7 Sep 2005 02:50:15 -0000	1.9
  @@ -35,6 +35,7 @@
   import org.apache.jmeter.gui.util.ReportMenuFactory;
   import org.apache.jmeter.report.gui.AbstractReportGui;
   import org.apache.jmeter.report.gui.ReportPageGui;
  +import org.apache.jmeter.report.writers.gui.HTMLReportWriterGui;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.testelement.ReportPlan;
   import org.apache.jmeter.util.JMeterUtils;
  @@ -72,6 +73,9 @@
   		addMenu.add(ReportMenuFactory.makeMenuItem(new ReportPageGui().getStaticLabel(),
   				ReportPageGui.class.getName(),
   				"Add"));
  +		addMenu.add(ReportMenuFactory.makeMenuItem(new HTMLReportWriterGui().getStaticLabel(),
  +				HTMLReportWriterGui.class.getName(),
  +				"Add"));
   		addMenu.add(ReportMenuFactory.makeMenu(ReportMenuFactory.CONFIG_ELEMENTS, "Add"));
   		pop.add(addMenu);
   		ReportMenuFactory.addFileMenu(pop);
  
  
  
  1.6       +6 -1      jakarta-jmeter/src/reports/org/apache/jmeter/report/gui/tree/ReportTreeModel.java
  
  Index: ReportTreeModel.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/reports/org/apache/jmeter/report/gui/tree/ReportTreeModel.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ReportTreeModel.java	5 Sep 2005 04:19:08 -0000	1.5
  +++ ReportTreeModel.java	7 Sep 2005 02:50:15 -0000	1.6
  @@ -30,6 +30,8 @@
   import org.apache.jmeter.gui.ReportGuiPackage;
   import org.apache.jmeter.gui.JMeterGUIComponent;
   import org.apache.jmeter.report.gui.tree.ReportTreeNode;
  +import org.apache.jmeter.testelement.AbstractChart;
  +import org.apache.jmeter.testelement.AbstractTable;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.testelement.ReportPlan;
   import org.apache.jmeter.testelement.property.NullProperty;
  @@ -106,6 +108,9 @@
   		guicomp.configure(component);
   		guicomp.modifyTestElement(component);
   		ReportGuiPackage.getInstance().getCurrentGui(); // put the gui object back
  +		if (component instanceof AbstractChart) {
  +			((AbstractChart)component).setParentTable((AbstractTable)node.getUserObject());
  +		}
   		// to the way it was.
   		ReportTreeNode newNode = new ReportTreeNode(component, this);
   
  
  
  
  1.3       +35 -14    jakarta-jmeter/src/reports/org/apache/jmeter/report/gui/LineGraphGui.java
  
  Index: LineGraphGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/reports/org/apache/jmeter/report/gui/LineGraphGui.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- LineGraphGui.java	6 Sep 2005 04:28:32 -0000	1.2
  +++ LineGraphGui.java	7 Sep 2005 02:50:15 -0000	1.3
  @@ -20,29 +20,31 @@
   import java.awt.BorderLayout;
   import java.awt.Color;
   
  +import javax.swing.JLabel;
   import javax.swing.JPanel;
   import javax.swing.JPopupMenu;
  +import javax.swing.border.EmptyBorder;
   
  +import org.apache.jmeter.gui.util.HorizontalPanel;
   import org.apache.jmeter.gui.util.ReportMenuFactory;
   import org.apache.jmeter.gui.util.VerticalPanel;
  +import org.apache.jmeter.testelement.AbstractTable;
   import org.apache.jmeter.testelement.LineGraph;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.apache.jorphan.gui.JLabeledChoice;
   import org.apache.jorphan.gui.JLabeledTextField;
   
   public class LineGraphGui extends AbstractReportGui {
   
  -    private JLabeledTextField xAxis = 
  -        new JLabeledTextField(JMeterUtils.getResString("report_chart_x_axis"));
  -    
  -    private JLabeledTextField yAxis = 
  -        new JLabeledTextField(JMeterUtils.getResString("report_chart_y_axis"));
  -    
       private JLabeledTextField xAxisLabel = 
           new JLabeledTextField(JMeterUtils.getResString("report_chart_x_axis_label"));
       
       private JLabeledTextField yAxisLabel = 
           new JLabeledTextField(JMeterUtils.getResString("report_chart_y_axis_label"));
  +    
  +	private JLabeledChoice checkItems = null;
  +	private JLabeledChoice xItems = null;
   
       public LineGraphGui() {
   		super();
  @@ -71,13 +73,28 @@
           pane.add(this.getNamePanel(),BorderLayout.NORTH);
           
           VerticalPanel options = new VerticalPanel(Color.white);
  -        xAxis.setBackground(Color.white);
  -        yAxis.setBackground(Color.white);
           xAxisLabel.setBackground(Color.white);
           yAxisLabel.setBackground(Color.white);
  -        options.add(xAxis);
  -        options.add(yAxis);
  +
  +        JLabel xLabel = new JLabel(JMeterUtils.getResString("report_chart_x_axis"));
  +		HorizontalPanel xpanel = new HorizontalPanel(Color.white);
  +		xLabel.setBorder(new EmptyBorder(5,2,5,2));
  +        xItems = new JLabeledChoice();
  +        xItems.setBackground(Color.white);
  +        xItems.setValues(AbstractTable.xitems);
  +        xpanel.add(xLabel);
  +        xpanel.add(xItems);
  +        options.add(xpanel);
           options.add(xAxisLabel);
  +        
  +		JLabel yLabel = new JLabel(JMeterUtils.getResString("report_chart_y_axis"));
  +		HorizontalPanel ypanel = new HorizontalPanel(Color.white);
  +		yLabel.setBorder(new EmptyBorder(5,2,5,2));
  +        checkItems = new JLabeledChoice();
  +        checkItems.setBackground(Color.white);
  +        ypanel.add(yLabel);
  +        ypanel.add(checkItems);
  +        options.add(ypanel);
           options.add(yAxisLabel);
           
           add(pane,BorderLayout.NORTH);
  @@ -93,8 +110,8 @@
   	public void modifyTestElement(TestElement element) {
   		this.configureTestElement(element);
   		LineGraph bc = (LineGraph)element;
  -		bc.setXAxis(xAxis.getText());
  -		bc.setYAxis(yAxis.getText());
  +		bc.setXAxis(xItems.getText());
  +		bc.setYAxis(checkItems.getText());
   		bc.setXLabel(xAxisLabel.getText());
   		bc.setYLabel(yAxisLabel.getText());
   	}
  @@ -102,9 +119,13 @@
       public void configure(TestElement element) {
           super.configure(element);
           LineGraph bc = (LineGraph)element;
  -        xAxis.setText(bc.getXAxis());
  -        yAxis.setText(bc.getYAxis());
  +        xItems.setText(bc.getXAxis());
  +        checkItems.setText(bc.getYAxis());
           xAxisLabel.setText(bc.getXLabel());
           yAxisLabel.setText(bc.getYLabel());
  +        if (bc.getCheckedItems() != null && bc.getCheckedItems().size() > 0) {
  +        	String[] its = new String[bc.getCheckedItems().size()];
  +        	checkItems.setValues((String[])bc.getCheckedItems().toArray(its));
  +        }
       }
   }
  
  
  
  1.3       +17 -16    jakarta-jmeter/src/reports/org/apache/jmeter/report/gui/BarChartGui.java
  
  Index: BarChartGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/reports/org/apache/jmeter/report/gui/BarChartGui.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- BarChartGui.java	6 Sep 2005 04:28:32 -0000	1.2
  +++ BarChartGui.java	7 Sep 2005 02:50:15 -0000	1.3
  @@ -76,8 +76,17 @@
           VerticalPanel options = new VerticalPanel(Color.white);
           xAxisLabel.setBackground(Color.white);
           yAxisLabel.setBackground(Color.white);
  +
  +        JLabel xLabel = new JLabel(JMeterUtils.getResString("report_chart_x_axis"));
  +		HorizontalPanel xpanel = new HorizontalPanel(Color.white);
  +		xLabel.setBorder(new EmptyBorder(5,2,5,2));
  +        xItems = new JLabeledChoice();
  +        xItems.setBackground(Color.white);
  +        xItems.setValues(AbstractTable.xitems);
  +        xpanel.add(xLabel);
  +        xpanel.add(xItems);
  +        options.add(xpanel);
           options.add(xAxisLabel);
  -        options.add(yAxisLabel);
           
   		JLabel yLabel = new JLabel(JMeterUtils.getResString("report_chart_y_axis"));
   		HorizontalPanel ypanel = new HorizontalPanel(Color.white);
  @@ -87,16 +96,7 @@
           ypanel.add(yLabel);
           ypanel.add(checkItems);
           options.add(ypanel);
  -        
  -		JLabel xLabel = new JLabel(JMeterUtils.getResString("report_chart_x_axis"));
  -		HorizontalPanel xpanel = new HorizontalPanel(Color.white);
  -		xLabel.setBorder(new EmptyBorder(5,2,5,2));
  -        xItems = new JLabeledChoice();
  -        xItems.setBackground(Color.white);
  -        xItems.setValues(AbstractTable.xitems);
  -        xpanel.add(xLabel);
  -        xpanel.add(xItems);
  -        options.add(xpanel);
  +        options.add(yAxisLabel);
           
           add(pane,BorderLayout.NORTH);
           add(options,BorderLayout.CENTER);
  @@ -111,8 +111,8 @@
   	public void modifyTestElement(TestElement element) {
   		this.configureTestElement(element);
   		BarChart bc = (BarChart)element;
  -		// bc.setXAxis(xAxis.getText());
  -		// bc.setYAxis(yAxis.getText());
  +		bc.setXAxis(xItems.getText());
  +		bc.setYAxis(checkItems.getText());
   		bc.setXLabel(xAxisLabel.getText());
   		bc.setYLabel(yAxisLabel.getText());
   	}
  @@ -120,13 +120,14 @@
       public void configure(TestElement element) {
           super.configure(element);
           BarChart bc = (BarChart)element;
  -        // xAxis.setText(bc.getXAxis());
  -        // yAxis.setText(bc.getYAxis());
  +        xItems.setText(bc.getXAxis());
  +        checkItems.setText(bc.getYAxis());
           xAxisLabel.setText(bc.getXLabel());
           yAxisLabel.setText(bc.getYLabel());
  -        if (bc.getCheckedItems().size() > 0) {
  +        if (bc.getCheckedItems() != null && bc.getCheckedItems().size() > 0) {
           	String[] its = new String[bc.getCheckedItems().size()];
           	checkItems.setValues((String[])bc.getCheckedItems().toArray(its));
           }
       }
  +    
   }
  
  
  
  1.4       +7 -5      jakarta-jmeter/src/reports/org/apache/jmeter/testelement/AbstractChart.java
  
  Index: AbstractChart.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/reports/org/apache/jmeter/testelement/AbstractChart.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- AbstractChart.java	6 Sep 2005 04:28:31 -0000	1.3
  +++ AbstractChart.java	7 Sep 2005 02:50:15 -0000	1.4
  @@ -93,11 +93,13 @@
        */
       public List getCheckedItems() {
       	ArrayList checked = new ArrayList();
  -    	for (int idx=0; idx < AbstractTable.items.length; idx++) {
  -    		if (this.parent.getPropertyAsString(
  -    				AbstractTable.items[idx]).equals(String.valueOf(true))) {
  -    			checked.add(AbstractTable.items[idx]);
  -    		}
  +    	if ( this.parent != null) {
  +        	for (int idx=0; idx < AbstractTable.items.length; idx++) {
  +        		if (this.parent.getPropertyAsString(
  +        				AbstractTable.items[idx]).equals(String.valueOf(true))) {
  +        			checked.add(AbstractTable.items[idx]);
  +        		}
  +        	}
       	}
       	return checked;
       }
  
  
  
  1.1                  jakarta-jmeter/src/reports/org/apache/jmeter/gui/util/ReportFilePanel.java
  
  Index: ReportFilePanel.java
  ===================================================================
  // $Header: /home/cvs/jakarta-jmeter/src/reports/org/apache/jmeter/gui/util/ReportFilePanel.java,v 1.1 2005/09/07 02:50:15 woolfel Exp $
  /*
   * Copyright 2002-2004 The Apache Software Foundation.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *   http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   * 
   */
  
  package org.apache.jmeter.gui.util;
  
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  import java.util.Iterator;
  import java.util.LinkedList;
  import java.util.List;
  
  import javax.swing.BorderFactory;
  import javax.swing.Box;
  import javax.swing.JButton;
  import javax.swing.JFileChooser;
  import javax.swing.JLabel;
  import javax.swing.JTextField;
  import javax.swing.event.ChangeEvent;
  import javax.swing.event.ChangeListener;
  
  import org.apache.jmeter.util.JMeterUtils;
  
  /**
   * @author Michael Stover Created April 18, 2002
   * @version $Revision: 1.1 $ Last updated: $Date: 2005/09/07 02:50:15 $
   */
  public class ReportFilePanel extends HorizontalPanel implements ActionListener {
  	JTextField filename = new JTextField(20);
  
  	JLabel label = new JLabel(JMeterUtils.getResString("file_visualizer_filename"));
  
  	JButton browse = new JButton(JMeterUtils.getResString("browse"));
  
  	List listeners = new LinkedList();
  
  	String title;
  
  	String filetype;
  
  	/**
  	 * Constructor for the FilePanel object.
  	 */
  	public ReportFilePanel() {
  		title = "";
  		init();
  	}
  
  	public ReportFilePanel(String title) {
  		this.title = title;
  		init();
  	}
  
  	public ReportFilePanel(String title, String filetype) {
  		this(title);
  		this.filetype = filetype;
  	}
  
  	/**
  	 * Constructor for the FilePanel object.
  	 */
  	public ReportFilePanel(ChangeListener l, String title) {
  		this.title = title;
  		init();
  		listeners.add(l);
  	}
  
  	public void addChangeListener(ChangeListener l) {
  		listeners.add(l);
  	}
  
  	private void init() {
  		setBorder(BorderFactory.createTitledBorder(title));
  		add(label);
  		add(Box.createHorizontalStrut(5));
  		add(filename);
  		add(Box.createHorizontalStrut(5));
  		filename.addActionListener(this);
  		add(browse);
  		browse.setActionCommand("browse");
  		browse.addActionListener(this);
  
  	}
  
  	/**
  	 * If the gui needs to enable/disable the FilePanel, call the method.
  	 * 
  	 * @param enable
  	 */
  	public void enableFile(boolean enable) {
  		browse.setEnabled(enable);
  		filename.setEnabled(enable);
  	}
  
  	/**
  	 * Gets the filename attribute of the FilePanel object.
  	 * 
  	 * @return the filename value
  	 */
  	public String getFilename() {
  		return filename.getText();
  	}
  
  	/**
  	 * Sets the filename attribute of the FilePanel object.
  	 * 
  	 * @param f
  	 *            the new filename value
  	 */
  	public void setFilename(String f) {
  		filename.setText(f);
  	}
  
  	private void fireFileChanged() {
  		Iterator iter = listeners.iterator();
  		while (iter.hasNext()) {
  			((ChangeListener) iter.next()).stateChanged(new ChangeEvent(this));
  		}
  	}
  
  	public void actionPerformed(ActionEvent e) {
  		if (e.getActionCommand().equals("browse")) {
  			JFileChooser chooser = ReportFileDialoger.promptToOpenFile(new String[] { filetype });
  			if (chooser != null && chooser.getSelectedFile() != null) {
  				filename.setText(chooser.getSelectedFile().getPath());
  				fireFileChanged();
  			}
  		} else {
  			fireFileChanged();
  		}
  	}
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org