Menu

#79 Implicit Sheet Cloning fails if collection contains 1 element

2.0
closed
None
2018-05-31
2017-02-22
Gokhan Oner
No

I have a collection of data, can contain random numder of beans. But if collection contain 1 element, Implicit Sheet Cloning fails. For example 'data.debitBooks;' expression is 'data.0.debitBooks;' if there are multiple items in the collection.

2017-02-22 13:16:02.231 WARN 12532 --- [ Thread-19] org.apache.commons.jexl2.JexlEngine : net.sf.jett.expression.ExpressionFactory.createExpression@142![0,14]: 'data.sheetName;' inaccessible or unknown property data
2017-02-22 13:16:07.020 WARN 12532 --- [ Thread-19] org.apache.commons.jexl2.JexlEngine : net.sf.jett.expression.ExpressionFactory.createExpression@142![0,30]: 'dataJettItem.corr.bankname;' inaccessible or unknown property corr
2017-02-22 13:16:08.686 WARN 12532 --- [ Thread-19] org.apache.commons.jexl2.JexlEngine : net.sf.jett.expression.ExpressionFactory.createExpression@142![0,15]: 'data.debitBooks;' inaccessible or unknown property data
2017-02-22 13:16:08.690 WARN 12532 --- [ Thread-19] org.apache.commons.jexl2.JexlEngine : net.sf.jett.expression.ExpressionFactory.createExpression@142![0,15]: 'data.debitBooks;' inaccessible or unknown property data
2017-02-22 13:16:08.691 ERROR 12532 --- [ Thread-19] c.g.n.u.v.messages.UnmatchMessageView :

net.sf.jett.exception.AttributeExpressionException: Null value or expected variable missing in expression "${data.debitBooks}".
inside tag "multiForEach" (net.sf.jett.tag.MultiForEachTag), at '${data.sheetName}'!A8 (originally at '${data.sheetName}'!A8)
at net.sf.jett.util.AttributeUtil.attributeValidationFailure(AttributeUtil.java:75) ~[jett-core-0.10.1.jar:na]
at net.sf.jett.util.AttributeUtil.nullValueOrExpectedVariableMissing(AttributeUtil.java:58) ~[jett-core-0.10.1.jar:na]
at net.sf.jett.util.AttributeUtil.evaluateObject(AttributeUtil.java:446) ~[jett-core-0.10.1.jar:na]
at net.sf.jett.tag.MultiForEachTag.validateAttributes(MultiForEachTag.java:228) ~[jett-core-0.10.1.jar:na]
at net.sf.jett.tag.BaseTag.checkAttributes(BaseTag.java:207) ~[jett-core-0.10.1.jar:na]
at net.sf.jett.tag.BaseTag.processTag(BaseTag.java:226) ~[jett-core-0.10.1.jar:na]
at net.sf.jett.transform.CellTransformer.transformCellTag(CellTransformer.java:306) ~[jett-core-0.10.1.jar:na]
at net.sf.jett.transform.CellTransformer.transform(CellTransformer.java:124) ~[jett-core-0.10.1.jar:na]
at net.sf.jett.transform.BlockTransformer.transform(BlockTransformer.java:72) ~[jett-core-0.10.1.jar:na]
at net.sf.jett.transform.BlockTransformer.transform(BlockTransformer.java:34) ~[jett-core-0.10.1.jar:na]
at net.sf.jett.transform.SheetTransformer.transform(SheetTransformer.java:148) ~[jett-core-0.10.1.jar:na]
at net.sf.jett.transform.SheetTransformer.transform(SheetTransformer.java:74) ~[jett-core-0.10.1.jar:na]
at net.sf.jett.transform.ExcelTransformer.transform(ExcelTransformer.java:416) ~[jett-core-0.10.1.jar:na]
at net.sf.jett.transform.ExcelTransformer.transform(ExcelTransformer.java:391) ~[jett-core-0.10.1.jar:na]
at com.globalbilisim.nostro.ui.views.messages.UnmatchMessageView.writeNewToExcel(UnmatchMessageView.java:241) [classes/:na]
at com.globalbilisim.nostro.ui.views.messages.UnmatchMessageView.lambda$init$64(UnmatchMessageView.java:223) [classes/:na]
at org.vaadin.viritin.button.DownloadButton$3.run(DownloadButton.java:102) ~[viritin-1.59.jar:1.59]

Discussion

  • Randy Gettman

    Randy Gettman - 2017-08-11

    Gokhan,

    There was an off-by-one error in the logic that decides to clone the sheets and perform implicit cloning. This is now fixed and checked in.

    This fix will be part of the next JETT build.

     
  • Randy Gettman

    Randy Gettman - 2018-05-31
    • status: open --> closed
     
  • Randy Gettman

    Randy Gettman - 2018-05-31

    This was included in JETT 0.11.0, which was released on May 14, 2018.

     

Log in to post a comment.