jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
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 Fri, 05 Jul 2013 22:10:29 GMT
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.
The code could check if the jar is present, and if not, download and build.

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