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, <[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. >>> >> > 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 ([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/<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.
