Dashboard

Corrected scala/.../section23/dfdl_expressions/TestDFDLExpressionsNew.scala for test test_expr_path_past_root1

Ticket: DFDL-1771

Moved test scala-new/.../section23/dfdl_expressions/TestDFDLExpressionsNew.scala - test_expr_path_past_root1 to scala/.../section23/dfdl_expressions/TestDFDLExpressions.scala

Ticket: DFDL-1771

Fix bad diagnostic message for relative path up past root.

DFDL-1771

Fix bad diagnostic message for relative path up past root.

Some cleanups:

Fix typo in comment.

Added scaladocs for some members.

Added missing 'final' on a final class.

Convert getFormatChain() def into lazy val formatChain.

Reorganize isScalar, isOptional, isRequired, isArray to make

clearer. Put scaladoc on base abstract defs.

DFDL-1771

Some cleanups:

Fix typo in comment.

Added scaladocs for some members.

Added missing 'final' on a final class.

Convert getFormatChain() def into lazy val formatChain.

Adding slow JDOM and scala inputter/outputters for performance testing

DFDL-1731

Adding slow JDOM and scala inputter/outputters for performance testing

DFDL-1731

Modify getLong to use the same codepath as getByteArray

We currently have two different ways to get binary data that take into

account bitOrder and byteOrder: getByteArray for hexBinary data, and

long converters for integer data. This means there are two separate code

paths that deal with byte and bit order. However, getByteArray is

generic enough that it could be used to get longs.

This patch removes the converters and uses the same logic as hex binary

to get data. This adds a fillByteArray method, which accepts a

preallocated byte array and fills it using the old getByteArray logic.

getByteArray now allocates an array of the appropriate size and calls

fillByteArray. The getLong methods are modified to use a preallocated

array of 8 bytes and call fillByteArray. Since fillByteArray returns an

array of bytes in bigEndian byte order and most significant bit first

bit order, converting that to a long is very efficient.

There is now one function that deals with all the messy bit/ByteOrder

logic, making it easier to fix potential bugs and to optimize in the

future. Performance-wise this see's maybe a 5% performance boost.

However, the real gain from this is much greater test coverage of

fillByteArray since now all long parsing uses that logic. This revealed

two small bugs in the fillByteOrder logic.

DFDL-1737

Modify getLong to use the same code path as getByteArray

We currently have two different ways to get binary data that take into

account bitOrder and byteOrder: getByteArray for hexBinary data, and

long converters for integer data. This means there are two separate code

paths that deal with byte and bit order. However, getByteArray is

generic enough that it could be used to get longs.

This patch removes the converters and uses the same logic as hex binary

to get data. This adds a fillByteArray method, which accepts a

preallocated byte array and fills it using the old getByteArray logic.

getByteArray now allocates an array of the appropriate size and calls

fillByteArray. The getLong methods are modified to use a preallocated

array of 8 bytes and call fillByteArray. Since fillByteArray returns an

array of bytes in bigEndian byte order and most significant bit first

bit order, converting that to a long is very efficient.

There is now one function that deals with all the messy bit/ByteOrder

logic, making it easier to fix potential bugs and to optimize in the

future. Performance-wise this sees maybe a 5% performance boost.

However, the real gain from this is much greater test coverage of

fillByteArray since now all long parsing uses that logic. This revealed

two small bugs in the fillByteOrder logic.

DFDL-1737

Improve performance of Scala and JDOM Infoset Inputters

The current implementation of these two infoset inputters were just

stubs. They convert the respective data (scala.xml.Node or

org.jdom2.Document) to a string, convert that string to a StringReader,

and then create an XMLTextInfosetInputter to generate the appropriate

events. This conversion to a string has some amount of overhead and

should be avoided. This patch modifies the Scala and JDOM infoset

inputters to step through the data structures and return the appropriate

events, avoiding the overhead related to toString conversion and parsing

of the XML string.

Some basic tests show that the performance improvements can vary pretty

wildy, in some cases seeing only a 10% increase, but in others seeing a

60% increase. Regardless, there is always an increase in performance.

DFDL-1760, DFDL-1761

Updated JAPI and SAPI eclipse classpaths with jackson-core library.

Added tests (to scala debug) for DFDL-1773.

Does not fix bug. Just allows it to be reproduced.

DFDL-1773

Changes to print unique names for dsom objects and store the counts of these objects for performance investigating purposes.

Improve performance of Scala and JDOM Infoset Inputters

The current implementation of these two infoset inputters were just

stubs. They convert the respective data (scala.xml.Node or

org.jdom2.Document) to a string, convert that string to a StringReader,

and then create an XMLTextInfosetInputter to generate the appropriate

events. This conversion to a string has some amount of overhead and

should be avoided. This patch modifies the Scala and JDOM infoset

inputters to step through the data structures and return the appropriate

events, avoiding the overhead related to toString conversion and parsing

of the XML string.

Some basic tests show that the performance improvements can vary pretty

wildy, in some cases seeing only a 10% increase, but in others seeing a

60% increase. Regardless, there is always an increase in performance.

DFDL-1760, DFDL-1761

Be more lax when figuring out the git tracking branch

Newer versions of git show the tracking branch as origin/2.0.0, but some

older versions show it as remotes/origin/2.0.0. Our regex was too strict

and so would fail with older versions of git. This fixes that regex to

be a little more relaxed when finding the version of the tracking branch

so that older versions of git still work.

Adding outputter for W3C DOM

DFDL-1752

Adding outputter for W3C DOM

DFDL-1752

Ensure we have a Daffodil version when building release artifacts

This includes anything related to publish, publishLocal, staging,

packageBin, etc.

DFDL-1770

Ensure we have a Daffodil version when building release artifacts

This includes anything related to publish, publishLocal, staging,

packageBin, etc.

DFDL-1770

squash! Create new InfosetInputter for unparse

- Update genjavadoc plugin to 10.0, which supports converting scala

@deprecated annotations to java annotations

- Deprecate old unparse methods

- Add old parse methods back and deprecate for backwards compatibility

- Combine InfosetCursorFromXMLReader to InfosetInputter

  1. … 3 more files in changeset.
Removing daffodil-extra directory and references in build.scala

DFDL-1575

Removing daffodil-extra directory and references in build.scala

DFDL-1575

Fix bad diagnostic if dfdl:newVariableInstance is used.

DFDL-1766

Fix backtracking bug.

DFDL-1765

Fix backtracking bug.

DFDL-1765

Fix backtracking bug.

DFDL-1765

fixup! Adding JDOMInfosetOutputter

package name for Parser and PState now matches directory names.

Important or Eclipse doesn't work well.

There is no functional change here. Only package and import statements

and the locations of some base classes traits changed.

DFDL-1764

  1. … 50 more files in changeset.
package name for Parser and PState now matches directory names.

Important or Eclipse doesn't work well.

There is no functional change here. Only package and import statements

and the locations of some base classes traits changed.

DFDL-1764

  1. … 48 more files in changeset.
Rebase fixes.