fdo#67930 don't use variables for formattedtext in header/footer

I don't know why it was going through variables.
Instead, put the value where it is supposed to,
like for formattedtext in detail section.
Try it, and if something breaks, we can revert.

This also works around fdo#67930

Change-Id: Ia7f08afd8a037d3ac75676c5221ddb36aa791354
This commit is contained in:
Lionel Elie Mamane
2013-08-12 18:41:44 +02:00
parent 7382b89f35
commit fc92c1abeb

View File

@@ -100,30 +100,39 @@ public class FormattedTextLayoutController
DataSourceException DataSourceException
{ {
final FormattedTextElement element = (FormattedTextElement) getNode(); final FormattedTextElement element = (FormattedTextElement) getNode();
final VariablesCollection vc = getVariablesCollection(); // LEM 20130812 I have absolutely no clue why it wants to go via
if (vc != null) // a variable like that. It complicates things, is fragile
{ // (because the variable-set is done in *every* detail section
final String name = vc.addVariable(element); // again and again. This in itself is not that bad, but when
final AttributeMap variablesGet = new AttributeMap(); // the detail section is of height zero, the "set" us never done...
variablesGet.setAttribute(JFreeReportInfo.REPORT_NAMESPACE, // and this whole schema fails). For now, keep the code in case
Element.TYPE_ATTRIBUTE, "variable-get"); // something break. If we survive the 4.2 cycle (in its entirety)
variablesGet.setAttribute(JFreeReportInfo.REPORT_NAMESPACE, // without regression traced to this, then remove it (for 4.4 or
Element.NAMESPACE_ATTRIBUTE, OfficeNamespaces.TEXT_NS); // something like that).
variablesGet.setAttribute(OfficeNamespaces.TEXT_NS, "name", name); // final VariablesCollection vc = getVariablesCollection();
// if (vc != null)
// {
// final String name = vc.addVariable(element);
// final AttributeMap variablesGet = new AttributeMap();
// variablesGet.setAttribute(JFreeReportInfo.REPORT_NAMESPACE,
// Element.TYPE_ATTRIBUTE, "variable-get");
// variablesGet.setAttribute(JFreeReportInfo.REPORT_NAMESPACE,
// Element.NAMESPACE_ATTRIBUTE, OfficeNamespaces.TEXT_NS);
// variablesGet.setAttribute(OfficeNamespaces.TEXT_NS, "name", name);
final String dataStyleName = computeValueStyle(); // final String dataStyleName = computeValueStyle();
if (dataStyleName != null) // if (dataStyleName != null)
{ // {
variablesGet.setAttribute(OfficeNamespaces.STYLE_NS, "data-style-name", dataStyleName); // variablesGet.setAttribute(OfficeNamespaces.STYLE_NS, "data-style-name", dataStyleName);
} // }
final String valueType = computeValueType(); // final String valueType = computeValueType();
variablesGet.setAttribute(OfficeNamespaces.OFFICE_NS, FormatValueUtility.VALUE_TYPE, valueType); // variablesGet.setAttribute(OfficeNamespaces.OFFICE_NS, FormatValueUtility.VALUE_TYPE, valueType);
target.startElement(variablesGet); // target.startElement(variablesGet);
target.endElement(variablesGet); // target.endElement(variablesGet);
} // }
else // else
{ {
final DataFlags df = FormatValueUtility.computeDataFlag(element, getFlowController()); final DataFlags df = FormatValueUtility.computeDataFlag(element, getFlowController());
if (df != null) if (df != null)