Merge "Add more UIs functional tests with Selenium"
authorChristophe Closset <cc697w@intl.att.com>
Mon, 4 Sep 2017 12:25:22 +0000 (12:25 +0000)
committerGerrit Code Review <gerrit@onap.org>
Mon, 4 Sep 2017 12:25:22 +0000 (12:25 +0000)
test/csit/tests/clamp/TCA/data/createTemplate1.json
test/csit/tests/clamp/TCA/data/createTemplate2.json
test/csit/tests/clamp/UIs/data/TCA_template_properties.yml [new file with mode: 0644]
test/csit/tests/clamp/UIs/test1.robot

index 0b08d58..b6363ef 100644 (file)
@@ -2,6 +2,6 @@
   "name": "template1",
   "controlNamePrefix": "ClosedLoop-",
   "bpmnText": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><bpmn:definitions xmlns:bpmn=\"http://www.omg.org/spec/BPMN/20100524/MODEL\" xmlns:bpmndi=\"http://www.omg.org/spec/BPMN/20100524/DI\" xmlns:di=\"http://www.omg.org/spec/DD/20100524/DI\" xmlns:dc=\"http://www.omg.org/spec/DD/20100524/DC\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" id=\"Definitions_1\" targetNamespace=\"http://bpmn.io/schema/bpmn\">  <bpmn:process id=\"Process_1\" isExecutable=\"false\">    <bpmn:startEvent id=\"StartEvent_1\">      <bpmn:outgoing>SequenceFlow_0wokvsg</bpmn:outgoing>    </bpmn:startEvent>    <bpmn:collector id=\"Collector_04kan6k\">      <bpmn:incoming>SequenceFlow_0wokvsg</bpmn:incoming>      <bpmn:outgoing>SequenceFlow_0w8129u</bpmn:outgoing>    </bpmn:collector>    <bpmn:tCA id=\"TCA_0laok3g\">      <bpmn:incoming>SequenceFlow_0w8129u</bpmn:incoming>      <bpmn:outgoing>SequenceFlow_0bdkahu</bpmn:outgoing>    </bpmn:tCA>    <bpmn:policy id=\"Policy_1u1q61z\">      <bpmn:incoming>SequenceFlow_0bdkahu</bpmn:incoming>      <bpmn:outgoing>SequenceFlow_039geog</bpmn:outgoing>    </bpmn:policy>    <bpmn:endEvent id=\"EndEvent_1jhpt6o\">      <bpmn:incoming>SequenceFlow_039geog</bpmn:incoming>    </bpmn:endEvent>    <bpmn:sequenceFlow id=\"SequenceFlow_0wokvsg\" sourceRef=\"StartEvent_1\" targetRef=\"Collector_04kan6k\" />    <bpmn:sequenceFlow id=\"SequenceFlow_0w8129u\" sourceRef=\"Collector_04kan6k\" targetRef=\"TCA_0laok3g\" />    <bpmn:sequenceFlow id=\"SequenceFlow_0bdkahu\" sourceRef=\"TCA_0laok3g\" targetRef=\"Policy_1u1q61z\" />    <bpmn:sequenceFlow id=\"SequenceFlow_039geog\" sourceRef=\"Policy_1u1q61z\" targetRef=\"EndEvent_1jhpt6o\" />  </bpmn:process>  <bpmndi:BPMNDiagram id=\"BPMNDiagram_1\">    <bpmndi:BPMNPlane id=\"BPMNPlane_1\" bpmnElement=\"Process_1\">      <bpmndi:BPMNShape id=\"_BPMNShape_StartEvent_2\" bpmnElement=\"StartEvent_1\">        <dc:Bounds x=\"50\" y=\"162\" width=\"36\" height=\"36\" />      </bpmndi:BPMNShape>      <bpmndi:BPMNShape id=\"Collector_04kan6k_di\" bpmnElement=\"Collector_04kan6k\">        <dc:Bounds x=\"156\" y=\"140\" width=\"120\" height=\"80\" />      </bpmndi:BPMNShape>      <bpmndi:BPMNShape id=\"TCA_0laok3g_di\" bpmnElement=\"TCA_0laok3g\">        <dc:Bounds x=\"372\" y=\"140\" width=\"120\" height=\"80\" />      </bpmndi:BPMNShape>      <bpmndi:BPMNShape id=\"Policy_1u1q61z_di\" bpmnElement=\"Policy_1u1q61z\">        <dc:Bounds x=\"603\" y=\"140\" width=\"120\" height=\"80\" />      </bpmndi:BPMNShape>      <bpmndi:BPMNShape id=\"EndEvent_1jhpt6o_di\" bpmnElement=\"EndEvent_1jhpt6o\">        <dc:Bounds x=\"874\" y=\"162\" width=\"36\" height=\"36\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"847\" y=\"198\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNShape>      <bpmndi:BPMNEdge id=\"SequenceFlow_0wokvsg_di\" bpmnElement=\"SequenceFlow_0wokvsg\">        <di:waypoint xsi:type=\"dc:Point\" x=\"86\" y=\"180\" />        <di:waypoint xsi:type=\"dc:Point\" x=\"156\" y=\"180\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"76\" y=\"170\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNEdge>      <bpmndi:BPMNEdge id=\"SequenceFlow_0w8129u_di\" bpmnElement=\"SequenceFlow_0w8129u\">        <di:waypoint xsi:type=\"dc:Point\" x=\"276\" y=\"180\" />        <di:waypoint xsi:type=\"dc:Point\" x=\"372\" y=\"180\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"279\" y=\"170\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNEdge>      <bpmndi:BPMNEdge id=\"SequenceFlow_0bdkahu_di\" bpmnElement=\"SequenceFlow_0bdkahu\">        <di:waypoint xsi:type=\"dc:Point\" x=\"492\" y=\"180\" />        <di:waypoint xsi:type=\"dc:Point\" x=\"603\" y=\"180\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"502.5\" y=\"170\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNEdge>      <bpmndi:BPMNEdge id=\"SequenceFlow_039geog_di\" bpmnElement=\"SequenceFlow_039geog\">        <di:waypoint xsi:type=\"dc:Point\" x=\"723\" y=\"180\" />        <di:waypoint xsi:type=\"dc:Point\" x=\"874\" y=\"180\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"753.5\" y=\"170\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNEdge>    </bpmndi:BPMNPlane>  </bpmndi:BPMNDiagram></bpmn:definitions>",
