BF [ 2876268 ] DataEngine: error on text long fields

https://sourceforge.net/tracker/?func=detail&aid=2876268&group_id=176962&atid=879332
This commit is contained in:
teo_sarca 2009-10-10 15:57:05 +00:00
parent 9b69cad0e9
commit bb8270ed48
1 changed files with 14 additions and 5 deletions

View File

@ -25,7 +25,6 @@ import java.util.ArrayList;
import java.util.Properties; import java.util.Properties;
import java.util.logging.Level; import java.util.logging.Level;
import org.adempiere.exceptions.AdempiereException;
import org.compiere.model.MLookupFactory; import org.compiere.model.MLookupFactory;
import org.compiere.model.MQuery; import org.compiere.model.MQuery;
import org.compiere.model.MRole; import org.compiere.model.MRole;
@ -55,6 +54,9 @@ import org.compiere.util.ValueNamePair;
* <li>BF [ 2549128 ] Report View Column not working at all * <li>BF [ 2549128 ] Report View Column not working at all
* <li>BF [ 2865545 ] Error if not all parts of multikey are lookups * <li>BF [ 2865545 ] Error if not all parts of multikey are lookups
* https://sourceforge.net/tracker/?func=detail&aid=2865545&group_id=176962&atid=879332 * https://sourceforge.net/tracker/?func=detail&aid=2865545&group_id=176962&atid=879332
* @author Teo Sarca, teo.sarca@gmail.com
* <li>BF [ 2876268 ] DataEngine: error on text long fields
* https://sourceforge.net/tracker/?func=detail&aid=2876268&group_id=176962&atid=879332
* @author victor.perez@e-evolution.com * @author victor.perez@e-evolution.com
* <li>FR [ 2011569 ] Implementing new Summary flag in Report View http://sourceforge.net/tracker/index.php?func=detail&aid=2011569&group_id=176962&atid=879335 * <li>FR [ 2011569 ] Implementing new Summary flag in Report View http://sourceforge.net/tracker/index.php?func=detail&aid=2011569&group_id=176962&atid=879335
*/ */
@ -913,12 +915,19 @@ public class DataEngine
} }
else if (pdc.getDisplayType() == DisplayType.TextLong) else if (pdc.getDisplayType() == DisplayType.TextLong)
{ {
Clob clob = rs.getClob(counter++);
String value = ""; String value = "";
if (clob != null) if ("java.lang.String".equals(rs.getMetaData().getColumnClassName(counter)))
{ {
long length = clob.length(); value = rs.getString(counter++);
value = clob.getSubString(1, (int)length); }
else
{
Clob clob = rs.getClob(counter++);
if (clob != null)
{
long length = clob.length();
value = clob.getSubString(1, (int)length);
}
} }
pde = new PrintDataElement(pdc.getColumnName(), value, pdc.getDisplayType(), pdc.getFormatPattern()); pde = new PrintDataElement(pdc.getColumnName(), value, pdc.getDisplayType(), pdc.getFormatPattern());
} }