---------- Forwarded message --------- From: Mike Beckerle <notificati...@github.com> Date: Sat, Mar 16, 2024 at 4:23 PM Subject: [apache/daffodil] 4th (and final) cut of New Layer API & Improved Implementation (PR #1187) To: apache/daffodil <daffo...@noreply.github.com> Cc: Mike Beckerle <mbecke...@apache.org>, Your activity < your_activ...@noreply.github.com>
This PR is a bit of a monster with over 100 files touched. Changes are extensive enough since the prior "3rd cut" PR, that I decided to create a new PR, leaving that other one for reference for now. It is now I believe/hope in fairly complete and clean shape, and rebased onto the latest. Extensive testing has been added. I'm curious what codecov says about the layer stuff now. The rest of below is from the commit message ------------------------------ This commit fixes the remaining issues open about Daffodil's Layers extension/plugins. Partial progress was in commit ff9ba4. This finishes that work. - DAFFODIL-2845 <https://issues.apache.org/jira/browse/DAFFODIL-2845> - Layer Improvements (umbrella ticket) - DAFFODIL-2844 <https://issues.apache.org/jira/browse/DAFFODIL-2844> - LayerNotEnoughDataException ... - DAFFODIL-2825 <https://issues.apache.org/jira/browse/DAFFODIL-2825> - Define Supported Layering API - DAFFODIL-2841 <https://issues.apache.org/jira/browse/DAFFODIL-2841> - Layers do not support created SDE or PE/UE Errors - DAFFODIL-2843 <https://issues.apache.org/jira/browse/DAFFODIL-2843> - How to create PE/UE from a layer The layer API is all defined in Java clases and interfaces now. One of the built-in layers (Gzip) is written in Java now. There is only one layer property now: dfdlx:layer which takes a QName of the layer class. Layer classes are derived from org.apache.daffodil.runtime1.layers.api.Layer A layer a name and target namespace, and hence a QName is required to identify it. This namespace is OWNED by the layer. All DFDL variables defined in that namespace are either used to pass parameters to the layer code, or receive results (such as a checksum) back from the layer code. This is enforced. A layer that has no DFDL variables does not have to define a DFDL schema that defines the layer's target namespace, but any layer that uses DFDL variables *must* define a schema with the layer's namespace as its target namespace, with the variables declared in it (using dfdl:defineVariable). There is also an abstract base class for defining checksum layers called, org.apache.daffodil.runtime1.layers.api.ChecksumLayer All the layer properties about layer length kinds etc. are gone. dfdlx:layerLengthKind='boundaryMark' and dfdlx:boundaryMark properties are replaced by a layer named 'boundaryMark'. dfdlx:layerLengthKind='explicit' and dfdlx:layerLength properties are replaced by a layer named 'fixedLength'. dfdlx:layerLengthKind='implicit' is replaced by just not using one of the two above layers. dfdlx:layerTransform is replaced by just dfdlx:layer and is now a QName. Layers no longer have both transformers and length-limiters mixed together. There are two ways to do explicit layer limiting, that differ in an important way. If you use 'implicit' layer length (no restriction layer), and constrain the layer length by a surrounding element of specified length, then the layer length is controlled when parsing, but NOT controlled when unparsing. If you use the layer "fixedLength", that dictates the parse and unparse length to be the value of the layerLength variable. Similarly if you use a checksum layer built with the ChecksumLayer base class, the length is controlled for both parsing and unparsing as it works like the fixedLength layer. Layer Variables: Each variable is either a parameter passed to a special setter named setLayerVariableParameters, or is a return variable which is populated from a special getter. The special setter args and getters taken together must use up all the DFDL variables defined in the layer's namespace. (See the javadoc for the Layer base class.) A special getter example might be: int getLayerVariableResult_checksum() { .... } This corresponds to, and returns the value that populates, the DFDL variable named 'checksum' in the layer's namespace. That DFDL variable must have a DFDL type corresponding to the int type (xs:unsignedShort or xs:int). Layers could have multiple result variables, but we have no actual examples of more than one value being returned. (Returning multiple variables is tested. We just have no real use cases for it at this time.) Additional Fixes in this Commit: Fixed gzip layer which was not constructing on Java 17 or 21 due to static initializer differences of some sort. Removed restriction that a layer can only have a single term inside it. Added close() to InputSourceDataInputStream, as we weren't closing these. There are a large number of simplifications in the "layering" of the various layer-related implementation classes. LayerRegistry is gone, merged into LayerFactory, which is gone, merged into LayerDriver. In the examples/tests for layering: Changed check digit bad digit style to construct an always-invalid element instead of an assertion failure. About Testing: The testing is quite extensive now. There are tests for every way that a user can goof up the definition of a layer class, and there are tests for processingError, runtimeSchemaDefinitionError, and throwing an Exception from every place a user-defined Layer could cause these. Parse errors cause backtracking in all sensible cases. Nothing aborts. Protecting every place that layer code is called from any sort of error/throw requires quite a number of try/catch blocks. This may have performance implications. DEPRECATION/COMPATABILITY This new Layer API is 100% incompatible with schemas or layer code from Daffodil 3.6.0 and all prior versions of Daffodil. The layer feature was just an experimental feature in Daffodil, so we reserved the right to change it. However, it is our hope that the new Layer API introduced by this commit will prove to be stable and supportable indefinitely. DAFFODIL-2845 <https://issues.apache.org/jira/browse/DAFFODIL-2845>, DAFFODIL-2844 <https://issues.apache.org/jira/browse/DAFFODIL-2844>, DAFFODIL-2825 <https://issues.apache.org/jira/browse/DAFFODIL-2825>, DAFFODIL-2841 <https://issues.apache.org/jira/browse/DAFFODIL-2841>, DAFFODIL-2843 <https://issues.apache.org/jira/browse/DAFFODIL-2843> ------------------------------ You can view, comment on, or merge this pull request online at: https://github.com/apache/daffodil/pull/1187 Commit Summary - e2d629e <https://github.com/apache/daffodil/pull/1187/commits/e2d629e92f727d12a1123748f34fe3a01fe150a8> New Layer API & Improved Implementation File Changes (142 files <https://github.com/apache/daffodil/pull/1187/files>) - *M* DEVELOP.md <https://github.com/apache/daffodil/pull/1187/files#diff-234666c668a956cce482e25e1a9399c1d01026f259c36e0d721d5d30456ab6b5> (2) - *M* daffodil-cli/src/main/scala/org/apache/daffodil/cli/Main.scala <https://github.com/apache/daffodil/pull/1187/files#diff-ece1d46f53384e272f612bfca52401585da14354534e5a87ea3ad26e786a24bb> (242) - *R* daffodil-cli/src/test/resources/META-INF/services/org.apache.daffodil.runtime1.layers.api.Layer <https://github.com/apache/daffodil/pull/1187/files#diff-63a6b11b3456145710ed5cee905fb517c0fd006c786c85585e3aea4eb9cbd4f8> (2) - *M* daffodil-cli/src/test/resources/org/apache/daffodil/layers/buggy.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-fe34c76e8c0b58de96c9b3d80cd3bf952b7a0128c696dfc070d8317ebab4bf10> (7) - *M* daffodil-cli/src/test/resources/org/apache/daffodil/layers/xsd/buggyLayer.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-099438602b45744a94d5f8c4d6faaf8c3b88a6debf38e5326631ead500f9bec2> (13) - *M* daffodil-cli/src/test/resources/test/cli/fixedLength.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-405c33cf3b6d361fa09e9571cab84a116a3b55bfdfc294a2f5dae302ec3c8040> (4) - *M* daffodil-cli/src/test/scala/org/apache/daffodil/cli/cliTest/TestCLIParsing.scala <https://github.com/apache/daffodil/pull/1187/files#diff-f008168394c609ff56e394a8e35f2ab4e3782b9260c6fd16fd84e80b51318964> (4) - *A* daffodil-cli/src/test/scala/org/apache/daffodil/layers/BuggyLayer.scala <https://github.com/apache/daffodil/pull/1187/files#diff-b35cc43cb308252f90d7a8e93ba4b88995e83f317e1e52c3b978f6d30a9213fb> (40) - *D* daffodil-cli/src/test/scala/org/apache/daffodil/layers/BuggyTransformer.scala <https://github.com/apache/daffodil/pull/1187/files#diff-33a590caab538d349058b6392de684b84dc64b9e6c1ee7cf86da4cbd3b220ef1> (73) - *M* daffodil-core/src/main/scala/org/apache/daffodil/core/dpath/Expression.scala <https://github.com/apache/daffodil/pull/1187/files#diff-69a8e39f802e358e341e003d5bef92488725c2bb0686291177b8b377bcc9ab66> (7) - *M* daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/DFDLFormatAnnotation.scala <https://github.com/apache/daffodil/pull/1187/files#diff-855781a2260edc57998610e824c40cc0c183eb476d4edc7c56f18023113905a2> (14) - *M* daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/ModelGroup.scala <https://github.com/apache/daffodil/pull/1187/files#diff-90d34e749a52c2a5fa11cfd64295e7bb2e69c1b40e4eaacf3d8d9f262e02912b> (146) - *M* daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/RawCommonRuntimeValuedPropertiesMixin.scala <https://github.com/apache/daffodil/pull/1187/files#diff-bdbe4a110195e978539eba50ef5d357a3d6d0d89ef3ba27083e0b2efbc9c39f8> (13) - *M* daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/RuntimePropertyMixins.scala <https://github.com/apache/daffodil/pull/1187/files#diff-88b37a7bca66eb9f0ba0ae7edf5b35ce4ed1f8524562ce03e917d133f24ea601> (92) - *M* daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/SchemaSet.scala <https://github.com/apache/daffodil/pull/1187/files#diff-3bfec53c2634e24e6fb500b8fcd2ac92ef78d61ee920e0e25187336aa4937c6a> (9) - *M* daffodil-core/src/main/scala/org/apache/daffodil/core/dsom/SequenceGroup.scala <https://github.com/apache/daffodil/pull/1187/files#diff-16e6e1c0f9c8fb862987c37092c4651c755c45955349e3ef092b1e9a5d898575> (96) - *M* daffodil-core/src/main/scala/org/apache/daffodil/core/grammar/SequenceGrammarMixin.scala <https://github.com/apache/daffodil/pull/1187/files#diff-c4f68ec868756104849fd9ba7bf6ccf4263db8b9040b9ede162cf994fb922e83> (12) - *M* daffodil-core/src/main/scala/org/apache/daffodil/core/grammar/primitives/LayeredSequence.scala <https://github.com/apache/daffodil/pull/1187/files#diff-7f6dec6a41f99a3443a4bced2b336e3ccc75b122c55001950af236afb466c5bd> (40) - *A* daffodil-core/src/main/scala/org/apache/daffodil/core/layers/LayerSchemaCompiler.scala <https://github.com/apache/daffodil/pull/1187/files#diff-21a2cf5d9d1b983d4616ed0aec50200c35b6ca31cc01878fda85b8b4e0cc3f2d> (79) - *M* daffodil-core/src/main/scala/org/apache/daffodil/core/runtime1/SequenceTermRuntime1Mixin.scala <https://github.com/apache/daffodil/pull/1187/files#diff-f0d1d7e9f07e09da8c5f604edb454165d2bfe6923335324a487b01fc900b97b1> (2) - *M* daffodil-core/src/main/scala/org/apache/daffodil/core/runtime1/VariableRuntime1Mixin.scala <https://github.com/apache/daffodil/pull/1187/files#diff-4a91df9631be1792f94d07d244a18fa5a026c8612645b36e9288d031ecdcd87c> (9) - *M* daffodil-core/src/test/scala/org/apache/daffodil/core/layers/TestLayers.scala <https://github.com/apache/daffodil/pull/1187/files#diff-775f7c53e08f690993d2fb7aa93ddb126f487c168d71fcdf3d6196559f4555cb> (281) - *M* daffodil-io/src/main/resources/META-INF/services/org.apache.daffodil.io.processors.charset.BitsCharsetDefinition <https://github.com/apache/daffodil/pull/1187/files#diff-ea16aa61b3483a6651315ea1ee121146efd593d6f0144dde825939ab1e293f60> (1) - *A* daffodil-io/src/main/scala/org/apache/daffodil/io/BoundaryMarkStreams.scala <https://github.com/apache/daffodil/pull/1187/files#diff-913b9c1958d74a870a06eaca532b395795159e463b70268ad9fea34dd503a425> (92) - *M* daffodil-io/src/main/scala/org/apache/daffodil/io/DataInputStream.scala <https://github.com/apache/daffodil/pull/1187/files#diff-8888daf11c6445bbf941881a91ea370f0fae2ff177abe08bf7cdb62651d21a3f> (6) - *M* daffodil-io/src/main/scala/org/apache/daffodil/io/DirectOrBufferedDataOutputStream.scala <https://github.com/apache/daffodil/pull/1187/files#diff-54ec9da14e47187ffdeeb515a11f925da7a44fee744fb423547135277973972b> (135) - *M* daffodil-io/src/main/scala/org/apache/daffodil/io/InputSource.scala <https://github.com/apache/daffodil/pull/1187/files#diff-2c482c5e0b8ab414322e2ec7700c49d6d8d6f224927b11b486a8aff7d4dd4530> (11) - *M* daffodil-io/src/main/scala/org/apache/daffodil/io/InputSourceDataInputStream.scala <https://github.com/apache/daffodil/pull/1187/files#diff-5e3bb95ca55d3583133025dbe746dc820b6ef8a206875e421f9bb865fededc4c> (2) - *R* daffodil-io/src/main/scala/org/apache/daffodil/io/RegexLimitingInputStream.scala <https://github.com/apache/daffodil/pull/1187/files#diff-73edb204b252bb1746370e6a1dce7ab914311a582264fd246e09cce1eb21a7fc> (132) - *M* daffodil-io/src/main/scala/org/apache/daffodil/io/StringDataInputStreamForUnparse.scala <https://github.com/apache/daffodil/pull/1187/files#diff-3fd1e3ba2fc61e010a380dd6ae37d03e861205f391bf5cd110e54a7c912d2067> (4) - *D* daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/AISPayloadArmoring.scala <https://github.com/apache/daffodil/pull/1187/files#diff-a5bd6bc3609117dc12696c2187ded03479dc9831fed443680909c308aca7b864> (52) - *M* daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/BitsCharset.scala <https://github.com/apache/daffodil/pull/1187/files#diff-9a357077c0b3300116f1899f5fd4463e5578c87c1cc15ee6b644f34b897305a9> (3) - *M* daffodil-io/src/main/scala/org/apache/daffodil/io/processors/charset/BitsCharsetNonByteSize.scala <https://github.com/apache/daffodil/pull/1187/files#diff-7296d75ee59e68ae06219ac0bedcb990b759b1d13a5ef6d2bacf7822abbf86ed> (4) - *M* daffodil-io/src/test/scala/org/apache/daffodil/io/TestDataOutputStream.scala <https://github.com/apache/daffodil/pull/1187/files#diff-9c255eb9b342c464c656ef8de7906bc3e95c3d9ba0a21bcb209bd3353c2c3fd2> (52) - *M* daffodil-io/src/test/scala/org/apache/daffodil/io/TestDataOutputStream2.scala <https://github.com/apache/daffodil/pull/1187/files#diff-2a7457f570dd77e7cab82fc51a3c9547de8efbe967c9c7f013520c09970a2609> (6) - *M* daffodil-io/src/test/scala/org/apache/daffodil/io/TestDataOutputStream3.scala <https://github.com/apache/daffodil/pull/1187/files#diff-40524308c916192f1bc40a8c3b326af36d3f1d2482d56c03e0ded2d54725e1f6> (52) - *M* daffodil-io/src/test/scala/org/apache/daffodil/io/TestDataOutputStream4.scala <https://github.com/apache/daffodil/pull/1187/files#diff-62e176d9c323234826f95786f4a5b5f43a3aabe239287617b1d57aa0bfd07ec0> (2) - *M* daffodil-io/src/test/scala/org/apache/daffodil/layers/TestBase64.scala <https://github.com/apache/daffodil/pull/1187/files#diff-0131d359c3080631925d311ef5347af5d3471322fd7daedd8bc0e7c8357dfcd5> (8) - *M* daffodil-io/src/test/scala/org/apache/daffodil/layers/TestJavaIOStreams.scala <https://github.com/apache/daffodil/pull/1187/files#diff-ba3c2c3b27cb3111e0fadccbd02984143647d66953aed63cb8ddffb0fe2610e9> (5) - *M* daffodil-io/src/test/scala/org/apache/daffodil/layers/TestLimitingJavaIOStreams.scala <https://github.com/apache/daffodil/pull/1187/files#diff-fec0cf5c72ddc3d24146a42cb91e36b48eb5d91492f822471362b1dbf7f23b5d> (109) - *M* daffodil-japi/src/main/scala/org/apache/daffodil/japi/io/InputSourceDataInputStream.scala <https://github.com/apache/daffodil/pull/1187/files#diff-e51ebeed4ab21ce7057f84e97fb2469f1d3d1ee047cfebb7f1fec459a0b781fb> (4) - *M* daffodil-lib/src/main/scala/org/apache/daffodil/lib/api/Diagnostic.scala <https://github.com/apache/daffodil/pull/1187/files#diff-1d3ccbe6c10fb580005b963333694eddd083eeeaf8506ed93d17e4aa067bb1b4> (10) - *M* daffodil-lib/src/main/scala/org/apache/daffodil/lib/schema/annotation/props/ByHandMixins.scala <https://github.com/apache/daffodil/pull/1187/files#diff-30029d308ce4ea36aaa0bca6bde9aa1ae1559967dabd2aba0eee9b7a44ad4b49> (13) - *M* daffodil-lib/src/main/scala/org/apache/daffodil/lib/schema/annotation/props/PropertyScoping.scala <https://github.com/apache/daffodil/pull/1187/files#diff-3e0eb53715a26466097bdcd7d1348c5e85da5897f8fede59abaf31a890c3d814> (18) - *M* daffodil-lib/src/main/scala/org/apache/daffodil/lib/util/Maybe.scala <https://github.com/apache/daffodil/pull/1187/files#diff-2f48575d0c518d415c53657df69586617a8787325e2ed5b6121fda78c34f23b3> (11) - *M* daffodil-lib/src/main/scala/org/apache/daffodil/lib/util/Misc.scala <https://github.com/apache/daffodil/pull/1187/files#diff-c6ae6eee8c1aa8eae2e5ddbae9f720c033687f2001d45c45365c9f0016ee2363> (2) - *M* daffodil-lib/src/main/scala/org/apache/daffodil/lib/xml/Namespaces.scala <https://github.com/apache/daffodil/pull/1187/files#diff-e1da287eb8a79856bdb5774566db5cb1baa0af664b1ea3ba3e5e6cc60a3da5e1> (2) - *M* daffodil-lib/src/main/scala/org/apache/daffodil/lib/xml/QNameBase.scala <https://github.com/apache/daffodil/pull/1187/files#diff-93348ca9b70d51d75528c73ed5f609ea3fa46e238fa9ffb3a64cdae58ba3b693> (72) - *M* daffodil-propgen/src/main/resources/org/apache/daffodil/xsd/DFDL_part2_attributes.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-98e94c1cd1d19e7622faa5edad8b98dbb83cd5ceee409ed9cd215785528efee6> (4) - *M* daffodil-propgen/src/main/resources/org/apache/daffodil/xsd/dafext.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-094e05b9ce3816cee03a82154a1ed28d919b6e7b0f8534c3a879ec033de4ae20> (4) - *M* daffodil-propgen/src/main/resources/org/apache/daffodil/xsd/dfdlx.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-b7fc6db87168763b1d7e5037896cb4b74d27ab93f428c1e97a17114f3ebe102d> (114) - *M* daffodil-propgen/src/main/scala/org/apache/daffodil/propGen/PropertyGenerator.scala <https://github.com/apache/daffodil/pull/1187/files#diff-048a7b6baf83f2bf20f97155d40cc11da95541c579b164ee2e3ff1ad5371a99e> (7) - *R* daffodil-runtime1-layers/src/main/resources/META-INF/services/org.apache.daffodil.runtime1.layers.api.Layer <https://github.com/apache/daffodil/pull/1187/files#diff-1b41856b5553c327eb25661fe575b383a7479934c4968a45ae5ea18d2813658c> (13) - *A* daffodil-runtime1-layers/src/main/resources/org/apache/daffodil/layers/xsd/base64_MIMELayer.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-e6b863227ee4273bdf4cf141dac4332558c068714d968e960bedabe8b11ce5e4> (32) - *A* daffodil-runtime1-layers/src/main/resources/org/apache/daffodil/layers/xsd/boundaryMarkLayer.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-4b5e55227ce604787961558f1c631d96b6732046e267d3fb59bbd3aff00f820c> (37) - *A* daffodil-runtime1-layers/src/main/resources/org/apache/daffodil/layers/xsd/byteSwapLayer.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-077960b47398651a4f6b39b94a35829c8b4a1c212dd2d9fb1e0f84d56b57d6b2> (37) - *A* daffodil-runtime1-layers/src/main/resources/org/apache/daffodil/layers/xsd/fixedLengthLayer.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-0a65be8d6dadd9a70ce6e85533f1d27a96b96d726f6068a388d70144443cedc4> (36) - *A* daffodil-runtime1-layers/src/main/resources/org/apache/daffodil/layers/xsd/gzipLayer.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-38ded81944927990d1c054666dd369ab19eea2ca0877ff096910423551951efa> (35) - *A* daffodil-runtime1-layers/src/main/resources/org/apache/daffodil/layers/xsd/lineFoldedLayer.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-e4529e3d49535ddbf2f847df417e4edc05fa8361b53d7b9226f5107c6d0b6739> (36) - *A* daffodil-runtime1-layers/src/main/scala/org/apache/daffodil/layers/runtime1/Base64MimeLayer.scala <https://github.com/apache/daffodil/pull/1187/files#diff-72b0e7d94f7f559d00597db3b2aa276b2ce1f11c8aa0713a06ddba7ef2ff1608> (33) - *D* daffodil-runtime1-layers/src/main/scala/org/apache/daffodil/layers/runtime1/Base64Transformer.scala <https://github.com/apache/daffodil/pull/1187/files#diff-f7f4992ca41b8760181ec7a22c2109e7a9c5a4e0ef86b76b828b84081866fd54> (99) - *A* daffodil-runtime1-layers/src/main/scala/org/apache/daffodil/layers/runtime1/BoundaryMarkLayer.scala <https://github.com/apache/daffodil/pull/1187/files#diff-7df77dda67086c6c00278866d090182630bd35623a194828a4ad98585978512b> (82) - *R* daffodil-runtime1-layers/src/main/scala/org/apache/daffodil/layers/runtime1/ByteSwapLayer.scala <https://github.com/apache/daffodil/pull/1187/files#diff-27514d9e01d194b5ca27e9f1e6f6a0c4774c82da1fa26f8462b7a20173bacae8> (87) - *A* daffodil-runtime1-layers/src/main/scala/org/apache/daffodil/layers/runtime1/FixedLengthLayer.scala <https://github.com/apache/daffodil/pull/1187/files#diff-8952bf414581bc8b5e49f7053a651b7170531895372e62400fe491db172af4bc> (135) - *R* daffodil-runtime1-layers/src/main/scala/org/apache/daffodil/layers/runtime1/GZipLayer.java <https://github.com/apache/daffodil/pull/1187/files#diff-a32573cf2ff6bf8c9b4c93d7fe4cb5a8c3beeb45db61dee1f2e1d256d3c4a98f> (130) - *R* daffodil-runtime1-layers/src/main/scala/org/apache/daffodil/layers/runtime1/LineFoldMode.java <https://github.com/apache/daffodil/pull/1187/files#diff-6d51fb25286e56ab39ac753bfb47b8c52eaf06f223d9c77f26e0283688b2188d> (23) - *R* daffodil-runtime1-layers/src/main/scala/org/apache/daffodil/layers/runtime1/LineFoldedLayerBase.scala <https://github.com/apache/daffodil/pull/1187/files#diff-4e72a132cffa69ffae4eaaed60db50e31dcb9fa1509e8718ad93225fc953a75e> (237) - *A* daffodil-runtime1-layers/src/test/scala/org/apache/daffodil/layers/runtime1/TestGzipLayer.scala <https://github.com/apache/daffodil/pull/1187/files#diff-6dbc1929a947bdd7caccbad79468250649c4e36fae647941f1090c1a93ade31a> (59) - *M* daffodil-runtime1-layers/src/test/scala/org/apache/daffodil/layers/runtime1/TestLengthLimitedLineFoldingStreams.scala <https://github.com/apache/daffodil/pull/1187/files#diff-fd82bb0b217d35e3be0ae2af4fd8c2a9df5ed9e426941ad36567ed66a60bcb6f> (90) - *M* daffodil-runtime1-unparser/src/main/scala/org/apache/daffodil/unparsers/runtime1/LayeredSequenceUnparser.scala <https://github.com/apache/daffodil/pull/1187/files#diff-f31a3cfb12c4c1c5615a50c7af487292f0917b331f6526d2a719aabdb8499c2e> (96) - *M* daffodil-runtime1-unparser/src/main/scala/org/apache/daffodil/unparsers/runtime1/PackedBinaryUnparserTraits.scala <https://github.com/apache/daffodil/pull/1187/files#diff-1231ec799e2192bd455cd128a20d81c8dfa9a14c2d10f6c959fe208af11ba1a6> (4) - *M* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/dpath/DPathRuntime.scala <https://github.com/apache/daffodil/pull/1187/files#diff-27a1e21b16c73a4b5bd52e3fde40df87273dc639c12029d58e096594c69f115f> (3) - *M* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/dpath/NodeInfo.scala <https://github.com/apache/daffodil/pull/1187/files#diff-71121477f643fea1f8dd49a9c4c14c7cf9af9ee82be8ba974257bf1673c20293> (31) - *M* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/dsom/SDE.scala <https://github.com/apache/daffodil/pull/1187/files#diff-dc5b5fc3f17913ef9ed762a68dbc0ac6b782c0bc0bb222cc08be387f73e28182> (10) - *A* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/layers/ChecksumLayerBase.scala <https://github.com/apache/daffodil/pull/1187/files#diff-168c7d6609da5b61c075e3c93c5c6f7eb98554f623e72866f8d6f87fa37deb5a> (138) - *D* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/layers/LayerCompiler.scala <https://github.com/apache/daffodil/pull/1187/files#diff-164a9409a9d29b08d6cddac931d834ea89b2e5ffc4878b9af92bfdbfc55a2c7c> (135) - *D* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/layers/LayerCompilerRegistry.scala <https://github.com/apache/daffodil/pull/1187/files#diff-12a54b23918367d98295e9d2e4a8dc7370bcd833fe00f34727be219aa837e035> (49) - *A* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/layers/LayerDriver.scala <https://github.com/apache/daffodil/pull/1187/files#diff-17a2810a41247bce4c1ef38c567ebb4675595e6f5e5daa1fd221b49e342aa38f> (338) - *A* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/layers/LayerException.java <https://github.com/apache/daffodil/pull/1187/files#diff-c2f6416418beadf1d2bca0ace7ab0df3365397d86612ac8a02ee3b45db8be914> (36) - *A* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/layers/LayerNotEnoughDataException.java <https://github.com/apache/daffodil/pull/1187/files#diff-37f8d6c1441bd21af8bee4f8aaf12337343dcbf16b68f72fb649b754e22f2e8b> (38) - *A* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/layers/LayerRuntime.scala <https://github.com/apache/daffodil/pull/1187/files#diff-f5c6c03f3c139f110e91285c430a3e3811f507eb4a8c0973a571c5fc6271e5ec> (45) - *A* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/layers/LayerRuntimeCompiler.scala <https://github.com/apache/daffodil/pull/1187/files#diff-67806359410b398eb0ead820a432f131a3fe50dc5cf0a9b2909dd8f0c6ed3d06> (263) - *A* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/layers/LayerRuntimeData.scala <https://github.com/apache/daffodil/pull/1187/files#diff-39e548ddd33d831bf8a491dec906d7de8d4f3cfaf3d27a85f295ffca7dd74897> (45) - *D* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/layers/LayerTransformer.scala <https://github.com/apache/daffodil/pull/1187/files#diff-fa499e210cd0fd27249d624f272aefd196fe7b1bf9d9382ad10dd451f11212a0> (453) - *R* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/layers/LayerUnexpectedException.java <https://github.com/apache/daffodil/pull/1187/files#diff-8d2372ff7dc6f1b8f84e71d39de45bf8247bd2f6e6d806e40d1e9f590cb832c8> (23) - *A* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/layers/LayerUtils.scala <https://github.com/apache/daffodil/pull/1187/files#diff-89873a38e80b94e473215c677182675cc81de728d4dab2539b96944e0a852401> (54) - *A* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/layers/LayerVarsRuntime.scala <https://github.com/apache/daffodil/pull/1187/files#diff-5957969567f4865652c3149300d1013b1104a0b4a37a46c71cf2a366396ca136> (137) - *A* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/layers/api/ChecksumLayer.java <https://github.com/apache/daffodil/pull/1187/files#diff-481492495a2a7973ef5430882de3c881209e91553421455a2ed9397d63ba80d2> (87) - *A* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/layers/api/Layer.java <https://github.com/apache/daffodil/pull/1187/files#diff-0956fbb42b99c47e4ec927b37320538695316da7b05f1b50c5b2c1353deb8527> (182) - *M* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/DataProcessor.scala <https://github.com/apache/daffodil/pull/1187/files#diff-b00392a360ebfb2be70555e73192b4da06e839debf557f8cce485370a4cc7a9d> (4) - *D* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/EvLayering.scala <https://github.com/apache/daffodil/pull/1187/files#diff-ea1c03a9dfc92b90cb05326d87cf52882ac528e1c80f543f498555d56ed960fa> (54) - *M* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/ProcessorStateBases.scala <https://github.com/apache/daffodil/pull/1187/files#diff-7804af4fd781581056fc7743c92c06e9413bc7eff1a41a68ac5a84c8caaf4756> (45) - *M* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/RuntimeData.scala <https://github.com/apache/daffodil/pull/1187/files#diff-65004632a05e8533fdb90c6f2fc0d9e840ffa93293ae171e54e1cd99591bc540> (17) - *M* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/SchemaSetRuntimeData.scala <https://github.com/apache/daffodil/pull/1187/files#diff-96d76f9dff0dd5f2d071a3be2c66d8a3d7094c741fd87de5ff650675e2104a53> (3) - *M* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/VariableMap1.scala <https://github.com/apache/daffodil/pull/1187/files#diff-b4edf39f6800f7f08bc72c26c99a8e0ccc8d0e8a68aa80559c3d684c8ca23347> (68) - *M* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/dfa/TextDelimitedParser.scala <https://github.com/apache/daffodil/pull/1187/files#diff-1656e5726b382b92b41bc785612b6bd303b595c78542e63f16e448fe3eb7a653> (181) - *M* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/parsers/LayeredSequenceParser.scala <https://github.com/apache/daffodil/pull/1187/files#diff-6a2f8d1a37c690228e60e9e923f96667c96ba1ade851b0e5559bea7771d2f9a7> (71) - *M* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/parsers/PState.scala <https://github.com/apache/daffodil/pull/1187/files#diff-6ebdd35077bea0f607def43d7a07e4b02d6c6a5fde6a84eb9342b2d93b32c183> (2) - *M* daffodil-runtime1/src/main/scala/org/apache/daffodil/runtime1/processors/parsers/ParseErrors.scala <https://github.com/apache/daffodil/pull/1187/files#diff-860169d8354a2b783236b95e2703202879700b5cc8ff45120f204a950a3caead> (4) - *M* daffodil-sapi/src/main/scala/org/apache/daffodil/sapi/io/InputSourceDataInputStream.scala <https://github.com/apache/daffodil/pull/1187/files#diff-a0a8477cadba54363af339e4b3d5f4a45d6defd6de3350c101ee1d80b2817e51> (2) - *M* daffodil-sapi/src/test/scala/org/apache/daffodil/example/ValidatorExamplesSupport.scala <https://github.com/apache/daffodil/pull/1187/files#diff-7ccbc41a36d6d8d70b1f95faf7b6c65311089a53e9ca956ff3ad928629f6e026> (5) - *R* daffodil-test/src/test/resources/META-INF/services/org.apache.daffodil.runtime1.layers.api.Layer <https://github.com/apache/daffodil/pull/1187/files#diff-358e88a8c8380d708b9bd9a8aaa19be9daedc3282bd2222c4996a7a3104d3733> (29) - *M* daffodil-test/src/test/resources/org/apache/daffodil/layers/TestCheckDigit.tdml <https://github.com/apache/daffodil/pull/1187/files#diff-373c91b24a4316068c3f1f12a1f5001bc134765223e27894ef744193654dd869> (17) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/TestGzipFoldB64.tdml <https://github.com/apache/daffodil/pull/1187/files#diff-4cfb9e4d713ca5b0d630338c6b74ed5372122c31970a71c87aae4aac9a27b9b5> (159) - *R* daffodil-test/src/test/resources/org/apache/daffodil/layers/TestIPv4.tdml <https://github.com/apache/daffodil/pull/1187/files#diff-9f9886d77694c0d66ad2f2df95f12dc0ea1f238ae8b774e7d43ac8795c04d0de> (50) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/TestLayers.tdml <https://github.com/apache/daffodil/pull/1187/files#diff-06d86579d71b485c1e618d077172bd55a665d8e7161e44ff251d0ab180e01685> (241) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/TestLayersBomb.tdml <https://github.com/apache/daffodil/pull/1187/files#diff-ed908136b6ab7e5abdc34eab277f268632f615e4838dfe9a44c6de67d5c138a7> (839) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/ais.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-4a02a6701232d43c6c2a97e16f1eaecc23342ec9d0515de3805a8fdd37e8bf2d> (151) - *M* daffodil-test/src/test/resources/org/apache/daffodil/layers/ais.tdml <https://github.com/apache/daffodil/pull/1187/files#diff-32219ef714f7221b6bc04f1f4a05fd038be626d8a17e2e0516cc1d018554bea0> (85) - *R* daffodil-test/src/test/resources/org/apache/daffodil/layers/exampleCheckDigit.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-b2ec824c19b36bbb86f3b9d34f1e0b79e2a4909bd7ff8669b22b0cca28cdcf08> (57) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/exampleGzipLayer.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-aabe52faa7d90e214e19fe873c3105a5d53d3f021cc6e12575726d040363cf04> (82) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/exampleGzipLayer2.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-72f263751e54c142abbc50a514522533863a8e626f2c2cb6714377fd5a64a315> (132) - *R* daffodil-test/src/test/resources/org/apache/daffodil/layers/exampleIPv4.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-3400e5598ed3726b1de3d6ad498ffa588bf9651f6cac8a5f0625a0fc6b97176f> (40) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/exampleLineFoldedLayer.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-05a02c1d4db6f9fb82aab7299ad1a53ab26ce9c323ca0af315dcb1359dc09d3f> (100) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/exampleLineFoldedLayer2.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-72e00124caeb884e5702507104c2cbecbb0dbacbf021b5fa9ea3899a61c0835c> (58) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/exampleLineFoldedLayer3Err.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-4d3a4306fc73a2011f6904f71ba510815b347069f4425c820dbb5e91709da97b> (60) - *D* daffodil-test/src/test/resources/org/apache/daffodil/layers/layers.tdml <https://github.com/apache/daffodil/pull/1187/files#diff-3332baec9c0497258569b3690cac7a12ca5b154d7d95104f819171bdd5820c69> (379) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/useAllTypesLayer.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-b95f5a90f0139702db96e2e110aae37c4047e2bd976f23290bb095843d41f363> (140) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/useSimpleBombLayer.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-5a519f681cae74aeabe3974ccbbfa1ed27e9cacb9b99b599543825f86f992eda> (151) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/useSimpleTestLayers.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-b99a3e4405fd1b4698811b0a023930b32c154e42e04ea001d625915d98e5457e> (386) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/xsd/AllTypesLayer.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-f8fd3ee14906f422d72f296335d05115677b32bc9af137e6eedae5723af6e59d> (73) - *M* daffodil-test/src/test/resources/org/apache/daffodil/layers/xsd/IPv4ChecksumLayer.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-42f93855883d0e197a17ddb52a394aa9b7f21088c85940c6578e70546bfaca63> (17) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/xsd/SimpleBombOutLayer.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-7145fbae7d4eca61c53d24bb3b040ceb2f0680f14248813cf0b7089aaf2a61d3> (45) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/xsd/SimpleTestLayer.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-6f33d4b4c6e52cd4111c4eaae76be5727ffeafb63fc06f109fd1912431c7238a> (36) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/xsd/SimpleTestLayerNoIntVar.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-1f3affd0efaa90dfd43654c03d937fbdb66792a09990802b31a528a7e140c229> (36) - *A* daffodil-test/src/test/resources/org/apache/daffodil/layers/xsd/SimpleTestLayerNoStringVar.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-31bb0285ade1f2e03572a8105f8f831e62ec601cfbeb850efc1845873b2b66cd> (36) - *M* daffodil-test/src/test/resources/org/apache/daffodil/layers/xsd/checkDigitLayer.dfdl.xsd <https://github.com/apache/daffodil/pull/1187/files#diff-12774f87f49badfb29b9f520cc0c35091c087a4f3fc31406e6758c6fef061d13> (20) - *R* daffodil-test/src/test/scala/org/apache/daffodil/runtime1/layers/AISPayloadArmoringLayer.scala <https://github.com/apache/daffodil/pull/1187/files#diff-f4000792da5401a778dd41838ac4ba35b6dfb249c7c69e5a62370ab3c9dad8be> (137) - *A* daffodil-test/src/test/scala/org/apache/daffodil/runtime1/layers/AllTypesLayer.scala <https://github.com/apache/daffodil/pull/1187/files#diff-98ef10e50160707938d9b7bec142a2a977ed0e27d6675cbcd3f19d7f68bfd211> (124) - *D* daffodil-test/src/test/scala/org/apache/daffodil/runtime1/layers/CheckDigit.scala <https://github.com/apache/daffodil/pull/1187/files#diff-e4e7b7005451170f8af13d2327616ce6d3e0b85f67a6b9c2954ff9c210e31946> (84) - *A* daffodil-test/src/test/scala/org/apache/daffodil/runtime1/layers/CheckDigitLayer.scala <https://github.com/apache/daffodil/pull/1187/files#diff-5d6a5e392dff338a49c8b12f2c16560938f486ba14342416a5a7a601157e4c4a> (103) - *D* daffodil-test/src/test/scala/org/apache/daffodil/runtime1/layers/CheckDigitLayerCompiler.scala <https://github.com/apache/daffodil/pull/1187/files#diff-3154f14d16adfad82d93bcc2cb0409a5f56f317095bc37eab8225089f8749e64> (92) - *D* daffodil-test/src/test/scala/org/apache/daffodil/runtime1/layers/IPv4ChecksumLayerCompiler.scala <https://github.com/apache/daffodil/pull/1187/files#diff-57d4efbea5a9ba092b0f4c4b2399d75dd3d65bae2b85af647b8dfe576205e033> (76) - *A* daffodil-test/src/test/scala/org/apache/daffodil/runtime1/layers/SimpleBombOutLayer.scala <https://github.com/apache/daffodil/pull/1187/files#diff-6eae068eac8812a34cce8d9578354f8e0f5207d8ecadfee86bc887a99e88cd26> (172) - *A* daffodil-test/src/test/scala/org/apache/daffodil/runtime1/layers/SimpleTestLayer.scala <https://github.com/apache/daffodil/pull/1187/files#diff-58e0c2911f6478d2b2fc38da3fba73e2183fe45d75a03687a72db6894779cb27> (182) - *R* daffodil-test/src/test/scala/org/apache/daffodil/runtime1/layers/TestAISPayloadArmoringEncoder.scala <https://github.com/apache/daffodil/pull/1187/files#diff-440cde9f7e714e5d6b7f9a8c1c62ea885cf4837aa5f10bba8edf19d5c7c7cfd0> (5) - *M* daffodil-test/src/test/scala/org/apache/daffodil/runtime1/layers/TestAISStreams.scala <https://github.com/apache/daffodil/pull/1187/files#diff-529a1bfab62642dfcbe4f912399afcc5bad4ca9cf20ef2a71e082544b74723be> (8) - *A* daffodil-test/src/test/scala/org/apache/daffodil/runtime1/layers/TestGzipFoldB64.scala <https://github.com/apache/daffodil/pull/1187/files#diff-facade4b83e0e2092d5c072fb30f4e4a1c03e56ae55cdc63d1b5464964bc4645> (46) - *M* daffodil-test/src/test/scala/org/apache/daffodil/runtime1/layers/TestIPv4.scala <https://github.com/apache/daffodil/pull/1187/files#diff-750827a9d5a279eace935dee4caf9362caf217c139caf7221e8b1fcd4a5dbabc> (2) - *M* daffodil-test/src/test/scala/org/apache/daffodil/runtime1/layers/TestLayers.scala <https://github.com/apache/daffodil/pull/1187/files#diff-66d109fce68a19b87aeb75c6a7ef67af5e10fb7115c0a1a376352aabfb423759> (35) - *A* daffodil-test/src/test/scala/org/apache/daffodil/runtime1/layers/TestLayers2.scala <https://github.com/apache/daffodil/pull/1187/files#diff-6cfec0b30738c765f0a09a45409d0eccf78abdbe2bfbffe3d90e75ac947c2fea> (114) - *R* daffodil-test/src/test/scala/org/apache/daffodil/runtime1/layers/ipv4/IPv4ChecksumLayer.scala <https://github.com/apache/daffodil/pull/1187/files#diff-e6b6bfd9abd1f545521e742f9be77d3aafb0090f34c6f39a02b6eb23354e6582> (61) Patch Links: - https://github.com/apache/daffodil/pull/1187.patch - https://github.com/apache/daffodil/pull/1187.diff — Reply to this email directly, view it on GitHub <https://github.com/apache/daffodil/pull/1187>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AALUDA5WGIEWMOXP2MZZYQLYYTH55AVCNFSM6AAAAABEZV4WB6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGE4TAMZTHE3TGNQ> . You are receiving this because you are subscribed to this thread.Message ID: <apache/daffodil/pull/1...@github.com>