Skip to content
This repository has been archived by the owner on Jul 11, 2019. It is now read-only.

Releases: nedap/archie

Flattener spec compliance

01 Nov 11:00
dde2526
Compare
Choose a tag to compare

The specialization examples in the specification have been added to the JUnit tests of the Flattener to ensure all cases work as intended. All non-complying cases have been changed to be compliant to the specification.

This means this is the first version to have a fully compliant Flattener.

It is now possible to define external functions on the rule evaluation.

Also some minor bugs have been fixed.

We have started development on a new version. This next version will offer much more functionality, but will introduce some breaking changes in the API. It should not be very hard to change, but expect to do some work to migrate to the next version after this.

Small bugfixes in rule evaluation

18 Sep 11:25
541a035
Compare
Choose a tag to compare

This release contains a small change in rule evaluation:

  • when constructing missing structure in automatic assertion fixing, a whole tree would be created with as many fields filled as possible. This meant problems later, so it was changed so it creates only the minimal amount of fields necessary to fix the assertion

And a small bugfix:

  • RMQueryContext threw an exception with the query "/". It now works correctly.

Minor bugfix

17 Aug 12:40
1c63ef5
Compare
Choose a tag to compare

Minor bugfix in AssertionsFixer, that caused an exception because of an empty XPATH expression. Changed empty to "/" in that specific case, which it should be.

bugfixes

19 Jul 13:09
b8f6148
Compare
Choose a tag to compare

Bug fixes

  • fix parsing a composition in JSON form
  • fix NullPointerException in tuple.isValidValue()
  • some attributes in the RM were missing @nullable, making them required
  • in the AssertionsFixer, set the terminology id to the correct ac-code for a DvCodexText

Rules flattening

16 Jun 14:07
9e76e94
Compare
Choose a tag to compare

Now the rules are flattened and added to operational templates.

  • when specializing rules, both the original and specialized rules are added to the resulting flat archetype, original rules first
  • rules with the same tag name are overwritten (TODO: this is NOT according to specs, we later found out, this will likely be reverted in the future)
  • when using archetype roots to compose an archetype out of other archetypes, the rules are added to the combined flattened operational template. All path references are prefixed with the correct paths to make them work in the resulting operational template.

flattening rules, and operational templates with rules have been tested both with automated tests and by hand with a number of archetypes.

Also it is now possible to serialize and deserialize operational templates. One change to the grammar has been made to support this: archetype roots can now optionally have a matches { section with children, conforming to the ADL 2 specs.

other improvements and bug fixes:

  • a rule in the pattern AND <other_fixable_rule> is now treated as two fixable rules
  • apath queries with a dot in the id code (eg [id2.1]) now work

0.3.9

24 Apr 12:17
248c291
Compare
Choose a tag to compare

Remove unused dependency with wrong license terms

0.3.8

24 Apr 12:00
Compare
Choose a tag to compare

Non-backwards compatible changes

  • The constraints imposer incorrectly handled existence and cardinality, using cardinality instead of existence. This has been changed to reflect the model: existence now reflects if the value in the model can be null or not. Before, this incorrectly was cardinality. If you use this functionality, the behaviour changes.
  • the primitive node id value should be 'id9999' in the specs, but it currently was 'primitive_node_id'. This has been changed back and can break your applications

Other changes

  • unique paths had a space between the id-code and the number. This has been removed, so now instead of /data[id3, 1] it returns /data[id3,1]
  • Apath query findList now works in more cases
  • RMQueryContext can now retrieve the path of a given RMObject from the given root. This is experimental and will probably not work in all cases with leaf nodes - should work with all locatables or pathables.
  • test coverage has been increased
  • interval and MultiplicityInterval have some extra convenience methods added

0.3.7

11 Apr 11:48
a63676e
Compare
Choose a tag to compare

ADL Validation and functions in rule evaluation

This release adds some basic ADL validation. Also a command line tool is present that loads an .adls file and runs it through the checker. Only basic checks for now, and no specialised archetypes or template validations. See the README.md for usage instructions.

the rule evaluation has been extended with function support. The min and max functions have been implementation. Also the function value_when_undefined has been implemented, with returns the given value, or a predefined other value when the value has not been defined.

0.3.6

17 Mar 13:10
9ab74b1
Compare
Choose a tag to compare
  • Performance fixes
  • Make ReflectionConstraintImposer return a new CAttribute every call - makes it easier to write safe code with - and faster code too because you don't need to use clone()

0.3.5

10 Mar 12:12
d3a64d8
Compare
Choose a tag to compare

Set some logging to debug logging because it spams quite a lot of information that is generally not needed during parsing and rule evaluation.