-  "propText": "{\"global\":[{\"name\":\"service\",\"value\":[\"tosca_definitions_version: cloudify_dsl_1_2\\r\\n\\r\\nimports:\\r\\n- http://www.getcloudify.org/spec/cloudify/3.3.1/types.yaml\\r\\n- http://135.207.127.211/1607_prod/type_files/cdap_app.yaml\\r\\n\\r\\nnode_templates:\\r\\n  MTCA:\\r\\n    type: dcae.nodes.cdap_app\\r\\n    properties:\\r\\n      service_name: \\\"cdap-mtca-central\\\"\\r\\n      deployment_JSON: |-\\r\\n          {\\r\\n            \\\"clusterService\\\": {\\\"$ref\\\": \\\"/services/vm-cdap-cluster-central/instances/rdm2c\\\"},\\r\\n            \\\"namespace\\\": \\\"MTCA\\\",\\r\\n            \\\"appNames\\\": [ \\\"cdap-mtca\\\" ],\\r\\n            \\\"flowNames\\\": [ \\\"cdap-mtca.TCAVESCollectorFlow\\\" ],\\r\\n            \\\"workerNames\\\": [\\\"cdap-mtca.TCADMaaPMRSubscriberWorker\\\", \\\"cdap-mtca.TCADMaaPMRPublisherWorker\\\"],\\r\\n            \\\"serviceNames\\\" : [],\\r\\n            \\\"apps\\\": {\\r\\n              \\\"cdap-mtca\\\": {\\r\\n                \\\"jarFile\\\": \\\"/opt/app/cdap-apps/dcae-analytics-mtca-1.0.0.jar\\\",\\r\\n                \\\"artifactName\\\": \\\"dcae-analytics-mtca\\\",\\r\\n                \\\"version\\\": \\\"1.0.0\\\",\\r\\n                \\\"appConfigFileContent\\\": \\\"{config:{ \\\\\\\"appName\\\\\\\":\\\\\\\"cdap-mtca\\\\\\\", \\\\\\\"appDescription\\\\\\\":\\\\\\\"DCAE Analytics Threshold Crossing Alert Application\\\\\\\", \\\\\\\"tcaSubscriberOutputStreamName\\\\\\\":\\\\\\\"TCASubscriberOutputStream\\\\\\\", \\\\\\\"thresholdCalculatorFlowletInstances\\\\\\\":2, \\\\\\\"tcaVESMessageStatusTableName\\\\\\\":\\\\\\\"TCAVESMessageStatusTable\\\\\\\", \\\\\\\"tcaVESMessageStatusTableTTLSeconds\\\\\\\":864000, \\\\\\\"tcaVESAlertsTableName\\\\\\\":\\\\\\\"TCAVESAlertsTable\\\\\\\", \\\\\\\"tcaVESAlertsTableTTLSeconds\\\\\\\":1728000 }}\\\"\\r\\n              }\\r\\n            },\\r\\n          \\r\\n            \\\"configuration\\\": {\\r\\n                \\\"$class\\\": \\\"com.att.ecomp.dcae.clamp.common.MThresholdCrossingConfiguration\\\",\\r\\n                \\\"subscriberContentType\\\": \\\"\\\",\\r\\n                \\\"subscriberConsumerId\\\": \\\"c12\\\",\\r\\n                \\\"subscriberConsumerGroup\\\": \\\"OpenDCAE-c12\\\",\\r\\n                \\\"subscriberTimeoutMS\\\": \\\"-1\\\",\\r\\n                \\\"subscriberMessageLimit\\\": \\\"-1\\\",\\r\\n                \\\"subscriberPollingInterval\\\": \\\"20000\\\",\\r\\n                \\\"publisherContentType\\\": \\\"application/json\\\",\\r\\n                \\\"publisherMaxBatchSize\\\": \\\"10\\\",\\r\\n                \\\"publisherMaxRecoveryQueueSize\\\": \\\"100000\\\",\\r\\n                \\\"publisherPollingInterval\\\": \\\"20000\\\",\\r\\n                \\\"publisherAlertWindowingTime\\\": \\\"86400\\\",\\r\\n                \\\"policyName\\\": \\\"policy.dcae.configuration\\\",\\r\\n                \\\"policyScope\\\": \\\"pnf=eNodeB;type=configuration\\\",\\r\\n                \\\"policyVersion\\\": \\\"1.0.0\\\",\\r\\n                \\\"domain\\\" : \\\"measurementsForVfScaling\\\",\\r\\n                \\r\\n                \\\"signatures\\\" : {\\r\\n             \\t }\\r\\n\\r\\n             }\\r\\n          }\"]}]}",
+  "propText": "{\"global\":[{\"name\":\"service\",\"value\":[\"tosca_definitions_version: cloudify_dsl_1_2\\r\\n\\r\\nimports:\\r\\n- http://www.getcloudify.org/spec/cloudify/3.3.1/types.yaml\\r\\n- http://127.0.0.1/1607_prod/type_files/cdap_app.yaml\\r\\n\\r\\nnode_templates:\\r\\n  MTCA:\\r\\n    type: dcae.nodes.cdap_app\\r\\n    properties:\\r\\n      service_name: \\\"cdap-mtca-central\\\"\\r\\n      deployment_JSON: |-\\r\\n          {\\r\\n            \\\"clusterService\\\": {\\\"$ref\\\": \\\"/services/vm-cdap-cluster-central/instances/rdm2c\\\"},\\r\\n            \\\"namespace\\\": \\\"MTCA\\\",\\r\\n            \\\"appNames\\\": [ \\\"cdap-mtca\\\" ],\\r\\n            \\\"flowNames\\\": [ \\\"cdap-mtca.TCAVESCollectorFlow\\\" ],\\r\\n            \\\"workerNames\\\": [\\\"cdap-mtca.TCADMaaPMRSubscriberWorker\\\", \\\"cdap-mtca.TCADMaaPMRPublisherWorker\\\"],\\r\\n            \\\"serviceNames\\\" : [],\\r\\n            \\\"apps\\\": {\\r\\n              \\\"cdap-mtca\\\": {\\r\\n                \\\"jarFile\\\": \\\"/opt/app/cdap-apps/dcae-analytics-mtca-1.0.0.jar\\\",\\r\\n                \\\"artifactName\\\": \\\"dcae-analytics-mtca\\\",\\r\\n                \\\"version\\\": \\\"1.0.0\\\",\\r\\n                \\\"appConfigFileContent\\\": \\\"{config:{ \\\\\\\"appName\\\\\\\":\\\\\\\"cdap-mtca\\\\\\\", \\\\\\\"appDescription\\\\\\\":\\\\\\\"DCAE Analytics Threshold Crossing Alert Application\\\\\\\", \\\\\\\"tcaSubscriberOutputStreamName\\\\\\\":\\\\\\\"TCASubscriberOutputStream\\\\\\\", \\\\\\\"thresholdCalculatorFlowletInstances\\\\\\\":2, \\\\\\\"tcaVESMessageStatusTableName\\\\\\\":\\\\\\\"TCAVESMessageStatusTable\\\\\\\", \\\\\\\"tcaVESMessageStatusTableTTLSeconds\\\\\\\":864000, \\\\\\\"tcaVESAlertsTableName\\\\\\\":\\\\\\\"TCAVESAlertsTable\\\\\\\", \\\\\\\"tcaVESAlertsTableTTLSeconds\\\\\\\":1728000 }}\\\"\\r\\n              }\\r\\n            },\\r\\n          \\r\\n            \\\"configuration\\\": {\\r\\n                \\\"$class\\\": \\\"com.att.ecomp.dcae.clamp.common.MThresholdCrossingConfiguration\\\",\\r\\n                \\\"subscriberContentType\\\": \\\"\\\",\\r\\n                \\\"subscriberConsumerId\\\": \\\"c12\\\",\\r\\n                \\\"subscriberConsumerGroup\\\": \\\"OpenDCAE-c12\\\",\\r\\n                \\\"subscriberTimeoutMS\\\": \\\"-1\\\",\\r\\n                \\\"subscriberMessageLimit\\\": \\\"-1\\\",\\r\\n                \\\"subscriberPollingInterval\\\": \\\"20000\\\",\\r\\n                \\\"publisherContentType\\\": \\\"application/json\\\",\\r\\n                \\\"publisherMaxBatchSize\\\": \\\"10\\\",\\r\\n                \\\"publisherMaxRecoveryQueueSize\\\": \\\"100000\\\",\\r\\n                \\\"publisherPollingInterval\\\": \\\"20000\\\",\\r\\n                \\\"publisherAlertWindowingTime\\\": \\\"86400\\\",\\r\\n                \\\"policyName\\\": \\\"policy.dcae.configuration\\\",\\r\\n                \\\"policyScope\\\": \\\"pnf=eNodeB;type=configuration\\\",\\r\\n                \\\"policyVersion\\\": \\\"1.0.0\\\",\\r\\n                \\\"domain\\\" : \\\"measurementsForVfScaling\\\",\\r\\n                \\r\\n                \\\"signatures\\\" : {\\r\\n             \\t }\\r\\n\\r\\n             }\\r\\n          }\"]}]}",
   "imageText":"<?xml version=\"1.0\" encoding=\"utf-8\"?><!-- created with bpmn-js / http://bpmn.io --><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"873\" height=\"92\" viewBox=\"44 134 873 92\" version=\"1.1\"><defs><marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"11\" refY=\"10\" id=\"markerSj6f0mkekx\"><path d=\"M 1 5 L 11 10 L 1 15 Z\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"20\" markerHeight=\"20\" orient=\"auto\" refX=\"6\" refY=\"6\" id=\"markerSj6f0mkekz\"><circle cx=\"6\" cy=\"6\" r=\"3.5\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"20\" markerHeight=\"20\" orient=\"auto\" refX=\"8.5\" refY=\"5\" id=\"markerSj6f0mkek11\"><path d=\"m 1 5 l 0 -3 l 7 3 l -7 3 z\" style=\"stroke-width: 1; stroke-linecap: butt; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"11\" refY=\"10\" id=\"markerSj6f0mkek13\"><path d=\"M 1 5 L 11 10 L 1 15\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"-1\" refY=\"10\" id=\"markerSj6f0mkek15\"><path d=\"M 0 10 L 8 6 L 16 10 L 8 14 Z\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"-5\" refY=\"10\" id=\"markerSj6f0mkek17\"><path d=\"M 1 4 L 5 16\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#000000\" stroke=\"#000000\"/></marker></defs><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"StartEvent_1\" transform=\"matrix(1,0,0,1,50,162)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"48\" height=\"48\"></rect><g class=\"djs-visual\"><circle cx=\"18\" cy=\"18\" r=\"18\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></circle></g><rect x=\"0\" y=\"0\" width=\"36\" height=\"36\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"StartEvent_1_label\" transform=\"matrix(1,0,0,1,23,198)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"Collector_04kan6k\" transform=\"matrix(1,0,0,1,156,140)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"132\" height=\"92\"></rect><g class=\"djs-visual\"><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" rx=\"0\" ry=\"0\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></rect><polyline points=\"120,80 120,20 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline><polyline points=\"20,0 20,80 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline><text style=\"font-family: Arial,sans-serif; font-size: 12px;\" class=\" djs-label\"><tspan x=\"35.5\" y=\"43.5\">Collector</tspan></text></g><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"TCA_0laok3g\" transform=\"matrix(1,0,0,1,372,140)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"132\" height=\"92\"></rect><g class=\"djs-visual\"><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" rx=\"0\" ry=\"0\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></rect><polyline points=\"0,60 120,60 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline><text style=\"font-family: Arial,sans-serif; font-size: 12px;\" class=\" djs-label\"><tspan x=\"48\" y=\"43.5\">TCA</tspan></text></g><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"Policy_1u1q61z\" transform=\"matrix(1,0,0,1,603,140)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"132\" height=\"92\"></rect><g class=\"djs-visual\"><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" rx=\"0\" ry=\"0\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></rect><polyline points=\"0,40 60,0 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline><text style=\"font-family: Arial,sans-serif; font-size: 12px;\" class=\" djs-label\"><tspan x=\"43.5\" y=\"43.5\">Policy</tspan></text></g><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape selected\" data-element-id=\"EndEvent_1jhpt6o\" transform=\"matrix(1,0,0,1,874,162)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"48\" height=\"48\"></rect><g class=\"djs-visual\"><circle cx=\"18\" cy=\"18\" r=\"18\" style=\"stroke-width: 4;\" stroke=\"#000000\" fill=\"#ffffff\"></circle></g><rect x=\"0\" y=\"0\" width=\"36\" height=\"36\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect><g class=\" djs-resizer djs-resizer-nw\" transform=\"matrix(1,0,0,1,0,0)\"><rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect><rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect></g><g class=\" djs-resizer djs-resizer-ne\" transform=\"matrix(0,1,-1,0,36,0)\"><rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect><rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect></g><g class=\" djs-resizer djs-resizer-se\" transform=\"matrix(-1,0,0,-1,36,36)\"><rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect><rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect></g><g class=\" djs-resizer djs-resizer-sw\" transform=\"matrix(0,-1,1,0,0,36)\"><rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect><rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect></g></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"EndEvent_1jhpt6o_label\" transform=\"matrix(1,0,0,1,847,198)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_0wokvsg\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"80\" y=\"174\" width=\"82\" height=\"12\"></rect><g class=\"djs-visual\"><path d=\"m  86,180L156,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj6f0mkekx&quot;);\" fill=\"none\" stroke=\"#000000\"></path></g><polyline points=\"86,180 156,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_0wokvsg_label\" transform=\"matrix(1,0,0,1,76,170)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_0w8129u\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"270\" y=\"174\" width=\"108\" height=\"12\"></rect><g class=\"djs-visual\"><path d=\"m  276,180L372,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj6f0mkekx&quot;);\" fill=\"none\" stroke=\"#000000\"></path></g><polyline points=\"276,180 372,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_0w8129u_label\" transform=\"matrix(1,0,0,1,279,170)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_0bdkahu\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"486\" y=\"174\" width=\"123\" height=\"12\"></rect><g class=\"djs-visual\"><path d=\"m  492,180L603,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj6f0mkekx&quot;);\" fill=\"none\" stroke=\"#000000\"></path></g><polyline points=\"492,180 603,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_0bdkahu_label\" transform=\"matrix(1,0,0,1,502.5,170)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_039geog\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"717\" y=\"174\" width=\"163\" height=\"12\"></rect><g class=\"djs-visual\"><path d=\"m  723,180L874,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj6f0mkekx&quot;);\" fill=\"none\" stroke=\"#000000\"></path></g><polyline points=\"723,180 874,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_039geog_label\" transform=\"matrix(1,0,0,1,753.5,170)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g></svg>"
 }
