woolfel     2005/08/30 21:52:13

  Modified:    src/reports/org/apache/jmeter/report/gui/tree
                        ReportTreeModel.java
               src/reports/org/apache/jmeter/report/engine
                        ValueReplacer.java
               src/reports/org/apache/jmeter JMeterReport.java
               src/reports/org/apache/jmeter/testelement ReportPage.java
                        ReportPlan.java
               src/reports/org/apache/jmeter/control/gui ReportGui.java
  Added:       src/reports/org/apache/jmeter/report/gui
                        AbstractReportGui.java ReportPageGui.java
  Removed:     src/reports/org/apache/jmeter/report/gui
                        AbstractReportPageGui.java
                        DefaultReportPageGui.java
               src/reports/org/apache/jmeter/report ReportPage.java
  Log:
  checking in the latest code for the reporting tool
  peter
  
  Revision  Changes    Path
  1.3       +1 -4      
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.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ReportTreeModel.java      27 Aug 2005 03:40:45 -0000      1.2
  +++ ReportTreeModel.java      31 Aug 2005 04:52:12 -0000      1.3
  @@ -82,9 +82,6 @@
                                ((TestElement) 
current.getUserObject()).addTestElement(item);
                                ((ReportPlan) 
current.getUserObject()).setName(item
                                                
.getPropertyAsString(TestElement.NAME));
  -                             ((ReportPlan) current.getUserObject())
  -                                             .setSerialized(item
  -                                                             
.getPropertyAsBoolean(ReportPlan.SERIALIZE_THREADGROUPS));
                                addSubTree(subTree.getTree(item), current);
                        } else {
                                addSubTree(subTree.getTree(item), 
addComponent(item, current));
  
  
  
  1.1                  
jakarta-jmeter/src/reports/org/apache/jmeter/report/gui/AbstractReportGui.java
  
  Index: AbstractReportGui.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.gui;
  
  import java.awt.Color;
  import java.awt.Component;
  import java.awt.Container;
  import java.awt.Font;
  import java.util.Arrays;
  import java.util.Collection;
  
  import javax.swing.JComponent;
  import javax.swing.JLabel;
  import javax.swing.JMenu;
  import javax.swing.JPopupMenu;
  
  import org.apache.jmeter.gui.AbstractJMeterGuiComponent;
  import org.apache.jmeter.gui.NamePanel;
  import org.apache.jmeter.gui.util.MenuFactory;
  import org.apache.jmeter.gui.util.ReportMenuFactory;
  import org.apache.jmeter.gui.util.VerticalPanel;
  import org.apache.jmeter.testelement.TestElement;
  import org.apache.jmeter.util.JMeterUtils;
  import org.apache.jmeter.visualizers.Printable;
  import org.apache.jorphan.logging.LoggingManager;
  import org.apache.log.Logger;
  
  /**
   * @author Peter Lin
   *
   * This is the abstract base for report gui's
   */
  public abstract class AbstractReportGui extends AbstractJMeterGuiComponent 
      implements Printable
  {
      /** Logging */
      private static Logger log = LoggingManager.getLoggerForClass();
  
        /**
         * 
         */
        public AbstractReportGui() {
          this.namePanel = new NamePanel();
          this.namePanel.setBackground(Color.white);
          setName(getStaticLabel());
        }
  
        /* (non-Javadoc)
         * @see org.apache.jmeter.gui.JMeterGUIComponent#getLabelResource()
         */
        public String getLabelResource() {
                return "report_page";
        }
  
      /**
      public void configureTestElement(TestElement element) {
          log.info("calling super.configureTestElement");
          super.configureTestElement(element);
      }
      **/
      
      /* (non-Javadoc)
         * @see org.apache.jmeter.gui.JMeterGUIComponent#createPopupMenu()
         */
        public JPopupMenu createPopupMenu() {
          JPopupMenu pop = new JPopupMenu();
          JMenu addMenu = new JMenu(JMeterUtils.getResString("Add"));
          addMenu.add(MenuFactory.makeMenu(MenuFactory.CONFIG_ELEMENTS, "Add"));
          addMenu.add(MenuFactory.makeMenu(MenuFactory.PRE_PROCESSORS, "Add"));
          addMenu.add(MenuFactory.makeMenu(MenuFactory.POST_PROCESSORS, "Add"));
          pop.add(addMenu);
          ReportMenuFactory.addFileMenu(pop);
          return pop;
        }
  
        /* (non-Javadoc)
         * @see org.apache.jmeter.gui.JMeterGUIComponent#getMenuCategories()
         */
        public Collection getMenuCategories() {
          return Arrays.asList(new String[] { ReportMenuFactory.SAMPLERS });
        }
  
      /**
       * This implementaion differs a bit from the normal jmeter gui. it uses
       * a white background instead of the default grey.
       * @return a panel containing the component title and name panel
       */
      protected Container makeTitlePanel() {
          VerticalPanel titlePanel = new VerticalPanel();
          titlePanel.setBackground(Color.white);
          titlePanel.add(createTitleLabel());
          titlePanel.add(getNamePanel());
          return titlePanel;
      }
  
      /**
       * This implementaion differs a bit from the normal jmeter gui. it uses
       * a white background instead of the default grey.
       */
      protected Component createTitleLabel() {
          JLabel titleLabel = new JLabel(getStaticLabel());
          Font curFont = titleLabel.getFont();
          titleLabel.setFont(curFont.deriveFont((float) curFont.getSize() + 4));
          titleLabel.setBackground(Color.white);
          return titleLabel;
      }
      /**
       * Subclasses need to over this method, if they wish to return something
       * other than the Visualizer itself.
       * 
       * @return
       */
      public JComponent getPrintableComponent() {
          return this;
      }
  }
  
  
  
  1.1                  
jakarta-jmeter/src/reports/org/apache/jmeter/report/gui/ReportPageGui.java
  
  Index: ReportPageGui.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.gui;
  
  import java.awt.BorderLayout;
  import java.awt.Color;
  
  import javax.swing.JCheckBox;
  import javax.swing.JPanel;
  
  import org.apache.jmeter.gui.util.VerticalPanel;
  import org.apache.jmeter.testelement.TestElement;
  import org.apache.jmeter.testelement.ReportPage;
  import org.apache.jmeter.util.JMeterUtils;
  import org.apache.jorphan.gui.JLabeledTextField;
  
  /**
   * @author pete
   *
   * TODO To change the template for this generated type comment go to
   * Window - Preferences - Java - Code Style - Code Templates
   */
  public class ReportPageGui extends AbstractReportGui {
      
      private JLabeledTextField pageTitle = new 
JLabeledTextField(JMeterUtils.getResString("report_page_title"));;
  
      private JCheckBox makeIndex = new 
JCheckBox(JMeterUtils.getResString("report_page_index"));
      
      private JLabeledTextField cssURL = 
          new 
JLabeledTextField(JMeterUtils.getResString("report_page_style_url"));
      
      private JLabeledTextField headerURL = 
          new JLabeledTextField(JMeterUtils.getResString("report_page_header"));
          
      private JLabeledTextField footerURL = 
          new JLabeledTextField(JMeterUtils.getResString("report_page_footer"));
  
      /**
         * 
         */
        public ReportPageGui() {
                init();
        }
  
      /**
       * Initialize the components and layout of this component.
       */
      private 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);
          
          VerticalPanel options = new VerticalPanel(Color.white);
          pageTitle.setBackground(Color.white);
          makeIndex.setBackground(Color.white);
          cssURL.setBackground(Color.white);
          headerURL.setBackground(Color.white);
          footerURL.setBackground(Color.white);
          options.add(pageTitle);
          options.add(makeIndex);
          options.add(cssURL);
          options.add(headerURL);
          options.add(footerURL);
          add(pane,BorderLayout.NORTH);
          add(options,BorderLayout.CENTER);
      }
  
      /* (non-Javadoc)
       * @see org.apache.jmeter.gui.JMeterGUIComponent#createTestElement()
       */
      public TestElement createTestElement() {
          ReportPage element = new ReportPage();
          modifyTestElement(element);
          return element;
      }
  
        /* (non-Javadoc)
         * @see 
org.apache.jmeter.gui.JMeterGUIComponent#modifyTestElement(org.apache.jmeter.testelement.TestElement)
         */
        public void modifyTestElement(TestElement element) {
          super.configureTestElement(element);
        }
  
  }
  
  
  
  1.2       +2 -12     
