Clone
Alexandros Koufoudakis
committed
on 24 Apr 17
DROOLS-1477 DMN Extension Elements (#1192)
* 1. To use extension elements inside inputData elements in order to provide “external” informati… Show more
DROOLS-1477 DMN Extension Elements (#1192)

* 1. To use extension elements inside inputData elements in order to provide “external” information: GEO location, time and location tracking of a decision making (when and were specific decision was taken). This is the primary scope of the use.

2. In case extension element represents a complex type customer prefers to get back an instance of the complex type, assuming the complex type is defined as a class by the development team on the customer side. However, the customer also understands that it can be more complex and considers the possibility to get the complex type as an XML snippet. The parsing and turning the XML snippet into the complex type, defined by the customer.

3. The possibility of getting the list of extension elements is expected from other DMN elements, which extend from DMNElement, according to the DMN specification and meta model diagram by OMG. In other words, the usage of extension elements is not limited to be a part of input data elements only.

4. The client is not expecting “authoring” of the extension elements.

Since extension elements are a part of DMN specification, this is an attempt to make it possible for drools to register custom extension elements in a generic way.

* "Refactoring" after the code review https://github.com/kiegroup/drools/pull/1183.

* Refactoring after code review 2.

* Logging the classnotfoundexception for an extension element register, instead of creating a DMNKnowledgeBuilder result.

* Tests and last (hopefully) changes for the ExtensionElements

* Modification of Tests and proper copyright.

* Not used elements in the sample file.

* Removing customer specific samples

* Removing non-used property files.

* .

* Implement code review comments.

* Oops commit.

* Implement code review comments for the Test.

* currently because KieAssembler is a singleton it is not possible to cache the compiler inside this KieAssembler

Show less

master + 20 more