\ No newline at end of file
index 84f7c06..b246fdc 100644 (file)
@@ -2,6 +2,6 @@
   "name": "template2",
   "controlNamePrefix": "ClosedLoop-",
   "bpmnText": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><bpmn:definitions xmlns:bpmn=\"http://www.omg.org/spec/BPMN/20100524/MODEL\" xmlns:bpmndi=\"http://www.omg.org/spec/BPMN/20100524/DI\" xmlns:di=\"http://www.omg.org/spec/DD/20100524/DI\" xmlns:dc=\"http://www.omg.org/spec/DD/20100524/DC\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" id=\"Definitions_1\" targetNamespace=\"http://bpmn.io/schema/bpmn\">  <bpmn:process id=\"Process_1\" isExecutable=\"false\">    <bpmn:startEvent id=\"StartEvent_1\">      <bpmn:outgoing>SequenceFlow_0wokvsg</bpmn:outgoing>    </bpmn:startEvent>    <bpmn:collector id=\"Collector_04kan6k\">      <bpmn:incoming>SequenceFlow_0wokvsg</bpmn:incoming>      <bpmn:outgoing>SequenceFlow_0w8129u</bpmn:outgoing>    </bpmn:collector>    <bpmn:tCA id=\"TCA_0laok3g\">      <bpmn:incoming>SequenceFlow_0w8129u</bpmn:incoming>      <bpmn:outgoing>SequenceFlow_0bdkahu</bpmn:outgoing>    </bpmn:tCA>    <bpmn:policy id=\"Policy_1u1q61z\">      <bpmn:incoming>SequenceFlow_0bdkahu</bpmn:incoming>      <bpmn:outgoing>SequenceFlow_039geog</bpmn:outgoing>    </bpmn:policy>    <bpmn:endEvent id=\"EndEvent_1jhpt6o\">      <bpmn:incoming>SequenceFlow_039geog</bpmn:incoming>    </bpmn:endEvent>    <bpmn:sequenceFlow id=\"SequenceFlow_0wokvsg\" sourceRef=\"StartEvent_1\" targetRef=\"Collector_04kan6k\" />    <bpmn:sequenceFlow id=\"SequenceFlow_0w8129u\" sourceRef=\"Collector_04kan6k\" targetRef=\"TCA_0laok3g\" />    <bpmn:sequenceFlow id=\"SequenceFlow_0bdkahu\" sourceRef=\"TCA_0laok3g\" targetRef=\"Policy_1u1q61z\" />    <bpmn:sequenceFlow id=\"SequenceFlow_039geog\" sourceRef=\"Policy_1u1q61z\" targetRef=\"EndEvent_1jhpt6o\" />  </bpmn:process>  <bpmndi:BPMNDiagram id=\"BPMNDiagram_1\">    <bpmndi:BPMNPlane id=\"BPMNPlane_1\" bpmnElement=\"Process_1\">      <bpmndi:BPMNShape id=\"_BPMNShape_StartEvent_2\" bpmnElement=\"StartEvent_1\">        <dc:Bounds x=\"50\" y=\"162\" width=\"36\" height=\"36\" />      </bpmndi:BPMNShape>      <bpmndi:BPMNShape id=\"Collector_04kan6k_di\" bpmnElement=\"Collector_04kan6k\">        <dc:Bounds x=\"156\" y=\"140\" width=\"120\" height=\"80\" />      </bpmndi:BPMNShape>      <bpmndi:BPMNShape id=\"TCA_0laok3g_di\" bpmnElement=\"TCA_0laok3g\">        <dc:Bounds x=\"372\" y=\"140\" width=\"120\" height=\"80\" />      </bpmndi:BPMNShape>      <bpmndi:BPMNShape id=\"Policy_1u1q61z_di\" bpmnElement=\"Policy_1u1q61z\">        <dc:Bounds x=\"603\" y=\"140\" width=\"120\" height=\"80\" />      </bpmndi:BPMNShape>      <bpmndi:BPMNShape id=\"EndEvent_1jhpt6o_di\" bpmnElement=\"EndEvent_1jhpt6o\">        <dc:Bounds x=\"874\" y=\"162\" width=\"36\" height=\"36\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"847\" y=\"198\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNShape>      <bpmndi:BPMNEdge id=\"SequenceFlow_0wokvsg_di\" bpmnElement=\"SequenceFlow_0wokvsg\">        <di:waypoint xsi:type=\"dc:Point\" x=\"86\" y=\"180\" />        <di:waypoint xsi:type=\"dc:Point\" x=\"156\" y=\"180\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"76\" y=\"170\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNEdge>      <bpmndi:BPMNEdge id=\"SequenceFlow_0w8129u_di\" bpmnElement=\"SequenceFlow_0w8129u\">        <di:waypoint xsi:type=\"dc:Point\" x=\"276\" y=\"180\" />        <di:waypoint xsi:type=\"dc:Point\" x=\"372\" y=\"180\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"279\" y=\"170\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNEdge>      <bpmndi:BPMNEdge id=\"SequenceFlow_0bdkahu_di\" bpmnElement=\"SequenceFlow_0bdkahu\">        <di:waypoint xsi:type=\"dc:Point\" x=\"492\" y=\"180\" />        <di:waypoint xsi:type=\"dc:Point\" x=\"603\" y=\"180\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"502.5\" y=\"170\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNEdge>      <bpmndi:BPMNEdge id=\"SequenceFlow_039geog_di\" bpmnElement=\"SequenceFlow_039geog\">        <di:waypoint xsi:type=\"dc:Point\" x=\"723\" y=\"180\" />        <di:waypoint xsi:type=\"dc:Point\" x=\"874\" y=\"180\" />        <bpmndi:BPMNLabel>          <dc:Bounds x=\"753.5\" y=\"170\" width=\"90\" height=\"20\" />        </bpmndi:BPMNLabel>      </bpmndi:BPMNEdge>    </bpmndi:BPMNPlane>  </bpmndi:BPMNDiagram></bpmn:definitions>",
