From: <zep...@us...> - 2008-09-04 11:17:31
|
Revision: 407 http://flatpack.svn.sourceforge.net/flatpack/?rev=407&view=rev Author: zepernick Date: 2008-09-04 11:17:35 +0000 (Thu, 04 Sep 2008) Log Message: ----------- fixed bug. Sorting was not working if the column names were not being looked up in lower case. They are put into the map lower case so that we can ignore case on the name unless the user elects to use strict lookup only. Had to pass the parser object into the order by so we can check the options which were set for the parse. Modified Paths: -------------- trunk/flatpack/src/main/java/net/sf/flatpack/DefaultDataSet.java trunk/flatpack/src/main/java/net/sf/flatpack/ordering/OrderBy.java Modified: trunk/flatpack/src/main/java/net/sf/flatpack/DefaultDataSet.java =================================================================== --- trunk/flatpack/src/main/java/net/sf/flatpack/DefaultDataSet.java 2008-09-02 02:20:51 UTC (rev 406) +++ trunk/flatpack/src/main/java/net/sf/flatpack/DefaultDataSet.java 2008-09-04 11:17:35 UTC (rev 407) @@ -360,6 +360,7 @@ // final List cmds = ParserUtils.getColumnMetaData(PZConstants.DETAIL_ID, columnMD); //ob.setColumnMD(cmds); ob.setMetaData(getMetaData()); + ob.setParser(parser); Collections.sort(rows, ob); goTop(); } Modified: trunk/flatpack/src/main/java/net/sf/flatpack/ordering/OrderBy.java =================================================================== --- trunk/flatpack/src/main/java/net/sf/flatpack/ordering/OrderBy.java 2008-09-02 02:20:51 UTC (rev 406) +++ trunk/flatpack/src/main/java/net/sf/flatpack/ordering/OrderBy.java 2008-09-04 11:17:35 UTC (rev 407) @@ -43,6 +43,7 @@ import java.util.List; import java.util.Locale; +import net.sf.flatpack.Parser; import net.sf.flatpack.structure.Row; import net.sf.flatpack.util.FPConstants; import net.sf.flatpack.util.ParserUtils; @@ -63,6 +64,8 @@ private final List orderbys = new ArrayList(); private MetaData metaData; + + private Parser parser; /** * Adds an order element to the sort. @@ -107,8 +110,8 @@ // into account when sorting Comparable comp0 = null; Comparable comp1 = null; - String str0 = row0.getValue(ParserUtils.getColumnIndex(row0.getMdkey(), metaData, oc.getColumnName(), null)).toLowerCase(Locale.getDefault()); - String str1 = row1.getValue(ParserUtils.getColumnIndex(row1.getMdkey(), metaData, oc.getColumnName(), null)).toLowerCase(Locale.getDefault()); + String str0 = row0.getValue(ParserUtils.getColumnIndex(row0.getMdkey(), metaData, oc.getColumnName(), parser)).toLowerCase(Locale.getDefault()); + String str1 = row1.getValue(ParserUtils.getColumnIndex(row1.getMdkey(), metaData, oc.getColumnName(), parser)).toLowerCase(Locale.getDefault()); switch (oc.getSelectedColType()) { case OrderColumn.COLTYPE_STRING: comp0 = str0; @@ -157,12 +160,6 @@ } - /** - * @return the metaData - */ - public MetaData getMetaData() { - return metaData; - } /** * @param metaData the metaData to set @@ -171,4 +168,12 @@ this.metaData = metaData; } + + /** + * @param parser the parser to set + */ + public void setParser(Parser parser) { + this.parser = parser; + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |