sebb 2005/02/17 17:42:49
Modified: src/functions/org/apache/jmeter/functions Tag: rel-2_0
FileWrapper.java FileRowColContainer.java
bin Tag: rel-2_0 jmeter.properties
Added: bin/testfiles Tag: rel-2_0 test.tsv
Log:
Allow default CSVRead delimiter to be changed
Revision Changes Path
No revision
No revision
1.1.2.1 +4 -0 jakarta-jmeter/bin/testfiles/Attic/test.tsv
No revision
No revision
1.6.2.1 +3 -3
jakarta-jmeter/src/functions/org/apache/jmeter/functions/FileWrapper.java
Index: FileWrapper.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src/functions/org/apache/jmeter/functions/FileWrapper.java,v
retrieving revision 1.6
retrieving revision 1.6.2.1
diff -u -r1.6 -r1.6.2.1
--- FileWrapper.java 30 Mar 2004 18:07:07 -0000 1.6
+++ FileWrapper.java 18 Feb 2005 01:42:49 -0000 1.6.2.1
@@ -125,7 +125,7 @@
{
frcc = new FileRowColContainer(file);
fileContainers.put(alias,frcc);
- log.info("Saved "+file+" as "+alias);
+ log.info("Saved "+file+" as "+alias+"
delimiter=<"+frcc.getDelimiter()+">");
if (defaultFile.length() == 0){
defaultFile = file;// Save in case needed later
}
1.5.2.2 +74 -14
jakarta-jmeter/src/functions/org/apache/jmeter/functions/FileRowColContainer.java
Index: FileRowColContainer.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src/functions/org/apache/jmeter/functions/FileRowColContainer.java,v
retrieving revision 1.5.2.1
retrieving revision 1.5.2.2
diff -u -r1.5.2.1 -r1.5.2.2
--- FileRowColContainer.java 9 Jul 2004 23:01:30 -0000 1.5.2.1
+++ FileRowColContainer.java 18 Feb 2005 01:42:49 -0000 1.5.2.2
@@ -26,6 +26,7 @@
import java.util.StringTokenizer;
import org.apache.jmeter.junit.JMeterTestCase;
+import org.apache.jmeter.util.JMeterUtils;
import org.apache.jorphan.logging.LoggingManager;
import org.apache.log.Logger;
@@ -45,7 +46,8 @@
private String fileName; // name of the file
- public static final String DELIMITER = ","; // Default delimiter
+ public static final String DELIMITER =
+ JMeterUtils.getPropDefault("csvread.delimiter",",");// delimiter
defaults to ","
/** Keeping track of which row is next to be read. */
private int nextRow;
@@ -60,7 +62,7 @@
public FileRowColContainer(String file,String delim)
throws IOException,FileNotFoundException
{
- log.debug("FDC("+file+","+delim+")");
+ log.debug("FRCC("+file+","+delim+")");
fileName = file;
delimiter = delim;
nextRow = 0;
@@ -70,7 +72,7 @@
public FileRowColContainer(String file)
throws IOException,FileNotFoundException
{
- log.debug("FDC("+file+")");
+ log.debug("FRCC("+file+")["+DELIMITER+"]");
fileName = file;
delimiter = DELIMITER;
nextRow = 0;
@@ -189,11 +191,29 @@
}
return result;
}
+
+ /**
+ * @return the file name for this class
+ */
+ public String getFileName()
+ {
+ return fileName;
+ }
+
+ /**
+ * @return Returns the delimiter.
+ */
+ final String getDelimiter() {
+ return delimiter;
+ }
+
+ ///////////////////////////// TEST CASES
/////////////////////////////////////////
+
public static class Test extends JMeterTestCase
{
static{
-// LoggingManager.setPriority("DEBUG","jmeter");
+
LoggingManager.setPriority("DEBUG","jmeter.functions.FileRowColContainer");
// LoggingManager.setTarget(new PrintWriter(System.out));
}
@@ -267,6 +287,54 @@
assertEquals("c2",f.getColumn(myRow,2));
}
+ public void testColumnsComma() throws Exception
+ {
+ FileRowColContainer f = new
FileRowColContainer("testfiles/test.csv",",");
+ assertNotNull(f);
+ assertTrue("Not empty",f.fileData.size() > 0);
+
+ int myRow=f.nextRow();
+ assertEquals(0,myRow);
+ assertEquals("a1",f.getColumn(myRow,0));
+ assertEquals("d1",f.getColumn(myRow,3));
+
+ try {
+ f.getColumn(myRow,4);
+ fail("Expected out of bounds");
+ }
+ catch (IndexOutOfBoundsException e)
+ {
+ }
+ myRow=f.nextRow();
+ assertEquals(1,myRow);
+ assertEquals("b2",f.getColumn(myRow,1));
+ assertEquals("c2",f.getColumn(myRow,2));
+ }
+
+ public void testColumnsTab() throws Exception
+ {
+ FileRowColContainer f = new
FileRowColContainer("testfiles/test.tsv","\t");
+ assertNotNull(f);
+ assertTrue("Not empty",f.fileData.size() > 0);
+
+ int myRow=f.nextRow();
+ assertEquals(0,myRow);
+ assertEquals("a1",f.getColumn(myRow,0));
+ assertEquals("d1",f.getColumn(myRow,3));
+
+ try {
+ f.getColumn(myRow,4);
+ fail("Expected out of bounds");
+ }
+ catch (IndexOutOfBoundsException e)
+ {
+ }
+ myRow=f.nextRow();
+ assertEquals(1,myRow);
+ assertEquals("b2",f.getColumn(myRow,1));
+ assertEquals("c2",f.getColumn(myRow,2));
+ }
+
public void testEmptyCols() throws Exception
{
FileRowColContainer f = new
FileRowColContainer("testfiles/testempty.csv");
@@ -295,12 +363,4 @@
assertEquals("",f.getColumn(myRow,3));
}
}
- /**
- * @return the file name for this class
- */
- public String getFileName()
- {
- return fileName;
- }
-
}
\ No newline at end of file
No revision
No revision
1.100.2.10 +12 -2 jakarta-jmeter/bin/jmeter.properties
Index: jmeter.properties
===================================================================
RCS file: /home/cvs/jakarta-jmeter/bin/jmeter.properties,v
retrieving revision 1.100.2.9
retrieving revision 1.100.2.10
diff -u -r1.100.2.9 -r1.100.2.10
--- jmeter.properties 8 Oct 2004 22:32:41 -0000 1.100.2.9
+++ jmeter.properties 18 Feb 2005 01:42:49 -0000 1.100.2.10
@@ -303,4 +303,14 @@
#mailer.successlimit=2
#
# Number of failed samples before a message is sent
-#mailer.failurelimit=2
\ No newline at end of file
+#mailer.failurelimit=2
+
+# CSVRead delimiter setting (default ",")
+# Make sure that there are no trailing spaces or tabs after the delimiter
+# characters, or these will be included in the list of valid delimiters
+#csvread.delimiter=,
+#csvread.delimiter=;
+#csvread.delimiter=!
+#csvread.delimiter=~
+# The following line has a tab after the =
+#csvread.delimiter=
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]