Commit Graph
30 Commits
Author SHA1 Message Date
Enrique Zamudio 096faeeda0 indexOf -> contains 2013-06-12 13:09:22 -05:00
Enrique Zamudio 2a38ac2491 force radix 10 2013-05-13 19:48:12 -05:00
Enrique Zamudio 11e10bc1eb Implement #13 in these parsers 2013-05-13 19:34:21 -05:00
Enrique Zamudio 2e521c2b6d Implement #13 2013-05-13 18:54:44 -05:00
Enrique Zamudio be54b9f38e Fix #9 - Binary parsing with CustomBinaryField for LLBIN/LLLBIN fields 2013-05-07 15:37:49 -05:00
Enrique Zamudio 04ba54e522 Work on #9 - group BCD routines in a convenience class 2013-04-23 11:42:39 -05:00
Enrique Zamudio cc5918dd50 Fix #10 - improve use of type parameters instead of suppressing warnings 2013-04-23 11:22:21 -05:00
Enrique Zamudio 602974ad82 Fix #6 class loader handling, and make createFromXXX invariant 2013-01-24 17:23:49 -06:00
Enrique Zamudio 913d74a133 Fix #5 - Add field number to parse error messages 2013-01-18 13:29:39 -06:00
Enrique Zamudio 2e5911f261 work on #3 - catch IOOBE 2012-12-26 16:02:38 -06:00
Enrique Zamudio 778501b2d6 Work on #3 for ALPHA fields 2012-12-26 15:34:09 -06:00
Enrique Zamudio 980fa02d63 Fix validation of binary number length
https://sourceforge.net/p/j8583/bugs/9/
2012-11-30 12:25:56 -06:00
Enrique Zamudio 841a2eda18 use character encoding (thanks @dhinckle2) 2012-11-30 11:39:02 -06:00
chochos 3f0e6a043d Improve parsing of invalid data, throwing more specific messages
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@108 db60a039-f72e-0410-b1d2-baa000846441
2012-06-14 18:26:36 +00:00
chochos 67c5522e92 Simplify creation of return value
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@104 db60a039-f72e-0410-b1d2-baa000846441
2012-05-18 15:29:44 +00:00
chochos f2677b8c96 Added @SuppressWarnings(rawtypes) where I was previously using only unchecked
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@98 db60a039-f72e-0410-b1d2-baa000846441
2011-09-26 20:49:29 +00:00
chochos 791081dd1c Changed to DTD to make all 3 top elements optional, and also to allow for empty templates.
ConfigParser now uses the internal j8583.dtd if available in the classpath.


git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@95 db60a039-f72e-0410-b1d2-baa000846441
2011-09-21 22:17:05 +00:00
chochos 13e60ee567 Finish improvement of generics usage, modifiying a couple of methods in MessageFactory (for accessing CustomField encoders) and ConfigParser (for using said CustomFields)
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@92 db60a039-f72e-0410-b1d2-baa000846441
2011-08-11 15:35:42 +00:00
chochos 7efa01f459 IsoMessage has some Scala interop, you can use from Scala stuff like m(4) to get IsoValue at field 4, and also set it m(4)=IsoValue.DATE10.call(new Date())
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@89 db60a039-f72e-0410-b1d2-baa000846441
2011-08-09 01:42:16 +00:00
chochos a0c22719bd Set millis to 0 when parsing DATE4 fields. Fix UT for date4 parsing
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@88 db60a039-f72e-0410-b1d2-baa000846441
2011-07-23 04:28:00 +00:00
chochos da7e788614 Set milliseconds to 0 in the parsed date
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@87 db60a039-f72e-0410-b1d2-baa000846441
2011-07-23 04:13:15 +00:00
chochos a4a21551b3 Added future tolerance to Date10 and Date4 parsers; simplified the use of generics in all the FieldParseInfo subclasses. Added a test for the future tolerance of date parsers.
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@85 db60a039-f72e-0410-b1d2-baa000846441
2011-07-13 16:33:37 +00:00
chochos 13a04b271a Add documentation for the problem with CustomField encoders for mutable value objects, since we can't really do anything about it.
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@73 db60a039-f72e-0410-b1d2-baa000846441
2011-05-20 16:39:31 +00:00
chochos 5c4259eba3 Added a new property, characterEncoding, to MessageFactory, IsoMessage, FieldParseInfo and IsoValue. This helps in parsing messages from byte buffers containing extended characters in encodings other than the default for the JVM. Tested with UTF8 on a Mac (which has default Mac OS Roman) and worked fine.
Several methods now have an additional encoding parameter (just a String, not directly a Charset), but the default is always the JVM's default encoding (taken from the property 'file.encoding').


git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@70 db60a039-f72e-0410-b1d2-baa000846441
2011-03-21 23:22:58 +00:00
chochos 18dc948b08 remove unnecessary printf
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@68 db60a039-f72e-0410-b1d2-baa000846441
2011-02-21 21:57:03 +00:00
chochos 3efc794f3e Added LGPL notice to the new classes.
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@67 db60a039-f72e-0410-b1d2-baa000846441
2011-02-21 20:07:41 +00:00
chochos d291d41bbc FieldParseInfo is now an abstract class, with a concrete subclass for each IsoType. This greatly improves the parsing speed.
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@66 db60a039-f72e-0410-b1d2-baa000846441
2011-02-21 19:53:47 +00:00
chochos 3b36a1dfe9 binary message parsing has improved drastically. BINARY, LLBIN and LLLBIN types are correctly encoded and parsed in both ASCII and binary formats.
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@65 db60a039-f72e-0410-b1d2-baa000846441
2010-12-07 19:24:52 +00:00
chochos b1e09634d6 Made several changes that result in considerable performance improvements:
- Fields inside the IsoMessage are now stored in an IsoValue[] instead of a map (this avoids the sorting step when encoding)
- The constructor IsoValue(IsoType, T, int, CustomField) for LLVAR and LLLVAR types uses the received length parameter instead of reencoding the value with the CustomField; this results in much faster parsing performance.
- FieldParseInfo passes the length of LLVAR and LLLVAR fields to the IsoValue constructor so that reencoding the value (or getting the length of the string) is not necessary. Field header length is checked to be digits when parsing ASCII.
- IsoType now parses AMOUNT values as BigDecimals.
- MessageFactory has separate code for parsing binary and ASCII messages.

Also, the DTD was moved to the resources directory.


git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@56 db60a039-f72e-0410-b1d2-baa000846441
2010-11-29 19:27:25 +00:00
chochos 1b07cf9a32 This is the mavenized version of the project, and it's the one I'll be working with from now on.
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@52 db60a039-f72e-0410-b1d2-baa000846441
2010-11-26 00:30:40 +00:00