Fixed

On Wed, Dec 2, 2015 at 7:56 PM, Philippe Mouawad <[email protected]
> wrote:

> Hi,
> Sorry
> If possible could you fix it ?
> Otherwise I 'll have a look in upcoming days.
> Thanks
>
>
> On Wednesday, December 2, 2015, sebb <[email protected]> wrote:
>
>> On 2 December 2015 at 12:16,  <[email protected]> wrote:
>> > Author: pmouawad
>> > Date: Wed Dec  2 12:16:14 2015
>> > New Revision: 1717618
>> >
>> > URL: http://svn.apache.org/viewvc?rev=1717618&view=rev
>> > Log:
>> > Bug 58679 - Replace the xpp pull parser in xstream with a java6+
>> standard solution
>> > Bugzilla Id: 58679
>>
>> The log message does not agree with the changes.
>>
>> Please fix.
>>
>> > Modified:
>> >
>>  
>> jmeter/trunk/src/components/org/apache/jmeter/control/gui/ModuleControllerGui.java
>> >     jmeter/trunk/xdocs/changes.xml
>> >
>> > Modified:
>> jmeter/trunk/src/components/org/apache/jmeter/control/gui/ModuleControllerGui.java
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/control/gui/ModuleControllerGui.java?rev=1717618&r1=1717617&r2=1717618&view=diff
>> >
>> ==============================================================================
>> > ---
>> jmeter/trunk/src/components/org/apache/jmeter/control/gui/ModuleControllerGui.java
>> (original)
>> > +++
>> jmeter/trunk/src/components/org/apache/jmeter/control/gui/ModuleControllerGui.java
>> Wed Dec  2 12:16:14 2015
>> > @@ -43,6 +43,7 @@ import javax.swing.event.TreeSelectionLi
>> >  import javax.swing.tree.DefaultMutableTreeNode;
>> >  import javax.swing.tree.DefaultTreeCellRenderer;
>> >  import javax.swing.tree.DefaultTreeModel;
>> > +import javax.swing.tree.DefaultTreeSelectionModel;
>> >  import javax.swing.tree.TreeNode;
>> >  import javax.swing.tree.TreePath;
>> >  import javax.swing.tree.TreeSelectionModel;
>> > @@ -112,7 +113,60 @@ public class ModuleControllerGui extends
>> >          moduleToRunTreeModel = new DefaultTreeModel(new
>> DefaultMutableTreeNode());
>> >          moduleToRunTreeNodes = new JTree(moduleToRunTreeModel);
>> >          moduleToRunTreeNodes.setCellRenderer(new
>> ModuleControllerCellRenderer());
>> > -
>> moduleToRunTreeNodes.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
>> > +
>> > +        // this custom TreeSelectionModel forbid the selection of some
>> test elements (test plan, thread group, etc..)
>> > +        TreeSelectionModel tsm =  new DefaultTreeSelectionModel() {
>> > +
>> > +            private static final long serialVersionUID =
>> 4062816201792954617L;
>> > +
>> > +            private boolean
>> isSelectedPathAllowed(DefaultMutableTreeNode lastSelected) {
>> > +                JMeterTreeNode tn = null;
>> > +                if (lastSelected != null &&
>> lastSelected.getUserObject() instanceof JMeterTreeNode) {
>> > +                    tn = (JMeterTreeNode) lastSelected.getUserObject();
>> > +                }
>> > +                if(tn != null &&
>> isTestElementAllowed(tn.getTestElement())) {
>> > +                    return true;
>> > +                }
>> > +
>> > +                return false;
>> > +            }
>> > +
>> > +            @Override
>> > +            public void setSelectionPath(TreePath path) {
>> > +                DefaultMutableTreeNode lastSelected =
>> (DefaultMutableTreeNode) path.getLastPathComponent();
>> > +
>> > +                if(isSelectedPathAllowed(lastSelected)) {
>> > +                    super.setSelectionPath(path);
>> > +                }
>> > +            }
>> > +
>> > +            @Override
>> > +            public void setSelectionPaths(TreePath[] pPaths) {
>> > +                DefaultMutableTreeNode lastSelected =
>> (DefaultMutableTreeNode) pPaths[pPaths.length-1].getLastPathComponent();
>> > +                if(isSelectedPathAllowed(lastSelected)) {
>> > +                    super.setSelectionPaths(pPaths);
>> > +                }
>> > +            }
>> > +
>> > +            @Override
>> > +            public void addSelectionPath(TreePath path) {
>> > +                DefaultMutableTreeNode lastSelected =
>> (DefaultMutableTreeNode) path.getLastPathComponent();
>> > +                if(isSelectedPathAllowed(lastSelected)) {
>> > +                    super.addSelectionPath(path);
>> > +                }
>> > +            }
>> > +
>> > +            @Override
>> > +            public void addSelectionPaths(TreePath[] paths) {
>> > +                DefaultMutableTreeNode lastSelected =
>> (DefaultMutableTreeNode) paths[paths.length-1].getLastPathComponent();
>> > +                if(isSelectedPathAllowed(lastSelected)) {
>> > +                    super.addSelectionPaths(paths);
>> > +                }
>> > +            }
>> > +
>> > +        };
>> > +        tsm.setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
>> > +        moduleToRunTreeNodes.setSelectionModel(tsm);
>> >
>> >          ImageIcon image = JMeterUtils.getImage("warning.png");
>> >          warningLabel = new JLabel("", image, SwingConstants.LEFT); //
>> $NON-NLS-1$
>> > @@ -123,6 +177,7 @@ public class ModuleControllerGui extends
>> >
>> >          init();
>> >
>> > +        // the listener is used to hide the error messsage when a
>> target element is selected
>> >          TreeSelectionListener tsl = new TreeSelectionListener() {
>> >              @Override
>> >              public void valueChanged(TreeSelectionEvent e) {
>> > @@ -196,12 +251,22 @@ public class ModuleControllerGui extends
>> >              selected = tn;
>> >              //prevent from selecting thread group or test plan elements
>> >              if (selected != null
>> > -                    && !(selected.getTestElement() instanceof
>> AbstractThreadGroup)
>> > -                    && !(selected.getTestElement() instanceof
>> TestPlan)) {
>> > +                    &&
>> isTestElementAllowed(selected.getTestElement())) {
>> >                  ((ModuleController) element).setSelectedNode(selected);
>> >              }
>> >          }
>> >      }
>> > +
>> > +    // check if a given test element can be selected as the target of
>> a module controller
>> > +    private static boolean isTestElementAllowed(TestElement
>> testElement) {
>> > +        if (testElement != null
>> > +                && !(testElement instanceof AbstractThreadGroup)
>> > +                && !(testElement instanceof TestPlan)) {
>> > +            return true;
>> > +        }
>> > +
>> > +        return false;
>> > +    }
>> >
>> >      /** {@inheritDoc}} */
>> >      @Override
>> >
>> > Modified: jmeter/trunk/xdocs/changes.xml
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1717618&r1=1717617&r2=1717618&view=diff
>> >
>> ==============================================================================
>> > --- jmeter/trunk/xdocs/changes.xml (original)
>> > +++ jmeter/trunk/xdocs/changes.xml Wed Dec  2 12:16:14 2015
>> > @@ -178,6 +178,7 @@ Summary
>> >  <h3>Controllers</h3>
>> >  <ul>
>> >      <li><bug>58600</bug>Display correct filenames, when they are
>> searched by IncludeController</li>
>> > +    <li><bug>58678</bug>Module Controller : limit target element
>> selection. Contributed by Benoit Wiart (benoit dot wiart at gmail.com
>> )</li>
>> >  </ul>
>> >
>> >  <h3>Listeners</h3>
>> >
>> >
>>
>
>
> --
> Cordialement.
> Philippe Mouawad.
>
>
>
>


-- 
Cordialement.
Philippe Mouawad.

Reply via email to