jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Milamber <milam...@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/
Date Sat, 06 Jul 2013 08:32:26 GMT

Le 06/07/2013 00:08, sebb a ecrit :
> On 5 July 2013 23:17, sebb <sebbaz@gmail.com> wrote:
>> On 5 July 2013 23:10, sebb <sebbaz@gmail.com> wrote:
>>> On 5 July 2013 22:53, Milamber <milamberspace@gmail.com> wrote:
>>>> Le 05/07/2013 22:40, sebb a ecrit :
>>>>
>>>>> On 5 July 2013 22:36, Milamber <milamber@apache.org> wrote:
>>>>>> Le 05/07/2013 21:55, sebb a ecrit :
>>>>>>> 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.
>>>>>>
>>>>>> 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 <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>
>>>>>>>>
>>>>>>>>
>>>>> .
>>>>>


Mime
View raw message