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