On 5 July 2013 21:39, <milamber@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>
>
>
|