-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathchangelog
142 lines (109 loc) · 6.49 KB
/
changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
+------------------------------------------------------------------------------+
| Open SSRF Software Library |
+------------------------------------------------------------------------------+
History
10/10/14 - change from MIT to Apache license: includes patent grants
10/01/14 - complete upgrade to v3.1.0
comprehensively documented
implement isSet() method to validate required fields
09/15/14 - finish marshal/unmarshal - read/write testing
09/08/14 - complete rewrite to use a small number of simple data types
move type validation logic into XML date type adapters:
all typed date fields are validated on export _and_ import
note that this will cause malformed data to ungracefully fail import
rewrite fluent programming methods to use simple types for easier access
08/08/14 - rebuild software library using JAXB extensions for fluent programming style
add section (below) with instructions to build using Maven
05/15/14 - created
About:
+------------------------------------------------------------------------------+
10/01/14
This updates and supercedes the September 15, 2014 software release.
This is an automated build of the version 3.1.0 SSRF specification (with subsequent
corrections).
Updates and improvements in this release
* All class fields and methods are completely documented with relationship and
usage cross-linking within the documentation.
* Class packaging is organized programmatically and according to the class hierarchy
within the XSD
* Field validation added to medadata group and reference class containers
09/15/14 V0.2
This updates and supercedes the May 26, 2014 software release.
This is a tailored and customized compilation of the Standard Spectrum Resource
Format (SSRF) version 3.0 into Java. The specification is defined in MCEB Pub 8
Version 3.0 as of 2012-04-26.
The software contained in this release is a completely redeveloped and rewritten
implementation of the SSRF data format specification. Special attention and effort
has been invested to organize the software, to improve the approachability of the
underlying SSRF logical data model, and to add methods and techniques to simplify
the construction of SSRF data structures.
A few key developments for this release:
Release versioning:
* This release is named version 0.2.
* The previous release (May 26, 2014) is named version 0.1.
Data type validation
* A comprehensive data type validation strategy has been incorporated into the
software to implement and enforce the SSRF data format and validation rules.
Only valid SSRF data types may be created (written) and imported (read); invalid
or malformed data types will fail during processing.
Pick lists
* Support for pick lists has been updated to match both the schema and text of
the specification. The software requires pick lists where appropriate and now
enables pick-list selection or custom, user-generated entries where allowed.
Software packaging
* The SSRF library contains 417 different data types, each mapping to a discreet
implementation class. These have been reorganized into 15 logical software
packages according to logical hierarchy, function and class-type association.
* The top-level SSRF package now contains only 25 “primary” data types
representing the core business processes and data conveyance of an SSRF message.
All other data types have been organized and moved into their respective packages.
Software abstraction and simplification
* Metadata and other common elements and data attributes have been consolidated
into several abstract classes and types. This is to improve software usability,
readability, organization and to streamline developer implementation.
* A new “SSRF” class has been created and designated as the single point of entry
into the SSRF data model to simplify developer implementation and data exchange.
Developer utilities
* Methods supporting the fliend programming interface have been introduced
throughout the new software library. This is a major update and provides for
more readable and approachable software code; it allows programmers to build a
SSRF data structure using a “with” strategy. An example message builder
application is included.
05/15/14 V0.1
This is a verbatim compilation of the Standard Spectrum Resource Format (SSRF)
version 3.0 into Java. The specification is defined in MCEB Pub 8 Version 3.0
as of 2012-04-26.
Compilation (Manual):
+------------------------------------------------------------------------------+
The SSRF XSD requires certain bindings to successfully compile.
XSD compilation is not case sensitive and the SSRF XSD includes a name clash
between the the "Remarks" complex type and the "remarks" attribute and fails
to compile. In this implementation the internal 'remarks' attribute field is
renamed to "attributeRemarks" enable compilation.
SSRF includes a very large number of enumerated values. See for example the varius
TListXX instances. The maximum number of allowed enumerated members is raised to 2048.
The software was compiled using the enclosed binding file and the following
command-line statement (on Linux):
% xjc -b binding-ssrf.xml ssrf.xsd
Refer to the docs directory of this project for more details.
Compilation (Maven):
+------------------------------------------------------------------------------+
Maven is an automated build to that, among other things, simplifies dependency
handling when organizing and building a project. Maven plugins wrap the JAXB 2.x
XJC compiler and provides the capability to generate Java sources from XML Schemas.
The following plugins are used to generate boilerplate code useful in most all
Java object classes:
Equals - allows equality comparison between two objects
HashCode - supports Equals
ToString - allows printing of object configurations to the console - useful for
development and debugging
Fluent - adds code to support the method chaining programmatic strategy
Step 1) Put the schema (*.xsd) and binding (*.xjb) files into the src/main/resources folder.
Step 2a) Add the plugin to your build:
Step 2b) Reconfigure the compiler plugin to use at least Java 1.5:
Step 3) Clean and build the new project using Maven.
License:
+------------------------------------------------------------------------------+
This software is provided AS-IS under the APACHE license, a copy of which in
included in the source tree.
__END