Le 05/07/2013 22:40, sebb a ecrit :
On 5 July 2013 22:36, Milamber <[email protected]> wrote:
Le 05/07/2013 21:55, sebb a ecrit :
On 5 July 2013 21:39,  <[email protected]> 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 ([email protected])
+Copyright � 2009 - 2012 Jonathan Hedley ([email protected])

   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>


.


Reply via email to