| // |
| // ============LICENSE_START======================================================= |
| // Copyright (C) 2016-2018 Ericsson. All rights reserved. |
| // ================================================================================ |
| // This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE |
| // Full license text at https://creativecommons.org/licenses/by/4.0/legalcode |
| // |
| // SPDX-License-Identifier: CC-BY-4.0 |
| // ============LICENSE_END========================================================= |
| // |
| // @author Sven van der Meer (sven.van.der.meer@ericsson.com) |
| // |
| |
| == Application: Create Event Templates |
| |
| **Status: Experimental** |
| |
| This application takes a policy model (JSON or XML encoded) and generates templates for events in JSON format. |
| This can help when a policy defines rather complex trigger or action events or complex events between states. |
| The application can produce events for the types: stimuli (policy trigger events), internal (events between policy states), and response (action events). |
| |
| [width="100%",options="header",cols="5a,5a"] |
| |==================== |
| | Unix, Cygwin | Windows |
| | |
| [source%nowrap,sh] |
| ---- |
| # $APEX_HOME/bin/apexApps.sh tpl-event-json [args] |
| ---- |
| | |
| [source%nowrap,bat] |
| ---- |
| > %APEX_HOME%\bin\apexApps.bat tpl-event-json [args] |
| ---- |
| |==================== |
| |
| The option `-h` provides a help screen. |
| |
| [source%nowrap,sh] |
| ---- |
| usage: gen-model2event |
| -h,--help prints this help and usage screen |
| -m,--model <MODEL-FILE> set the input policy model file |
| -t,--type <TYPE> set the event type for generation, one of: |
| stimuli (trigger events), response (action |
| events), internal (events between states) |
| -v,--version prints the application version |
| ---- |
| |
| The created templates are not valid events, instead they use some markup for values one will need to change to actual values. |
| For instance, running the tool with the __Sample Domain__ policy model as: |
| [source%nowrap,sh] |
| ---- |
| apexApps.sh tpl-event-json -m $APEX_HOME/examples/models/SampleDomain/SamplePolicyModelJAVA.json -t stimuli |
| ---- |
| |
| will produce the following status messages: |
| |
| [source%nowrap,sh] |
| ---- |
| gen-model2event: starting Event generator |
| --> model file: examples/models/SampleDomain/SamplePolicyModelJAVA.json |
| --> type: stimuli |
| ---- |
| |
| and then run the generator application producing two event templates. |
| The first template is called `Event0000`. |
| |
| [source%nowrap,json] |
| ---- |
| { |
| "name" : "Event0000", |
| "nameSpace" : "org.onap.policy.apex.sample.events", |
| "version" : "0.0.1", |
| "source" : "Outside", |
| "target" : "Match", |
| "TestTemperature" : ###double: 0.0###, |
| "TestTimestamp" : ###long: 0###, |
| "TestMatchCase" : ###integer: 0###, |
| "TestSlogan" : "###string###" |
| } |
| ---- |
| The values for the keys are marked with `###` and the expected type of the value. |
| To create an actual stimuli event, all these markers need to be change to actual values, for instance: |
| [source%nowrap,json] |
| ---- |
| { |
| "name" : "Event0000", |
| "nameSpace" : "org.onap.policy.apex.sample.events", |
| "version" : "0.0.1", |
| "source" : "Outside", |
| "target" : "Match", |
| "TestTemperature" : 25, |
| "TestTimestamp" : 123456789123456789, |
| "TestMatchCase" : 1, |
| "TestSlogan" : "Testing the Match Case with Temperature 25" |
| } |
| ---- |
| |