diff options
Diffstat (limited to 'examples/examples-decisionmaker/src/main')
7 files changed, 771 insertions, 0 deletions
diff --git a/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/AnswerInitiationEvent.json b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/AnswerInitiationEvent.json new file mode 100644 index 000000000..6df3115d6 --- /dev/null +++ b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/AnswerInitiationEvent.json @@ -0,0 +1,14 @@ +{ + "nameSpace": "org.onap.policy.apex.domains.decisionmaker", + "name": "AnswerEvent", + "version": "0.0.1", + "source": "dcae", + "target": "apex", + "a0" : "choice 0", + "a1" : "choice 1", + "a2" : "choice 2", + "a3" : "choice 3", + "a4" : "choice 4", + "a5" : "choice 5", + "a6" : "choice 6" +} diff --git a/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigRESTClient.json b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigRESTClient.json new file mode 100644 index 000000000..9fa0b6ddd --- /dev/null +++ b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigRESTClient.json @@ -0,0 +1,67 @@ +{ + "engineServiceParameters": { + "name": "MyApexEngine", + "version": "0.0.1", + "id": 45, + "instanceCount": 4, + "deploymentPort": 12345, + "policyModelFileName": "examples/models/DecisionMaker/DecisionMakerPolicyModel.json", + "engineParameters": { + "executorParameters": { + "JAVASCRIPT": { + "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters" + } + } + } + }, + "eventInputParameters": { + "VNFInitConsumer": { + "carrierTechnologyParameters": { + "carrierTechnology": "FILE", + "parameters": { + "fileName": "examples/config/DecisionMaker/AnswerInitiationEvent.json" + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON" + } + }, + "DMaaPConsumer": { + "carrierTechnologyParameters": { + "carrierTechnology": "RESTCLIENT", + "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters", + "parameters": { + "url": "http://localhost:3904/events/toApex/APEX/1?timeout=60000" + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON" + } + } + }, + "eventOutputParameters": { + "logProducer": { + "carrierTechnologyParameters": { + "carrierTechnology": "FILE", + "parameters": { + "fileName": "/tmp/EventsOut.json" + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON" + } + }, + "DMaapProducer": { + "carrierTechnologyParameters": { + "carrierTechnology": "RESTCLIENT", + "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restclient.RESTClientCarrierTechnologyParameters", + "parameters": { + "url": "http://localhost:3904/events/fromApex" + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON" + } + } + } +} diff --git a/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigRESTServer.json b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigRESTServer.json new file mode 100644 index 000000000..edf1b9cc3 --- /dev/null +++ b/examples/examples-decisionmaker/src/main/resources/examples/config/DecisionMaker/ApexConfigRESTServer.json @@ -0,0 +1,72 @@ +{ + "engineServiceParameters": { + "name": "MyApexEngine", + "version": "0.0.1", + "id": 45, + "instanceCount": 4, + "deploymentPort": 12345, + "policyModelFileName": "examples/models/DecisionMaker/DecisionMakerPolicyModel.json", + "engineParameters": { + "executorParameters": { + "JAVASCRIPT": { + "parameterClassName": "org.onap.policy.apex.plugins.executor.javascript.JavascriptExecutorParameters" + } + } + } + }, + "eventInputParameters": { + "VNFInitConsumer": { + "carrierTechnologyParameters": { + "carrierTechnology": "FILE", + "parameters": { + "fileName": "examples/config/DecisionMaker/AnswerInitiationEvent.json" + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON" + } + }, + "RESTConsumer": { + "carrierTechnologyParameters": { + "carrierTechnology": "RESTSERVER", + "parameterClassName": "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters", + "parameters": { + "standalone": true, + "host": "0.0.0.0", + "port": 23324 + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON" + }, + "synchronousMode": true, + "synchronousPeer": "RESTProducer", + "synchronousTimeout": 500 + } + }, + "eventOutputParameters": { + "logProducer": { + "carrierTechnologyParameters": { + "carrierTechnology": "FILE", + "parameters": { + "fileName": "/tmp/EventsOut.json" + } + }, + "eventProtocolParameters": { + "eventProtocol": "JSON" + } + }, + "RESTProducer": { + "carrierTechnologyParameters":{ + "carrierTechnology" : "RESTSERVER", + "parameterClassName" : "org.onap.policy.apex.plugins.event.carrier.restserver.RESTServerCarrierTechnologyParameters" + }, + "eventProtocolParameters":{ + "eventProtocol" : "JSON" + }, + "synchronousMode" : true, + "synchronousPeer" : "RESTConsumer", + "synchronousTimeout" : 500 + } + } +} diff --git a/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html new file mode 100644 index 000000000..1077939b0 --- /dev/null +++ b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Client.html @@ -0,0 +1,156 @@ +<!-- + ============LICENSE_START======================================================= + Copyright (C) 2016-2018 Ericsson. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + SPDX-License-Identifier: Apache-2.0 + ============LICENSE_END========================================================= +--> + +<!-- http://localhost:3904/events/toApex --> + +<html> +<head> +<script src="http://code.jquery.com/jquery-latest.js"></script> +<script> + $(document).ready(function() { + $("#answerspost").click(function(e) { + var elements = document.getElementById("answerform").elements; + + var formValues = new Object; + formValues["name"] = "AnswerEvent"; + for (var i = 0, element; element = elements[i++];) { + if (element.type === "text" && element.value != "") { + formValues[element.name] = element.value; + } + } + console.log(formValues); + var stringifiedForm = JSON.stringify(formValues); + console.log(stringifiedForm); + $.ajax({ + type : "POST", + url : "http://localhost:3904/events/toApex", + data : stringifiedForm, + crossDomain : true, + contentType : "application/json; charset=utf-8", + success : function(data) { + alert("Answers Set Successfully !!!"); + }, + failure : function(errMsg) { + alert(errMsg); + } + }); + e.preventDefault(); //STOP default action + + }); + }); +</script> +<script> + $(document).ready(function() { + $("#modepost").click(function(e) { + var elements = document.getElementById("modeform").elements; + + var formValues = new Object; + formValues["name"] = "MakeDecisionEvent"; + for (var i = 0, element; element = elements[i++];) { + if (element.type === "radio" && element.checked) { + formValues[element.name] = element.value; + } + } + console.log(formValues); + var stringifiedForm = JSON.stringify(formValues); + console.log(stringifiedForm); + $.ajax({ + type : "POST", + url : "http://localhost:3904/events/toApex", + data : stringifiedForm, + crossDomain : true, + contentType : "application/json; charset=utf-8", + success : function(data) { + alert("Decision Taken: " + data.decision); + }, + failure : function(errMsg) { + alert(errMsg); + } + }); + e.preventDefault(); //STOP default action + + }); + }); +</script> +</head> +<body> + <h3>Decision Maker Answers</h3> + <form name="answerform" id="answerform" method="POST"> + <table> + <tr> + <td>First Answer:</td> + <td><input type="text" name="a0" value="Never Ever" /></td> + </tr> + <tr> + <td>Second Answer:</td> + <td><input type="text" name="a1" value="No" /></td> + </tr> + <tr> + <td>Third Answer:</td> + <td><input type="text" name="a2" value="Maybe not" /></td> + </tr> + <tr> + <td>Fourth Answer</td> + <td><input type="text" name="a3" value="Wait" /></td> + </tr> + <tr> + <td>Fifth Answer:</td> + <td><input type="text" name="a4" value="Maybe" /></td> + </tr> + <tr> + <td>Sixth Answer:</td> + <td><input type="text" name="a5" value="Yes" /></td> + </tr> + <tr> + <td>Seventh Answer:</td> + <td><input type="text" name="a6" value="Absolutely" /></td> + </tr> + <tr> + <td /> + <td><input type="button" class="btn btn-info" id="answerspost" + value="Set Answers"></td> + </tr> + </table> + </form> + <h3>Decision Maker Mode</h3> + <form name="modeform" id="modeform" method="POST"> + <table> + <tr> + <td><input name="mode" type="radio" value="random" + checked="checked">random</td> + <td><input name="mode" type="radio" value="pessimistic">pessimistic</td> + <td><input name="mode" type="radio" value="optimistic"> + optimistic</td> + <td><input name="mode" type="radio" value="dithering">dithering</td> + <td><input name="mode" type="radio" value="roundrobin">round + robin</td> + </tr> + <tr> + <td /> + <td /> + <td /> + <td /> + <td><input type="button" class="btn btn-info" id="modepost" + value="Make Decision"></td> + </tr> + </table> + </form> +</body> +</html> diff --git a/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html new file mode 100644 index 000000000..06df67e59 --- /dev/null +++ b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecisionExtraMode_Server.html @@ -0,0 +1,156 @@ +<!-- + ============LICENSE_START======================================================= + Copyright (C) 2016-2018 Ericsson. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + SPDX-License-Identifier: Apache-2.0 + ============LICENSE_END========================================================= +--> + +<!-- http://localhost:23324/apex/EventIn --> + +<html> +<head> +<script src="http://code.jquery.com/jquery-latest.js"></script> +<script> + $(document).ready(function() { + $("#answerspost").click(function(e) { + var elements = document.getElementById("answerform").elements; + + var formValues = new Object; + formValues["name"] = "AnswerEvent"; + for (var i = 0, element; element = elements[i++];) { + if (element.type === "text" && element.value != "") { + formValues[element.name] = element.value; + } + } + console.log(formValues); + var stringifiedForm = JSON.stringify(formValues); + console.log(stringifiedForm); + $.ajax({ + type : "POST", + url : "http://localhost:23324/apex/RESTConsumer/EventIn", + data : stringifiedForm, + crossDomain : true, + contentType : "application/json; charset=utf-8", + success : function(data) { + alert("Answers Set Successfully !!!"); + }, + failure : function(errMsg) { + alert(errMsg); + } + }); + e.preventDefault(); //STOP default action + + }); + }); +</script> +<script> + $(document).ready(function() { + $("#modepost").click(function(e) { + var elements = document.getElementById("modeform").elements; + + var formValues = new Object; + formValues["name"] = "MakeDecisionEvent"; + for (var i = 0, element; element = elements[i++];) { + if (element.type === "radio" && element.checked) { + formValues[element.name] = element.value; + } + } + console.log(formValues); + var stringifiedForm = JSON.stringify(formValues); + console.log(stringifiedForm); + $.ajax({ + type : "POST", + url : "http://localhost:23324/apex/RESTConsumer/EventIn", + data : stringifiedForm, + crossDomain : true, + contentType : "application/json; charset=utf-8", + success : function(data) { + alert("Decision Taken: " + data.decision); + }, + failure : function(errMsg) { + alert(errMsg); + } + }); + e.preventDefault(); //STOP default action + + }); + }); +</script> +</head> +<body> + <h3>Decision Maker Answers</h3> + <form name="answerform" id="answerform" method="POST"> + <table> + <tr> + <td>First Answer:</td> + <td><input type="text" name="a0" value="Never Ever" /></td> + </tr> + <tr> + <td>Second Answer:</td> + <td><input type="text" name="a1" value="No" /></td> + </tr> + <tr> + <td>Third Answer:</td> + <td><input type="text" name="a2" value="Maybe not" /></td> + </tr> + <tr> + <td>Fourth Answer</td> + <td><input type="text" name="a3" value="Wait" /></td> + </tr> + <tr> + <td>Fifth Answer:</td> + <td><input type="text" name="a4" value="Maybe" /></td> + </tr> + <tr> + <td>Sixth Answer:</td> + <td><input type="text" name="a5" value="Yes" /></td> + </tr> + <tr> + <td>Seventh Answer:</td> + <td><input type="text" name="a6" value="Absolutely" /></td> + </tr> + <tr> + <td /> + <td><input type="button" class="btn btn-info" id="answerspost" + value="Set Answers"></td> + </tr> + </table> + </form> + <h3>Decision Maker Mode</h3> + <form name="modeform" id="modeform" method="POST"> + <table> + <tr> + <td><input name="mode" type="radio" value="random" + checked="checked">random</td> + <td><input name="mode" type="radio" value="pessimistic">pessimistic</td> + <td><input name="mode" type="radio" value="optimistic"> + optimistic</td> + <td><input name="mode" type="radio" value="dithering">dithering</td> + <td><input name="mode" type="radio" value="roundrobin">round + robin</td> + </tr> + <tr> + <td /> + <td /> + <td /> + <td /> + <td><input type="button" class="btn btn-info" id="modepost" + value="Make Decision"></td> + </tr> + </table> + </form> +</body> +</html> diff --git a/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecision_Client.html b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecision_Client.html new file mode 100644 index 000000000..f7a3f0c5b --- /dev/null +++ b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecision_Client.html @@ -0,0 +1,153 @@ +<!-- + ============LICENSE_START======================================================= + Copyright (C) 2016-2018 Ericsson. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + SPDX-License-Identifier: Apache-2.0 + ============LICENSE_END========================================================= +--> + +<!-- http://localhost:3904/events/toApex --> + +<html> +<head> +<script src="http://code.jquery.com/jquery-latest.js"></script> +<script> + $(document).ready(function() { + $("#answerspost").click(function(e) { + var elements = document.getElementById("answerform").elements; + + var formValues = new Object; + formValues["name"] = "AnswerEvent"; + for (var i = 0, element; element = elements[i++];) { + if (element.type === "text" && element.value != "") { + formValues[element.name] = element.value; + } + } + console.log(formValues); + var stringifiedForm = JSON.stringify(formValues); + console.log(stringifiedForm); + $.ajax({ + type : "POST", + url : "http://localhost:3904/events/toApex", + data : stringifiedForm, + crossDomain : true, + contentType : "application/json; charset=utf-8", + success : function(data) { + alert("Answers Set Successfully !!!"); + }, + failure : function(errMsg) { + alert(errMsg); + } + }); + e.preventDefault(); //STOP default action + + }); + }); +</script> +<script> + $(document).ready(function() { + $("#modepost").click(function(e) { + var elements = document.getElementById("modeform").elements; + + var formValues = new Object; + formValues["name"] = "MakeDecisionEvent"; + for (var i = 0, element; element = elements[i++];) { + if (element.type === "radio" && element.checked) { + formValues[element.name] = element.value; + } + } + console.log(formValues); + var stringifiedForm = JSON.stringify(formValues); + console.log(stringifiedForm); + $.ajax({ + type : "POST", + url : "http://localhost:3904/events/toApex", + data : stringifiedForm, + crossDomain : true, + contentType : "application/json; charset=utf-8", + success : function(data) { + alert("Decision Taken: " + data.decision); + }, + failure : function(errMsg) { + alert(errMsg); + } + }); + e.preventDefault(); //STOP default action + + }); + }); +</script> +</head> +<body> + <h3>Decision Maker Answers</h3> + <form name="answerform" id="answerform" method="POST"> + <table> + <tr> + <td>First Answer:</td> + <td><input type="text" name="a0" value="Never Ever" /></td> + </tr> + <tr> + <td>Second Answer:</td> + <td><input type="text" name="a1" value="No" /></td> + </tr> + <tr> + <td>Third Answer:</td> + <td><input type="text" name="a2" value="Maybe not" /></td> + </tr> + <tr> + <td>Fourth Answer</td> + <td><input type="text" name="a3" value="Wait" /></td> + </tr> + <tr> + <td>Fifth Answer:</td> + <td><input type="text" name="a4" value="Maybe" /></td> + </tr> + <tr> + <td>Sixth Answer:</td> + <td><input type="text" name="a5" value="Yes" /></td> + </tr> + <tr> + <td>Seventh Answer:</td> + <td><input type="text" name="a6" value="Absolutely" /></td> + </tr> + <tr> + <td /> + <td><input type="button" class="btn btn-info" id="answerspost" + value="Set Answers"></td> + </tr> + </table> + </form> + <h3>Decision Maker Mode</h3> + <form name="modeform" id="modeform" method="POST"> + <table> + <tr> + <td><input name="mode" type="radio" value="random" + checked="checked">random</td> + <td><input name="mode" type="radio" value="pessimistic">pessimistic</td> + <td><input name="mode" type="radio" value="optimistic"> + optimistic</td> + <td><input name="mode" type="radio" value="dithering">dithering</td> + </tr> + <tr> + <td /> + <td /> + <td /> + <td><input type="button" class="btn btn-info" id="modepost" + value="Make Decision"></td> + </tr> + </table> + </form> +</body> +</html> diff --git a/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecision_Server.html b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecision_Server.html new file mode 100644 index 000000000..4c8f311af --- /dev/null +++ b/examples/examples-decisionmaker/src/main/resources/examples/html/DecisionMaker/MakeDecision_Server.html @@ -0,0 +1,153 @@ +<!-- + ============LICENSE_START======================================================= + Copyright (C) 2016-2018 Ericsson. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + SPDX-License-Identifier: Apache-2.0 + ============LICENSE_END========================================================= +--> + +<!-- http://localhost:23324/apex/eventInput/EventIn --> + +<html> +<head> +<script src="http://code.jquery.com/jquery-latest.js"></script> +<script> + $(document).ready(function() { + $("#answerspost").click(function(e) { + var elements = document.getElementById("answerform").elements; + + var formValues = new Object; + formValues["name"] = "AnswerEvent"; + for (var i = 0, element; element = elements[i++];) { + if (element.type === "text" && element.value != "") { + formValues[element.name] = element.value; + } + } + console.log(formValues); + var stringifiedForm = JSON.stringify(formValues); + console.log(stringifiedForm); + $.ajax({ + type : "POST", + url : "http://localhost:23324/apex/RESTConsumer/EventIn", + data : stringifiedForm, + crossDomain : true, + contentType : "application/json; charset=utf-8", + success : function(data) { + alert("Answers Set Successfully !!!"); + }, + failure : function(errMsg) { + alert(errMsg); + } + }); + e.preventDefault(); //STOP default action + + }); + }); +</script> +<script> + $(document).ready(function() { + $("#modepost").click(function(e) { + var elements = document.getElementById("modeform").elements; + + var formValues = new Object; + formValues["name"] = "MakeDecisionEvent"; + for (var i = 0, element; element = elements[i++];) { + if (element.type === "radio" && element.checked) { + formValues[element.name] = element.value; + } + } + console.log(formValues); + var stringifiedForm = JSON.stringify(formValues); + console.log(stringifiedForm); + $.ajax({ + type : "POST", + url : "http://localhost:23324/apex/RESTConsumer/EventIn", + data : stringifiedForm, + crossDomain : true, + contentType : "application/json; charset=utf-8", + success : function(data) { + alert("Decision Taken: " + data.decision); + }, + failure : function(errMsg) { + alert(errMsg); + } + }); + e.preventDefault(); //STOP default action + + }); + }); +</script> +</head> +<body> + <h3>Decision Maker Answers</h3> + <form name="answerform" id="answerform" method="POST"> + <table> + <tr> + <td>First Answer:</td> + <td><input type="text" name="a0" value="Never Ever" /></td> + </tr> + <tr> + <td>Second Answer:</td> + <td><input type="text" name="a1" value="No" /></td> + </tr> + <tr> + <td>Third Answer:</td> + <td><input type="text" name="a2" value="Maybe not" /></td> + </tr> + <tr> + <td>Fourth Answer</td> + <td><input type="text" name="a3" value="Wait" /></td> + </tr> + <tr> + <td>Fifth Answer:</td> + <td><input type="text" name="a4" value="Maybe" /></td> + </tr> + <tr> + <td>Sixth Answer:</td> + <td><input type="text" name="a5" value="Yes" /></td> + </tr> + <tr> + <td>Seventh Answer:</td> + <td><input type="text" name="a6" value="Absolutely" /></td> + </tr> + <tr> + <td /> + <td><input type="button" class="btn btn-info" id="answerspost" + value="Set Answers"></td> + </tr> + </table> + </form> + <h3>Decision Maker Mode</h3> + <form name="modeform" id="modeform" method="POST"> + <table> + <tr> + <td><input name="mode" type="radio" value="random" + checked="checked">random</td> + <td><input name="mode" type="radio" value="pessimistic">pessimistic</td> + <td><input name="mode" type="radio" value="optimistic"> + optimistic</td> + <td><input name="mode" type="radio" value="dithering">dithering</td> + </tr> + <tr> + <td /> + <td /> + <td /> + <td><input type="button" class="btn btn-info" id="modepost" + value="Make Decision"></td> + </tr> + </table> + </form> +</body> +</html> |