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 - 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> >>> >>> >
