You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jmeter.apache.org by sebb <se...@gmail.com> on 2015/02/23 19:25:50 UTC

Re: svn commit: r1661007 - in /jmeter/trunk: src/components/org/apache/jmeter/control/ src/core/org/apache/jmeter/ src/core/org/apache/jmeter/gui/action/ src/core/org/apache/jmeter/save/ test/src/org/apache/jmeter/gui/action/ test/src/org/apache/jmeter/pro...

On 19 February 2015 at 21:30,  <pm...@apache.org> wrote:
> Author: pmouawad
> Date: Thu Feb 19 21:30:55 2015
> New Revision: 1661007
>
> URL: http://svn.apache.org/r1661007
> Log:
> Bug 57605 - When there is an error loading Test Plan, SaveService.loadTree returns null leading to NPE in callers
> Bugzilla Id: 57605

-1, see below.

> Modified:
>     jmeter/trunk/src/components/org/apache/jmeter/control/IncludeController.java
>     jmeter/trunk/src/core/org/apache/jmeter/JMeter.java
>     jmeter/trunk/src/core/org/apache/jmeter/gui/action/Load.java
>     jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java
>     jmeter/trunk/test/src/org/apache/jmeter/gui/action/TestLoad.java
>     jmeter/trunk/test/src/org/apache/jmeter/protocol/http/modifier/TestAnchorModifier.java
>     jmeter/trunk/test/src/org/apache/jmeter/save/TestSaveService.java
>     jmeter/trunk/xdocs/changes.xml
>
...
> Modified: jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java?rev=1661007&r1=1661006&r2=1661007&view=diff
> ==============================================================================
> --- jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java (original)
> +++ jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java Thu Feb 19 21:30:55 2015
> @@ -19,6 +19,7 @@
>  package org.apache.jmeter.save;
>
>  import java.io.BufferedInputStream;
> +import java.io.File;
>  import java.io.FileInputStream;
>  import java.io.IOException;
>  import java.io.InputStream;
> @@ -506,40 +507,44 @@ public class SaveService {
>
>      /**
>       * Load a Test tree (JMX file)
> -     * @param reader on the JMX file
> +     * @param file the JMX file
>       * @return the loaded tree
>       * @throws IOException if there is a problem reading the file or processing it
>       */
> -    public static HashTree loadTree(InputStream reader) throws IOException {
> -        if (!reader.markSupported()) {
> -            reader = new BufferedInputStream(reader);
> -        }
> -        reader.mark(Integer.MAX_VALUE);
> -        ScriptWrapper wrapper = null;
> +    public static HashTree loadTree(File file) throws IOException {

-1

This breaks the API.

The code needs to be fixed so that it continues to support the method:

 public static HashTree loadTree(InputStream reader) throws IOException

It should be easy enough to do this without much code duplication.

> +        log.info("Loading file: " + file);
> +        InputStream reader = null;
>          try {
> -            // Get the InputReader to use
> -            InputStreamReader inputStreamReader = getInputStreamReader(reader);
> -            wrapper = (ScriptWrapper) JMXSAVER.fromXML(inputStreamReader);
> -            inputStreamReader.close();
> -            if (wrapper == null){
> -                log.error("Problem loading XML: see above.");
> -                return null;
> +            reader = new FileInputStream(file);