Author: sebb
Date: Mon Nov 26 06:45:48 2007
New Revision: 598293

URL: http://svn.apache.org/viewvc?rev=598293&view=rev
Log:
Detect invalid delimiter settings

Modified:
    
jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSaveConfiguration.java

Modified: 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSaveConfiguration.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSaveConfiguration.java?rev=598293&r1=598292&r2=598293&view=diff
==============================================================================
--- 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSaveConfiguration.java
 (original)
+++ 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleSaveConfiguration.java
 Mon Nov 26 06:45:48 2007
@@ -27,8 +27,11 @@
 import java.text.SimpleDateFormat;
 import java.util.Properties;
 
+import org.apache.commons.lang.CharUtils;
+import org.apache.jmeter.save.CSVSaveService;
 import org.apache.jmeter.testelement.TestPlan;
 import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jorphan.util.JMeterError;
 
 /*
  * N.B. to add a new field, remember the following
@@ -297,6 +300,20 @@
         if (dlm.equals("\\t")) {// Make it easier to enter a tab (can use 
\<tab> but that is awkward)
                dlm="\t";
         }
+
+        if (dlm.length() != 1){
+               throw new JMeterError("Delimiter '"+dlm+"' must be of length 
1.");
+        }
+        char ch = dlm.charAt(0);
+        
+        if (CharUtils.isAsciiAlphanumeric(ch) || ch == 
CSVSaveService.QUOTING_CHAR){
+               throw new JMeterError("Delimiter '"+ch+"' must not be 
alphanumeric or "+CSVSaveService.QUOTING_CHAR+".");               
+        }
+               
+        if (!CharUtils.isAsciiPrintable(ch)){
+               throw new JMeterError("Delimiter (code "+(int)ch+") must be 
printable.");               
+        }
+
                _delimiter = dlm;
 
                _fieldNames = 
TRUE.equalsIgnoreCase(props.getProperty(PRINT_FIELD_NAMES_PROP, FALSE));



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to