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 2013/07/05 22:55:27 UTC

Re: svn commit: r1500124 - in /jmeter/trunk: ./ res/maven/ src/components/org/apache/jmeter/assertions/gui/ src/core/org/apache/jmeter/testbeans/gui/ src/protocol/java/org/apache/jmeter/protocol/java/control/gui/ xdocs/

On 5 July 2013 21:39,  <mi...@apache.org> wrote:
> Author: milamber
> Date: Fri Jul  5 20:39:54 2013
> New Revision: 1500124
>
> URL: http://svn.apache.org/r1500124
> Log:
> Bug 55202 - Proposal to add RSyntaxTextArea for BeanShell, BSF, and JSR223 elements
> Bugzilla Id: 55202

-1

I think the jar needs to be obtained somewhere other than Maven
Central, as the pom license there says LGPL.

Please remove the download part for now.

> Added:
>     jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties   (with props)
> Modified:
>     jmeter/trunk/LICENSE
>     jmeter/trunk/build.properties
>     jmeter/trunk/build.xml
>     jmeter/trunk/eclipse.classpath
>     jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>     jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>     jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>     jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>     jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>     jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>     jmeter/trunk/xdocs/changes.xml
>
> Modified: jmeter/trunk/LICENSE
> URL: http://svn.apache.org/viewvc/jmeter/trunk/LICENSE?rev=1500124&r1=1500123&r2=1500124&view=diff
> ==============================================================================
> --- jmeter/trunk/LICENSE [utf-8] (original)
> +++ jmeter/trunk/LICENSE [utf-8] Fri Jul  5 20:39:54 2013
> @@ -1565,7 +1565,7 @@ The jsoup code-base (include source and
>  distributed under the open source MIT license as described below.
>  The MIT License
>
> -Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
> +Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>
>  Permission is hereby granted, free of charge, to any person obtaining a
>  copy of this software and associated documentation files (the "Software"),
> @@ -1926,7 +1926,7 @@ As a special exception, the copyright ho
>  Open Icon Library from
>  http://openiconlibrary.sourceforge.net/
>
> -Detailled Licenses information:
> +Detailed Licenses information:
>  http://openiconlibrary.sourceforge.net/LICENSES.html
>
>  ============ Packages used by Apache JMeter =========
> @@ -2029,3 +2029,39 @@ UNLESS OTHERWISE MUTUALLY AGREED TO BY T
>
>  ################################################################################
>
> +RSyntaxTextArea License
> +=========================================
> +
> +RSyntaxTextArea  from
> +http://fifesoft.com/rsyntaxtextarea/
> +
> +Detailed License information:
> +http://fifesoft.com/rsyntaxtextarea/RSyntaxTextArea.License.txt
> +
> +============== RSyntaxTextArea  License =============
> +Copyright (c) 2012, Robert Futrell
> +All rights reserved.
> +
> +Redistribution and use in source and binary forms, with or without
> +modification, are permitted provided that the following conditions are met:
> +    * Redistributions of source code must retain the above copyright
> +      notice, this list of conditions and the following disclaimer.
> +    * Redistributions in binary form must reproduce the above copyright
> +      notice, this list of conditions and the following disclaimer in the
> +      documentation and/or other materials provided with the distribution.
> +    * Neither the name of the author nor the names of its contributors may
> +      be used to endorse or promote products derived from this software
> +      without specific prior written permission.
> +
> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
> +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
> +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
> +DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
> +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
> +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
> +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
> +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
> +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> +
> +################################################################################
> \ No newline at end of file
>
> Modified: jmeter/trunk/build.properties
> URL: http://svn.apache.org/viewvc/jmeter/trunk/build.properties?rev=1500124&r1=1500123&r2=1500124&view=diff
> ==============================================================================
> --- jmeter/trunk/build.properties (original)
> +++ jmeter/trunk/build.properties Fri Jul  5 20:39:54 2013
> @@ -223,6 +223,11 @@ mongo-java-driver.jar                                      = mongo-java-d
>  mongo-java-driver.loc                                  = ${maven2.repo}/org/mongodb/mongo-java-driver/${mongo-java-driver.version}
>  mongo-java-driver.md5                                  = fed5e6d998256e285396b4e0d81537bd
>
> +rsyntaxtextarea.version     = 2.0.7
> +rsyntaxtextarea.jar         = rsyntaxtextarea-${rsyntaxtextarea.version}.jar
> +rsyntaxtextarea.loc         = ${maven2.repo}/com/fifesoft/rsyntaxtextarea/${rsyntaxtextarea.version}
> +rsyntaxtextarea.md5         = 00ab3c8ce58bb8bb1dbb3ae506f06d30

-1

I don't think we can download from there until the license issue is sorted out.

> +
>  slf4j-api.version           = 1.7.5
>  slf4j-api.jar               = slf4j-api-${slf4j-api.version}.jar
>  slf4j-api.loc               = ${maven2.repo}/org/slf4j/slf4j-api/${slf4j-api.version}
>
> Modified: jmeter/trunk/build.xml
> URL: http://svn.apache.org/viewvc/jmeter/trunk/build.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
> ==============================================================================
> --- jmeter/trunk/build.xml (original)
> +++ jmeter/trunk/build.xml Fri Jul  5 20:39:54 2013
> @@ -387,6 +387,7 @@
>      <include name="${lib.dir}/${junit.jar}"/>
>      <include name="${lib.dir}/${logkit.jar}"/>
>      <include name="${lib.dir}/${mongo-java-driver.jar}"/>
> +    <include name="${lib.dir}/${rsyntaxtextarea.jar}"/>
>      <include name="${lib.dir}/${serializer.jar}"/>
>      <include name="${lib.dir}/${slf4j-api.jar}"/>
>      <include name="${lib.dir}/${soap.jar}"/>
> @@ -454,6 +455,7 @@
>      <pathelement location="${lib.dir}/${junit.jar}"/>
>      <pathelement location="${lib.dir}/${logkit.jar}"/>
>      <pathelement location="${lib.dir}/${mongo-java-driver.jar}"/>
> +    <pathelement location="${lib.dir}/${rsyntaxtextarea.jar}"/>
>      <pathelement location="${lib.dir}/${serializer.jar}"/>
>      <pathelement location="${lib.dir}/${slf4j-api.jar}"/>
>      <pathelement location="${lib.dir}/${soap.jar}"/>
> @@ -2879,6 +2881,7 @@ run JMeter unless all the JMeter jars ar
>          <process_jarfile jarname="junit"/>
>          <process_jarfile jarname="logkit"/>
>          <process_jarfile jarname="mongo-java-driver"/>
> +        <process_jarfile jarname="rsyntaxtextarea"/>
>          <process_jarfile jarname="serializer"/>
>         <process_jarfile jarname="slf4j-api"/>
>          <process_jarfile jarname="soap"/>
>
> Modified: jmeter/trunk/eclipse.classpath
> URL: http://svn.apache.org/viewvc/jmeter/trunk/eclipse.classpath?rev=1500124&r1=1500123&r2=1500124&view=diff
> ==============================================================================
> --- jmeter/trunk/eclipse.classpath (original)
> +++ jmeter/trunk/eclipse.classpath Fri Jul  5 20:39:54 2013
> @@ -76,6 +76,7 @@
>         <classpathentry kind="lib" path="lib/logkit-2.0.jar"/>
>         <classpathentry kind="lib" path="lib/mail-1.4.4.jar"/>
>      <classpathentry kind="lib" path="lib/mongo-java-driver-2.11.2.jar"/>
> +    <classpathentry kind="lib" path="lib/rsyntaxtextarea-2.0.7.jar"/>
>         <classpathentry kind="lib" path="lib/oro-2.0.8.jar"/>
>         <classpathentry kind="lib" path="lib/serializer-2.7.1.jar"/>
>      <classpathentry kind="lib" path="lib/slf4j-api-1.7.5.jar"/>
>
> Modified: jmeter/trunk/res/maven/ApacheJMeter_parent.pom
> URL: http://svn.apache.org/viewvc/jmeter/trunk/res/maven/ApacheJMeter_parent.pom?rev=1500124&r1=1500123&r2=1500124&view=diff
> ==============================================================================
> --- jmeter/trunk/res/maven/ApacheJMeter_parent.pom (original)
> +++ jmeter/trunk/res/maven/ApacheJMeter_parent.pom Fri Jul  5 20:39:54 2013
> @@ -84,6 +84,7 @@ under the License.
>        <junit.version>4.11</junit.version>
>        <logkit.version>2.0</logkit.version>
>        <mongo-java-driver.version>2.11.2</mongo-java-driver.version>
> +      <rsyntaxtextarea.version>2.0.7</rsyntaxtextarea.version>
>        <slf4j.version>1.7.5</slf4j.version>
>        <soap.version>2.3.1</soap.version>
>        <tidy.version>r938</tidy.version>
> @@ -357,6 +358,11 @@ under the License.
>          <version>${mongo-java-driver.version}</version>
>        </dependency>
>        <dependency>
> +        <groupId>com.fifesoft</groupId>
> +        <artifactId>rsyntaxtextarea</artifactId>
> +        <version>${rsyntaxtextarea.version}</version>
> +      </dependency>
> +      <dependency>
>          <groupId>org.slf4j</groupId>
>          <artifactId>slf4j-api</artifactId>
>          <version>${slf4j.version}</version>
>
> Modified: jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
> ==============================================================================
> --- jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java (original)
> +++ jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java Fri Jul  5 20:39:54 2013
> @@ -24,7 +24,6 @@ import javax.swing.Box;
>  import javax.swing.JCheckBox;
>  import javax.swing.JLabel;
>  import javax.swing.JPanel;
> -import javax.swing.JScrollPane;
>  import javax.swing.JTextArea;
>  import javax.swing.JTextField;
>
> @@ -32,6 +31,9 @@ import org.apache.jmeter.assertions.Bean
>  import org.apache.jmeter.testelement.TestElement;
>  import org.apache.jmeter.testelement.property.BooleanProperty;
>  import org.apache.jmeter.util.JMeterUtils;
> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
> +import org.fife.ui.rtextarea.RTextScrollPane;
>
>  public class BeanShellAssertionGui extends AbstractAssertionGui {
>
> @@ -43,7 +45,7 @@ public class BeanShellAssertionGui exten
>
>      private JTextField parameters;// parameters to pass to script file (or script)
>
> -    private JTextArea scriptField;// script area
> +    private RSyntaxTextArea scriptField; // script area
>
>      public BeanShellAssertionGui() {
>          init();
> @@ -139,8 +141,10 @@ public class BeanShellAssertionGui exten
>      }
>
>      private JPanel createScriptPanel() {
> -        scriptField = new JTextArea();
> -        scriptField.setRows(4);
> +        scriptField = new RSyntaxTextArea(20,20);
> +        scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
> +        scriptField.setCodeFoldingEnabled(true);
> +        scriptField.setAntiAliasingEnabled(true);
>          scriptField.setLineWrap(true);
>          scriptField.setWrapStyleWord(true);
>
> @@ -149,7 +153,7 @@ public class BeanShellAssertionGui exten
>
>          JPanel panel = new JPanel(new BorderLayout());
>          panel.add(label, BorderLayout.NORTH);
> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
> +        panel.add(new RTextScrollPane(scriptField), BorderLayout.CENTER);
>
>          JTextArea explain = new JTextArea(JMeterUtils.getResString("bsh_assertion_script_variables")); //$NON-NLS-1$
>          explain.setLineWrap(true);
>
> Modified: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java?rev=1500124&r1=1500123&r2=1500124&view=diff
> ==============================================================================
> --- jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java (original)
> +++ jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java Fri Jul  5 20:39:54 2013
> @@ -203,6 +203,8 @@ public class GenericTestBeanCustomizer e
>
>          // Obtain the propertyEditors:
>          editors = new PropertyEditor[descriptors.length];
> +        int scriptLanguageIndex = 0;
> +        int textAreaEditorIndex = 0;
>          for (int i = 0; i < descriptors.length; i++) { // Index is also used for accessing editors array
>              PropertyDescriptor descriptor = descriptors[i];
>              String name = descriptor.getName();
> @@ -218,7 +220,7 @@ public class GenericTestBeanCustomizer e
>              PropertyEditor propertyEditor;
>              Object guiType = descriptor.getValue(GUITYPE);
>              if (guiType instanceof TypeEditor) {
> -                propertyEditor = ((TypeEditor) guiType).getInstance(descriptor);
> +                propertyEditor = ((TypeEditor) guiType).getInstance(descriptor);
>              } else {
>                  Class<?> editorClass = descriptor.getPropertyEditorClass();
>                  if (log.isDebugEnabled()) {
> @@ -267,6 +269,10 @@ public class GenericTestBeanCustomizer e
>              {
>                  ((TestBeanPropertyEditor)propertyEditor).setDescriptor(descriptor);
>              }
> +
> +            if (propertyEditor instanceof TextAreaEditor) {
> +                textAreaEditorIndex = i;
> +            }
>              if (propertyEditor.getCustomEditor() instanceof JScrollPane) {
>                  scrollerCount++;
>              }
> @@ -276,6 +282,17 @@ public class GenericTestBeanCustomizer e
>              // Initialize the editor with the provided default value or null:
>              setEditorValue(i, descriptor.getValue(DEFAULT));
>
> +            if (name.equals("scriptLanguage")) {
> +                scriptLanguageIndex = i;
> +            }
> +
> +        }
> +        // In case of BSF and JSR elements i want to add textAreaEditor as a listener to scriptLanguage ComboBox.
> +        String beanName = this.beanInfo.getBeanDescriptor().getName();
> +        if (beanName.startsWith("BSF") || beanName.startsWith("JSR223")) { // $NON-NLS-1$ $NON-NLS-2$
> +            WrapperEditor we = (WrapperEditor) editors[scriptLanguageIndex];
> +            TextAreaEditor tae = (TextAreaEditor) editors[textAreaEditorIndex];
> +            we.addChangeListener(tae);
>          }
>
>          // Obtain message formats:
>
> Modified: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
> ==============================================================================
> --- jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java (original)
> +++ jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java Fri Jul  5 20:39:54 2013
> @@ -24,17 +24,23 @@ package org.apache.jmeter.testbeans.gui;
>  import java.awt.Component;
>  import java.awt.event.FocusEvent;
>  import java.awt.event.FocusListener;
> +import java.beans.PropertyChangeEvent;
> +import java.beans.PropertyChangeListener;
>  import java.beans.PropertyEditorSupport;
> +import java.util.Properties;
>
> -import javax.swing.JScrollPane;
> -import javax.swing.JTextArea;
> -import javax.swing.ScrollPaneConstants;
> +import org.apache.jmeter.util.JMeterUtils;
> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
> +import org.fife.ui.rtextarea.RTextScrollPane;
>
> -public class TextAreaEditor extends PropertyEditorSupport implements FocusListener {
> +public class TextAreaEditor extends PropertyEditorSupport implements FocusListener, PropertyChangeListener {
>
> -    private JTextArea textUI;
> +    private RSyntaxTextArea textUI;
>
> -    private JScrollPane scroller;
> +    private RTextScrollPane scroller;
> +
> +    private Properties languageProperties;
>
>      /** {@inheritDoc} */
>      @Override
> @@ -48,12 +54,17 @@ public class TextAreaEditor extends Prop
>      }
>
>      private final void init() {// called from ctor, so must not be overridable
> -        textUI = new JTextArea();
> +        textUI = new RSyntaxTextArea(20, 20);
> +        textUI.discardAllEdits();
> +        textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
> +        textUI.setCodeFoldingEnabled(true);
> +        textUI.setAntiAliasingEnabled(true);
>          textUI.addFocusListener(this);
>          textUI.setWrapStyleWord(true);
>          textUI.setLineWrap(true);
> -        scroller = new JScrollPane(textUI, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
> -                ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
> +        scroller = new RTextScrollPane(textUI);
> +        scroller.setFoldIndicatorEnabled(true);
> +        languageProperties = JMeterUtils.loadProperties("org/apache/jmeter/testbeans/gui/textarea.properties"); //$NON-NLS-1$
>      }
>
>      /**
> @@ -112,4 +123,19 @@ public class TextAreaEditor extends Prop
>      public boolean supportsCustomEditor() {
>          return true;
>      }
> +
> +    @Override
> +    public void propertyChange(PropertyChangeEvent evt) {
> +        Object source = evt.getSource();
> +        if (source instanceof ComboStringEditor && source != null) {
> +            ComboStringEditor cse = (ComboStringEditor) source;
> +            String lang = cse.getAsText().toLowerCase();
> +            if (languageProperties.containsKey(lang)) {
> +                textUI.setSyntaxEditingStyle(languageProperties.getProperty(lang));
> +            } else {
> +                textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_NONE);
> +            }
> +
> +        }
> +    }
>  }
>
> Modified: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
> ==============================================================================
> --- jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java (original)
> +++ jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java Fri Jul  5 20:39:54 2013
> @@ -445,4 +445,8 @@ class WrapperEditor extends PropertyEdit
>              guiEditor.setAsText(lastValidValue);
>          }
>      }
> +
> +    public void addChangeListener(PropertyChangeListener listener) {
> +        guiEditor.addPropertyChangeListener(listener);
> +    }
>  }
> \ No newline at end of file
>
> Added: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties?rev=1500124&view=auto
> ==============================================================================
> --- jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties (added)
> +++ jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties Fri Jul  5 20:39:54 2013
> @@ -0,0 +1,52 @@
> +#
> +# Licensed to the Apache Software Foundation (ASF) under one or more
> +# contributor license agreements.  See the NOTICE file distributed with
> +# this work for additional information regarding copyright ownership.
> +# The ASF licenses this file to You 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.
> +#
> +
> +javascript = text/javascript
> +js = text/javascript
> +jacl = text/tcl
> +netrexx = text/plain
> +java = text/java
> +javaclass = text/java
> +bml = text/xml
> +vbscript = text/vb
> +jscript = text/javascript
> +perlscript = text/perl
> +perl = text/perl
> +jpython = text/python
> +jython = text/python
> +lotusscript = text/vb
> +xslt = text/mxml
> +pnuts = text/java
> +beanbasic = text/java
> +beanshell = text/java
> +bsh = text/unix
> +ruby = text/ruby
> +judoscript = text/plain
> +groovy = text/groovy
> +objectscript = text/javascript
> +prolog = text/plain
> +rexx = text/plain
> +applescript = text/plain
> +ecmascript = text/actionscript
> +jexl = text/java
> +jexl2 = text/java
> +rhino = text/javascript
> +edit = text/unix
> +lua = text/lua
> +php = text/php
> +lisp = text/lisp
> +sql = text/sql
> \ No newline at end of file
>
> Propchange: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
> ------------------------------------------------------------------------------
>     svn:eol-style = native
>
> Propchange: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
> ------------------------------------------------------------------------------
>     svn:mime-type = text/plain
>
> Modified: jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
> ==============================================================================
> --- jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java (original)
> +++ jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java Fri Jul  5 20:39:54 2013
> @@ -24,7 +24,6 @@ import javax.swing.Box;
>  import javax.swing.JCheckBox;
>  import javax.swing.JLabel;
>  import javax.swing.JPanel;
> -import javax.swing.JScrollPane;
>  import javax.swing.JTextArea;
>  import javax.swing.JTextField;
>
> @@ -33,6 +32,9 @@ import org.apache.jmeter.samplers.gui.Ab
>  import org.apache.jmeter.testelement.TestElement;
>  import org.apache.jmeter.testelement.property.BooleanProperty;
>  import org.apache.jmeter.util.JMeterUtils;
> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
> +import org.fife.ui.rtextarea.RTextScrollPane;
>
>  public class BeanShellSamplerGui extends AbstractSamplerGui {
>
> @@ -44,7 +46,7 @@ public class BeanShellSamplerGui extends
>
>      private JTextField parameters;// parameters to pass to script file (or script)
>
> -    private JTextArea scriptField;// script area
> +    private RSyntaxTextArea scriptField;// script area
>
>      public BeanShellSamplerGui() {
>          init();
> @@ -153,8 +155,9 @@ public class BeanShellSamplerGui extends
>      }
>
>      private JPanel createScriptPanel() {
> -        scriptField = new JTextArea();
> -        scriptField.setRows(4);
> +        scriptField = new RSyntaxTextArea(20, 20);
> +        scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
> +        scriptField.setCodeFoldingEnabled(true);
>          scriptField.setLineWrap(true);
>          scriptField.setWrapStyleWord(true);
>
> @@ -163,7 +166,7 @@ public class BeanShellSamplerGui extends
>
>          JPanel panel = new JPanel(new BorderLayout());
>          panel.add(label, BorderLayout.NORTH);
> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
> +        panel.add(new RTextScrollPane(scriptField), BorderLayout.CENTER);
>
>          JTextArea explain = new JTextArea(JMeterUtils.getResString("bsh_script_variables")); //$NON-NLS-1$
>          explain.setLineWrap(true);
>
> Modified: jmeter/trunk/xdocs/changes.xml
> URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
> ==============================================================================
> --- jmeter/trunk/xdocs/changes.xml (original)
> +++ jmeter/trunk/xdocs/changes.xml Fri Jul  5 20:39:54 2013
> @@ -224,6 +224,7 @@ Transaction Controller now sets Response
>  <li><bugzilla>54990</bugzilla> - Download large files avoiding outOfMemory</li>
>  <li><bugzilla>55085</bugzilla> - UX Improvement : Ability to create New Test Plan from Templates</li>
>  <li><bugzilla>55172</bugzilla> - Provide plugins a way to add Top Menu and menu items</li>
> +<li><bugzilla>55202</bugzilla> - Add syntax color for scripts elements (BeanShell, BSF, and JSR223) with RSyntaxTextArea</li>
>  </ul>
>
>  <h2>Non-functional changes</h2>
>
>

Re: svn commit: r1500124 - in /jmeter/trunk: ./ res/maven/ src/components/org/apache/jmeter/assertions/gui/ src/core/org/apache/jmeter/testbeans/gui/ src/protocol/java/org/apache/jmeter/protocol/java/control/gui/ xdocs/

Posted by sebb <se...@gmail.com>.
On 5 July 2013 22:43, Milamber <mi...@apache.org> wrote:
>
> Le 05/07/2013 22:34, Philippe Mouawad a ecrit :
>
>> maybe we can open a bug on pom content no ?
>
>
> I don't know. The publication of artifact (pom) seems to be the
> responsibility to the author of uploaded jar... I prefer wait the answer of
> Filesoft team.

Agreed.

I suspect the Maven jar was uploaded by a 3rd party. It's signed as follows:

gpg: Signature made 02/20/13 11:53:41 using DSA key ID C966F0B8
gpg: Good signature from "Rob Manning <ro...@gmail.com>"
gpg: Note: This key has expired!
Primary key fingerprint: 0F07 D120 1BDD AB67 CFB8  4EB4 7975 2DB6 C966 F0B8

>
>>
>> On Friday, July 5, 2013, Milamber wrote:
>>
>>> Le 05/07/2013 22:20, Milamber a ecrit :
>>>
>>>> Le 05/07/2013 21:55, sebb a ecrit :
>>>>
>>>>> On 5 July 2013 21:39, <mi...@apache.org> wrote:
>>>>>
>>>>>> Author: milamber
>>>>>> Date: Fri Jul  5 20:39:54 2013
>>>>>> New Revision: 1500124
>>>>>>
>>>>>> URL: http://svn.apache.org/r1500124
>>>>>> Log:
>>>>>> Bug 55202 - Proposal to add RSyntaxTextArea for BeanShell, BSF, and
>>>>>> JSR223 elements
>>>>>> Bugzilla Id: 55202
>>>>>>
>>>>> -1
>>>>>
>>>>> I think the jar needs to be obtained somewhere other than Maven
>>>>> Central, as the pom license there says LGPL.
>>>>>
>>> Ah... I just saw the .pom on maven repo...
>>>
>>>
>>>
>>>> The mvnrepository.com website (whish said LGPL) is not official Maven
>>>> repository (and not affiliate with Maven/ASF if you see the whois
>>>> information).
>>>> You cannot trust on informations in this site.
>>>>
>>>> The official website indicate the license (modified BSD), and I have
>>>> added the same version than the binary release (in zip file):
>>>> http://sourceforge.net/**projects/rsyntaxtextarea/**
>>>>
>>>> files/rsyntaxtextarea-demo/2.**0.7/<http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea-demo/2.0.7/>
>>>>
>>>> Unfortunately, I don't found a direct link to the jar on official
>>>> website. I think we can keep the download from Maven repo2 (it's not the
>>>> mvvrepository.com site, and don't show any Lgpl license for this jar).
>>>>
>>>>
>>>>> Please remove the download part for now.
>>>>>
>>>>>   Added:
>>>>>>
>>>>>>
>>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**textarea.properties
>>>>>> (with props)
>>>>>> Modified:
>>>>>>       jmeter/trunk/LICENSE
>>>>>>       jmeter/trunk/build.properties
>>>>>>       jmeter/trunk/build.xml
>>>>>>       jmeter/trunk/eclipse.classpath
>>>>>>       jmeter/trunk/res/maven/**ApacheJMeter_parent.pom
>>>>>> jmeter/trunk/src/components/**org/apache/jmeter/assertions/**
>>>>>> gui/BeanShellAssertionGui.java
>>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>>>> GenericTestBeanCustomizer.java
>>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>>>> TextAreaEditor.java
>>>>>>
>>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**WrapperEditor.java
>>>>>>
>>>>>> jmeter/trunk/src/protocol/**java/org/apache/jmeter/**
>>>>>> protocol/java/control/gui/**BeanShellSamplerGui.java
>>>>>>       jmeter/trunk/xdocs/changes.xml
>>>>>>
>>>>>> Modified: jmeter/trunk/LICENSE
>>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/LICENSE?rev=**
>>>>>>
>>>>>> 1500124&r1=1500123&r2=1500124&**view=diff<http://svn.apache.org/viewvc/jmeter/trunk/LICENSE?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>>>
>>>>>> ==============================**==============================**==================
>>>>>>
>>>>>> --- jmeter/trunk/LICENSE [utf-8] (original)
>>>>>> +++ jmeter/trunk/LICENSE [utf-8] Fri Jul  5 20:39:54 2013
>>>>>> @@ -1565,7 +1565,7 @@ The jsoup code-base (include source and
>>>>>>    distributed under the open source MIT license as described below.
>>>>>>    The MIT License
>>>>>>
>>>>>> -Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>>>> +Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>>>>
>>>>>>    Permission is hereby granted, free of charge, to any person
>>>>>> obtaining
>>>>>> a
>>>>>>    copy of this software and associated documentation files (the
>>>>>> "Software"),
>>>>>> @@ -1926,7 +1926,7 @@ As a special exception, the copyright ho
>>>>>>    Open Icon Library from
>>>>>>
>>>>>> http://openiconlibrary.**sourceforge.net/<http://openiconlibrary.sourceforge.net/>
>>>>>>
>>>>>> -Detailled Licenses information:
>>>>>> +Detailed Licenses information:
>>>>>>
>>>>>> http://openiconlibrary.**sourceforge.net/LICENSES.html<http://openiconlibrary.sourceforge.net/LICENSES.html>
>>>>>>
>>>>>>    ============ Packages used by Apache JMeter =========
>>>>>> @@ -2029,3 +2029,39 @@ UNLESS OTHERWISE MUTUALLY AGREED TO BY T
>>>>>>
>>>>>> ##############################**##############################**
>>>>>> ####################
>>>>>>
>>>>>> +RSyntaxTextArea License
>>>>>> +=============================**============
>>>>>> +
>>>>>> +RSyntaxTextArea  from
>>>>>>
>>>>>> +http://fifesoft.com/**rsyntaxtextarea/<http://fifesoft.com/rsyntaxtextarea/>
>>>>>> +
>>>>>> +Detailed License information:
>>>>>>
>>>>>> +http://fifesoft.com/**rsyntaxtextarea/**RSyntaxTextArea.License.txt<http://fifesoft.com/rsyntaxtextarea/RSyntaxTextArea.License.txt>
>>>>>> +
>>>>>> +============== RSyntaxTextArea  License =============
>>>>>> +Copyright (c) 2012, Robert Futrell
>>>>>> +All rights reserved.
>>>>>> +
>>>>>> +Redistribution and use in source and binary forms, with or without
>>>>>> +modification, are permitted provided that the following conditions
>>>>>> are
>>>>>> met:
>>>>>> +    * Redistributions of source code must retain the above copyright
>>>>>> +      notice, this list of conditions and the following disclaimer.
>>>>>> +    * Redistributions in binary form must reproduce the above
>>>>>> copyright
>>>>>> +      notice, this list of conditions and the following disclaimer in
>>>>>> the
>>>>>> +      documentation and/or other materials provided with the
>>>>>> distribution.
>>>>>> +    * Neither the name of the author nor the names of its
>>>>>> contributors
>>>>>> may
>>>>>> +      be used to endorse or promote products derived from this
>>>>>> software
>>>>>> +      without specific prior written permission.
>>>>>> +
>>>>>> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
>>>>>> "AS IS" AND
>>>>>> +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
>>>>>> IMPLIED
>>>>>> +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
>>>>>> ARE
>>>>>> +DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
>>>>>> +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
>>>>>> DAMAGES
>>>>>> +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
>>>>>> SERVICES;
>>>>>> +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
>>>>>> CAUSED AND
>>>>>> +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
>>>>>> TORT
>>>>>> +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
>>>>>> OF THIS
>>>>>> +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>>>>>> +
>>>>>>
>>>>>> +#############################**##############################**#####################
>>>>>>
>>>>>> \ No newline at end of file
>>>>>>
>>>>>> Modified: jmeter/trunk/build.properties
>>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/build.properties?**
>>>>>>
>>>>>> rev=1500124&r1=1500123&r2=**1500124&view=diff<http://svn.apache.org/viewvc/jmeter/trunk/build.properties?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>>>
>>>>>> ==============================**==============================**==================
>>>>>>
>>>>>> --- jmeter/trunk/build.properties (original)
>>>>>> +++ jmeter/trunk/build.properties Fri Jul  5 20:39:54 2013
>>>>>> @@ -223,6 +223,11 @@ mongo-java-driver.jar
>>>>>>           = mongo-java-d
>>>>>>    mongo-java-driver.loc                                  =
>>>>>> ${maven2.repo}/org/mongodb/**mongo-java-driver/${mongo-**
>>>>>> java-driver.version}
>>>>>>    mongo-java-driver.md5                                  =
>>>>>> fed5e6d998256e285396b4e0d81537**bd
>>>>>>
>>>>>> +rsyntaxtextarea.version     = 2.0.7
>>>>>> +rsyntaxtextarea.jar         = rsyntaxtextarea-${**
>>>>>> rsyntaxtextarea.version}.jar
>>>>>> +rsyntaxtextarea.loc         = ${maven2.repo}/com/fifesoft/**
>>>>>> rsyntaxtextarea/${**rsyntaxtextarea.version}
>>>>>> +rsyntaxtextarea.md5         = 00ab3c8ce58bb8bb1dbb3ae506f06d**30
>>>>>>
>>>>> -1
>>>>>
>>>>> I don't think we can download from there until the license issue is
>>>>> sorted out.
>>>>>
>>>>>   +
>>>>>>
>>>>>>    slf4j-api.version           = 1.7.5
>>>>>>    slf4j-api.jar               = slf4j-api-${slf4j-api.version}**.jar
>>>>>>    slf4j-api.loc               = ${maven2.repo}/org/slf4j/**
>>>>>> slf4j-api/${slf4j-api.version}
>>>>>>
>>>>>> Modified: jmeter/trunk/build.xml
>>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/build.xml?rev=**
>>>>>>
>>>>>> 1500124&r1=1500123&r2=1500124&**view=diff<http://svn.apache.org/viewvc/jmeter/trunk/build.xml?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>>>
>>>>>> ==============================**==============================**==================
>>>>>>
>>>>>> --- jmeter/trunk/build.xml (original)
>>>>>> +++ jmeter/trunk/build.xml Fri Jul  5 20:39:54 2013
>>>>>> @@ -387,6 +387,7 @@
>>>>>>        <include name="${lib.dir}/${junit.jar}"**/>
>>>>>>        <include name="${lib.dir}/${logkit.jar}**"/>
>>>>>>        <include name="${lib.dir}/${mongo-java-**driver.jar}"/>
>>>>>> +    <include name="${lib.dir}/${**rsyntaxtextarea.jar}"/>
>>>>>>        <include name="${lib.dir}/${serializer.**jar}"/>
>>>>>>        <include name="${lib.dir}/${slf4j-api.**jar}"/>
>>>>>>        <include name="${lib.dir}/${soap.jar}"/**>
>>>>>> @@ -454,6 +455,7 @@
>>>>>>        <pathelement location="${lib.dir}/${junit.**jar}"/>
>>>>>>        <pathelement location="${lib.dir}/${logkit.**jar}"/>
>>>>>>        <pathelement location="${lib.dir}/${mongo-**java-driver.jar}"/>
>>>>>> +    <pathelement location="${lib.dir}/${**rsyntaxtextarea.jar}"/>
>>>>>>        <pathelement location="${lib.dir}/${**serializer.jar}"/>
>>>>>>        <pathelement location="${lib.dir}/${slf4j-**api.jar}"/>
>>>>>>        <pathelement location="${lib.dir}/${soap.**jar}"/>
>>>>>> @@ -2879,6 +2881,7 @@ run JMeter unless all the JMeter jars ar
>>>>>>            <process_jarfile jarname="junit"/>
>>>>>>            <process_jarfile jarname="logkit"/>
>>>>>>            <process_jarfile jarname="mongo-java-driver"/>
>>>>>> +        <process_jarfile jarname="rsyntaxtextarea"/>
>>>>>>            <process_jarfile jarname="serializer"/>
>>>>>>           <process_jarfile jarname="slf4j-api"/>
>>>>>>            <process_jarfile jarname="soap"/>
>>>>>>
>>>>>> Modified: jmeter/trunk/eclipse.classpath
>>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/eclipse.**
>>>>>>
>>>>>> classpath?rev=1500124&r1=**1500123&r2=1500124&view=diff<http://svn.apache.org/viewvc/jmeter/trunk/eclipse.classpath?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>>>
>>>>>> ==============================**==============================**==================
>>>>>>
>>>>>> --- jmeter/trunk/eclipse.classpath (original)
>>>>>> +++ jmeter/trunk/eclipse.classpath Fri Jul  5 20:39:54 2013
>>>>>> @@ -76,6 +76,7 @@
>>>>>>           <classpathentry kind="lib" path="lib/logkit-2.0.jar"/>
>>>>>>           <classpathentry kind="lib" path="lib/mail-1.4.4.jar"/>
>>>>>>        <classpathentry kind="lib" path="lib/mongo-java-driver-2.**
>>>>>> 11.2.jar"/>
>>>>>> +    <classpathentry kind="lib" path="lib/rsyntaxtextarea-2.0.**
>>>>>> 7.jar"/>
>>>>>>           <classpathentry kind="lib" path="lib/oro-2.0.8.jar"/>
>>>>>>           <classpathentry kind="lib"
>>>>>> path="lib/serializer-2.7.1.**jar"/>
>>>>>>        <classpathentry kind="lib" path="lib/slf4j-api-1.7.5.jar"**/>
>>>>>>
>>>>>> Modified: jmeter/trunk/res/maven/**ApacheJMeter_parent.pom
>>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/res/maven/**
>>>>>>
>>>>>> ApacheJMeter_parent.pom?rev=**1500124&r1=1500123&r2=1500124&**view=diff<http://svn.apache.org/viewvc/jmeter/trunk/res/maven/ApacheJMeter_parent.pom?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>>>
>>>>>> ==============================**==============================**==================
>>>>>>
>>>>>> --- jmeter/trunk/res/maven/**ApacheJMeter_parent.pom (original)
>>>>>> +++ jmeter/trunk/res/maven/**ApacheJMeter_parent.pom Fri Jul  5
>>>>>> 20:39:54 2013
>>>>>> @@ -84,6 +84,7 @@ under the License.
>>>>>>          <junit.version>4.11</junit.**version>
>>>>>>          <logkit.version>2.0</logkit.**version>
>>>>>> <mongo-java-driver.version>2.**11.2</mongo-java-driver.**version>
>>>>>> + <rsyntaxtextarea.version>2.0.**7</rsyntaxtextarea.version>
>>>>>>          <slf4j.version>1.7.5</slf4j.**version>
>>>>>>          <soap.version>2.3.1</soap.**version>
>>>>>>          <tidy.version>r938</tidy.**version>
>>>>>> @@ -357,6 +358,11 @@ under the License.
>>>>>> <version>${mongo-java-driver.**version}</version>
>>>>>>          </dependency>
>>>>>>          <dependency>
>>>>>> +        <groupId>com.fifesoft</**groupId>
>>>>>> +        <artifactId>rsyntaxtextarea</**artifactId>
>>>>>> + <version>${rsyntaxtextarea.**version}</version>
>>>>>> +      </dependency>
>>>>>> +      <dependency>
>>>>>>            <groupId>org.slf4j</groupId>
>>>>>>            <artifactId>slf4j-api</**artifactId>
>>>>>>            <version>${slf4j.version}</**version>
>>>>>>
>>>>>> Modified:
>>>>>> jmeter/trunk/src/components/**org/apache/jmeter/assertions/**
>>>>>> gui/BeanShellAssertionGui.java
>>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/components/**
>>>>>> org/apache/jmeter/assertions/**gui/BeanShellAssertionGui.**
>>>>>>
>>>>>> java?rev=1500124&r1=1500123&**r2=1500124&view=diff<http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>>>
>>>>>> ==============================**==============================**==================
>>>>>>
>>>>>> ---
>>>>>> jmeter/trunk/src/components/**org/apache/jmeter/assertions/**gui/BeanShellAssertionGui.java
>>>>>> (original)
>>>>>> +++
>>>>>> jmeter/trunk/src/components/**org/apache/jmeter/assertions/**gui/BeanShellAssertionGui.java
>>>>>> Fri Jul  5 20:39:54 2013
>>>>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>>>>    import javax.swing.JCheckBox;
>>>>>>    import javax.swing.JLabel;
>>>>>>    import javax.swing.JPanel;
>>>>>> -import javax.swing.JScrollPane;
>>>>>>    import javax.swing.JTextArea;
>>>>>>    import javax.swing.JTextField;
>>>>>>
>>>>>> @@ -32,6 +31,9 @@ import org.apache.jmeter.assertions.**Bean
>>>>>>    import org.apache.jmeter.testelement.**TestElement;
>>>>>>    import org.apache.jmeter.testelement.**property.BooleanProperty;
>>>>>>    import org.apache.jmeter.util.**JMeterUtils;
>>>>>> +import org.fife.ui.rsyntaxtextarea.**RSyntaxTextArea;
>>>>>> +import org.fife.ui.rsyntaxtextarea.**SyntaxConstants;
>>>>>> +import org.fife.ui.rtextarea.**RTextScrollPane;
>>>>>>
>>>>>>    public class BeanShellAssertionGui extends AbstractAssertionGui {
>>>>>>
>>>>>> @@ -43,7 +45,7 @@ public class BeanShellAssertionGui exten
>>>>>>
>>>>>>        private JTextField parameters;// parameters to pass to script
>>>>>> file (or script)
>>>>>>
>>>>>> -    private JTextArea scriptField;// script area
>>>>>> +    private RSyntaxTextArea scriptField; // script area
>>>>>>
>>>>>>        public BeanShellAssertionGui() {
>>>>>>            init();
>>>>>> @@ -139,8 +141,10 @@ public class BeanShellAssertionGui exten
>>>>>>        }
>>>>>>
>>>>>>        private JPanel createScriptPanel() {
>>>>>> -        scriptField = new JTextArea();
>>>>>> -        scriptField.setRows(4);
>>>>>> +        scriptField = new RSyntaxTextArea(20,20);
>>>>>> +
>>>>>> scriptField.**setSyntaxEditingStyle(**SyntaxConstants.SYNTAX_STYLE_**
>>>>>> JAVA);
>>>>>> +        scriptField.**setCodeFoldingEnabled(true);
>>>>>> +        scriptField.**setAntiAliasingEnabled(true);
>>>>>>            scriptField.setLineWrap(true);
>>>>>>            scriptField.setWrapStyleWord(**true);
>>>>>>
>>>>>> @@ -149,7 +153,7 @@ public class BeanShellAssertionGui exten
>>>>>>
>>>>>>            JPanel panel = new JPanel(new BorderLayout());
>>>>>>            panel.add(label, BorderLayout.NORTH);
>>>>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>>>>> +        panel.add(new RTextScrollPane(scriptField),
>>>>>> BorderLayout.CENTER);
>>>>>>
>>>>>>            JTextArea explain = new JTextArea(JMeterUtils.**
>>>>>> getResString("bsh_assertion_**script_variables")); //$NON-NLS-1$
>>>>>>            explain.setLineWrap(true);
>>>>>>
>>>>>> Modified: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>>>> GenericTestBeanCustomizer.java
>>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/core/org/**
>>>>>> apache/jmeter/testbeans/gui/**GenericTestBeanCustomizer.**
>>>>>>
>>>>>> java?rev=1500124&r1=1500123&**r2=1500124&view=diff<http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>>>
>>>>>> ==============================**==============================**==================
>>>>>>
>>>>>> ---
>>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**GenericTestBeanCustomizer.java
>>>>>> (original)
>>>>>> +++
>>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**GenericTestBeanCustomizer.java
>>>>>> Fri Jul  5 20:39:54 2013
>>>>>> @@ -203,6 +203,8 @@ public class GenericTestBeanCustomizer e
>>>>>>
>>>>>>            // Obtain the propertyEditors:
>>>>>>            editors = new PropertyEditor[descriptors.**length];
>>>>>> +        int scriptLanguageIndex = 0;
>>>>>> +        int textAreaEditorIndex = 0;
>>>>>>            for (int i = 0; i < descriptors.length; i++) { // Index is
>>>>>> also used for accessing editors array
>>>>>>                PropertyDescriptor descriptor = descriptors[i];
>>>>>>                String name = descriptor.getName();
>>>>>> @@ -218,7 +220,7 @@ public class GenericTestBeanCustomizer e
>>>>>>                PropertyEditor propertyEditor;
>>>>>>                Object guiType = descriptor.getValue(GUITYPE);
>>>>>>                if (guiType instanceof TypeEditor) {
>>>>>> -                propertyEditor = ((TypeEditor)
>>>>>> guiType).getInstance(**
>>>>>> descriptor);
>>>>>> +                propertyEditor = ((TypeEditor)
>>>>>> guiType).getInstance(**
>>>>>> descriptor);
>>>>>>                } else {
>>>>>>                    Class<?> editorClass = descriptor.**
>>>>>> getPropertyEditorClass();
>>>>>>                    if (log.isDebugEnabled()) {
>>>>>> @@ -267,6 +269,10 @@ public class GenericTestBeanCustomizer e
>>>>>>                {
>>>>>>
>>>>>> ((TestBeanPropertyEditor)**propertyEditor).setDescriptor(**descriptor);
>>>>>>                }
>>>>>> +
>>>>>> +            if (propertyEditor instanceof TextAreaEditor) {
>>>>>> +                textAreaEditorIndex = i;
>>>>>> +            }
>>>>>>                if (propertyEditor.**getCustomEditor() instanceof
>>>>>> JScrollPane) {
>>>>>>                    scrollerCount++;
>>>>>>                }
>>>>>> @@ -276,6 +282,17 @@ public class GenericTestBeanCustomizer e
>>>>>>                // Initialize the editor with the provided default
>>>>>> value
>>>>>> or null:
>>>>>>                setEditorValue(i, descriptor.getValue(DEFAULT));
>>>>>>
>>>>>> +            if (name.equals("scriptLanguage")**) {
>>>>>> +                scriptLanguageIndex = i;
>>>>>> +            }
>>>>>> +
>>>>>> +        }
>>>>>> +        // In case of BSF and JSR elements i want to add
>>>>>> textAreaEditor as a listener to scriptLanguage ComboBox.
>>>>>> +        String beanName = this.beanInfo.**
>>>>>> getBeanDescriptor().getName();
>>>>>> +        if (beanName.startsWith("BSF") ||
>>>>>> beanName.startsWith("JSR223")) { // $NON-NLS-1$ $NON-NLS-2$
>>>>>> +            WrapperEditor we = (WrapperEditor)
>>>>>> editors[scriptLanguageIndex];
>>>>>> +            TextAreaEditor tae = (TextAreaEditor)
>>>>>> editors[textAreaEditorIndex];
>>>>>> +            we.addChangeListener(tae);
>>>>>>            }
>>>>>>
>>>>>>            // Obtain message formats:
>>>>>>
>>>>>> Modified: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>>>> TextAreaEditor.java
>>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/core/org/**
>>>>>> apache/jmeter/testbeans/gui/**TextAreaEditor.java?rev=**
>>>>>>
>>>>>> 1500124&r1=1500123&r2=1500124&**view=diff<http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>>>
>>>>>> ==============================**==============================**==================
>>>>>>
>>>>>> ---
>>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**TextAreaEditor.java
>>>>>> (original)
>>>>>> +++
>>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**TextAreaEditor.java
>>>>>> Fri Jul  5 20:39:54 2013
>>>>>> @@ -24,17 +24,23 @@ package org.apache.jmeter.testbeans.**gui;
>>>>>>    import java.awt.Component;
>>>>>>    import java.awt.event.FocusEvent;
>>>>>>    import java.awt.event.FocusListener;
>>>>>> +import java.beans.**PropertyChangeEvent;
>>>>>> +import java.beans.**PropertyChangeListener;
>>>>>>    import java.beans.**PropertyEditorSupport;
>>>>>> +import java.util.Properties;
>>>>>>
>>>>>> -import javax.swing.JScrollPane;
>>>>>> -import javax.swing.JTextArea;
>>>>>> -import javax.swing.**ScrollPaneConstants;
>>>>>> +import org.apache.jmeter.util.**JMeterUtils;
>>>>>> +import org.fife.ui.rsyntaxtextarea.**RSyntaxTextArea;
>>>>>> +import org.fife.ui.rsyntaxtextarea.**SyntaxConstants;
>>>>>> +import org.fife.ui.rtextarea.**RTextScrollPane;
>>>>>>
>>>>>> -public class TextAreaEditor extends PropertyEditorSupport implements
>>>>>> FocusListener {
>>>>>> +public class TextAreaEditor extends PropertyEditorSupport implements
>>>>>> FocusListener, PropertyChangeListener {
>>>>>>
>>>>>> -    private JTextArea textUI;
>>>>>> +    private RSyntaxTextArea textUI;
>>>>>>
>>>>>> -    private JScrollPane scroller;
>>>>>> +    private RTextScrollPane scroller;
>>>>>> +
>>>>>> +    private Properties languageProperties;
>>>>>>
>>>>>>        /** {@inheritDoc} */
>>>>>>        @Override
>>>>>> @@ -48,12 +54,17 @@ public class TextAreaEditor extends Prop
>>>>>>        }
>>>>>>
>>>>>>        private final void init() {// called from ctor, so must not be
>>>>>> overridable
>>>>>> -        textUI = new JTextArea();
>>>>>> +        textUI = new RSyntaxTextArea(20, 20);
>>>>>> +        textUI.discardAllEdits();
>>>>>> + textUI.setSyntaxEditingStyle(**SyntaxConstants.SYNTAX_STYLE_**JAVA);
>>>>>> +        textUI.setCodeFoldingEnabled(**true);
>>>>>> +        textUI.setAntiAliasingEnabled(**true);
>>>>>>            textUI.addFocusListener(this);
>>>>>>            textUI.setWrapStyleWord(true);
>>>>>>            textUI.setLineWrap(true);
>>>>>> -        scroller = new JScrollPane(textUI,
>>>>>> ScrollPaneConstants.VERTICAL_**SCROLLBAR_AS_NEEDED,
>>>>>> - ScrollPaneConstants.**HORIZONTAL_SCROLLBAR_NEVER);
>>>>>> +        scroller = new RTextScrollPane(textUI);
>>>>>> +        scroller.**setFoldIndicatorEnabled(true);
>>>>>> +        languageProperties = JMeterUtils.loadProperties("**
>>>>>> org/apache/jmeter/testbeans/**gui/textarea.properties"); //$NON-NLS-1$
>>>>>>        }
>>>>>>
>>>>>>        /**
>>>>>> @@ -112,4 +123,19 @@ public class TextAreaEditor extends Prop
>>>>>>        public boolean supportsCustomEditor() {
>>>>>>            return true;
>>>>>>        }
>>>>>> +
>>>>>> +    @Override
>>>>>> +    public void propertyChange(**PropertyChangeEvent evt) {
>>>>>> +        Object source = evt.getSource();
>>>>>> +        if (source instanceof ComboStringEditor && source != null) {
>>>>>> +            ComboStringEditor cse = (ComboStringEditor) source;
>>>>>> +            String lang = cse.getAsText().toLowerCase();
>>>>>> +            if (languageProperties.**containsKey(lang)) {
>>>>>> + textUI.setSyntaxEditingStyle(**languageProperties.**
>>>>>> getProperty(lang));
>>>>>> +            } else {
>>>>>> + textUI.setSyntaxEditingStyle(**SyntaxConstants.SYNTAX_STYLE_**NONE);
>>>>>> +            }
>>>>>> +
>>>>>> +        }
>>>>>> +    }
>>>>>>    }
>>>>>>
>>>>>> Modified:
>>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**WrapperEditor.java
>>>>>>
>>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/core/org/**
>>>>>> apache/jmeter/testbeans/gui/**WrapperEditor.java?rev=**
>>>>>>
>>>>>> 1500124&r1=1500123&r2=1500124&**view=diff<http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>>>
>>>>>> ==============================**==============================**==================
>>>>>>
>>>>>> ---
>>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**WrapperEditor.java
>>>>>> (original)
>>>>>> +++
>>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**WrapperEditor.java
>>>>>> Fri Jul  5 20:39:54 2013
>>>>>> @@ -445,4 +445,8 @@ class WrapperEditor extends PropertyEdit
>>>>>>                guiEditor.setAsText(**lastValidValue);
>>>>>>            }
>>>>>>        }
>>>>>> +
>>>>>> +    public void addChangeListener(**PropertyChangeListener listener)
>>>>>> {
>>>>>> +        guiEditor.**addPropertyChangeListener(**listener);
>>>>>> +    }
>>>>>>    }
>>>>>> \ No newline at end of file
>>>>>>
>>>>>> Added: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>>>> textarea.properties
>>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/core/org/**
>>>>>> apache/jmeter/testbeans/gui/**textarea.properties?rev=**
>>>>>>
>>>>>> 1500124&view=auto<http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties?rev=1500124&view=auto>
>>>>>>
>>>>>> ==============================**==============================**==================
>>>>>>
>>>>>> ---
>>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**textarea.properties
>>>>>> (added)
>>>>>> +++
>>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**textarea.properties
>>>>>> Fri Jul  5 20:39:54 2013
>>>>>> @@ -0,0 +1,52 @@
>>>>>> +#
>>>>>> +# Licensed to the Apache Software Foundation (ASF) under one or more
>>>>>> +# contributor license agreements.  See the NOTICE file distributed
>>>>>> with
>>>>>> +# this work for additional information regarding copyright ownership.
>>>>>> +# The ASF licenses this file to You 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<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.
>>>>>> +#
>>>>>> +
>>>>>> +javascript = text/javascript
>>>>>> +js = text/javascript
>>>>>> +jacl = text/tcl
>>>>>> +netrexx = text/plain
>>>>>> +java = text/java
>>>>>> +javaclass = text/java
>>>>>> +bml = text/xml
>>>>>> +vbscript = text/vb
>>>>>> +jscript = text/javascript
>>>>>> +perlscript = text/perl
>>>>>> +perl = text/perl
>>>>>> +jpython = text/python
>>>>>> +jython = text/python
>>>>>> +lotusscript = text/vb
>>>>>> +xslt = text/mxml
>>>>>> +pnuts = text/java
>>>>>> +beanbasic = text/java
>>>>>> +beanshell = text/java
>>>>>> +bsh = text/unix
>>>>>> +ruby = text/ruby
>>>>>> +judoscript = text/plain
>>>>>> +groovy = text/groovy
>>>>>> +objectscript = text/javascript
>>>>>> +prolog = text/plain
>>>>>> +rexx = text/plain
>>>>>> +applescript = text/plain
>>>>>> +ecmascript = text/actionscript
>>>>>> +jexl = text/java
>>>>>> +jexl2 = text/java
>>>>>> +rhino = text/javascript
>>>>>> +edit = text/unix
>>>>>> +lua = text/lua
>>>>>> +php = text/php
>>>>>> +lisp = text/lisp
>>>>>> +sql = text/sql
>>>>>> \ No newline at end of file
>>>>>>
>>>>>> Propchange: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>>>> textarea.properties
>>>>>>
>>>>>> ------------------------------**------------------------------**------------------
>>>>>>
>>>>>>       svn:eol-style = native
>>>>>>
>>>>>> Propchange: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>>>> textarea.properties
>>>>>>
>>>>>> ------------------------------**------------------------------**------------------
>>>>>>
>>>>>>       svn:mime-type = text/plain
>>>>>>
>>>>>> Modified: jmeter/trunk/src/protocol/**java/org/apache/jmeter/**
>>>>>> protocol/java/control/gui/**BeanShellSamplerGui.java
>>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/protocol/**
>>>>>> java/org/apache/jmeter/**protocol/java/control/gui/**
>>>>>> BeanShellSamplerGui.java?rev=**1500124&r1=1500123&r2=1500124&**
>>>>>>
>>>>>> view=diff<http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>>>
>>>>>> ==============================**==============================**==================
>>>>>>
>>>>>> --- jmeter/trunk/src/protocol/**java/org/apache/jmeter/**
>>>>>> protocol/java/control/gui/**BeanShellSamplerGui.java (original)
>>>>>> +++ jmeter/trunk/src/protocol/**java/org/apache/jmeter/**
>>>>>> protocol/java/control/gui/**BeanShellSamplerGui.java Fri Jul  5
>>>>>> 20:39:54 2013
>>>>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>>>>    import javax.swing.JCheckBox;
>>>>>>    import javax.swing.JLabel;
>>>>>>    import javax.swing.JPanel;
>>>>>> -import javax.swing.JScrollPane;
>>>>>>    import javax.swing.JTextArea;
>>>>>>    import javax.swing.JTextField;
>>>>>>
>>>>>> @@ -33,6 +32,9 @@ import org.apache.jmeter.samplers.**gui.Ab
>>>>>>    import org.apache.jmeter.testelement.**TestElement;
>>>>>>    import org.apache.jmeter.testelement.**property.BooleanProperty;
>>>>>>    import org.apache.jmeter.util.**JMeterUtils;
>>>>>> +import org.fife.ui.rsyntaxtextarea.**RSyntaxTextArea;
>>>>>> +import org.fife.ui.rsyntaxtextarea.**SyntaxConstants;
>>>>>> +import org.fife.ui.rtextarea.**RTextScrollPane;
>>>>>>
>>>>>>    public class BeanShellSamplerGui extends AbstractSamplerGui {
>>>>>>
>>>>>> @@ -44,7 +46,7 @@ public class BeanShellSamplerGui extends
>>>>>>
>>>>>>        private JTextField parameters;// parameters to pass to script
>>>>>> file (or script)
>>>>>>
>>>>>> -    private JTextArea scriptField;// script area
>>>>>> +    private RSyntaxTextArea scriptField;// script area
>>>>>>
>>>>>>        public BeanShellSamplerGui() {
>>>>>>            init();
>>>>>> @@ -153,8 +155,9 @@ public class BeanShellSamplerGui extends
>>>>>>        }
>>>>>>
>>>>>>        private JPanel createScriptPanel() {
>>>>>> -        scriptField = new JTextArea();
>>>>>> -        scriptField.setRows(4);
>>>>>> +        scriptField = new RSyntaxTextArea(20, 20);
>>>>>> +
>>>>>> scriptField.**setSyntaxEditingStyle(**SyntaxConstants.SYNTAX_STYLE_**
>>>>>> JAVA);
>>>>>> +        scriptField.**setCodeFoldingEnabled(true);
>>>>>>            scriptField.setLineWrap(true);
>>>>>>            scriptField.setWrapStyleWord(**true);
>>>>>>
>>>>>> @@ -163,7 +166,7 @@ public class BeanShellSamplerGui extends
>>>>>>
>>>>>>            JPanel panel = new JPanel(new BorderLayout());
>>>>>>            panel.add(label, BorderLayout.NORTH);
>>>>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>>>>> +        panel.add(new RTextScrollPane(scriptField),
>>>>>> BorderLayout.CENTER);
>>>>>>
>>>>>>            JTextArea explain = new JTextArea(JMeterUtils.**
>>>>>> getResString("bsh_script_**variables")); //$NON-NLS-1$
>>>>>>            explain.setLineWrap(true);
>>>>>>
>>>>>> Modified: jmeter/trunk/xdocs/changes.xml
>>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/xdocs/changes.**
>>>>>>
>>>>>> xml?rev=1500124&r1=1500123&r2=**1500124&view=diff<http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>>>
>>>>>> ==============================**==============================**==================
>>>>>>
>>>>>> --- jmeter/trunk/xdocs/changes.xml (original)
>>>>>> +++ jmeter/trunk/xdocs/changes.xml Fri Jul  5 20:39:54 2013
>>>>>> @@ -224,6 +224,7 @@ Transaction Controller now sets Response
>>>>>>    <li><bugzilla>54990</bugzilla> - Download large files avoiding
>>>>>> outOfMemory</li>
>>>>>>    <li><bugzilla>55085</bugzilla> - UX Improvement : Ability to create
>>>>>> New Test Plan from Templates</li>
>>>>>>    <li><bugzilla>55172</bugzilla> - Provide plugins a way to add Top
>>>>>> Menu and menu items</li>
>>>>>> +<li><bugzilla>55202</**bugzilla> - Add syntax color for scripts
>>>>>> elements (BeanShell, BSF, and JSR223) with RSyntaxTextArea</li>
>>>>>>    </ul>
>>>>>>
>>>>>>    <h2>Non-functional changes</h2>
>>>>>>
>>>>>>
>>>>>>
>>>>
>

Re: svn commit: r1500124 - in /jmeter/trunk: ./ res/maven/ src/components/org/apache/jmeter/assertions/gui/ src/core/org/apache/jmeter/testbeans/gui/ src/protocol/java/org/apache/jmeter/protocol/java/control/gui/ xdocs/

Posted by Milamber <mi...@apache.org>.
Le 05/07/2013 22:34, Philippe Mouawad a ecrit :
> maybe we can open a bug on pom content no ?

I don't know. The publication of artifact (pom) seems to be the 
responsibility to the author of uploaded jar... I prefer wait the answer 
of Filesoft team.

>
> On Friday, July 5, 2013, Milamber wrote:
>
>> Le 05/07/2013 22:20, Milamber a ecrit :
>>
>>> Le 05/07/2013 21:55, sebb a ecrit :
>>>
>>>> On 5 July 2013 21:39, <mi...@apache.org> wrote:
>>>>
>>>>> Author: milamber
>>>>> Date: Fri Jul  5 20:39:54 2013
>>>>> New Revision: 1500124
>>>>>
>>>>> URL: http://svn.apache.org/r1500124
>>>>> Log:
>>>>> Bug 55202 - Proposal to add RSyntaxTextArea for BeanShell, BSF, and
>>>>> JSR223 elements
>>>>> Bugzilla Id: 55202
>>>>>
>>>> -1
>>>>
>>>> I think the jar needs to be obtained somewhere other than Maven
>>>> Central, as the pom license there says LGPL.
>>>>
>> Ah... I just saw the .pom on maven repo...
>>
>>
>>
>>> The mvnrepository.com website (whish said LGPL) is not official Maven
>>> repository (and not affiliate with Maven/ASF if you see the whois
>>> information).
>>> You cannot trust on informations in this site.
>>>
>>> The official website indicate the license (modified BSD), and I have
>>> added the same version than the binary release (in zip file):
>>> http://sourceforge.net/**projects/rsyntaxtextarea/**
>>> files/rsyntaxtextarea-demo/2.**0.7/<http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea-demo/2.0.7/>
>>>
>>> Unfortunately, I don't found a direct link to the jar on official
>>> website. I think we can keep the download from Maven repo2 (it's not the
>>> mvvrepository.com site, and don't show any Lgpl license for this jar).
>>>
>>>
>>>> Please remove the download part for now.
>>>>
>>>>   Added:
>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**textarea.properties
>>>>> (with props)
>>>>> Modified:
>>>>>       jmeter/trunk/LICENSE
>>>>>       jmeter/trunk/build.properties
>>>>>       jmeter/trunk/build.xml
>>>>>       jmeter/trunk/eclipse.classpath
>>>>>       jmeter/trunk/res/maven/**ApacheJMeter_parent.pom
>>>>> jmeter/trunk/src/components/**org/apache/jmeter/assertions/**
>>>>> gui/BeanShellAssertionGui.java
>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>>> GenericTestBeanCustomizer.java
>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>>> TextAreaEditor.java
>>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**WrapperEditor.java
>>>>>
>>>>> jmeter/trunk/src/protocol/**java/org/apache/jmeter/**
>>>>> protocol/java/control/gui/**BeanShellSamplerGui.java
>>>>>       jmeter/trunk/xdocs/changes.xml
>>>>>
>>>>> Modified: jmeter/trunk/LICENSE
>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/LICENSE?rev=**
>>>>> 1500124&r1=1500123&r2=1500124&**view=diff<http://svn.apache.org/viewvc/jmeter/trunk/LICENSE?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>> ==============================**==============================**==================
>>>>>
>>>>> --- jmeter/trunk/LICENSE [utf-8] (original)
>>>>> +++ jmeter/trunk/LICENSE [utf-8] Fri Jul  5 20:39:54 2013
>>>>> @@ -1565,7 +1565,7 @@ The jsoup code-base (include source and
>>>>>    distributed under the open source MIT license as described below.
>>>>>    The MIT License
>>>>>
>>>>> -Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>>> +Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>>>
>>>>>    Permission is hereby granted, free of charge, to any person obtaining
>>>>> a
>>>>>    copy of this software and associated documentation files (the
>>>>> "Software"),
>>>>> @@ -1926,7 +1926,7 @@ As a special exception, the copyright ho
>>>>>    Open Icon Library from
>>>>>    http://openiconlibrary.**sourceforge.net/<http://openiconlibrary.sourceforge.net/>
>>>>>
>>>>> -Detailled Licenses information:
>>>>> +Detailed Licenses information:
>>>>>    http://openiconlibrary.**sourceforge.net/LICENSES.html<http://openiconlibrary.sourceforge.net/LICENSES.html>
>>>>>
>>>>>    ============ Packages used by Apache JMeter =========
>>>>> @@ -2029,3 +2029,39 @@ UNLESS OTHERWISE MUTUALLY AGREED TO BY T
>>>>>
>>>>> ##############################**##############################**
>>>>> ####################
>>>>>
>>>>> +RSyntaxTextArea License
>>>>> +=============================**============
>>>>> +
>>>>> +RSyntaxTextArea  from
>>>>> +http://fifesoft.com/**rsyntaxtextarea/<http://fifesoft.com/rsyntaxtextarea/>
>>>>> +
>>>>> +Detailed License information:
>>>>> +http://fifesoft.com/**rsyntaxtextarea/**RSyntaxTextArea.License.txt<http://fifesoft.com/rsyntaxtextarea/RSyntaxTextArea.License.txt>
>>>>> +
>>>>> +============== RSyntaxTextArea  License =============
>>>>> +Copyright (c) 2012, Robert Futrell
>>>>> +All rights reserved.
>>>>> +
>>>>> +Redistribution and use in source and binary forms, with or without
>>>>> +modification, are permitted provided that the following conditions are
>>>>> met:
>>>>> +    * Redistributions of source code must retain the above copyright
>>>>> +      notice, this list of conditions and the following disclaimer.
>>>>> +    * Redistributions in binary form must reproduce the above copyright
>>>>> +      notice, this list of conditions and the following disclaimer in
>>>>> the
>>>>> +      documentation and/or other materials provided with the
>>>>> distribution.
>>>>> +    * Neither the name of the author nor the names of its contributors
>>>>> may
>>>>> +      be used to endorse or promote products derived from this software
>>>>> +      without specific prior written permission.
>>>>> +
>>>>> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
>>>>> "AS IS" AND
>>>>> +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
>>>>> IMPLIED
>>>>> +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>>>>> +DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
>>>>> +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
>>>>> DAMAGES
>>>>> +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
>>>>> SERVICES;
>>>>> +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
>>>>> CAUSED AND
>>>>> +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
>>>>> TORT
>>>>> +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
>>>>> OF THIS
>>>>> +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>>>>> +
>>>>> +#############################**##############################**#####################
>>>>>
>>>>> \ No newline at end of file
>>>>>
>>>>> Modified: jmeter/trunk/build.properties
>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/build.properties?**
>>>>> rev=1500124&r1=1500123&r2=**1500124&view=diff<http://svn.apache.org/viewvc/jmeter/trunk/build.properties?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>> ==============================**==============================**==================
>>>>>
>>>>> --- jmeter/trunk/build.properties (original)
>>>>> +++ jmeter/trunk/build.properties Fri Jul  5 20:39:54 2013
>>>>> @@ -223,6 +223,11 @@ mongo-java-driver.jar
>>>>>           = mongo-java-d
>>>>>    mongo-java-driver.loc                                  =
>>>>> ${maven2.repo}/org/mongodb/**mongo-java-driver/${mongo-**
>>>>> java-driver.version}
>>>>>    mongo-java-driver.md5                                  =
>>>>> fed5e6d998256e285396b4e0d81537**bd
>>>>>
>>>>> +rsyntaxtextarea.version     = 2.0.7
>>>>> +rsyntaxtextarea.jar         = rsyntaxtextarea-${**
>>>>> rsyntaxtextarea.version}.jar
>>>>> +rsyntaxtextarea.loc         = ${maven2.repo}/com/fifesoft/**
>>>>> rsyntaxtextarea/${**rsyntaxtextarea.version}
>>>>> +rsyntaxtextarea.md5         = 00ab3c8ce58bb8bb1dbb3ae506f06d**30
>>>>>
>>>> -1
>>>>
>>>> I don't think we can download from there until the license issue is
>>>> sorted out.
>>>>
>>>>   +
>>>>>    slf4j-api.version           = 1.7.5
>>>>>    slf4j-api.jar               = slf4j-api-${slf4j-api.version}**.jar
>>>>>    slf4j-api.loc               = ${maven2.repo}/org/slf4j/**
>>>>> slf4j-api/${slf4j-api.version}
>>>>>
>>>>> Modified: jmeter/trunk/build.xml
>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/build.xml?rev=**
>>>>> 1500124&r1=1500123&r2=1500124&**view=diff<http://svn.apache.org/viewvc/jmeter/trunk/build.xml?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>> ==============================**==============================**==================
>>>>>
>>>>> --- jmeter/trunk/build.xml (original)
>>>>> +++ jmeter/trunk/build.xml Fri Jul  5 20:39:54 2013
>>>>> @@ -387,6 +387,7 @@
>>>>>        <include name="${lib.dir}/${junit.jar}"**/>
>>>>>        <include name="${lib.dir}/${logkit.jar}**"/>
>>>>>        <include name="${lib.dir}/${mongo-java-**driver.jar}"/>
>>>>> +    <include name="${lib.dir}/${**rsyntaxtextarea.jar}"/>
>>>>>        <include name="${lib.dir}/${serializer.**jar}"/>
>>>>>        <include name="${lib.dir}/${slf4j-api.**jar}"/>
>>>>>        <include name="${lib.dir}/${soap.jar}"/**>
>>>>> @@ -454,6 +455,7 @@
>>>>>        <pathelement location="${lib.dir}/${junit.**jar}"/>
>>>>>        <pathelement location="${lib.dir}/${logkit.**jar}"/>
>>>>>        <pathelement location="${lib.dir}/${mongo-**java-driver.jar}"/>
>>>>> +    <pathelement location="${lib.dir}/${**rsyntaxtextarea.jar}"/>
>>>>>        <pathelement location="${lib.dir}/${**serializer.jar}"/>
>>>>>        <pathelement location="${lib.dir}/${slf4j-**api.jar}"/>
>>>>>        <pathelement location="${lib.dir}/${soap.**jar}"/>
>>>>> @@ -2879,6 +2881,7 @@ run JMeter unless all the JMeter jars ar
>>>>>            <process_jarfile jarname="junit"/>
>>>>>            <process_jarfile jarname="logkit"/>
>>>>>            <process_jarfile jarname="mongo-java-driver"/>
>>>>> +        <process_jarfile jarname="rsyntaxtextarea"/>
>>>>>            <process_jarfile jarname="serializer"/>
>>>>>           <process_jarfile jarname="slf4j-api"/>
>>>>>            <process_jarfile jarname="soap"/>
>>>>>
>>>>> Modified: jmeter/trunk/eclipse.classpath
>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/eclipse.**
>>>>> classpath?rev=1500124&r1=**1500123&r2=1500124&view=diff<http://svn.apache.org/viewvc/jmeter/trunk/eclipse.classpath?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>> ==============================**==============================**==================
>>>>>
>>>>> --- jmeter/trunk/eclipse.classpath (original)
>>>>> +++ jmeter/trunk/eclipse.classpath Fri Jul  5 20:39:54 2013
>>>>> @@ -76,6 +76,7 @@
>>>>>           <classpathentry kind="lib" path="lib/logkit-2.0.jar"/>
>>>>>           <classpathentry kind="lib" path="lib/mail-1.4.4.jar"/>
>>>>>        <classpathentry kind="lib" path="lib/mongo-java-driver-2.**
>>>>> 11.2.jar"/>
>>>>> +    <classpathentry kind="lib" path="lib/rsyntaxtextarea-2.0.**
>>>>> 7.jar"/>
>>>>>           <classpathentry kind="lib" path="lib/oro-2.0.8.jar"/>
>>>>>           <classpathentry kind="lib" path="lib/serializer-2.7.1.**jar"/>
>>>>>        <classpathentry kind="lib" path="lib/slf4j-api-1.7.5.jar"**/>
>>>>>
>>>>> Modified: jmeter/trunk/res/maven/**ApacheJMeter_parent.pom
>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/res/maven/**
>>>>> ApacheJMeter_parent.pom?rev=**1500124&r1=1500123&r2=1500124&**view=diff<http://svn.apache.org/viewvc/jmeter/trunk/res/maven/ApacheJMeter_parent.pom?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>> ==============================**==============================**==================
>>>>>
>>>>> --- jmeter/trunk/res/maven/**ApacheJMeter_parent.pom (original)
>>>>> +++ jmeter/trunk/res/maven/**ApacheJMeter_parent.pom Fri Jul  5
>>>>> 20:39:54 2013
>>>>> @@ -84,6 +84,7 @@ under the License.
>>>>>          <junit.version>4.11</junit.**version>
>>>>>          <logkit.version>2.0</logkit.**version>
>>>>> <mongo-java-driver.version>2.**11.2</mongo-java-driver.**version>
>>>>> + <rsyntaxtextarea.version>2.0.**7</rsyntaxtextarea.version>
>>>>>          <slf4j.version>1.7.5</slf4j.**version>
>>>>>          <soap.version>2.3.1</soap.**version>
>>>>>          <tidy.version>r938</tidy.**version>
>>>>> @@ -357,6 +358,11 @@ under the License.
>>>>> <version>${mongo-java-driver.**version}</version>
>>>>>          </dependency>
>>>>>          <dependency>
>>>>> +        <groupId>com.fifesoft</**groupId>
>>>>> +        <artifactId>rsyntaxtextarea</**artifactId>
>>>>> + <version>${rsyntaxtextarea.**version}</version>
>>>>> +      </dependency>
>>>>> +      <dependency>
>>>>>            <groupId>org.slf4j</groupId>
>>>>>            <artifactId>slf4j-api</**artifactId>
>>>>>            <version>${slf4j.version}</**version>
>>>>>
>>>>> Modified: jmeter/trunk/src/components/**org/apache/jmeter/assertions/**
>>>>> gui/BeanShellAssertionGui.java
>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/components/**
>>>>> org/apache/jmeter/assertions/**gui/BeanShellAssertionGui.**
>>>>> java?rev=1500124&r1=1500123&**r2=1500124&view=diff<http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>> ==============================**==============================**==================
>>>>>
>>>>> --- jmeter/trunk/src/components/**org/apache/jmeter/assertions/**gui/BeanShellAssertionGui.java
>>>>> (original)
>>>>> +++ jmeter/trunk/src/components/**org/apache/jmeter/assertions/**gui/BeanShellAssertionGui.java
>>>>> Fri Jul  5 20:39:54 2013
>>>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>>>    import javax.swing.JCheckBox;
>>>>>    import javax.swing.JLabel;
>>>>>    import javax.swing.JPanel;
>>>>> -import javax.swing.JScrollPane;
>>>>>    import javax.swing.JTextArea;
>>>>>    import javax.swing.JTextField;
>>>>>
>>>>> @@ -32,6 +31,9 @@ import org.apache.jmeter.assertions.**Bean
>>>>>    import org.apache.jmeter.testelement.**TestElement;
>>>>>    import org.apache.jmeter.testelement.**property.BooleanProperty;
>>>>>    import org.apache.jmeter.util.**JMeterUtils;
>>>>> +import org.fife.ui.rsyntaxtextarea.**RSyntaxTextArea;
>>>>> +import org.fife.ui.rsyntaxtextarea.**SyntaxConstants;
>>>>> +import org.fife.ui.rtextarea.**RTextScrollPane;
>>>>>
>>>>>    public class BeanShellAssertionGui extends AbstractAssertionGui {
>>>>>
>>>>> @@ -43,7 +45,7 @@ public class BeanShellAssertionGui exten
>>>>>
>>>>>        private JTextField parameters;// parameters to pass to script
>>>>> file (or script)
>>>>>
>>>>> -    private JTextArea scriptField;// script area
>>>>> +    private RSyntaxTextArea scriptField; // script area
>>>>>
>>>>>        public BeanShellAssertionGui() {
>>>>>            init();
>>>>> @@ -139,8 +141,10 @@ public class BeanShellAssertionGui exten
>>>>>        }
>>>>>
>>>>>        private JPanel createScriptPanel() {
>>>>> -        scriptField = new JTextArea();
>>>>> -        scriptField.setRows(4);
>>>>> +        scriptField = new RSyntaxTextArea(20,20);
>>>>> + scriptField.**setSyntaxEditingStyle(**SyntaxConstants.SYNTAX_STYLE_**
>>>>> JAVA);
>>>>> +        scriptField.**setCodeFoldingEnabled(true);
>>>>> +        scriptField.**setAntiAliasingEnabled(true);
>>>>>            scriptField.setLineWrap(true);
>>>>>            scriptField.setWrapStyleWord(**true);
>>>>>
>>>>> @@ -149,7 +153,7 @@ public class BeanShellAssertionGui exten
>>>>>
>>>>>            JPanel panel = new JPanel(new BorderLayout());
>>>>>            panel.add(label, BorderLayout.NORTH);
>>>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>>>> +        panel.add(new RTextScrollPane(scriptField),
>>>>> BorderLayout.CENTER);
>>>>>
>>>>>            JTextArea explain = new JTextArea(JMeterUtils.**
>>>>> getResString("bsh_assertion_**script_variables")); //$NON-NLS-1$
>>>>>            explain.setLineWrap(true);
>>>>>
>>>>> Modified: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>>> GenericTestBeanCustomizer.java
>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/core/org/**
>>>>> apache/jmeter/testbeans/gui/**GenericTestBeanCustomizer.**
>>>>> java?rev=1500124&r1=1500123&**r2=1500124&view=diff<http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>> ==============================**==============================**==================
>>>>>
>>>>> --- jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**GenericTestBeanCustomizer.java
>>>>> (original)
>>>>> +++ jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**GenericTestBeanCustomizer.java
>>>>> Fri Jul  5 20:39:54 2013
>>>>> @@ -203,6 +203,8 @@ public class GenericTestBeanCustomizer e
>>>>>
>>>>>            // Obtain the propertyEditors:
>>>>>            editors = new PropertyEditor[descriptors.**length];
>>>>> +        int scriptLanguageIndex = 0;
>>>>> +        int textAreaEditorIndex = 0;
>>>>>            for (int i = 0; i < descriptors.length; i++) { // Index is
>>>>> also used for accessing editors array
>>>>>                PropertyDescriptor descriptor = descriptors[i];
>>>>>                String name = descriptor.getName();
>>>>> @@ -218,7 +220,7 @@ public class GenericTestBeanCustomizer e
>>>>>                PropertyEditor propertyEditor;
>>>>>                Object guiType = descriptor.getValue(GUITYPE);
>>>>>                if (guiType instanceof TypeEditor) {
>>>>> -                propertyEditor = ((TypeEditor) guiType).getInstance(**
>>>>> descriptor);
>>>>> +                propertyEditor = ((TypeEditor) guiType).getInstance(**
>>>>> descriptor);
>>>>>                } else {
>>>>>                    Class<?> editorClass = descriptor.**
>>>>> getPropertyEditorClass();
>>>>>                    if (log.isDebugEnabled()) {
>>>>> @@ -267,6 +269,10 @@ public class GenericTestBeanCustomizer e
>>>>>                {
>>>>> ((TestBeanPropertyEditor)**propertyEditor).setDescriptor(**descriptor);
>>>>>                }
>>>>> +
>>>>> +            if (propertyEditor instanceof TextAreaEditor) {
>>>>> +                textAreaEditorIndex = i;
>>>>> +            }
>>>>>                if (propertyEditor.**getCustomEditor() instanceof
>>>>> JScrollPane) {
>>>>>                    scrollerCount++;
>>>>>                }
>>>>> @@ -276,6 +282,17 @@ public class GenericTestBeanCustomizer e
>>>>>                // Initialize the editor with the provided default value
>>>>> or null:
>>>>>                setEditorValue(i, descriptor.getValue(DEFAULT));
>>>>>
>>>>> +            if (name.equals("scriptLanguage")**) {
>>>>> +                scriptLanguageIndex = i;
>>>>> +            }
>>>>> +
>>>>> +        }
>>>>> +        // In case of BSF and JSR elements i want to add
>>>>> textAreaEditor as a listener to scriptLanguage ComboBox.
>>>>> +        String beanName = this.beanInfo.**
>>>>> getBeanDescriptor().getName();
>>>>> +        if (beanName.startsWith("BSF") ||
>>>>> beanName.startsWith("JSR223")) { // $NON-NLS-1$ $NON-NLS-2$
>>>>> +            WrapperEditor we = (WrapperEditor)
>>>>> editors[scriptLanguageIndex];
>>>>> +            TextAreaEditor tae = (TextAreaEditor)
>>>>> editors[textAreaEditorIndex];
>>>>> +            we.addChangeListener(tae);
>>>>>            }
>>>>>
>>>>>            // Obtain message formats:
>>>>>
>>>>> Modified: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>>> TextAreaEditor.java
>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/core/org/**
>>>>> apache/jmeter/testbeans/gui/**TextAreaEditor.java?rev=**
>>>>> 1500124&r1=1500123&r2=1500124&**view=diff<http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>> ==============================**==============================**==================
>>>>>
>>>>> --- jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**TextAreaEditor.java
>>>>> (original)
>>>>> +++ jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**TextAreaEditor.java
>>>>> Fri Jul  5 20:39:54 2013
>>>>> @@ -24,17 +24,23 @@ package org.apache.jmeter.testbeans.**gui;
>>>>>    import java.awt.Component;
>>>>>    import java.awt.event.FocusEvent;
>>>>>    import java.awt.event.FocusListener;
>>>>> +import java.beans.**PropertyChangeEvent;
>>>>> +import java.beans.**PropertyChangeListener;
>>>>>    import java.beans.**PropertyEditorSupport;
>>>>> +import java.util.Properties;
>>>>>
>>>>> -import javax.swing.JScrollPane;
>>>>> -import javax.swing.JTextArea;
>>>>> -import javax.swing.**ScrollPaneConstants;
>>>>> +import org.apache.jmeter.util.**JMeterUtils;
>>>>> +import org.fife.ui.rsyntaxtextarea.**RSyntaxTextArea;
>>>>> +import org.fife.ui.rsyntaxtextarea.**SyntaxConstants;
>>>>> +import org.fife.ui.rtextarea.**RTextScrollPane;
>>>>>
>>>>> -public class TextAreaEditor extends PropertyEditorSupport implements
>>>>> FocusListener {
>>>>> +public class TextAreaEditor extends PropertyEditorSupport implements
>>>>> FocusListener, PropertyChangeListener {
>>>>>
>>>>> -    private JTextArea textUI;
>>>>> +    private RSyntaxTextArea textUI;
>>>>>
>>>>> -    private JScrollPane scroller;
>>>>> +    private RTextScrollPane scroller;
>>>>> +
>>>>> +    private Properties languageProperties;
>>>>>
>>>>>        /** {@inheritDoc} */
>>>>>        @Override
>>>>> @@ -48,12 +54,17 @@ public class TextAreaEditor extends Prop
>>>>>        }
>>>>>
>>>>>        private final void init() {// called from ctor, so must not be
>>>>> overridable
>>>>> -        textUI = new JTextArea();
>>>>> +        textUI = new RSyntaxTextArea(20, 20);
>>>>> +        textUI.discardAllEdits();
>>>>> + textUI.setSyntaxEditingStyle(**SyntaxConstants.SYNTAX_STYLE_**JAVA);
>>>>> +        textUI.setCodeFoldingEnabled(**true);
>>>>> +        textUI.setAntiAliasingEnabled(**true);
>>>>>            textUI.addFocusListener(this);
>>>>>            textUI.setWrapStyleWord(true);
>>>>>            textUI.setLineWrap(true);
>>>>> -        scroller = new JScrollPane(textUI,
>>>>> ScrollPaneConstants.VERTICAL_**SCROLLBAR_AS_NEEDED,
>>>>> - ScrollPaneConstants.**HORIZONTAL_SCROLLBAR_NEVER);
>>>>> +        scroller = new RTextScrollPane(textUI);
>>>>> +        scroller.**setFoldIndicatorEnabled(true);
>>>>> +        languageProperties = JMeterUtils.loadProperties("**
>>>>> org/apache/jmeter/testbeans/**gui/textarea.properties"); //$NON-NLS-1$
>>>>>        }
>>>>>
>>>>>        /**
>>>>> @@ -112,4 +123,19 @@ public class TextAreaEditor extends Prop
>>>>>        public boolean supportsCustomEditor() {
>>>>>            return true;
>>>>>        }
>>>>> +
>>>>> +    @Override
>>>>> +    public void propertyChange(**PropertyChangeEvent evt) {
>>>>> +        Object source = evt.getSource();
>>>>> +        if (source instanceof ComboStringEditor && source != null) {
>>>>> +            ComboStringEditor cse = (ComboStringEditor) source;
>>>>> +            String lang = cse.getAsText().toLowerCase();
>>>>> +            if (languageProperties.**containsKey(lang)) {
>>>>> + textUI.setSyntaxEditingStyle(**languageProperties.**
>>>>> getProperty(lang));
>>>>> +            } else {
>>>>> + textUI.setSyntaxEditingStyle(**SyntaxConstants.SYNTAX_STYLE_**NONE);
>>>>> +            }
>>>>> +
>>>>> +        }
>>>>> +    }
>>>>>    }
>>>>>
>>>>> Modified: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**WrapperEditor.java
>>>>>
>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/core/org/**
>>>>> apache/jmeter/testbeans/gui/**WrapperEditor.java?rev=**
>>>>> 1500124&r1=1500123&r2=1500124&**view=diff<http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>> ==============================**==============================**==================
>>>>>
>>>>> --- jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**WrapperEditor.java
>>>>> (original)
>>>>> +++ jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**WrapperEditor.java
>>>>> Fri Jul  5 20:39:54 2013
>>>>> @@ -445,4 +445,8 @@ class WrapperEditor extends PropertyEdit
>>>>>                guiEditor.setAsText(**lastValidValue);
>>>>>            }
>>>>>        }
>>>>> +
>>>>> +    public void addChangeListener(**PropertyChangeListener listener) {
>>>>> +        guiEditor.**addPropertyChangeListener(**listener);
>>>>> +    }
>>>>>    }
>>>>> \ No newline at end of file
>>>>>
>>>>> Added: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>>> textarea.properties
>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/core/org/**
>>>>> apache/jmeter/testbeans/gui/**textarea.properties?rev=**
>>>>> 1500124&view=auto<http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties?rev=1500124&view=auto>
>>>>> ==============================**==============================**==================
>>>>>
>>>>> --- jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**textarea.properties
>>>>> (added)
>>>>> +++ jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**textarea.properties
>>>>> Fri Jul  5 20:39:54 2013
>>>>> @@ -0,0 +1,52 @@
>>>>> +#
>>>>> +# Licensed to the Apache Software Foundation (ASF) under one or more
>>>>> +# contributor license agreements.  See the NOTICE file distributed with
>>>>> +# this work for additional information regarding copyright ownership.
>>>>> +# The ASF licenses this file to You 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<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.
>>>>> +#
>>>>> +
>>>>> +javascript = text/javascript
>>>>> +js = text/javascript
>>>>> +jacl = text/tcl
>>>>> +netrexx = text/plain
>>>>> +java = text/java
>>>>> +javaclass = text/java
>>>>> +bml = text/xml
>>>>> +vbscript = text/vb
>>>>> +jscript = text/javascript
>>>>> +perlscript = text/perl
>>>>> +perl = text/perl
>>>>> +jpython = text/python
>>>>> +jython = text/python
>>>>> +lotusscript = text/vb
>>>>> +xslt = text/mxml
>>>>> +pnuts = text/java
>>>>> +beanbasic = text/java
>>>>> +beanshell = text/java
>>>>> +bsh = text/unix
>>>>> +ruby = text/ruby
>>>>> +judoscript = text/plain
>>>>> +groovy = text/groovy
>>>>> +objectscript = text/javascript
>>>>> +prolog = text/plain
>>>>> +rexx = text/plain
>>>>> +applescript = text/plain
>>>>> +ecmascript = text/actionscript
>>>>> +jexl = text/java
>>>>> +jexl2 = text/java
>>>>> +rhino = text/javascript
>>>>> +edit = text/unix
>>>>> +lua = text/lua
>>>>> +php = text/php
>>>>> +lisp = text/lisp
>>>>> +sql = text/sql
>>>>> \ No newline at end of file
>>>>>
>>>>> Propchange: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>>> textarea.properties
>>>>> ------------------------------**------------------------------**------------------
>>>>>
>>>>>       svn:eol-style = native
>>>>>
>>>>> Propchange: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>>> textarea.properties
>>>>> ------------------------------**------------------------------**------------------
>>>>>
>>>>>       svn:mime-type = text/plain
>>>>>
>>>>> Modified: jmeter/trunk/src/protocol/**java/org/apache/jmeter/**
>>>>> protocol/java/control/gui/**BeanShellSamplerGui.java
>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/protocol/**
>>>>> java/org/apache/jmeter/**protocol/java/control/gui/**
>>>>> BeanShellSamplerGui.java?rev=**1500124&r1=1500123&r2=1500124&**
>>>>> view=diff<http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>> ==============================**==============================**==================
>>>>>
>>>>> --- jmeter/trunk/src/protocol/**java/org/apache/jmeter/**
>>>>> protocol/java/control/gui/**BeanShellSamplerGui.java (original)
>>>>> +++ jmeter/trunk/src/protocol/**java/org/apache/jmeter/**
>>>>> protocol/java/control/gui/**BeanShellSamplerGui.java Fri Jul  5
>>>>> 20:39:54 2013
>>>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>>>    import javax.swing.JCheckBox;
>>>>>    import javax.swing.JLabel;
>>>>>    import javax.swing.JPanel;
>>>>> -import javax.swing.JScrollPane;
>>>>>    import javax.swing.JTextArea;
>>>>>    import javax.swing.JTextField;
>>>>>
>>>>> @@ -33,6 +32,9 @@ import org.apache.jmeter.samplers.**gui.Ab
>>>>>    import org.apache.jmeter.testelement.**TestElement;
>>>>>    import org.apache.jmeter.testelement.**property.BooleanProperty;
>>>>>    import org.apache.jmeter.util.**JMeterUtils;
>>>>> +import org.fife.ui.rsyntaxtextarea.**RSyntaxTextArea;
>>>>> +import org.fife.ui.rsyntaxtextarea.**SyntaxConstants;
>>>>> +import org.fife.ui.rtextarea.**RTextScrollPane;
>>>>>
>>>>>    public class BeanShellSamplerGui extends AbstractSamplerGui {
>>>>>
>>>>> @@ -44,7 +46,7 @@ public class BeanShellSamplerGui extends
>>>>>
>>>>>        private JTextField parameters;// parameters to pass to script
>>>>> file (or script)
>>>>>
>>>>> -    private JTextArea scriptField;// script area
>>>>> +    private RSyntaxTextArea scriptField;// script area
>>>>>
>>>>>        public BeanShellSamplerGui() {
>>>>>            init();
>>>>> @@ -153,8 +155,9 @@ public class BeanShellSamplerGui extends
>>>>>        }
>>>>>
>>>>>        private JPanel createScriptPanel() {
>>>>> -        scriptField = new JTextArea();
>>>>> -        scriptField.setRows(4);
>>>>> +        scriptField = new RSyntaxTextArea(20, 20);
>>>>> + scriptField.**setSyntaxEditingStyle(**SyntaxConstants.SYNTAX_STYLE_**
>>>>> JAVA);
>>>>> +        scriptField.**setCodeFoldingEnabled(true);
>>>>>            scriptField.setLineWrap(true);
>>>>>            scriptField.setWrapStyleWord(**true);
>>>>>
>>>>> @@ -163,7 +166,7 @@ public class BeanShellSamplerGui extends
>>>>>
>>>>>            JPanel panel = new JPanel(new BorderLayout());
>>>>>            panel.add(label, BorderLayout.NORTH);
>>>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>>>> +        panel.add(new RTextScrollPane(scriptField),
>>>>> BorderLayout.CENTER);
>>>>>
>>>>>            JTextArea explain = new JTextArea(JMeterUtils.**
>>>>> getResString("bsh_script_**variables")); //$NON-NLS-1$
>>>>>            explain.setLineWrap(true);
>>>>>
>>>>> Modified: jmeter/trunk/xdocs/changes.xml
>>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/xdocs/changes.**
>>>>> xml?rev=1500124&r1=1500123&r2=**1500124&view=diff<http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>>> ==============================**==============================**==================
>>>>>
>>>>> --- jmeter/trunk/xdocs/changes.xml (original)
>>>>> +++ jmeter/trunk/xdocs/changes.xml Fri Jul  5 20:39:54 2013
>>>>> @@ -224,6 +224,7 @@ Transaction Controller now sets Response
>>>>>    <li><bugzilla>54990</bugzilla> - Download large files avoiding
>>>>> outOfMemory</li>
>>>>>    <li><bugzilla>55085</bugzilla> - UX Improvement : Ability to create
>>>>> New Test Plan from Templates</li>
>>>>>    <li><bugzilla>55172</bugzilla> - Provide plugins a way to add Top
>>>>> Menu and menu items</li>
>>>>> +<li><bugzilla>55202</**bugzilla> - Add syntax color for scripts
>>>>> elements (BeanShell, BSF, and JSR223) with RSyntaxTextArea</li>
>>>>>    </ul>
>>>>>
>>>>>    <h2>Non-functional changes</h2>
>>>>>
>>>>>
>>>>>
>>>


Re: svn commit: r1500124 - in /jmeter/trunk: ./ res/maven/ src/components/org/apache/jmeter/assertions/gui/ src/core/org/apache/jmeter/testbeans/gui/ src/protocol/java/org/apache/jmeter/protocol/java/control/gui/ xdocs/

Posted by Philippe Mouawad <ph...@gmail.com>.
maybe we can open a bug on pom content no ?

On Friday, July 5, 2013, Milamber wrote:

>
> Le 05/07/2013 22:20, Milamber a ecrit :
>
>>
>> Le 05/07/2013 21:55, sebb a ecrit :
>>
>>> On 5 July 2013 21:39, <mi...@apache.org> wrote:
>>>
>>>> Author: milamber
>>>> Date: Fri Jul  5 20:39:54 2013
>>>> New Revision: 1500124
>>>>
>>>> URL: http://svn.apache.org/r1500124
>>>> Log:
>>>> Bug 55202 - Proposal to add RSyntaxTextArea for BeanShell, BSF, and
>>>> JSR223 elements
>>>> Bugzilla Id: 55202
>>>>
>>> -1
>>>
>>> I think the jar needs to be obtained somewhere other than Maven
>>> Central, as the pom license there says LGPL.
>>>
>>
> Ah... I just saw the .pom on maven repo...
>
>
>
>> The mvnrepository.com website (whish said LGPL) is not official Maven
>> repository (and not affiliate with Maven/ASF if you see the whois
>> information).
>> You cannot trust on informations in this site.
>>
>> The official website indicate the license (modified BSD), and I have
>> added the same version than the binary release (in zip file):
>> http://sourceforge.net/**projects/rsyntaxtextarea/**
>> files/rsyntaxtextarea-demo/2.**0.7/<http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea-demo/2.0.7/>
>>
>> Unfortunately, I don't found a direct link to the jar on official
>> website. I think we can keep the download from Maven repo2 (it's not the
>> mvvrepository.com site, and don't show any Lgpl license for this jar).
>>
>>
>>> Please remove the download part for now.
>>>
>>>  Added:
>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**textarea.properties
>>>> (with props)
>>>> Modified:
>>>>      jmeter/trunk/LICENSE
>>>>      jmeter/trunk/build.properties
>>>>      jmeter/trunk/build.xml
>>>>      jmeter/trunk/eclipse.classpath
>>>>      jmeter/trunk/res/maven/**ApacheJMeter_parent.pom
>>>> jmeter/trunk/src/components/**org/apache/jmeter/assertions/**
>>>> gui/BeanShellAssertionGui.java
>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>> GenericTestBeanCustomizer.java
>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>> TextAreaEditor.java
>>>> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**WrapperEditor.java
>>>>
>>>> jmeter/trunk/src/protocol/**java/org/apache/jmeter/**
>>>> protocol/java/control/gui/**BeanShellSamplerGui.java
>>>>      jmeter/trunk/xdocs/changes.xml
>>>>
>>>> Modified: jmeter/trunk/LICENSE
>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/LICENSE?rev=**
>>>> 1500124&r1=1500123&r2=1500124&**view=diff<http://svn.apache.org/viewvc/jmeter/trunk/LICENSE?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>> ==============================**==============================**==================
>>>>
>>>> --- jmeter/trunk/LICENSE [utf-8] (original)
>>>> +++ jmeter/trunk/LICENSE [utf-8] Fri Jul  5 20:39:54 2013
>>>> @@ -1565,7 +1565,7 @@ The jsoup code-base (include source and
>>>>   distributed under the open source MIT license as described below.
>>>>   The MIT License
>>>>
>>>> -Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>> +Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>>
>>>>   Permission is hereby granted, free of charge, to any person obtaining
>>>> a
>>>>   copy of this software and associated documentation files (the
>>>> "Software"),
>>>> @@ -1926,7 +1926,7 @@ As a special exception, the copyright ho
>>>>   Open Icon Library from
>>>>   http://openiconlibrary.**sourceforge.net/<http://openiconlibrary.sourceforge.net/>
>>>>
>>>> -Detailled Licenses information:
>>>> +Detailed Licenses information:
>>>>   http://openiconlibrary.**sourceforge.net/LICENSES.html<http://openiconlibrary.sourceforge.net/LICENSES.html>
>>>>
>>>>   ============ Packages used by Apache JMeter =========
>>>> @@ -2029,3 +2029,39 @@ UNLESS OTHERWISE MUTUALLY AGREED TO BY T
>>>>
>>>> ##############################**##############################**
>>>> ####################
>>>>
>>>> +RSyntaxTextArea License
>>>> +=============================**============
>>>> +
>>>> +RSyntaxTextArea  from
>>>> +http://fifesoft.com/**rsyntaxtextarea/<http://fifesoft.com/rsyntaxtextarea/>
>>>> +
>>>> +Detailed License information:
>>>> +http://fifesoft.com/**rsyntaxtextarea/**RSyntaxTextArea.License.txt<http://fifesoft.com/rsyntaxtextarea/RSyntaxTextArea.License.txt>
>>>> +
>>>> +============== RSyntaxTextArea  License =============
>>>> +Copyright (c) 2012, Robert Futrell
>>>> +All rights reserved.
>>>> +
>>>> +Redistribution and use in source and binary forms, with or without
>>>> +modification, are permitted provided that the following conditions are
>>>> met:
>>>> +    * Redistributions of source code must retain the above copyright
>>>> +      notice, this list of conditions and the following disclaimer.
>>>> +    * Redistributions in binary form must reproduce the above copyright
>>>> +      notice, this list of conditions and the following disclaimer in
>>>> the
>>>> +      documentation and/or other materials provided with the
>>>> distribution.
>>>> +    * Neither the name of the author nor the names of its contributors
>>>> may
>>>> +      be used to endorse or promote products derived from this software
>>>> +      without specific prior written permission.
>>>> +
>>>> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
>>>> "AS IS" AND
>>>> +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
>>>> IMPLIED
>>>> +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>>>> +DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
>>>> +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
>>>> DAMAGES
>>>> +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
>>>> SERVICES;
>>>> +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
>>>> CAUSED AND
>>>> +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
>>>> TORT
>>>> +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
>>>> OF THIS
>>>> +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>>>> +
>>>> +#############################**##############################**#####################
>>>>
>>>> \ No newline at end of file
>>>>
>>>> Modified: jmeter/trunk/build.properties
>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/build.properties?**
>>>> rev=1500124&r1=1500123&r2=**1500124&view=diff<http://svn.apache.org/viewvc/jmeter/trunk/build.properties?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>> ==============================**==============================**==================
>>>>
>>>> --- jmeter/trunk/build.properties (original)
>>>> +++ jmeter/trunk/build.properties Fri Jul  5 20:39:54 2013
>>>> @@ -223,6 +223,11 @@ mongo-java-driver.jar
>>>>          = mongo-java-d
>>>>   mongo-java-driver.loc                                  =
>>>> ${maven2.repo}/org/mongodb/**mongo-java-driver/${mongo-**
>>>> java-driver.version}
>>>>   mongo-java-driver.md5                                  =
>>>> fed5e6d998256e285396b4e0d81537**bd
>>>>
>>>> +rsyntaxtextarea.version     = 2.0.7
>>>> +rsyntaxtextarea.jar         = rsyntaxtextarea-${**
>>>> rsyntaxtextarea.version}.jar
>>>> +rsyntaxtextarea.loc         = ${maven2.repo}/com/fifesoft/**
>>>> rsyntaxtextarea/${**rsyntaxtextarea.version}
>>>> +rsyntaxtextarea.md5         = 00ab3c8ce58bb8bb1dbb3ae506f06d**30
>>>>
>>> -1
>>>
>>> I don't think we can download from there until the license issue is
>>> sorted out.
>>>
>>>  +
>>>>   slf4j-api.version           = 1.7.5
>>>>   slf4j-api.jar               = slf4j-api-${slf4j-api.version}**.jar
>>>>   slf4j-api.loc               = ${maven2.repo}/org/slf4j/**
>>>> slf4j-api/${slf4j-api.version}
>>>>
>>>> Modified: jmeter/trunk/build.xml
>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/build.xml?rev=**
>>>> 1500124&r1=1500123&r2=1500124&**view=diff<http://svn.apache.org/viewvc/jmeter/trunk/build.xml?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>> ==============================**==============================**==================
>>>>
>>>> --- jmeter/trunk/build.xml (original)
>>>> +++ jmeter/trunk/build.xml Fri Jul  5 20:39:54 2013
>>>> @@ -387,6 +387,7 @@
>>>>       <include name="${lib.dir}/${junit.jar}"**/>
>>>>       <include name="${lib.dir}/${logkit.jar}**"/>
>>>>       <include name="${lib.dir}/${mongo-java-**driver.jar}"/>
>>>> +    <include name="${lib.dir}/${**rsyntaxtextarea.jar}"/>
>>>>       <include name="${lib.dir}/${serializer.**jar}"/>
>>>>       <include name="${lib.dir}/${slf4j-api.**jar}"/>
>>>>       <include name="${lib.dir}/${soap.jar}"/**>
>>>> @@ -454,6 +455,7 @@
>>>>       <pathelement location="${lib.dir}/${junit.**jar}"/>
>>>>       <pathelement location="${lib.dir}/${logkit.**jar}"/>
>>>>       <pathelement location="${lib.dir}/${mongo-**java-driver.jar}"/>
>>>> +    <pathelement location="${lib.dir}/${**rsyntaxtextarea.jar}"/>
>>>>       <pathelement location="${lib.dir}/${**serializer.jar}"/>
>>>>       <pathelement location="${lib.dir}/${slf4j-**api.jar}"/>
>>>>       <pathelement location="${lib.dir}/${soap.**jar}"/>
>>>> @@ -2879,6 +2881,7 @@ run JMeter unless all the JMeter jars ar
>>>>           <process_jarfile jarname="junit"/>
>>>>           <process_jarfile jarname="logkit"/>
>>>>           <process_jarfile jarname="mongo-java-driver"/>
>>>> +        <process_jarfile jarname="rsyntaxtextarea"/>
>>>>           <process_jarfile jarname="serializer"/>
>>>>          <process_jarfile jarname="slf4j-api"/>
>>>>           <process_jarfile jarname="soap"/>
>>>>
>>>> Modified: jmeter/trunk/eclipse.classpath
>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/eclipse.**
>>>> classpath?rev=1500124&r1=**1500123&r2=1500124&view=diff<http://svn.apache.org/viewvc/jmeter/trunk/eclipse.classpath?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>> ==============================**==============================**==================
>>>>
>>>> --- jmeter/trunk/eclipse.classpath (original)
>>>> +++ jmeter/trunk/eclipse.classpath Fri Jul  5 20:39:54 2013
>>>> @@ -76,6 +76,7 @@
>>>>          <classpathentry kind="lib" path="lib/logkit-2.0.jar"/>
>>>>          <classpathentry kind="lib" path="lib/mail-1.4.4.jar"/>
>>>>       <classpathentry kind="lib" path="lib/mongo-java-driver-2.**
>>>> 11.2.jar"/>
>>>> +    <classpathentry kind="lib" path="lib/rsyntaxtextarea-2.0.**
>>>> 7.jar"/>
>>>>          <classpathentry kind="lib" path="lib/oro-2.0.8.jar"/>
>>>>          <classpathentry kind="lib" path="lib/serializer-2.7.1.**jar"/>
>>>>       <classpathentry kind="lib" path="lib/slf4j-api-1.7.5.jar"**/>
>>>>
>>>> Modified: jmeter/trunk/res/maven/**ApacheJMeter_parent.pom
>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/res/maven/**
>>>> ApacheJMeter_parent.pom?rev=**1500124&r1=1500123&r2=1500124&**view=diff<http://svn.apache.org/viewvc/jmeter/trunk/res/maven/ApacheJMeter_parent.pom?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>> ==============================**==============================**==================
>>>>
>>>> --- jmeter/trunk/res/maven/**ApacheJMeter_parent.pom (original)
>>>> +++ jmeter/trunk/res/maven/**ApacheJMeter_parent.pom Fri Jul  5
>>>> 20:39:54 2013
>>>> @@ -84,6 +84,7 @@ under the License.
>>>>         <junit.version>4.11</junit.**version>
>>>>         <logkit.version>2.0</logkit.**version>
>>>> <mongo-java-driver.version>2.**11.2</mongo-java-driver.**version>
>>>> + <rsyntaxtextarea.version>2.0.**7</rsyntaxtextarea.version>
>>>>         <slf4j.version>1.7.5</slf4j.**version>
>>>>         <soap.version>2.3.1</soap.**version>
>>>>         <tidy.version>r938</tidy.**version>
>>>> @@ -357,6 +358,11 @@ under the License.
>>>> <version>${mongo-java-driver.**version}</version>
>>>>         </dependency>
>>>>         <dependency>
>>>> +        <groupId>com.fifesoft</**groupId>
>>>> +        <artifactId>rsyntaxtextarea</**artifactId>
>>>> + <version>${rsyntaxtextarea.**version}</version>
>>>> +      </dependency>
>>>> +      <dependency>
>>>>           <groupId>org.slf4j</groupId>
>>>>           <artifactId>slf4j-api</**artifactId>
>>>>           <version>${slf4j.version}</**version>
>>>>
>>>> Modified: jmeter/trunk/src/components/**org/apache/jmeter/assertions/**
>>>> gui/BeanShellAssertionGui.java
>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/components/**
>>>> org/apache/jmeter/assertions/**gui/BeanShellAssertionGui.**
>>>> java?rev=1500124&r1=1500123&**r2=1500124&view=diff<http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>> ==============================**==============================**==================
>>>>
>>>> --- jmeter/trunk/src/components/**org/apache/jmeter/assertions/**gui/BeanShellAssertionGui.java
>>>> (original)
>>>> +++ jmeter/trunk/src/components/**org/apache/jmeter/assertions/**gui/BeanShellAssertionGui.java
>>>> Fri Jul  5 20:39:54 2013
>>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>>   import javax.swing.JCheckBox;
>>>>   import javax.swing.JLabel;
>>>>   import javax.swing.JPanel;
>>>> -import javax.swing.JScrollPane;
>>>>   import javax.swing.JTextArea;
>>>>   import javax.swing.JTextField;
>>>>
>>>> @@ -32,6 +31,9 @@ import org.apache.jmeter.assertions.**Bean
>>>>   import org.apache.jmeter.testelement.**TestElement;
>>>>   import org.apache.jmeter.testelement.**property.BooleanProperty;
>>>>   import org.apache.jmeter.util.**JMeterUtils;
>>>> +import org.fife.ui.rsyntaxtextarea.**RSyntaxTextArea;
>>>> +import org.fife.ui.rsyntaxtextarea.**SyntaxConstants;
>>>> +import org.fife.ui.rtextarea.**RTextScrollPane;
>>>>
>>>>   public class BeanShellAssertionGui extends AbstractAssertionGui {
>>>>
>>>> @@ -43,7 +45,7 @@ public class BeanShellAssertionGui exten
>>>>
>>>>       private JTextField parameters;// parameters to pass to script
>>>> file (or script)
>>>>
>>>> -    private JTextArea scriptField;// script area
>>>> +    private RSyntaxTextArea scriptField; // script area
>>>>
>>>>       public BeanShellAssertionGui() {
>>>>           init();
>>>> @@ -139,8 +141,10 @@ public class BeanShellAssertionGui exten
>>>>       }
>>>>
>>>>       private JPanel createScriptPanel() {
>>>> -        scriptField = new JTextArea();
>>>> -        scriptField.setRows(4);
>>>> +        scriptField = new RSyntaxTextArea(20,20);
>>>> + scriptField.**setSyntaxEditingStyle(**SyntaxConstants.SYNTAX_STYLE_**
>>>> JAVA);
>>>> +        scriptField.**setCodeFoldingEnabled(true);
>>>> +        scriptField.**setAntiAliasingEnabled(true);
>>>>           scriptField.setLineWrap(true);
>>>>           scriptField.setWrapStyleWord(**true);
>>>>
>>>> @@ -149,7 +153,7 @@ public class BeanShellAssertionGui exten
>>>>
>>>>           JPanel panel = new JPanel(new BorderLayout());
>>>>           panel.add(label, BorderLayout.NORTH);
>>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>>> +        panel.add(new RTextScrollPane(scriptField),
>>>> BorderLayout.CENTER);
>>>>
>>>>           JTextArea explain = new JTextArea(JMeterUtils.**
>>>> getResString("bsh_assertion_**script_variables")); //$NON-NLS-1$
>>>>           explain.setLineWrap(true);
>>>>
>>>> Modified: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>> GenericTestBeanCustomizer.java
>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/core/org/**
>>>> apache/jmeter/testbeans/gui/**GenericTestBeanCustomizer.**
>>>> java?rev=1500124&r1=1500123&**r2=1500124&view=diff<http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>> ==============================**==============================**==================
>>>>
>>>> --- jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**GenericTestBeanCustomizer.java
>>>> (original)
>>>> +++ jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**GenericTestBeanCustomizer.java
>>>> Fri Jul  5 20:39:54 2013
>>>> @@ -203,6 +203,8 @@ public class GenericTestBeanCustomizer e
>>>>
>>>>           // Obtain the propertyEditors:
>>>>           editors = new PropertyEditor[descriptors.**length];
>>>> +        int scriptLanguageIndex = 0;
>>>> +        int textAreaEditorIndex = 0;
>>>>           for (int i = 0; i < descriptors.length; i++) { // Index is
>>>> also used for accessing editors array
>>>>               PropertyDescriptor descriptor = descriptors[i];
>>>>               String name = descriptor.getName();
>>>> @@ -218,7 +220,7 @@ public class GenericTestBeanCustomizer e
>>>>               PropertyEditor propertyEditor;
>>>>               Object guiType = descriptor.getValue(GUITYPE);
>>>>               if (guiType instanceof TypeEditor) {
>>>> -                propertyEditor = ((TypeEditor) guiType).getInstance(**
>>>> descriptor);
>>>> +                propertyEditor = ((TypeEditor) guiType).getInstance(**
>>>> descriptor);
>>>>               } else {
>>>>                   Class<?> editorClass = descriptor.**
>>>> getPropertyEditorClass();
>>>>                   if (log.isDebugEnabled()) {
>>>> @@ -267,6 +269,10 @@ public class GenericTestBeanCustomizer e
>>>>               {
>>>> ((TestBeanPropertyEditor)**propertyEditor).setDescriptor(**descriptor);
>>>>               }
>>>> +
>>>> +            if (propertyEditor instanceof TextAreaEditor) {
>>>> +                textAreaEditorIndex = i;
>>>> +            }
>>>>               if (propertyEditor.**getCustomEditor() instanceof
>>>> JScrollPane) {
>>>>                   scrollerCount++;
>>>>               }
>>>> @@ -276,6 +282,17 @@ public class GenericTestBeanCustomizer e
>>>>               // Initialize the editor with the provided default value
>>>> or null:
>>>>               setEditorValue(i, descriptor.getValue(DEFAULT));
>>>>
>>>> +            if (name.equals("scriptLanguage")**) {
>>>> +                scriptLanguageIndex = i;
>>>> +            }
>>>> +
>>>> +        }
>>>> +        // In case of BSF and JSR elements i want to add
>>>> textAreaEditor as a listener to scriptLanguage ComboBox.
>>>> +        String beanName = this.beanInfo.**
>>>> getBeanDescriptor().getName();
>>>> +        if (beanName.startsWith("BSF") ||
>>>> beanName.startsWith("JSR223")) { // $NON-NLS-1$ $NON-NLS-2$
>>>> +            WrapperEditor we = (WrapperEditor)
>>>> editors[scriptLanguageIndex];
>>>> +            TextAreaEditor tae = (TextAreaEditor)
>>>> editors[textAreaEditorIndex];
>>>> +            we.addChangeListener(tae);
>>>>           }
>>>>
>>>>           // Obtain message formats:
>>>>
>>>> Modified: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>> TextAreaEditor.java
>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/core/org/**
>>>> apache/jmeter/testbeans/gui/**TextAreaEditor.java?rev=**
>>>> 1500124&r1=1500123&r2=1500124&**view=diff<http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>> ==============================**==============================**==================
>>>>
>>>> --- jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**TextAreaEditor.java
>>>> (original)
>>>> +++ jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**TextAreaEditor.java
>>>> Fri Jul  5 20:39:54 2013
>>>> @@ -24,17 +24,23 @@ package org.apache.jmeter.testbeans.**gui;
>>>>   import java.awt.Component;
>>>>   import java.awt.event.FocusEvent;
>>>>   import java.awt.event.FocusListener;
>>>> +import java.beans.**PropertyChangeEvent;
>>>> +import java.beans.**PropertyChangeListener;
>>>>   import java.beans.**PropertyEditorSupport;
>>>> +import java.util.Properties;
>>>>
>>>> -import javax.swing.JScrollPane;
>>>> -import javax.swing.JTextArea;
>>>> -import javax.swing.**ScrollPaneConstants;
>>>> +import org.apache.jmeter.util.**JMeterUtils;
>>>> +import org.fife.ui.rsyntaxtextarea.**RSyntaxTextArea;
>>>> +import org.fife.ui.rsyntaxtextarea.**SyntaxConstants;
>>>> +import org.fife.ui.rtextarea.**RTextScrollPane;
>>>>
>>>> -public class TextAreaEditor extends PropertyEditorSupport implements
>>>> FocusListener {
>>>> +public class TextAreaEditor extends PropertyEditorSupport implements
>>>> FocusListener, PropertyChangeListener {
>>>>
>>>> -    private JTextArea textUI;
>>>> +    private RSyntaxTextArea textUI;
>>>>
>>>> -    private JScrollPane scroller;
>>>> +    private RTextScrollPane scroller;
>>>> +
>>>> +    private Properties languageProperties;
>>>>
>>>>       /** {@inheritDoc} */
>>>>       @Override
>>>> @@ -48,12 +54,17 @@ public class TextAreaEditor extends Prop
>>>>       }
>>>>
>>>>       private final void init() {// called from ctor, so must not be
>>>> overridable
>>>> -        textUI = new JTextArea();
>>>> +        textUI = new RSyntaxTextArea(20, 20);
>>>> +        textUI.discardAllEdits();
>>>> + textUI.setSyntaxEditingStyle(**SyntaxConstants.SYNTAX_STYLE_**JAVA);
>>>> +        textUI.setCodeFoldingEnabled(**true);
>>>> +        textUI.setAntiAliasingEnabled(**true);
>>>>           textUI.addFocusListener(this);
>>>>           textUI.setWrapStyleWord(true);
>>>>           textUI.setLineWrap(true);
>>>> -        scroller = new JScrollPane(textUI,
>>>> ScrollPaneConstants.VERTICAL_**SCROLLBAR_AS_NEEDED,
>>>> - ScrollPaneConstants.**HORIZONTAL_SCROLLBAR_NEVER);
>>>> +        scroller = new RTextScrollPane(textUI);
>>>> +        scroller.**setFoldIndicatorEnabled(true);
>>>> +        languageProperties = JMeterUtils.loadProperties("**
>>>> org/apache/jmeter/testbeans/**gui/textarea.properties"); //$NON-NLS-1$
>>>>       }
>>>>
>>>>       /**
>>>> @@ -112,4 +123,19 @@ public class TextAreaEditor extends Prop
>>>>       public boolean supportsCustomEditor() {
>>>>           return true;
>>>>       }
>>>> +
>>>> +    @Override
>>>> +    public void propertyChange(**PropertyChangeEvent evt) {
>>>> +        Object source = evt.getSource();
>>>> +        if (source instanceof ComboStringEditor && source != null) {
>>>> +            ComboStringEditor cse = (ComboStringEditor) source;
>>>> +            String lang = cse.getAsText().toLowerCase();
>>>> +            if (languageProperties.**containsKey(lang)) {
>>>> + textUI.setSyntaxEditingStyle(**languageProperties.**
>>>> getProperty(lang));
>>>> +            } else {
>>>> + textUI.setSyntaxEditingStyle(**SyntaxConstants.SYNTAX_STYLE_**NONE);
>>>> +            }
>>>> +
>>>> +        }
>>>> +    }
>>>>   }
>>>>
>>>> Modified: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**WrapperEditor.java
>>>>
>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/core/org/**
>>>> apache/jmeter/testbeans/gui/**WrapperEditor.java?rev=**
>>>> 1500124&r1=1500123&r2=1500124&**view=diff<http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>> ==============================**==============================**==================
>>>>
>>>> --- jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**WrapperEditor.java
>>>> (original)
>>>> +++ jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**WrapperEditor.java
>>>> Fri Jul  5 20:39:54 2013
>>>> @@ -445,4 +445,8 @@ class WrapperEditor extends PropertyEdit
>>>>               guiEditor.setAsText(**lastValidValue);
>>>>           }
>>>>       }
>>>> +
>>>> +    public void addChangeListener(**PropertyChangeListener listener) {
>>>> +        guiEditor.**addPropertyChangeListener(**listener);
>>>> +    }
>>>>   }
>>>> \ No newline at end of file
>>>>
>>>> Added: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>> textarea.properties
>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/core/org/**
>>>> apache/jmeter/testbeans/gui/**textarea.properties?rev=**
>>>> 1500124&view=auto<http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties?rev=1500124&view=auto>
>>>> ==============================**==============================**==================
>>>>
>>>> --- jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**textarea.properties
>>>> (added)
>>>> +++ jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**textarea.properties
>>>> Fri Jul  5 20:39:54 2013
>>>> @@ -0,0 +1,52 @@
>>>> +#
>>>> +# Licensed to the Apache Software Foundation (ASF) under one or more
>>>> +# contributor license agreements.  See the NOTICE file distributed with
>>>> +# this work for additional information regarding copyright ownership.
>>>> +# The ASF licenses this file to You 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<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.
>>>> +#
>>>> +
>>>> +javascript = text/javascript
>>>> +js = text/javascript
>>>> +jacl = text/tcl
>>>> +netrexx = text/plain
>>>> +java = text/java
>>>> +javaclass = text/java
>>>> +bml = text/xml
>>>> +vbscript = text/vb
>>>> +jscript = text/javascript
>>>> +perlscript = text/perl
>>>> +perl = text/perl
>>>> +jpython = text/python
>>>> +jython = text/python
>>>> +lotusscript = text/vb
>>>> +xslt = text/mxml
>>>> +pnuts = text/java
>>>> +beanbasic = text/java
>>>> +beanshell = text/java
>>>> +bsh = text/unix
>>>> +ruby = text/ruby
>>>> +judoscript = text/plain
>>>> +groovy = text/groovy
>>>> +objectscript = text/javascript
>>>> +prolog = text/plain
>>>> +rexx = text/plain
>>>> +applescript = text/plain
>>>> +ecmascript = text/actionscript
>>>> +jexl = text/java
>>>> +jexl2 = text/java
>>>> +rhino = text/javascript
>>>> +edit = text/unix
>>>> +lua = text/lua
>>>> +php = text/php
>>>> +lisp = text/lisp
>>>> +sql = text/sql
>>>> \ No newline at end of file
>>>>
>>>> Propchange: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>> textarea.properties
>>>> ------------------------------**------------------------------**------------------
>>>>
>>>>      svn:eol-style = native
>>>>
>>>> Propchange: jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
>>>> textarea.properties
>>>> ------------------------------**------------------------------**------------------
>>>>
>>>>      svn:mime-type = text/plain
>>>>
>>>> Modified: jmeter/trunk/src/protocol/**java/org/apache/jmeter/**
>>>> protocol/java/control/gui/**BeanShellSamplerGui.java
>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/src/protocol/**
>>>> java/org/apache/jmeter/**protocol/java/control/gui/**
>>>> BeanShellSamplerGui.java?rev=**1500124&r1=1500123&r2=1500124&**
>>>> view=diff<http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>> ==============================**==============================**==================
>>>>
>>>> --- jmeter/trunk/src/protocol/**java/org/apache/jmeter/**
>>>> protocol/java/control/gui/**BeanShellSamplerGui.java (original)
>>>> +++ jmeter/trunk/src/protocol/**java/org/apache/jmeter/**
>>>> protocol/java/control/gui/**BeanShellSamplerGui.java Fri Jul  5
>>>> 20:39:54 2013
>>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>>   import javax.swing.JCheckBox;
>>>>   import javax.swing.JLabel;
>>>>   import javax.swing.JPanel;
>>>> -import javax.swing.JScrollPane;
>>>>   import javax.swing.JTextArea;
>>>>   import javax.swing.JTextField;
>>>>
>>>> @@ -33,6 +32,9 @@ import org.apache.jmeter.samplers.**gui.Ab
>>>>   import org.apache.jmeter.testelement.**TestElement;
>>>>   import org.apache.jmeter.testelement.**property.BooleanProperty;
>>>>   import org.apache.jmeter.util.**JMeterUtils;
>>>> +import org.fife.ui.rsyntaxtextarea.**RSyntaxTextArea;
>>>> +import org.fife.ui.rsyntaxtextarea.**SyntaxConstants;
>>>> +import org.fife.ui.rtextarea.**RTextScrollPane;
>>>>
>>>>   public class BeanShellSamplerGui extends AbstractSamplerGui {
>>>>
>>>> @@ -44,7 +46,7 @@ public class BeanShellSamplerGui extends
>>>>
>>>>       private JTextField parameters;// parameters to pass to script
>>>> file (or script)
>>>>
>>>> -    private JTextArea scriptField;// script area
>>>> +    private RSyntaxTextArea scriptField;// script area
>>>>
>>>>       public BeanShellSamplerGui() {
>>>>           init();
>>>> @@ -153,8 +155,9 @@ public class BeanShellSamplerGui extends
>>>>       }
>>>>
>>>>       private JPanel createScriptPanel() {
>>>> -        scriptField = new JTextArea();
>>>> -        scriptField.setRows(4);
>>>> +        scriptField = new RSyntaxTextArea(20, 20);
>>>> + scriptField.**setSyntaxEditingStyle(**SyntaxConstants.SYNTAX_STYLE_**
>>>> JAVA);
>>>> +        scriptField.**setCodeFoldingEnabled(true);
>>>>           scriptField.setLineWrap(true);
>>>>           scriptField.setWrapStyleWord(**true);
>>>>
>>>> @@ -163,7 +166,7 @@ public class BeanShellSamplerGui extends
>>>>
>>>>           JPanel panel = new JPanel(new BorderLayout());
>>>>           panel.add(label, BorderLayout.NORTH);
>>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>>> +        panel.add(new RTextScrollPane(scriptField),
>>>> BorderLayout.CENTER);
>>>>
>>>>           JTextArea explain = new JTextArea(JMeterUtils.**
>>>> getResString("bsh_script_**variables")); //$NON-NLS-1$
>>>>           explain.setLineWrap(true);
>>>>
>>>> Modified: jmeter/trunk/xdocs/changes.xml
>>>> URL: http://svn.apache.org/viewvc/**jmeter/trunk/xdocs/changes.**
>>>> xml?rev=1500124&r1=1500123&r2=**1500124&view=diff<http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1500124&r1=1500123&r2=1500124&view=diff>
>>>> ==============================**==============================**==================
>>>>
>>>> --- jmeter/trunk/xdocs/changes.xml (original)
>>>> +++ jmeter/trunk/xdocs/changes.xml Fri Jul  5 20:39:54 2013
>>>> @@ -224,6 +224,7 @@ Transaction Controller now sets Response
>>>>   <li><bugzilla>54990</bugzilla> - Download large files avoiding
>>>> outOfMemory</li>
>>>>   <li><bugzilla>55085</bugzilla> - UX Improvement : Ability to create
>>>> New Test Plan from Templates</li>
>>>>   <li><bugzilla>55172</bugzilla> - Provide plugins a way to add Top
>>>> Menu and menu items</li>
>>>> +<li><bugzilla>55202</**bugzilla> - Add syntax color for scripts
>>>> elements (BeanShell, BSF, and JSR223) with RSyntaxTextArea</li>
>>>>   </ul>
>>>>
>>>>   <h2>Non-functional changes</h2>
>>>>
>>>>
>>>>
>>
>>
>

-- 
Cordialement.
Philippe Mouawad.

Re: svn commit: r1500124 - in /jmeter/trunk: ./ res/maven/ src/components/org/apache/jmeter/assertions/gui/ src/core/org/apache/jmeter/testbeans/gui/ src/protocol/java/org/apache/jmeter/protocol/java/control/gui/ xdocs/

Posted by Milamber <mi...@apache.org>.
Le 05/07/2013 22:20, Milamber a ecrit :
>
> Le 05/07/2013 21:55, sebb a ecrit :
>> On 5 July 2013 21:39, <mi...@apache.org> wrote:
>>> Author: milamber
>>> Date: Fri Jul  5 20:39:54 2013
>>> New Revision: 1500124
>>>
>>> URL: http://svn.apache.org/r1500124
>>> Log:
>>> Bug 55202 - Proposal to add RSyntaxTextArea for BeanShell, BSF, and 
>>> JSR223 elements
>>> Bugzilla Id: 55202
>> -1
>>
>> I think the jar needs to be obtained somewhere other than Maven
>> Central, as the pom license there says LGPL.

Ah... I just saw the .pom on maven repo...


>
> The mvnrepository.com website (whish said LGPL) is not official Maven 
> repository (and not affiliate with Maven/ASF if you see the whois 
> information).
> You cannot trust on informations in this site.
>
> The official website indicate the license (modified BSD), and I have 
> added the same version than the binary release (in zip file):
> http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea-demo/2.0.7/ 
>
>
> Unfortunately, I don't found a direct link to the jar on official 
> website. I think we can keep the download from Maven repo2 (it's not 
> the mvvrepository.com site, and don't show any Lgpl license for this 
> jar).
>
>>
>> Please remove the download part for now.
>>
>>> Added:
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties 
>>> (with props)
>>> Modified:
>>>      jmeter/trunk/LICENSE
>>>      jmeter/trunk/build.properties
>>>      jmeter/trunk/build.xml
>>>      jmeter/trunk/eclipse.classpath
>>>      jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java 
>>>
>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>      jmeter/trunk/xdocs/changes.xml
>>>
>>> Modified: jmeter/trunk/LICENSE
>>> URL: 
>>> http://svn.apache.org/viewvc/jmeter/trunk/LICENSE?rev=1500124&r1=1500123&r2=1500124&view=diff
>>> ============================================================================== 
>>>
>>> --- jmeter/trunk/LICENSE [utf-8] (original)
>>> +++ jmeter/trunk/LICENSE [utf-8] Fri Jul  5 20:39:54 2013
>>> @@ -1565,7 +1565,7 @@ The jsoup code-base (include source and
>>>   distributed under the open source MIT license as described below.
>>>   The MIT License
>>>
>>> -Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>> +Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>
>>>   Permission is hereby granted, free of charge, to any person 
>>> obtaining a
>>>   copy of this software and associated documentation files (the 
>>> "Software"),
>>> @@ -1926,7 +1926,7 @@ As a special exception, the copyright ho
>>>   Open Icon Library from
>>>   http://openiconlibrary.sourceforge.net/
>>>
>>> -Detailled Licenses information:
>>> +Detailed Licenses information:
>>>   http://openiconlibrary.sourceforge.net/LICENSES.html
>>>
>>>   ============ Packages used by Apache JMeter =========
>>> @@ -2029,3 +2029,39 @@ UNLESS OTHERWISE MUTUALLY AGREED TO BY T
>>>
>>> ################################################################################
>>>
>>> +RSyntaxTextArea License
>>> +=========================================
>>> +
>>> +RSyntaxTextArea  from
>>> +http://fifesoft.com/rsyntaxtextarea/
>>> +
>>> +Detailed License information:
>>> +http://fifesoft.com/rsyntaxtextarea/RSyntaxTextArea.License.txt
>>> +
>>> +============== RSyntaxTextArea  License =============
>>> +Copyright (c) 2012, Robert Futrell
>>> +All rights reserved.
>>> +
>>> +Redistribution and use in source and binary forms, with or without
>>> +modification, are permitted provided that the following conditions 
>>> are met:
>>> +    * Redistributions of source code must retain the above copyright
>>> +      notice, this list of conditions and the following disclaimer.
>>> +    * Redistributions in binary form must reproduce the above 
>>> copyright
>>> +      notice, this list of conditions and the following disclaimer 
>>> in the
>>> +      documentation and/or other materials provided with the 
>>> distribution.
>>> +    * Neither the name of the author nor the names of its 
>>> contributors may
>>> +      be used to endorse or promote products derived from this 
>>> software
>>> +      without specific prior written permission.
>>> +
>>> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
>>> "AS IS" AND
>>> +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
>>> THE IMPLIED
>>> +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>>> +DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
>>> +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
>>> DAMAGES
>>> +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
>>> SERVICES;
>>> +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
>>> CAUSED AND
>>> +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
>>> OR TORT
>>> +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE 
>>> USE OF THIS
>>> +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>>> +
>>> +################################################################################ 
>>>
>>> \ No newline at end of file
>>>
>>> Modified: jmeter/trunk/build.properties
>>> URL: 
>>> http://svn.apache.org/viewvc/jmeter/trunk/build.properties?rev=1500124&r1=1500123&r2=1500124&view=diff
>>> ============================================================================== 
>>>
>>> --- jmeter/trunk/build.properties (original)
>>> +++ jmeter/trunk/build.properties Fri Jul  5 20:39:54 2013
>>> @@ -223,6 +223,11 @@ 
>>> mongo-java-driver.jar                                      = 
>>> mongo-java-d
>>>   mongo-java-driver.loc                                  = 
>>> ${maven2.repo}/org/mongodb/mongo-java-driver/${mongo-java-driver.version}
>>>   mongo-java-driver.md5                                  = 
>>> fed5e6d998256e285396b4e0d81537bd
>>>
>>> +rsyntaxtextarea.version     = 2.0.7
>>> +rsyntaxtextarea.jar         = 
>>> rsyntaxtextarea-${rsyntaxtextarea.version}.jar
>>> +rsyntaxtextarea.loc         = 
>>> ${maven2.repo}/com/fifesoft/rsyntaxtextarea/${rsyntaxtextarea.version}
>>> +rsyntaxtextarea.md5         = 00ab3c8ce58bb8bb1dbb3ae506f06d30
>> -1
>>
>> I don't think we can download from there until the license issue is 
>> sorted out.
>>
>>> +
>>>   slf4j-api.version           = 1.7.5
>>>   slf4j-api.jar               = slf4j-api-${slf4j-api.version}.jar
>>>   slf4j-api.loc               = 
>>> ${maven2.repo}/org/slf4j/slf4j-api/${slf4j-api.version}
>>>
>>> Modified: jmeter/trunk/build.xml
>>> URL: 
>>> http://svn.apache.org/viewvc/jmeter/trunk/build.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>>> ============================================================================== 
>>>
>>> --- jmeter/trunk/build.xml (original)
>>> +++ jmeter/trunk/build.xml Fri Jul  5 20:39:54 2013
>>> @@ -387,6 +387,7 @@
>>>       <include name="${lib.dir}/${junit.jar}"/>
>>>       <include name="${lib.dir}/${logkit.jar}"/>
>>>       <include name="${lib.dir}/${mongo-java-driver.jar}"/>
>>> +    <include name="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>>       <include name="${lib.dir}/${serializer.jar}"/>
>>>       <include name="${lib.dir}/${slf4j-api.jar}"/>
>>>       <include name="${lib.dir}/${soap.jar}"/>
>>> @@ -454,6 +455,7 @@
>>>       <pathelement location="${lib.dir}/${junit.jar}"/>
>>>       <pathelement location="${lib.dir}/${logkit.jar}"/>
>>>       <pathelement location="${lib.dir}/${mongo-java-driver.jar}"/>
>>> +    <pathelement location="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>>       <pathelement location="${lib.dir}/${serializer.jar}"/>
>>>       <pathelement location="${lib.dir}/${slf4j-api.jar}"/>
>>>       <pathelement location="${lib.dir}/${soap.jar}"/>
>>> @@ -2879,6 +2881,7 @@ run JMeter unless all the JMeter jars ar
>>>           <process_jarfile jarname="junit"/>
>>>           <process_jarfile jarname="logkit"/>
>>>           <process_jarfile jarname="mongo-java-driver"/>
>>> +        <process_jarfile jarname="rsyntaxtextarea"/>
>>>           <process_jarfile jarname="serializer"/>
>>>          <process_jarfile jarname="slf4j-api"/>
>>>           <process_jarfile jarname="soap"/>
>>>
>>> Modified: jmeter/trunk/eclipse.classpath
>>> URL: 
>>> http://svn.apache.org/viewvc/jmeter/trunk/eclipse.classpath?rev=1500124&r1=1500123&r2=1500124&view=diff
>>> ============================================================================== 
>>>
>>> --- jmeter/trunk/eclipse.classpath (original)
>>> +++ jmeter/trunk/eclipse.classpath Fri Jul  5 20:39:54 2013
>>> @@ -76,6 +76,7 @@
>>>          <classpathentry kind="lib" path="lib/logkit-2.0.jar"/>
>>>          <classpathentry kind="lib" path="lib/mail-1.4.4.jar"/>
>>>       <classpathentry kind="lib" 
>>> path="lib/mongo-java-driver-2.11.2.jar"/>
>>> +    <classpathentry kind="lib" path="lib/rsyntaxtextarea-2.0.7.jar"/>
>>>          <classpathentry kind="lib" path="lib/oro-2.0.8.jar"/>
>>>          <classpathentry kind="lib" path="lib/serializer-2.7.1.jar"/>
>>>       <classpathentry kind="lib" path="lib/slf4j-api-1.7.5.jar"/>
>>>
>>> Modified: jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>>> URL: 
>>> http://svn.apache.org/viewvc/jmeter/trunk/res/maven/ApacheJMeter_parent.pom?rev=1500124&r1=1500123&r2=1500124&view=diff
>>> ============================================================================== 
>>>
>>> --- jmeter/trunk/res/maven/ApacheJMeter_parent.pom (original)
>>> +++ jmeter/trunk/res/maven/ApacheJMeter_parent.pom Fri Jul  5 
>>> 20:39:54 2013
>>> @@ -84,6 +84,7 @@ under the License.
>>>         <junit.version>4.11</junit.version>
>>>         <logkit.version>2.0</logkit.version>
>>> <mongo-java-driver.version>2.11.2</mongo-java-driver.version>
>>> + <rsyntaxtextarea.version>2.0.7</rsyntaxtextarea.version>
>>>         <slf4j.version>1.7.5</slf4j.version>
>>>         <soap.version>2.3.1</soap.version>
>>>         <tidy.version>r938</tidy.version>
>>> @@ -357,6 +358,11 @@ under the License.
>>> <version>${mongo-java-driver.version}</version>
>>>         </dependency>
>>>         <dependency>
>>> +        <groupId>com.fifesoft</groupId>
>>> +        <artifactId>rsyntaxtextarea</artifactId>
>>> + <version>${rsyntaxtextarea.version}</version>
>>> +      </dependency>
>>> +      <dependency>
>>>           <groupId>org.slf4j</groupId>
>>>           <artifactId>slf4j-api</artifactId>
>>>           <version>${slf4j.version}</version>
>>>
>>> Modified: 
>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>> URL: 
>>> http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>> ============================================================================== 
>>>
>>> --- 
>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java 
>>> (original)
>>> +++ 
>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java 
>>> Fri Jul  5 20:39:54 2013
>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>   import javax.swing.JCheckBox;
>>>   import javax.swing.JLabel;
>>>   import javax.swing.JPanel;
>>> -import javax.swing.JScrollPane;
>>>   import javax.swing.JTextArea;
>>>   import javax.swing.JTextField;
>>>
>>> @@ -32,6 +31,9 @@ import org.apache.jmeter.assertions.Bean
>>>   import org.apache.jmeter.testelement.TestElement;
>>>   import org.apache.jmeter.testelement.property.BooleanProperty;
>>>   import org.apache.jmeter.util.JMeterUtils;
>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>
>>>   public class BeanShellAssertionGui extends AbstractAssertionGui {
>>>
>>> @@ -43,7 +45,7 @@ public class BeanShellAssertionGui exten
>>>
>>>       private JTextField parameters;// parameters to pass to script 
>>> file (or script)
>>>
>>> -    private JTextArea scriptField;// script area
>>> +    private RSyntaxTextArea scriptField; // script area
>>>
>>>       public BeanShellAssertionGui() {
>>>           init();
>>> @@ -139,8 +141,10 @@ public class BeanShellAssertionGui exten
>>>       }
>>>
>>>       private JPanel createScriptPanel() {
>>> -        scriptField = new JTextArea();
>>> -        scriptField.setRows(4);
>>> +        scriptField = new RSyntaxTextArea(20,20);
>>> + scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>> +        scriptField.setCodeFoldingEnabled(true);
>>> +        scriptField.setAntiAliasingEnabled(true);
>>>           scriptField.setLineWrap(true);
>>>           scriptField.setWrapStyleWord(true);
>>>
>>> @@ -149,7 +153,7 @@ public class BeanShellAssertionGui exten
>>>
>>>           JPanel panel = new JPanel(new BorderLayout());
>>>           panel.add(label, BorderLayout.NORTH);
>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>> +        panel.add(new RTextScrollPane(scriptField), 
>>> BorderLayout.CENTER);
>>>
>>>           JTextArea explain = new 
>>> JTextArea(JMeterUtils.getResString("bsh_assertion_script_variables")); 
>>> //$NON-NLS-1$
>>>           explain.setLineWrap(true);
>>>
>>> Modified: 
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>> URL: 
>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>> ============================================================================== 
>>>
>>> --- 
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java 
>>> (original)
>>> +++ 
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java 
>>> Fri Jul  5 20:39:54 2013
>>> @@ -203,6 +203,8 @@ public class GenericTestBeanCustomizer e
>>>
>>>           // Obtain the propertyEditors:
>>>           editors = new PropertyEditor[descriptors.length];
>>> +        int scriptLanguageIndex = 0;
>>> +        int textAreaEditorIndex = 0;
>>>           for (int i = 0; i < descriptors.length; i++) { // Index is 
>>> also used for accessing editors array
>>>               PropertyDescriptor descriptor = descriptors[i];
>>>               String name = descriptor.getName();
>>> @@ -218,7 +220,7 @@ public class GenericTestBeanCustomizer e
>>>               PropertyEditor propertyEditor;
>>>               Object guiType = descriptor.getValue(GUITYPE);
>>>               if (guiType instanceof TypeEditor) {
>>> -                propertyEditor = ((TypeEditor) 
>>> guiType).getInstance(descriptor);
>>> +                propertyEditor = ((TypeEditor) 
>>> guiType).getInstance(descriptor);
>>>               } else {
>>>                   Class<?> editorClass = 
>>> descriptor.getPropertyEditorClass();
>>>                   if (log.isDebugEnabled()) {
>>> @@ -267,6 +269,10 @@ public class GenericTestBeanCustomizer e
>>>               {
>>> ((TestBeanPropertyEditor)propertyEditor).setDescriptor(descriptor);
>>>               }
>>> +
>>> +            if (propertyEditor instanceof TextAreaEditor) {
>>> +                textAreaEditorIndex = i;
>>> +            }
>>>               if (propertyEditor.getCustomEditor() instanceof 
>>> JScrollPane) {
>>>                   scrollerCount++;
>>>               }
>>> @@ -276,6 +282,17 @@ public class GenericTestBeanCustomizer e
>>>               // Initialize the editor with the provided default 
>>> value or null:
>>>               setEditorValue(i, descriptor.getValue(DEFAULT));
>>>
>>> +            if (name.equals("scriptLanguage")) {
>>> +                scriptLanguageIndex = i;
>>> +            }
>>> +
>>> +        }
>>> +        // In case of BSF and JSR elements i want to add 
>>> textAreaEditor as a listener to scriptLanguage ComboBox.
>>> +        String beanName = this.beanInfo.getBeanDescriptor().getName();
>>> +        if (beanName.startsWith("BSF") || 
>>> beanName.startsWith("JSR223")) { // $NON-NLS-1$ $NON-NLS-2$
>>> +            WrapperEditor we = (WrapperEditor) 
>>> editors[scriptLanguageIndex];
>>> +            TextAreaEditor tae = (TextAreaEditor) 
>>> editors[textAreaEditorIndex];
>>> +            we.addChangeListener(tae);
>>>           }
>>>
>>>           // Obtain message formats:
>>>
>>> Modified: 
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>> URL: 
>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>> ============================================================================== 
>>>
>>> --- 
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java 
>>> (original)
>>> +++ 
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java 
>>> Fri Jul  5 20:39:54 2013
>>> @@ -24,17 +24,23 @@ package org.apache.jmeter.testbeans.gui;
>>>   import java.awt.Component;
>>>   import java.awt.event.FocusEvent;
>>>   import java.awt.event.FocusListener;
>>> +import java.beans.PropertyChangeEvent;
>>> +import java.beans.PropertyChangeListener;
>>>   import java.beans.PropertyEditorSupport;
>>> +import java.util.Properties;
>>>
>>> -import javax.swing.JScrollPane;
>>> -import javax.swing.JTextArea;
>>> -import javax.swing.ScrollPaneConstants;
>>> +import org.apache.jmeter.util.JMeterUtils;
>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>
>>> -public class TextAreaEditor extends PropertyEditorSupport 
>>> implements FocusListener {
>>> +public class TextAreaEditor extends PropertyEditorSupport 
>>> implements FocusListener, PropertyChangeListener {
>>>
>>> -    private JTextArea textUI;
>>> +    private RSyntaxTextArea textUI;
>>>
>>> -    private JScrollPane scroller;
>>> +    private RTextScrollPane scroller;
>>> +
>>> +    private Properties languageProperties;
>>>
>>>       /** {@inheritDoc} */
>>>       @Override
>>> @@ -48,12 +54,17 @@ public class TextAreaEditor extends Prop
>>>       }
>>>
>>>       private final void init() {// called from ctor, so must not be 
>>> overridable
>>> -        textUI = new JTextArea();
>>> +        textUI = new RSyntaxTextArea(20, 20);
>>> +        textUI.discardAllEdits();
>>> + textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>> +        textUI.setCodeFoldingEnabled(true);
>>> +        textUI.setAntiAliasingEnabled(true);
>>>           textUI.addFocusListener(this);
>>>           textUI.setWrapStyleWord(true);
>>>           textUI.setLineWrap(true);
>>> -        scroller = new JScrollPane(textUI, 
>>> ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
>>> - ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
>>> +        scroller = new RTextScrollPane(textUI);
>>> +        scroller.setFoldIndicatorEnabled(true);
>>> +        languageProperties = 
>>> JMeterUtils.loadProperties("org/apache/jmeter/testbeans/gui/textarea.properties"); 
>>> //$NON-NLS-1$
>>>       }
>>>
>>>       /**
>>> @@ -112,4 +123,19 @@ public class TextAreaEditor extends Prop
>>>       public boolean supportsCustomEditor() {
>>>           return true;
>>>       }
>>> +
>>> +    @Override
>>> +    public void propertyChange(PropertyChangeEvent evt) {
>>> +        Object source = evt.getSource();
>>> +        if (source instanceof ComboStringEditor && source != null) {
>>> +            ComboStringEditor cse = (ComboStringEditor) source;
>>> +            String lang = cse.getAsText().toLowerCase();
>>> +            if (languageProperties.containsKey(lang)) {
>>> + textUI.setSyntaxEditingStyle(languageProperties.getProperty(lang));
>>> +            } else {
>>> + textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_NONE);
>>> +            }
>>> +
>>> +        }
>>> +    }
>>>   }
>>>
>>> Modified: 
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java 
>>>
>>> URL: 
>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>> ============================================================================== 
>>>
>>> --- 
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java 
>>> (original)
>>> +++ 
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java 
>>> Fri Jul  5 20:39:54 2013
>>> @@ -445,4 +445,8 @@ class WrapperEditor extends PropertyEdit
>>>               guiEditor.setAsText(lastValidValue);
>>>           }
>>>       }
>>> +
>>> +    public void addChangeListener(PropertyChangeListener listener) {
>>> +        guiEditor.addPropertyChangeListener(listener);
>>> +    }
>>>   }
>>> \ No newline at end of file
>>>
>>> Added: 
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>> URL: 
>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties?rev=1500124&view=auto
>>> ============================================================================== 
>>>
>>> --- 
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties 
>>> (added)
>>> +++ 
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties 
>>> Fri Jul  5 20:39:54 2013
>>> @@ -0,0 +1,52 @@
>>> +#
>>> +# Licensed to the Apache Software Foundation (ASF) under one or more
>>> +# contributor license agreements.  See the NOTICE file distributed 
>>> with
>>> +# this work for additional information regarding copyright ownership.
>>> +# The ASF licenses this file to You 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.
>>> +#
>>> +
>>> +javascript = text/javascript
>>> +js = text/javascript
>>> +jacl = text/tcl
>>> +netrexx = text/plain
>>> +java = text/java
>>> +javaclass = text/java
>>> +bml = text/xml
>>> +vbscript = text/vb
>>> +jscript = text/javascript
>>> +perlscript = text/perl
>>> +perl = text/perl
>>> +jpython = text/python
>>> +jython = text/python
>>> +lotusscript = text/vb
>>> +xslt = text/mxml
>>> +pnuts = text/java
>>> +beanbasic = text/java
>>> +beanshell = text/java
>>> +bsh = text/unix
>>> +ruby = text/ruby
>>> +judoscript = text/plain
>>> +groovy = text/groovy
>>> +objectscript = text/javascript
>>> +prolog = text/plain
>>> +rexx = text/plain
>>> +applescript = text/plain
>>> +ecmascript = text/actionscript
>>> +jexl = text/java
>>> +jexl2 = text/java
>>> +rhino = text/javascript
>>> +edit = text/unix
>>> +lua = text/lua
>>> +php = text/php
>>> +lisp = text/lisp
>>> +sql = text/sql
>>> \ No newline at end of file
>>>
>>> Propchange: 
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>> ------------------------------------------------------------------------------ 
>>>
>>>      svn:eol-style = native
>>>
>>> Propchange: 
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>> ------------------------------------------------------------------------------ 
>>>
>>>      svn:mime-type = text/plain
>>>
>>> Modified: 
>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>> URL: 
>>> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>> ============================================================================== 
>>>
>>> --- 
>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java 
>>> (original)
>>> +++ 
>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java 
>>> Fri Jul  5 20:39:54 2013
>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>   import javax.swing.JCheckBox;
>>>   import javax.swing.JLabel;
>>>   import javax.swing.JPanel;
>>> -import javax.swing.JScrollPane;
>>>   import javax.swing.JTextArea;
>>>   import javax.swing.JTextField;
>>>
>>> @@ -33,6 +32,9 @@ import org.apache.jmeter.samplers.gui.Ab
>>>   import org.apache.jmeter.testelement.TestElement;
>>>   import org.apache.jmeter.testelement.property.BooleanProperty;
>>>   import org.apache.jmeter.util.JMeterUtils;
>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>
>>>   public class BeanShellSamplerGui extends AbstractSamplerGui {
>>>
>>> @@ -44,7 +46,7 @@ public class BeanShellSamplerGui extends
>>>
>>>       private JTextField parameters;// parameters to pass to script 
>>> file (or script)
>>>
>>> -    private JTextArea scriptField;// script area
>>> +    private RSyntaxTextArea scriptField;// script area
>>>
>>>       public BeanShellSamplerGui() {
>>>           init();
>>> @@ -153,8 +155,9 @@ public class BeanShellSamplerGui extends
>>>       }
>>>
>>>       private JPanel createScriptPanel() {
>>> -        scriptField = new JTextArea();
>>> -        scriptField.setRows(4);
>>> +        scriptField = new RSyntaxTextArea(20, 20);
>>> + scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>> +        scriptField.setCodeFoldingEnabled(true);
>>>           scriptField.setLineWrap(true);
>>>           scriptField.setWrapStyleWord(true);
>>>
>>> @@ -163,7 +166,7 @@ public class BeanShellSamplerGui extends
>>>
>>>           JPanel panel = new JPanel(new BorderLayout());
>>>           panel.add(label, BorderLayout.NORTH);
>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>> +        panel.add(new RTextScrollPane(scriptField), 
>>> BorderLayout.CENTER);
>>>
>>>           JTextArea explain = new 
>>> JTextArea(JMeterUtils.getResString("bsh_script_variables")); 
>>> //$NON-NLS-1$
>>>           explain.setLineWrap(true);
>>>
>>> Modified: jmeter/trunk/xdocs/changes.xml
>>> URL: 
>>> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>>> ============================================================================== 
>>>
>>> --- jmeter/trunk/xdocs/changes.xml (original)
>>> +++ jmeter/trunk/xdocs/changes.xml Fri Jul  5 20:39:54 2013
>>> @@ -224,6 +224,7 @@ Transaction Controller now sets Response
>>>   <li><bugzilla>54990</bugzilla> - Download large files avoiding 
>>> outOfMemory</li>
>>>   <li><bugzilla>55085</bugzilla> - UX Improvement : Ability to 
>>> create New Test Plan from Templates</li>
>>>   <li><bugzilla>55172</bugzilla> - Provide plugins a way to add Top 
>>> Menu and menu items</li>
>>> +<li><bugzilla>55202</bugzilla> - Add syntax color for scripts 
>>> elements (BeanShell, BSF, and JSR223) with RSyntaxTextArea</li>
>>>   </ul>
>>>
>>>   <h2>Non-functional changes</h2>
>>>
>>>
>
>


Re: svn commit: r1500124 - in /jmeter/trunk: ./ res/maven/ src/components/org/apache/jmeter/assertions/gui/ src/core/org/apache/jmeter/testbeans/gui/ src/protocol/java/org/apache/jmeter/protocol/java/control/gui/ xdocs/

Posted by Milamber <mi...@apache.org>.
Le 05/07/2013 21:55, sebb a ecrit :
> On 5 July 2013 21:39,  <mi...@apache.org> wrote:
>> Author: milamber
>> Date: Fri Jul  5 20:39:54 2013
>> New Revision: 1500124
>>
>> URL: http://svn.apache.org/r1500124
>> Log:
>> Bug 55202 - Proposal to add RSyntaxTextArea for BeanShell, BSF, and JSR223 elements
>> Bugzilla Id: 55202
> -1
>
> I think the jar needs to be obtained somewhere other than Maven
> Central, as the pom license there says LGPL.

The mvnrepository.com website (whish said LGPL) is not official Maven 
repository (and not affiliate with Maven/ASF if you see the whois 
information).
You cannot trust on informations in this site.

The official website indicate the license (modified BSD), and I have 
added the same version than the binary release (in zip file):
http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea-demo/2.0.7/

Unfortunately, I don't found a direct link to the jar on official 
website. I think we can keep the download from Maven repo2 (it's not the 
mvvrepository.com site, and don't show any Lgpl license for this jar).

>
> Please remove the download part for now.
>
>> Added:
>>      jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties   (with props)
>> Modified:
>>      jmeter/trunk/LICENSE
>>      jmeter/trunk/build.properties
>>      jmeter/trunk/build.xml
>>      jmeter/trunk/eclipse.classpath
>>      jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>>      jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>      jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>      jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>      jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>      jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>      jmeter/trunk/xdocs/changes.xml
>>
>> Modified: jmeter/trunk/LICENSE
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/LICENSE?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/LICENSE [utf-8] (original)
>> +++ jmeter/trunk/LICENSE [utf-8] Fri Jul  5 20:39:54 2013
>> @@ -1565,7 +1565,7 @@ The jsoup code-base (include source and
>>   distributed under the open source MIT license as described below.
>>   The MIT License
>>
>> -Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>> +Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>
>>   Permission is hereby granted, free of charge, to any person obtaining a
>>   copy of this software and associated documentation files (the "Software"),
>> @@ -1926,7 +1926,7 @@ As a special exception, the copyright ho
>>   Open Icon Library from
>>   http://openiconlibrary.sourceforge.net/
>>
>> -Detailled Licenses information:
>> +Detailed Licenses information:
>>   http://openiconlibrary.sourceforge.net/LICENSES.html
>>
>>   ============ Packages used by Apache JMeter =========
>> @@ -2029,3 +2029,39 @@ UNLESS OTHERWISE MUTUALLY AGREED TO BY T
>>
>>   ################################################################################
>>
>> +RSyntaxTextArea License
>> +=========================================
>> +
>> +RSyntaxTextArea  from
>> +http://fifesoft.com/rsyntaxtextarea/
>> +
>> +Detailed License information:
>> +http://fifesoft.com/rsyntaxtextarea/RSyntaxTextArea.License.txt
>> +
>> +============== RSyntaxTextArea  License =============
>> +Copyright (c) 2012, Robert Futrell
>> +All rights reserved.
>> +
>> +Redistribution and use in source and binary forms, with or without
>> +modification, are permitted provided that the following conditions are met:
>> +    * Redistributions of source code must retain the above copyright
>> +      notice, this list of conditions and the following disclaimer.
>> +    * Redistributions in binary form must reproduce the above copyright
>> +      notice, this list of conditions and the following disclaimer in the
>> +      documentation and/or other materials provided with the distribution.
>> +    * Neither the name of the author nor the names of its contributors may
>> +      be used to endorse or promote products derived from this software
>> +      without specific prior written permission.
>> +
>> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
>> +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
>> +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>> +DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
>> +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
>> +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
>> +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
>> +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
>> +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
>> +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>> +
>> +################################################################################
>> \ No newline at end of file
>>
>> Modified: jmeter/trunk/build.properties
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/build.properties?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/build.properties (original)
>> +++ jmeter/trunk/build.properties Fri Jul  5 20:39:54 2013
>> @@ -223,6 +223,11 @@ mongo-java-driver.jar                                      = mongo-java-d
>>   mongo-java-driver.loc                                  = ${maven2.repo}/org/mongodb/mongo-java-driver/${mongo-java-driver.version}
>>   mongo-java-driver.md5                                  = fed5e6d998256e285396b4e0d81537bd
>>
>> +rsyntaxtextarea.version     = 2.0.7
>> +rsyntaxtextarea.jar         = rsyntaxtextarea-${rsyntaxtextarea.version}.jar
>> +rsyntaxtextarea.loc         = ${maven2.repo}/com/fifesoft/rsyntaxtextarea/${rsyntaxtextarea.version}
>> +rsyntaxtextarea.md5         = 00ab3c8ce58bb8bb1dbb3ae506f06d30
> -1
>
> I don't think we can download from there until the license issue is sorted out.
>
>> +
>>   slf4j-api.version           = 1.7.5
>>   slf4j-api.jar               = slf4j-api-${slf4j-api.version}.jar
>>   slf4j-api.loc               = ${maven2.repo}/org/slf4j/slf4j-api/${slf4j-api.version}
>>
>> Modified: jmeter/trunk/build.xml
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/build.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/build.xml (original)
>> +++ jmeter/trunk/build.xml Fri Jul  5 20:39:54 2013
>> @@ -387,6 +387,7 @@
>>       <include name="${lib.dir}/${junit.jar}"/>
>>       <include name="${lib.dir}/${logkit.jar}"/>
>>       <include name="${lib.dir}/${mongo-java-driver.jar}"/>
>> +    <include name="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>       <include name="${lib.dir}/${serializer.jar}"/>
>>       <include name="${lib.dir}/${slf4j-api.jar}"/>
>>       <include name="${lib.dir}/${soap.jar}"/>
>> @@ -454,6 +455,7 @@
>>       <pathelement location="${lib.dir}/${junit.jar}"/>
>>       <pathelement location="${lib.dir}/${logkit.jar}"/>
>>       <pathelement location="${lib.dir}/${mongo-java-driver.jar}"/>
>> +    <pathelement location="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>       <pathelement location="${lib.dir}/${serializer.jar}"/>
>>       <pathelement location="${lib.dir}/${slf4j-api.jar}"/>
>>       <pathelement location="${lib.dir}/${soap.jar}"/>
>> @@ -2879,6 +2881,7 @@ run JMeter unless all the JMeter jars ar
>>           <process_jarfile jarname="junit"/>
>>           <process_jarfile jarname="logkit"/>
>>           <process_jarfile jarname="mongo-java-driver"/>
>> +        <process_jarfile jarname="rsyntaxtextarea"/>
>>           <process_jarfile jarname="serializer"/>
>>          <process_jarfile jarname="slf4j-api"/>
>>           <process_jarfile jarname="soap"/>
>>
>> Modified: jmeter/trunk/eclipse.classpath
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/eclipse.classpath?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/eclipse.classpath (original)
>> +++ jmeter/trunk/eclipse.classpath Fri Jul  5 20:39:54 2013
>> @@ -76,6 +76,7 @@
>>          <classpathentry kind="lib" path="lib/logkit-2.0.jar"/>
>>          <classpathentry kind="lib" path="lib/mail-1.4.4.jar"/>
>>       <classpathentry kind="lib" path="lib/mongo-java-driver-2.11.2.jar"/>
>> +    <classpathentry kind="lib" path="lib/rsyntaxtextarea-2.0.7.jar"/>
>>          <classpathentry kind="lib" path="lib/oro-2.0.8.jar"/>
>>          <classpathentry kind="lib" path="lib/serializer-2.7.1.jar"/>
>>       <classpathentry kind="lib" path="lib/slf4j-api-1.7.5.jar"/>
>>
>> Modified: jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/res/maven/ApacheJMeter_parent.pom?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/res/maven/ApacheJMeter_parent.pom (original)
>> +++ jmeter/trunk/res/maven/ApacheJMeter_parent.pom Fri Jul  5 20:39:54 2013
>> @@ -84,6 +84,7 @@ under the License.
>>         <junit.version>4.11</junit.version>
>>         <logkit.version>2.0</logkit.version>
>>         <mongo-java-driver.version>2.11.2</mongo-java-driver.version>
>> +      <rsyntaxtextarea.version>2.0.7</rsyntaxtextarea.version>
>>         <slf4j.version>1.7.5</slf4j.version>
>>         <soap.version>2.3.1</soap.version>
>>         <tidy.version>r938</tidy.version>
>> @@ -357,6 +358,11 @@ under the License.
>>           <version>${mongo-java-driver.version}</version>
>>         </dependency>
>>         <dependency>
>> +        <groupId>com.fifesoft</groupId>
>> +        <artifactId>rsyntaxtextarea</artifactId>
>> +        <version>${rsyntaxtextarea.version}</version>
>> +      </dependency>
>> +      <dependency>
>>           <groupId>org.slf4j</groupId>
>>           <artifactId>slf4j-api</artifactId>
>>           <version>${slf4j.version}</version>
>>
>> Modified: jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java (original)
>> +++ jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java Fri Jul  5 20:39:54 2013
>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>   import javax.swing.JCheckBox;
>>   import javax.swing.JLabel;
>>   import javax.swing.JPanel;
>> -import javax.swing.JScrollPane;
>>   import javax.swing.JTextArea;
>>   import javax.swing.JTextField;
>>
>> @@ -32,6 +31,9 @@ import org.apache.jmeter.assertions.Bean
>>   import org.apache.jmeter.testelement.TestElement;
>>   import org.apache.jmeter.testelement.property.BooleanProperty;
>>   import org.apache.jmeter.util.JMeterUtils;
>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>
>>   public class BeanShellAssertionGui extends AbstractAssertionGui {
>>
>> @@ -43,7 +45,7 @@ public class BeanShellAssertionGui exten
>>
>>       private JTextField parameters;// parameters to pass to script file (or script)
>>
>> -    private JTextArea scriptField;// script area
>> +    private RSyntaxTextArea scriptField; // script area
>>
>>       public BeanShellAssertionGui() {
>>           init();
>> @@ -139,8 +141,10 @@ public class BeanShellAssertionGui exten
>>       }
>>
>>       private JPanel createScriptPanel() {
>> -        scriptField = new JTextArea();
>> -        scriptField.setRows(4);
>> +        scriptField = new RSyntaxTextArea(20,20);
>> +        scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>> +        scriptField.setCodeFoldingEnabled(true);
>> +        scriptField.setAntiAliasingEnabled(true);
>>           scriptField.setLineWrap(true);
>>           scriptField.setWrapStyleWord(true);
>>
>> @@ -149,7 +153,7 @@ public class BeanShellAssertionGui exten
>>
>>           JPanel panel = new JPanel(new BorderLayout());
>>           panel.add(label, BorderLayout.NORTH);
>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>> +        panel.add(new RTextScrollPane(scriptField), BorderLayout.CENTER);
>>
>>           JTextArea explain = new JTextArea(JMeterUtils.getResString("bsh_assertion_script_variables")); //$NON-NLS-1$
>>           explain.setLineWrap(true);
>>
>> Modified: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java Fri Jul  5 20:39:54 2013
>> @@ -203,6 +203,8 @@ public class GenericTestBeanCustomizer e
>>
>>           // Obtain the propertyEditors:
>>           editors = new PropertyEditor[descriptors.length];
>> +        int scriptLanguageIndex = 0;
>> +        int textAreaEditorIndex = 0;
>>           for (int i = 0; i < descriptors.length; i++) { // Index is also used for accessing editors array
>>               PropertyDescriptor descriptor = descriptors[i];
>>               String name = descriptor.getName();
>> @@ -218,7 +220,7 @@ public class GenericTestBeanCustomizer e
>>               PropertyEditor propertyEditor;
>>               Object guiType = descriptor.getValue(GUITYPE);
>>               if (guiType instanceof TypeEditor) {
>> -                propertyEditor = ((TypeEditor) guiType).getInstance(descriptor);
>> +                propertyEditor = ((TypeEditor) guiType).getInstance(descriptor);
>>               } else {
>>                   Class<?> editorClass = descriptor.getPropertyEditorClass();
>>                   if (log.isDebugEnabled()) {
>> @@ -267,6 +269,10 @@ public class GenericTestBeanCustomizer e
>>               {
>>                   ((TestBeanPropertyEditor)propertyEditor).setDescriptor(descriptor);
>>               }
>> +
>> +            if (propertyEditor instanceof TextAreaEditor) {
>> +                textAreaEditorIndex = i;
>> +            }
>>               if (propertyEditor.getCustomEditor() instanceof JScrollPane) {
>>                   scrollerCount++;
>>               }
>> @@ -276,6 +282,17 @@ public class GenericTestBeanCustomizer e
>>               // Initialize the editor with the provided default value or null:
>>               setEditorValue(i, descriptor.getValue(DEFAULT));
>>
>> +            if (name.equals("scriptLanguage")) {
>> +                scriptLanguageIndex = i;
>> +            }
>> +
>> +        }
>> +        // In case of BSF and JSR elements i want to add textAreaEditor as a listener to scriptLanguage ComboBox.
>> +        String beanName = this.beanInfo.getBeanDescriptor().getName();
>> +        if (beanName.startsWith("BSF") || beanName.startsWith("JSR223")) { // $NON-NLS-1$ $NON-NLS-2$
>> +            WrapperEditor we = (WrapperEditor) editors[scriptLanguageIndex];
>> +            TextAreaEditor tae = (TextAreaEditor) editors[textAreaEditorIndex];
>> +            we.addChangeListener(tae);
>>           }
>>
>>           // Obtain message formats:
>>
>> Modified: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java Fri Jul  5 20:39:54 2013
>> @@ -24,17 +24,23 @@ package org.apache.jmeter.testbeans.gui;
>>   import java.awt.Component;
>>   import java.awt.event.FocusEvent;
>>   import java.awt.event.FocusListener;
>> +import java.beans.PropertyChangeEvent;
>> +import java.beans.PropertyChangeListener;
>>   import java.beans.PropertyEditorSupport;
>> +import java.util.Properties;
>>
>> -import javax.swing.JScrollPane;
>> -import javax.swing.JTextArea;
>> -import javax.swing.ScrollPaneConstants;
>> +import org.apache.jmeter.util.JMeterUtils;
>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>
>> -public class TextAreaEditor extends PropertyEditorSupport implements FocusListener {
>> +public class TextAreaEditor extends PropertyEditorSupport implements FocusListener, PropertyChangeListener {
>>
>> -    private JTextArea textUI;
>> +    private RSyntaxTextArea textUI;
>>
>> -    private JScrollPane scroller;
>> +    private RTextScrollPane scroller;
>> +
>> +    private Properties languageProperties;
>>
>>       /** {@inheritDoc} */
>>       @Override
>> @@ -48,12 +54,17 @@ public class TextAreaEditor extends Prop
>>       }
>>
>>       private final void init() {// called from ctor, so must not be overridable
>> -        textUI = new JTextArea();
>> +        textUI = new RSyntaxTextArea(20, 20);
>> +        textUI.discardAllEdits();
>> +        textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>> +        textUI.setCodeFoldingEnabled(true);
>> +        textUI.setAntiAliasingEnabled(true);
>>           textUI.addFocusListener(this);
>>           textUI.setWrapStyleWord(true);
>>           textUI.setLineWrap(true);
>> -        scroller = new JScrollPane(textUI, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
>> -                ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
>> +        scroller = new RTextScrollPane(textUI);
>> +        scroller.setFoldIndicatorEnabled(true);
>> +        languageProperties = JMeterUtils.loadProperties("org/apache/jmeter/testbeans/gui/textarea.properties"); //$NON-NLS-1$
>>       }
>>
>>       /**
>> @@ -112,4 +123,19 @@ public class TextAreaEditor extends Prop
>>       public boolean supportsCustomEditor() {
>>           return true;
>>       }
>> +
>> +    @Override
>> +    public void propertyChange(PropertyChangeEvent evt) {
>> +        Object source = evt.getSource();
>> +        if (source instanceof ComboStringEditor && source != null) {
>> +            ComboStringEditor cse = (ComboStringEditor) source;
>> +            String lang = cse.getAsText().toLowerCase();
>> +            if (languageProperties.containsKey(lang)) {
>> +                textUI.setSyntaxEditingStyle(languageProperties.getProperty(lang));
>> +            } else {
>> +                textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_NONE);
>> +            }
>> +
>> +        }
>> +    }
>>   }
>>
>> Modified: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java Fri Jul  5 20:39:54 2013
>> @@ -445,4 +445,8 @@ class WrapperEditor extends PropertyEdit
>>               guiEditor.setAsText(lastValidValue);
>>           }
>>       }
>> +
>> +    public void addChangeListener(PropertyChangeListener listener) {
>> +        guiEditor.addPropertyChangeListener(listener);
>> +    }
>>   }
>> \ No newline at end of file
>>
>> Added: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties?rev=1500124&view=auto
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties (added)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties Fri Jul  5 20:39:54 2013
>> @@ -0,0 +1,52 @@
>> +#
>> +# Licensed to the Apache Software Foundation (ASF) under one or more
>> +# contributor license agreements.  See the NOTICE file distributed with
>> +# this work for additional information regarding copyright ownership.
>> +# The ASF licenses this file to You 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.
>> +#
>> +
>> +javascript = text/javascript
>> +js = text/javascript
>> +jacl = text/tcl
>> +netrexx = text/plain
>> +java = text/java
>> +javaclass = text/java
>> +bml = text/xml
>> +vbscript = text/vb
>> +jscript = text/javascript
>> +perlscript = text/perl
>> +perl = text/perl
>> +jpython = text/python
>> +jython = text/python
>> +lotusscript = text/vb
>> +xslt = text/mxml
>> +pnuts = text/java
>> +beanbasic = text/java
>> +beanshell = text/java
>> +bsh = text/unix
>> +ruby = text/ruby
>> +judoscript = text/plain
>> +groovy = text/groovy
>> +objectscript = text/javascript
>> +prolog = text/plain
>> +rexx = text/plain
>> +applescript = text/plain
>> +ecmascript = text/actionscript
>> +jexl = text/java
>> +jexl2 = text/java
>> +rhino = text/javascript
>> +edit = text/unix
>> +lua = text/lua
>> +php = text/php
>> +lisp = text/lisp
>> +sql = text/sql
>> \ No newline at end of file
>>
>> Propchange: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>> ------------------------------------------------------------------------------
>>      svn:eol-style = native
>>
>> Propchange: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>> ------------------------------------------------------------------------------
>>      svn:mime-type = text/plain
>>
>> Modified: jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java (original)
>> +++ jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java Fri Jul  5 20:39:54 2013
>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>   import javax.swing.JCheckBox;
>>   import javax.swing.JLabel;
>>   import javax.swing.JPanel;
>> -import javax.swing.JScrollPane;
>>   import javax.swing.JTextArea;
>>   import javax.swing.JTextField;
>>
>> @@ -33,6 +32,9 @@ import org.apache.jmeter.samplers.gui.Ab
>>   import org.apache.jmeter.testelement.TestElement;
>>   import org.apache.jmeter.testelement.property.BooleanProperty;
>>   import org.apache.jmeter.util.JMeterUtils;
>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>
>>   public class BeanShellSamplerGui extends AbstractSamplerGui {
>>
>> @@ -44,7 +46,7 @@ public class BeanShellSamplerGui extends
>>
>>       private JTextField parameters;// parameters to pass to script file (or script)
>>
>> -    private JTextArea scriptField;// script area
>> +    private RSyntaxTextArea scriptField;// script area
>>
>>       public BeanShellSamplerGui() {
>>           init();
>> @@ -153,8 +155,9 @@ public class BeanShellSamplerGui extends
>>       }
>>
>>       private JPanel createScriptPanel() {
>> -        scriptField = new JTextArea();
>> -        scriptField.setRows(4);
>> +        scriptField = new RSyntaxTextArea(20, 20);
>> +        scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>> +        scriptField.setCodeFoldingEnabled(true);
>>           scriptField.setLineWrap(true);
>>           scriptField.setWrapStyleWord(true);
>>
>> @@ -163,7 +166,7 @@ public class BeanShellSamplerGui extends
>>
>>           JPanel panel = new JPanel(new BorderLayout());
>>           panel.add(label, BorderLayout.NORTH);
>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>> +        panel.add(new RTextScrollPane(scriptField), BorderLayout.CENTER);
>>
>>           JTextArea explain = new JTextArea(JMeterUtils.getResString("bsh_script_variables")); //$NON-NLS-1$
>>           explain.setLineWrap(true);
>>
>> Modified: jmeter/trunk/xdocs/changes.xml
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/xdocs/changes.xml (original)
>> +++ jmeter/trunk/xdocs/changes.xml Fri Jul  5 20:39:54 2013
>> @@ -224,6 +224,7 @@ Transaction Controller now sets Response
>>   <li><bugzilla>54990</bugzilla> - Download large files avoiding outOfMemory</li>
>>   <li><bugzilla>55085</bugzilla> - UX Improvement : Ability to create New Test Plan from Templates</li>
>>   <li><bugzilla>55172</bugzilla> - Provide plugins a way to add Top Menu and menu items</li>
>> +<li><bugzilla>55202</bugzilla> - Add syntax color for scripts elements (BeanShell, BSF, and JSR223) with RSyntaxTextArea</li>
>>   </ul>
>>
>>   <h2>Non-functional changes</h2>
>>
>>


Re: svn commit: r1500124 - in /jmeter/trunk: ./ res/maven/ src/components/org/apache/jmeter/assertions/gui/ src/core/org/apache/jmeter/testbeans/gui/ src/protocol/java/org/apache/jmeter/protocol/java/control/gui/ xdocs/

Posted by sebb <se...@gmail.com>.
An alternative is to replace
    return super.resolveEntity(publicId, systemId);
with
    return null;
as that is what the super method is documented to always do.

The problem arises from a bug in
org.xml.sax.helpers.DefaultHandler#resolveEntity.
It implements EntityResolver (which throws IOE), but the method does
not throw IOException in Java 1.4
This was fixed in Java 1.5.

The compiler allows one to drop throws clauses from sub classes, but
not add them.
I don't know why it does not warn about unimplemented throws; that
would help catch such issues.

As an aside, I think the code could be fixed by the author to allow
compiling on both.
For example by wrapping IOE in SaxException, and returning null.

Something like (not tested):

		public InputSource resolveEntity(String publicId, String systemId)
								throws SAXException {
			if (entityResolver!=null) {
				try {
					return entityResolver.resolveEntity(publicId, systemId);
				} catch (IOException ioe) {
				    throw new SaxException(ioe);
				}
			}
			return null; // This is the documented behaviour of:
super.resolveEntity(publicId, systemId);
		}

On 6 July 2013 09:38, Philippe Mouawad <ph...@gmail.com> wrote:
> you need to add a throws in one method, it is in the build output
>

Re: svn commit: r1500124 - in /jmeter/trunk: ./ res/maven/ src/components/org/apache/jmeter/assertions/gui/ src/core/org/apache/jmeter/testbeans/gui/ src/protocol/java/org/apache/jmeter/protocol/java/control/gui/ xdocs/

Posted by Philippe Mouawad <ph...@gmail.com>.
you need to add a throws in one method, it is in the build output

On Saturday, July 6, 2013, Milamber wrote:

>
> Le 06/07/2013 00:08, sebb a ecrit :
>
>> On 5 July 2013 23:17, sebb <se...@gmail.com> wrote:
>>
>>> On 5 July 2013 23:10, sebb <se...@gmail.com> wrote:
>>>
>>>> On 5 July 2013 22:53, Milamber <mi...@gmail.com> wrote:
>>>>
>>>>> Le 05/07/2013 22:40, sebb a ecrit :
>>>>>
>>>>>  On 5 July 2013 22:36, Milamber <mi...@apache.org> wrote:
>>>>>>
>>>>>>> Le 05/07/2013 21:55, sebb a ecrit :
>>>>>>>
>>>>>>>> On 5 July 2013 21:39,  <mi...@apache.org> wrote:
>>>>>>>>
>>>>>>>>  Author: milamber
>>>>>>>>> Date: Fri Jul  5 20:39:54 2013
>>>>>>>>> New Revision: 1500124
>>>>>>>>>
>>>>>>>>> URL: http://svn.apache.org/r1500124
>>>>>>>>> Log:
>>>>>>>>> Bug 55202 - Proposal to add RSyntaxTextArea for BeanShell, BSF, and
>>>>>>>>> JSR223 elements
>>>>>>>>> Bugzilla Id: 55202
>>>>>>>>>
>>>>>>>> -1
>>>>>>>>
>>>>>>>> I think the jar needs to be obtained somewhere other than Maven
>>>>>>>> Central, as the pom license there says LGPL.
>>>>>>>>
>>>>>>>
>>>>>>> Not good...
>>>>>>>
>>>>>>> I have sent an email to Filesolft (author of rsyntaxtextarea) to
>>>>>>> point
>>>>>>> the
>>>>>>> difference between their website and the pom file on Maven website,
>>>>>>> and
>>>>>>> ask
>>>>>>> the good license.
>>>>>>>
>>>>>> That would be the best solution - having an incorrect license on Maven
>>>>>> is not good.
>>>>>>
>>>>>> However we do have other options:
>>>>>> - download the example archive and extract the jar:
>>>>>>
>>>>>> http://sourceforge.net/**projects/rsyntaxtextarea/**
>>>>>> files/rsyntaxtextarea-demo/2.**0.7/rsyntaxtextarea_demo_2.0.**
>>>>>> 7.zip/download<http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea-demo/2.0.7/rsyntaxtextarea_demo_2.0.7.zip/download>
>>>>>> - download the source to a temporary folder and compile it
>>>>>>
>>>>>
>>>>> You're right, another option is:
>>>>> (on download_jars task)
>>>>> Download form the binary release (not -demo)
>>>>> http://sourceforge.net/**projects/rsyntaxtextarea/**
>>>>> files/rsyntaxtextarea/2.0.7/**rsyntaxtextarea_2.0.7.zip/**download<http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea/2.0.7/rsyntaxtextarea_2.0.7.zip/download>
>>>>> The zip file include the modified BSD license.
>>>>>
>>>>> Get the jar file and put on good directory.
>>>>>
>>>>> It is a good way ? or we must compile from source?
>>>>>
>>>> I think that's OK, the license in the zip looks to be the same (best
>>>> to check though).
>>>>
>>>> Not sure if build.xml still has the code to do zip extraction, if not
>>>> it can be recovered from SVN history.
>>>>
>>>> The extracted jar will still contain the example code.
>>>> If that turns out to be a problem, then using the source should not be
>>>> too hard to do.
>>>>
>>> Looks like the jar in the example zip is incomplete; it does not have
>> the class:
>>
>> org.fife.ui.rsyntaxtextarea.**modes.ActionScriptTokenMaker
>>
>> The JMeter test generates lots of stack trace output. presumably from
>> somewhere in the RSyntaxTextArea code.
>> I think that's a bug - either the exception should be propagated back
>> to the caller, or the exception should be handled silently.
>>
>> Anyway, I think we'll probably need to download the source and compile it.
>>
>
> When I try tom compile from source zip with JDK 1.6, I have this warning
> and errors:
>
>      [echo] NOTE: *** RSyntaxTextArea is built with a 1.4.2 JDK!
>      [echo] NOTE: *** If you build with Java 5 or newer, you will receive
> a compile error
>      [echo] NOTE: *** about an XmlParser.java method missing IOException
> in its throws
>      [echo] NOTE: *** clause.  This is caused by a binary incompatibility
> between Java
>      [echo] NOTE: *** 1.4 and Java 5.  To remedy this, either build with
> 1.4.2, or add
>      [echo] NOTE: *** IOException to the throws clause.
>     [javac] Compiling 161 source files to /root/Rsyntax/ant-classes
>     [javac] /root/Rsyntax/src/org/fife/ui/**rtextarea/**
> RTATextTransferHandler.java:**17: warning: [deprecation] java.io.**StringBufferInputStream
> in java.io has been deprecated
>     [javac] import java.io.**StringBufferInputStream;
>     [javac]               ^
>     [javac] /root/Rsyntax/src/org/fife/ui/**rsyntaxtextarea/**RtfTransferable.java:41:
> warning: [deprecation] plainTextFlavor in java.awt.datatransfer.**DataFlavor
> has been deprecated
>     [javac]         DataFlavor.plainTextFlavor // deprecated
>     [javac]                   ^
>     [javac] /root/Rsyntax/src/org/fife/ui/**rsyntaxtextarea/parser/**XmlParser.java:219:
> unreported exception java.io.IOException; must be caught or declared to be
> thrown
>     [javac]             return super.resolveEntity(publicId, systemId);
>     [javac]                                       ^
>     [javac] /root/Rsyntax/src/org/fife/ui/**rtextarea/**
> RTATextTransferHandler.java:**356: warning: [deprecation] java.io.**StringBufferInputStream
> in java.io has been deprecated
>     [javac]                     return new StringBufferInputStream(data);
>     [javac]                                ^
>     [javac] 1 error
>     [javac] 3 warnings
>
>
> Not very great... I will try from binary zip file to get directly the jar.
>
>
>  The code could check if the jar is present, and if not, download and
> build.
>
> It's just occured to me - the Maven jar was not created by the
> project, so may not be trustworthy.
>
>  - ask on legal discuss if this really is a problem or not
>
>
>  Please remove the download part for now.
>
>  Added:
>
>
> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
> textarea.properties
> (with props)
> Modified:
>        jmeter/trunk/LICENSE
>        jmeter/trunk/build.properties
>        jmeter/trunk/build.xml
>        jmeter/trunk/eclipse.classpath
>        jmeter/trunk/res/maven/**ApacheJMeter_parent.pom
>
>
> jmeter/trunk/src/components/**org/apache/jmeter/assertions/**
> gui/BeanShellAssertionGui.java
>
>
> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
> GenericTestBeanCustomizer.java
>
>
> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
> TextAreaEditor.java
>
>
> jmeter/trunk/src/core/org/**apache/jmeter/testbeans/gui/**
> WrapperEditor.java
>
>
> jmeter/trunk/src/protocol/**java/org/apache/jmeter/**
> protocol/java/control/gui/**BeanShellSamplerGui.java
>        jmeter/trunk/xdocs/changes.xml
>
> Modified: jmeter/trunk/LICENSE
> URL:
>
> http://svn.apache.org/viewvc/**jmeter/trunk/LICENSE?rev=**
> 1500124&r1=1500123&r2=1500124&**view=diff<http://svn.apache.org/viewvc/jmeter/trunk/LICENSE?rev=1500124&r1=1500123&r2=1500124&view=diff>
>
>
> ==============================**==============================**
> ==================
> --- jmeter/trunk/LICENSE [utf-8] (original)
> +++ jmeter/trunk/LICENSE [utf-8] Fri Jul  5 20:39:54 2013
> @@ -1565,7 +1565,7 @@ The jsoup code-base (include source and
>     distributed under the open source MIT license as described below.
>     The MIT License
>
> -Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
> +Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>
>     Permission is hereby granted, free of charge, to any person
> obtaining a
>     copy of this software and associated documentation files (the
> "Software"),
> @@ -1926,7 +1926,7 @@ As a special exception, the copyright ho
>     Open Icon Library from
>     http://openiconlibrary.**sourceforge.net/<http://openiconlibrary.sourceforge.net/>
>
> -Detailled Licenses information:
> +Detailed Licenses information:
>     http://openiconlibrary.**sourceforge.net/LICENSES.html<http://openiconlibrary.sourceforge.net/LICENSES.html>
>
>     ============ Packages used by Apache JMeter =========
> @@ -2029,3 +2029,39 @@ UNLESS OTHERWISE MUTUALLY AGREED TO BY T
>
>
>
> ##############################**##############################**
> ####################
>
> +RSyntaxTextArea License
> +=============================**============
> +
> +RSyntaxTextArea  from
> +http://fifesoft.com/**rsyntaxtextarea/<http://fifesoft.com/rsyntaxtextarea/>
> +
> +Detailed License information:
> +http://fifesoft.com/**rsyntaxtextarea/**RSyntaxTextArea.License.txt<http://fifesoft.com/rsyntaxtextarea/RSyntaxTextArea.License.txt>
> +
> +============== RSyntaxTextArea  License =============
> +Copyright (c) 2012, Robert Futrell
> +All rights reserved.
> +
> +Redistribution and use in source and binary forms, with or without
> +modification, are permitted provided that the following conditions are
> met:
> +    * Redistributions of source code must retain the above copyright
> +      notice, this list of conditions and the following disclaimer.
> +    * Redistributions in binary form must reproduce the above
> copyright
> +      notice, thi
>
>

-- 
Cordialement.
Philippe Mouawad.

Re: svn commit: r1500124 - in /jmeter/trunk: ./ res/maven/ src/components/org/apache/jmeter/assertions/gui/ src/core/org/apache/jmeter/testbeans/gui/ src/protocol/java/org/apache/jmeter/protocol/java/control/gui/ xdocs/

Posted by Milamber <mi...@apache.org>.
Le 06/07/2013 00:08, sebb a ecrit :
> On 5 July 2013 23:17, sebb <se...@gmail.com> wrote:
>> On 5 July 2013 23:10, sebb <se...@gmail.com> wrote:
>>> On 5 July 2013 22:53, Milamber <mi...@gmail.com> wrote:
>>>> Le 05/07/2013 22:40, sebb a ecrit :
>>>>
>>>>> On 5 July 2013 22:36, Milamber <mi...@apache.org> wrote:
>>>>>> Le 05/07/2013 21:55, sebb a ecrit :
>>>>>>> On 5 July 2013 21:39,  <mi...@apache.org> wrote:
>>>>>>>
>>>>>>>> Author: milamber
>>>>>>>> Date: Fri Jul  5 20:39:54 2013
>>>>>>>> New Revision: 1500124
>>>>>>>>
>>>>>>>> URL: http://svn.apache.org/r1500124
>>>>>>>> Log:
>>>>>>>> Bug 55202 - Proposal to add RSyntaxTextArea for BeanShell, BSF, and
>>>>>>>> JSR223 elements
>>>>>>>> Bugzilla Id: 55202
>>>>>>> -1
>>>>>>>
>>>>>>> I think the jar needs to be obtained somewhere other than Maven
>>>>>>> Central, as the pom license there says LGPL.
>>>>>>
>>>>>> Not good...
>>>>>>
>>>>>> I have sent an email to Filesolft (author of rsyntaxtextarea) to point
>>>>>> the
>>>>>> difference between their website and the pom file on Maven website, and
>>>>>> ask
>>>>>> the good license.
>>>>> That would be the best solution - having an incorrect license on Maven
>>>>> is not good.
>>>>>
>>>>> However we do have other options:
>>>>> - download the example archive and extract the jar:
>>>>>
>>>>> http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea-demo/2.0.7/rsyntaxtextarea_demo_2.0.7.zip/download
>>>>> - download the source to a temporary folder and compile it
>>>>
>>>> You're right, another option is:
>>>> (on download_jars task)
>>>> Download form the binary release (not -demo)
>>>> http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea/2.0.7/rsyntaxtextarea_2.0.7.zip/download
>>>> The zip file include the modified BSD license.
>>>>
>>>> Get the jar file and put on good directory.
>>>>
>>>> It is a good way ? or we must compile from source?
>>> I think that's OK, the license in the zip looks to be the same (best
>>> to check though).
>>>
>>> Not sure if build.xml still has the code to do zip extraction, if not
>>> it can be recovered from SVN history.
>>>
>>> The extracted jar will still contain the example code.
>>> If that turns out to be a problem, then using the source should not be
>>> too hard to do.
> Looks like the jar in the example zip is incomplete; it does not have the class:
>
> org.fife.ui.rsyntaxtextarea.modes.ActionScriptTokenMaker
>
> The JMeter test generates lots of stack trace output. presumably from
> somewhere in the RSyntaxTextArea code.
> I think that's a bug - either the exception should be propagated back
> to the caller, or the exception should be handled silently.
>
> Anyway, I think we'll probably need to download the source and compile it.

When I try tom compile from source zip with JDK 1.6, I have this warning 
and errors:

      [echo] NOTE: *** RSyntaxTextArea is built with a 1.4.2 JDK!
      [echo] NOTE: *** If you build with Java 5 or newer, you will 
receive a compile error
      [echo] NOTE: *** about an XmlParser.java method missing 
IOException in its throws
      [echo] NOTE: *** clause.  This is caused by a binary 
incompatibility between Java
      [echo] NOTE: *** 1.4 and Java 5.  To remedy this, either build 
with 1.4.2, or add
      [echo] NOTE: *** IOException to the throws clause.
     [javac] Compiling 161 source files to /root/Rsyntax/ant-classes
     [javac] 
/root/Rsyntax/src/org/fife/ui/rtextarea/RTATextTransferHandler.java:17: 
warning: [deprecation] java.io.StringBufferInputStream in java.io has 
been deprecated
     [javac] import java.io.StringBufferInputStream;
     [javac]               ^
     [javac] 
/root/Rsyntax/src/org/fife/ui/rsyntaxtextarea/RtfTransferable.java:41: 
warning: [deprecation] plainTextFlavor in 
java.awt.datatransfer.DataFlavor has been deprecated
     [javac]         DataFlavor.plainTextFlavor // deprecated
     [javac]                   ^
     [javac] 
/root/Rsyntax/src/org/fife/ui/rsyntaxtextarea/parser/XmlParser.java:219: 
unreported exception java.io.IOException; must be caught or declared to 
be thrown
     [javac]             return super.resolveEntity(publicId, systemId);
     [javac]                                       ^
     [javac] 
/root/Rsyntax/src/org/fife/ui/rtextarea/RTATextTransferHandler.java:356: 
warning: [deprecation] java.io.StringBufferInputStream in java.io has 
been deprecated
     [javac]                     return new StringBufferInputStream(data);
     [javac]                                ^
     [javac] 1 error
     [javac] 3 warnings


Not very great... I will try from binary zip file to get directly the jar.

>
>>> The code could check if the jar is present, and if not, download and build.
>> It's just occured to me - the Maven jar was not created by the
>> project, so may not be trustworthy.
>>
>>>>> - ask on legal discuss if this really is a problem or not
>>>>>
>>>>>>
>>>>>>> Please remove the download part for now.
>>>>>>>
>>>>>>>> Added:
>>>>>>>>
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>>>> (with props)
>>>>>>>> Modified:
>>>>>>>>        jmeter/trunk/LICENSE
>>>>>>>>        jmeter/trunk/build.properties
>>>>>>>>        jmeter/trunk/build.xml
>>>>>>>>        jmeter/trunk/eclipse.classpath
>>>>>>>>        jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>>>>>>>>
>>>>>>>>
>>>>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>>>>>
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>>>>>
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>>>>>
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>>>>>>>
>>>>>>>>
>>>>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>>>>>        jmeter/trunk/xdocs/changes.xml
>>>>>>>>
>>>>>>>> Modified: jmeter/trunk/LICENSE
>>>>>>>> URL:
>>>>>>>>
>>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/LICENSE?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>>
>>>>>>>>
>>>>>>>> ==============================================================================
>>>>>>>> --- jmeter/trunk/LICENSE [utf-8] (original)
>>>>>>>> +++ jmeter/trunk/LICENSE [utf-8] Fri Jul  5 20:39:54 2013
>>>>>>>> @@ -1565,7 +1565,7 @@ The jsoup code-base (include source and
>>>>>>>>     distributed under the open source MIT license as described below.
>>>>>>>>     The MIT License
>>>>>>>>
>>>>>>>> -Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>>>>>> +Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>>>>>>
>>>>>>>>     Permission is hereby granted, free of charge, to any person
>>>>>>>> obtaining a
>>>>>>>>     copy of this software and associated documentation files (the
>>>>>>>> "Software"),
>>>>>>>> @@ -1926,7 +1926,7 @@ As a special exception, the copyright ho
>>>>>>>>     Open Icon Library from
>>>>>>>>     http://openiconlibrary.sourceforge.net/
>>>>>>>>
>>>>>>>> -Detailled Licenses information:
>>>>>>>> +Detailed Licenses information:
>>>>>>>>     http://openiconlibrary.sourceforge.net/LICENSES.html
>>>>>>>>
>>>>>>>>     ============ Packages used by Apache JMeter =========
>>>>>>>> @@ -2029,3 +2029,39 @@ UNLESS OTHERWISE MUTUALLY AGREED TO BY T
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ################################################################################
>>>>>>>>
>>>>>>>> +RSyntaxTextArea License
>>>>>>>> +=========================================
>>>>>>>> +
>>>>>>>> +RSyntaxTextArea  from
>>>>>>>> +http://fifesoft.com/rsyntaxtextarea/
>>>>>>>> +
>>>>>>>> +Detailed License information:
>>>>>>>> +http://fifesoft.com/rsyntaxtextarea/RSyntaxTextArea.License.txt
>>>>>>>> +
>>>>>>>> +============== RSyntaxTextArea  License =============
>>>>>>>> +Copyright (c) 2012, Robert Futrell
>>>>>>>> +All rights reserved.
>>>>>>>> +
>>>>>>>> +Redistribution and use in source and binary forms, with or without
>>>>>>>> +modification, are permitted provided that the following conditions are
>>>>>>>> met:
>>>>>>>> +    * Redistributions of source code must retain the above copyright
>>>>>>>> +      notice, this list of conditions and the following disclaimer.
>>>>>>>> +    * Redistributions in binary form must reproduce the above
>>>>>>>> copyright
>>>>>>>> +      notice, this list of conditions and the following disclaimer in
>>>>>>>> the
>>>>>>>> +      documentation and/or other materials provided with the
>>>>>>>> distribution.
>>>>>>>> +    * Neither the name of the author nor the names of its contributors
>>>>>>>> may
>>>>>>>> +      be used to endorse or promote products derived from this
>>>>>>>> software
>>>>>>>> +      without specific prior written permission.
>>>>>>>> +
>>>>>>>> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
>>>>>>>> "AS
>>>>>>>> IS" AND
>>>>>>>> +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
>>>>>>>> IMPLIED
>>>>>>>> +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>>>>>>>> +DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
>>>>>>>> +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
>>>>>>>> DAMAGES
>>>>>>>> +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
>>>>>>>> SERVICES;
>>>>>>>> +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
>>>>>>>> CAUSED
>>>>>>>> AND
>>>>>>>> +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
>>>>>>>> TORT
>>>>>>>> +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
>>>>>>>> OF
>>>>>>>> THIS
>>>>>>>> +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>>>>>>>> +
>>>>>>>>
>>>>>>>>
>>>>>>>> +################################################################################
>>>>>>>> \ No newline at end of file
>>>>>>>>
>>>>>>>> Modified: jmeter/trunk/build.properties
>>>>>>>> URL:
>>>>>>>>
>>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/build.properties?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>>
>>>>>>>>
>>>>>>>> ==============================================================================
>>>>>>>> --- jmeter/trunk/build.properties (original)
>>>>>>>> +++ jmeter/trunk/build.properties Fri Jul  5 20:39:54 2013
>>>>>>>> @@ -223,6 +223,11 @@ mongo-java-driver.jar
>>>>>>>> = mongo-java-d
>>>>>>>>     mongo-java-driver.loc                                  =
>>>>>>>>
>>>>>>>> ${maven2.repo}/org/mongodb/mongo-java-driver/${mongo-java-driver.version}
>>>>>>>>     mongo-java-driver.md5                                  =
>>>>>>>> fed5e6d998256e285396b4e0d81537bd
>>>>>>>>
>>>>>>>> +rsyntaxtextarea.version     = 2.0.7
>>>>>>>> +rsyntaxtextarea.jar         =
>>>>>>>> rsyntaxtextarea-${rsyntaxtextarea.version}.jar
>>>>>>>> +rsyntaxtextarea.loc         =
>>>>>>>> ${maven2.repo}/com/fifesoft/rsyntaxtextarea/${rsyntaxtextarea.version}
>>>>>>>> +rsyntaxtextarea.md5         = 00ab3c8ce58bb8bb1dbb3ae506f06d30
>>>>>>> -1
>>>>>>>
>>>>>>> I don't think we can download from there until the license issue is
>>>>>>> sorted
>>>>>>> out.
>>>>>>>
>>>>>>>> +
>>>>>>>>     slf4j-api.version           = 1.7.5
>>>>>>>>     slf4j-api.jar               = slf4j-api-${slf4j-api.version}.jar
>>>>>>>>     slf4j-api.loc               =
>>>>>>>> ${maven2.repo}/org/slf4j/slf4j-api/${slf4j-api.version}
>>>>>>>>
>>>>>>>> Modified: jmeter/trunk/build.xml
>>>>>>>> URL:
>>>>>>>>
>>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/build.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>>
>>>>>>>>
>>>>>>>> ==============================================================================
>>>>>>>> --- jmeter/trunk/build.xml (original)
>>>>>>>> +++ jmeter/trunk/build.xml Fri Jul  5 20:39:54 2013
>>>>>>>> @@ -387,6 +387,7 @@
>>>>>>>>         <include name="${lib.dir}/${junit.jar}"/>
>>>>>>>>         <include name="${lib.dir}/${logkit.jar}"/>
>>>>>>>>         <include name="${lib.dir}/${mongo-java-driver.jar}"/>
>>>>>>>> +    <include name="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>>>>>>>         <include name="${lib.dir}/${serializer.jar}"/>
>>>>>>>>         <include name="${lib.dir}/${slf4j-api.jar}"/>
>>>>>>>>         <include name="${lib.dir}/${soap.jar}"/>
>>>>>>>> @@ -454,6 +455,7 @@
>>>>>>>>         <pathelement location="${lib.dir}/${junit.jar}"/>
>>>>>>>>         <pathelement location="${lib.dir}/${logkit.jar}"/>
>>>>>>>>         <pathelement location="${lib.dir}/${mongo-java-driver.jar}"/>
>>>>>>>> +    <pathelement location="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>>>>>>>         <pathelement location="${lib.dir}/${serializer.jar}"/>
>>>>>>>>         <pathelement location="${lib.dir}/${slf4j-api.jar}"/>
>>>>>>>>         <pathelement location="${lib.dir}/${soap.jar}"/>
>>>>>>>> @@ -2879,6 +2881,7 @@ run JMeter unless all the JMeter jars ar
>>>>>>>>             <process_jarfile jarname="junit"/>
>>>>>>>>             <process_jarfile jarname="logkit"/>
>>>>>>>>             <process_jarfile jarname="mongo-java-driver"/>
>>>>>>>> +        <process_jarfile jarname="rsyntaxtextarea"/>
>>>>>>>>             <process_jarfile jarname="serializer"/>
>>>>>>>>            <process_jarfile jarname="slf4j-api"/>
>>>>>>>>             <process_jarfile jarname="soap"/>
>>>>>>>>
>>>>>>>> Modified: jmeter/trunk/eclipse.classpath
>>>>>>>> URL:
>>>>>>>>
>>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/eclipse.classpath?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>>
>>>>>>>>
>>>>>>>> ==============================================================================
>>>>>>>> --- jmeter/trunk/eclipse.classpath (original)
>>>>>>>> +++ jmeter/trunk/eclipse.classpath Fri Jul  5 20:39:54 2013
>>>>>>>> @@ -76,6 +76,7 @@
>>>>>>>>            <classpathentry kind="lib" path="lib/logkit-2.0.jar"/>
>>>>>>>>            <classpathentry kind="lib" path="lib/mail-1.4.4.jar"/>
>>>>>>>>         <classpathentry kind="lib"
>>>>>>>> path="lib/mongo-java-driver-2.11.2.jar"/>
>>>>>>>> +    <classpathentry kind="lib" path="lib/rsyntaxtextarea-2.0.7.jar"/>
>>>>>>>>            <classpathentry kind="lib" path="lib/oro-2.0.8.jar"/>
>>>>>>>>            <classpathentry kind="lib" path="lib/serializer-2.7.1.jar"/>
>>>>>>>>         <classpathentry kind="lib" path="lib/slf4j-api-1.7.5.jar"/>
>>>>>>>>
>>>>>>>> Modified: jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>>>>>>>> URL:
>>>>>>>>
>>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/res/maven/ApacheJMeter_parent.pom?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>>
>>>>>>>>
>>>>>>>> ==============================================================================
>>>>>>>> --- jmeter/trunk/res/maven/ApacheJMeter_parent.pom (original)
>>>>>>>> +++ jmeter/trunk/res/maven/ApacheJMeter_parent.pom Fri Jul  5 20:39:54
>>>>>>>> 2013
>>>>>>>> @@ -84,6 +84,7 @@ under the License.
>>>>>>>>           <junit.version>4.11</junit.version>
>>>>>>>>           <logkit.version>2.0</logkit.version>
>>>>>>>>           <mongo-java-driver.version>2.11.2</mongo-java-driver.version>
>>>>>>>> +      <rsyntaxtextarea.version>2.0.7</rsyntaxtextarea.version>
>>>>>>>>           <slf4j.version>1.7.5</slf4j.version>
>>>>>>>>           <soap.version>2.3.1</soap.version>
>>>>>>>>           <tidy.version>r938</tidy.version>
>>>>>>>> @@ -357,6 +358,11 @@ under the License.
>>>>>>>>             <version>${mongo-java-driver.version}</version>
>>>>>>>>           </dependency>
>>>>>>>>           <dependency>
>>>>>>>> +        <groupId>com.fifesoft</groupId>
>>>>>>>> +        <artifactId>rsyntaxtextarea</artifactId>
>>>>>>>> +        <version>${rsyntaxtextarea.version}</version>
>>>>>>>> +      </dependency>
>>>>>>>> +      <dependency>
>>>>>>>>             <groupId>org.slf4j</groupId>
>>>>>>>>             <artifactId>slf4j-api</artifactId>
>>>>>>>>             <version>${slf4j.version}</version>
>>>>>>>>
>>>>>>>> Modified:
>>>>>>>>
>>>>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>>>>> URL:
>>>>>>>>
>>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>>
>>>>>>>>
>>>>>>>> ==============================================================================
>>>>>>>> ---
>>>>>>>>
>>>>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>>>>> (original)
>>>>>>>> +++
>>>>>>>>
>>>>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>>>>> Fri Jul  5 20:39:54 2013
>>>>>>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>>>>>>     import javax.swing.JCheckBox;
>>>>>>>>     import javax.swing.JLabel;
>>>>>>>>     import javax.swing.JPanel;
>>>>>>>> -import javax.swing.JScrollPane;
>>>>>>>>     import javax.swing.JTextArea;
>>>>>>>>     import javax.swing.JTextField;
>>>>>>>>
>>>>>>>> @@ -32,6 +31,9 @@ import org.apache.jmeter.assertions.Bean
>>>>>>>>     import org.apache.jmeter.testelement.TestElement;
>>>>>>>>     import org.apache.jmeter.testelement.property.BooleanProperty;
>>>>>>>>     import org.apache.jmeter.util.JMeterUtils;
>>>>>>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>>>>>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>>>>>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>>>>>>
>>>>>>>>     public class BeanShellAssertionGui extends AbstractAssertionGui {
>>>>>>>>
>>>>>>>> @@ -43,7 +45,7 @@ public class BeanShellAssertionGui exten
>>>>>>>>
>>>>>>>>         private JTextField parameters;// parameters to pass to script
>>>>>>>> file
>>>>>>>> (or script)
>>>>>>>>
>>>>>>>> -    private JTextArea scriptField;// script area
>>>>>>>> +    private RSyntaxTextArea scriptField; // script area
>>>>>>>>
>>>>>>>>         public BeanShellAssertionGui() {
>>>>>>>>             init();
>>>>>>>> @@ -139,8 +141,10 @@ public class BeanShellAssertionGui exten
>>>>>>>>         }
>>>>>>>>
>>>>>>>>         private JPanel createScriptPanel() {
>>>>>>>> -        scriptField = new JTextArea();
>>>>>>>> -        scriptField.setRows(4);
>>>>>>>> +        scriptField = new RSyntaxTextArea(20,20);
>>>>>>>> +
>>>>>>>> scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>>>>>>> +        scriptField.setCodeFoldingEnabled(true);
>>>>>>>> +        scriptField.setAntiAliasingEnabled(true);
>>>>>>>>             scriptField.setLineWrap(true);
>>>>>>>>             scriptField.setWrapStyleWord(true);
>>>>>>>>
>>>>>>>> @@ -149,7 +153,7 @@ public class BeanShellAssertionGui exten
>>>>>>>>
>>>>>>>>             JPanel panel = new JPanel(new BorderLayout());
>>>>>>>>             panel.add(label, BorderLayout.NORTH);
>>>>>>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>>>>>>> +        panel.add(new RTextScrollPane(scriptField),
>>>>>>>> BorderLayout.CENTER);
>>>>>>>>
>>>>>>>>             JTextArea explain = new
>>>>>>>> JTextArea(JMeterUtils.getResString("bsh_assertion_script_variables"));
>>>>>>>> //$NON-NLS-1$
>>>>>>>>             explain.setLineWrap(true);
>>>>>>>>
>>>>>>>> Modified:
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>>>>> URL:
>>>>>>>>
>>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>>
>>>>>>>>
>>>>>>>> ==============================================================================
>>>>>>>> ---
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>>>>> (original)
>>>>>>>> +++
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>>>>> Fri Jul  5 20:39:54 2013
>>>>>>>> @@ -203,6 +203,8 @@ public class GenericTestBeanCustomizer e
>>>>>>>>
>>>>>>>>             // Obtain the propertyEditors:
>>>>>>>>             editors = new PropertyEditor[descriptors.length];
>>>>>>>> +        int scriptLanguageIndex = 0;
>>>>>>>> +        int textAreaEditorIndex = 0;
>>>>>>>>             for (int i = 0; i < descriptors.length; i++) { // Index is
>>>>>>>> also
>>>>>>>> used for accessing editors array
>>>>>>>>                 PropertyDescriptor descriptor = descriptors[i];
>>>>>>>>                 String name = descriptor.getName();
>>>>>>>> @@ -218,7 +220,7 @@ public class GenericTestBeanCustomizer e
>>>>>>>>                 PropertyEditor propertyEditor;
>>>>>>>>                 Object guiType = descriptor.getValue(GUITYPE);
>>>>>>>>                 if (guiType instanceof TypeEditor) {
>>>>>>>> -                propertyEditor = ((TypeEditor)
>>>>>>>> guiType).getInstance(descriptor);
>>>>>>>> +                propertyEditor = ((TypeEditor)
>>>>>>>> guiType).getInstance(descriptor);
>>>>>>>>                 } else {
>>>>>>>>                     Class<?> editorClass =
>>>>>>>> descriptor.getPropertyEditorClass();
>>>>>>>>                     if (log.isDebugEnabled()) {
>>>>>>>> @@ -267,6 +269,10 @@ public class GenericTestBeanCustomizer e
>>>>>>>>                 {
>>>>>>>>
>>>>>>>> ((TestBeanPropertyEditor)propertyEditor).setDescriptor(descriptor);
>>>>>>>>                 }
>>>>>>>> +
>>>>>>>> +            if (propertyEditor instanceof TextAreaEditor) {
>>>>>>>> +                textAreaEditorIndex = i;
>>>>>>>> +            }
>>>>>>>>                 if (propertyEditor.getCustomEditor() instanceof
>>>>>>>> JScrollPane) {
>>>>>>>>                     scrollerCount++;
>>>>>>>>                 }
>>>>>>>> @@ -276,6 +282,17 @@ public class GenericTestBeanCustomizer e
>>>>>>>>                 // Initialize the editor with the provided default value
>>>>>>>> or
>>>>>>>> null:
>>>>>>>>                 setEditorValue(i, descriptor.getValue(DEFAULT));
>>>>>>>>
>>>>>>>> +            if (name.equals("scriptLanguage")) {
>>>>>>>> +                scriptLanguageIndex = i;
>>>>>>>> +            }
>>>>>>>> +
>>>>>>>> +        }
>>>>>>>> +        // In case of BSF and JSR elements i want to add
>>>>>>>> textAreaEditor
>>>>>>>> as a listener to scriptLanguage ComboBox.
>>>>>>>> +        String beanName = this.beanInfo.getBeanDescriptor().getName();
>>>>>>>> +        if (beanName.startsWith("BSF") ||
>>>>>>>> beanName.startsWith("JSR223"))
>>>>>>>> { // $NON-NLS-1$ $NON-NLS-2$
>>>>>>>> +            WrapperEditor we = (WrapperEditor)
>>>>>>>> editors[scriptLanguageIndex];
>>>>>>>> +            TextAreaEditor tae = (TextAreaEditor)
>>>>>>>> editors[textAreaEditorIndex];
>>>>>>>> +            we.addChangeListener(tae);
>>>>>>>>             }
>>>>>>>>
>>>>>>>>             // Obtain message formats:
>>>>>>>>
>>>>>>>> Modified:
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>>>>> URL:
>>>>>>>>
>>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>>
>>>>>>>>
>>>>>>>> ==============================================================================
>>>>>>>> ---
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>>>>> (original)
>>>>>>>> +++
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>>>>> Fri Jul  5 20:39:54 2013
>>>>>>>> @@ -24,17 +24,23 @@ package org.apache.jmeter.testbeans.gui;
>>>>>>>>     import java.awt.Component;
>>>>>>>>     import java.awt.event.FocusEvent;
>>>>>>>>     import java.awt.event.FocusListener;
>>>>>>>> +import java.beans.PropertyChangeEvent;
>>>>>>>> +import java.beans.PropertyChangeListener;
>>>>>>>>     import java.beans.PropertyEditorSupport;
>>>>>>>> +import java.util.Properties;
>>>>>>>>
>>>>>>>> -import javax.swing.JScrollPane;
>>>>>>>> -import javax.swing.JTextArea;
>>>>>>>> -import javax.swing.ScrollPaneConstants;
>>>>>>>> +import org.apache.jmeter.util.JMeterUtils;
>>>>>>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>>>>>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>>>>>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>>>>>>
>>>>>>>> -public class TextAreaEditor extends PropertyEditorSupport implements
>>>>>>>> FocusListener {
>>>>>>>> +public class TextAreaEditor extends PropertyEditorSupport implements
>>>>>>>> FocusListener, PropertyChangeListener {
>>>>>>>>
>>>>>>>> -    private JTextArea textUI;
>>>>>>>> +    private RSyntaxTextArea textUI;
>>>>>>>>
>>>>>>>> -    private JScrollPane scroller;
>>>>>>>> +    private RTextScrollPane scroller;
>>>>>>>> +
>>>>>>>> +    private Properties languageProperties;
>>>>>>>>
>>>>>>>>         /** {@inheritDoc} */
>>>>>>>>         @Override
>>>>>>>> @@ -48,12 +54,17 @@ public class TextAreaEditor extends Prop
>>>>>>>>         }
>>>>>>>>
>>>>>>>>         private final void init() {// called from ctor, so must not be
>>>>>>>> overridable
>>>>>>>> -        textUI = new JTextArea();
>>>>>>>> +        textUI = new RSyntaxTextArea(20, 20);
>>>>>>>> +        textUI.discardAllEdits();
>>>>>>>> +
>>>>>>>> textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>>>>>>> +        textUI.setCodeFoldingEnabled(true);
>>>>>>>> +        textUI.setAntiAliasingEnabled(true);
>>>>>>>>             textUI.addFocusListener(this);
>>>>>>>>             textUI.setWrapStyleWord(true);
>>>>>>>>             textUI.setLineWrap(true);
>>>>>>>> -        scroller = new JScrollPane(textUI,
>>>>>>>> ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
>>>>>>>> -                ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
>>>>>>>> +        scroller = new RTextScrollPane(textUI);
>>>>>>>> +        scroller.setFoldIndicatorEnabled(true);
>>>>>>>> +        languageProperties =
>>>>>>>>
>>>>>>>> JMeterUtils.loadProperties("org/apache/jmeter/testbeans/gui/textarea.properties");
>>>>>>>> //$NON-NLS-1$
>>>>>>>>         }
>>>>>>>>
>>>>>>>>         /**
>>>>>>>> @@ -112,4 +123,19 @@ public class TextAreaEditor extends Prop
>>>>>>>>         public boolean supportsCustomEditor() {
>>>>>>>>             return true;
>>>>>>>>         }
>>>>>>>> +
>>>>>>>> +    @Override
>>>>>>>> +    public void propertyChange(PropertyChangeEvent evt) {
>>>>>>>> +        Object source = evt.getSource();
>>>>>>>> +        if (source instanceof ComboStringEditor && source != null) {
>>>>>>>> +            ComboStringEditor cse = (ComboStringEditor) source;
>>>>>>>> +            String lang = cse.getAsText().toLowerCase();
>>>>>>>> +            if (languageProperties.containsKey(lang)) {
>>>>>>>> +
>>>>>>>> textUI.setSyntaxEditingStyle(languageProperties.getProperty(lang));
>>>>>>>> +            } else {
>>>>>>>> +
>>>>>>>> textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_NONE);
>>>>>>>> +            }
>>>>>>>> +
>>>>>>>> +        }
>>>>>>>> +    }
>>>>>>>>     }
>>>>>>>>
>>>>>>>> Modified:
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>>>>>>> URL:
>>>>>>>>
>>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>>
>>>>>>>>
>>>>>>>> ==============================================================================
>>>>>>>> ---
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>>>>>>> (original)
>>>>>>>> +++
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java Fri
>>>>>>>> Jul  5 20:39:54 2013
>>>>>>>> @@ -445,4 +445,8 @@ class WrapperEditor extends PropertyEdit
>>>>>>>>                 guiEditor.setAsText(lastValidValue);
>>>>>>>>             }
>>>>>>>>         }
>>>>>>>> +
>>>>>>>> +    public void addChangeListener(PropertyChangeListener listener) {
>>>>>>>> +        guiEditor.addPropertyChangeListener(listener);
>>>>>>>> +    }
>>>>>>>>     }
>>>>>>>> \ No newline at end of file
>>>>>>>>
>>>>>>>> Added:
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>>>> URL:
>>>>>>>>
>>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties?rev=1500124&view=auto
>>>>>>>>
>>>>>>>>
>>>>>>>> ==============================================================================
>>>>>>>> ---
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>>>> (added)
>>>>>>>> +++
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>>>> Fri Jul  5 20:39:54 2013
>>>>>>>> @@ -0,0 +1,52 @@
>>>>>>>> +#
>>>>>>>> +# Licensed to the Apache Software Foundation (ASF) under one or more
>>>>>>>> +# contributor license agreements.  See the NOTICE file distributed
>>>>>>>> with
>>>>>>>> +# this work for additional information regarding copyright ownership.
>>>>>>>> +# The ASF licenses this file to You 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.
>>>>>>>> +#
>>>>>>>> +
>>>>>>>> +javascript = text/javascript
>>>>>>>> +js = text/javascript
>>>>>>>> +jacl = text/tcl
>>>>>>>> +netrexx = text/plain
>>>>>>>> +java = text/java
>>>>>>>> +javaclass = text/java
>>>>>>>> +bml = text/xml
>>>>>>>> +vbscript = text/vb
>>>>>>>> +jscript = text/javascript
>>>>>>>> +perlscript = text/perl
>>>>>>>> +perl = text/perl
>>>>>>>> +jpython = text/python
>>>>>>>> +jython = text/python
>>>>>>>> +lotusscript = text/vb
>>>>>>>> +xslt = text/mxml
>>>>>>>> +pnuts = text/java
>>>>>>>> +beanbasic = text/java
>>>>>>>> +beanshell = text/java
>>>>>>>> +bsh = text/unix
>>>>>>>> +ruby = text/ruby
>>>>>>>> +judoscript = text/plain
>>>>>>>> +groovy = text/groovy
>>>>>>>> +objectscript = text/javascript
>>>>>>>> +prolog = text/plain
>>>>>>>> +rexx = text/plain
>>>>>>>> +applescript = text/plain
>>>>>>>> +ecmascript = text/actionscript
>>>>>>>> +jexl = text/java
>>>>>>>> +jexl2 = text/java
>>>>>>>> +rhino = text/javascript
>>>>>>>> +edit = text/unix
>>>>>>>> +lua = text/lua
>>>>>>>> +php = text/php
>>>>>>>> +lisp = text/lisp
>>>>>>>> +sql = text/sql
>>>>>>>> \ No newline at end of file
>>>>>>>>
>>>>>>>> Propchange:
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>>>>
>>>>>>>>
>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>        svn:eol-style = native
>>>>>>>>
>>>>>>>> Propchange:
>>>>>>>>
>>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>>>>
>>>>>>>>
>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>        svn:mime-type = text/plain
>>>>>>>>
>>>>>>>> Modified:
>>>>>>>>
>>>>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>>>>> URL:
>>>>>>>>
>>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>>
>>>>>>>>
>>>>>>>> ==============================================================================
>>>>>>>> ---
>>>>>>>>
>>>>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>>>>> (original)
>>>>>>>> +++
>>>>>>>>
>>>>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>>>>> Fri Jul  5 20:39:54 2013
>>>>>>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>>>>>>     import javax.swing.JCheckBox;
>>>>>>>>     import javax.swing.JLabel;
>>>>>>>>     import javax.swing.JPanel;
>>>>>>>> -import javax.swing.JScrollPane;
>>>>>>>>     import javax.swing.JTextArea;
>>>>>>>>     import javax.swing.JTextField;
>>>>>>>>
>>>>>>>> @@ -33,6 +32,9 @@ import org.apache.jmeter.samplers.gui.Ab
>>>>>>>>     import org.apache.jmeter.testelement.TestElement;
>>>>>>>>     import org.apache.jmeter.testelement.property.BooleanProperty;
>>>>>>>>     import org.apache.jmeter.util.JMeterUtils;
>>>>>>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>>>>>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>>>>>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>>>>>>
>>>>>>>>     public class BeanShellSamplerGui extends AbstractSamplerGui {
>>>>>>>>
>>>>>>>> @@ -44,7 +46,7 @@ public class BeanShellSamplerGui extends
>>>>>>>>
>>>>>>>>         private JTextField parameters;// parameters to pass to script
>>>>>>>> file
>>>>>>>> (or script)
>>>>>>>>
>>>>>>>> -    private JTextArea scriptField;// script area
>>>>>>>> +    private RSyntaxTextArea scriptField;// script area
>>>>>>>>
>>>>>>>>         public BeanShellSamplerGui() {
>>>>>>>>             init();
>>>>>>>> @@ -153,8 +155,9 @@ public class BeanShellSamplerGui extends
>>>>>>>>         }
>>>>>>>>
>>>>>>>>         private JPanel createScriptPanel() {
>>>>>>>> -        scriptField = new JTextArea();
>>>>>>>> -        scriptField.setRows(4);
>>>>>>>> +        scriptField = new RSyntaxTextArea(20, 20);
>>>>>>>> +
>>>>>>>> scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>>>>>>> +        scriptField.setCodeFoldingEnabled(true);
>>>>>>>>             scriptField.setLineWrap(true);
>>>>>>>>             scriptField.setWrapStyleWord(true);
>>>>>>>>
>>>>>>>> @@ -163,7 +166,7 @@ public class BeanShellSamplerGui extends
>>>>>>>>
>>>>>>>>             JPanel panel = new JPanel(new BorderLayout());
>>>>>>>>             panel.add(label, BorderLayout.NORTH);
>>>>>>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>>>>>>> +        panel.add(new RTextScrollPane(scriptField),
>>>>>>>> BorderLayout.CENTER);
>>>>>>>>
>>>>>>>>             JTextArea explain = new
>>>>>>>> JTextArea(JMeterUtils.getResString("bsh_script_variables"));
>>>>>>>> //$NON-NLS-1$
>>>>>>>>             explain.setLineWrap(true);
>>>>>>>>
>>>>>>>> Modified: jmeter/trunk/xdocs/changes.xml
>>>>>>>> URL:
>>>>>>>>
>>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>>
>>>>>>>>
>>>>>>>> ==============================================================================
>>>>>>>> --- jmeter/trunk/xdocs/changes.xml (original)
>>>>>>>> +++ jmeter/trunk/xdocs/changes.xml Fri Jul  5 20:39:54 2013
>>>>>>>> @@ -224,6 +224,7 @@ Transaction Controller now sets Response
>>>>>>>>     <li><bugzilla>54990</bugzilla> - Download large files avoiding
>>>>>>>> outOfMemory</li>
>>>>>>>>     <li><bugzilla>55085</bugzilla> - UX Improvement : Ability to create
>>>>>>>> New
>>>>>>>> Test Plan from Templates</li>
>>>>>>>>     <li><bugzilla>55172</bugzilla> - Provide plugins a way to add Top
>>>>>>>> Menu
>>>>>>>> and menu items</li>
>>>>>>>> +<li><bugzilla>55202</bugzilla> - Add syntax color for scripts elements
>>>>>>>> (BeanShell, BSF, and JSR223) with RSyntaxTextArea</li>
>>>>>>>>     </ul>
>>>>>>>>
>>>>>>>>     <h2>Non-functional changes</h2>
>>>>>>>>
>>>>>>>>
>>>>> .
>>>>>


Re: svn commit: r1500124 - in /jmeter/trunk: ./ res/maven/ src/components/org/apache/jmeter/assertions/gui/ src/core/org/apache/jmeter/testbeans/gui/ src/protocol/java/org/apache/jmeter/protocol/java/control/gui/ xdocs/

Posted by sebb <se...@gmail.com>.
On 5 July 2013 23:17, sebb <se...@gmail.com> wrote:
> On 5 July 2013 23:10, sebb <se...@gmail.com> wrote:
>> On 5 July 2013 22:53, Milamber <mi...@gmail.com> wrote:
>>>
>>> Le 05/07/2013 22:40, sebb a ecrit :
>>>
>>>> On 5 July 2013 22:36, Milamber <mi...@apache.org> wrote:
>>>>>
>>>>> Le 05/07/2013 21:55, sebb a ecrit :
>>>>>>
>>>>>> On 5 July 2013 21:39,  <mi...@apache.org> wrote:
>>>>>>
>>>>>>> Author: milamber
>>>>>>> Date: Fri Jul  5 20:39:54 2013
>>>>>>> New Revision: 1500124
>>>>>>>
>>>>>>> URL: http://svn.apache.org/r1500124
>>>>>>> Log:
>>>>>>> Bug 55202 - Proposal to add RSyntaxTextArea for BeanShell, BSF, and
>>>>>>> JSR223 elements
>>>>>>> Bugzilla Id: 55202
>>>>>>
>>>>>> -1
>>>>>>
>>>>>> I think the jar needs to be obtained somewhere other than Maven
>>>>>> Central, as the pom license there says LGPL.
>>>>>
>>>>>
>>>>> Not good...
>>>>>
>>>>> I have sent an email to Filesolft (author of rsyntaxtextarea) to point
>>>>> the
>>>>> difference between their website and the pom file on Maven website, and
>>>>> ask
>>>>> the good license.
>>>>
>>>> That would be the best solution - having an incorrect license on Maven
>>>> is not good.
>>>>
>>>> However we do have other options:
>>>> - download the example archive and extract the jar:
>>>>
>>>> http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea-demo/2.0.7/rsyntaxtextarea_demo_2.0.7.zip/download
>>>> - download the source to a temporary folder and compile it
>>>
>>>
>>> You're right, another option is:
>>> (on download_jars task)
>>> Download form the binary release (not -demo)
>>> http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea/2.0.7/rsyntaxtextarea_2.0.7.zip/download
>>> The zip file include the modified BSD license.
>>>
>>> Get the jar file and put on good directory.
>>>
>>> It is a good way ? or we must compile from source?
>>
>> I think that's OK, the license in the zip looks to be the same (best
>> to check though).
>>
>> Not sure if build.xml still has the code to do zip extraction, if not
>> it can be recovered from SVN history.
>>
>> The extracted jar will still contain the example code.
>> If that turns out to be a problem, then using the source should not be
>> too hard to do.

Looks like the jar in the example zip is incomplete; it does not have the class:

org.fife.ui.rsyntaxtextarea.modes.ActionScriptTokenMaker

The JMeter test generates lots of stack trace output. presumably from
somewhere in the RSyntaxTextArea code.
I think that's a bug - either the exception should be propagated back
to the caller, or the exception should be handled silently.

Anyway, I think we'll probably need to download the source and compile it.

>> The code could check if the jar is present, and if not, download and build.
>
> It's just occured to me - the Maven jar was not created by the
> project, so may not be trustworthy.
>
>>>> - ask on legal discuss if this really is a problem or not
>>>>
>>>>>
>>>>>
>>>>>> Please remove the download part for now.
>>>>>>
>>>>>>> Added:
>>>>>>>
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>>> (with props)
>>>>>>> Modified:
>>>>>>>       jmeter/trunk/LICENSE
>>>>>>>       jmeter/trunk/build.properties
>>>>>>>       jmeter/trunk/build.xml
>>>>>>>       jmeter/trunk/eclipse.classpath
>>>>>>>       jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>>>>>>>
>>>>>>>
>>>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>>>>
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>>>>
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>>>>
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>>>>>>
>>>>>>>
>>>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>>>>       jmeter/trunk/xdocs/changes.xml
>>>>>>>
>>>>>>> Modified: jmeter/trunk/LICENSE
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/LICENSE?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> --- jmeter/trunk/LICENSE [utf-8] (original)
>>>>>>> +++ jmeter/trunk/LICENSE [utf-8] Fri Jul  5 20:39:54 2013
>>>>>>> @@ -1565,7 +1565,7 @@ The jsoup code-base (include source and
>>>>>>>    distributed under the open source MIT license as described below.
>>>>>>>    The MIT License
>>>>>>>
>>>>>>> -Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>>>>> +Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>>>>>
>>>>>>>    Permission is hereby granted, free of charge, to any person
>>>>>>> obtaining a
>>>>>>>    copy of this software and associated documentation files (the
>>>>>>> "Software"),
>>>>>>> @@ -1926,7 +1926,7 @@ As a special exception, the copyright ho
>>>>>>>    Open Icon Library from
>>>>>>>    http://openiconlibrary.sourceforge.net/
>>>>>>>
>>>>>>> -Detailled Licenses information:
>>>>>>> +Detailed Licenses information:
>>>>>>>    http://openiconlibrary.sourceforge.net/LICENSES.html
>>>>>>>
>>>>>>>    ============ Packages used by Apache JMeter =========
>>>>>>> @@ -2029,3 +2029,39 @@ UNLESS OTHERWISE MUTUALLY AGREED TO BY T
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> ################################################################################
>>>>>>>
>>>>>>> +RSyntaxTextArea License
>>>>>>> +=========================================
>>>>>>> +
>>>>>>> +RSyntaxTextArea  from
>>>>>>> +http://fifesoft.com/rsyntaxtextarea/
>>>>>>> +
>>>>>>> +Detailed License information:
>>>>>>> +http://fifesoft.com/rsyntaxtextarea/RSyntaxTextArea.License.txt
>>>>>>> +
>>>>>>> +============== RSyntaxTextArea  License =============
>>>>>>> +Copyright (c) 2012, Robert Futrell
>>>>>>> +All rights reserved.
>>>>>>> +
>>>>>>> +Redistribution and use in source and binary forms, with or without
>>>>>>> +modification, are permitted provided that the following conditions are
>>>>>>> met:
>>>>>>> +    * Redistributions of source code must retain the above copyright
>>>>>>> +      notice, this list of conditions and the following disclaimer.
>>>>>>> +    * Redistributions in binary form must reproduce the above
>>>>>>> copyright
>>>>>>> +      notice, this list of conditions and the following disclaimer in
>>>>>>> the
>>>>>>> +      documentation and/or other materials provided with the
>>>>>>> distribution.
>>>>>>> +    * Neither the name of the author nor the names of its contributors
>>>>>>> may
>>>>>>> +      be used to endorse or promote products derived from this
>>>>>>> software
>>>>>>> +      without specific prior written permission.
>>>>>>> +
>>>>>>> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
>>>>>>> "AS
>>>>>>> IS" AND
>>>>>>> +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
>>>>>>> IMPLIED
>>>>>>> +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>>>>>>> +DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
>>>>>>> +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
>>>>>>> DAMAGES
>>>>>>> +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
>>>>>>> SERVICES;
>>>>>>> +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
>>>>>>> CAUSED
>>>>>>> AND
>>>>>>> +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
>>>>>>> TORT
>>>>>>> +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
>>>>>>> OF
>>>>>>> THIS
>>>>>>> +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>>>>>>> +
>>>>>>>
>>>>>>>
>>>>>>> +################################################################################
>>>>>>> \ No newline at end of file
>>>>>>>
>>>>>>> Modified: jmeter/trunk/build.properties
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/build.properties?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> --- jmeter/trunk/build.properties (original)
>>>>>>> +++ jmeter/trunk/build.properties Fri Jul  5 20:39:54 2013
>>>>>>> @@ -223,6 +223,11 @@ mongo-java-driver.jar
>>>>>>> = mongo-java-d
>>>>>>>    mongo-java-driver.loc                                  =
>>>>>>>
>>>>>>> ${maven2.repo}/org/mongodb/mongo-java-driver/${mongo-java-driver.version}
>>>>>>>    mongo-java-driver.md5                                  =
>>>>>>> fed5e6d998256e285396b4e0d81537bd
>>>>>>>
>>>>>>> +rsyntaxtextarea.version     = 2.0.7
>>>>>>> +rsyntaxtextarea.jar         =
>>>>>>> rsyntaxtextarea-${rsyntaxtextarea.version}.jar
>>>>>>> +rsyntaxtextarea.loc         =
>>>>>>> ${maven2.repo}/com/fifesoft/rsyntaxtextarea/${rsyntaxtextarea.version}
>>>>>>> +rsyntaxtextarea.md5         = 00ab3c8ce58bb8bb1dbb3ae506f06d30
>>>>>>
>>>>>> -1
>>>>>>
>>>>>> I don't think we can download from there until the license issue is
>>>>>> sorted
>>>>>> out.
>>>>>>
>>>>>>> +
>>>>>>>    slf4j-api.version           = 1.7.5
>>>>>>>    slf4j-api.jar               = slf4j-api-${slf4j-api.version}.jar
>>>>>>>    slf4j-api.loc               =
>>>>>>> ${maven2.repo}/org/slf4j/slf4j-api/${slf4j-api.version}
>>>>>>>
>>>>>>> Modified: jmeter/trunk/build.xml
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/build.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> --- jmeter/trunk/build.xml (original)
>>>>>>> +++ jmeter/trunk/build.xml Fri Jul  5 20:39:54 2013
>>>>>>> @@ -387,6 +387,7 @@
>>>>>>>        <include name="${lib.dir}/${junit.jar}"/>
>>>>>>>        <include name="${lib.dir}/${logkit.jar}"/>
>>>>>>>        <include name="${lib.dir}/${mongo-java-driver.jar}"/>
>>>>>>> +    <include name="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>>>>>>        <include name="${lib.dir}/${serializer.jar}"/>
>>>>>>>        <include name="${lib.dir}/${slf4j-api.jar}"/>
>>>>>>>        <include name="${lib.dir}/${soap.jar}"/>
>>>>>>> @@ -454,6 +455,7 @@
>>>>>>>        <pathelement location="${lib.dir}/${junit.jar}"/>
>>>>>>>        <pathelement location="${lib.dir}/${logkit.jar}"/>
>>>>>>>        <pathelement location="${lib.dir}/${mongo-java-driver.jar}"/>
>>>>>>> +    <pathelement location="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>>>>>>        <pathelement location="${lib.dir}/${serializer.jar}"/>
>>>>>>>        <pathelement location="${lib.dir}/${slf4j-api.jar}"/>
>>>>>>>        <pathelement location="${lib.dir}/${soap.jar}"/>
>>>>>>> @@ -2879,6 +2881,7 @@ run JMeter unless all the JMeter jars ar
>>>>>>>            <process_jarfile jarname="junit"/>
>>>>>>>            <process_jarfile jarname="logkit"/>
>>>>>>>            <process_jarfile jarname="mongo-java-driver"/>
>>>>>>> +        <process_jarfile jarname="rsyntaxtextarea"/>
>>>>>>>            <process_jarfile jarname="serializer"/>
>>>>>>>           <process_jarfile jarname="slf4j-api"/>
>>>>>>>            <process_jarfile jarname="soap"/>
>>>>>>>
>>>>>>> Modified: jmeter/trunk/eclipse.classpath
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/eclipse.classpath?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> --- jmeter/trunk/eclipse.classpath (original)
>>>>>>> +++ jmeter/trunk/eclipse.classpath Fri Jul  5 20:39:54 2013
>>>>>>> @@ -76,6 +76,7 @@
>>>>>>>           <classpathentry kind="lib" path="lib/logkit-2.0.jar"/>
>>>>>>>           <classpathentry kind="lib" path="lib/mail-1.4.4.jar"/>
>>>>>>>        <classpathentry kind="lib"
>>>>>>> path="lib/mongo-java-driver-2.11.2.jar"/>
>>>>>>> +    <classpathentry kind="lib" path="lib/rsyntaxtextarea-2.0.7.jar"/>
>>>>>>>           <classpathentry kind="lib" path="lib/oro-2.0.8.jar"/>
>>>>>>>           <classpathentry kind="lib" path="lib/serializer-2.7.1.jar"/>
>>>>>>>        <classpathentry kind="lib" path="lib/slf4j-api-1.7.5.jar"/>
>>>>>>>
>>>>>>> Modified: jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/res/maven/ApacheJMeter_parent.pom?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> --- jmeter/trunk/res/maven/ApacheJMeter_parent.pom (original)
>>>>>>> +++ jmeter/trunk/res/maven/ApacheJMeter_parent.pom Fri Jul  5 20:39:54
>>>>>>> 2013
>>>>>>> @@ -84,6 +84,7 @@ under the License.
>>>>>>>          <junit.version>4.11</junit.version>
>>>>>>>          <logkit.version>2.0</logkit.version>
>>>>>>>          <mongo-java-driver.version>2.11.2</mongo-java-driver.version>
>>>>>>> +      <rsyntaxtextarea.version>2.0.7</rsyntaxtextarea.version>
>>>>>>>          <slf4j.version>1.7.5</slf4j.version>
>>>>>>>          <soap.version>2.3.1</soap.version>
>>>>>>>          <tidy.version>r938</tidy.version>
>>>>>>> @@ -357,6 +358,11 @@ under the License.
>>>>>>>            <version>${mongo-java-driver.version}</version>
>>>>>>>          </dependency>
>>>>>>>          <dependency>
>>>>>>> +        <groupId>com.fifesoft</groupId>
>>>>>>> +        <artifactId>rsyntaxtextarea</artifactId>
>>>>>>> +        <version>${rsyntaxtextarea.version}</version>
>>>>>>> +      </dependency>
>>>>>>> +      <dependency>
>>>>>>>            <groupId>org.slf4j</groupId>
>>>>>>>            <artifactId>slf4j-api</artifactId>
>>>>>>>            <version>${slf4j.version}</version>
>>>>>>>
>>>>>>> Modified:
>>>>>>>
>>>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> ---
>>>>>>>
>>>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>>>> (original)
>>>>>>> +++
>>>>>>>
>>>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>>>> Fri Jul  5 20:39:54 2013
>>>>>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>>>>>    import javax.swing.JCheckBox;
>>>>>>>    import javax.swing.JLabel;
>>>>>>>    import javax.swing.JPanel;
>>>>>>> -import javax.swing.JScrollPane;
>>>>>>>    import javax.swing.JTextArea;
>>>>>>>    import javax.swing.JTextField;
>>>>>>>
>>>>>>> @@ -32,6 +31,9 @@ import org.apache.jmeter.assertions.Bean
>>>>>>>    import org.apache.jmeter.testelement.TestElement;
>>>>>>>    import org.apache.jmeter.testelement.property.BooleanProperty;
>>>>>>>    import org.apache.jmeter.util.JMeterUtils;
>>>>>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>>>>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>>>>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>>>>>
>>>>>>>    public class BeanShellAssertionGui extends AbstractAssertionGui {
>>>>>>>
>>>>>>> @@ -43,7 +45,7 @@ public class BeanShellAssertionGui exten
>>>>>>>
>>>>>>>        private JTextField parameters;// parameters to pass to script
>>>>>>> file
>>>>>>> (or script)
>>>>>>>
>>>>>>> -    private JTextArea scriptField;// script area
>>>>>>> +    private RSyntaxTextArea scriptField; // script area
>>>>>>>
>>>>>>>        public BeanShellAssertionGui() {
>>>>>>>            init();
>>>>>>> @@ -139,8 +141,10 @@ public class BeanShellAssertionGui exten
>>>>>>>        }
>>>>>>>
>>>>>>>        private JPanel createScriptPanel() {
>>>>>>> -        scriptField = new JTextArea();
>>>>>>> -        scriptField.setRows(4);
>>>>>>> +        scriptField = new RSyntaxTextArea(20,20);
>>>>>>> +
>>>>>>> scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>>>>>> +        scriptField.setCodeFoldingEnabled(true);
>>>>>>> +        scriptField.setAntiAliasingEnabled(true);
>>>>>>>            scriptField.setLineWrap(true);
>>>>>>>            scriptField.setWrapStyleWord(true);
>>>>>>>
>>>>>>> @@ -149,7 +153,7 @@ public class BeanShellAssertionGui exten
>>>>>>>
>>>>>>>            JPanel panel = new JPanel(new BorderLayout());
>>>>>>>            panel.add(label, BorderLayout.NORTH);
>>>>>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>>>>>> +        panel.add(new RTextScrollPane(scriptField),
>>>>>>> BorderLayout.CENTER);
>>>>>>>
>>>>>>>            JTextArea explain = new
>>>>>>> JTextArea(JMeterUtils.getResString("bsh_assertion_script_variables"));
>>>>>>> //$NON-NLS-1$
>>>>>>>            explain.setLineWrap(true);
>>>>>>>
>>>>>>> Modified:
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> ---
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>>>> (original)
>>>>>>> +++
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>>>> Fri Jul  5 20:39:54 2013
>>>>>>> @@ -203,6 +203,8 @@ public class GenericTestBeanCustomizer e
>>>>>>>
>>>>>>>            // Obtain the propertyEditors:
>>>>>>>            editors = new PropertyEditor[descriptors.length];
>>>>>>> +        int scriptLanguageIndex = 0;
>>>>>>> +        int textAreaEditorIndex = 0;
>>>>>>>            for (int i = 0; i < descriptors.length; i++) { // Index is
>>>>>>> also
>>>>>>> used for accessing editors array
>>>>>>>                PropertyDescriptor descriptor = descriptors[i];
>>>>>>>                String name = descriptor.getName();
>>>>>>> @@ -218,7 +220,7 @@ public class GenericTestBeanCustomizer e
>>>>>>>                PropertyEditor propertyEditor;
>>>>>>>                Object guiType = descriptor.getValue(GUITYPE);
>>>>>>>                if (guiType instanceof TypeEditor) {
>>>>>>> -                propertyEditor = ((TypeEditor)
>>>>>>> guiType).getInstance(descriptor);
>>>>>>> +                propertyEditor = ((TypeEditor)
>>>>>>> guiType).getInstance(descriptor);
>>>>>>>                } else {
>>>>>>>                    Class<?> editorClass =
>>>>>>> descriptor.getPropertyEditorClass();
>>>>>>>                    if (log.isDebugEnabled()) {
>>>>>>> @@ -267,6 +269,10 @@ public class GenericTestBeanCustomizer e
>>>>>>>                {
>>>>>>>
>>>>>>> ((TestBeanPropertyEditor)propertyEditor).setDescriptor(descriptor);
>>>>>>>                }
>>>>>>> +
>>>>>>> +            if (propertyEditor instanceof TextAreaEditor) {
>>>>>>> +                textAreaEditorIndex = i;
>>>>>>> +            }
>>>>>>>                if (propertyEditor.getCustomEditor() instanceof
>>>>>>> JScrollPane) {
>>>>>>>                    scrollerCount++;
>>>>>>>                }
>>>>>>> @@ -276,6 +282,17 @@ public class GenericTestBeanCustomizer e
>>>>>>>                // Initialize the editor with the provided default value
>>>>>>> or
>>>>>>> null:
>>>>>>>                setEditorValue(i, descriptor.getValue(DEFAULT));
>>>>>>>
>>>>>>> +            if (name.equals("scriptLanguage")) {
>>>>>>> +                scriptLanguageIndex = i;
>>>>>>> +            }
>>>>>>> +
>>>>>>> +        }
>>>>>>> +        // In case of BSF and JSR elements i want to add
>>>>>>> textAreaEditor
>>>>>>> as a listener to scriptLanguage ComboBox.
>>>>>>> +        String beanName = this.beanInfo.getBeanDescriptor().getName();
>>>>>>> +        if (beanName.startsWith("BSF") ||
>>>>>>> beanName.startsWith("JSR223"))
>>>>>>> { // $NON-NLS-1$ $NON-NLS-2$
>>>>>>> +            WrapperEditor we = (WrapperEditor)
>>>>>>> editors[scriptLanguageIndex];
>>>>>>> +            TextAreaEditor tae = (TextAreaEditor)
>>>>>>> editors[textAreaEditorIndex];
>>>>>>> +            we.addChangeListener(tae);
>>>>>>>            }
>>>>>>>
>>>>>>>            // Obtain message formats:
>>>>>>>
>>>>>>> Modified:
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> ---
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>>>> (original)
>>>>>>> +++
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>>>> Fri Jul  5 20:39:54 2013
>>>>>>> @@ -24,17 +24,23 @@ package org.apache.jmeter.testbeans.gui;
>>>>>>>    import java.awt.Component;
>>>>>>>    import java.awt.event.FocusEvent;
>>>>>>>    import java.awt.event.FocusListener;
>>>>>>> +import java.beans.PropertyChangeEvent;
>>>>>>> +import java.beans.PropertyChangeListener;
>>>>>>>    import java.beans.PropertyEditorSupport;
>>>>>>> +import java.util.Properties;
>>>>>>>
>>>>>>> -import javax.swing.JScrollPane;
>>>>>>> -import javax.swing.JTextArea;
>>>>>>> -import javax.swing.ScrollPaneConstants;
>>>>>>> +import org.apache.jmeter.util.JMeterUtils;
>>>>>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>>>>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>>>>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>>>>>
>>>>>>> -public class TextAreaEditor extends PropertyEditorSupport implements
>>>>>>> FocusListener {
>>>>>>> +public class TextAreaEditor extends PropertyEditorSupport implements
>>>>>>> FocusListener, PropertyChangeListener {
>>>>>>>
>>>>>>> -    private JTextArea textUI;
>>>>>>> +    private RSyntaxTextArea textUI;
>>>>>>>
>>>>>>> -    private JScrollPane scroller;
>>>>>>> +    private RTextScrollPane scroller;
>>>>>>> +
>>>>>>> +    private Properties languageProperties;
>>>>>>>
>>>>>>>        /** {@inheritDoc} */
>>>>>>>        @Override
>>>>>>> @@ -48,12 +54,17 @@ public class TextAreaEditor extends Prop
>>>>>>>        }
>>>>>>>
>>>>>>>        private final void init() {// called from ctor, so must not be
>>>>>>> overridable
>>>>>>> -        textUI = new JTextArea();
>>>>>>> +        textUI = new RSyntaxTextArea(20, 20);
>>>>>>> +        textUI.discardAllEdits();
>>>>>>> +
>>>>>>> textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>>>>>> +        textUI.setCodeFoldingEnabled(true);
>>>>>>> +        textUI.setAntiAliasingEnabled(true);
>>>>>>>            textUI.addFocusListener(this);
>>>>>>>            textUI.setWrapStyleWord(true);
>>>>>>>            textUI.setLineWrap(true);
>>>>>>> -        scroller = new JScrollPane(textUI,
>>>>>>> ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
>>>>>>> -                ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
>>>>>>> +        scroller = new RTextScrollPane(textUI);
>>>>>>> +        scroller.setFoldIndicatorEnabled(true);
>>>>>>> +        languageProperties =
>>>>>>>
>>>>>>> JMeterUtils.loadProperties("org/apache/jmeter/testbeans/gui/textarea.properties");
>>>>>>> //$NON-NLS-1$
>>>>>>>        }
>>>>>>>
>>>>>>>        /**
>>>>>>> @@ -112,4 +123,19 @@ public class TextAreaEditor extends Prop
>>>>>>>        public boolean supportsCustomEditor() {
>>>>>>>            return true;
>>>>>>>        }
>>>>>>> +
>>>>>>> +    @Override
>>>>>>> +    public void propertyChange(PropertyChangeEvent evt) {
>>>>>>> +        Object source = evt.getSource();
>>>>>>> +        if (source instanceof ComboStringEditor && source != null) {
>>>>>>> +            ComboStringEditor cse = (ComboStringEditor) source;
>>>>>>> +            String lang = cse.getAsText().toLowerCase();
>>>>>>> +            if (languageProperties.containsKey(lang)) {
>>>>>>> +
>>>>>>> textUI.setSyntaxEditingStyle(languageProperties.getProperty(lang));
>>>>>>> +            } else {
>>>>>>> +
>>>>>>> textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_NONE);
>>>>>>> +            }
>>>>>>> +
>>>>>>> +        }
>>>>>>> +    }
>>>>>>>    }
>>>>>>>
>>>>>>> Modified:
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> ---
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>>>>>> (original)
>>>>>>> +++
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java Fri
>>>>>>> Jul  5 20:39:54 2013
>>>>>>> @@ -445,4 +445,8 @@ class WrapperEditor extends PropertyEdit
>>>>>>>                guiEditor.setAsText(lastValidValue);
>>>>>>>            }
>>>>>>>        }
>>>>>>> +
>>>>>>> +    public void addChangeListener(PropertyChangeListener listener) {
>>>>>>> +        guiEditor.addPropertyChangeListener(listener);
>>>>>>> +    }
>>>>>>>    }
>>>>>>> \ No newline at end of file
>>>>>>>
>>>>>>> Added:
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties?rev=1500124&view=auto
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> ---
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>>> (added)
>>>>>>> +++
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>>> Fri Jul  5 20:39:54 2013
>>>>>>> @@ -0,0 +1,52 @@
>>>>>>> +#
>>>>>>> +# Licensed to the Apache Software Foundation (ASF) under one or more
>>>>>>> +# contributor license agreements.  See the NOTICE file distributed
>>>>>>> with
>>>>>>> +# this work for additional information regarding copyright ownership.
>>>>>>> +# The ASF licenses this file to You 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.
>>>>>>> +#
>>>>>>> +
>>>>>>> +javascript = text/javascript
>>>>>>> +js = text/javascript
>>>>>>> +jacl = text/tcl
>>>>>>> +netrexx = text/plain
>>>>>>> +java = text/java
>>>>>>> +javaclass = text/java
>>>>>>> +bml = text/xml
>>>>>>> +vbscript = text/vb
>>>>>>> +jscript = text/javascript
>>>>>>> +perlscript = text/perl
>>>>>>> +perl = text/perl
>>>>>>> +jpython = text/python
>>>>>>> +jython = text/python
>>>>>>> +lotusscript = text/vb
>>>>>>> +xslt = text/mxml
>>>>>>> +pnuts = text/java
>>>>>>> +beanbasic = text/java
>>>>>>> +beanshell = text/java
>>>>>>> +bsh = text/unix
>>>>>>> +ruby = text/ruby
>>>>>>> +judoscript = text/plain
>>>>>>> +groovy = text/groovy
>>>>>>> +objectscript = text/javascript
>>>>>>> +prolog = text/plain
>>>>>>> +rexx = text/plain
>>>>>>> +applescript = text/plain
>>>>>>> +ecmascript = text/actionscript
>>>>>>> +jexl = text/java
>>>>>>> +jexl2 = text/java
>>>>>>> +rhino = text/javascript
>>>>>>> +edit = text/unix
>>>>>>> +lua = text/lua
>>>>>>> +php = text/php
>>>>>>> +lisp = text/lisp
>>>>>>> +sql = text/sql
>>>>>>> \ No newline at end of file
>>>>>>>
>>>>>>> Propchange:
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>>>
>>>>>>>
>>>>>>> ------------------------------------------------------------------------------
>>>>>>>       svn:eol-style = native
>>>>>>>
>>>>>>> Propchange:
>>>>>>>
>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>>>
>>>>>>>
>>>>>>> ------------------------------------------------------------------------------
>>>>>>>       svn:mime-type = text/plain
>>>>>>>
>>>>>>> Modified:
>>>>>>>
>>>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> ---
>>>>>>>
>>>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>>>> (original)
>>>>>>> +++
>>>>>>>
>>>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>>>> Fri Jul  5 20:39:54 2013
>>>>>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>>>>>    import javax.swing.JCheckBox;
>>>>>>>    import javax.swing.JLabel;
>>>>>>>    import javax.swing.JPanel;
>>>>>>> -import javax.swing.JScrollPane;
>>>>>>>    import javax.swing.JTextArea;
>>>>>>>    import javax.swing.JTextField;
>>>>>>>
>>>>>>> @@ -33,6 +32,9 @@ import org.apache.jmeter.samplers.gui.Ab
>>>>>>>    import org.apache.jmeter.testelement.TestElement;
>>>>>>>    import org.apache.jmeter.testelement.property.BooleanProperty;
>>>>>>>    import org.apache.jmeter.util.JMeterUtils;
>>>>>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>>>>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>>>>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>>>>>
>>>>>>>    public class BeanShellSamplerGui extends AbstractSamplerGui {
>>>>>>>
>>>>>>> @@ -44,7 +46,7 @@ public class BeanShellSamplerGui extends
>>>>>>>
>>>>>>>        private JTextField parameters;// parameters to pass to script
>>>>>>> file
>>>>>>> (or script)
>>>>>>>
>>>>>>> -    private JTextArea scriptField;// script area
>>>>>>> +    private RSyntaxTextArea scriptField;// script area
>>>>>>>
>>>>>>>        public BeanShellSamplerGui() {
>>>>>>>            init();
>>>>>>> @@ -153,8 +155,9 @@ public class BeanShellSamplerGui extends
>>>>>>>        }
>>>>>>>
>>>>>>>        private JPanel createScriptPanel() {
>>>>>>> -        scriptField = new JTextArea();
>>>>>>> -        scriptField.setRows(4);
>>>>>>> +        scriptField = new RSyntaxTextArea(20, 20);
>>>>>>> +
>>>>>>> scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>>>>>> +        scriptField.setCodeFoldingEnabled(true);
>>>>>>>            scriptField.setLineWrap(true);
>>>>>>>            scriptField.setWrapStyleWord(true);
>>>>>>>
>>>>>>> @@ -163,7 +166,7 @@ public class BeanShellSamplerGui extends
>>>>>>>
>>>>>>>            JPanel panel = new JPanel(new BorderLayout());
>>>>>>>            panel.add(label, BorderLayout.NORTH);
>>>>>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>>>>>> +        panel.add(new RTextScrollPane(scriptField),
>>>>>>> BorderLayout.CENTER);
>>>>>>>
>>>>>>>            JTextArea explain = new
>>>>>>> JTextArea(JMeterUtils.getResString("bsh_script_variables"));
>>>>>>> //$NON-NLS-1$
>>>>>>>            explain.setLineWrap(true);
>>>>>>>
>>>>>>> Modified: jmeter/trunk/xdocs/changes.xml
>>>>>>> URL:
>>>>>>>
>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>>
>>>>>>>
>>>>>>> ==============================================================================
>>>>>>> --- jmeter/trunk/xdocs/changes.xml (original)
>>>>>>> +++ jmeter/trunk/xdocs/changes.xml Fri Jul  5 20:39:54 2013
>>>>>>> @@ -224,6 +224,7 @@ Transaction Controller now sets Response
>>>>>>>    <li><bugzilla>54990</bugzilla> - Download large files avoiding
>>>>>>> outOfMemory</li>
>>>>>>>    <li><bugzilla>55085</bugzilla> - UX Improvement : Ability to create
>>>>>>> New
>>>>>>> Test Plan from Templates</li>
>>>>>>>    <li><bugzilla>55172</bugzilla> - Provide plugins a way to add Top
>>>>>>> Menu
>>>>>>> and menu items</li>
>>>>>>> +<li><bugzilla>55202</bugzilla> - Add syntax color for scripts elements
>>>>>>> (BeanShell, BSF, and JSR223) with RSyntaxTextArea</li>
>>>>>>>    </ul>
>>>>>>>
>>>>>>>    <h2>Non-functional changes</h2>
>>>>>>>
>>>>>>>
>>>> .
>>>>
>>>

Re: svn commit: r1500124 - in /jmeter/trunk: ./ res/maven/ src/components/org/apache/jmeter/assertions/gui/ src/core/org/apache/jmeter/testbeans/gui/ src/protocol/java/org/apache/jmeter/protocol/java/control/gui/ xdocs/

Posted by sebb <se...@gmail.com>.
On 5 July 2013 23:10, sebb <se...@gmail.com> wrote:
> On 5 July 2013 22:53, Milamber <mi...@gmail.com> wrote:
>>
>> Le 05/07/2013 22:40, sebb a ecrit :
>>
>>> On 5 July 2013 22:36, Milamber <mi...@apache.org> wrote:
>>>>
>>>> Le 05/07/2013 21:55, sebb a ecrit :
>>>>>
>>>>> On 5 July 2013 21:39,  <mi...@apache.org> wrote:
>>>>>
>>>>>> Author: milamber
>>>>>> Date: Fri Jul  5 20:39:54 2013
>>>>>> New Revision: 1500124
>>>>>>
>>>>>> URL: http://svn.apache.org/r1500124
>>>>>> Log:
>>>>>> Bug 55202 - Proposal to add RSyntaxTextArea for BeanShell, BSF, and
>>>>>> JSR223 elements
>>>>>> Bugzilla Id: 55202
>>>>>
>>>>> -1
>>>>>
>>>>> I think the jar needs to be obtained somewhere other than Maven
>>>>> Central, as the pom license there says LGPL.
>>>>
>>>>
>>>> Not good...
>>>>
>>>> I have sent an email to Filesolft (author of rsyntaxtextarea) to point
>>>> the
>>>> difference between their website and the pom file on Maven website, and
>>>> ask
>>>> the good license.
>>>
>>> That would be the best solution - having an incorrect license on Maven
>>> is not good.
>>>
>>> However we do have other options:
>>> - download the example archive and extract the jar:
>>>
>>> http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea-demo/2.0.7/rsyntaxtextarea_demo_2.0.7.zip/download
>>> - download the source to a temporary folder and compile it
>>
>>
>> You're right, another option is:
>> (on download_jars task)
>> Download form the binary release (not -demo)
>> http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea/2.0.7/rsyntaxtextarea_2.0.7.zip/download
>> The zip file include the modified BSD license.
>>
>> Get the jar file and put on good directory.
>>
>> It is a good way ? or we must compile from source?
>
> I think that's OK, the license in the zip looks to be the same (best
> to check though).
>
> Not sure if build.xml still has the code to do zip extraction, if not
> it can be recovered from SVN history.
>
> The extracted jar will still contain the example code.
> If that turns out to be a problem, then using the source should not be
> too hard to do.
> The code could check if the jar is present, and if not, download and build.

It's just occured to me - the Maven jar was not created by the
project, so may not be trustworthy.

>>> - ask on legal discuss if this really is a problem or not
>>>
>>>>
>>>>
>>>>> Please remove the download part for now.
>>>>>
>>>>>> Added:
>>>>>>
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>> (with props)
>>>>>> Modified:
>>>>>>       jmeter/trunk/LICENSE
>>>>>>       jmeter/trunk/build.properties
>>>>>>       jmeter/trunk/build.xml
>>>>>>       jmeter/trunk/eclipse.classpath
>>>>>>       jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>>>>>>
>>>>>>
>>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>>>
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>>>
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>>>
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>>>>>
>>>>>>
>>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>>>       jmeter/trunk/xdocs/changes.xml
>>>>>>
>>>>>> Modified: jmeter/trunk/LICENSE
>>>>>> URL:
>>>>>>
>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/LICENSE?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- jmeter/trunk/LICENSE [utf-8] (original)
>>>>>> +++ jmeter/trunk/LICENSE [utf-8] Fri Jul  5 20:39:54 2013
>>>>>> @@ -1565,7 +1565,7 @@ The jsoup code-base (include source and
>>>>>>    distributed under the open source MIT license as described below.
>>>>>>    The MIT License
>>>>>>
>>>>>> -Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>>>> +Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>>>>
>>>>>>    Permission is hereby granted, free of charge, to any person
>>>>>> obtaining a
>>>>>>    copy of this software and associated documentation files (the
>>>>>> "Software"),
>>>>>> @@ -1926,7 +1926,7 @@ As a special exception, the copyright ho
>>>>>>    Open Icon Library from
>>>>>>    http://openiconlibrary.sourceforge.net/
>>>>>>
>>>>>> -Detailled Licenses information:
>>>>>> +Detailed Licenses information:
>>>>>>    http://openiconlibrary.sourceforge.net/LICENSES.html
>>>>>>
>>>>>>    ============ Packages used by Apache JMeter =========
>>>>>> @@ -2029,3 +2029,39 @@ UNLESS OTHERWISE MUTUALLY AGREED TO BY T
>>>>>>
>>>>>>
>>>>>>
>>>>>> ################################################################################
>>>>>>
>>>>>> +RSyntaxTextArea License
>>>>>> +=========================================
>>>>>> +
>>>>>> +RSyntaxTextArea  from
>>>>>> +http://fifesoft.com/rsyntaxtextarea/
>>>>>> +
>>>>>> +Detailed License information:
>>>>>> +http://fifesoft.com/rsyntaxtextarea/RSyntaxTextArea.License.txt
>>>>>> +
>>>>>> +============== RSyntaxTextArea  License =============
>>>>>> +Copyright (c) 2012, Robert Futrell
>>>>>> +All rights reserved.
>>>>>> +
>>>>>> +Redistribution and use in source and binary forms, with or without
>>>>>> +modification, are permitted provided that the following conditions are
>>>>>> met:
>>>>>> +    * Redistributions of source code must retain the above copyright
>>>>>> +      notice, this list of conditions and the following disclaimer.
>>>>>> +    * Redistributions in binary form must reproduce the above
>>>>>> copyright
>>>>>> +      notice, this list of conditions and the following disclaimer in
>>>>>> the
>>>>>> +      documentation and/or other materials provided with the
>>>>>> distribution.
>>>>>> +    * Neither the name of the author nor the names of its contributors
>>>>>> may
>>>>>> +      be used to endorse or promote products derived from this
>>>>>> software
>>>>>> +      without specific prior written permission.
>>>>>> +
>>>>>> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
>>>>>> "AS
>>>>>> IS" AND
>>>>>> +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
>>>>>> IMPLIED
>>>>>> +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>>>>>> +DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
>>>>>> +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
>>>>>> DAMAGES
>>>>>> +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
>>>>>> SERVICES;
>>>>>> +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
>>>>>> CAUSED
>>>>>> AND
>>>>>> +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
>>>>>> TORT
>>>>>> +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
>>>>>> OF
>>>>>> THIS
>>>>>> +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>>>>>> +
>>>>>>
>>>>>>
>>>>>> +################################################################################
>>>>>> \ No newline at end of file
>>>>>>
>>>>>> Modified: jmeter/trunk/build.properties
>>>>>> URL:
>>>>>>
>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/build.properties?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- jmeter/trunk/build.properties (original)
>>>>>> +++ jmeter/trunk/build.properties Fri Jul  5 20:39:54 2013
>>>>>> @@ -223,6 +223,11 @@ mongo-java-driver.jar
>>>>>> = mongo-java-d
>>>>>>    mongo-java-driver.loc                                  =
>>>>>>
>>>>>> ${maven2.repo}/org/mongodb/mongo-java-driver/${mongo-java-driver.version}
>>>>>>    mongo-java-driver.md5                                  =
>>>>>> fed5e6d998256e285396b4e0d81537bd
>>>>>>
>>>>>> +rsyntaxtextarea.version     = 2.0.7
>>>>>> +rsyntaxtextarea.jar         =
>>>>>> rsyntaxtextarea-${rsyntaxtextarea.version}.jar
>>>>>> +rsyntaxtextarea.loc         =
>>>>>> ${maven2.repo}/com/fifesoft/rsyntaxtextarea/${rsyntaxtextarea.version}
>>>>>> +rsyntaxtextarea.md5         = 00ab3c8ce58bb8bb1dbb3ae506f06d30
>>>>>
>>>>> -1
>>>>>
>>>>> I don't think we can download from there until the license issue is
>>>>> sorted
>>>>> out.
>>>>>
>>>>>> +
>>>>>>    slf4j-api.version           = 1.7.5
>>>>>>    slf4j-api.jar               = slf4j-api-${slf4j-api.version}.jar
>>>>>>    slf4j-api.loc               =
>>>>>> ${maven2.repo}/org/slf4j/slf4j-api/${slf4j-api.version}
>>>>>>
>>>>>> Modified: jmeter/trunk/build.xml
>>>>>> URL:
>>>>>>
>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/build.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- jmeter/trunk/build.xml (original)
>>>>>> +++ jmeter/trunk/build.xml Fri Jul  5 20:39:54 2013
>>>>>> @@ -387,6 +387,7 @@
>>>>>>        <include name="${lib.dir}/${junit.jar}"/>
>>>>>>        <include name="${lib.dir}/${logkit.jar}"/>
>>>>>>        <include name="${lib.dir}/${mongo-java-driver.jar}"/>
>>>>>> +    <include name="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>>>>>        <include name="${lib.dir}/${serializer.jar}"/>
>>>>>>        <include name="${lib.dir}/${slf4j-api.jar}"/>
>>>>>>        <include name="${lib.dir}/${soap.jar}"/>
>>>>>> @@ -454,6 +455,7 @@
>>>>>>        <pathelement location="${lib.dir}/${junit.jar}"/>
>>>>>>        <pathelement location="${lib.dir}/${logkit.jar}"/>
>>>>>>        <pathelement location="${lib.dir}/${mongo-java-driver.jar}"/>
>>>>>> +    <pathelement location="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>>>>>        <pathelement location="${lib.dir}/${serializer.jar}"/>
>>>>>>        <pathelement location="${lib.dir}/${slf4j-api.jar}"/>
>>>>>>        <pathelement location="${lib.dir}/${soap.jar}"/>
>>>>>> @@ -2879,6 +2881,7 @@ run JMeter unless all the JMeter jars ar
>>>>>>            <process_jarfile jarname="junit"/>
>>>>>>            <process_jarfile jarname="logkit"/>
>>>>>>            <process_jarfile jarname="mongo-java-driver"/>
>>>>>> +        <process_jarfile jarname="rsyntaxtextarea"/>
>>>>>>            <process_jarfile jarname="serializer"/>
>>>>>>           <process_jarfile jarname="slf4j-api"/>
>>>>>>            <process_jarfile jarname="soap"/>
>>>>>>
>>>>>> Modified: jmeter/trunk/eclipse.classpath
>>>>>> URL:
>>>>>>
>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/eclipse.classpath?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- jmeter/trunk/eclipse.classpath (original)
>>>>>> +++ jmeter/trunk/eclipse.classpath Fri Jul  5 20:39:54 2013
>>>>>> @@ -76,6 +76,7 @@
>>>>>>           <classpathentry kind="lib" path="lib/logkit-2.0.jar"/>
>>>>>>           <classpathentry kind="lib" path="lib/mail-1.4.4.jar"/>
>>>>>>        <classpathentry kind="lib"
>>>>>> path="lib/mongo-java-driver-2.11.2.jar"/>
>>>>>> +    <classpathentry kind="lib" path="lib/rsyntaxtextarea-2.0.7.jar"/>
>>>>>>           <classpathentry kind="lib" path="lib/oro-2.0.8.jar"/>
>>>>>>           <classpathentry kind="lib" path="lib/serializer-2.7.1.jar"/>
>>>>>>        <classpathentry kind="lib" path="lib/slf4j-api-1.7.5.jar"/>
>>>>>>
>>>>>> Modified: jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>>>>>> URL:
>>>>>>
>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/res/maven/ApacheJMeter_parent.pom?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- jmeter/trunk/res/maven/ApacheJMeter_parent.pom (original)
>>>>>> +++ jmeter/trunk/res/maven/ApacheJMeter_parent.pom Fri Jul  5 20:39:54
>>>>>> 2013
>>>>>> @@ -84,6 +84,7 @@ under the License.
>>>>>>          <junit.version>4.11</junit.version>
>>>>>>          <logkit.version>2.0</logkit.version>
>>>>>>          <mongo-java-driver.version>2.11.2</mongo-java-driver.version>
>>>>>> +      <rsyntaxtextarea.version>2.0.7</rsyntaxtextarea.version>
>>>>>>          <slf4j.version>1.7.5</slf4j.version>
>>>>>>          <soap.version>2.3.1</soap.version>
>>>>>>          <tidy.version>r938</tidy.version>
>>>>>> @@ -357,6 +358,11 @@ under the License.
>>>>>>            <version>${mongo-java-driver.version}</version>
>>>>>>          </dependency>
>>>>>>          <dependency>
>>>>>> +        <groupId>com.fifesoft</groupId>
>>>>>> +        <artifactId>rsyntaxtextarea</artifactId>
>>>>>> +        <version>${rsyntaxtextarea.version}</version>
>>>>>> +      </dependency>
>>>>>> +      <dependency>
>>>>>>            <groupId>org.slf4j</groupId>
>>>>>>            <artifactId>slf4j-api</artifactId>
>>>>>>            <version>${slf4j.version}</version>
>>>>>>
>>>>>> Modified:
>>>>>>
>>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>>> URL:
>>>>>>
>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>>
>>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>>> (original)
>>>>>> +++
>>>>>>
>>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>>> Fri Jul  5 20:39:54 2013
>>>>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>>>>    import javax.swing.JCheckBox;
>>>>>>    import javax.swing.JLabel;
>>>>>>    import javax.swing.JPanel;
>>>>>> -import javax.swing.JScrollPane;
>>>>>>    import javax.swing.JTextArea;
>>>>>>    import javax.swing.JTextField;
>>>>>>
>>>>>> @@ -32,6 +31,9 @@ import org.apache.jmeter.assertions.Bean
>>>>>>    import org.apache.jmeter.testelement.TestElement;
>>>>>>    import org.apache.jmeter.testelement.property.BooleanProperty;
>>>>>>    import org.apache.jmeter.util.JMeterUtils;
>>>>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>>>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>>>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>>>>
>>>>>>    public class BeanShellAssertionGui extends AbstractAssertionGui {
>>>>>>
>>>>>> @@ -43,7 +45,7 @@ public class BeanShellAssertionGui exten
>>>>>>
>>>>>>        private JTextField parameters;// parameters to pass to script
>>>>>> file
>>>>>> (or script)
>>>>>>
>>>>>> -    private JTextArea scriptField;// script area
>>>>>> +    private RSyntaxTextArea scriptField; // script area
>>>>>>
>>>>>>        public BeanShellAssertionGui() {
>>>>>>            init();
>>>>>> @@ -139,8 +141,10 @@ public class BeanShellAssertionGui exten
>>>>>>        }
>>>>>>
>>>>>>        private JPanel createScriptPanel() {
>>>>>> -        scriptField = new JTextArea();
>>>>>> -        scriptField.setRows(4);
>>>>>> +        scriptField = new RSyntaxTextArea(20,20);
>>>>>> +
>>>>>> scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>>>>> +        scriptField.setCodeFoldingEnabled(true);
>>>>>> +        scriptField.setAntiAliasingEnabled(true);
>>>>>>            scriptField.setLineWrap(true);
>>>>>>            scriptField.setWrapStyleWord(true);
>>>>>>
>>>>>> @@ -149,7 +153,7 @@ public class BeanShellAssertionGui exten
>>>>>>
>>>>>>            JPanel panel = new JPanel(new BorderLayout());
>>>>>>            panel.add(label, BorderLayout.NORTH);
>>>>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>>>>> +        panel.add(new RTextScrollPane(scriptField),
>>>>>> BorderLayout.CENTER);
>>>>>>
>>>>>>            JTextArea explain = new
>>>>>> JTextArea(JMeterUtils.getResString("bsh_assertion_script_variables"));
>>>>>> //$NON-NLS-1$
>>>>>>            explain.setLineWrap(true);
>>>>>>
>>>>>> Modified:
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>>> URL:
>>>>>>
>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>>> (original)
>>>>>> +++
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>>> Fri Jul  5 20:39:54 2013
>>>>>> @@ -203,6 +203,8 @@ public class GenericTestBeanCustomizer e
>>>>>>
>>>>>>            // Obtain the propertyEditors:
>>>>>>            editors = new PropertyEditor[descriptors.length];
>>>>>> +        int scriptLanguageIndex = 0;
>>>>>> +        int textAreaEditorIndex = 0;
>>>>>>            for (int i = 0; i < descriptors.length; i++) { // Index is
>>>>>> also
>>>>>> used for accessing editors array
>>>>>>                PropertyDescriptor descriptor = descriptors[i];
>>>>>>                String name = descriptor.getName();
>>>>>> @@ -218,7 +220,7 @@ public class GenericTestBeanCustomizer e
>>>>>>                PropertyEditor propertyEditor;
>>>>>>                Object guiType = descriptor.getValue(GUITYPE);
>>>>>>                if (guiType instanceof TypeEditor) {
>>>>>> -                propertyEditor = ((TypeEditor)
>>>>>> guiType).getInstance(descriptor);
>>>>>> +                propertyEditor = ((TypeEditor)
>>>>>> guiType).getInstance(descriptor);
>>>>>>                } else {
>>>>>>                    Class<?> editorClass =
>>>>>> descriptor.getPropertyEditorClass();
>>>>>>                    if (log.isDebugEnabled()) {
>>>>>> @@ -267,6 +269,10 @@ public class GenericTestBeanCustomizer e
>>>>>>                {
>>>>>>
>>>>>> ((TestBeanPropertyEditor)propertyEditor).setDescriptor(descriptor);
>>>>>>                }
>>>>>> +
>>>>>> +            if (propertyEditor instanceof TextAreaEditor) {
>>>>>> +                textAreaEditorIndex = i;
>>>>>> +            }
>>>>>>                if (propertyEditor.getCustomEditor() instanceof
>>>>>> JScrollPane) {
>>>>>>                    scrollerCount++;
>>>>>>                }
>>>>>> @@ -276,6 +282,17 @@ public class GenericTestBeanCustomizer e
>>>>>>                // Initialize the editor with the provided default value
>>>>>> or
>>>>>> null:
>>>>>>                setEditorValue(i, descriptor.getValue(DEFAULT));
>>>>>>
>>>>>> +            if (name.equals("scriptLanguage")) {
>>>>>> +                scriptLanguageIndex = i;
>>>>>> +            }
>>>>>> +
>>>>>> +        }
>>>>>> +        // In case of BSF and JSR elements i want to add
>>>>>> textAreaEditor
>>>>>> as a listener to scriptLanguage ComboBox.
>>>>>> +        String beanName = this.beanInfo.getBeanDescriptor().getName();
>>>>>> +        if (beanName.startsWith("BSF") ||
>>>>>> beanName.startsWith("JSR223"))
>>>>>> { // $NON-NLS-1$ $NON-NLS-2$
>>>>>> +            WrapperEditor we = (WrapperEditor)
>>>>>> editors[scriptLanguageIndex];
>>>>>> +            TextAreaEditor tae = (TextAreaEditor)
>>>>>> editors[textAreaEditorIndex];
>>>>>> +            we.addChangeListener(tae);
>>>>>>            }
>>>>>>
>>>>>>            // Obtain message formats:
>>>>>>
>>>>>> Modified:
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>>> URL:
>>>>>>
>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>>> (original)
>>>>>> +++
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>>> Fri Jul  5 20:39:54 2013
>>>>>> @@ -24,17 +24,23 @@ package org.apache.jmeter.testbeans.gui;
>>>>>>    import java.awt.Component;
>>>>>>    import java.awt.event.FocusEvent;
>>>>>>    import java.awt.event.FocusListener;
>>>>>> +import java.beans.PropertyChangeEvent;
>>>>>> +import java.beans.PropertyChangeListener;
>>>>>>    import java.beans.PropertyEditorSupport;
>>>>>> +import java.util.Properties;
>>>>>>
>>>>>> -import javax.swing.JScrollPane;
>>>>>> -import javax.swing.JTextArea;
>>>>>> -import javax.swing.ScrollPaneConstants;
>>>>>> +import org.apache.jmeter.util.JMeterUtils;
>>>>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>>>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>>>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>>>>
>>>>>> -public class TextAreaEditor extends PropertyEditorSupport implements
>>>>>> FocusListener {
>>>>>> +public class TextAreaEditor extends PropertyEditorSupport implements
>>>>>> FocusListener, PropertyChangeListener {
>>>>>>
>>>>>> -    private JTextArea textUI;
>>>>>> +    private RSyntaxTextArea textUI;
>>>>>>
>>>>>> -    private JScrollPane scroller;
>>>>>> +    private RTextScrollPane scroller;
>>>>>> +
>>>>>> +    private Properties languageProperties;
>>>>>>
>>>>>>        /** {@inheritDoc} */
>>>>>>        @Override
>>>>>> @@ -48,12 +54,17 @@ public class TextAreaEditor extends Prop
>>>>>>        }
>>>>>>
>>>>>>        private final void init() {// called from ctor, so must not be
>>>>>> overridable
>>>>>> -        textUI = new JTextArea();
>>>>>> +        textUI = new RSyntaxTextArea(20, 20);
>>>>>> +        textUI.discardAllEdits();
>>>>>> +
>>>>>> textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>>>>> +        textUI.setCodeFoldingEnabled(true);
>>>>>> +        textUI.setAntiAliasingEnabled(true);
>>>>>>            textUI.addFocusListener(this);
>>>>>>            textUI.setWrapStyleWord(true);
>>>>>>            textUI.setLineWrap(true);
>>>>>> -        scroller = new JScrollPane(textUI,
>>>>>> ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
>>>>>> -                ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
>>>>>> +        scroller = new RTextScrollPane(textUI);
>>>>>> +        scroller.setFoldIndicatorEnabled(true);
>>>>>> +        languageProperties =
>>>>>>
>>>>>> JMeterUtils.loadProperties("org/apache/jmeter/testbeans/gui/textarea.properties");
>>>>>> //$NON-NLS-1$
>>>>>>        }
>>>>>>
>>>>>>        /**
>>>>>> @@ -112,4 +123,19 @@ public class TextAreaEditor extends Prop
>>>>>>        public boolean supportsCustomEditor() {
>>>>>>            return true;
>>>>>>        }
>>>>>> +
>>>>>> +    @Override
>>>>>> +    public void propertyChange(PropertyChangeEvent evt) {
>>>>>> +        Object source = evt.getSource();
>>>>>> +        if (source instanceof ComboStringEditor && source != null) {
>>>>>> +            ComboStringEditor cse = (ComboStringEditor) source;
>>>>>> +            String lang = cse.getAsText().toLowerCase();
>>>>>> +            if (languageProperties.containsKey(lang)) {
>>>>>> +
>>>>>> textUI.setSyntaxEditingStyle(languageProperties.getProperty(lang));
>>>>>> +            } else {
>>>>>> +
>>>>>> textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_NONE);
>>>>>> +            }
>>>>>> +
>>>>>> +        }
>>>>>> +    }
>>>>>>    }
>>>>>>
>>>>>> Modified:
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>>>>> URL:
>>>>>>
>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>>>>> (original)
>>>>>> +++
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java Fri
>>>>>> Jul  5 20:39:54 2013
>>>>>> @@ -445,4 +445,8 @@ class WrapperEditor extends PropertyEdit
>>>>>>                guiEditor.setAsText(lastValidValue);
>>>>>>            }
>>>>>>        }
>>>>>> +
>>>>>> +    public void addChangeListener(PropertyChangeListener listener) {
>>>>>> +        guiEditor.addPropertyChangeListener(listener);
>>>>>> +    }
>>>>>>    }
>>>>>> \ No newline at end of file
>>>>>>
>>>>>> Added:
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>> URL:
>>>>>>
>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties?rev=1500124&view=auto
>>>>>>
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>> (added)
>>>>>> +++
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>> Fri Jul  5 20:39:54 2013
>>>>>> @@ -0,0 +1,52 @@
>>>>>> +#
>>>>>> +# Licensed to the Apache Software Foundation (ASF) under one or more
>>>>>> +# contributor license agreements.  See the NOTICE file distributed
>>>>>> with
>>>>>> +# this work for additional information regarding copyright ownership.
>>>>>> +# The ASF licenses this file to You 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.
>>>>>> +#
>>>>>> +
>>>>>> +javascript = text/javascript
>>>>>> +js = text/javascript
>>>>>> +jacl = text/tcl
>>>>>> +netrexx = text/plain
>>>>>> +java = text/java
>>>>>> +javaclass = text/java
>>>>>> +bml = text/xml
>>>>>> +vbscript = text/vb
>>>>>> +jscript = text/javascript
>>>>>> +perlscript = text/perl
>>>>>> +perl = text/perl
>>>>>> +jpython = text/python
>>>>>> +jython = text/python
>>>>>> +lotusscript = text/vb
>>>>>> +xslt = text/mxml
>>>>>> +pnuts = text/java
>>>>>> +beanbasic = text/java
>>>>>> +beanshell = text/java
>>>>>> +bsh = text/unix
>>>>>> +ruby = text/ruby
>>>>>> +judoscript = text/plain
>>>>>> +groovy = text/groovy
>>>>>> +objectscript = text/javascript
>>>>>> +prolog = text/plain
>>>>>> +rexx = text/plain
>>>>>> +applescript = text/plain
>>>>>> +ecmascript = text/actionscript
>>>>>> +jexl = text/java
>>>>>> +jexl2 = text/java
>>>>>> +rhino = text/javascript
>>>>>> +edit = text/unix
>>>>>> +lua = text/lua
>>>>>> +php = text/php
>>>>>> +lisp = text/lisp
>>>>>> +sql = text/sql
>>>>>> \ No newline at end of file
>>>>>>
>>>>>> Propchange:
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>>       svn:eol-style = native
>>>>>>
>>>>>> Propchange:
>>>>>>
>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>>
>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>>       svn:mime-type = text/plain
>>>>>>
>>>>>> Modified:
>>>>>>
>>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>>> URL:
>>>>>>
>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>
>>>>>>
>>>>>> ==============================================================================
>>>>>> ---
>>>>>>
>>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>>> (original)
>>>>>> +++
>>>>>>
>>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>>> Fri Jul  5 20:39:54 2013
>>>>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>>>>    import javax.swing.JCheckBox;
>>>>>>    import javax.swing.JLabel;
>>>>>>    import javax.swing.JPanel;
>>>>>> -import javax.swing.JScrollPane;
>>>>>>    import javax.swing.JTextArea;
>>>>>>    import javax.swing.JTextField;
>>>>>>
>>>>>> @@ -33,6 +32,9 @@ import org.apache.jmeter.samplers.gui.Ab
>>>>>>    import org.apache.jmeter.testelement.TestElement;
>>>>>>    import org.apache.jmeter.testelement.property.BooleanProperty;
>>>>>>    import org.apache.jmeter.util.JMeterUtils;
>>>>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>>>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>>>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>>>>
>>>>>>    public class BeanShellSamplerGui extends AbstractSamplerGui {
>>>>>>
>>>>>> @@ -44,7 +46,7 @@ public class BeanShellSamplerGui extends
>>>>>>
>>>>>>        private JTextField parameters;// parameters to pass to script
>>>>>> file
>>>>>> (or script)
>>>>>>
>>>>>> -    private JTextArea scriptField;// script area
>>>>>> +    private RSyntaxTextArea scriptField;// script area
>>>>>>
>>>>>>        public BeanShellSamplerGui() {
>>>>>>            init();
>>>>>> @@ -153,8 +155,9 @@ public class BeanShellSamplerGui extends
>>>>>>        }
>>>>>>
>>>>>>        private JPanel createScriptPanel() {
>>>>>> -        scriptField = new JTextArea();
>>>>>> -        scriptField.setRows(4);
>>>>>> +        scriptField = new RSyntaxTextArea(20, 20);
>>>>>> +
>>>>>> scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>>>>> +        scriptField.setCodeFoldingEnabled(true);
>>>>>>            scriptField.setLineWrap(true);
>>>>>>            scriptField.setWrapStyleWord(true);
>>>>>>
>>>>>> @@ -163,7 +166,7 @@ public class BeanShellSamplerGui extends
>>>>>>
>>>>>>            JPanel panel = new JPanel(new BorderLayout());
>>>>>>            panel.add(label, BorderLayout.NORTH);
>>>>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>>>>> +        panel.add(new RTextScrollPane(scriptField),
>>>>>> BorderLayout.CENTER);
>>>>>>
>>>>>>            JTextArea explain = new
>>>>>> JTextArea(JMeterUtils.getResString("bsh_script_variables"));
>>>>>> //$NON-NLS-1$
>>>>>>            explain.setLineWrap(true);
>>>>>>
>>>>>> Modified: jmeter/trunk/xdocs/changes.xml
>>>>>> URL:
>>>>>>
>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>>
>>>>>>
>>>>>> ==============================================================================
>>>>>> --- jmeter/trunk/xdocs/changes.xml (original)
>>>>>> +++ jmeter/trunk/xdocs/changes.xml Fri Jul  5 20:39:54 2013
>>>>>> @@ -224,6 +224,7 @@ Transaction Controller now sets Response
>>>>>>    <li><bugzilla>54990</bugzilla> - Download large files avoiding
>>>>>> outOfMemory</li>
>>>>>>    <li><bugzilla>55085</bugzilla> - UX Improvement : Ability to create
>>>>>> New
>>>>>> Test Plan from Templates</li>
>>>>>>    <li><bugzilla>55172</bugzilla> - Provide plugins a way to add Top
>>>>>> Menu
>>>>>> and menu items</li>
>>>>>> +<li><bugzilla>55202</bugzilla> - Add syntax color for scripts elements
>>>>>> (BeanShell, BSF, and JSR223) with RSyntaxTextArea</li>
>>>>>>    </ul>
>>>>>>
>>>>>>    <h2>Non-functional changes</h2>
>>>>>>
>>>>>>
>>> .
>>>
>>

Re: svn commit: r1500124 - in /jmeter/trunk: ./ res/maven/ src/components/org/apache/jmeter/assertions/gui/ src/core/org/apache/jmeter/testbeans/gui/ src/protocol/java/org/apache/jmeter/protocol/java/control/gui/ xdocs/

Posted by sebb <se...@gmail.com>.
On 5 July 2013 22:53, Milamber <mi...@gmail.com> wrote:
>
> Le 05/07/2013 22:40, sebb a ecrit :
>
>> On 5 July 2013 22:36, Milamber <mi...@apache.org> wrote:
>>>
>>> Le 05/07/2013 21:55, sebb a ecrit :
>>>>
>>>> On 5 July 2013 21:39,  <mi...@apache.org> wrote:
>>>>
>>>>> Author: milamber
>>>>> Date: Fri Jul  5 20:39:54 2013
>>>>> New Revision: 1500124
>>>>>
>>>>> URL: http://svn.apache.org/r1500124
>>>>> Log:
>>>>> Bug 55202 - Proposal to add RSyntaxTextArea for BeanShell, BSF, and
>>>>> JSR223 elements
>>>>> Bugzilla Id: 55202
>>>>
>>>> -1
>>>>
>>>> I think the jar needs to be obtained somewhere other than Maven
>>>> Central, as the pom license there says LGPL.
>>>
>>>
>>> Not good...
>>>
>>> I have sent an email to Filesolft (author of rsyntaxtextarea) to point
>>> the
>>> difference between their website and the pom file on Maven website, and
>>> ask
>>> the good license.
>>
>> That would be the best solution - having an incorrect license on Maven
>> is not good.
>>
>> However we do have other options:
>> - download the example archive and extract the jar:
>>
>> http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea-demo/2.0.7/rsyntaxtextarea_demo_2.0.7.zip/download
>> - download the source to a temporary folder and compile it
>
>
> You're right, another option is:
> (on download_jars task)
> Download form the binary release (not -demo)
> http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea/2.0.7/rsyntaxtextarea_2.0.7.zip/download
> The zip file include the modified BSD license.
>
> Get the jar file and put on good directory.
>
> It is a good way ? or we must compile from source?

I think that's OK, the license in the zip looks to be the same (best
to check though).

Not sure if build.xml still has the code to do zip extraction, if not
it can be recovered from SVN history.

The extracted jar will still contain the example code.
If that turns out to be a problem, then using the source should not be
too hard to do.
The code could check if the jar is present, and if not, download and build.

>> - ask on legal discuss if this really is a problem or not
>>
>>>
>>>
>>>> Please remove the download part for now.
>>>>
>>>>> Added:
>>>>>
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>> (with props)
>>>>> Modified:
>>>>>       jmeter/trunk/LICENSE
>>>>>       jmeter/trunk/build.properties
>>>>>       jmeter/trunk/build.xml
>>>>>       jmeter/trunk/eclipse.classpath
>>>>>       jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>>>>>
>>>>>
>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>>
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>>
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>>
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>>>>
>>>>>
>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>>       jmeter/trunk/xdocs/changes.xml
>>>>>
>>>>> Modified: jmeter/trunk/LICENSE
>>>>> URL:
>>>>>
>>>>> http://svn.apache.org/viewvc/jmeter/trunk/LICENSE?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>> --- jmeter/trunk/LICENSE [utf-8] (original)
>>>>> +++ jmeter/trunk/LICENSE [utf-8] Fri Jul  5 20:39:54 2013
>>>>> @@ -1565,7 +1565,7 @@ The jsoup code-base (include source and
>>>>>    distributed under the open source MIT license as described below.
>>>>>    The MIT License
>>>>>
>>>>> -Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>>> +Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>>>
>>>>>    Permission is hereby granted, free of charge, to any person
>>>>> obtaining a
>>>>>    copy of this software and associated documentation files (the
>>>>> "Software"),
>>>>> @@ -1926,7 +1926,7 @@ As a special exception, the copyright ho
>>>>>    Open Icon Library from
>>>>>    http://openiconlibrary.sourceforge.net/
>>>>>
>>>>> -Detailled Licenses information:
>>>>> +Detailed Licenses information:
>>>>>    http://openiconlibrary.sourceforge.net/LICENSES.html
>>>>>
>>>>>    ============ Packages used by Apache JMeter =========
>>>>> @@ -2029,3 +2029,39 @@ UNLESS OTHERWISE MUTUALLY AGREED TO BY T
>>>>>
>>>>>
>>>>>
>>>>> ################################################################################
>>>>>
>>>>> +RSyntaxTextArea License
>>>>> +=========================================
>>>>> +
>>>>> +RSyntaxTextArea  from
>>>>> +http://fifesoft.com/rsyntaxtextarea/
>>>>> +
>>>>> +Detailed License information:
>>>>> +http://fifesoft.com/rsyntaxtextarea/RSyntaxTextArea.License.txt
>>>>> +
>>>>> +============== RSyntaxTextArea  License =============
>>>>> +Copyright (c) 2012, Robert Futrell
>>>>> +All rights reserved.
>>>>> +
>>>>> +Redistribution and use in source and binary forms, with or without
>>>>> +modification, are permitted provided that the following conditions are
>>>>> met:
>>>>> +    * Redistributions of source code must retain the above copyright
>>>>> +      notice, this list of conditions and the following disclaimer.
>>>>> +    * Redistributions in binary form must reproduce the above
>>>>> copyright
>>>>> +      notice, this list of conditions and the following disclaimer in
>>>>> the
>>>>> +      documentation and/or other materials provided with the
>>>>> distribution.
>>>>> +    * Neither the name of the author nor the names of its contributors
>>>>> may
>>>>> +      be used to endorse or promote products derived from this
>>>>> software
>>>>> +      without specific prior written permission.
>>>>> +
>>>>> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
>>>>> "AS
>>>>> IS" AND
>>>>> +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
>>>>> IMPLIED
>>>>> +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>>>>> +DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
>>>>> +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
>>>>> DAMAGES
>>>>> +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
>>>>> SERVICES;
>>>>> +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
>>>>> CAUSED
>>>>> AND
>>>>> +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
>>>>> TORT
>>>>> +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
>>>>> OF
>>>>> THIS
>>>>> +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>>>>> +
>>>>>
>>>>>
>>>>> +################################################################################
>>>>> \ No newline at end of file
>>>>>
>>>>> Modified: jmeter/trunk/build.properties
>>>>> URL:
>>>>>
>>>>> http://svn.apache.org/viewvc/jmeter/trunk/build.properties?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>> --- jmeter/trunk/build.properties (original)
>>>>> +++ jmeter/trunk/build.properties Fri Jul  5 20:39:54 2013
>>>>> @@ -223,6 +223,11 @@ mongo-java-driver.jar
>>>>> = mongo-java-d
>>>>>    mongo-java-driver.loc                                  =
>>>>>
>>>>> ${maven2.repo}/org/mongodb/mongo-java-driver/${mongo-java-driver.version}
>>>>>    mongo-java-driver.md5                                  =
>>>>> fed5e6d998256e285396b4e0d81537bd
>>>>>
>>>>> +rsyntaxtextarea.version     = 2.0.7
>>>>> +rsyntaxtextarea.jar         =
>>>>> rsyntaxtextarea-${rsyntaxtextarea.version}.jar
>>>>> +rsyntaxtextarea.loc         =
>>>>> ${maven2.repo}/com/fifesoft/rsyntaxtextarea/${rsyntaxtextarea.version}
>>>>> +rsyntaxtextarea.md5         = 00ab3c8ce58bb8bb1dbb3ae506f06d30
>>>>
>>>> -1
>>>>
>>>> I don't think we can download from there until the license issue is
>>>> sorted
>>>> out.
>>>>
>>>>> +
>>>>>    slf4j-api.version           = 1.7.5
>>>>>    slf4j-api.jar               = slf4j-api-${slf4j-api.version}.jar
>>>>>    slf4j-api.loc               =
>>>>> ${maven2.repo}/org/slf4j/slf4j-api/${slf4j-api.version}
>>>>>
>>>>> Modified: jmeter/trunk/build.xml
>>>>> URL:
>>>>>
>>>>> http://svn.apache.org/viewvc/jmeter/trunk/build.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>> --- jmeter/trunk/build.xml (original)
>>>>> +++ jmeter/trunk/build.xml Fri Jul  5 20:39:54 2013
>>>>> @@ -387,6 +387,7 @@
>>>>>        <include name="${lib.dir}/${junit.jar}"/>
>>>>>        <include name="${lib.dir}/${logkit.jar}"/>
>>>>>        <include name="${lib.dir}/${mongo-java-driver.jar}"/>
>>>>> +    <include name="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>>>>        <include name="${lib.dir}/${serializer.jar}"/>
>>>>>        <include name="${lib.dir}/${slf4j-api.jar}"/>
>>>>>        <include name="${lib.dir}/${soap.jar}"/>
>>>>> @@ -454,6 +455,7 @@
>>>>>        <pathelement location="${lib.dir}/${junit.jar}"/>
>>>>>        <pathelement location="${lib.dir}/${logkit.jar}"/>
>>>>>        <pathelement location="${lib.dir}/${mongo-java-driver.jar}"/>
>>>>> +    <pathelement location="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>>>>        <pathelement location="${lib.dir}/${serializer.jar}"/>
>>>>>        <pathelement location="${lib.dir}/${slf4j-api.jar}"/>
>>>>>        <pathelement location="${lib.dir}/${soap.jar}"/>
>>>>> @@ -2879,6 +2881,7 @@ run JMeter unless all the JMeter jars ar
>>>>>            <process_jarfile jarname="junit"/>
>>>>>            <process_jarfile jarname="logkit"/>
>>>>>            <process_jarfile jarname="mongo-java-driver"/>
>>>>> +        <process_jarfile jarname="rsyntaxtextarea"/>
>>>>>            <process_jarfile jarname="serializer"/>
>>>>>           <process_jarfile jarname="slf4j-api"/>
>>>>>            <process_jarfile jarname="soap"/>
>>>>>
>>>>> Modified: jmeter/trunk/eclipse.classpath
>>>>> URL:
>>>>>
>>>>> http://svn.apache.org/viewvc/jmeter/trunk/eclipse.classpath?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>> --- jmeter/trunk/eclipse.classpath (original)
>>>>> +++ jmeter/trunk/eclipse.classpath Fri Jul  5 20:39:54 2013
>>>>> @@ -76,6 +76,7 @@
>>>>>           <classpathentry kind="lib" path="lib/logkit-2.0.jar"/>
>>>>>           <classpathentry kind="lib" path="lib/mail-1.4.4.jar"/>
>>>>>        <classpathentry kind="lib"
>>>>> path="lib/mongo-java-driver-2.11.2.jar"/>
>>>>> +    <classpathentry kind="lib" path="lib/rsyntaxtextarea-2.0.7.jar"/>
>>>>>           <classpathentry kind="lib" path="lib/oro-2.0.8.jar"/>
>>>>>           <classpathentry kind="lib" path="lib/serializer-2.7.1.jar"/>
>>>>>        <classpathentry kind="lib" path="lib/slf4j-api-1.7.5.jar"/>
>>>>>
>>>>> Modified: jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>>>>> URL:
>>>>>
>>>>> http://svn.apache.org/viewvc/jmeter/trunk/res/maven/ApacheJMeter_parent.pom?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>> --- jmeter/trunk/res/maven/ApacheJMeter_parent.pom (original)
>>>>> +++ jmeter/trunk/res/maven/ApacheJMeter_parent.pom Fri Jul  5 20:39:54
>>>>> 2013
>>>>> @@ -84,6 +84,7 @@ under the License.
>>>>>          <junit.version>4.11</junit.version>
>>>>>          <logkit.version>2.0</logkit.version>
>>>>>          <mongo-java-driver.version>2.11.2</mongo-java-driver.version>
>>>>> +      <rsyntaxtextarea.version>2.0.7</rsyntaxtextarea.version>
>>>>>          <slf4j.version>1.7.5</slf4j.version>
>>>>>          <soap.version>2.3.1</soap.version>
>>>>>          <tidy.version>r938</tidy.version>
>>>>> @@ -357,6 +358,11 @@ under the License.
>>>>>            <version>${mongo-java-driver.version}</version>
>>>>>          </dependency>
>>>>>          <dependency>
>>>>> +        <groupId>com.fifesoft</groupId>
>>>>> +        <artifactId>rsyntaxtextarea</artifactId>
>>>>> +        <version>${rsyntaxtextarea.version}</version>
>>>>> +      </dependency>
>>>>> +      <dependency>
>>>>>            <groupId>org.slf4j</groupId>
>>>>>            <artifactId>slf4j-api</artifactId>
>>>>>            <version>${slf4j.version}</version>
>>>>>
>>>>> Modified:
>>>>>
>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>> URL:
>>>>>
>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>> ---
>>>>>
>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>> (original)
>>>>> +++
>>>>>
>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>> Fri Jul  5 20:39:54 2013
>>>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>>>    import javax.swing.JCheckBox;
>>>>>    import javax.swing.JLabel;
>>>>>    import javax.swing.JPanel;
>>>>> -import javax.swing.JScrollPane;
>>>>>    import javax.swing.JTextArea;
>>>>>    import javax.swing.JTextField;
>>>>>
>>>>> @@ -32,6 +31,9 @@ import org.apache.jmeter.assertions.Bean
>>>>>    import org.apache.jmeter.testelement.TestElement;
>>>>>    import org.apache.jmeter.testelement.property.BooleanProperty;
>>>>>    import org.apache.jmeter.util.JMeterUtils;
>>>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>>>
>>>>>    public class BeanShellAssertionGui extends AbstractAssertionGui {
>>>>>
>>>>> @@ -43,7 +45,7 @@ public class BeanShellAssertionGui exten
>>>>>
>>>>>        private JTextField parameters;// parameters to pass to script
>>>>> file
>>>>> (or script)
>>>>>
>>>>> -    private JTextArea scriptField;// script area
>>>>> +    private RSyntaxTextArea scriptField; // script area
>>>>>
>>>>>        public BeanShellAssertionGui() {
>>>>>            init();
>>>>> @@ -139,8 +141,10 @@ public class BeanShellAssertionGui exten
>>>>>        }
>>>>>
>>>>>        private JPanel createScriptPanel() {
>>>>> -        scriptField = new JTextArea();
>>>>> -        scriptField.setRows(4);
>>>>> +        scriptField = new RSyntaxTextArea(20,20);
>>>>> +
>>>>> scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>>>> +        scriptField.setCodeFoldingEnabled(true);
>>>>> +        scriptField.setAntiAliasingEnabled(true);
>>>>>            scriptField.setLineWrap(true);
>>>>>            scriptField.setWrapStyleWord(true);
>>>>>
>>>>> @@ -149,7 +153,7 @@ public class BeanShellAssertionGui exten
>>>>>
>>>>>            JPanel panel = new JPanel(new BorderLayout());
>>>>>            panel.add(label, BorderLayout.NORTH);
>>>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>>>> +        panel.add(new RTextScrollPane(scriptField),
>>>>> BorderLayout.CENTER);
>>>>>
>>>>>            JTextArea explain = new
>>>>> JTextArea(JMeterUtils.getResString("bsh_assertion_script_variables"));
>>>>> //$NON-NLS-1$
>>>>>            explain.setLineWrap(true);
>>>>>
>>>>> Modified:
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>> URL:
>>>>>
>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>> ---
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>> (original)
>>>>> +++
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>> Fri Jul  5 20:39:54 2013
>>>>> @@ -203,6 +203,8 @@ public class GenericTestBeanCustomizer e
>>>>>
>>>>>            // Obtain the propertyEditors:
>>>>>            editors = new PropertyEditor[descriptors.length];
>>>>> +        int scriptLanguageIndex = 0;
>>>>> +        int textAreaEditorIndex = 0;
>>>>>            for (int i = 0; i < descriptors.length; i++) { // Index is
>>>>> also
>>>>> used for accessing editors array
>>>>>                PropertyDescriptor descriptor = descriptors[i];
>>>>>                String name = descriptor.getName();
>>>>> @@ -218,7 +220,7 @@ public class GenericTestBeanCustomizer e
>>>>>                PropertyEditor propertyEditor;
>>>>>                Object guiType = descriptor.getValue(GUITYPE);
>>>>>                if (guiType instanceof TypeEditor) {
>>>>> -                propertyEditor = ((TypeEditor)
>>>>> guiType).getInstance(descriptor);
>>>>> +                propertyEditor = ((TypeEditor)
>>>>> guiType).getInstance(descriptor);
>>>>>                } else {
>>>>>                    Class<?> editorClass =
>>>>> descriptor.getPropertyEditorClass();
>>>>>                    if (log.isDebugEnabled()) {
>>>>> @@ -267,6 +269,10 @@ public class GenericTestBeanCustomizer e
>>>>>                {
>>>>>
>>>>> ((TestBeanPropertyEditor)propertyEditor).setDescriptor(descriptor);
>>>>>                }
>>>>> +
>>>>> +            if (propertyEditor instanceof TextAreaEditor) {
>>>>> +                textAreaEditorIndex = i;
>>>>> +            }
>>>>>                if (propertyEditor.getCustomEditor() instanceof
>>>>> JScrollPane) {
>>>>>                    scrollerCount++;
>>>>>                }
>>>>> @@ -276,6 +282,17 @@ public class GenericTestBeanCustomizer e
>>>>>                // Initialize the editor with the provided default value
>>>>> or
>>>>> null:
>>>>>                setEditorValue(i, descriptor.getValue(DEFAULT));
>>>>>
>>>>> +            if (name.equals("scriptLanguage")) {
>>>>> +                scriptLanguageIndex = i;
>>>>> +            }
>>>>> +
>>>>> +        }
>>>>> +        // In case of BSF and JSR elements i want to add
>>>>> textAreaEditor
>>>>> as a listener to scriptLanguage ComboBox.
>>>>> +        String beanName = this.beanInfo.getBeanDescriptor().getName();
>>>>> +        if (beanName.startsWith("BSF") ||
>>>>> beanName.startsWith("JSR223"))
>>>>> { // $NON-NLS-1$ $NON-NLS-2$
>>>>> +            WrapperEditor we = (WrapperEditor)
>>>>> editors[scriptLanguageIndex];
>>>>> +            TextAreaEditor tae = (TextAreaEditor)
>>>>> editors[textAreaEditorIndex];
>>>>> +            we.addChangeListener(tae);
>>>>>            }
>>>>>
>>>>>            // Obtain message formats:
>>>>>
>>>>> Modified:
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>> URL:
>>>>>
>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>> ---
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>> (original)
>>>>> +++
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>> Fri Jul  5 20:39:54 2013
>>>>> @@ -24,17 +24,23 @@ package org.apache.jmeter.testbeans.gui;
>>>>>    import java.awt.Component;
>>>>>    import java.awt.event.FocusEvent;
>>>>>    import java.awt.event.FocusListener;
>>>>> +import java.beans.PropertyChangeEvent;
>>>>> +import java.beans.PropertyChangeListener;
>>>>>    import java.beans.PropertyEditorSupport;
>>>>> +import java.util.Properties;
>>>>>
>>>>> -import javax.swing.JScrollPane;
>>>>> -import javax.swing.JTextArea;
>>>>> -import javax.swing.ScrollPaneConstants;
>>>>> +import org.apache.jmeter.util.JMeterUtils;
>>>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>>>
>>>>> -public class TextAreaEditor extends PropertyEditorSupport implements
>>>>> FocusListener {
>>>>> +public class TextAreaEditor extends PropertyEditorSupport implements
>>>>> FocusListener, PropertyChangeListener {
>>>>>
>>>>> -    private JTextArea textUI;
>>>>> +    private RSyntaxTextArea textUI;
>>>>>
>>>>> -    private JScrollPane scroller;
>>>>> +    private RTextScrollPane scroller;
>>>>> +
>>>>> +    private Properties languageProperties;
>>>>>
>>>>>        /** {@inheritDoc} */
>>>>>        @Override
>>>>> @@ -48,12 +54,17 @@ public class TextAreaEditor extends Prop
>>>>>        }
>>>>>
>>>>>        private final void init() {// called from ctor, so must not be
>>>>> overridable
>>>>> -        textUI = new JTextArea();
>>>>> +        textUI = new RSyntaxTextArea(20, 20);
>>>>> +        textUI.discardAllEdits();
>>>>> +
>>>>> textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>>>> +        textUI.setCodeFoldingEnabled(true);
>>>>> +        textUI.setAntiAliasingEnabled(true);
>>>>>            textUI.addFocusListener(this);
>>>>>            textUI.setWrapStyleWord(true);
>>>>>            textUI.setLineWrap(true);
>>>>> -        scroller = new JScrollPane(textUI,
>>>>> ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
>>>>> -                ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
>>>>> +        scroller = new RTextScrollPane(textUI);
>>>>> +        scroller.setFoldIndicatorEnabled(true);
>>>>> +        languageProperties =
>>>>>
>>>>> JMeterUtils.loadProperties("org/apache/jmeter/testbeans/gui/textarea.properties");
>>>>> //$NON-NLS-1$
>>>>>        }
>>>>>
>>>>>        /**
>>>>> @@ -112,4 +123,19 @@ public class TextAreaEditor extends Prop
>>>>>        public boolean supportsCustomEditor() {
>>>>>            return true;
>>>>>        }
>>>>> +
>>>>> +    @Override
>>>>> +    public void propertyChange(PropertyChangeEvent evt) {
>>>>> +        Object source = evt.getSource();
>>>>> +        if (source instanceof ComboStringEditor && source != null) {
>>>>> +            ComboStringEditor cse = (ComboStringEditor) source;
>>>>> +            String lang = cse.getAsText().toLowerCase();
>>>>> +            if (languageProperties.containsKey(lang)) {
>>>>> +
>>>>> textUI.setSyntaxEditingStyle(languageProperties.getProperty(lang));
>>>>> +            } else {
>>>>> +
>>>>> textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_NONE);
>>>>> +            }
>>>>> +
>>>>> +        }
>>>>> +    }
>>>>>    }
>>>>>
>>>>> Modified:
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>>>> URL:
>>>>>
>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>> ---
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>>>> (original)
>>>>> +++
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java Fri
>>>>> Jul  5 20:39:54 2013
>>>>> @@ -445,4 +445,8 @@ class WrapperEditor extends PropertyEdit
>>>>>                guiEditor.setAsText(lastValidValue);
>>>>>            }
>>>>>        }
>>>>> +
>>>>> +    public void addChangeListener(PropertyChangeListener listener) {
>>>>> +        guiEditor.addPropertyChangeListener(listener);
>>>>> +    }
>>>>>    }
>>>>> \ No newline at end of file
>>>>>
>>>>> Added:
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>> URL:
>>>>>
>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties?rev=1500124&view=auto
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>> ---
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>> (added)
>>>>> +++
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>> Fri Jul  5 20:39:54 2013
>>>>> @@ -0,0 +1,52 @@
>>>>> +#
>>>>> +# Licensed to the Apache Software Foundation (ASF) under one or more
>>>>> +# contributor license agreements.  See the NOTICE file distributed
>>>>> with
>>>>> +# this work for additional information regarding copyright ownership.
>>>>> +# The ASF licenses this file to You 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.
>>>>> +#
>>>>> +
>>>>> +javascript = text/javascript
>>>>> +js = text/javascript
>>>>> +jacl = text/tcl
>>>>> +netrexx = text/plain
>>>>> +java = text/java
>>>>> +javaclass = text/java
>>>>> +bml = text/xml
>>>>> +vbscript = text/vb
>>>>> +jscript = text/javascript
>>>>> +perlscript = text/perl
>>>>> +perl = text/perl
>>>>> +jpython = text/python
>>>>> +jython = text/python
>>>>> +lotusscript = text/vb
>>>>> +xslt = text/mxml
>>>>> +pnuts = text/java
>>>>> +beanbasic = text/java
>>>>> +beanshell = text/java
>>>>> +bsh = text/unix
>>>>> +ruby = text/ruby
>>>>> +judoscript = text/plain
>>>>> +groovy = text/groovy
>>>>> +objectscript = text/javascript
>>>>> +prolog = text/plain
>>>>> +rexx = text/plain
>>>>> +applescript = text/plain
>>>>> +ecmascript = text/actionscript
>>>>> +jexl = text/java
>>>>> +jexl2 = text/java
>>>>> +rhino = text/javascript
>>>>> +edit = text/unix
>>>>> +lua = text/lua
>>>>> +php = text/php
>>>>> +lisp = text/lisp
>>>>> +sql = text/sql
>>>>> \ No newline at end of file
>>>>>
>>>>> Propchange:
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>>       svn:eol-style = native
>>>>>
>>>>> Propchange:
>>>>>
>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>>       svn:mime-type = text/plain
>>>>>
>>>>> Modified:
>>>>>
>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>> URL:
>>>>>
>>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>> ---
>>>>>
>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>> (original)
>>>>> +++
>>>>>
>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>> Fri Jul  5 20:39:54 2013
>>>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>>>    import javax.swing.JCheckBox;
>>>>>    import javax.swing.JLabel;
>>>>>    import javax.swing.JPanel;
>>>>> -import javax.swing.JScrollPane;
>>>>>    import javax.swing.JTextArea;
>>>>>    import javax.swing.JTextField;
>>>>>
>>>>> @@ -33,6 +32,9 @@ import org.apache.jmeter.samplers.gui.Ab
>>>>>    import org.apache.jmeter.testelement.TestElement;
>>>>>    import org.apache.jmeter.testelement.property.BooleanProperty;
>>>>>    import org.apache.jmeter.util.JMeterUtils;
>>>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>>>
>>>>>    public class BeanShellSamplerGui extends AbstractSamplerGui {
>>>>>
>>>>> @@ -44,7 +46,7 @@ public class BeanShellSamplerGui extends
>>>>>
>>>>>        private JTextField parameters;// parameters to pass to script
>>>>> file
>>>>> (or script)
>>>>>
>>>>> -    private JTextArea scriptField;// script area
>>>>> +    private RSyntaxTextArea scriptField;// script area
>>>>>
>>>>>        public BeanShellSamplerGui() {
>>>>>            init();
>>>>> @@ -153,8 +155,9 @@ public class BeanShellSamplerGui extends
>>>>>        }
>>>>>
>>>>>        private JPanel createScriptPanel() {
>>>>> -        scriptField = new JTextArea();
>>>>> -        scriptField.setRows(4);
>>>>> +        scriptField = new RSyntaxTextArea(20, 20);
>>>>> +
>>>>> scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>>>> +        scriptField.setCodeFoldingEnabled(true);
>>>>>            scriptField.setLineWrap(true);
>>>>>            scriptField.setWrapStyleWord(true);
>>>>>
>>>>> @@ -163,7 +166,7 @@ public class BeanShellSamplerGui extends
>>>>>
>>>>>            JPanel panel = new JPanel(new BorderLayout());
>>>>>            panel.add(label, BorderLayout.NORTH);
>>>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>>>> +        panel.add(new RTextScrollPane(scriptField),
>>>>> BorderLayout.CENTER);
>>>>>
>>>>>            JTextArea explain = new
>>>>> JTextArea(JMeterUtils.getResString("bsh_script_variables"));
>>>>> //$NON-NLS-1$
>>>>>            explain.setLineWrap(true);
>>>>>
>>>>> Modified: jmeter/trunk/xdocs/changes.xml
>>>>> URL:
>>>>>
>>>>> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>>
>>>>>
>>>>> ==============================================================================
>>>>> --- jmeter/trunk/xdocs/changes.xml (original)
>>>>> +++ jmeter/trunk/xdocs/changes.xml Fri Jul  5 20:39:54 2013
>>>>> @@ -224,6 +224,7 @@ Transaction Controller now sets Response
>>>>>    <li><bugzilla>54990</bugzilla> - Download large files avoiding
>>>>> outOfMemory</li>
>>>>>    <li><bugzilla>55085</bugzilla> - UX Improvement : Ability to create
>>>>> New
>>>>> Test Plan from Templates</li>
>>>>>    <li><bugzilla>55172</bugzilla> - Provide plugins a way to add Top
>>>>> Menu
>>>>> and menu items</li>
>>>>> +<li><bugzilla>55202</bugzilla> - Add syntax color for scripts elements
>>>>> (BeanShell, BSF, and JSR223) with RSyntaxTextArea</li>
>>>>>    </ul>
>>>>>
>>>>>    <h2>Non-functional changes</h2>
>>>>>
>>>>>
>> .
>>
>

Re: svn commit: r1500124 - in /jmeter/trunk: ./ res/maven/ src/components/org/apache/jmeter/assertions/gui/ src/core/org/apache/jmeter/testbeans/gui/ src/protocol/java/org/apache/jmeter/protocol/java/control/gui/ xdocs/

Posted by Milamber <mi...@gmail.com>.
Le 05/07/2013 22:40, sebb a ecrit :
> On 5 July 2013 22:36, Milamber <mi...@apache.org> wrote:
>> Le 05/07/2013 21:55, sebb a ecrit :
>>> On 5 July 2013 21:39,  <mi...@apache.org> wrote:
>>>
>>>> Author: milamber
>>>> Date: Fri Jul  5 20:39:54 2013
>>>> New Revision: 1500124
>>>>
>>>> URL: http://svn.apache.org/r1500124
>>>> Log:
>>>> Bug 55202 - Proposal to add RSyntaxTextArea for BeanShell, BSF, and
>>>> JSR223 elements
>>>> Bugzilla Id: 55202
>>> -1
>>>
>>> I think the jar needs to be obtained somewhere other than Maven
>>> Central, as the pom license there says LGPL.
>>
>> Not good...
>>
>> I have sent an email to Filesolft (author of rsyntaxtextarea) to point the
>> difference between their website and the pom file on Maven website, and ask
>> the good license.
> That would be the best solution - having an incorrect license on Maven
> is not good.
>
> However we do have other options:
> - download the example archive and extract the jar:
> http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea-demo/2.0.7/rsyntaxtextarea_demo_2.0.7.zip/download
> - download the source to a temporary folder and compile it

You're right, another option is:
(on download_jars task)
Download form the binary release (not -demo)
http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea/2.0.7/rsyntaxtextarea_2.0.7.zip/download
The zip file include the modified BSD license.

Get the jar file and put on good directory.

It is a good way ? or we must compile from source?

> - ask on legal discuss if this really is a problem or not
>
>>
>>
>>> Please remove the download part for now.
>>>
>>>> Added:
>>>>
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>> (with props)
>>>> Modified:
>>>>       jmeter/trunk/LICENSE
>>>>       jmeter/trunk/build.properties
>>>>       jmeter/trunk/build.xml
>>>>       jmeter/trunk/eclipse.classpath
>>>>       jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>>>>
>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>>
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>>
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>>
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>>>
>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>>       jmeter/trunk/xdocs/changes.xml
>>>>
>>>> Modified: jmeter/trunk/LICENSE
>>>> URL:
>>>> http://svn.apache.org/viewvc/jmeter/trunk/LICENSE?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>
>>>> ==============================================================================
>>>> --- jmeter/trunk/LICENSE [utf-8] (original)
>>>> +++ jmeter/trunk/LICENSE [utf-8] Fri Jul  5 20:39:54 2013
>>>> @@ -1565,7 +1565,7 @@ The jsoup code-base (include source and
>>>>    distributed under the open source MIT license as described below.
>>>>    The MIT License
>>>>
>>>> -Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>> +Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>>
>>>>    Permission is hereby granted, free of charge, to any person obtaining a
>>>>    copy of this software and associated documentation files (the
>>>> "Software"),
>>>> @@ -1926,7 +1926,7 @@ As a special exception, the copyright ho
>>>>    Open Icon Library from
>>>>    http://openiconlibrary.sourceforge.net/
>>>>
>>>> -Detailled Licenses information:
>>>> +Detailed Licenses information:
>>>>    http://openiconlibrary.sourceforge.net/LICENSES.html
>>>>
>>>>    ============ Packages used by Apache JMeter =========
>>>> @@ -2029,3 +2029,39 @@ UNLESS OTHERWISE MUTUALLY AGREED TO BY T
>>>>
>>>>
>>>> ################################################################################
>>>>
>>>> +RSyntaxTextArea License
>>>> +=========================================
>>>> +
>>>> +RSyntaxTextArea  from
>>>> +http://fifesoft.com/rsyntaxtextarea/
>>>> +
>>>> +Detailed License information:
>>>> +http://fifesoft.com/rsyntaxtextarea/RSyntaxTextArea.License.txt
>>>> +
>>>> +============== RSyntaxTextArea  License =============
>>>> +Copyright (c) 2012, Robert Futrell
>>>> +All rights reserved.
>>>> +
>>>> +Redistribution and use in source and binary forms, with or without
>>>> +modification, are permitted provided that the following conditions are
>>>> met:
>>>> +    * Redistributions of source code must retain the above copyright
>>>> +      notice, this list of conditions and the following disclaimer.
>>>> +    * Redistributions in binary form must reproduce the above copyright
>>>> +      notice, this list of conditions and the following disclaimer in
>>>> the
>>>> +      documentation and/or other materials provided with the
>>>> distribution.
>>>> +    * Neither the name of the author nor the names of its contributors
>>>> may
>>>> +      be used to endorse or promote products derived from this software
>>>> +      without specific prior written permission.
>>>> +
>>>> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
>>>> IS" AND
>>>> +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
>>>> IMPLIED
>>>> +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>>>> +DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
>>>> +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
>>>> DAMAGES
>>>> +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
>>>> SERVICES;
>>>> +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
>>>> AND
>>>> +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
>>>> TORT
>>>> +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
>>>> THIS
>>>> +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>>>> +
>>>>
>>>> +################################################################################
>>>> \ No newline at end of file
>>>>
>>>> Modified: jmeter/trunk/build.properties
>>>> URL:
>>>> http://svn.apache.org/viewvc/jmeter/trunk/build.properties?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>
>>>> ==============================================================================
>>>> --- jmeter/trunk/build.properties (original)
>>>> +++ jmeter/trunk/build.properties Fri Jul  5 20:39:54 2013
>>>> @@ -223,6 +223,11 @@ mongo-java-driver.jar
>>>> = mongo-java-d
>>>>    mongo-java-driver.loc                                  =
>>>> ${maven2.repo}/org/mongodb/mongo-java-driver/${mongo-java-driver.version}
>>>>    mongo-java-driver.md5                                  =
>>>> fed5e6d998256e285396b4e0d81537bd
>>>>
>>>> +rsyntaxtextarea.version     = 2.0.7
>>>> +rsyntaxtextarea.jar         =
>>>> rsyntaxtextarea-${rsyntaxtextarea.version}.jar
>>>> +rsyntaxtextarea.loc         =
>>>> ${maven2.repo}/com/fifesoft/rsyntaxtextarea/${rsyntaxtextarea.version}
>>>> +rsyntaxtextarea.md5         = 00ab3c8ce58bb8bb1dbb3ae506f06d30
>>> -1
>>>
>>> I don't think we can download from there until the license issue is sorted
>>> out.
>>>
>>>> +
>>>>    slf4j-api.version           = 1.7.5
>>>>    slf4j-api.jar               = slf4j-api-${slf4j-api.version}.jar
>>>>    slf4j-api.loc               =
>>>> ${maven2.repo}/org/slf4j/slf4j-api/${slf4j-api.version}
>>>>
>>>> Modified: jmeter/trunk/build.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/jmeter/trunk/build.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>
>>>> ==============================================================================
>>>> --- jmeter/trunk/build.xml (original)
>>>> +++ jmeter/trunk/build.xml Fri Jul  5 20:39:54 2013
>>>> @@ -387,6 +387,7 @@
>>>>        <include name="${lib.dir}/${junit.jar}"/>
>>>>        <include name="${lib.dir}/${logkit.jar}"/>
>>>>        <include name="${lib.dir}/${mongo-java-driver.jar}"/>
>>>> +    <include name="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>>>        <include name="${lib.dir}/${serializer.jar}"/>
>>>>        <include name="${lib.dir}/${slf4j-api.jar}"/>
>>>>        <include name="${lib.dir}/${soap.jar}"/>
>>>> @@ -454,6 +455,7 @@
>>>>        <pathelement location="${lib.dir}/${junit.jar}"/>
>>>>        <pathelement location="${lib.dir}/${logkit.jar}"/>
>>>>        <pathelement location="${lib.dir}/${mongo-java-driver.jar}"/>
>>>> +    <pathelement location="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>>>        <pathelement location="${lib.dir}/${serializer.jar}"/>
>>>>        <pathelement location="${lib.dir}/${slf4j-api.jar}"/>
>>>>        <pathelement location="${lib.dir}/${soap.jar}"/>
>>>> @@ -2879,6 +2881,7 @@ run JMeter unless all the JMeter jars ar
>>>>            <process_jarfile jarname="junit"/>
>>>>            <process_jarfile jarname="logkit"/>
>>>>            <process_jarfile jarname="mongo-java-driver"/>
>>>> +        <process_jarfile jarname="rsyntaxtextarea"/>
>>>>            <process_jarfile jarname="serializer"/>
>>>>           <process_jarfile jarname="slf4j-api"/>
>>>>            <process_jarfile jarname="soap"/>
>>>>
>>>> Modified: jmeter/trunk/eclipse.classpath
>>>> URL:
>>>> http://svn.apache.org/viewvc/jmeter/trunk/eclipse.classpath?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>
>>>> ==============================================================================
>>>> --- jmeter/trunk/eclipse.classpath (original)
>>>> +++ jmeter/trunk/eclipse.classpath Fri Jul  5 20:39:54 2013
>>>> @@ -76,6 +76,7 @@
>>>>           <classpathentry kind="lib" path="lib/logkit-2.0.jar"/>
>>>>           <classpathentry kind="lib" path="lib/mail-1.4.4.jar"/>
>>>>        <classpathentry kind="lib"
>>>> path="lib/mongo-java-driver-2.11.2.jar"/>
>>>> +    <classpathentry kind="lib" path="lib/rsyntaxtextarea-2.0.7.jar"/>
>>>>           <classpathentry kind="lib" path="lib/oro-2.0.8.jar"/>
>>>>           <classpathentry kind="lib" path="lib/serializer-2.7.1.jar"/>
>>>>        <classpathentry kind="lib" path="lib/slf4j-api-1.7.5.jar"/>
>>>>
>>>> Modified: jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>>>> URL:
>>>> http://svn.apache.org/viewvc/jmeter/trunk/res/maven/ApacheJMeter_parent.pom?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>
>>>> ==============================================================================
>>>> --- jmeter/trunk/res/maven/ApacheJMeter_parent.pom (original)
>>>> +++ jmeter/trunk/res/maven/ApacheJMeter_parent.pom Fri Jul  5 20:39:54
>>>> 2013
>>>> @@ -84,6 +84,7 @@ under the License.
>>>>          <junit.version>4.11</junit.version>
>>>>          <logkit.version>2.0</logkit.version>
>>>>          <mongo-java-driver.version>2.11.2</mongo-java-driver.version>
>>>> +      <rsyntaxtextarea.version>2.0.7</rsyntaxtextarea.version>
>>>>          <slf4j.version>1.7.5</slf4j.version>
>>>>          <soap.version>2.3.1</soap.version>
>>>>          <tidy.version>r938</tidy.version>
>>>> @@ -357,6 +358,11 @@ under the License.
>>>>            <version>${mongo-java-driver.version}</version>
>>>>          </dependency>
>>>>          <dependency>
>>>> +        <groupId>com.fifesoft</groupId>
>>>> +        <artifactId>rsyntaxtextarea</artifactId>
>>>> +        <version>${rsyntaxtextarea.version}</version>
>>>> +      </dependency>
>>>> +      <dependency>
>>>>            <groupId>org.slf4j</groupId>
>>>>            <artifactId>slf4j-api</artifactId>
>>>>            <version>${slf4j.version}</version>
>>>>
>>>> Modified:
>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>> (original)
>>>> +++
>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>> Fri Jul  5 20:39:54 2013
>>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>>    import javax.swing.JCheckBox;
>>>>    import javax.swing.JLabel;
>>>>    import javax.swing.JPanel;
>>>> -import javax.swing.JScrollPane;
>>>>    import javax.swing.JTextArea;
>>>>    import javax.swing.JTextField;
>>>>
>>>> @@ -32,6 +31,9 @@ import org.apache.jmeter.assertions.Bean
>>>>    import org.apache.jmeter.testelement.TestElement;
>>>>    import org.apache.jmeter.testelement.property.BooleanProperty;
>>>>    import org.apache.jmeter.util.JMeterUtils;
>>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>>
>>>>    public class BeanShellAssertionGui extends AbstractAssertionGui {
>>>>
>>>> @@ -43,7 +45,7 @@ public class BeanShellAssertionGui exten
>>>>
>>>>        private JTextField parameters;// parameters to pass to script file
>>>> (or script)
>>>>
>>>> -    private JTextArea scriptField;// script area
>>>> +    private RSyntaxTextArea scriptField; // script area
>>>>
>>>>        public BeanShellAssertionGui() {
>>>>            init();
>>>> @@ -139,8 +141,10 @@ public class BeanShellAssertionGui exten
>>>>        }
>>>>
>>>>        private JPanel createScriptPanel() {
>>>> -        scriptField = new JTextArea();
>>>> -        scriptField.setRows(4);
>>>> +        scriptField = new RSyntaxTextArea(20,20);
>>>> +
>>>> scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>>> +        scriptField.setCodeFoldingEnabled(true);
>>>> +        scriptField.setAntiAliasingEnabled(true);
>>>>            scriptField.setLineWrap(true);
>>>>            scriptField.setWrapStyleWord(true);
>>>>
>>>> @@ -149,7 +153,7 @@ public class BeanShellAssertionGui exten
>>>>
>>>>            JPanel panel = new JPanel(new BorderLayout());
>>>>            panel.add(label, BorderLayout.NORTH);
>>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>>> +        panel.add(new RTextScrollPane(scriptField),
>>>> BorderLayout.CENTER);
>>>>
>>>>            JTextArea explain = new
>>>> JTextArea(JMeterUtils.getResString("bsh_assertion_script_variables"));
>>>> //$NON-NLS-1$
>>>>            explain.setLineWrap(true);
>>>>
>>>> Modified:
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>> (original)
>>>> +++
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>> Fri Jul  5 20:39:54 2013
>>>> @@ -203,6 +203,8 @@ public class GenericTestBeanCustomizer e
>>>>
>>>>            // Obtain the propertyEditors:
>>>>            editors = new PropertyEditor[descriptors.length];
>>>> +        int scriptLanguageIndex = 0;
>>>> +        int textAreaEditorIndex = 0;
>>>>            for (int i = 0; i < descriptors.length; i++) { // Index is also
>>>> used for accessing editors array
>>>>                PropertyDescriptor descriptor = descriptors[i];
>>>>                String name = descriptor.getName();
>>>> @@ -218,7 +220,7 @@ public class GenericTestBeanCustomizer e
>>>>                PropertyEditor propertyEditor;
>>>>                Object guiType = descriptor.getValue(GUITYPE);
>>>>                if (guiType instanceof TypeEditor) {
>>>> -                propertyEditor = ((TypeEditor)
>>>> guiType).getInstance(descriptor);
>>>> +                propertyEditor = ((TypeEditor)
>>>> guiType).getInstance(descriptor);
>>>>                } else {
>>>>                    Class<?> editorClass =
>>>> descriptor.getPropertyEditorClass();
>>>>                    if (log.isDebugEnabled()) {
>>>> @@ -267,6 +269,10 @@ public class GenericTestBeanCustomizer e
>>>>                {
>>>>
>>>> ((TestBeanPropertyEditor)propertyEditor).setDescriptor(descriptor);
>>>>                }
>>>> +
>>>> +            if (propertyEditor instanceof TextAreaEditor) {
>>>> +                textAreaEditorIndex = i;
>>>> +            }
>>>>                if (propertyEditor.getCustomEditor() instanceof
>>>> JScrollPane) {
>>>>                    scrollerCount++;
>>>>                }
>>>> @@ -276,6 +282,17 @@ public class GenericTestBeanCustomizer e
>>>>                // Initialize the editor with the provided default value or
>>>> null:
>>>>                setEditorValue(i, descriptor.getValue(DEFAULT));
>>>>
>>>> +            if (name.equals("scriptLanguage")) {
>>>> +                scriptLanguageIndex = i;
>>>> +            }
>>>> +
>>>> +        }
>>>> +        // In case of BSF and JSR elements i want to add textAreaEditor
>>>> as a listener to scriptLanguage ComboBox.
>>>> +        String beanName = this.beanInfo.getBeanDescriptor().getName();
>>>> +        if (beanName.startsWith("BSF") || beanName.startsWith("JSR223"))
>>>> { // $NON-NLS-1$ $NON-NLS-2$
>>>> +            WrapperEditor we = (WrapperEditor)
>>>> editors[scriptLanguageIndex];
>>>> +            TextAreaEditor tae = (TextAreaEditor)
>>>> editors[textAreaEditorIndex];
>>>> +            we.addChangeListener(tae);
>>>>            }
>>>>
>>>>            // Obtain message formats:
>>>>
>>>> Modified:
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>> (original)
>>>> +++
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>> Fri Jul  5 20:39:54 2013
>>>> @@ -24,17 +24,23 @@ package org.apache.jmeter.testbeans.gui;
>>>>    import java.awt.Component;
>>>>    import java.awt.event.FocusEvent;
>>>>    import java.awt.event.FocusListener;
>>>> +import java.beans.PropertyChangeEvent;
>>>> +import java.beans.PropertyChangeListener;
>>>>    import java.beans.PropertyEditorSupport;
>>>> +import java.util.Properties;
>>>>
>>>> -import javax.swing.JScrollPane;
>>>> -import javax.swing.JTextArea;
>>>> -import javax.swing.ScrollPaneConstants;
>>>> +import org.apache.jmeter.util.JMeterUtils;
>>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>>
>>>> -public class TextAreaEditor extends PropertyEditorSupport implements
>>>> FocusListener {
>>>> +public class TextAreaEditor extends PropertyEditorSupport implements
>>>> FocusListener, PropertyChangeListener {
>>>>
>>>> -    private JTextArea textUI;
>>>> +    private RSyntaxTextArea textUI;
>>>>
>>>> -    private JScrollPane scroller;
>>>> +    private RTextScrollPane scroller;
>>>> +
>>>> +    private Properties languageProperties;
>>>>
>>>>        /** {@inheritDoc} */
>>>>        @Override
>>>> @@ -48,12 +54,17 @@ public class TextAreaEditor extends Prop
>>>>        }
>>>>
>>>>        private final void init() {// called from ctor, so must not be
>>>> overridable
>>>> -        textUI = new JTextArea();
>>>> +        textUI = new RSyntaxTextArea(20, 20);
>>>> +        textUI.discardAllEdits();
>>>> +        textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>>> +        textUI.setCodeFoldingEnabled(true);
>>>> +        textUI.setAntiAliasingEnabled(true);
>>>>            textUI.addFocusListener(this);
>>>>            textUI.setWrapStyleWord(true);
>>>>            textUI.setLineWrap(true);
>>>> -        scroller = new JScrollPane(textUI,
>>>> ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
>>>> -                ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
>>>> +        scroller = new RTextScrollPane(textUI);
>>>> +        scroller.setFoldIndicatorEnabled(true);
>>>> +        languageProperties =
>>>> JMeterUtils.loadProperties("org/apache/jmeter/testbeans/gui/textarea.properties");
>>>> //$NON-NLS-1$
>>>>        }
>>>>
>>>>        /**
>>>> @@ -112,4 +123,19 @@ public class TextAreaEditor extends Prop
>>>>        public boolean supportsCustomEditor() {
>>>>            return true;
>>>>        }
>>>> +
>>>> +    @Override
>>>> +    public void propertyChange(PropertyChangeEvent evt) {
>>>> +        Object source = evt.getSource();
>>>> +        if (source instanceof ComboStringEditor && source != null) {
>>>> +            ComboStringEditor cse = (ComboStringEditor) source;
>>>> +            String lang = cse.getAsText().toLowerCase();
>>>> +            if (languageProperties.containsKey(lang)) {
>>>> +
>>>> textUI.setSyntaxEditingStyle(languageProperties.getProperty(lang));
>>>> +            } else {
>>>> +
>>>> textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_NONE);
>>>> +            }
>>>> +
>>>> +        }
>>>> +    }
>>>>    }
>>>>
>>>> Modified:
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>>> (original)
>>>> +++
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java Fri
>>>> Jul  5 20:39:54 2013
>>>> @@ -445,4 +445,8 @@ class WrapperEditor extends PropertyEdit
>>>>                guiEditor.setAsText(lastValidValue);
>>>>            }
>>>>        }
>>>> +
>>>> +    public void addChangeListener(PropertyChangeListener listener) {
>>>> +        guiEditor.addPropertyChangeListener(listener);
>>>> +    }
>>>>    }
>>>> \ No newline at end of file
>>>>
>>>> Added:
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>> URL:
>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties?rev=1500124&view=auto
>>>>
>>>> ==============================================================================
>>>> ---
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>> (added)
>>>> +++
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>> Fri Jul  5 20:39:54 2013
>>>> @@ -0,0 +1,52 @@
>>>> +#
>>>> +# Licensed to the Apache Software Foundation (ASF) under one or more
>>>> +# contributor license agreements.  See the NOTICE file distributed with
>>>> +# this work for additional information regarding copyright ownership.
>>>> +# The ASF licenses this file to You 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.
>>>> +#
>>>> +
>>>> +javascript = text/javascript
>>>> +js = text/javascript
>>>> +jacl = text/tcl
>>>> +netrexx = text/plain
>>>> +java = text/java
>>>> +javaclass = text/java
>>>> +bml = text/xml
>>>> +vbscript = text/vb
>>>> +jscript = text/javascript
>>>> +perlscript = text/perl
>>>> +perl = text/perl
>>>> +jpython = text/python
>>>> +jython = text/python
>>>> +lotusscript = text/vb
>>>> +xslt = text/mxml
>>>> +pnuts = text/java
>>>> +beanbasic = text/java
>>>> +beanshell = text/java
>>>> +bsh = text/unix
>>>> +ruby = text/ruby
>>>> +judoscript = text/plain
>>>> +groovy = text/groovy
>>>> +objectscript = text/javascript
>>>> +prolog = text/plain
>>>> +rexx = text/plain
>>>> +applescript = text/plain
>>>> +ecmascript = text/actionscript
>>>> +jexl = text/java
>>>> +jexl2 = text/java
>>>> +rhino = text/javascript
>>>> +edit = text/unix
>>>> +lua = text/lua
>>>> +php = text/php
>>>> +lisp = text/lisp
>>>> +sql = text/sql
>>>> \ No newline at end of file
>>>>
>>>> Propchange:
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>
>>>> ------------------------------------------------------------------------------
>>>>       svn:eol-style = native
>>>>
>>>> Propchange:
>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>>
>>>> ------------------------------------------------------------------------------
>>>>       svn:mime-type = text/plain
>>>>
>>>> Modified:
>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>
>>>> ==============================================================================
>>>> ---
>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>> (original)
>>>> +++
>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>> Fri Jul  5 20:39:54 2013
>>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>>    import javax.swing.JCheckBox;
>>>>    import javax.swing.JLabel;
>>>>    import javax.swing.JPanel;
>>>> -import javax.swing.JScrollPane;
>>>>    import javax.swing.JTextArea;
>>>>    import javax.swing.JTextField;
>>>>
>>>> @@ -33,6 +32,9 @@ import org.apache.jmeter.samplers.gui.Ab
>>>>    import org.apache.jmeter.testelement.TestElement;
>>>>    import org.apache.jmeter.testelement.property.BooleanProperty;
>>>>    import org.apache.jmeter.util.JMeterUtils;
>>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>>
>>>>    public class BeanShellSamplerGui extends AbstractSamplerGui {
>>>>
>>>> @@ -44,7 +46,7 @@ public class BeanShellSamplerGui extends
>>>>
>>>>        private JTextField parameters;// parameters to pass to script file
>>>> (or script)
>>>>
>>>> -    private JTextArea scriptField;// script area
>>>> +    private RSyntaxTextArea scriptField;// script area
>>>>
>>>>        public BeanShellSamplerGui() {
>>>>            init();
>>>> @@ -153,8 +155,9 @@ public class BeanShellSamplerGui extends
>>>>        }
>>>>
>>>>        private JPanel createScriptPanel() {
>>>> -        scriptField = new JTextArea();
>>>> -        scriptField.setRows(4);
>>>> +        scriptField = new RSyntaxTextArea(20, 20);
>>>> +
>>>> scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>>> +        scriptField.setCodeFoldingEnabled(true);
>>>>            scriptField.setLineWrap(true);
>>>>            scriptField.setWrapStyleWord(true);
>>>>
>>>> @@ -163,7 +166,7 @@ public class BeanShellSamplerGui extends
>>>>
>>>>            JPanel panel = new JPanel(new BorderLayout());
>>>>            panel.add(label, BorderLayout.NORTH);
>>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>>> +        panel.add(new RTextScrollPane(scriptField),
>>>> BorderLayout.CENTER);
>>>>
>>>>            JTextArea explain = new
>>>> JTextArea(JMeterUtils.getResString("bsh_script_variables")); //$NON-NLS-1$
>>>>            explain.setLineWrap(true);
>>>>
>>>> Modified: jmeter/trunk/xdocs/changes.xml
>>>> URL:
>>>> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>>
>>>> ==============================================================================
>>>> --- jmeter/trunk/xdocs/changes.xml (original)
>>>> +++ jmeter/trunk/xdocs/changes.xml Fri Jul  5 20:39:54 2013
>>>> @@ -224,6 +224,7 @@ Transaction Controller now sets Response
>>>>    <li><bugzilla>54990</bugzilla> - Download large files avoiding
>>>> outOfMemory</li>
>>>>    <li><bugzilla>55085</bugzilla> - UX Improvement : Ability to create New
>>>> Test Plan from Templates</li>
>>>>    <li><bugzilla>55172</bugzilla> - Provide plugins a way to add Top Menu
>>>> and menu items</li>
>>>> +<li><bugzilla>55202</bugzilla> - Add syntax color for scripts elements
>>>> (BeanShell, BSF, and JSR223) with RSyntaxTextArea</li>
>>>>    </ul>
>>>>
>>>>    <h2>Non-functional changes</h2>
>>>>
>>>>
> .
>


Re: svn commit: r1500124 - in /jmeter/trunk: ./ res/maven/ src/components/org/apache/jmeter/assertions/gui/ src/core/org/apache/jmeter/testbeans/gui/ src/protocol/java/org/apache/jmeter/protocol/java/control/gui/ xdocs/

Posted by sebb <se...@gmail.com>.
On 5 July 2013 22:36, Milamber <mi...@apache.org> wrote:
>
> Le 05/07/2013 21:55, sebb a ecrit :
>>
>> On 5 July 2013 21:39,  <mi...@apache.org> wrote:
>>
>>> Author: milamber
>>> Date: Fri Jul  5 20:39:54 2013
>>> New Revision: 1500124
>>>
>>> URL: http://svn.apache.org/r1500124
>>> Log:
>>> Bug 55202 - Proposal to add RSyntaxTextArea for BeanShell, BSF, and
>>> JSR223 elements
>>> Bugzilla Id: 55202
>>
>> -1
>>
>> I think the jar needs to be obtained somewhere other than Maven
>> Central, as the pom license there says LGPL.
>
>
> Not good...
>
> I have sent an email to Filesolft (author of rsyntaxtextarea) to point the
> difference between their website and the pom file on Maven website, and ask
> the good license.

That would be the best solution - having an incorrect license on Maven
is not good.

However we do have other options:
- download the example archive and extract the jar:
http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea-demo/2.0.7/rsyntaxtextarea_demo_2.0.7.zip/download
- download the source to a temporary folder and compile it
- ask on legal discuss if this really is a problem or not

>
>
>
>>
>> Please remove the download part for now.
>>
>>> Added:
>>>
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>> (with props)
>>> Modified:
>>>      jmeter/trunk/LICENSE
>>>      jmeter/trunk/build.properties
>>>      jmeter/trunk/build.xml
>>>      jmeter/trunk/eclipse.classpath
>>>      jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>>>
>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>>
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>>
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>>
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>>
>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>>      jmeter/trunk/xdocs/changes.xml
>>>
>>> Modified: jmeter/trunk/LICENSE
>>> URL:
>>> http://svn.apache.org/viewvc/jmeter/trunk/LICENSE?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>
>>> ==============================================================================
>>> --- jmeter/trunk/LICENSE [utf-8] (original)
>>> +++ jmeter/trunk/LICENSE [utf-8] Fri Jul  5 20:39:54 2013
>>> @@ -1565,7 +1565,7 @@ The jsoup code-base (include source and
>>>   distributed under the open source MIT license as described below.
>>>   The MIT License
>>>
>>> -Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>> +Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>>
>>>   Permission is hereby granted, free of charge, to any person obtaining a
>>>   copy of this software and associated documentation files (the
>>> "Software"),
>>> @@ -1926,7 +1926,7 @@ As a special exception, the copyright ho
>>>   Open Icon Library from
>>>   http://openiconlibrary.sourceforge.net/
>>>
>>> -Detailled Licenses information:
>>> +Detailed Licenses information:
>>>   http://openiconlibrary.sourceforge.net/LICENSES.html
>>>
>>>   ============ Packages used by Apache JMeter =========
>>> @@ -2029,3 +2029,39 @@ UNLESS OTHERWISE MUTUALLY AGREED TO BY T
>>>
>>>
>>> ################################################################################
>>>
>>> +RSyntaxTextArea License
>>> +=========================================
>>> +
>>> +RSyntaxTextArea  from
>>> +http://fifesoft.com/rsyntaxtextarea/
>>> +
>>> +Detailed License information:
>>> +http://fifesoft.com/rsyntaxtextarea/RSyntaxTextArea.License.txt
>>> +
>>> +============== RSyntaxTextArea  License =============
>>> +Copyright (c) 2012, Robert Futrell
>>> +All rights reserved.
>>> +
>>> +Redistribution and use in source and binary forms, with or without
>>> +modification, are permitted provided that the following conditions are
>>> met:
>>> +    * Redistributions of source code must retain the above copyright
>>> +      notice, this list of conditions and the following disclaimer.
>>> +    * Redistributions in binary form must reproduce the above copyright
>>> +      notice, this list of conditions and the following disclaimer in
>>> the
>>> +      documentation and/or other materials provided with the
>>> distribution.
>>> +    * Neither the name of the author nor the names of its contributors
>>> may
>>> +      be used to endorse or promote products derived from this software
>>> +      without specific prior written permission.
>>> +
>>> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
>>> IS" AND
>>> +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
>>> IMPLIED
>>> +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>>> +DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
>>> +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
>>> DAMAGES
>>> +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
>>> SERVICES;
>>> +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
>>> AND
>>> +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
>>> TORT
>>> +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
>>> THIS
>>> +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>>> +
>>>
>>> +################################################################################
>>> \ No newline at end of file
>>>
>>> Modified: jmeter/trunk/build.properties
>>> URL:
>>> http://svn.apache.org/viewvc/jmeter/trunk/build.properties?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>
>>> ==============================================================================
>>> --- jmeter/trunk/build.properties (original)
>>> +++ jmeter/trunk/build.properties Fri Jul  5 20:39:54 2013
>>> @@ -223,6 +223,11 @@ mongo-java-driver.jar
>>> = mongo-java-d
>>>   mongo-java-driver.loc                                  =
>>> ${maven2.repo}/org/mongodb/mongo-java-driver/${mongo-java-driver.version}
>>>   mongo-java-driver.md5                                  =
>>> fed5e6d998256e285396b4e0d81537bd
>>>
>>> +rsyntaxtextarea.version     = 2.0.7
>>> +rsyntaxtextarea.jar         =
>>> rsyntaxtextarea-${rsyntaxtextarea.version}.jar
>>> +rsyntaxtextarea.loc         =
>>> ${maven2.repo}/com/fifesoft/rsyntaxtextarea/${rsyntaxtextarea.version}
>>> +rsyntaxtextarea.md5         = 00ab3c8ce58bb8bb1dbb3ae506f06d30
>>
>> -1
>>
>> I don't think we can download from there until the license issue is sorted
>> out.
>>
>>> +
>>>   slf4j-api.version           = 1.7.5
>>>   slf4j-api.jar               = slf4j-api-${slf4j-api.version}.jar
>>>   slf4j-api.loc               =
>>> ${maven2.repo}/org/slf4j/slf4j-api/${slf4j-api.version}
>>>
>>> Modified: jmeter/trunk/build.xml
>>> URL:
>>> http://svn.apache.org/viewvc/jmeter/trunk/build.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>
>>> ==============================================================================
>>> --- jmeter/trunk/build.xml (original)
>>> +++ jmeter/trunk/build.xml Fri Jul  5 20:39:54 2013
>>> @@ -387,6 +387,7 @@
>>>       <include name="${lib.dir}/${junit.jar}"/>
>>>       <include name="${lib.dir}/${logkit.jar}"/>
>>>       <include name="${lib.dir}/${mongo-java-driver.jar}"/>
>>> +    <include name="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>>       <include name="${lib.dir}/${serializer.jar}"/>
>>>       <include name="${lib.dir}/${slf4j-api.jar}"/>
>>>       <include name="${lib.dir}/${soap.jar}"/>
>>> @@ -454,6 +455,7 @@
>>>       <pathelement location="${lib.dir}/${junit.jar}"/>
>>>       <pathelement location="${lib.dir}/${logkit.jar}"/>
>>>       <pathelement location="${lib.dir}/${mongo-java-driver.jar}"/>
>>> +    <pathelement location="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>>       <pathelement location="${lib.dir}/${serializer.jar}"/>
>>>       <pathelement location="${lib.dir}/${slf4j-api.jar}"/>
>>>       <pathelement location="${lib.dir}/${soap.jar}"/>
>>> @@ -2879,6 +2881,7 @@ run JMeter unless all the JMeter jars ar
>>>           <process_jarfile jarname="junit"/>
>>>           <process_jarfile jarname="logkit"/>
>>>           <process_jarfile jarname="mongo-java-driver"/>
>>> +        <process_jarfile jarname="rsyntaxtextarea"/>
>>>           <process_jarfile jarname="serializer"/>
>>>          <process_jarfile jarname="slf4j-api"/>
>>>           <process_jarfile jarname="soap"/>
>>>
>>> Modified: jmeter/trunk/eclipse.classpath
>>> URL:
>>> http://svn.apache.org/viewvc/jmeter/trunk/eclipse.classpath?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>
>>> ==============================================================================
>>> --- jmeter/trunk/eclipse.classpath (original)
>>> +++ jmeter/trunk/eclipse.classpath Fri Jul  5 20:39:54 2013
>>> @@ -76,6 +76,7 @@
>>>          <classpathentry kind="lib" path="lib/logkit-2.0.jar"/>
>>>          <classpathentry kind="lib" path="lib/mail-1.4.4.jar"/>
>>>       <classpathentry kind="lib"
>>> path="lib/mongo-java-driver-2.11.2.jar"/>
>>> +    <classpathentry kind="lib" path="lib/rsyntaxtextarea-2.0.7.jar"/>
>>>          <classpathentry kind="lib" path="lib/oro-2.0.8.jar"/>
>>>          <classpathentry kind="lib" path="lib/serializer-2.7.1.jar"/>
>>>       <classpathentry kind="lib" path="lib/slf4j-api-1.7.5.jar"/>
>>>
>>> Modified: jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>>> URL:
>>> http://svn.apache.org/viewvc/jmeter/trunk/res/maven/ApacheJMeter_parent.pom?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>
>>> ==============================================================================
>>> --- jmeter/trunk/res/maven/ApacheJMeter_parent.pom (original)
>>> +++ jmeter/trunk/res/maven/ApacheJMeter_parent.pom Fri Jul  5 20:39:54
>>> 2013
>>> @@ -84,6 +84,7 @@ under the License.
>>>         <junit.version>4.11</junit.version>
>>>         <logkit.version>2.0</logkit.version>
>>>         <mongo-java-driver.version>2.11.2</mongo-java-driver.version>
>>> +      <rsyntaxtextarea.version>2.0.7</rsyntaxtextarea.version>
>>>         <slf4j.version>1.7.5</slf4j.version>
>>>         <soap.version>2.3.1</soap.version>
>>>         <tidy.version>r938</tidy.version>
>>> @@ -357,6 +358,11 @@ under the License.
>>>           <version>${mongo-java-driver.version}</version>
>>>         </dependency>
>>>         <dependency>
>>> +        <groupId>com.fifesoft</groupId>
>>> +        <artifactId>rsyntaxtextarea</artifactId>
>>> +        <version>${rsyntaxtextarea.version}</version>
>>> +      </dependency>
>>> +      <dependency>
>>>           <groupId>org.slf4j</groupId>
>>>           <artifactId>slf4j-api</artifactId>
>>>           <version>${slf4j.version}</version>
>>>
>>> Modified:
>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>> URL:
>>> http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>
>>> ==============================================================================
>>> ---
>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>> (original)
>>> +++
>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>> Fri Jul  5 20:39:54 2013
>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>   import javax.swing.JCheckBox;
>>>   import javax.swing.JLabel;
>>>   import javax.swing.JPanel;
>>> -import javax.swing.JScrollPane;
>>>   import javax.swing.JTextArea;
>>>   import javax.swing.JTextField;
>>>
>>> @@ -32,6 +31,9 @@ import org.apache.jmeter.assertions.Bean
>>>   import org.apache.jmeter.testelement.TestElement;
>>>   import org.apache.jmeter.testelement.property.BooleanProperty;
>>>   import org.apache.jmeter.util.JMeterUtils;
>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>
>>>   public class BeanShellAssertionGui extends AbstractAssertionGui {
>>>
>>> @@ -43,7 +45,7 @@ public class BeanShellAssertionGui exten
>>>
>>>       private JTextField parameters;// parameters to pass to script file
>>> (or script)
>>>
>>> -    private JTextArea scriptField;// script area
>>> +    private RSyntaxTextArea scriptField; // script area
>>>
>>>       public BeanShellAssertionGui() {
>>>           init();
>>> @@ -139,8 +141,10 @@ public class BeanShellAssertionGui exten
>>>       }
>>>
>>>       private JPanel createScriptPanel() {
>>> -        scriptField = new JTextArea();
>>> -        scriptField.setRows(4);
>>> +        scriptField = new RSyntaxTextArea(20,20);
>>> +
>>> scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>> +        scriptField.setCodeFoldingEnabled(true);
>>> +        scriptField.setAntiAliasingEnabled(true);
>>>           scriptField.setLineWrap(true);
>>>           scriptField.setWrapStyleWord(true);
>>>
>>> @@ -149,7 +153,7 @@ public class BeanShellAssertionGui exten
>>>
>>>           JPanel panel = new JPanel(new BorderLayout());
>>>           panel.add(label, BorderLayout.NORTH);
>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>> +        panel.add(new RTextScrollPane(scriptField),
>>> BorderLayout.CENTER);
>>>
>>>           JTextArea explain = new
>>> JTextArea(JMeterUtils.getResString("bsh_assertion_script_variables"));
>>> //$NON-NLS-1$
>>>           explain.setLineWrap(true);
>>>
>>> Modified:
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>> URL:
>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>
>>> ==============================================================================
>>> ---
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>> (original)
>>> +++
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>> Fri Jul  5 20:39:54 2013
>>> @@ -203,6 +203,8 @@ public class GenericTestBeanCustomizer e
>>>
>>>           // Obtain the propertyEditors:
>>>           editors = new PropertyEditor[descriptors.length];
>>> +        int scriptLanguageIndex = 0;
>>> +        int textAreaEditorIndex = 0;
>>>           for (int i = 0; i < descriptors.length; i++) { // Index is also
>>> used for accessing editors array
>>>               PropertyDescriptor descriptor = descriptors[i];
>>>               String name = descriptor.getName();
>>> @@ -218,7 +220,7 @@ public class GenericTestBeanCustomizer e
>>>               PropertyEditor propertyEditor;
>>>               Object guiType = descriptor.getValue(GUITYPE);
>>>               if (guiType instanceof TypeEditor) {
>>> -                propertyEditor = ((TypeEditor)
>>> guiType).getInstance(descriptor);
>>> +                propertyEditor = ((TypeEditor)
>>> guiType).getInstance(descriptor);
>>>               } else {
>>>                   Class<?> editorClass =
>>> descriptor.getPropertyEditorClass();
>>>                   if (log.isDebugEnabled()) {
>>> @@ -267,6 +269,10 @@ public class GenericTestBeanCustomizer e
>>>               {
>>>
>>> ((TestBeanPropertyEditor)propertyEditor).setDescriptor(descriptor);
>>>               }
>>> +
>>> +            if (propertyEditor instanceof TextAreaEditor) {
>>> +                textAreaEditorIndex = i;
>>> +            }
>>>               if (propertyEditor.getCustomEditor() instanceof
>>> JScrollPane) {
>>>                   scrollerCount++;
>>>               }
>>> @@ -276,6 +282,17 @@ public class GenericTestBeanCustomizer e
>>>               // Initialize the editor with the provided default value or
>>> null:
>>>               setEditorValue(i, descriptor.getValue(DEFAULT));
>>>
>>> +            if (name.equals("scriptLanguage")) {
>>> +                scriptLanguageIndex = i;
>>> +            }
>>> +
>>> +        }
>>> +        // In case of BSF and JSR elements i want to add textAreaEditor
>>> as a listener to scriptLanguage ComboBox.
>>> +        String beanName = this.beanInfo.getBeanDescriptor().getName();
>>> +        if (beanName.startsWith("BSF") || beanName.startsWith("JSR223"))
>>> { // $NON-NLS-1$ $NON-NLS-2$
>>> +            WrapperEditor we = (WrapperEditor)
>>> editors[scriptLanguageIndex];
>>> +            TextAreaEditor tae = (TextAreaEditor)
>>> editors[textAreaEditorIndex];
>>> +            we.addChangeListener(tae);
>>>           }
>>>
>>>           // Obtain message formats:
>>>
>>> Modified:
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>> URL:
>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>
>>> ==============================================================================
>>> ---
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>> (original)
>>> +++
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>> Fri Jul  5 20:39:54 2013
>>> @@ -24,17 +24,23 @@ package org.apache.jmeter.testbeans.gui;
>>>   import java.awt.Component;
>>>   import java.awt.event.FocusEvent;
>>>   import java.awt.event.FocusListener;
>>> +import java.beans.PropertyChangeEvent;
>>> +import java.beans.PropertyChangeListener;
>>>   import java.beans.PropertyEditorSupport;
>>> +import java.util.Properties;
>>>
>>> -import javax.swing.JScrollPane;
>>> -import javax.swing.JTextArea;
>>> -import javax.swing.ScrollPaneConstants;
>>> +import org.apache.jmeter.util.JMeterUtils;
>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>
>>> -public class TextAreaEditor extends PropertyEditorSupport implements
>>> FocusListener {
>>> +public class TextAreaEditor extends PropertyEditorSupport implements
>>> FocusListener, PropertyChangeListener {
>>>
>>> -    private JTextArea textUI;
>>> +    private RSyntaxTextArea textUI;
>>>
>>> -    private JScrollPane scroller;
>>> +    private RTextScrollPane scroller;
>>> +
>>> +    private Properties languageProperties;
>>>
>>>       /** {@inheritDoc} */
>>>       @Override
>>> @@ -48,12 +54,17 @@ public class TextAreaEditor extends Prop
>>>       }
>>>
>>>       private final void init() {// called from ctor, so must not be
>>> overridable
>>> -        textUI = new JTextArea();
>>> +        textUI = new RSyntaxTextArea(20, 20);
>>> +        textUI.discardAllEdits();
>>> +        textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>> +        textUI.setCodeFoldingEnabled(true);
>>> +        textUI.setAntiAliasingEnabled(true);
>>>           textUI.addFocusListener(this);
>>>           textUI.setWrapStyleWord(true);
>>>           textUI.setLineWrap(true);
>>> -        scroller = new JScrollPane(textUI,
>>> ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
>>> -                ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
>>> +        scroller = new RTextScrollPane(textUI);
>>> +        scroller.setFoldIndicatorEnabled(true);
>>> +        languageProperties =
>>> JMeterUtils.loadProperties("org/apache/jmeter/testbeans/gui/textarea.properties");
>>> //$NON-NLS-1$
>>>       }
>>>
>>>       /**
>>> @@ -112,4 +123,19 @@ public class TextAreaEditor extends Prop
>>>       public boolean supportsCustomEditor() {
>>>           return true;
>>>       }
>>> +
>>> +    @Override
>>> +    public void propertyChange(PropertyChangeEvent evt) {
>>> +        Object source = evt.getSource();
>>> +        if (source instanceof ComboStringEditor && source != null) {
>>> +            ComboStringEditor cse = (ComboStringEditor) source;
>>> +            String lang = cse.getAsText().toLowerCase();
>>> +            if (languageProperties.containsKey(lang)) {
>>> +
>>> textUI.setSyntaxEditingStyle(languageProperties.getProperty(lang));
>>> +            } else {
>>> +
>>> textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_NONE);
>>> +            }
>>> +
>>> +        }
>>> +    }
>>>   }
>>>
>>> Modified:
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>> URL:
>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>
>>> ==============================================================================
>>> ---
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>> (original)
>>> +++
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java Fri
>>> Jul  5 20:39:54 2013
>>> @@ -445,4 +445,8 @@ class WrapperEditor extends PropertyEdit
>>>               guiEditor.setAsText(lastValidValue);
>>>           }
>>>       }
>>> +
>>> +    public void addChangeListener(PropertyChangeListener listener) {
>>> +        guiEditor.addPropertyChangeListener(listener);
>>> +    }
>>>   }
>>> \ No newline at end of file
>>>
>>> Added:
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>> URL:
>>> http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties?rev=1500124&view=auto
>>>
>>> ==============================================================================
>>> ---
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>> (added)
>>> +++
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>> Fri Jul  5 20:39:54 2013
>>> @@ -0,0 +1,52 @@
>>> +#
>>> +# Licensed to the Apache Software Foundation (ASF) under one or more
>>> +# contributor license agreements.  See the NOTICE file distributed with
>>> +# this work for additional information regarding copyright ownership.
>>> +# The ASF licenses this file to You 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.
>>> +#
>>> +
>>> +javascript = text/javascript
>>> +js = text/javascript
>>> +jacl = text/tcl
>>> +netrexx = text/plain
>>> +java = text/java
>>> +javaclass = text/java
>>> +bml = text/xml
>>> +vbscript = text/vb
>>> +jscript = text/javascript
>>> +perlscript = text/perl
>>> +perl = text/perl
>>> +jpython = text/python
>>> +jython = text/python
>>> +lotusscript = text/vb
>>> +xslt = text/mxml
>>> +pnuts = text/java
>>> +beanbasic = text/java
>>> +beanshell = text/java
>>> +bsh = text/unix
>>> +ruby = text/ruby
>>> +judoscript = text/plain
>>> +groovy = text/groovy
>>> +objectscript = text/javascript
>>> +prolog = text/plain
>>> +rexx = text/plain
>>> +applescript = text/plain
>>> +ecmascript = text/actionscript
>>> +jexl = text/java
>>> +jexl2 = text/java
>>> +rhino = text/javascript
>>> +edit = text/unix
>>> +lua = text/lua
>>> +php = text/php
>>> +lisp = text/lisp
>>> +sql = text/sql
>>> \ No newline at end of file
>>>
>>> Propchange:
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>
>>> ------------------------------------------------------------------------------
>>>      svn:eol-style = native
>>>
>>> Propchange:
>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>>>
>>> ------------------------------------------------------------------------------
>>>      svn:mime-type = text/plain
>>>
>>> Modified:
>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>> URL:
>>> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>
>>> ==============================================================================
>>> ---
>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>> (original)
>>> +++
>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>> Fri Jul  5 20:39:54 2013
>>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>>   import javax.swing.JCheckBox;
>>>   import javax.swing.JLabel;
>>>   import javax.swing.JPanel;
>>> -import javax.swing.JScrollPane;
>>>   import javax.swing.JTextArea;
>>>   import javax.swing.JTextField;
>>>
>>> @@ -33,6 +32,9 @@ import org.apache.jmeter.samplers.gui.Ab
>>>   import org.apache.jmeter.testelement.TestElement;
>>>   import org.apache.jmeter.testelement.property.BooleanProperty;
>>>   import org.apache.jmeter.util.JMeterUtils;
>>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>>
>>>   public class BeanShellSamplerGui extends AbstractSamplerGui {
>>>
>>> @@ -44,7 +46,7 @@ public class BeanShellSamplerGui extends
>>>
>>>       private JTextField parameters;// parameters to pass to script file
>>> (or script)
>>>
>>> -    private JTextArea scriptField;// script area
>>> +    private RSyntaxTextArea scriptField;// script area
>>>
>>>       public BeanShellSamplerGui() {
>>>           init();
>>> @@ -153,8 +155,9 @@ public class BeanShellSamplerGui extends
>>>       }
>>>
>>>       private JPanel createScriptPanel() {
>>> -        scriptField = new JTextArea();
>>> -        scriptField.setRows(4);
>>> +        scriptField = new RSyntaxTextArea(20, 20);
>>> +
>>> scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>>> +        scriptField.setCodeFoldingEnabled(true);
>>>           scriptField.setLineWrap(true);
>>>           scriptField.setWrapStyleWord(true);
>>>
>>> @@ -163,7 +166,7 @@ public class BeanShellSamplerGui extends
>>>
>>>           JPanel panel = new JPanel(new BorderLayout());
>>>           panel.add(label, BorderLayout.NORTH);
>>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>>> +        panel.add(new RTextScrollPane(scriptField),
>>> BorderLayout.CENTER);
>>>
>>>           JTextArea explain = new
>>> JTextArea(JMeterUtils.getResString("bsh_script_variables")); //$NON-NLS-1$
>>>           explain.setLineWrap(true);
>>>
>>> Modified: jmeter/trunk/xdocs/changes.xml
>>> URL:
>>> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>>>
>>> ==============================================================================
>>> --- jmeter/trunk/xdocs/changes.xml (original)
>>> +++ jmeter/trunk/xdocs/changes.xml Fri Jul  5 20:39:54 2013
>>> @@ -224,6 +224,7 @@ Transaction Controller now sets Response
>>>   <li><bugzilla>54990</bugzilla> - Download large files avoiding
>>> outOfMemory</li>
>>>   <li><bugzilla>55085</bugzilla> - UX Improvement : Ability to create New
>>> Test Plan from Templates</li>
>>>   <li><bugzilla>55172</bugzilla> - Provide plugins a way to add Top Menu
>>> and menu items</li>
>>> +<li><bugzilla>55202</bugzilla> - Add syntax color for scripts elements
>>> (BeanShell, BSF, and JSR223) with RSyntaxTextArea</li>
>>>   </ul>
>>>
>>>   <h2>Non-functional changes</h2>
>>>
>>>
>

Re: svn commit: r1500124 - in /jmeter/trunk: ./ res/maven/ src/components/org/apache/jmeter/assertions/gui/ src/core/org/apache/jmeter/testbeans/gui/ src/protocol/java/org/apache/jmeter/protocol/java/control/gui/ xdocs/

Posted by Milamber <mi...@apache.org>.
Le 05/07/2013 21:55, sebb a ecrit :
> On 5 July 2013 21:39,  <mi...@apache.org> wrote:
>> Author: milamber
>> Date: Fri Jul  5 20:39:54 2013
>> New Revision: 1500124
>>
>> URL: http://svn.apache.org/r1500124
>> Log:
>> Bug 55202 - Proposal to add RSyntaxTextArea for BeanShell, BSF, and JSR223 elements
>> Bugzilla Id: 55202
> -1
>
> I think the jar needs to be obtained somewhere other than Maven
> Central, as the pom license there says LGPL.

Not good...

I have sent an email to Filesolft (author of rsyntaxtextarea) to point 
the difference between their website and the pom file on Maven website, 
and ask the good license.



>
> Please remove the download part for now.
>
>> Added:
>>      jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties   (with props)
>> Modified:
>>      jmeter/trunk/LICENSE
>>      jmeter/trunk/build.properties
>>      jmeter/trunk/build.xml
>>      jmeter/trunk/eclipse.classpath
>>      jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>>      jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>>      jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>>      jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>>      jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>>      jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>>      jmeter/trunk/xdocs/changes.xml
>>
>> Modified: jmeter/trunk/LICENSE
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/LICENSE?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/LICENSE [utf-8] (original)
>> +++ jmeter/trunk/LICENSE [utf-8] Fri Jul  5 20:39:54 2013
>> @@ -1565,7 +1565,7 @@ The jsoup code-base (include source and
>>   distributed under the open source MIT license as described below.
>>   The MIT License
>>
>> -Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>> +Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net)
>>
>>   Permission is hereby granted, free of charge, to any person obtaining a
>>   copy of this software and associated documentation files (the "Software"),
>> @@ -1926,7 +1926,7 @@ As a special exception, the copyright ho
>>   Open Icon Library from
>>   http://openiconlibrary.sourceforge.net/
>>
>> -Detailled Licenses information:
>> +Detailed Licenses information:
>>   http://openiconlibrary.sourceforge.net/LICENSES.html
>>
>>   ============ Packages used by Apache JMeter =========
>> @@ -2029,3 +2029,39 @@ UNLESS OTHERWISE MUTUALLY AGREED TO BY T
>>
>>   ################################################################################
>>
>> +RSyntaxTextArea License
>> +=========================================
>> +
>> +RSyntaxTextArea  from
>> +http://fifesoft.com/rsyntaxtextarea/
>> +
>> +Detailed License information:
>> +http://fifesoft.com/rsyntaxtextarea/RSyntaxTextArea.License.txt
>> +
>> +============== RSyntaxTextArea  License =============
>> +Copyright (c) 2012, Robert Futrell
>> +All rights reserved.
>> +
>> +Redistribution and use in source and binary forms, with or without
>> +modification, are permitted provided that the following conditions are met:
>> +    * Redistributions of source code must retain the above copyright
>> +      notice, this list of conditions and the following disclaimer.
>> +    * Redistributions in binary form must reproduce the above copyright
>> +      notice, this list of conditions and the following disclaimer in the
>> +      documentation and/or other materials provided with the distribution.
>> +    * Neither the name of the author nor the names of its contributors may
>> +      be used to endorse or promote products derived from this software
>> +      without specific prior written permission.
>> +
>> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
>> +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
>> +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>> +DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
>> +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
>> +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
>> +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
>> +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
>> +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
>> +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
>> +
>> +################################################################################
>> \ No newline at end of file
>>
>> Modified: jmeter/trunk/build.properties
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/build.properties?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/build.properties (original)
>> +++ jmeter/trunk/build.properties Fri Jul  5 20:39:54 2013
>> @@ -223,6 +223,11 @@ mongo-java-driver.jar                                      = mongo-java-d
>>   mongo-java-driver.loc                                  = ${maven2.repo}/org/mongodb/mongo-java-driver/${mongo-java-driver.version}
>>   mongo-java-driver.md5                                  = fed5e6d998256e285396b4e0d81537bd
>>
>> +rsyntaxtextarea.version     = 2.0.7
>> +rsyntaxtextarea.jar         = rsyntaxtextarea-${rsyntaxtextarea.version}.jar
>> +rsyntaxtextarea.loc         = ${maven2.repo}/com/fifesoft/rsyntaxtextarea/${rsyntaxtextarea.version}
>> +rsyntaxtextarea.md5         = 00ab3c8ce58bb8bb1dbb3ae506f06d30
> -1
>
> I don't think we can download from there until the license issue is sorted out.
>
>> +
>>   slf4j-api.version           = 1.7.5
>>   slf4j-api.jar               = slf4j-api-${slf4j-api.version}.jar
>>   slf4j-api.loc               = ${maven2.repo}/org/slf4j/slf4j-api/${slf4j-api.version}
>>
>> Modified: jmeter/trunk/build.xml
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/build.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/build.xml (original)
>> +++ jmeter/trunk/build.xml Fri Jul  5 20:39:54 2013
>> @@ -387,6 +387,7 @@
>>       <include name="${lib.dir}/${junit.jar}"/>
>>       <include name="${lib.dir}/${logkit.jar}"/>
>>       <include name="${lib.dir}/${mongo-java-driver.jar}"/>
>> +    <include name="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>       <include name="${lib.dir}/${serializer.jar}"/>
>>       <include name="${lib.dir}/${slf4j-api.jar}"/>
>>       <include name="${lib.dir}/${soap.jar}"/>
>> @@ -454,6 +455,7 @@
>>       <pathelement location="${lib.dir}/${junit.jar}"/>
>>       <pathelement location="${lib.dir}/${logkit.jar}"/>
>>       <pathelement location="${lib.dir}/${mongo-java-driver.jar}"/>
>> +    <pathelement location="${lib.dir}/${rsyntaxtextarea.jar}"/>
>>       <pathelement location="${lib.dir}/${serializer.jar}"/>
>>       <pathelement location="${lib.dir}/${slf4j-api.jar}"/>
>>       <pathelement location="${lib.dir}/${soap.jar}"/>
>> @@ -2879,6 +2881,7 @@ run JMeter unless all the JMeter jars ar
>>           <process_jarfile jarname="junit"/>
>>           <process_jarfile jarname="logkit"/>
>>           <process_jarfile jarname="mongo-java-driver"/>
>> +        <process_jarfile jarname="rsyntaxtextarea"/>
>>           <process_jarfile jarname="serializer"/>
>>          <process_jarfile jarname="slf4j-api"/>
>>           <process_jarfile jarname="soap"/>
>>
>> Modified: jmeter/trunk/eclipse.classpath
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/eclipse.classpath?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/eclipse.classpath (original)
>> +++ jmeter/trunk/eclipse.classpath Fri Jul  5 20:39:54 2013
>> @@ -76,6 +76,7 @@
>>          <classpathentry kind="lib" path="lib/logkit-2.0.jar"/>
>>          <classpathentry kind="lib" path="lib/mail-1.4.4.jar"/>
>>       <classpathentry kind="lib" path="lib/mongo-java-driver-2.11.2.jar"/>
>> +    <classpathentry kind="lib" path="lib/rsyntaxtextarea-2.0.7.jar"/>
>>          <classpathentry kind="lib" path="lib/oro-2.0.8.jar"/>
>>          <classpathentry kind="lib" path="lib/serializer-2.7.1.jar"/>
>>       <classpathentry kind="lib" path="lib/slf4j-api-1.7.5.jar"/>
>>
>> Modified: jmeter/trunk/res/maven/ApacheJMeter_parent.pom
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/res/maven/ApacheJMeter_parent.pom?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/res/maven/ApacheJMeter_parent.pom (original)
>> +++ jmeter/trunk/res/maven/ApacheJMeter_parent.pom Fri Jul  5 20:39:54 2013
>> @@ -84,6 +84,7 @@ under the License.
>>         <junit.version>4.11</junit.version>
>>         <logkit.version>2.0</logkit.version>
>>         <mongo-java-driver.version>2.11.2</mongo-java-driver.version>
>> +      <rsyntaxtextarea.version>2.0.7</rsyntaxtextarea.version>
>>         <slf4j.version>1.7.5</slf4j.version>
>>         <soap.version>2.3.1</soap.version>
>>         <tidy.version>r938</tidy.version>
>> @@ -357,6 +358,11 @@ under the License.
>>           <version>${mongo-java-driver.version}</version>
>>         </dependency>
>>         <dependency>
>> +        <groupId>com.fifesoft</groupId>
>> +        <artifactId>rsyntaxtextarea</artifactId>
>> +        <version>${rsyntaxtextarea.version}</version>
>> +      </dependency>
>> +      <dependency>
>>           <groupId>org.slf4j</groupId>
>>           <artifactId>slf4j-api</artifactId>
>>           <version>${slf4j.version}</version>
>>
>> Modified: jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java (original)
>> +++ jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java Fri Jul  5 20:39:54 2013
>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>   import javax.swing.JCheckBox;
>>   import javax.swing.JLabel;
>>   import javax.swing.JPanel;
>> -import javax.swing.JScrollPane;
>>   import javax.swing.JTextArea;
>>   import javax.swing.JTextField;
>>
>> @@ -32,6 +31,9 @@ import org.apache.jmeter.assertions.Bean
>>   import org.apache.jmeter.testelement.TestElement;
>>   import org.apache.jmeter.testelement.property.BooleanProperty;
>>   import org.apache.jmeter.util.JMeterUtils;
>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>
>>   public class BeanShellAssertionGui extends AbstractAssertionGui {
>>
>> @@ -43,7 +45,7 @@ public class BeanShellAssertionGui exten
>>
>>       private JTextField parameters;// parameters to pass to script file (or script)
>>
>> -    private JTextArea scriptField;// script area
>> +    private RSyntaxTextArea scriptField; // script area
>>
>>       public BeanShellAssertionGui() {
>>           init();
>> @@ -139,8 +141,10 @@ public class BeanShellAssertionGui exten
>>       }
>>
>>       private JPanel createScriptPanel() {
>> -        scriptField = new JTextArea();
>> -        scriptField.setRows(4);
>> +        scriptField = new RSyntaxTextArea(20,20);
>> +        scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>> +        scriptField.setCodeFoldingEnabled(true);
>> +        scriptField.setAntiAliasingEnabled(true);
>>           scriptField.setLineWrap(true);
>>           scriptField.setWrapStyleWord(true);
>>
>> @@ -149,7 +153,7 @@ public class BeanShellAssertionGui exten
>>
>>           JPanel panel = new JPanel(new BorderLayout());
>>           panel.add(label, BorderLayout.NORTH);
>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>> +        panel.add(new RTextScrollPane(scriptField), BorderLayout.CENTER);
>>
>>           JTextArea explain = new JTextArea(JMeterUtils.getResString("bsh_assertion_script_variables")); //$NON-NLS-1$
>>           explain.setLineWrap(true);
>>
>> Modified: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java Fri Jul  5 20:39:54 2013
>> @@ -203,6 +203,8 @@ public class GenericTestBeanCustomizer e
>>
>>           // Obtain the propertyEditors:
>>           editors = new PropertyEditor[descriptors.length];
>> +        int scriptLanguageIndex = 0;
>> +        int textAreaEditorIndex = 0;
>>           for (int i = 0; i < descriptors.length; i++) { // Index is also used for accessing editors array
>>               PropertyDescriptor descriptor = descriptors[i];
>>               String name = descriptor.getName();
>> @@ -218,7 +220,7 @@ public class GenericTestBeanCustomizer e
>>               PropertyEditor propertyEditor;
>>               Object guiType = descriptor.getValue(GUITYPE);
>>               if (guiType instanceof TypeEditor) {
>> -                propertyEditor = ((TypeEditor) guiType).getInstance(descriptor);
>> +                propertyEditor = ((TypeEditor) guiType).getInstance(descriptor);
>>               } else {
>>                   Class<?> editorClass = descriptor.getPropertyEditorClass();
>>                   if (log.isDebugEnabled()) {
>> @@ -267,6 +269,10 @@ public class GenericTestBeanCustomizer e
>>               {
>>                   ((TestBeanPropertyEditor)propertyEditor).setDescriptor(descriptor);
>>               }
>> +
>> +            if (propertyEditor instanceof TextAreaEditor) {
>> +                textAreaEditorIndex = i;
>> +            }
>>               if (propertyEditor.getCustomEditor() instanceof JScrollPane) {
>>                   scrollerCount++;
>>               }
>> @@ -276,6 +282,17 @@ public class GenericTestBeanCustomizer e
>>               // Initialize the editor with the provided default value or null:
>>               setEditorValue(i, descriptor.getValue(DEFAULT));
>>
>> +            if (name.equals("scriptLanguage")) {
>> +                scriptLanguageIndex = i;
>> +            }
>> +
>> +        }
>> +        // In case of BSF and JSR elements i want to add textAreaEditor as a listener to scriptLanguage ComboBox.
>> +        String beanName = this.beanInfo.getBeanDescriptor().getName();
>> +        if (beanName.startsWith("BSF") || beanName.startsWith("JSR223")) { // $NON-NLS-1$ $NON-NLS-2$
>> +            WrapperEditor we = (WrapperEditor) editors[scriptLanguageIndex];
>> +            TextAreaEditor tae = (TextAreaEditor) editors[textAreaEditorIndex];
>> +            we.addChangeListener(tae);
>>           }
>>
>>           // Obtain message formats:
>>
>> Modified: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java Fri Jul  5 20:39:54 2013
>> @@ -24,17 +24,23 @@ package org.apache.jmeter.testbeans.gui;
>>   import java.awt.Component;
>>   import java.awt.event.FocusEvent;
>>   import java.awt.event.FocusListener;
>> +import java.beans.PropertyChangeEvent;
>> +import java.beans.PropertyChangeListener;
>>   import java.beans.PropertyEditorSupport;
>> +import java.util.Properties;
>>
>> -import javax.swing.JScrollPane;
>> -import javax.swing.JTextArea;
>> -import javax.swing.ScrollPaneConstants;
>> +import org.apache.jmeter.util.JMeterUtils;
>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>
>> -public class TextAreaEditor extends PropertyEditorSupport implements FocusListener {
>> +public class TextAreaEditor extends PropertyEditorSupport implements FocusListener, PropertyChangeListener {
>>
>> -    private JTextArea textUI;
>> +    private RSyntaxTextArea textUI;
>>
>> -    private JScrollPane scroller;
>> +    private RTextScrollPane scroller;
>> +
>> +    private Properties languageProperties;
>>
>>       /** {@inheritDoc} */
>>       @Override
>> @@ -48,12 +54,17 @@ public class TextAreaEditor extends Prop
>>       }
>>
>>       private final void init() {// called from ctor, so must not be overridable
>> -        textUI = new JTextArea();
>> +        textUI = new RSyntaxTextArea(20, 20);
>> +        textUI.discardAllEdits();
>> +        textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>> +        textUI.setCodeFoldingEnabled(true);
>> +        textUI.setAntiAliasingEnabled(true);
>>           textUI.addFocusListener(this);
>>           textUI.setWrapStyleWord(true);
>>           textUI.setLineWrap(true);
>> -        scroller = new JScrollPane(textUI, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED,
>> -                ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
>> +        scroller = new RTextScrollPane(textUI);
>> +        scroller.setFoldIndicatorEnabled(true);
>> +        languageProperties = JMeterUtils.loadProperties("org/apache/jmeter/testbeans/gui/textarea.properties"); //$NON-NLS-1$
>>       }
>>
>>       /**
>> @@ -112,4 +123,19 @@ public class TextAreaEditor extends Prop
>>       public boolean supportsCustomEditor() {
>>           return true;
>>       }
>> +
>> +    @Override
>> +    public void propertyChange(PropertyChangeEvent evt) {
>> +        Object source = evt.getSource();
>> +        if (source instanceof ComboStringEditor && source != null) {
>> +            ComboStringEditor cse = (ComboStringEditor) source;
>> +            String lang = cse.getAsText().toLowerCase();
>> +            if (languageProperties.containsKey(lang)) {
>> +                textUI.setSyntaxEditingStyle(languageProperties.getProperty(lang));
>> +            } else {
>> +                textUI.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_NONE);
>> +            }
>> +
>> +        }
>> +    }
>>   }
>>
>> Modified: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java (original)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java Fri Jul  5 20:39:54 2013
>> @@ -445,4 +445,8 @@ class WrapperEditor extends PropertyEdit
>>               guiEditor.setAsText(lastValidValue);
>>           }
>>       }
>> +
>> +    public void addChangeListener(PropertyChangeListener listener) {
>> +        guiEditor.addPropertyChangeListener(listener);
>> +    }
>>   }
>> \ No newline at end of file
>>
>> Added: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties?rev=1500124&view=auto
>> ==============================================================================
>> --- jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties (added)
>> +++ jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties Fri Jul  5 20:39:54 2013
>> @@ -0,0 +1,52 @@
>> +#
>> +# Licensed to the Apache Software Foundation (ASF) under one or more
>> +# contributor license agreements.  See the NOTICE file distributed with
>> +# this work for additional information regarding copyright ownership.
>> +# The ASF licenses this file to You 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.
>> +#
>> +
>> +javascript = text/javascript
>> +js = text/javascript
>> +jacl = text/tcl
>> +netrexx = text/plain
>> +java = text/java
>> +javaclass = text/java
>> +bml = text/xml
>> +vbscript = text/vb
>> +jscript = text/javascript
>> +perlscript = text/perl
>> +perl = text/perl
>> +jpython = text/python
>> +jython = text/python
>> +lotusscript = text/vb
>> +xslt = text/mxml
>> +pnuts = text/java
>> +beanbasic = text/java
>> +beanshell = text/java
>> +bsh = text/unix
>> +ruby = text/ruby
>> +judoscript = text/plain
>> +groovy = text/groovy
>> +objectscript = text/javascript
>> +prolog = text/plain
>> +rexx = text/plain
>> +applescript = text/plain
>> +ecmascript = text/actionscript
>> +jexl = text/java
>> +jexl2 = text/java
>> +rhino = text/javascript
>> +edit = text/unix
>> +lua = text/lua
>> +php = text/php
>> +lisp = text/lisp
>> +sql = text/sql
>> \ No newline at end of file
>>
>> Propchange: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>> ------------------------------------------------------------------------------
>>      svn:eol-style = native
>>
>> Propchange: jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties
>> ------------------------------------------------------------------------------
>>      svn:mime-type = text/plain
>>
>> Modified: jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java (original)
>> +++ jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java Fri Jul  5 20:39:54 2013
>> @@ -24,7 +24,6 @@ import javax.swing.Box;
>>   import javax.swing.JCheckBox;
>>   import javax.swing.JLabel;
>>   import javax.swing.JPanel;
>> -import javax.swing.JScrollPane;
>>   import javax.swing.JTextArea;
>>   import javax.swing.JTextField;
>>
>> @@ -33,6 +32,9 @@ import org.apache.jmeter.samplers.gui.Ab
>>   import org.apache.jmeter.testelement.TestElement;
>>   import org.apache.jmeter.testelement.property.BooleanProperty;
>>   import org.apache.jmeter.util.JMeterUtils;
>> +import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;
>> +import org.fife.ui.rsyntaxtextarea.SyntaxConstants;
>> +import org.fife.ui.rtextarea.RTextScrollPane;
>>
>>   public class BeanShellSamplerGui extends AbstractSamplerGui {
>>
>> @@ -44,7 +46,7 @@ public class BeanShellSamplerGui extends
>>
>>       private JTextField parameters;// parameters to pass to script file (or script)
>>
>> -    private JTextArea scriptField;// script area
>> +    private RSyntaxTextArea scriptField;// script area
>>
>>       public BeanShellSamplerGui() {
>>           init();
>> @@ -153,8 +155,9 @@ public class BeanShellSamplerGui extends
>>       }
>>
>>       private JPanel createScriptPanel() {
>> -        scriptField = new JTextArea();
>> -        scriptField.setRows(4);
>> +        scriptField = new RSyntaxTextArea(20, 20);
>> +        scriptField.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
>> +        scriptField.setCodeFoldingEnabled(true);
>>           scriptField.setLineWrap(true);
>>           scriptField.setWrapStyleWord(true);
>>
>> @@ -163,7 +166,7 @@ public class BeanShellSamplerGui extends
>>
>>           JPanel panel = new JPanel(new BorderLayout());
>>           panel.add(label, BorderLayout.NORTH);
>> -        panel.add(new JScrollPane(scriptField), BorderLayout.CENTER);
>> +        panel.add(new RTextScrollPane(scriptField), BorderLayout.CENTER);
>>
>>           JTextArea explain = new JTextArea(JMeterUtils.getResString("bsh_script_variables")); //$NON-NLS-1$
>>           explain.setLineWrap(true);
>>
>> Modified: jmeter/trunk/xdocs/changes.xml
>> URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1500124&r1=1500123&r2=1500124&view=diff
>> ==============================================================================
>> --- jmeter/trunk/xdocs/changes.xml (original)
>> +++ jmeter/trunk/xdocs/changes.xml Fri Jul  5 20:39:54 2013
>> @@ -224,6 +224,7 @@ Transaction Controller now sets Response
>>   <li><bugzilla>54990</bugzilla> - Download large files avoiding outOfMemory</li>
>>   <li><bugzilla>55085</bugzilla> - UX Improvement : Ability to create New Test Plan from Templates</li>
>>   <li><bugzilla>55172</bugzilla> - Provide plugins a way to add Top Menu and menu items</li>
>> +<li><bugzilla>55202</bugzilla> - Add syntax color for scripts elements (BeanShell, BSF, and JSR223) with RSyntaxTextArea</li>
>>   </ul>
>>
>>   <h2>Non-functional changes</h2>
>>
>>