diff options
author | ramverma <ram.krishna.verma@ericsson.com> | 2018-07-24 17:36:53 +0100 |
---|---|---|
committer | ramverma <ram.krishna.verma@ericsson.com> | 2018-07-25 11:47:15 +0100 |
commit | d524cedc578ae1bfa3bae895b3170f87463cbed9 (patch) | |
tree | 0740644e356534f770d59ff34f16e5d9ca601276 /examples/examples-decisionmaker/src/main/resources/logic | |
parent | 41ecf036b7f1b3bdd56311a0bc706407b242faca (diff) |
Adding more examples to apex-pdp
- Adding more examples (DecisionMaker, Periodic & ONAPvCPE) to apex-pdp.
- Fixed CORS issue in plugin-event-carrier-restserver module.
Added a ContainerResponseFilter to intercept every request/response coming to
REST server and add the required headers to support CORS.
Change-Id: Ic3e36c683f2a78992ce1417d2c00233b34066f2f
Issue-ID: POLICY-861
Signed-off-by: ramverma <ram.krishna.verma@ericsson.com>
Diffstat (limited to 'examples/examples-decisionmaker/src/main/resources/logic')
7 files changed, 282 insertions, 0 deletions
diff --git a/examples/examples-decisionmaker/src/main/resources/logic/AnswerInitTask.js b/examples/examples-decisionmaker/src/main/resources/logic/AnswerInitTask.js new file mode 100644 index 000000000..59074963a --- /dev/null +++ b/examples/examples-decisionmaker/src/main/resources/logic/AnswerInitTask.js @@ -0,0 +1,47 @@ +/* + * ============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========================================================= + */ + +executor.logger.info(executor.subject.id); +executor.logger.info(executor.inFields); + +var answerAlbum = executor.getContextAlbum("AnswerAlbum"); + +answerAlbum.put("a0", executor.inFields.get("a0")); +answerAlbum.put("a1", executor.inFields.get("a1")); +answerAlbum.put("a2", executor.inFields.get("a2")); +answerAlbum.put("a3", executor.inFields.get("a3")); +answerAlbum.put("a4", executor.inFields.get("a4")); +answerAlbum.put("a5", executor.inFields.get("a5")); +answerAlbum.put("a6", executor.inFields.get("a6")); + +var lastAnswerAlbum = executor.getContextAlbum("LastAnswerAlbum"); +lastAnswerAlbum.put("lastAnswer", answerAlbum.size() - 1); + +executor.outFields.put("a0", answerAlbum.get("a0")); +executor.outFields.put("a1", answerAlbum.get("a1")); +executor.outFields.put("a2", answerAlbum.get("a2")); +executor.outFields.put("a3", answerAlbum.get("a3")); +executor.outFields.put("a4", answerAlbum.get("a4")); +executor.outFields.put("a5", answerAlbum.get("a5")); +executor.outFields.put("a6", answerAlbum.get("a6")); + +executor.logger.info(executor.outFields); + +var returnValue = executor.TRUE;
\ No newline at end of file diff --git a/examples/examples-decisionmaker/src/main/resources/logic/DitheringAnswerTask.js b/examples/examples-decisionmaker/src/main/resources/logic/DitheringAnswerTask.js new file mode 100644 index 000000000..ec3455851 --- /dev/null +++ b/examples/examples-decisionmaker/src/main/resources/logic/DitheringAnswerTask.js @@ -0,0 +1,37 @@ +/* + * ============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========================================================= + */ + +executor.logger.info(executor.subject.id); +executor.logger.info(executor.inFields); + +var size = executor.getContextAlbum("AnswerAlbum").size(); + +var selection = 2 + Math.floor(Math.random() * 3); + +var selectionA = "a" + selection; + +executor.logger.info(size); +executor.logger.info(selectionA); + +executor.outFields.put("decision", executor.getContextAlbum("AnswerAlbum").get(selectionA)); + +executor.logger.info(executor.outFields); + +var returnValue = executor.TRUE;
\ No newline at end of file diff --git a/examples/examples-decisionmaker/src/main/resources/logic/MakeDecisionStateTSL.js b/examples/examples-decisionmaker/src/main/resources/logic/MakeDecisionStateTSL.js new file mode 100644 index 000000000..93261e2e0 --- /dev/null +++ b/examples/examples-decisionmaker/src/main/resources/logic/MakeDecisionStateTSL.js @@ -0,0 +1,42 @@ +/* + * ============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========================================================= + */ + +executor.logger.info(executor.subject.id); +executor.logger.info(executor.inFields); + +var returnValue = executor.TRUE; + +if (executor.inFields.get("mode").equals("random")) { + executor.subject.getTaskKey("RandomAnswerTask").copyTo(executor.selectedTask); +} +else if (executor.inFields.get("mode").equals("pessimistic")) { + executor.subject.getTaskKey("PessimisticAnswerTask").copyTo(executor.selectedTask); +} +else if (executor.inFields.get("mode").equals("optimistic")) { + executor.subject.getTaskKey("OptimisticAnswerTask").copyTo(executor.selectedTask); +} +else if (executor.inFields.get("mode").equals("dithering")) { + executor.subject.getTaskKey("DitheringAnswerTask").copyTo(executor.selectedTask); +} +//else if (executor.inFields.get("mode").equals("roundrobin")) { +// executor.subject.getTaskKey("RoundRobinAnswerTask").copyTo(executor.selectedTask); +//} + +executor.logger.info("Answer Selected Task:" + executor.selectedTask);
\ No newline at end of file diff --git a/examples/examples-decisionmaker/src/main/resources/logic/OptimisticAnswerTask.js b/examples/examples-decisionmaker/src/main/resources/logic/OptimisticAnswerTask.js new file mode 100644 index 000000000..e197c5f07 --- /dev/null +++ b/examples/examples-decisionmaker/src/main/resources/logic/OptimisticAnswerTask.js @@ -0,0 +1,37 @@ +/* + * ============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========================================================= + */ + +executor.logger.info(executor.subject.id); +executor.logger.info(executor.inFields); + +var size = executor.getContextAlbum("AnswerAlbum").size(); + +var selection = size - Math.floor(Math.random() * size / 2) - 1; + +var selectionA = "a" + selection; + +executor.logger.info(size); +executor.logger.info(selectionA); + +executor.outFields.put("decision", executor.getContextAlbum("AnswerAlbum").get(selectionA)); + +executor.logger.info(executor.outFields); + +var returnValue = executor.TRUE;
\ No newline at end of file diff --git a/examples/examples-decisionmaker/src/main/resources/logic/PessimisticAnswerTask.js b/examples/examples-decisionmaker/src/main/resources/logic/PessimisticAnswerTask.js new file mode 100644 index 000000000..34942d846 --- /dev/null +++ b/examples/examples-decisionmaker/src/main/resources/logic/PessimisticAnswerTask.js @@ -0,0 +1,37 @@ +/* + * ============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========================================================= + */ + +executor.logger.info(executor.subject.id); +executor.logger.info(executor.inFields); + +var size = executor.getContextAlbum("AnswerAlbum").size(); + +var selection = Math.floor(Math.random() * size / 2); + +var selectionA = "a" + selection; + +executor.logger.info(size); +executor.logger.info(selectionA); + +executor.outFields.put("decision", executor.getContextAlbum("AnswerAlbum").get(selectionA)); + +executor.logger.info(executor.outFields); + +var returnValue = executor.TRUE;
\ No newline at end of file diff --git a/examples/examples-decisionmaker/src/main/resources/logic/RandomAnswerTask.js b/examples/examples-decisionmaker/src/main/resources/logic/RandomAnswerTask.js new file mode 100644 index 000000000..f4012ac6e --- /dev/null +++ b/examples/examples-decisionmaker/src/main/resources/logic/RandomAnswerTask.js @@ -0,0 +1,37 @@ +/* + * ============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========================================================= + */ + +executor.logger.info(executor.subject.id); +executor.logger.info(executor.inFields); + +var size = executor.getContextAlbum("AnswerAlbum").size(); + +var selection = Math.floor(Math.random() * size); + +var selectionA = "a" + selection; + +executor.logger.info(size); +executor.logger.info(selectionA); + +executor.outFields.put("decision", executor.getContextAlbum("AnswerAlbum").get(selectionA)); + +executor.logger.info(executor.outFields); + +var returnValue = executor.TRUE;
\ No newline at end of file diff --git a/examples/examples-decisionmaker/src/main/resources/logic/RoundRobinAnswerTask.js b/examples/examples-decisionmaker/src/main/resources/logic/RoundRobinAnswerTask.js new file mode 100644 index 000000000..a3d52f20f --- /dev/null +++ b/examples/examples-decisionmaker/src/main/resources/logic/RoundRobinAnswerTask.js @@ -0,0 +1,45 @@ +/* + * ============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========================================================= + */ + +executor.logger.info(executor.subject.id); +executor.logger.info(executor.inFields); + +var size = executor.getContextAlbum("AnswerAlbum").size(); +var lastAnswer = executor.getContextAlbum("LastAnswerAlbum").get("lastAnswer"); + +executor.logger.info(size); +executor.logger.info(lastAnswer); + +var answer = ++lastAnswer; +if (answer >= size) { + answer = 0; +} + +executor.getContextAlbum("LastAnswerAlbum").put("lastAnswer", answer) + +var selectionA = "a" + answer; + +executor.logger.info(selectionA); + +executor.outFields.put("decision", executor.getContextAlbum("AnswerAlbum").get(selectionA)); + +executor.logger.info(executor.outFields); + +var returnValue = executor.TRUE;
\ No newline at end of file |