nicolaken 02/04/18 09:26:49 Modified: src/java/org/apache/cocoon/transformation SQLTransformer.java Log: Patch 8056 from [EMAIL PROTECTED] "The SQL Transformer does those nastly looking exponents for large values. By calling "getBigDecimal()" instead of getObject we can call an overridden toString and avoid those nasty things." Revision Changes Path 1.11 +17 -4 xml-cocoon2/src/java/org/apache/cocoon/transformation/SQLTransformer.java Index: SQLTransformer.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/transformation/SQLTransformer.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- SQLTransformer.java 8 Apr 2002 12:47:50 -0000 1.10 +++ SQLTransformer.java 18 Apr 2002 16:26:48 -0000 1.11 @@ -85,7 +85,7 @@ * @author <a href="mailto:[EMAIL PROTECTED]">Giacomo Pati</a> * (PWR Organisation & Entwicklung) * @author <a href="mailto:[EMAIL PROTECTED]">Sven Beauprez</a> - * @version CVS $Id: SQLTransformer.java,v 1.10 2002/04/08 12:47:50 cziegeler Exp $ + * @version CVS $Id: SQLTransformer.java,v 1.11 2002/04/18 16:26:48 nicolaken Exp $ */ public class SQLTransformer @@ -1124,11 +1124,20 @@ } protected String getColumnValue( int i ) throws SQLException { - return transformer.getStringValue( rs.getObject( i ) ); + String retval = transformer.getStringValue( rs.getObject( i ) ); + if (rs.getMetaData().getColumnType(i) == 8) + retval = transformer.getStringValue( rs.getBigDecimal( i ) ); + return retval; } + //fix not applied here because there is no metadata from Name -> number and coltype + //for a given "name" versus number. That being said this shouldn't be an issue + //as this function is only called for ancestor lookups. protected String getColumnValue( String name ) throws SQLException { - return transformer.getStringValue( rs.getObject( name ) ); + String retval = transformer.getStringValue( rs.getObject( name ) ); +// if (rs.getMetaData().getColumnType( name ) == 8) +// retval = transformer.getStringValue( rs.getBigDecimal( name ) ); + return retval; } protected boolean next() throws SQLException { @@ -1256,7 +1265,11 @@ transformer.start( this.row_name, attr ); for ( int i = 1; i <= md.getColumnCount(); i++ ) { transformer.start( md.getColumnName( i ).toLowerCase(), attr ); - this.serializeData(manager, transformer.getStringValue( rs.getObject( i ) )); + if ( md.getColumnType( i ) == 8 ) { //prevent nasty exponent notation + this.serializeData(manager, transformer.getStringValue( rs.getBigDecimal( i ) )); + } else { + this.serializeData(manager, transformer.getStringValue( rs.getObject( i ) )); + } transformer.end( md.getColumnName( i ).toLowerCase() ); } transformer.end( this.row_name );
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]