Actually it was a CI build that noticed it

On 27 October 2013 08:30, Philippe Mouawad <[email protected]> wrote:
> Good catch, forgot to commit
>
> On Sunday, October 27, 2013, sebb wrote:
>
>> On 26 October 2013 23:32,  <[email protected] <javascript:;>> wrote:
>> > Author: pmouawad
>> > Date: Sat Oct 26 22:32:44 2013
>> > New Revision: 1536042
>> >
>> > URL: http://svn.apache.org/r1536042
>> > Log:
>> > Bug 55693 - Add a "Save as Test Fragment" option
>> > Bugzilla Id: 55693
>> >
>> > Modified:
>> >     jmeter/trunk/src/core/org/apache/jmeter/gui/action/Save.java
>> >
>> > Modified: jmeter/trunk/src/core/org/apache/jmeter/gui/action/Save.java
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/gui/action/Save.java?rev=1536042&r1=1536041&r2=1536042&view=diff
>> >
>> ==============================================================================
>> > --- jmeter/trunk/src/core/org/apache/jmeter/gui/action/Save.java
>> (original)
>> > +++ jmeter/trunk/src/core/org/apache/jmeter/gui/action/Save.java Sat Oct
>> 26 22:32:44 2013
>> > @@ -37,6 +37,7 @@ import org.apache.jmeter.gui.tree.JMeter
>> >  import org.apache.jmeter.gui.util.FileDialoger;
>> >  import org.apache.jmeter.save.SaveService;
>> >  import org.apache.jmeter.testelement.TestElement;
>> > +import org.apache.jmeter.testelement.TestPlan;
>> >  import org.apache.jmeter.testelement.WorkBench;
>> >  import org.apache.jmeter.util.JMeterUtils;
>> >  import org.apache.jorphan.collections.HashTree;
>> > @@ -100,15 +101,22 @@ public class Save implements Command {
>> >          }
>> >          else if
>> (e.getActionCommand().equals(ActionNames.SAVE_AS_TEST_FRAGMENT)) {
>> >              JMeterTreeNode[] nodes =
>> GuiPackage.getInstance().getTreeListener().getSelectedNodes();
>> > -            subTree = GuiPackage.getInstance().getCurrentSubTree();
>> > -
>> > -            TestElement element =
>> GuiPackage.getInstance().createTestElement(TestFragmentControllerGui.class.getName());
>> > -            HashTree hashTree = new ListedHashTree();
>> > -            HashTree tfTree = hashTree.add(new JMeterTreeNode(element,
>> null));
>> > -            for (int i = 0; i < nodes.length; i++) {
>> > -                tfTree.add(nodes[i]);
>> > +            if(checkAcceptableForTestFragment(nodes)) {
>> > +                subTree = GuiPackage.getInstance().getCurrentSubTree();
>> > +
>> > +                TestElement element =
>> GuiPackage.getInstance().createTestElement(TestFragmentControllerGui.class.getName());
>> > +                HashTree hashTree = new ListedHashTree();
>> > +                HashTree tfTree = hashTree.add(new
>> JMeterTreeNode(element, null));
>> > +                for (int i = 0; i < nodes.length; i++) {
>> > +                    tfTree.add(nodes[i]);
>> > +                }
>> > +                subTree = hashTree;
>> > +            } else {
>> > +                JMeterUtils.reportErrorToUser(
>> > +
>>  JMeterUtils.getResString("save_as_test_fragment_error"), // $NON-NLS-1$
>>
>> The above needs to be added to the properties files.
>>
>> > +
>>  JMeterUtils.getResString("save_as_test_fragment")); // $NON-NLS-1$
>> > +                return;
>> >              }
>> > -            subTree = hashTree;
>> >          } else {
>> >              fullSave = true;
>> >              HashTree testPlan =
>> GuiPackage.getInstance().getTreeModel().getTestPlan();
>> > @@ -181,6 +189,21 @@ public class Save implements Command {
>> >          GuiPackage.getInstance().updateCurrentGui();
>> >      }
>> >
>> > +    /**
>> > +     * Check nodes does not contain a node of type TestPlan or
>> ThreadGroup
>> > +     * @param nodes
>> > +     */
>> > +    private static final boolean
>> checkAcceptableForTestFragment(JMeterTreeNode[] nodes) {
>> > +        for (int i = 0; i < nodes.length; i++) {
>> > +            Object userObject = nodes[i].getUserObject();
>> > +            if(userObject instanceof
>> org.apache.jmeter.threads.ThreadGroup ||
>> > +                    userObject instanceof TestPlan) {
>> > +                return false;
>> > +            }
>> > +        }
>> > +        return true;
>> > +    }
>> > +
>> >      // package protected to allow access from test code
>> >      void convertSubTree(HashTree tree) {
>> >          Iterator<Object> iter = new
>> LinkedList<Object>(tree.list()).iterator();
>> >
>> >
>>
>
>
> --
> Cordialement.
> Philippe Mouawad.

Reply via email to