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
cf1e5053b1
Handle the encoding of binary bitmaps in text-encoded messages
2012-11-30 11:54:00 -06:00
Enrique Zamudio
dfb1bc1b45
Handle binary bitmaps in text-encoded messages (thanks @dhinckle2)
...
also catch a bug in LLVAR encoding
2012-11-30 11:53:08 -06:00
Enrique Zamudio
841a2eda18
use character encoding (thanks @dhinckle2)
2012-11-30 11:39:02 -06:00
seanjburns
3feb4a7704
Very simple change to allow the factory to create other implementations of IsoMessage
2012-11-27 23:04:59 +02:00
Enrique Zamudio
4f53ddddfe
A simple command-line program to parse files based on a configuration file.
2012-06-20 02:39:43 -05: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
839b32c75a
Make parsing of invalid messages more robust
...
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@107 db60a039-f72e-0410-b1d2-baa000846441
2012-06-14 18:22:34 +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
da6bb2bb23
Doc says if field is missing ignore it, but it was being removed from destination message.
...
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@103 db60a039-f72e-0410-b1d2-baa000846441
2012-05-18 15:28:06 +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
56445e8f33
Add generics in a couple of places where they were missing, as well as a @SuppressWarnings
...
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@97 db60a039-f72e-0410-b1d2-baa000846441
2011-09-26 20:48:33 +00:00
chochos
8c4d1cc48c
Several methods for setting values in an IsoMessage now return the message itself instead of void. This is useful
...
for chaining several method calls and setting several fields in sequence. Also there is a new method setFields which
receives a Map; it can be useful in languages with syntax for easily creating maps.
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@96 db60a039-f72e-0410-b1d2-baa000846441
2011-09-21 22:31:28 +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
9f5a7d59af
Improved the generics usage in methods returning IsoValues (and getObjectValue() as well).
...
Now you can do stuff like this:
IsoValue<Date> v = message.getField(7);
BigDecimal amount = message.getObjectValue(4);
No need to cast. Having generified IsoValue is now useful.
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@91 db60a039-f72e-0410-b1d2-baa000846441
2011-08-11 15:27:49 +00:00
chochos
70dd878e8c
Add apply methods to IsoType enum for Scala interop
...
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@90 db60a039-f72e-0410-b1d2-baa000846441
2011-08-09 01:47:04 +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
a8c2aecd3e
Validate that there is indeed a field to set the encoding to, in the IsoMessage. Update version to 1.5.1
...
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@72 db60a039-f72e-0410-b1d2-baa000846441
2011-04-08 16:21:58 +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
c7d696acc7
Simplified some of the formatting routines in IsoType, using String.format(). Added unit tests to check that the new formatting code works fine.
...
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@69 db60a039-f72e-0410-b1d2-baa000846441
2011-02-22 02:15:38 +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
ad4f51d3cd
Added unit tests for binaries (in progress). Added BINARY, LLBIN and LLLBIN to the DTD. Added a message template and a parsing template to the test config.
...
Fixed some problems with the stored values in IsoValues.
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@64 db60a039-f72e-0410-b1d2-baa000846441
2010-12-07 17:14:04 +00:00
chochos
3c8cacbb8d
Added new IsoTypes: BINARY, LLBIN and LLLBIN. Similar to ALPHA, LLVAR and LLLVAR but they handle binary values that get translated to byte arrays, directly if using binary coding, or hex-encoded if using ASCII.
...
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@63 db60a039-f72e-0410-b1d2-baa000846441
2010-12-06 18:42:02 +00:00
chochos
04d61220d1
Added javadoc to a couple of MessageFactory methods.
...
Some more docs have been translated, and the pom now has my name.
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@61 db60a039-f72e-0410-b1d2-baa000846441
2010-12-01 19:45:04 +00:00
chochos
2c501c3f43
The new copyFieldsFrom() method had problems with fields that had CustomField encoders. A getter has been added to IsoValue for the CustomField and it's used in the copyFieldsFrom() method.
...
git-svn-id: https://j8583.svn.sourceforge.net/svnroot/j8583/j8583@58 db60a039-f72e-0410-b1d2-baa000846441
2010-11-30 02:29:37 +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