-  "propText": "{\"global\":[{\"name\":\"service\",\"value\":[\"tosca_definitions_version: cloudify_dsl_1_2\\r\\n\\r\\nimports:\\r\\n- http://www.getcloudify.org/spec/cloudify/3.3.1/types.yaml\\r\\n- http://135.207.127.211/1607_prod/type_files/cdap_app.yaml\\r\\n\\r\\nnode_templates:\\r\\n  MTCA:\\r\\n    type: dcae.nodes.cdap_app\\r\\n    properties:\\r\\n      service_name: \\\"cdap-mtca-central\\\"\\r\\n      deployment_JSON: |-\\r\\n          {\\r\\n            \\\"clusterService\\\": {\\\"$ref\\\": \\\"/services/vm-cdap-cluster-central/instances/rdm2c\\\"},\\r\\n            \\\"namespace\\\": \\\"MTCA\\\",\\r\\n            \\\"appNames\\\": [ \\\"cdap-mtca\\\" ],\\r\\n            \\\"flowNames\\\": [ \\\"cdap-mtca.TCAVESCollectorFlow\\\" ],\\r\\n            \\\"workerNames\\\": [\\\"cdap-mtca.TCADMaaPMRSubscriberWorker\\\", \\\"cdap-mtca.TCADMaaPMRPublisherWorker\\\"],\\r\\n            \\\"serviceNames\\\" : [],\\r\\n            \\\"apps\\\": {\\r\\n              \\\"cdap-mtca\\\": {\\r\\n                \\\"jarFile\\\": \\\"/opt/app/cdap-apps/dcae-analytics-mtca-1.0.0.jar\\\",\\r\\n                \\\"artifactName\\\": \\\"dcae-analytics-mtca\\\",\\r\\n                \\\"version\\\": \\\"1.0.0\\\",\\r\\n                \\\"appConfigFileContent\\\": \\\"{config:{ \\\\\\\"appName\\\\\\\":\\\\\\\"cdap-mtca\\\\\\\", \\\\\\\"appDescription\\\\\\\":\\\\\\\"DCAE Analytics Threshold Crossing Alert Application\\\\\\\", \\\\\\\"tcaSubscriberOutputStreamName\\\\\\\":\\\\\\\"TCASubscriberOutputStream\\\\\\\", \\\\\\\"thresholdCalculatorFlowletInstances\\\\\\\":2, \\\\\\\"tcaVESMessageStatusTableName\\\\\\\":\\\\\\\"TCAVESMessageStatusTable\\\\\\\", \\\\\\\"tcaVESMessageStatusTableTTLSeconds\\\\\\\":864000, \\\\\\\"tcaVESAlertsTableName\\\\\\\":\\\\\\\"TCAVESAlertsTable\\\\\\\", \\\\\\\"tcaVESAlertsTableTTLSeconds\\\\\\\":1728000 }}\\\"\\r\\n              }\\r\\n            },\\r\\n          \\r\\n            \\\"configuration\\\": {\\r\\n                \\\"$class\\\": \\\"com.att.ecomp.dcae.clamp.common.MThresholdCrossingConfiguration\\\",\\r\\n                \\\"subscriberContentType\\\": \\\"\\\",\\r\\n                \\\"subscriberConsumerId\\\": \\\"c12\\\",\\r\\n                \\\"subscriberConsumerGroup\\\": \\\"OpenDCAE-c12\\\",\\r\\n                \\\"subscriberTimeoutMS\\\": \\\"-1\\\",\\r\\n                \\\"subscriberMessageLimit\\\": \\\"-1\\\",\\r\\n                \\\"subscriberPollingInterval\\\": \\\"20000\\\",\\r\\n                \\\"publisherContentType\\\": \\\"application/json\\\",\\r\\n                \\\"publisherMaxBatchSize\\\": \\\"10\\\",\\r\\n                \\\"publisherMaxRecoveryQueueSize\\\": \\\"100000\\\",\\r\\n                \\\"publisherPollingInterval\\\": \\\"20000\\\",\\r\\n                \\\"publisherAlertWindowingTime\\\": \\\"86400\\\",\\r\\n                \\\"policyName\\\": \\\"policy.dcae.configuration\\\",\\r\\n                \\\"policyScope\\\": \\\"pnf=eNodeB;type=configuration\\\",\\r\\n                \\\"policyVersion\\\": \\\"1.0.0\\\",\\r\\n                \\\"domain\\\" : \\\"measurementsForVfScaling\\\",\\r\\n                \\r\\n                \\\"signatures\\\" : {\\r\\n             \\t }\\r\\n\\r\\n             }\\r\\n          }\"]}]}",
+  "propText": "{\"global\":[{\"name\":\"service\",\"value\":[\"tosca_definitions_version: cloudify_dsl_1_2\\r\\n\\r\\nimports:\\r\\n- http://www.getcloudify.org/spec/cloudify/3.3.1/types.yaml\\r\\n- http://127.0.0.1/1607_prod/type_files/cdap_app.yaml\\r\\n\\r\\nnode_templates:\\r\\n  MTCA:\\r\\n    type: dcae.nodes.cdap_app\\r\\n    properties:\\r\\n      service_name: \\\"cdap-mtca-central\\\"\\r\\n      deployment_JSON: |-\\r\\n          {\\r\\n            \\\"clusterService\\\": {\\\"$ref\\\": \\\"/services/vm-cdap-cluster-central/instances/rdm2c\\\"},\\r\\n            \\\"namespace\\\": \\\"MTCA\\\",\\r\\n            \\\"appNames\\\": [ \\\"cdap-mtca\\\" ],\\r\\n            \\\"flowNames\\\": [ \\\"cdap-mtca.TCAVESCollectorFlow\\\" ],\\r\\n            \\\"workerNames\\\": [\\\"cdap-mtca.TCADMaaPMRSubscriberWorker\\\", \\\"cdap-mtca.TCADMaaPMRPublisherWorker\\\"],\\r\\n            \\\"serviceNames\\\" : [],\\r\\n            \\\"apps\\\": {\\r\\n              \\\"cdap-mtca\\\": {\\r\\n                \\\"jarFile\\\": \\\"/opt/app/cdap-apps/dcae-analytics-mtca-1.0.0.jar\\\",\\r\\n                \\\"artifactName\\\": \\\"dcae-analytics-mtca\\\",\\r\\n                \\\"version\\\": \\\"1.0.0\\\",\\r\\n                \\\"appConfigFileContent\\\": \\\"{config:{ \\\\\\\"appName\\\\\\\":\\\\\\\"cdap-mtca\\\\\\\", \\\\\\\"appDescription\\\\\\\":\\\\\\\"DCAE Analytics Threshold Crossing Alert Application\\\\\\\", \\\\\\\"tcaSubscriberOutputStreamName\\\\\\\":\\\\\\\"TCASubscriberOutputStream\\\\\\\", \\\\\\\"thresholdCalculatorFlowletInstances\\\\\\\":2, \\\\\\\"tcaVESMessageStatusTableName\\\\\\\":\\\\\\\"TCAVESMessageStatusTable\\\\\\\", \\\\\\\"tcaVESMessageStatusTableTTLSeconds\\\\\\\":864000, \\\\\\\"tcaVESAlertsTableName\\\\\\\":\\\\\\\"TCAVESAlertsTable\\\\\\\", \\\\\\\"tcaVESAlertsTableTTLSeconds\\\\\\\":1728000 }}\\\"\\r\\n              }\\r\\n            },\\r\\n          \\r\\n            \\\"configuration\\\": {\\r\\n                \\\"$class\\\": \\\"com.att.ecomp.dcae.clamp.common.MThresholdCrossingConfiguration\\\",\\r\\n                \\\"subscriberContentType\\\": \\\"\\\",\\r\\n                \\\"subscriberConsumerId\\\": \\\"c12\\\",\\r\\n                \\\"subscriberConsumerGroup\\\": \\\"OpenDCAE-c12\\\",\\r\\n                \\\"subscriberTimeoutMS\\\": \\\"-1\\\",\\r\\n                \\\"subscriberMessageLimit\\\": \\\"-1\\\",\\r\\n                \\\"subscriberPollingInterval\\\": \\\"20000\\\",\\r\\n                \\\"publisherContentType\\\": \\\"application/json\\\",\\r\\n                \\\"publisherMaxBatchSize\\\": \\\"10\\\",\\r\\n                \\\"publisherMaxRecoveryQueueSize\\\": \\\"100000\\\",\\r\\n                \\\"publisherPollingInterval\\\": \\\"20000\\\",\\r\\n                \\\"publisherAlertWindowingTime\\\": \\\"86400\\\",\\r\\n                \\\"policyName\\\": \\\"policy.dcae.configuration\\\",\\r\\n                \\\"policyScope\\\": \\\"pnf=eNodeB;type=configuration\\\",\\r\\n                \\\"policyVersion\\\": \\\"1.0.0\\\",\\r\\n                \\\"domain\\\" : \\\"measurementsForVfScaling\\\",\\r\\n                \\r\\n                \\\"signatures\\\" : {\\r\\n             \\t }\\r\\n\\r\\n             }\\r\\n          }\"]}]}",
   "imageText":"<?xml version=\"1.0\" encoding=\"utf-8\"?><!-- created with bpmn-js / http://bpmn.io --><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"873\" height=\"92\" viewBox=\"44 134 873 92\" version=\"1.1\"><defs><marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"11\" refY=\"10\" id=\"markerSj6f0mkekx\"><path d=\"M 1 5 L 11 10 L 1 15 Z\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"20\" markerHeight=\"20\" orient=\"auto\" refX=\"6\" refY=\"6\" id=\"markerSj6f0mkekz\"><circle cx=\"6\" cy=\"6\" r=\"3.5\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"20\" markerHeight=\"20\" orient=\"auto\" refX=\"8.5\" refY=\"5\" id=\"markerSj6f0mkek11\"><path d=\"m 1 5 l 0 -3 l 7 3 l -7 3 z\" style=\"stroke-width: 1; stroke-linecap: butt; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"11\" refY=\"10\" id=\"markerSj6f0mkek13\"><path d=\"M 1 5 L 11 10 L 1 15\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"-1\" refY=\"10\" id=\"markerSj6f0mkek15\"><path d=\"M 0 10 L 8 6 L 16 10 L 8 14 Z\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#ffffff\" stroke=\"#000000\"/></marker><marker viewBox=\"0 0 20 20\" markerWidth=\"10\" markerHeight=\"10\" orient=\"auto\" refX=\"-5\" refY=\"10\" id=\"markerSj6f0mkek17\"><path d=\"M 1 4 L 5 16\" style=\"stroke-width: 1; stroke-linecap: round; stroke-dasharray: 10000, 1;\" fill=\"#000000\" stroke=\"#000000\"/></marker></defs><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"StartEvent_1\" transform=\"matrix(1,0,0,1,50,162)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"48\" height=\"48\"></rect><g class=\"djs-visual\"><circle cx=\"18\" cy=\"18\" r=\"18\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></circle></g><rect x=\"0\" y=\"0\" width=\"36\" height=\"36\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"StartEvent_1_label\" transform=\"matrix(1,0,0,1,23,198)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"Collector_04kan6k\" transform=\"matrix(1,0,0,1,156,140)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"132\" height=\"92\"></rect><g class=\"djs-visual\"><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" rx=\"0\" ry=\"0\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></rect><polyline points=\"120,80 120,20 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline><polyline points=\"20,0 20,80 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline><text style=\"font-family: Arial,sans-serif; font-size: 12px;\" class=\" djs-label\"><tspan x=\"35.5\" y=\"43.5\">Collector</tspan></text></g><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"TCA_0laok3g\" transform=\"matrix(1,0,0,1,372,140)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"132\" height=\"92\"></rect><g class=\"djs-visual\"><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" rx=\"0\" ry=\"0\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></rect><polyline points=\"0,60 120,60 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline><text style=\"font-family: Arial,sans-serif; font-size: 12px;\" class=\" djs-label\"><tspan x=\"48\" y=\"43.5\">TCA</tspan></text></g><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"Policy_1u1q61z\" transform=\"matrix(1,0,0,1,603,140)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"132\" height=\"92\"></rect><g class=\"djs-visual\"><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" rx=\"0\" ry=\"0\" style=\"stroke-width: 2;\" stroke=\"#000000\" fill=\"#ffffff\"></rect><polyline points=\"0,40 60,0 \" style=\"stroke-width: 2;\" fill=\"none\" stroke=\"#000000\"></polyline><text style=\"font-family: Arial,sans-serif; font-size: 12px;\" class=\" djs-label\"><tspan x=\"43.5\" y=\"43.5\">Policy</tspan></text></g><rect x=\"0\" y=\"0\" width=\"120\" height=\"80\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape selected\" data-element-id=\"EndEvent_1jhpt6o\" transform=\"matrix(1,0,0,1,874,162)\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"48\" height=\"48\"></rect><g class=\"djs-visual\"><circle cx=\"18\" cy=\"18\" r=\"18\" style=\"stroke-width: 4;\" stroke=\"#000000\" fill=\"#ffffff\"></circle></g><rect x=\"0\" y=\"0\" width=\"36\" height=\"36\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect><g class=\" djs-resizer djs-resizer-nw\" transform=\"matrix(1,0,0,1,0,0)\"><rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect><rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect></g><g class=\" djs-resizer djs-resizer-ne\" transform=\"matrix(0,1,-1,0,36,0)\"><rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect><rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect></g><g class=\" djs-resizer djs-resizer-se\" transform=\"matrix(-1,0,0,-1,36,36)\"><rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect><rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect></g><g class=\" djs-resizer djs-resizer-sw\" transform=\"matrix(0,-1,1,0,0,36)\"><rect x=\"-7\" y=\"-7\" width=\"5\" height=\"5\" class=\" djs-resizer-visual\"></rect><rect x=\"-7\" y=\"-7\" width=\"20\" height=\"20\" class=\" djs-resizer-hit\"></rect></g></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"EndEvent_1jhpt6o_label\" transform=\"matrix(1,0,0,1,847,198)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_0wokvsg\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"80\" y=\"174\" width=\"82\" height=\"12\"></rect><g class=\"djs-visual\"><path d=\"m  86,180L156,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj6f0mkekx&quot;);\" fill=\"none\" stroke=\"#000000\"></path></g><polyline points=\"86,180 156,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_0wokvsg_label\" transform=\"matrix(1,0,0,1,76,170)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_0w8129u\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"270\" y=\"174\" width=\"108\" height=\"12\"></rect><g class=\"djs-visual\"><path d=\"m  276,180L372,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj6f0mkekx&quot;);\" fill=\"none\" stroke=\"#000000\"></path></g><polyline points=\"276,180 372,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_0w8129u_label\" transform=\"matrix(1,0,0,1,279,170)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_0bdkahu\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"486\" y=\"174\" width=\"123\" height=\"12\"></rect><g class=\"djs-visual\"><path d=\"m  492,180L603,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj6f0mkekx&quot;);\" fill=\"none\" stroke=\"#000000\"></path></g><polyline points=\"492,180 603,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_0bdkahu_label\" transform=\"matrix(1,0,0,1,502.5,170)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-connection\" data-element-id=\"SequenceFlow_039geog\" style=\"display: block;\"><rect fill=\"none\" class=\"djs-outline\" x=\"717\" y=\"174\" width=\"163\" height=\"12\"></rect><g class=\"djs-visual\"><path d=\"m  723,180L874,180 \" style=\"stroke-width: 2; stroke-linejoin: round; marker-end: url(&quot;#markerSj6f0mkekx&quot;);\" fill=\"none\" stroke=\"#000000\"></path></g><polyline points=\"723,180 874,180 \" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></polyline></g></g><g class=\"djs-group\" xmlns=\"http://www.w3.org/2000/svg\"><g class=\"djs-element djs-shape\" data-element-id=\"SequenceFlow_039geog_label\" transform=\"matrix(1,0,0,1,753.5,170)\" style=\"display: none;\"><rect fill=\"none\" class=\"djs-outline\" x=\"-6\" y=\"-6\" width=\"102\" height=\"32\"></rect><g class=\"djs-visual\"><text style=\"font-family: Arial,sans-serif; font-size: 11px;\" class=\" djs-label\"><tspan x=\"45\" y=\"0\"></tspan></text></g><rect x=\"0\" y=\"0\" width=\"90\" height=\"20\" style=\"stroke-opacity: 0; stroke-width: 15;\" fill=\"none\" stroke=\"#ffffff\" class=\"djs-hit\"></rect></g></g></svg>"
 }