jakarta-jmeter/src/reports/org/apache/jmeter/report/engine/ValueReplacer.java
  
  Index: ValueReplacer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/reports/org/apache/jmeter/report/engine/ValueReplacer.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ValueReplacer.java        27 Aug 2005 03:40:45 -0000      1.1
  +++ ValueReplacer.java        31 Aug 2005 04:52:13 -0000      1.2
  @@ -18,26 +18,16 @@
   
   package org.apache.jmeter.report.engine;
   
  -import java.util.ArrayList;
   import java.util.Collection;
   import java.util.HashMap;
   import java.util.Iterator;
  -import java.util.LinkedList;
  -import java.util.List;
   import java.util.Map;
   
  -import junit.framework.TestCase;
   
   import org.apache.jmeter.functions.InvalidVariableException;
   import org.apache.jmeter.testelement.ReportPlan;
   import org.apache.jmeter.testelement.TestElement;
  -import org.apache.jmeter.testelement.property.CollectionProperty;
   import org.apache.jmeter.testelement.property.JMeterProperty;
  -import org.apache.jmeter.testelement.property.MultiProperty;
  -import org.apache.jmeter.testelement.property.PropertyIterator;
  -import org.apache.jmeter.testelement.property.StringProperty;
  -import org.apache.jmeter.threads.JMeterContextService;
  -import org.apache.jmeter.threads.JMeterVariables;
   import org.apache.jorphan.logging.LoggingManager;
   import org.apache.log.Logger;
   
  
  
  
  1.8       +2 -4      
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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- JMeterReport.java 29 Aug 2005 01:27:12 -0000      1.7
  +++ JMeterReport.java 31 Aug 2005 04:52:13 -0000      1.8
  @@ -44,7 +44,7 @@
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.testelement.TestListener;
   import org.apache.jmeter.testelement.ReportPlan;
  -import org.apache.jmeter.report.gui.AbstractReportPageGui;
  +import org.apache.jmeter.report.gui.ReportPageGui;
   import org.apache.jmeter.report.gui.action.ReportLoad;
   import org.apache.jmeter.report.gui.action.ReportActionRouter;
   import org.apache.jmeter.report.gui.action.ReportCheckDirty;
  @@ -162,7 +162,7 @@
               { 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" },
  -            { AbstractReportPageGui.class.getName(), 
"org/apache/jmeter/images/new/book.png" },
  +            { ReportPageGui.class.getName(), 
"org/apache/jmeter/images/new/scroll.png" },
               { ReportGui.class.getName(), 
"org/apache/jmeter/images/new/book.png" }
       };
       
  @@ -211,7 +211,6 @@
           ReportTreeModel treeModel = new ReportTreeModel();
           ReportTreeListener treeLis = new ReportTreeListener(treeModel);
           treeLis.setActionHandler(ReportActionRouter.getInstance());
  -        // NOTUSED: GuiPackage guiPack =
           ReportGuiPackage.getInstance(treeLis, treeModel);
           org.apache.jmeter.gui.ReportMainFrame main = 
               new 
