summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLionel Elie Mamane <lionel@mamane.lu>2012-06-18 16:28:14 +0200
committerLionel Elie Mamane <lionel@mamane.lu>2012-06-18 16:47:30 +0200
commitb86f2147e496e3b7ca5a085b302f6144f338aa82 (patch)
tree8ecdda7199b3c38c9f13959d9af4f75660718722
parentf4c567f8d4c46aca75f7c73d67e0bc952b4c2e2d (diff)
fdo#43967 legacy report designer wizard formats dates improperly
1) Set FormatsSupplier property only if underlying object has one. Else, exception is thrown and the format is not set 2) getTyperelatedFieldData uses the format keys, so initialize them before call, not after. Change-Id: I68c4c96a9da9a6afdc3ab8964e973588f53ee814
-rw-r--r--wizards/com/sun/star/wizards/common/NumberFormatter.java5
-rw-r--r--wizards/com/sun/star/wizards/db/FieldColumn.java16
2 files changed, 12 insertions, 9 deletions
diff --git a/wizards/com/sun/star/wizards/common/NumberFormatter.java b/wizards/com/sun/star/wizards/common/NumberFormatter.java
index 9c0feb5644a3..bbf63852b3f6 100644
--- a/wizards/com/sun/star/wizards/common/NumberFormatter.java
+++ b/wizards/com/sun/star/wizards/common/NumberFormatter.java
@@ -201,7 +201,10 @@ public class NumberFormatter
Locale oLocale = (Locale) Helper.getUnoPropertyValue(xNumberFormat, "Locale");
int NewFormatKey = defineNumberFormat(FormatString, oLocale);
XPropertySet xPSet = UnoRuntime.queryInterface(XPropertySet.class, _xFormatObject);
- xPSet.setPropertyValue("FormatsSupplier", _oNumberFormatter.xNumberFormatter.getNumberFormatsSupplier());
+ if (xPSet.getPropertySetInfo().hasPropertyByName("FormatsSupplier"))
+ {
+ xPSet.setPropertyValue("FormatsSupplier", _oNumberFormatter.xNumberFormatter.getNumberFormatsSupplier());
+ }
if (xPSet.getPropertySetInfo().hasPropertyByName("NumberFormat"))
{
xPSet.setPropertyValue("NumberFormat", new Integer(NewFormatKey));
diff --git a/wizards/com/sun/star/wizards/db/FieldColumn.java b/wizards/com/sun/star/wizards/db/FieldColumn.java
index ebedd22d281a..47b37df71d66 100644
--- a/wizards/com/sun/star/wizards/db/FieldColumn.java
+++ b/wizards/com/sun/star/wizards/db/FieldColumn.java
@@ -154,13 +154,8 @@ public class FieldColumn
{
try
{
- m_xColPropertySet = UnoRuntime.queryInterface(XPropertySet.class, _xColumns.getByName(m_sFieldName));
- ColIndex = JavaTools.FieldInList(_xColumns.getElementNames(), m_sFieldName) + 1;
- m_nFieldType = AnyConverter.toInt(m_xColPropertySet.getPropertyValue("Type"));
- getTyperelatedFieldData();
-
- if (!bFormatKeysInitialized)
- {
+ if (!bFormatKeysInitialized)
+ {
final NumberFormatter aNumberFormatter = oCommandMetaData.getNumberFormatter();
iDateFormatKey = aNumberFormatter.getDateFormatKey();
@@ -170,7 +165,12 @@ public class FieldColumn
iTimeFormatKey = aNumberFormatter.getTimeFormatKey();
iLogicalFormatKey = aNumberFormatter.getLogicalFormatKey();
bFormatKeysInitialized = true;
- }
+ }
+
+ m_xColPropertySet = UnoRuntime.queryInterface(XPropertySet.class, _xColumns.getByName(m_sFieldName));
+ ColIndex = JavaTools.FieldInList(_xColumns.getElementNames(), m_sFieldName) + 1;
+ m_nFieldType = AnyConverter.toInt(m_xColPropertySet.getPropertyValue("Type"));
+ getTyperelatedFieldData();
}
catch (Exception e)
{