From b48b9c93448a5d4fbecb6bb5eb3147ecd451101a Mon Sep 17 00:00:00 2001
From: "Andrew C. Oliver"
- The record generator was born from my frustration with translating
+ The record generator was born from frustration with translating
the Excel records to Java classes. Doing this manually is a time
consuming process. It's also very easy to make mistakes.
- I wanted something that would take the defintition of what a
- record looked like and do all the boring stuff for me. Thus the
+ A utility was needed to take the defintition of what a
+ record looked like and do all the boring stuff. Thus the
record generator was born.
-
@@ -45,63 +46,67 @@
The records themselves have the following general layout:
- Currently the type can be of type int, float or string. The 'int' type covers bytes, shorts and - integers which is selected using a size of 1, 2 or 4. - An additional type called varword is used to represent a array of word values where the first short - is the length of the array. - The string type generation is only partially implemented. If choosing string you must select a size - of 'var'. + Currently the type can be of type int, float or string. The 'int' + type covers bytes, shorts and integers which is selected using a + size of 1, 2 or 4. An additional type called varword is used to + represent a array of word values where the first short is the length + of the array. The string type generation is only partially + implemented. If choosing string you must select a size of 'var'.
- The Java records are regenerated each time the record generator is run, however the test stubs are - only created if the test stub does not already exist. What this means is that you may change - test stubs but not the generated records. + The Java records are regenerated each time the record generator is + run, however the test stubs are only created if the test stub does + not already exist. What this means is that you may change test + stubs but not the generated records.
- The record generation works by taking an XML file and styling it using XLST. Given that - XSLT is a little limited in some ways it was necessary to add a little Java code to the mix. - This would probably have been better off done as javascript and may well be migrated in the - near future. Since the current Java code was written as a proof of concept it's a little - lacking in commenting and structure. Since this is converted to Javascript this should no - longer be a problem. + The record generation works by taking an XML file and styling it + using XLST. Given that XSLT is a little limited in some ways it was + necessary to add a little Java code to the mix.
- See record.xsl, record_test.xsl, FieldIterator.java, RecordUtil.java, RecordGenerator.java + See record.xsl, record_test.xsl, FieldIterator.java, + RecordUtil.java, RecordGenerator.java
- The record generator does not handle all possible record types and is not ment to. Sometimes it's - going to make more sense to generate the records manually. The main point of this thing is to - make the easy stuff simple. + The record generator does not handle all possible record types and + is not ment to. Sometimes it's going to make more sense to generate + the records manually. The main point of this thing is to make the + easy stuff simple.
- Currently the record generator is optimized to create Excel records. It could be adapted to create - Word records with a little poking around. + Currently the record generator is optimized to create Excel records. + It could be adapted to create Word records with a little poking + around.
- Currently the the XSL file that generates the record calls out to java objects. This would have been - better done as Javascript inside the XSL file itself. The java code for the record generation is - currently quite messy with minimal comments. Sorry, I wrote it as a proof-of-concept and just went - too far. + Currently the the XSL file that generates the record calls out to + Java objects. This would have been better done as Javascript inside + the XSL file itself. The Java code for the record generation is + currently quite messy with minimal comments.