org.apache.jmeter.gui.ReportMainFrame(ReportActionRouter.getInstance(),
  @@ -423,7 +422,6 @@
                   // This is done for GUI runs in JMeterTreeModel.addSubTree()
                   if (item instanceof ReportPlan) {
                       ReportPlan tp = (ReportPlan) item;
  -                    tp.setSerialized(tp.isSerialized());
                   }
                   // TODO handle ReplaceableControllers
                   // if (item instanceof ReplaceableController)
  
  
  
  1.2       +43 -11    
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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ReportPage.java   29 Aug 2005 01:27:11 -0000      1.1
  +++ ReportPage.java   31 Aug 2005 04:52:13 -0000      1.2
  @@ -1,4 +1,4 @@
  -//$Header$
  +//$Header:
   /*
    * Copyright 2005 The Apache Software Foundation.
    *
  @@ -17,19 +17,51 @@
    */
   package org.apache.jmeter.testelement;
   
  +import java.io.Serializable;
  +import org.apache.jmeter.report.gui.AbstractReportGui;
  +import org.apache.jmeter.testelement.AbstractTestElement;
  +import org.apache.jmeter.testelement.TestElement;
  +import org.apache.jorphan.logging.LoggingManager;
  +import org.apache.log.Logger;
  +
   /**
  + * ReportPage
  + * 
    * @author Peter Lin
  - *
  - * TODO To change the template for this generated type comment go to
  - * Window - Preferences - Java - Code Style - Code Templates
  + * @version $Id$
    */
  -public class ReportPage extends AbstractTestElement {
  +public class ReportPage extends AbstractTestElement implements Serializable {
  +    private final static Logger log = LoggingManager.getLoggerForClass();
  +
  +    public static final String REPORT_PAGE_TITLE = "ReportPage.title";
  +    public static final String REPORT_PAGE_INDEX = "ReportPage.index";
  +    
  +    /**
  +     * No-arg constructor.
  +     */
  +    public ReportPage() {
  +        // 
setProperty(TestElement.GUI_CLASS,AbstractReportGui.class.getName());
  +    }
   
  -     /**
  -      * 
  -      */
  -     public ReportPage() {
  -             super();
  -     }
  +    public static ReportPage createReportPage(String name) {
  +        ReportPage page = new ReportPage();
  +        
page.setProperty(TestElement.GUI_CLASS,AbstractReportGui.class.getName());
  +        return page;
  +    }
   
  +    public String getTitle() {
  +        return getPropertyAsString(REPORT_PAGE_TITLE);
  +    }
  +    
  +    public void setTitle(String title) {
  +        setProperty(REPORT_PAGE_TITLE,title);
  +    }
  +    
  +    public boolean getIndex() {
  +        return getPropertyAsBoolean(REPORT_PAGE_INDEX);
  +    }
  +    
  +    public void setIndex(String makeIndex) {
  +        setProperty(REPORT_PAGE_INDEX,makeIndex);
  +    }
   }
  
  
  
  1.5       +3 -18     
jakarta-jmeter/src/reports/org/apache/jmeter/testelement/ReportPlan.java
  
  Index: ReportPlan.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jmeter/src/reports/org/apache/jmeter/testelement/ReportPlan.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ReportPlan.java   29 Aug 2005 01:27:11 -0000      1.4
  +++ ReportPlan.java   31 Aug 2005 04:52:13 -0000      1.5
  @@ -49,8 +49,6 @@
   
        public final static String USER_DEFINED_VARIABLES = 
"ReportPlan.user_defined_variables";
   
  -     public final static String SERIALIZE_THREADGROUPS = 
"ReportPlan.serialize_threadgroups";
  -
        public final static String COMMENTS = "ReportPlan.comments";
   
        public final static String BASEDIR = "basedir";
  @@ -71,7 +69,7 @@
        }
   
        public ReportPlan() {
  -             // this("Test Plan");
  +             this(JMeterUtils.getResString("report_plan"));
        }
   
        public ReportPlan(String name) {
  @@ -114,24 +112,11 @@
                return functionalMode;
        }
   
  -     public void setSerialized(boolean serializeTGs) {
  -             setProperty(new BooleanProperty(SERIALIZE_THREADGROUPS, 
serializeTGs));
  -     }
  -
  -     /**
  -      * Fetch the serialize threadgroups property
  -      * 
  -      * @return serialized setting
  -      */
  -     public boolean isSerialized() {
  -             return getPropertyAsBoolean(SERIALIZE_THREADGROUPS);
  -     }
  -
        public void addParameter(String name, String value) {
                getVariables().addArgument(name, value);
        }
   
  -     public static ReportPlan createTestPlan(String name) {
  +     public static ReportPlan createReportPlan(String name) {
                if (plan == null) {
                        if (name == null) {
                                plan = new ReportPlan();
  
  
  
  1.6       +15 -24    
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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ReportGui.java    29 Aug 2005 01:27:12 -0000      1.5
  +++ ReportGui.java    31 Aug 2005 04:52:13 -0000      1.6
  @@ -18,6 +18,7 @@
   
   package org.apache.jmeter.control.gui;
   
  +import java.awt.Color;
   import java.awt.BorderLayout;
   import java.awt.Container;
   import java.util.Collection;
  @@ -27,18 +28,15 @@
   import javax.swing.JMenu;
   import javax.swing.JPanel;
   import javax.swing.JPopupMenu;
  -import javax.swing.JTextArea;
  +import javax.swing.JTextField;
   
   import org.apache.jmeter.config.Arguments;
   import org.apache.jmeter.config.gui.ArgumentsPanel;
  -import org.apache.jmeter.gui.AbstractJMeterGuiComponent;
   import org.apache.jmeter.gui.util.ReportMenuFactory;
  -import org.apache.jmeter.gui.util.VerticalPanel;
  -import org.apache.jmeter.report.gui.DefaultReportPageGui;
  -import org.apache.jmeter.testelement.AbstractTestElement;
  +import org.apache.jmeter.report.gui.AbstractReportGui;
  +import org.apache.jmeter.report.gui.ReportPageGui;
   import org.apache.jmeter.testelement.TestElement;
   import org.apache.jmeter.testelement.ReportPlan;
  -import org.apache.jmeter.threads.gui.ThreadGroupGui;
   import org.apache.jmeter.util.JMeterUtils;
   
   /**
  @@ -47,7 +45,7 @@
    * 
    * @version $Revision$ Last Updated: $Date$
    */
  -public class ReportGui extends AbstractJMeterGuiComponent {
  +public class ReportGui extends AbstractReportGui {
   
        private JCheckBox serializedMode;
   
  @@ -55,7 +53,7 @@
        private ArgumentsPanel argsPanel;
   
        /** A panel to contain comments on the test plan. */
  -     private JTextArea commentPanel;
  +     private JTextField commentPanel;
   
        /**
         * Create a new TestPlanGui.
  @@ -71,7 +69,7 @@
        public JPopupMenu createPopupMenu() {
                JPopupMenu pop = new JPopupMenu();
                JMenu addMenu = new JMenu(JMeterUtils.getResString("Add"));
  -             addMenu.add(ReportMenuFactory.makeMenuItem(new 
DefaultReportPageGui().getStaticLabel(), ThreadGroupGui.class.getName(),
  +             addMenu.add(ReportMenuFactory.makeMenuItem(new 
ReportPageGui().getStaticLabel(), ReportPageGui.class.getName(),
                                "Add"));
                
addMenu.add(ReportMenuFactory.makeMenu(ReportMenuFactory.CONFIG_ELEMENTS, 
"Add"));
                pop.add(addMenu);
  @@ -91,7 +89,6 @@
                super.configureTestElement(plan);
                if (plan instanceof ReportPlan) {
                        ReportPlan tp = (ReportPlan) plan;
  -                     tp.setSerialized(serializedMode.isSelected());
                        tp.setUserDefinedVariables((Arguments) 
argsPanel.createTestElement());
                        tp.setProperty(ReportPlan.COMMENTS, 
commentPanel.getText());
                }
  @@ -125,8 +122,6 @@
        public void configure(TestElement el) {
                super.configure(el);
   
  -             serializedMode.setSelected(((AbstractTestElement) 
el).getPropertyAsBoolean(ReportPlan.SERIALIZE_THREADGROUPS));
  -
                if (el.getProperty(ReportPlan.USER_DEFINED_VARIABLES) != null) {
                        argsPanel.configure((Arguments) 
el.getProperty(ReportPlan.USER_DEFINED_VARIABLES).getObjectValue());
                }
  @@ -139,15 +134,18 @@
         * @return a panel for user-defined variables
         */
        private JPanel createVariablePanel() {
  -             argsPanel = new 
ArgumentsPanel(JMeterUtils.getResString("user_defined_variables"));
  -
  +             argsPanel = 
  +            new 
ArgumentsPanel(JMeterUtils.getResString("user_defined_variables"),
  +                    Color.white);
                return argsPanel;
        }
   
        private Container createCommentPanel() {
                Container panel = makeTitlePanel();
  -             commentPanel = new JTextArea();
  +             commentPanel = new JTextField();
  +        commentPanel.setBackground(Color.white);
                JLabel label = new 
JLabel(JMeterUtils.getResString("testplan_comments"));
  +        label.setBackground(Color.white);
                label.setLabelFor(commentPanel);
                panel.add(label);
                panel.add(commentPanel);
  @@ -160,15 +158,8 @@
        private void init() {
                setLayout(new BorderLayout(10, 10));
                setBorder(makeBorder());
  -
  +        setBackground(Color.white);
                add(createCommentPanel(), BorderLayout.NORTH);
  -
                add(createVariablePanel(), BorderLayout.CENTER);
  -
  -             VerticalPanel southPanel = new VerticalPanel();
  -             serializedMode = new 
JCheckBox(JMeterUtils.getResString("testplan.serialized"));
  -             southPanel.add(serializedMode);
  -
  -             add(southPanel, BorderLayout.SOUTH);
        }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to