Return-Path: X-Original-To: apmail-jmeter-dev-archive@minotaur.apache.org Delivered-To: apmail-jmeter-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 091CB10CED for ; Sat, 6 Jul 2013 08:32:33 +0000 (UTC) Received: (qmail 63147 invoked by uid 500); 6 Jul 2013 08:32:33 -0000 Delivered-To: apmail-jmeter-dev-archive@jmeter.apache.org Received: (qmail 63047 invoked by uid 500); 6 Jul 2013 08:32:31 -0000 Mailing-List: contact dev-help@jmeter.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jmeter.apache.org Delivered-To: mailing list dev@jmeter.apache.org Received: (qmail 63039 invoked by uid 99); 6 Jul 2013 08:32:30 -0000 Received: from minotaur.apache.org (HELO minotaur.apache.org) (140.211.11.9) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 06 Jul 2013 08:32:30 +0000 Received: from localhost (HELO [192.168.7.235]) (127.0.0.1) (smtp-auth username milamber, mechanism plain) by minotaur.apache.org (qpsmtpd/0.29) with ESMTP; Sat, 06 Jul 2013 08:32:30 +0000 Message-ID: <51D7D61A.9040409@apache.org> Date: Sat, 06 Jul 2013 09:32:26 +0100 From: Milamber Organization: Apache Software Fondation User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0 SeaMonkey/2.17.1 MIME-Version: 1.0 To: dev@jmeter.apache.org Subject: Re: svn commit: r1500124 - in /jmeter/trunk: ./ res/maven/ src/components/org/apache/jmeter/assertions/gui/ src/core/org/apache/jmeter/testbeans/gui/ src/protocol/java/org/apache/jmeter/protocol/java/control/gui/ xdocs/ References: <20130705203955.EE1252388AB8@eris.apache.org> <51D73C4D.5020803@apache.org> <51D74068.1050601@gmail.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Le 06/07/2013 00:08, sebb a ecrit : > On 5 July 2013 23:17, sebb wrote: >> On 5 July 2013 23:10, sebb wrote: >>> On 5 July 2013 22:53, Milamber wrote: >>>> Le 05/07/2013 22:40, sebb a ecrit : >>>> >>>>> On 5 July 2013 22:36, Milamber wrote: >>>>>> Le 05/07/2013 21:55, sebb a ecrit : >>>>>>> On 5 July 2013 21:39, wrote: >>>>>>> >>>>>>>> Author: milamber >>>>>>>> Date: Fri Jul 5 20:39:54 2013 >>>>>>>> New Revision: 1500124 >>>>>>>> >>>>>>>> URL: http://svn.apache.org/r1500124 >>>>>>>> Log: >>>>>>>> Bug 55202 - Proposal to add RSyntaxTextArea for BeanShell, BSF, and >>>>>>>> JSR223 elements >>>>>>>> Bugzilla Id: 55202 >>>>>>> -1 >>>>>>> >>>>>>> I think the jar needs to be obtained somewhere other than Maven >>>>>>> Central, as the pom license there says LGPL. >>>>>> >>>>>> Not good... >>>>>> >>>>>> I have sent an email to Filesolft (author of rsyntaxtextarea) to point >>>>>> the >>>>>> difference between their website and the pom file on Maven website, and >>>>>> ask >>>>>> the good license. >>>>> That would be the best solution - having an incorrect license on Maven >>>>> is not good. >>>>> >>>>> However we do have other options: >>>>> - download the example archive and extract the jar: >>>>> >>>>> http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea-demo/2.0.7/rsyntaxtextarea_demo_2.0.7.zip/download >>>>> - download the source to a temporary folder and compile it >>>> >>>> You're right, another option is: >>>> (on download_jars task) >>>> Download form the binary release (not -demo) >>>> http://sourceforge.net/projects/rsyntaxtextarea/files/rsyntaxtextarea/2.0.7/rsyntaxtextarea_2.0.7.zip/download >>>> The zip file include the modified BSD license. >>>> >>>> Get the jar file and put on good directory. >>>> >>>> It is a good way ? or we must compile from source? >>> I think that's OK, the license in the zip looks to be the same (best >>> to check though). >>> >>> Not sure if build.xml still has the code to do zip extraction, if not >>> it can be recovered from SVN history. >>> >>> The extracted jar will still contain the example code. >>> If that turns out to be a problem, then using the source should not be >>> too hard to do. > Looks like the jar in the example zip is incomplete; it does not have the class: > > org.fife.ui.rsyntaxtextarea.modes.ActionScriptTokenMaker > > The JMeter test generates lots of stack trace output. presumably from > somewhere in the RSyntaxTextArea code. > I think that's a bug - either the exception should be propagated back > to the caller, or the exception should be handled silently. > > Anyway, I think we'll probably need to download the source and compile it. When I try tom compile from source zip with JDK 1.6, I have this warning and errors: [echo] NOTE: *** RSyntaxTextArea is built with a 1.4.2 JDK! [echo] NOTE: *** If you build with Java 5 or newer, you will receive a compile error [echo] NOTE: *** about an XmlParser.java method missing IOException in its throws [echo] NOTE: *** clause. This is caused by a binary incompatibility between Java [echo] NOTE: *** 1.4 and Java 5. To remedy this, either build with 1.4.2, or add [echo] NOTE: *** IOException to the throws clause. [javac] Compiling 161 source files to /root/Rsyntax/ant-classes [javac] /root/Rsyntax/src/org/fife/ui/rtextarea/RTATextTransferHandler.java:17: warning: [deprecation] java.io.StringBufferInputStream in java.io has been deprecated [javac] import java.io.StringBufferInputStream; [javac] ^ [javac] /root/Rsyntax/src/org/fife/ui/rsyntaxtextarea/RtfTransferable.java:41: warning: [deprecation] plainTextFlavor in java.awt.datatransfer.DataFlavor has been deprecated [javac] DataFlavor.plainTextFlavor // deprecated [javac] ^ [javac] /root/Rsyntax/src/org/fife/ui/rsyntaxtextarea/parser/XmlParser.java:219: unreported exception java.io.IOException; must be caught or declared to be thrown [javac] return super.resolveEntity(publicId, systemId); [javac] ^ [javac] /root/Rsyntax/src/org/fife/ui/rtextarea/RTATextTransferHandler.java:356: warning: [deprecation] java.io.StringBufferInputStream in java.io has been deprecated [javac] return new StringBufferInputStream(data); [javac] ^ [javac] 1 error [javac] 3 warnings Not very great... I will try from binary zip file to get directly the jar. > >>> The code could check if the jar is present, and if not, download and build. >> It's just occured to me - the Maven jar was not created by the >> project, so may not be trustworthy. >> >>>>> - ask on legal discuss if this really is a problem or not >>>>> >>>>>> >>>>>>> Please remove the download part for now. >>>>>>> >>>>>>>> Added: >>>>>>>> >>>>>>>> >>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/textarea.properties >>>>>>>> (with props) >>>>>>>> Modified: >>>>>>>> jmeter/trunk/LICENSE >>>>>>>> jmeter/trunk/build.properties >>>>>>>> jmeter/trunk/build.xml >>>>>>>> jmeter/trunk/eclipse.classpath >>>>>>>> jmeter/trunk/res/maven/ApacheJMeter_parent.pom >>>>>>>> >>>>>>>> >>>>>>>> jmeter/trunk/src/components/org/apache/jmeter/assertions/gui/BeanShellAssertionGui.java >>>>>>>> >>>>>>>> >>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/GenericTestBeanCustomizer.java >>>>>>>> >>>>>>>> >>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/TextAreaEditor.java >>>>>>>> >>>>>>>> >>>>>>>> jmeter/trunk/src/core/org/apache/jmeter/testbeans/gui/WrapperEditor.java >>>>>>>> >>>>>>>> >>>>>>>> jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/control/gui/BeanShellSamplerGui.java >>>>>>>> jmeter/trunk/xdocs/changes.xml >>>>>>>> >>>>>>>> Modified: jmeter/trunk/LICENSE >>>>>>>> URL: >>>>>>>> >>>>>>>> http://svn.apache.org/viewvc/jmeter/trunk/LICENSE?rev=1500124&r1=1500123&r2=1500124&view=diff >>>>>>>> >>>>>>>> >>>>>>>> ============================================================================== >>>>>>>> --- jmeter/trunk/LICENSE [utf-8] (original) >>>>>>>> +++ jmeter/trunk/LICENSE [utf-8] Fri Jul 5 20:39:54 2013 >>>>>>>> @@ -1565,7 +1565,7 @@ The jsoup code-base (include source and >>>>>>>> distributed under the open source MIT license as described below. >>>>>>>> The MIT License >>>>>>>> >>>>>>>> -Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net) >>>>>>>> +Copyright � 2009 - 2012 Jonathan Hedley (jonathan@hedley.net) >>>>>>>> >>>>>>>> Permission is hereby granted, free of charge, to any person >>>>>>>> obtaining a >>>>>>>> copy of this software and associated documentation files (the >>>>>>>> "Software"), >>>>>>>> @@ -1926,7 +1926,7 @@ As a special exception, the copyright ho >>>>>>>> Open Icon Library from >>>>>>>> http://openiconlibrary.sourceforge.net/ >>>>>>>> >>>>>>>> -Detailled Licenses information: >>>>>>>> +Detailed Licenses information: >>>>>>>> http://openiconlibrary.sourceforge.net/LICENSES.html >>>>>>>> >>>>>>>> ============ Packages used by Apache JMeter ========= >>>>>>>> @@ -2029,3 +2029,39 @@ UNLESS OTHERWISE MUTUALLY AGREED TO BY T >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> ################################################################################ >>>>>>>> >>>>>>>> +RSyntaxTextArea License >>>>>>>> +========================================= >>>>>>>> + >>>>>>>> +RSyntaxTextArea from >>>>>>>> +http://fifesoft.com/rsyntaxtextarea/ >>>>>>>> + >>>>>>>> +Detailed License information: >>>>>>>> +http://fifesoft.com/rsyntaxtextarea/RSyntaxTextArea.License.txt >>>>>>>> + >>>>>>>> +============== RSyntaxTextArea License ============= >>>>>>>> +Copyright (c) 2012, Robert Futrell >>>>>>>> +All rights reserved. >>>>>>>> + >>>>>>>> +Redistribution and use in source and binary forms, with or without >>>>>>>> +modification, are permitted provided that the following conditions are >>>>>>>> met: >>>>>>>> + * Redistributions of source code must retain the above copyright >>>>>>>> + notice, this list of conditions and the following disclaimer. >>>>>>>> + * Redistributions in binary form must reproduce the above >>>>>>>> copyright >>>>>>>> + notice, this list of conditions and the following disclaimer in >>>>>>>> the >>>>>>>> + documentation and/or other materials provided with the >>>>>>>> distribution. >>>>>>>> + * Neither the name of the author nor the names of its contributors >>>>>>>> may >>>>>>>> + be used to endorse or promote products derived from this >>>>>>>> software >>>>>>>> + without specific prior written permission. >>>>>>>> + >>>>>>>> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS >>>>>>>> "AS >>>>>>>> IS" AND >>>>>>>> +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE >>>>>>>> IMPLIED >>>>>>>> +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE >>>>>>>> +DISCLAIMED. IN NO EVENT SHALL 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 @@ >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> + >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> @@ -454,6 +455,7 @@ >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> + >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> @@ -2879,6 +2881,7 @@ run JMeter unless all the JMeter jars ar >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> + >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> 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 @@ >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> path="lib/mongo-java-driver-2.11.2.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. >>>>>>>> 4.11 >>>>>>>> 2.0 >>>>>>>> 2.11.2 >>>>>>>> + 2.0.7 >>>>>>>> 1.7.5 >>>>>>>> 2.3.1 >>>>>>>> r938 >>>>>>>> @@ -357,6 +358,11 @@ under the License. >>>>>>>> ${mongo-java-driver.version} >>>>>>>> >>>>>>>> >>>>>>>> + com.fifesoft >>>>>>>> + rsyntaxtextarea >>>>>>>> + ${rsyntaxtextarea.version} >>>>>>>> + >>>>>>>> + >>>>>>>> org.slf4j >>>>>>>> slf4j-api >>>>>>>> ${slf4j.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 >>>>>>>>
  • 54990 - Download large files avoiding >>>>>>>> outOfMemory
  • >>>>>>>>
  • 55085 - UX Improvement : Ability to create >>>>>>>> New >>>>>>>> Test Plan from Templates
  • >>>>>>>>
  • 55172 - Provide plugins a way to add Top >>>>>>>> Menu >>>>>>>> and menu items
  • >>>>>>>> +
  • 55202 - Add syntax color for scripts elements >>>>>>>> (BeanShell, BSF, and JSR223) with RSyntaxTextArea
  • >>>>>>>> >>>>>>>> >>>>>>>>

    Non-functional changes

    >>>>>>>> >>>>>>>> >>>>> . >>>>>