\ No newline at end of file
diff --git a/test/csit/tests/clamp/UIs/data/TCA_template_properties.yml b/test/csit/tests/clamp/UIs/data/TCA_template_properties.yml
new file mode 100644 (file)
index 0000000..3e09fda
--- /dev/null
@@ -0,0 +1,51 @@
+tosca_definitions_version: cloudify_dsl_1_2
+
+imports:
+- http://www.getcloudify.org/spec/cloudify/3.3.1/types.yaml
+- http://127.0.0.1/1607_prod/type_files/cdap_app.yaml
+
+node_templates:
+  MTCA:
+    type: dcae.nodes.cdap_app
+    properties:
+      service_name: "cdap-mtca-central"
+      deployment_JSON: |-
+          {
+            "clusterService": {"$ref": "/services/vm-cdap-cluster-central/instances/rdm2c"},
+            "namespace": "MTCA",
+            "appNames": [ "cdap-mtca" ],
+            "flowNames": [ "cdap-mtca.TCAVESCollectorFlow" ],
+            "workerNames": ["cdap-mtca.TCADMaaPMRSubscriberWorker", "cdap-mtca.TCADMaaPMRPublisherWorker"],
+            "serviceNames" : [],
+            "apps": {
+              "cdap-mtca": {
+                "jarFile": "/opt/app/cdap-apps/dcae-analytics-mtca-1.0.0.jar",
+                "artifactName": "dcae-analytics-mtca",
+                "version": "1.0.0",
+                "appConfigFileContent": "{config:{ \"appName\":\"cdap-mtca\", \"appDescription\":\"DCAE Analytics Threshold Crossing Alert Application\", \"tcaSubscriberOutputStreamName\":\"TCASubscriberOutputStream\", \"thresholdCalculatorFlowletInstances\":2, \"tcaVESMessageStatusTableName\":\"TCAVESMessageStatusTable\", \"tcaVESMessageStatusTableTTLSeconds\":864000, \"tcaVESAlertsTableName\":\"TCAVESAlertsTable\", \"tcaVESAlertsTableTTLSeconds\":1728000 }}"
+              }
+            },
+
+            "configuration": {
+                "$class": "com.att.ecomp.dcae.clamp.common.MThresholdCrossingConfiguration",
+                "subscriberContentType": "",
+                "subscriberConsumerId": "c12",
+                "subscriberConsumerGroup": "OpenDCAE-c12",
+                "subscriberTimeoutMS": "-1",
+                "subscriberMessageLimit": "-1",
+                "subscriberPollingInterval": "20000",
+                "publisherContentType": "application/json",
+                "publisherMaxBatchSize": "10",
+                "publisherMaxRecoveryQueueSize": "100000",
+                "publisherPollingInterval": "20000",
+                "publisherAlertWindowingTime": "86400",
+                "policyName": "policy.dcae.configuration",
+                "policyScope": "pnf=eNodeB;type=configuration",
+                "policyVersion": "1.0.0",
+                "domain" : "measurementsForVfScaling",
+
+                "signatures" : {
+                }
+
+             }
+          }
index fafb000..b059ebd 100644 (file)
@@ -18,6 +18,7 @@ Open Browser
 # Next line is to be enabled for Headless tests only (jenkins?). To see the tests desable the line.
     Start Virtual Display    1920    1080
     Open Browser    http://localhost:8080/designer/index.html    browser=firefox
