cuba-platform / yarg

Yet Another Report Generator - CUBA Platform reporting engine
https://www.cuba-platform.com
Apache License 2.0
239 stars 75 forks source link

NPE when band orientation is not set #112

Closed ShokReD closed 4 years ago

ShokReD commented 5 years ago

I have such xml:

...
<rootBand name="Root" orientation="H">
  <bands>
    <band name="Header"/>
  </bands>
</rootBand>
...

When I try to create a document:

@Override
public void generateReport(DataSource dataSource, String xml, String location) throws IOException {
    com.haulmont.yarg.structure.Report report = new DefaultXmlReader()
            .parseXml(xml);

    Reporting reporting = new Reporting();
    reporting.setFormatterFactory(new DefaultFormatterFactory());
    reporting.setLoaderFactory(
            new DefaultLoaderFactory().setSqlDataLoader(
                    new SqlDataLoader(dataSource)
            )
    );

    reporting.runReport(new RunParams(report), new FileOutputStream(location));
}

I get NPE:

java.lang.NullPointerException: null
    at com.haulmont.yarg.structure.xml.impl.DefaultXmlReader.parseChildBandDefinitions(DefaultXmlReader.java:170)
    at com.haulmont.yarg.structure.xml.impl.DefaultXmlReader.parseXml(DefaultXmlReader.java:73)