summaryrefslogtreecommitdiff
path: root/reportbuilder
diff options
context:
space:
mode:
authorOcke Janssen [oj] <Ocke.Janssen@oracle.com>2011-01-07 08:37:24 +0100
committerOcke Janssen [oj] <Ocke.Janssen@oracle.com>2011-01-07 08:37:24 +0100
commit656c73c2e4138f110f1b08f60482ae66f8f843ef (patch)
tree9063b052f465daedc26d417debbccc2940f7c271 /reportbuilder
parent5d8a9e1ced042909fc5f74387a95743908383935 (diff)
dba34c: #i108590# convert number to date
Diffstat (limited to 'reportbuilder')
-rwxr-xr-xreportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormatValueUtility.java17
1 files changed, 15 insertions, 2 deletions
diff --git a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormatValueUtility.java b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormatValueUtility.java
index fc1baaa8c9a3..707c2de1c8ab 100755
--- a/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormatValueUtility.java
+++ b/reportbuilder/java/com/sun/star/report/pentaho/layoutprocessor/FormatValueUtility.java
@@ -29,6 +29,7 @@ package com.sun.star.report.pentaho.layoutprocessor;
import com.sun.star.report.OfficeToken;
import com.sun.star.report.pentaho.OfficeNamespaces;
import com.sun.star.report.pentaho.model.FormattedTextElement;
+import java.math.BigDecimal;
import java.sql.Time;
@@ -46,7 +47,6 @@ import org.jfree.report.flow.layoutprocessor.LayoutControllerUtil;
import org.pentaho.reporting.libraries.formula.util.HSSFDateUtil;
-
/**
* Creation-Date: 06.06.2007, 17:03:30
*
@@ -125,18 +125,31 @@ public class FormatValueUtility
}
else if (value instanceof java.sql.Date)
{
- if ( "float".equals(valueType))//@see http://qa.openoffice.org/issues/show_bug.cgi?id=108954
+ if ("float".equals(valueType))//@see http://qa.openoffice.org/issues/show_bug.cgi?id=108954
{
variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE, HSSFDateUtil.getExcelDate((Date) value, false, 2).toString());
}
else
+ {
variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, "date-value", formatDate((Date) value));
+ }
}
else if (value instanceof Date)
{
variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE_TYPE, "float");
variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE, HSSFDateUtil.getExcelDate((Date) value, false, 2).toString());
}
+ else if (value instanceof BigDecimal)
+ {
+ if ("date".equals(valueType))
+ {
+ variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, "date-value", formatDate(HSSFDateUtil.getJavaDate((BigDecimal)value, false, 0)));
+ }
+ else
+ {
+ variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE, String.valueOf(value));
+ }
+ }
else if (value instanceof Number)
{
variableSection.setAttribute(OfficeNamespaces.OFFICE_NS, VALUE, String.valueOf(value));