|
From: <zep...@us...> - 2007-08-17 18:57:37
|
Revision: 340
http://flatpack.svn.sourceforge.net/flatpack/?rev=340&view=rev
Author: zepernick
Date: 2007-08-17 11:57:37 -0700 (Fri, 17 Aug 2007)
Log Message:
-----------
added contains() method to check for the existance of a column name for the current row.
Modified Paths:
--------------
trunk/flatpack/src/main/java/net/sf/flatpack/DataSet.java
trunk/flatpack/src/main/java/net/sf/flatpack/DefaultDataSet.java
Added Paths:
-----------
trunk/flatpack/src/test/java/net/sf/flatpack/DataSetFunctionalityTest.java
Modified: trunk/flatpack/src/main/java/net/sf/flatpack/DataSet.java
===================================================================
--- trunk/flatpack/src/main/java/net/sf/flatpack/DataSet.java 2007-08-17 18:50:00 UTC (rev 339)
+++ trunk/flatpack/src/main/java/net/sf/flatpack/DataSet.java 2007-08-17 18:57:37 UTC (rev 340)
@@ -312,4 +312,13 @@
*
*/
void clearAll();
+
+ /**
+ * Does this DataSet contain a column with the given name?
+ *
+ * @param column
+ * Column name to check for
+ * @return boolean
+ */
+ boolean contains(final String column);
}
\ No newline at end of file
Modified: trunk/flatpack/src/main/java/net/sf/flatpack/DefaultDataSet.java
===================================================================
--- trunk/flatpack/src/main/java/net/sf/flatpack/DefaultDataSet.java 2007-08-17 18:50:00 UTC (rev 339)
+++ trunk/flatpack/src/main/java/net/sf/flatpack/DefaultDataSet.java 2007-08-17 18:57:37 UTC (rev 340)
@@ -37,6 +37,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
+import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Properties;
@@ -481,4 +482,21 @@
buf.append("MetaData:").append(metaData).append(System.getProperty("line.separator"));
return buf.toString();
}
+
+ public boolean contains(String column) {
+ if (pointer == -1) {
+ throw new IndexOutOfBoundsException("dataset on invalid row. need to call next()");
+ }
+
+ final Iterator cmds = ParserUtils.getColumnMetaData(((Row) rows.get(pointer)).getMdkey(), metaData).iterator();
+ while (cmds.hasNext()) {
+ final ColumnMetaData cmd = (ColumnMetaData)cmds.next();
+ if (cmd.getColName().equalsIgnoreCase(column)) {
+ return true;
+ }
+ }
+
+ return false;
+
+ }
}
Added: trunk/flatpack/src/test/java/net/sf/flatpack/DataSetFunctionalityTest.java
===================================================================
--- trunk/flatpack/src/test/java/net/sf/flatpack/DataSetFunctionalityTest.java (rev 0)
+++ trunk/flatpack/src/test/java/net/sf/flatpack/DataSetFunctionalityTest.java 2007-08-17 18:57:37 UTC (rev 340)
@@ -0,0 +1,26 @@
+package net.sf.flatpack;
+
+import java.io.StringReader;
+
+import net.sf.flatpack.util.FPConstants;
+import junit.framework.TestCase;
+
+/**
+ * Test methods in the DataSet
+ *
+ * @author Paul Zepernick
+ */
+public class DataSetFunctionalityTest extends TestCase {
+
+ public void testContains() {
+ DataSet ds;
+ final String cols = "column1,column2,column3\r\n value1,value2,value3";
+ Parser p = DefaultParserFactory.getInstance().newDelimitedParser(new StringReader(cols), ',', FPConstants.NO_QUALIFIER);
+ ds = p.parse();
+ ds.next();
+ assertEquals("column should NOT be found...", false, ds.contains("shouldnotcontain"));
+
+ assertEquals("column should be found...", true, ds.contains("column1"));
+
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|