+    Set Selenium Speed      .2 seconds
     Set Window Size    1920    1080
     ${title}=    Get Title
     Should Be Equal    CLDS    ${title}
@@ -44,5 +45,37 @@ Create Template from Menu
     Input Text      locator=modelName       text=template1
     Click Button    locator=OK
 
+Drag and Drop Boxes for template
+    Wait Until Element Is Visible       xpath=//*[@id="js-canvas"]/div/div/div[4]/div[1]/div/div[2]       timeout=60
+    Drag And Drop By Offset     xpath=//*[@id="js-canvas"]/div/div/div[4]/div[1]/div/div[2]       280      280
+    Drag And Drop By Offset     xpath=//*[@id="js-canvas"]/div/div/div[4]/div[1]/div/div[4]       550      280
+    Drag And Drop By Offset     xpath=//*[@id="js-canvas"]/div/div/div[4]/div[1]/div/div[5]       800      280
+    Drag And Drop By Offset     xpath=//*[@id="js-canvas"]/div/div/div[4]/div[1]/div/div[6]       1000      280
+
+Drag and Drop Connectors for template
+    Click Element    xpath=//*[starts-with(@data-element-id, "StartEvent_")]
+    Wait Until Element Is Enabled       xpath=//*[@id="js-canvas"]/div/div/div[2]/div[5]/div/div/div[2]/div
+    Drag And Drop       xpath=//*[@id="js-canvas"]/div/div/div[2]/div[5]/div/div/div[2]/div      xpath=//*[starts-with(@data-element-id, "Collector_")]
+    Wait Until Element Is Enabled       xpath=//*[@id="js-canvas"]/div/div/div[2]/div[1]/div/div/div[3]/div
+    Drag And Drop       xpath=//*[@id="js-canvas"]/div/div/div[2]/div[1]/div/div/div[3]/div     xpath=//*[starts-with(@data-element-id, "TCA_")]
+    Wait Until Element Is Enabled       xpath=//*[@id="js-canvas"]/div/div/div[2]/div[2]/div/div/div[3]/div
+    Drag And Drop       xpath=//*[@id="js-canvas"]/div/div/div[2]/div[2]/div/div/div[3]/div     xpath=//*[starts-with(@data-element-id, "Policy_")]
+    Wait Until Element Is Enabled       xpath=//*[@id="js-canvas"]/div/div/div[2]/div[3]/div/div/div[3]/div
+    Drag And Drop       xpath=//*[@id="js-canvas"]/div/div/div[2]/div[3]/div/div/div[3]/div      xpath=//*[starts-with(@data-element-id, "EndEvent_")]
+
+Add Template properties yaml from Menu
+    Click Element    xpath=//*[@id="navbar"]/ul/li[1]/a
+    Wait Until Element Is Visible       locator=Template Properties      timeout=60
+    Click Element    locator=Template Properties
+    ${data}=    Get Binary File     ${CURDIR}${/}data${/}TCA_template_properties.yml
+    Input Text      locator=service       text=${data}
+    Click Button    locator=Close
+
+Save Template from Menu
+    Click Element    xpath=//*[@id="navbar"]/ul/li[1]/a
+    Wait Until Element Is Visible       locator=Save Template      timeout=60
+    Click Element    locator=Save Template
+    Element Text Should Be      xpath=//*[@id="alert_message_"]       expected=Action Successful:SAVE
+
 Close Browser
     Close Browser
\ No newline at end of file