blob: bd31bedf9511a238eea32c9924bf699af82984da [file] [log] [blame]
//
// ============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"
}
----