You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by GitBox <gi...@apache.org> on 2018/04/11 21:45:38 UTC

[GitHub] mbeckerle opened a new pull request #61: Preliminary Review - Base64 layering runs first parsing unit test.

mbeckerle opened a new pull request #61: Preliminary Review - Base64 layering runs first parsing unit test.
URL: https://github.com/apache/incubator-daffodil/pull/61
 
 
   (Not expecting approval here. Just looking for early feedback on how this is looking.)
   
   All properties for Base64/layering implemented.
   
   Only layerLengthKind 'explicit' and 'delimited' are allowed now, as
   those are the only use cases we have.
   
   Layers allowed are base64, base64_MIME, base64_URLSAFE,
   gzip, compress, ais.
   
   The base64 cases could be explicit, but known examples are delimited.
   The gzip/compress comes from mil-std-2045 headers, and those have
   explicit length.
   AIS is delimited.
   (For future: ASN.1 Object ID encoding has explicit length.)
   
   Mostly characterized with tests, what is needed in order to implement
   stream filters that impose terminators that are scanned for - using
   Java's Scanner class.
   
   Java's scanner class saves us the hassle of block filling/enlarging,
   etc. that is otherwise necessary when you want to use the regex
   libraries against a stream.
   
   Also put catch for ClassNotFound around compiler.reload for Java 7 vs.
   Java 8. Base64 needs Java 8 classes.
   
   Identified a couple cleanups where java.io.HashMap can be replaced with
   our NonAllocatingMap - which uses Maybe types instead of null/notNull.
   
   Added a charset so we can use the encoder to unparse AIS data that must
   be armored with AIS_PAYLOAD_ARMORING 6 bit to 8 bit.
   
   This is all part of layering, i.e., AIS format requires layering as does
   base64, so merging this all onto same branch.
   
   DAFFODIL-1734, DAFFODIL-1805

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services