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/08/31 19:36:46 UTC

cvs commit: jakarta-jmeter/src/reports/org/apache/jmeter/report/gui ReportPageGui.java

woolfel     2005/08/31 10:36:46

  Modified:    src/reports/org/apache/jmeter/report/gui/action
                        ReportSaveGraphics.java ReportSave.java
                        ReportLoad.java
               src/reports/org/apache/jmeter/testelement ReportPage.java
               src/reports/org/apache/jmeter/report/gui ReportPageGui.java
  Added:       src/reports/org/apache/jmeter/gui/util
                        ReportFileDialoger.java
  Log:
  more updates to the reporting tool
  peter
  
  Revision  Changes    Path
  1.3       +3 -3      jakarta-jmeter/src/reports/org/apache/jmeter/report/gui/action/ReportSaveGraphics.java
  
  Index: ReportSaveGraphics.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/reports/org/apache/jmeter/report/gui/action/ReportSaveGraphics.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ReportSaveGraphics.java	27 Aug 2005 03:40:45 -0000	1.2
  +++ ReportSaveGraphics.java	31 Aug 2005 17:36:46 -0000	1.3
  @@ -29,7 +29,7 @@
   import org.apache.jmeter.gui.action.Command;
   import org.apache.jmeter.gui.JMeterGUIComponent;
   import org.apache.jmeter.gui.ReportGuiPackage;
  -import org.apache.jmeter.gui.util.FileDialoger;
  +import org.apache.jmeter.gui.util.ReportFileDialoger;
   import org.apache.jmeter.save.SaveGraphicsService;
   import org.apache.jmeter.visualizers.Printable;
   import org.apache.jorphan.logging.LoggingManager;
  @@ -83,7 +83,7 @@
   				comp = ((Printable) component).getPrintableComponent();
   
   				String filename;
  -				JFileChooser chooser = FileDialoger.promptToSaveFile(ReportGuiPackage.getInstance().getTreeListener()
  +				JFileChooser chooser = ReportFileDialoger.promptToSaveFile(ReportGuiPackage.getInstance().getTreeListener()
   						.getCurrentNode().getName(), extensions);
   				if (chooser == null) {
   					return;
  
  
  
  1.2       +6 -4      jakarta-jmeter/src/reports/org/apache/jmeter/report/gui/action/ReportSave.java
  
  Index: ReportSave.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/reports/org/apache/jmeter/report/gui/action/ReportSave.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ReportSave.java	17 Aug 2005 04:22:31 -0000	1.1
  +++ ReportSave.java	31 Aug 2005 17:36:46 -0000	1.2
  @@ -32,7 +32,7 @@
   import org.apache.jmeter.gui.ReportGuiPackage;
   import org.apache.jmeter.report.gui.action.ReportActionRouter;
   import org.apache.jmeter.gui.action.Command;
  -import org.apache.jmeter.gui.util.FileDialoger;
  +import org.apache.jmeter.gui.util.ReportFileDialoger;
   import org.apache.jmeter.report.gui.tree.ReportTreeNode;
   import org.apache.jmeter.save.OldSaveService;
   import org.apache.jmeter.save.SaveService;
  @@ -91,9 +91,9 @@
   
   		String updateFile = ReportGuiPackage.getInstance().getTestPlanFile();
   		if (!SAVE.equals(e.getActionCommand()) || updateFile == null) {
  -			JFileChooser chooser = FileDialoger.promptToSaveFile(ReportGuiPackage.getInstance().getTreeListener()
  +			JFileChooser chooser = ReportFileDialoger.promptToSaveFile(ReportGuiPackage.getInstance().getTreeListener()
   					.getCurrentNode().getName()
  -					+ ".jmx");
  +					+ ".jmr");
   			if (chooser == null) {
   				return;
   			}
  @@ -116,9 +116,11 @@
   			if (SaveService.isSaveTestPlanFormat20()) {
   				ostream = new FileOutputStream(updateFile);
   				OldSaveService.saveSubTree(subTree, ostream);
  +                log.info("saveSubTree");
   			} else {
   				writer = new FileWriter(updateFile);
   				SaveService.saveTree(subTree, writer);
  +                log.info("saveTree");
   			}
   		} catch (Throwable ex) {
   			ReportGuiPackage.getInstance().setTestPlanFile(null);
  
  
  
  1.2       +3 -3      jakarta-jmeter/src/reports/org/apache/jmeter/report/gui/action/ReportLoad.java
  
  Index: ReportLoad.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/reports/org/apache/jmeter/report/gui/action/ReportLoad.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ReportLoad.java	25 Aug 2005 22:35:06 -0000	1.1
  +++ ReportLoad.java	31 Aug 2005 17:36:46 -0000	1.2
  @@ -31,7 +31,7 @@
   import org.apache.jmeter.exceptions.IllegalUserActionException;
   import org.apache.jmeter.gui.ReportGuiPackage;
   import org.apache.jmeter.gui.action.Command;
  -import org.apache.jmeter.gui.util.FileDialoger;
  +import org.apache.jmeter.gui.util.ReportFileDialoger;
   import org.apache.jmeter.report.gui.tree.ReportTreeNode;
   import org.apache.jmeter.save.SaveService;
   import org.apache.jmeter.services.FileServer;
  @@ -74,8 +74,8 @@
   					new ActionEvent(e.getSource(), e.getID(), "close"));
   		}
   
  -		JFileChooser chooser = FileDialoger
  -				.promptToOpenFile(new String[] { ".jmx" });
  +		JFileChooser chooser = ReportFileDialoger
  +				.promptToOpenFile(new String[] { ".jmr" });
   		if (chooser == null) {
   			return;
   		}
  
  
  
  1.1                  jakarta-jmeter/src/reports/org/apache/jmeter/gui/util/ReportFileDialoger.java
  
  Index: ReportFileDialoger.java
  ===================================================================
  // $Header: /home/cvs/jakarta-jmeter/src/reports/org/apache/jmeter/gui/util/ReportFileDialoger.java,v 1.1 2005/08/31 17:36:46 woolfel Exp $
  /*
   * Copyright 2001-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.gui.util;
  
  import java.io.File;
  
  import javax.swing.JFileChooser;
  import javax.swing.filechooser.FileFilter;
  
  import org.apache.jmeter.gui.ReportGuiPackage;
  import org.apache.jmeter.gui.JMeterFileFilter;
  import org.apache.jmeter.util.JMeterUtils;
  
  /**
   * @author Michael Stover
   * @version $Revision: 1.1 $
   */
  public final class ReportFileDialoger {
  	/**
  	 * The last directory visited by the user while choosing Files.
  	 */
  	private static String lastJFCDirectory = null;
  
  	private static JFileChooser jfc = new JFileChooser();
  
  	/**
  	 * Prevent instantiation of utility class.
  	 */
  	private ReportFileDialoger() {
  	}
  
  	/**
  	 * Prompts the user to choose a file from their filesystems for our own
  	 * devious uses. This method maintains the last directory the user visited
  	 * before dismissing the dialog. This does NOT imply they actually chose a
  	 * file from that directory, only that they closed the dialog there. It is
  	 * the caller's responsibility to check to see if the selected file is
  	 * non-null.
  	 * 
  	 * @return the JFileChooser that interacted with the user, after they are
  	 *         finished using it (accept or otherwise).
  	 */
  	public static JFileChooser promptToOpenFile(String[] exts) {
  		// JFileChooser jfc = null;
  
  		if (lastJFCDirectory == null) {
  			String start = JMeterUtils.getPropDefault("user.dir", "");
  
  			if (!start.equals("")) {
  				jfc.setCurrentDirectory(new File(start));
  			}
  		}
  		clearFileFilters();
  		jfc.addChoosableFileFilter(new JMeterFileFilter(exts));
  		int retVal = jfc.showOpenDialog(ReportGuiPackage.getInstance().getMainFrame());
  		lastJFCDirectory = jfc.getCurrentDirectory().getAbsolutePath();
  
  		if (retVal == JFileChooser.APPROVE_OPTION) {
  			return jfc;
  		} else {
  			return null;
  		}
  	}
  
  	private static void clearFileFilters() {
  		FileFilter[] filters = jfc.getChoosableFileFilters();
  		for (int x = 0; x < filters.length; x++) {
  			jfc.removeChoosableFileFilter(filters[x]);
  		}
  	}
  
  	public static JFileChooser promptToOpenFile() {
  		return promptToOpenFile(new String[0]);
  	}
  
  	/**
  	 * Prompts the user to choose a file from their filesystems for our own
  	 * devious uses. This method maintains the last directory the user visited
  	 * before dismissing the dialog. This does NOT imply they actually chose a
  	 * file from that directory, only that they closed the dialog there. It is
  	 * the caller's responsibility to check to see if the selected file is
  	 * non-null.
  	 * 
  	 * @return the JFileChooser that interacted with the user, after they are
  	 *         finished using it (accept or otherwise).
  	 * @see #promptToOpenFile
  	 */
  	public static JFileChooser promptToSaveFile(String filename) {
  		return promptToSaveFile(filename, null);
  	}
  
  	/**
  	 * Get a JFileChooser with a new FileFilter.
  	 * 
  	 * @param filename
  	 * @param filters
  	 * @return
  	 */
  	public static JFileChooser promptToSaveFile(String filename, String[] extensions) {
  		if (lastJFCDirectory == null) {
  			String start = JMeterUtils.getPropDefault("user.dir", "");
  			if (!start.equals("")) {
  				jfc = new JFileChooser(new File(start));
  			}
  			lastJFCDirectory = jfc.getCurrentDirectory().getAbsolutePath();
  		}
  		String ext = ".jmx";
  		if (filename != null) {
  			jfc.setSelectedFile(new File(lastJFCDirectory, filename));
  			int i = -1;
  			if ((i = filename.lastIndexOf(".")) > -1) {
  				ext = filename.substring(i);
  			}
  		}
  		clearFileFilters();
  		if (extensions != null) {
  			jfc.addChoosableFileFilter(new JMeterFileFilter(extensions));
  		} else {
  			jfc.addChoosableFileFilter(new JMeterFileFilter(new String[] { ext }));
  		}
  
  		int retVal = jfc.showSaveDialog(ReportGuiPackage.getInstance().getMainFrame());
  		lastJFCDirectory = jfc.getCurrentDirectory().getAbsolutePath();
  		if (retVal == JFileChooser.APPROVE_OPTION) {
  			return jfc;
  		} else {
  			return null;
  		}
  	}
  }
  
  
  
  1.3       +37 -1     jakarta-jmeter/src/reports/org/apache/jmeter/testelement/ReportPage.java
  
  Index: ReportPage.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/reports/org/apache/jmeter/testelement/ReportPage.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ReportPage.java	31 Aug 2005 04:52:13 -0000	1.2
  +++ ReportPage.java	31 Aug 2005 17:36:46 -0000	1.3
  @@ -35,6 +35,10 @@
   
       public static final String REPORT_PAGE_TITLE = "ReportPage.title";
       public static final String REPORT_PAGE_INDEX = "ReportPage.index";
  +    public static final String REPORT_PAGE_CSS = "ReportPage.css";
  +    public static final String REPORT_PAGE_HEADER = "ReportPage.header";
  +    public static final String REPORT_PAGE_FOOTER = "ReportPage.footer";
  +    public static final String REPORT_PAGE_INTRO = "ReportPage.intro";
       
       /**
        * No-arg constructor.
  @@ -64,4 +68,36 @@
       public void setIndex(String makeIndex) {
           setProperty(REPORT_PAGE_INDEX,makeIndex);
       }
  +    
  +    public String getCSS() {
  +        return getPropertyAsString(REPORT_PAGE_CSS);
  +    }
  +    
  +    public void setCSS(String css) {
  +        setProperty(REPORT_PAGE_CSS,css);
  +    }
  +    
  +    public String getHeaderURL() {
  +        return getPropertyAsString(REPORT_PAGE_HEADER);
  +    }
  +    
  +    public void setHeaderURL(String url) {
  +        setProperty(REPORT_PAGE_HEADER,url);
  +    }
  +    
  +    public String getFooterURL() {
  +        return getPropertyAsString(REPORT_PAGE_FOOTER);
  +    }
  +    
  +    public void setFooterURL(String url) {
  +        setProperty(REPORT_PAGE_FOOTER,url);
  +    }
  +    
  +    public String getIntroduction() {
  +        return getPropertyAsString(REPORT_PAGE_INTRO);
  +    }
  +    
  +    public void setIntroduction(String intro) {
  +        setProperty(REPORT_PAGE_INTRO,intro);
  +    }
   }
  
  
  
  1.2       +22 -0     jakarta-jmeter/src/reports/org/apache/jmeter/report/gui/ReportPageGui.java
  
  Index: ReportPageGui.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jmeter/src/reports/org/apache/jmeter/report/gui/ReportPageGui.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ReportPageGui.java	31 Aug 2005 04:52:12 -0000	1.1
  +++ ReportPageGui.java	31 Aug 2005 17:36:46 -0000	1.2
  @@ -27,6 +27,7 @@
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.testelement.ReportPage;
   import org.apache.jmeter.util.JMeterUtils;
  +import org.apache.jorphan.gui.JLabeledTextArea;
   import org.apache.jorphan.gui.JLabeledTextField;
   
   /**
  @@ -50,6 +51,8 @@
       private JLabeledTextField footerURL = 
           new JLabeledTextField(JMeterUtils.getResString("report_page_footer"));
   
  +    private JLabeledTextArea introduction = 
  +        new JLabeledTextArea(JMeterUtils.getResString("report_page_intro"), null);
       /**
   	 * 
   	 */
  @@ -76,11 +79,13 @@
           cssURL.setBackground(Color.white);
           headerURL.setBackground(Color.white);
           footerURL.setBackground(Color.white);
  +        introduction.setBackground(Color.white);
           options.add(pageTitle);
           options.add(makeIndex);
           options.add(cssURL);
           options.add(headerURL);
           options.add(footerURL);
  +        options.add(introduction);
           add(pane,BorderLayout.NORTH);
           add(options,BorderLayout.CENTER);
       }
  @@ -99,6 +104,23 @@
   	 */
   	public void modifyTestElement(TestElement element) {
           super.configureTestElement(element);
  +        ReportPage page = (ReportPage)element;
  +        page.setCSS(cssURL.getText());
  +        page.setFooterURL(footerURL.getText());
  +        page.setHeaderURL(headerURL.getText());
  +        page.setIndex(String.valueOf(makeIndex.isSelected()));
  +        page.setIntroduction(introduction.getText());
  +        page.setTitle(pageTitle.getText());
   	}
   
  +    public void configure(TestElement element) {
  +        super.configure(element);
  +        ReportPage page = (ReportPage)element;
  +        cssURL.setText(page.getCSS());
  +        footerURL.setText(page.getFooterURL());
  +        headerURL.setText(page.getHeaderURL());
  +        makeIndex.setSelected(page.getIndex());
  +        introduction.setText(page.getIntroduction());
  +        pageTitle.setText(page.getTitle());
  +    }
   }
  
  
  

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