diff options
author | 2018-11-08 20:06:03 +0000 | |
---|---|---|
committer | 2018-11-08 20:06:03 +0000 | |
commit | f5f76a2e0d8fb2fd6e17bb5f0e85a3f7d29cf0c4 (patch) | |
tree | 1370b6bad00367b6009f3dfb6a16a7008e4379e1 /tools/model-generator/src/test/resources/models/MyFirstPolicyModel.json | |
parent | 8e6b49616df8e47a1c00629b20dcf947ea0bca68 (diff) | |
parent | cad452cdb6d999f822fe11dc4fdd232cce30ff6a (diff) |
Merge "Refactor unit test data" into casablanca3.0.0-ONAP2.0.3
Diffstat (limited to 'tools/model-generator/src/test/resources/models/MyFirstPolicyModel.json')
-rw-r--r-- | tools/model-generator/src/test/resources/models/MyFirstPolicyModel.json | 1213 |
1 files changed, 0 insertions, 1213 deletions
diff --git a/tools/model-generator/src/test/resources/models/MyFirstPolicyModel.json b/tools/model-generator/src/test/resources/models/MyFirstPolicyModel.json deleted file mode 100644 index 85bb0e411..000000000 --- a/tools/model-generator/src/test/resources/models/MyFirstPolicyModel.json +++ /dev/null @@ -1,1213 +0,0 @@ -{ - "apexPolicyModel" : { - "key" : { - "name" : "MyFirstPolicyModel", - "version" : "0.0.1" - }, - "keyInformation" : { - "key" : { - "name" : "MyFirstPolicyModel_KeyInfo", - "version" : "0.0.1" - }, - "keyInfoMap" : { - "entry" : [ { - "key" : { - "name" : "MorningBoozeCheck", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "MorningBoozeCheck", - "version" : "0.0.1" - }, - "UUID" : "3351b0f4-cf06-4fa2-8823-edf67bd30223", - "description" : "This task checks if the sales request is for an item that contains alcohol. \nIf the local time is between 00:00:00 and 11:30:00 then the sale is not authorised. Otherwise the sale is authorised. \nIn this implementation we assume that all items with item_ID values between 1000 and 2000 contain alcohol :-)" - } - }, { - "key" : { - "name" : "MorningBoozeCheckAlt1", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "MorningBoozeCheckAlt1", - "version" : "0.0.1" - }, - "UUID" : "bc6d90c9-c902-4686-afd3-925b30e39990", - "description" : "This task checks if a sale request is for an item that is an alcoholic drink. \nIf the local time is between 00:00:00 CET and 13:00:00 CET then the sale is not authorised. \nAlso alcohol sales are not allowed on Sundays. Otherwise the sale is authorised. \nIn this implementation we assume that items with item_ID between 1000 and 2000 are all alcoholic drinks" - } - }, { - "key" : { - "name" : "MyFirstPolicy", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "MyFirstPolicy", - "version" : "0.0.1" - }, - "UUID" : "6c5e410f-489a-46ff-964e-982ce6e8b6d0", - "description" : "This is my first Apex policy. It checks if a sale should be authorised or not." - } - }, { - "key" : { - "name" : "MyFirstPolicyModel", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "MyFirstPolicyModel", - "version" : "0.0.1" - }, - "UUID" : "540226fb-55ee-4f0e-a444-983a0494818e", - "description" : "This is my first Apex Policy Model." - } - }, { - "key" : { - "name" : "MyFirstPolicyModel_Albums", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "MyFirstPolicyModel_Albums", - "version" : "0.0.1" - }, - "UUID" : "3f70ec50-f896-31ba-afec-5fd47e69045b", - "description" : "Generated description for concept referred to by key \"MyFirstPolicyModel_Albums:0.0.1\"" - } - }, { - "key" : { - "name" : "MyFirstPolicyModel_Events", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "MyFirstPolicyModel_Events", - "version" : "0.0.1" - }, - "UUID" : "ef281318-5ac9-3ef0-8db3-8f9c4e4a81e2", - "description" : "Generated description for concept referred to by key \"MyFirstPolicyModel_Events:0.0.1\"" - } - }, { - "key" : { - "name" : "MyFirstPolicyModel_KeyInfo", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "MyFirstPolicyModel_KeyInfo", - "version" : "0.0.1" - }, - "UUID" : "d9248c6f-7c00-38df-8251-611463ba4065", - "description" : "Generated description for concept referred to by key \"MyFirstPolicyModel_KeyInfo:0.0.1\"" - } - }, { - "key" : { - "name" : "MyFirstPolicyModel_Policies", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "MyFirstPolicyModel_Policies", - "version" : "0.0.1" - }, - "UUID" : "77c01a6b-510c-3aa9-b640-b4db356aa03b", - "description" : "Generated description for concept referred to by key \"MyFirstPolicyModel_Policies:0.0.1\"" - } - }, { - "key" : { - "name" : "MyFirstPolicyModel_Schemas", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "MyFirstPolicyModel_Schemas", - "version" : "0.0.1" - }, - "UUID" : "d0cc3aa0-ea69-3a43-80ff-a0dbb0ebd885", - "description" : "Generated description for concept referred to by key \"MyFirstPolicyModel_Schemas:0.0.1\"" - } - }, { - "key" : { - "name" : "MyFirstPolicyModel_Tasks", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "MyFirstPolicyModel_Tasks", - "version" : "0.0.1" - }, - "UUID" : "b02a7e02-2cd0-39e6-b3cb-946fa83a8f08", - "description" : "Generated description for concept referred to by key \"MyFirstPolicyModel_Tasks:0.0.1\"" - } - }, { - "key" : { - "name" : "SALE_AUTH", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "SALE_AUTH", - "version" : "0.0.1" - }, - "UUID" : "c4500941-3f98-4080-a9cc-5b9753ed050b", - "description" : "An event emitted by the Policy to indicate whether the sale of an item has been authorised" - } - }, { - "key" : { - "name" : "SALE_INPUT", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "SALE_INPUT", - "version" : "0.0.1" - }, - "UUID" : "4f04aa98-e917-4f4a-882a-c75ba5a99374", - "description" : "An event raised by the PoS system each time an item is scanned for purchase" - } - }, { - "key" : { - "name" : "assistant_ID_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "assistant_ID_type", - "version" : "0.0.1" - }, - "UUID" : "36df4c71-9616-4206-8b53-976a5cd4bd87", - "description" : "A type for 'assistant_ID' values" - } - }, { - "key" : { - "name" : "authorised_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "authorised_type", - "version" : "0.0.1" - }, - "UUID" : "d48b619e-d00d-4008-b884-02d76ea4350b", - "description" : "A type for 'authorised' values" - } - }, { - "key" : { - "name" : "branch_ID_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "branch_ID_type", - "version" : "0.0.1" - }, - "UUID" : "6468845f-4122-4128-8e49-0f52c26078b5", - "description" : "A type for 'branch_ID' values" - } - }, { - "key" : { - "name" : "item_ID_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "item_ID_type", - "version" : "0.0.1" - }, - "UUID" : "4f227ff1-aee0-453a-b6b6-9a4b2e0da932", - "description" : "A type for 'item_ID' values" - } - }, { - "key" : { - "name" : "message_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "message_type", - "version" : "0.0.1" - }, - "UUID" : "ad1431bb-3155-4e73-b5a3-b89bee498749", - "description" : "A type for 'message' values" - } - }, { - "key" : { - "name" : "notes_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "notes_type", - "version" : "0.0.1" - }, - "UUID" : "eecfde90-896c-4343-8f9c-2603ced94e2d", - "description" : "A type for 'notes' values" - } - }, { - "key" : { - "name" : "price_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "price_type", - "version" : "0.0.1" - }, - "UUID" : "52c2fc45-fd8c-463c-bd6f-d91b0554aea7", - "description" : "A type for 'amount'/'price' values" - } - }, { - "key" : { - "name" : "quantity_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "quantity_type", - "version" : "0.0.1" - }, - "UUID" : "ac3d9842-80af-4a98-951c-bd79a431c613", - "description" : "A type for 'quantity' values" - } - }, { - "key" : { - "name" : "sale_ID_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "sale_ID_type", - "version" : "0.0.1" - }, - "UUID" : "cca47d74-7754-4a61-b163-ca31f66b157b", - "description" : "A type for 'sale_ID' values" - } - }, { - "key" : { - "name" : "timestamp_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "timestamp_type", - "version" : "0.0.1" - }, - "UUID" : "fd594e88-411d-4a94-b2be-697b3a0d7adf", - "description" : "A type for 'time' values" - } - } ] - } - }, - "policies" : { - "key" : { - "name" : "MyFirstPolicyModel_Policies", - "version" : "0.0.1" - }, - "policyMap" : { - "entry" : [ { - "key" : { - "name" : "MyFirstPolicy", - "version" : "0.0.1" - }, - "value" : { - "policyKey" : { - "name" : "MyFirstPolicy", - "version" : "0.0.1" - }, - "template" : "FREEFORM", - "state" : { - "entry" : [ { - "key" : "BoozeAuthDecide", - "value" : { - "stateKey" : { - "parentKeyName" : "MyFirstPolicy", - "parentKeyVersion" : "0.0.1", - "parentLocalName" : "NULL", - "localName" : "BoozeAuthDecide" - }, - "trigger" : { - "name" : "SALE_INPUT", - "version" : "0.0.1" - }, - "stateOutputs" : { - "entry" : [ { - "key" : "MorningBoozeCheck_Output_Direct", - "value" : { - "key" : { - "parentKeyName" : "MyFirstPolicy", - "parentKeyVersion" : "0.0.1", - "parentLocalName" : "BoozeAuthDecide", - "localName" : "MorningBoozeCheck_Output_Direct" - }, - "outgoingEvent" : { - "name" : "SALE_AUTH", - "version" : "0.0.1" - }, - "nextState" : { - "parentKeyName" : "NULL", - "parentKeyVersion" : "0.0.0", - "parentLocalName" : "NULL", - "localName" : "NULL" - } - } - } ] - }, - "contextAlbumReference" : [ ], - "taskSelectionLogic" : { - "key" : "TaskSelectionLogic", - "logicFlavour" : "JAVASCRIPT", - "logic" : "/* * ============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========================================================= */var returnValueType = Java.type(\"java.lang.Boolean\");\nvar returnValue = new returnValueType(true);\n\nexecutor.logger.info(\"Task Selection Execution: '\"+executor.subject.id+\"'. Input Event: '\"+executor.inFields+\"'\");\n\nbranchid = executor.inFields.get(\"branch_ID\");\ntaskorig = executor.subject.getTaskKey(\"MorningBoozeCheck\");\ntaskalt = executor.subject.getTaskKey(\"MorningBoozeCheckAlt1\");\ntaskdef = executor.subject.getDefaultTaskKey();\n\nif(branchid >=0 && branchid <1000){\n taskorig.copyTo(executor.selectedTask);\n}\nelse if (branchid >=1000 && branchid <2000){\n taskalt.copyTo(executor.selectedTask);\n}\nelse{\n taskdef.copyTo(executor.selectedTask);\n}\n\n/*\nThis task selection logic selects task \"MorningBoozeCheck\" for branches with 0<=branch_ID<1000 and selects task \"MorningBoozeCheckAlt1\" for branches with 1000<=branch_ID<2000. Otherwise the default task is selected. In this case the default task is also \"MorningBoozeCheck\"\n*/" - }, - "stateFinalizerLogicMap" : { - "entry" : [ ] - }, - "defaultTask" : { - "name" : "MorningBoozeCheck", - "version" : "0.0.1" - }, - "taskReferences" : { - "entry" : [ { - "key" : { - "name" : "MorningBoozeCheckAlt1", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "parentKeyName" : "MyFirstPolicy", - "parentKeyVersion" : "0.0.1", - "parentLocalName" : "BoozeAuthDecide", - "localName" : "MorningBoozeCheckAlt1" - }, - "outputType" : "DIRECT", - "output" : { - "parentKeyName" : "MyFirstPolicy", - "parentKeyVersion" : "0.0.1", - "parentLocalName" : "BoozeAuthDecide", - "localName" : "MorningBoozeCheck_Output_Direct" - } - } - }, { - "key" : { - "name" : "MorningBoozeCheck", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "parentKeyName" : "MyFirstPolicy", - "parentKeyVersion" : "0.0.1", - "parentLocalName" : "BoozeAuthDecide", - "localName" : "MorningBoozeCheck" - }, - "outputType" : "DIRECT", - "output" : { - "parentKeyName" : "MyFirstPolicy", - "parentKeyVersion" : "0.0.1", - "parentLocalName" : "BoozeAuthDecide", - "localName" : "MorningBoozeCheck_Output_Direct" - } - } - } ] - } - } - } ] - }, - "firstState" : "BoozeAuthDecide" - } - } ] - } - }, - "tasks" : { - "key" : { - "name" : "MyFirstPolicyModel_Tasks", - "version" : "0.0.1" - }, - "taskMap" : { - "entry" : [ { - "key" : { - "name" : "MorningBoozeCheck", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "MorningBoozeCheck", - "version" : "0.0.1" - }, - "inputFields" : { - "entry" : [ { - "key" : "sale_ID", - "value" : { - "key" : "sale_ID", - "fieldSchemaKey" : { - "name" : "sale_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "amount", - "value" : { - "key" : "amount", - "fieldSchemaKey" : { - "name" : "price_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "assistant_ID", - "value" : { - "key" : "assistant_ID", - "fieldSchemaKey" : { - "name" : "assistant_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "notes", - "value" : { - "key" : "notes", - "fieldSchemaKey" : { - "name" : "notes_type", - "version" : "0.0.1" - }, - "optional" : true - } - }, { - "key" : "quantity", - "value" : { - "key" : "quantity", - "fieldSchemaKey" : { - "name" : "quantity_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "branch_ID", - "value" : { - "key" : "branch_ID", - "fieldSchemaKey" : { - "name" : "branch_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "item_ID", - "value" : { - "key" : "item_ID", - "fieldSchemaKey" : { - "name" : "item_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "time", - "value" : { - "key" : "time", - "fieldSchemaKey" : { - "name" : "timestamp_type", - "version" : "0.0.1" - }, - "optional" : false - } - } ] - }, - "outputFields" : { - "entry" : [ { - "key" : "sale_ID", - "value" : { - "key" : "sale_ID", - "fieldSchemaKey" : { - "name" : "sale_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "amount", - "value" : { - "key" : "amount", - "fieldSchemaKey" : { - "name" : "price_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "assistant_ID", - "value" : { - "key" : "assistant_ID", - "fieldSchemaKey" : { - "name" : "assistant_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "notes", - "value" : { - "key" : "notes", - "fieldSchemaKey" : { - "name" : "notes_type", - "version" : "0.0.1" - }, - "optional" : true - } - }, { - "key" : "quantity", - "value" : { - "key" : "quantity", - "fieldSchemaKey" : { - "name" : "quantity_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "branch_ID", - "value" : { - "key" : "branch_ID", - "fieldSchemaKey" : { - "name" : "branch_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "item_ID", - "value" : { - "key" : "item_ID", - "fieldSchemaKey" : { - "name" : "item_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "authorised", - "value" : { - "key" : "authorised", - "fieldSchemaKey" : { - "name" : "authorised_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "time", - "value" : { - "key" : "time", - "fieldSchemaKey" : { - "name" : "timestamp_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "message", - "value" : { - "key" : "message", - "fieldSchemaKey" : { - "name" : "message_type", - "version" : "0.0.1" - }, - "optional" : true - } - } ] - }, - "taskParameters" : { - "entry" : [ ] - }, - "contextAlbumReference" : [ ], - "taskLogic" : { - "key" : "TaskLogic", - "logicFlavour" : "MVEL", - "logic" : "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\nimport java.util.Date;\nimport java.util.Calendar;\nimport java.util.TimeZone;\nimport java.text.SimpleDateFormat;\n\nlogger.info(\"Task Execution: '\"+subject.id+\"'. Input Fields: '\"+inFields+\"'\");\n\noutFields.put(\"amount\" , inFields.get(\"amount\"));\noutFields.put(\"assistant_ID\", inFields.get(\"assistant_ID\"));\noutFields.put(\"notes\" , inFields.get(\"notes\"));\noutFields.put(\"quantity\" , inFields.get(\"quantity\"));\noutFields.put(\"branch_ID\" , inFields.get(\"branch_ID\"));\noutFields.put(\"item_ID\" , inFields.get(\"item_ID\"));\noutFields.put(\"time\" , inFields.get(\"time\"));\noutFields.put(\"sale_ID\" , inFields.get(\"sale_ID\"));\n\nitem_id = inFields.get(\"item_ID\");\n\n//The events used later to test this task use GMT timezone!\ngmt = TimeZone.getTimeZone(\"GMT\");\ntimenow = Calendar.getInstance(gmt);\ndf = new SimpleDateFormat(\"HH:mm:ss z\");\ndf.setTimeZone(gmt);\ntimenow.setTimeInMillis(inFields.get(\"time\"));\n\nmidnight = timenow.clone();\nmidnight.set(\n timenow.get(Calendar.YEAR),timenow.get(Calendar.MONTH),\n timenow.get(Calendar.DATE),0,0,0);\neleven30 = timenow.clone();\neleven30.set(\n timenow.get(Calendar.YEAR),timenow.get(Calendar.MONTH),\n timenow.get(Calendar.DATE),11,30,0);\n\nitemisalcohol = false;\nif(item_id != null && item_id >=1000 && item_id < 2000)\n itemisalcohol = true;\n\nif( itemisalcohol\n && timenow.after(midnight) && timenow.before(eleven30)){\n outFields.put(\"authorised\", false);\n outFields.put(\"message\", \"Sale not authorised by policy task \"+subject.taskName+\n \" for time \"+df.format(timenow.getTime())+\n \". Alcohol can not be sold between \"+df.format(midnight.getTime())+\n \" and \"+df.format(eleven30.getTime()));\n return true;\n}\nelse{\n outFields.put(\"authorised\", true);\n outFields.put(\"message\", \"Sale authorised by policy task \"+subject.taskName+\n \" for time \"+df.format(timenow.getTime()));\n return true;\n}\n\n/*\nThis task checks if a sale request is for an item that is an alcoholic drink.\nIf the local time is between 00:00:00 GMT and 11:30:00 GMT then the sale is not\nauthorised. Otherwise the sale is authorised. \nIn this implementation we assume that items with item_ID value between 1000 and \n2000 are all alcoholic drinks :-)\n*/" - } - } - }, { - "key" : { - "name" : "MorningBoozeCheckAlt1", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "MorningBoozeCheckAlt1", - "version" : "0.0.1" - }, - "inputFields" : { - "entry" : [ { - "key" : "sale_ID", - "value" : { - "key" : "sale_ID", - "fieldSchemaKey" : { - "name" : "sale_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "amount", - "value" : { - "key" : "amount", - "fieldSchemaKey" : { - "name" : "price_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "assistant_ID", - "value" : { - "key" : "assistant_ID", - "fieldSchemaKey" : { - "name" : "assistant_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "notes", - "value" : { - "key" : "notes", - "fieldSchemaKey" : { - "name" : "notes_type", - "version" : "0.0.1" - }, - "optional" : true - } - }, { - "key" : "quantity", - "value" : { - "key" : "quantity", - "fieldSchemaKey" : { - "name" : "quantity_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "branch_ID", - "value" : { - "key" : "branch_ID", - "fieldSchemaKey" : { - "name" : "branch_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "item_ID", - "value" : { - "key" : "item_ID", - "fieldSchemaKey" : { - "name" : "item_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "time", - "value" : { - "key" : "time", - "fieldSchemaKey" : { - "name" : "timestamp_type", - "version" : "0.0.1" - }, - "optional" : false - } - } ] - }, - "outputFields" : { - "entry" : [ { - "key" : "sale_ID", - "value" : { - "key" : "sale_ID", - "fieldSchemaKey" : { - "name" : "sale_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "amount", - "value" : { - "key" : "amount", - "fieldSchemaKey" : { - "name" : "price_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "assistant_ID", - "value" : { - "key" : "assistant_ID", - "fieldSchemaKey" : { - "name" : "assistant_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "notes", - "value" : { - "key" : "notes", - "fieldSchemaKey" : { - "name" : "notes_type", - "version" : "0.0.1" - }, - "optional" : true - } - }, { - "key" : "quantity", - "value" : { - "key" : "quantity", - "fieldSchemaKey" : { - "name" : "quantity_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "branch_ID", - "value" : { - "key" : "branch_ID", - "fieldSchemaKey" : { - "name" : "branch_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "item_ID", - "value" : { - "key" : "item_ID", - "fieldSchemaKey" : { - "name" : "item_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "authorised", - "value" : { - "key" : "authorised", - "fieldSchemaKey" : { - "name" : "authorised_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "time", - "value" : { - "key" : "time", - "fieldSchemaKey" : { - "name" : "timestamp_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "message", - "value" : { - "key" : "message", - "fieldSchemaKey" : { - "name" : "message_type", - "version" : "0.0.1" - }, - "optional" : true - } - } ] - }, - "taskParameters" : { - "entry" : [ ] - }, - "contextAlbumReference" : [ ], - "taskLogic" : { - "key" : "TaskLogic", - "logicFlavour" : "MVEL", - "logic" : "/*\n * ============LICENSE_START=======================================================\n * Copyright (C) 2016-2018 Ericsson. All rights reserved.\n * ================================================================================\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * \n * http://www.apache.org/licenses/LICENSE-2.0\n * \n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * \n * SPDX-License-Identifier: Apache-2.0\n * ============LICENSE_END=========================================================\n */\nimport java.util.Date;\nimport java.util.Calendar;\nimport java.util.TimeZone;\nimport java.text.SimpleDateFormat;\n\nlogger.info(\"Task Execution: '\"+subject.id+\"'. Input Event: '\"+inFields+\"'\");\n\noutFields.put(\"amount\" , inFields.get(\"amount\"));\noutFields.put(\"assistant_ID\", inFields.get(\"assistant_ID\"));\noutFields.put(\"notes\" , inFields.get(\"notes\"));\noutFields.put(\"quantity\" , inFields.get(\"quantity\"));\noutFields.put(\"branch_ID\" , inFields.get(\"branch_ID\"));\noutFields.put(\"item_ID\" , inFields.get(\"item_ID\"));\noutFields.put(\"time\" , inFields.get(\"time\"));\noutFields.put(\"sale_ID\" , inFields.get(\"sale_ID\"));\n\nitem_id = inFields.get(\"item_ID\");\n\n//The events used later to test this task use CET timezone!\ncet = TimeZone.getTimeZone(\"CET\");\ntimenow = Calendar.getInstance(cet);\ndf = new SimpleDateFormat(\"HH:mm:ss z\");\ndf.setTimeZone(cet);\ntimenow.setTimeInMillis(inFields.get(\"time\"));\n\nmidnight = timenow.clone();\nmidnight.set(\n timenow.get(Calendar.YEAR),timenow.get(Calendar.MONTH),\n timenow.get(Calendar.DATE),0,0,0);\nonepm = timenow.clone();\nonepm.set(\n timenow.get(Calendar.YEAR),timenow.get(Calendar.MONTH),\n timenow.get(Calendar.DATE),13,0,0);\n\nitemisalcohol = false;\nif(item_id != null && item_id >=1000 && item_id < 2000)\n itemisalcohol = true;\n\nif( itemisalcohol &&\n ( (timenow.after(midnight) && timenow.before(onepm))\n ||\n (timenow.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY)\n )){\n outFields.put(\"authorised\", false);\n outFields.put(\"message\", \"Sale not authorised by policy task \"+subject.taskName+\n \" for time \"+df.format(timenow.getTime())+\n \". Alcohol can not be sold between \"+df.format(midnight.getTime())+\n \" and \"+df.format(onepm.getTime()) +\" or on Sunday\");\n return true;\n}\nelse{\n outFields.put(\"authorised\", true);\n outFields.put(\"message\", \"Sale authorised by policy task \"+subject.taskName+\n \" for time \"+df.format(timenow.getTime()));\n return true;\n}\n\n/*\nThis task checks if a sale request is for an item that is an alcoholic drink. \nIf the local time is between 00:00:00 CET and 13:00:00 CET then the sale is not authorised. \nAlso alcohol sales are not allowed on Sundays. Otherwise the sale is authorised. \nIn this implementation we assume that items with item_ID between 1000 and 2000 are all alcoholic drinks :-)\n*/" - } - } - } ] - } - }, - "events" : { - "key" : { - "name" : "MyFirstPolicyModel_Events", - "version" : "0.0.1" - }, - "eventMap" : { - "entry" : [ { - "key" : { - "name" : "SALE_AUTH", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "SALE_AUTH", - "version" : "0.0.1" - }, - "nameSpace" : "com.hyperm", - "source" : "APEX", - "target" : "POS", - "parameter" : { - "entry" : [ { - "key" : "sale_ID", - "value" : { - "key" : "sale_ID", - "fieldSchemaKey" : { - "name" : "sale_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "amount", - "value" : { - "key" : "amount", - "fieldSchemaKey" : { - "name" : "price_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "assistant_ID", - "value" : { - "key" : "assistant_ID", - "fieldSchemaKey" : { - "name" : "assistant_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "notes", - "value" : { - "key" : "notes", - "fieldSchemaKey" : { - "name" : "notes_type", - "version" : "0.0.1" - }, - "optional" : true - } - }, { - "key" : "quantity", - "value" : { - "key" : "quantity", - "fieldSchemaKey" : { - "name" : "quantity_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "branch_ID", - "value" : { - "key" : "branch_ID", - "fieldSchemaKey" : { - "name" : "branch_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "item_ID", - "value" : { - "key" : "item_ID", - "fieldSchemaKey" : { - "name" : "item_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "authorised", - "value" : { - "key" : "authorised", - "fieldSchemaKey" : { - "name" : "authorised_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "time", - "value" : { - "key" : "time", - "fieldSchemaKey" : { - "name" : "timestamp_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "message", - "value" : { - "key" : "message", - "fieldSchemaKey" : { - "name" : "message_type", - "version" : "0.0.1" - }, - "optional" : true - } - } ] - } - } - }, { - "key" : { - "name" : "SALE_INPUT", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "SALE_INPUT", - "version" : "0.0.1" - }, - "nameSpace" : "com.hyperm", - "source" : "POS", - "target" : "APEX", - "parameter" : { - "entry" : [ { - "key" : "sale_ID", - "value" : { - "key" : "sale_ID", - "fieldSchemaKey" : { - "name" : "sale_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "amount", - "value" : { - "key" : "amount", - "fieldSchemaKey" : { - "name" : "price_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "assistant_ID", - "value" : { - "key" : "assistant_ID", - "fieldSchemaKey" : { - "name" : "assistant_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "notes", - "value" : { - "key" : "notes", - "fieldSchemaKey" : { - "name" : "notes_type", - "version" : "0.0.1" - }, - "optional" : true - } - }, { - "key" : "quantity", - "value" : { - "key" : "quantity", - "fieldSchemaKey" : { - "name" : "quantity_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "branch_ID", - "value" : { - "key" : "branch_ID", - "fieldSchemaKey" : { - "name" : "branch_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "item_ID", - "value" : { - "key" : "item_ID", - "fieldSchemaKey" : { - "name" : "item_ID_type", - "version" : "0.0.1" - }, - "optional" : false - } - }, { - "key" : "time", - "value" : { - "key" : "time", - "fieldSchemaKey" : { - "name" : "timestamp_type", - "version" : "0.0.1" - }, - "optional" : false - } - } ] - } - } - } ] - } - }, - "albums" : { - "key" : { - "name" : "MyFirstPolicyModel_Albums", - "version" : "0.0.1" - }, - "albums" : { - "entry" : [ ] - } - }, - "schemas" : { - "key" : { - "name" : "MyFirstPolicyModel_Schemas", - "version" : "0.0.1" - }, - "schemas" : { - "entry" : [ { - "key" : { - "name" : "assistant_ID_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "assistant_ID_type", - "version" : "0.0.1" - }, - "schemaFlavour" : "Java", - "schemaDefinition" : "java.lang.Long" - } - }, { - "key" : { - "name" : "authorised_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "authorised_type", - "version" : "0.0.1" - }, - "schemaFlavour" : "Java", - "schemaDefinition" : "java.lang.Boolean" - } - }, { - "key" : { - "name" : "branch_ID_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "branch_ID_type", - "version" : "0.0.1" - }, - "schemaFlavour" : "Java", - "schemaDefinition" : "java.lang.Long" - } - }, { - "key" : { - "name" : "item_ID_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "item_ID_type", - "version" : "0.0.1" - }, - "schemaFlavour" : "Java", - "schemaDefinition" : "java.lang.Long" - } - }, { - "key" : { - "name" : "message_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "message_type", - "version" : "0.0.1" - }, - "schemaFlavour" : "Java", - "schemaDefinition" : "java.lang.String" - } - }, { - "key" : { - "name" : "notes_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "notes_type", - "version" : "0.0.1" - }, - "schemaFlavour" : "Java", - "schemaDefinition" : "java.lang.String" - } - }, { - "key" : { - "name" : "price_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "price_type", - "version" : "0.0.1" - }, - "schemaFlavour" : "Java", - "schemaDefinition" : "java.lang.Long" - } - }, { - "key" : { - "name" : "quantity_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "quantity_type", - "version" : "0.0.1" - }, - "schemaFlavour" : "Java", - "schemaDefinition" : "java.lang.Integer" - } - }, { - "key" : { - "name" : "sale_ID_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "sale_ID_type", - "version" : "0.0.1" - }, - "schemaFlavour" : "Java", - "schemaDefinition" : "java.lang.Long" - } - }, { - "key" : { - "name" : "timestamp_type", - "version" : "0.0.1" - }, - "value" : { - "key" : { - "name" : "timestamp_type", - "version" : "0.0.1" - }, - "schemaFlavour" : "Java", - "schemaDefinition" : "java.lang.Long" - } - } ] - } - } - } -}
\ No newline at end of file |