diff options
author | DushyantSinghThakur <dt00503496@techmahindra.com> | 2018-09-06 12:46:04 +0530 |
---|---|---|
committer | Dan Timoney <dt5972@att.com> | 2018-09-12 13:10:46 +0000 |
commit | 43d4b00848ebd0567b020fe219f07d4f7049ff0b (patch) | |
tree | f5c09d0006348c82a94693605349e79db4889b71 /configbackuprestore/vnfconfigbackupservice/src/main/webapp/static | |
parent | 4e2db0d6e56bc19425e6afa3efc7011820942e9e (diff) |
Epic-231:versioning, and backup the configuration
Merging the sdnc jira stories- 255,256
Change-Id: Iacb9274dae93f534f1331c4eb7d0669896d379d4
Issue-ID: SDNC-256
Signed-off-by: DushyantSinghThakur <dt00503496@techmahindra.com>
Former-commit-id: 94d8b3d82b82dedfd5949da2e5d1ed348ab066e2
Diffstat (limited to 'configbackuprestore/vnfconfigbackupservice/src/main/webapp/static')
42 files changed, 2385 insertions, 0 deletions
diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/Apply.jpg b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/Apply.jpg Binary files differnew file mode 100644 index 00000000..f7ea085b --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/Apply.jpg diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/FailImage.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/FailImage.png Binary files differnew file mode 100644 index 00000000..22c44f7c --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/FailImage.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/backup.jpg b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/backup.jpg Binary files differnew file mode 100644 index 00000000..a38acc79 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/backup.jpg diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/backupConfig.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/backupConfig.png Binary files differnew file mode 100644 index 00000000..33347d22 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/backupConfig.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/compare.jpg b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/compare.jpg Binary files differnew file mode 100644 index 00000000..e463494c --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/compare.jpg diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/compare.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/compare.png Binary files differnew file mode 100644 index 00000000..f7611478 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/compare.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/download.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/download.png Binary files differnew file mode 100644 index 00000000..0b1f9492 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/download.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/downloadImage.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/downloadImage.png Binary files differnew file mode 100644 index 00000000..e72e1285 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/downloadImage.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/error.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/error.png Binary files differnew file mode 100644 index 00000000..3f44964b --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/error.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/fail.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/fail.png Binary files differnew file mode 100644 index 00000000..898fa264 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/fail.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/images.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/images.png Binary files differnew file mode 100644 index 00000000..3bce5731 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/images.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/networklayer.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/networklayer.png Binary files differnew file mode 100644 index 00000000..c8e8008f --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/networklayer.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/protocaol.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/protocaol.png Binary files differnew file mode 100644 index 00000000..2c6f8fa0 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/protocaol.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/protocol.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/protocol.png Binary files differnew file mode 100644 index 00000000..aea9c7c3 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/protocol.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/reachable.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/reachable.png Binary files differnew file mode 100644 index 00000000..bb771b32 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/reachable.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/router.jpg b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/router.jpg Binary files differnew file mode 100644 index 00000000..cb4c50ec --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/router.jpg diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/router.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/router.png Binary files differnew file mode 100644 index 00000000..94de9f5a --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/router.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/search.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/search.png Binary files differnew file mode 100644 index 00000000..a8b4b35d --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/search.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/success.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/success.png Binary files differnew file mode 100644 index 00000000..76689fef --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/success.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/validation.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/validation.png Binary files differnew file mode 100644 index 00000000..77c53ffa --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/validation.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/waning.png b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/waning.png Binary files differnew file mode 100644 index 00000000..2ae29877 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/images/waning.png diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllConfigForVNF.json b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllConfigForVNF.json new file mode 100644 index 00000000..040d2ee7 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllConfigForVNF.json @@ -0,0 +1,199 @@ +{ + "preload-vnfs": { + "vnf-preload-list": [ + { + "vnf-name": "vDNS-vIMS", + "vnf-type": "VimsClearwaterVsp..sproutScaling..module-1", + "vnf-version":"1.0", + "timeStamp":"2018-03-16", + "preload-data": { + "vnf-topology-information": { + "vnf-parameters": [ + { + "vnf-parameter-name": "dn_range_length", + "vnf-parameter-value": "10000" + }, + { + "vnf-parameter-name": "public_net_id", + "vnf-parameter-value": "d05b5f2a-37ce-4d75-810a-c7592a123ca3" + }, + { + "vnf-parameter-name": "dn_range_start", + "vnf-parameter-value": "2425550000" + }, + { + "vnf-parameter-name": "etcd_ip", + "vnf-parameter-value": "30.30.30.20" + }, + { + "vnf-parameter-name": "zone", + "vnf-parameter-value": "me.cw-ngv.com" + }, + { + "vnf-parameter-name": "dnssec_key", + "vnf-parameter-value": "9FPdYTWhk5+LbhrqtTPQKw==" + }, + { + "vnf-parameter-name": "dns_ip", + "vnf-parameter-value": "30.30.30.9" + }, + { + "vnf-parameter-name": "key_name", + "vnf-parameter-value": "sprout_scale_key1" + }, + { + "vnf-parameter-name": "repo_url", + "vnf-parameter-value": "http://repo.cw-ngv.com/stable" + } + ], + "vnf-topology-identifier": { + "service-type": "dcdae039-b762-4f25-a4aa-92e6034cf3bd", + "vnf-type": "VimsClearwaterVsp..sproutScaling..module-1", + "generic-vnf-name": "vIMS-vnf-inst-1", + "generic-vnf-type": "vIMS-ClearWater-VSP 0", + "vnf-name": "vDNS-vIMS" + } + }, + "oper-status": { + "order-status": "PendingAssignment" + }, + "network-topology-information": {} + } + }, + { + "vnf-name": "vDNS-vIMS", + "vnf-type": "VimsClearwaterVsp..sproutScaling..module-1", + "vnf-version":"2.0", + "timeStamp":"2018-03-17", + "preload-data": { + "vnf-topology-information": { + "vnf-parameters": [ + { + "vnf-parameter-name": "dn_range_length", + "vnf-parameter-value": "20000" + }, + { + "vnf-parameter-name": "public_net_id", + "vnf-parameter-value": "60dc8a1c-86b8-4cc4-b5c8-9b0272113c1f" + }, + { + "vnf-parameter-name": "dn_range_start", + "vnf-parameter-value": "2425550111" + }, + { + "vnf-parameter-name": "etcd_ip", + "vnf-parameter-value": "10.53.172.155" + }, + { + "vnf-parameter-name": "zone", + "vnf-parameter-value": "me.cw-ngv.com" + }, + { + "vnf-parameter-name": "dnssec_key", + "vnf-parameter-value": "9FPdYTWhk5+LbhrqtTPQKw==" + }, + { + "vnf-parameter-name": "dns_ip", + "vnf-parameter-value": "10.53.172.152" + }, + { + "vnf-parameter-name": "key_name", + "vnf-parameter-value": "vm1-key-vims" + }, + { + "vnf-parameter-name": "repo_url", + "vnf-parameter-value": "http://repo.cw-ngv.com/stable" + } + ], + "vnf-topology-identifier": { + "service-type": "dcdae039-b762-4f25-a4aa-92e6034cf3bd", + "vnf-type": "VimsClearwaterVsp..base_clearwater..module-0", + "generic-vnf-name": "vIMS-vnf-inst-1", + "generic-vnf-type": "vIMS-ClearWater-VSP 0", + "vnf-name": "Vfmodule-vIMS" + } + }, + "oper-status": { + "order-status": "PendingAssignment" + }, + "network-topology-information": {} + } + }, + { + "vnf-name": "vDNS-vIMS", + "vnf-type": "VimsClearwaterVsp..sproutScaling..module-1", + "vnf-version":"3.0", + "timeStamp":"2018-03-16", + "preload-data": { + "vnf-topology-information": { + "vnf-parameters": [ + { + "vnf-parameter-name": "dn_range_length", + "vnf-parameter-value": "10000" + }, + { + "vnf-parameter-name": "public_net_id", + "vnf-parameter-value": "d05b5f2a-37ce-4d75-810a-c7592a123ca3" + }, + { + "vnf-parameter-name": "dn_range_start", + "vnf-parameter-value": "2425550000" + }, + { + "vnf-parameter-name": "etcd_ip", + "vnf-parameter-value": "30.30.30.20" + }, + { + "vnf-parameter-name": "zone", + "vnf-parameter-value": "me.cw-ngv.com" + }, + { + "vnf-parameter-name": "dnssec_key", + "vnf-parameter-value": "9FPdYTWhk5+LbhrqtTPQKw==" + }, + { + "vnf-parameter-name": "dns_ip", + "vnf-parameter-value": "30.30.30.9" + }, + { + "vnf-parameter-name": "key_name", + "vnf-parameter-value": "sprout_scale_key1" + }, + { + "vnf-parameter-name": "repo_url", + "vnf-parameter-value": "http://repo.cw-ngv.com/stable" + } + ], + "vnf-topology-identifier": { + "service-type": "dcdae039-b762-4f25-a4aa-92e6034cf3bd", + "vnf-type": "VimsClearwaterVsp..sproutScaling..module-1", + "generic-vnf-name": "vIMS-vnf-inst-1", + "generic-vnf-type": "vIMS-ClearWater-VSP 0", + "vnf-name": "vDNS-vIMS" + } + }, + "oper-status": { + "order-status": "PendingAssignment" + }, + "network-topology-information": {} + } + } + ] +}, + "status":200, + "config":{ + "method":"GET", + "transformRequest":[ + null + ], + "transformResponse":[ + null + ], + "params":"", + "headers":{ + "Accept":"application/json" + }, + "url":"/getAllConfigForVNF/Thu Mar 15 2018 00:00:00 GMT+0530 (India Standard Time)/Fri Mar 16 2018 00:00:00 GMT+0530 (India Standard Time)/Router" + }, + "statusText":"" + }
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllDevices.json b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllDevices.json new file mode 100644 index 00000000..d7faef5a --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllDevices.json @@ -0,0 +1,17 @@ + +{ + "deviceList":[ + { + "deviceId":"1", + "deviceName":"Device1" + }, + { + "deviceId":"2", + "deviceName":"Device2" + }, + { + "deviceId":"3", + "deviceName":"Device3" + } + ] +}
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllReports.json b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllReports.json new file mode 100644 index 00000000..cd0723f1 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllReports.json @@ -0,0 +1,75 @@ + +{ + "data":[ + { + "testid":1, + "deviceid":1, + "testName":"Network Layer", + "deviceName":"Router", + "execuationDetails":{"output": {"hostname": "google.com","testresult": "pass", "status": "reachable","statistics": "0% loss","ipaddress": "10.53.122.44","avgTime": "Minimum = 70ms"}}, + "result":"Pass", + "timeStamp":"2018-03-16" + }, + { + "testid":2, + "deviceid":1, + "testName":"Network Layer", + "deviceName":"Router", + "execuationDetails":{"output": {"hostname": "google.com","testresult": "fail", "status": "unreachable","statistics": "100% loss","ipaddress": "10.53.122.44","avgTime": "Minimum = 33ms"}}, + "result":"Pass", + "timeStamp":"2018-03-16" + }, + { + "testid":4, + "deviceid":1, + "testName":"Protocol Layer", + "deviceName":"Router", + "execuationDetails":{"output": {"status": "unreachable"}}, + "result":"Fail", + "timeStamp":"2018-03-08" + }, + { + "testid":5, + "deviceid":1, + "testName":"Protocol Layer", + "deviceName":"Router", + "execuationDetails":{"output": {"status": "reachable"}}, + "result":"Pass", + "timeStamp":"2018-03-15" + }, + { + "testid":6, + "deviceid":1, + "testName":"Network Layer", + "deviceName":"Router", + "execuationDetails":{"output": {"hostname": "google.com","testresult": "fail", "status": "unreachable","statistics": "100% loss","ipaddress": "10.53.122.44","avgTime": "Minimum = 33ms"}}, + "result":"Fail", + "timeStamp":"2018-03-15" + }, + { + "testid":7, + "deviceid":1, + "testName":"Network Layer", + "deviceName":"Router", + "execuationDetails":{"output": {"hostname": "google.com","testresult": "fail", "status": "unreachable","statistics": "100% loss","ipaddress": "10.53.122.44","avgTime": "Minimum = 50ms"}}, + "result":"Fail", + "timeStamp":"2018-03-15" + } + ], + "status":200, + "config":{ + "method":"GET", + "transformRequest":[ + null + ], + "transformResponse":[ + null + ], + "params":"", + "headers":{ + "Accept":"application/json" + }, + "url":"/findReportByDeviceName/Thu Mar 15 2018 00:00:00 GMT+0530 (India Standard Time)/Fri Mar 16 2018 00:00:00 GMT+0530 (India Standard Time)/Router" + }, + "statusText":"" +}
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllTest.json b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllTest.json new file mode 100644 index 00000000..fc9b2901 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllTest.json @@ -0,0 +1,17 @@ + +{ + "testList":[ + { + "testId":"1", + "testName":"Test1" + }, + { + "testId":"2", + "testName":"Test2" + }, + { + "testId":"3", + "testName":"Test3" + } + ] +}
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllVNF.json b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllVNF.json new file mode 100644 index 00000000..49b91a4a --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllVNF.json @@ -0,0 +1,33 @@ + +{ + "vnfList":[ + { + "IpAddress":"1.160.10.240", + "HostName":"Vfmodule-vIMS", + "Selected":false, + "PortNo":"8282", + "vnfType": "VimsClearwaterVsp..sproutScaling..module-1" + }, + { + "IpAddress":"1.160.10.241", + "HostName":"vDNS-vIMS", + "Selected":false, + "PortNo":"8080", + "vnfType": "VimsClearwaterVsp..sproutScaling..module-1" + }, + { + "IpAddress":"1.160.10.242", + "HostName":"Vfmodule-F5", + "Selected":false, + "PortNo":"8285", + "vnfType": "VimsClearwaterVsp..sproutScaling..module-1" + }, + { + "IpAddress":"1.160.10.243", + "HostName":"Vfmodule-F6", + "Selected":false, + "PortNo":"8286", + "vnfType": "VimsClearwaterVsp..sproutScaling..module-1" + } + ] +}
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllVersion.json b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllVersion.json new file mode 100644 index 00000000..7d0172e0 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getAllVersion.json @@ -0,0 +1,133 @@ +{ + "versionlist":[ + { + "model":"CSR1000V", + "vendor":"CISCO", + "versionNo":"1.0", + "timestamp":"2017/09/01", + "router":{ + "ospf":{ + "process-id":"1", + "networks":{ + "subnet-ip":"10.10.1.0/24", + "area-id":"20" + } + }, + "bgp":{ + "as-number":"2000", + "router-id":"10.10.1.2", + "neighbors":{ + "as-number":"1000", + "peer-ip":"10.10.2.1" + } + }, + "ipsla":[ + { + "cos-entry-number":"40102", + "destination-address":"13.13.13.13", + "source-address":"10.10.1.1", + "customer-name":"Hello Inc" + }, + { + "cos-entry-number":"40103", + "destination-address":"10.11.12.12", + "source-address":"10.10.1.2", + "customer-name":"ABC Inc" + }, + { + "cos-entry-number":"40105", + "destination-address":"12.5.12.12", + "source-address":"10.10.1.3", + "customer-name":"test Inc" + } + ] + } + }, + { + "model":"CSR1000V", + "vendor":"CISCO", + "versionNo":"2.0", + "timestamp":"2017/10/01", + "router":{ + "ospf":{ + "process-id":"1", + "networks":{ + "subnet-ip":"10.10.1.0/25", + "area-id":"20" + } + }, + "bgp":{ + "as-number":"2000", + "router-id":"10.10.1.2", + "neighbors":{ + "as-number":"1000", + "peer-ip":"10.10.2.1" + } + }, + "ipsla":[ + { + "cos-entry-number":"40102", + "destination-address":"12.12.12.12", + "source-address":"10.10.1.1", + "customer-name":"Hello Inc" + }, + { + "cos-entry-number":"40103", + "destination-address":"10.11.12.12", + "source-address":"10.10.1.1", + "customer-name":"ABC Inc" + }, + { + "cos-entry-number":"40105", + "destination-address":"12.5.12.12", + "source-address":"10.10.1.2", + "customer-name":"test Inc" + } + ] + } + }, + { + "model":"CSR1000V", + "vendor":"CISCO", + "versionNo":"3.0", + "timestamp":"2017/10/01", + "router":{ + "ospf":{ + "process-id":"1", + "networks":{ + "subnet-ip":"10.10.1.0/25", + "area-id":"20" + } + }, + "bgp":{ + "as-number":"2000", + "router-id":"10.10.1.2", + "neighbors":{ + "as-number":"1000", + "peer-ip":"10.10.2.1" + } + }, + "ipsla":[ + { + "cos-entry-number":"40102", + "destination-address":"12.12.12.12", + "source-address":"10.10.1.1", + "customer-name":"Hello Inc" + }, + { + "cos-entry-number":"40103", + "destination-address":"10.11.12.12", + "source-address":"10.10.1.1", + "customer-name":"ABC Inc" + }, + { + "cos-entry-number":"40105", + "destination-address":"12.5.12.12", + "source-address":"10.10.1.2", + "customer-name":"test Inc" + } + ] + } + } + ] +}
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getTestResult.json b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getTestResult.json new file mode 100644 index 00000000..581c8b08 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/sdnc-stubs/getTestResult.json @@ -0,0 +1,42 @@ + +{ + "preTestResponse":[ + { + "ipaddress":"1.160.10.240", + "status":"unreachable", + "testtype":"Network Layer", + "statistics":null, + "avgTime":null + }, + { + "ipaddress":"1.160.10.240", + "status":"unreachable", + "testtype":"Protocol Layer", + "statistics":null, + "avgTime":null + }, + { + "ipaddress":"1.160.10.240", + "status":"reachable", + "testtype":"Network Layer", + "statistics":"0% loss", + "avgTime":"Minimum = 70ms" + } + ], + "status":200, + "config":{ + "method":"GET", + "transformRequest":[ + null + ], + "transformResponse":[ + null + ], + "params":"", + "headers":{ + "Accept":"application/json" + }, + "url":"/findReportByDeviceName/Thu Mar 15 2018 00:00:00 GMT+0530 (India Standard Time)/Fri Mar 16 2018 00:00:00 GMT+0530 (India Standard Time)/Router" + }, + "statusText":"" +}
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/style/sdnc-style.css b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/style/sdnc-style.css new file mode 100644 index 00000000..5f192049 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/style/sdnc-style.css @@ -0,0 +1,543 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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. +* ============LICENSE_END========================================================= +*/ + + body{ + padding-top:10px; + overflow-y:scroll; + padding-bottom:10px; + } + +/* form styling */ +#form-container{ + margin-bottom:20px; + border-radius:5px; +} +#form-container .page-header{ + margin:0; padding:30px; + border-top-left-radius:5px; border-top-right-radius:5px; + } + + table.tableDisplay{ + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + border-collapse: collapse; + width: 100%; + table-layout: auto; +} + table.tableDisplay tr:nth-child(even){ + background-color: #E1E0DA; +} + table.tableDisplay th{ + padding-top: 12px; + padding-bottom: 12px; + text-align: left; + background: linear-gradient(to top, #f8f8f8 0%, #cce5ff 83%); + color: black; +} + table.tableDisplay td,table.tableDisplay th { + border: 1px solid #ABABAB; + padding: 8px; + width:30px; + height:10%; + +} + table.tableDisplay tr:{ + text-align: left; + height:105;; +} + table.tableDisplay tr:hover { + background-color:#cce5ff; +} + .first_row{ + background-color: #cce5ff; + color: black; + text-align:left; +} + .column { + float: left; + width: 32.2%; + padding: 10px; + margin-left:20px; + height: 60px; + /* Should be removed. Only for demonstration */ +} +.columnComp{ + float: left; + width: 22%; + padding: 10px; + margin-left:20px; + height: 60px; +} +/* Clear floats after the columns */ + .row:after { + content: ""; + display: table; + clear: both; +} + #btnSubmit{ + background-color: #AED6F1; + margin-top:20px; + margin-left:20px; + margin-bottom:10px; + width:75px; + height:28px; + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + border-collapse: collapse; + border: 1px solid #5DADE2; + font-weight:700; +} + .btndownload{ + background-color: #AED6F1; + margin-top:20px; + margin-bottom:10px; + margin-left:20px; + width:130px; + height:30px; + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + border-collapse: collapse; + border: 1px solid #5DADE2; + font-weight:700; +} + #exampleInput{ + margin-left:25px; + width:160px; +} + #exampleEndInput{ + margin-left:10px; +} + .error{ + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + color:Red; + font-size: 14px; + margin-bottom:10px; +} + .labeltext{ + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; +} + .sort-icon { + font-size: 9px; + margin-left: 5px; +} + th { + cursor:pointer; +} + .heading{ + margin-top:10px; + width:100%; + height:45px; + margin-bottom:20px; + font-family:Trebuchet MS, Arial, Helvetica, sans-serif; + margin-top: 15px; + margin-right: auto; + margin-left: auto; + font-size: 20px; + background: linear-gradient(to top, #f8f8f8 0%, #cce5ff 83%); + padding-top: 15px; + padding-bottom: 50px; + +} +form_validationBody{ + width:900px; + margin-left:15px; + margin-top:60px; + margin-bottom:20px; +} +button:hover { + position: relative; +} +button[title]:hover:after { + padding: 4px 8px; + position: absolute; + left: 0; + top: 100%; + white-space: nowrap; + z-index: 20px; + background:red; +} +.pagination{ +display: inline-block; + padding-left: 0; + margin: 5px 0; + border-radius: 4px; + border: 1px solid #ABABAB; + font-size: 13px; +} +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + line-height: 1.42857143; + text-decoration: none; + color: #337ab7; + background-color: #fff; + border: 1px solid #ABABAB; + margin-left: -1px; +} +.pagination > .active >a{ + z-index: 3; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; + cursor: default; +} +.arrowRed { +font-size: 30px; +color: red; +} +.arrowGreen { +font-size: 30px; +color: green; +} +.ng-invalid { border: 1px ridge #ddd; } +.testMain{ + width:100%; + margin-bottom:20px; + min-height:400px; + margin-top:10px; +} +.testNotification{ + padding:0px; +} +.testImgIcon{ + margin-left:5px; + margin-right:10px; + padding-right:10px; +} +.testCol{ + background-color:#f2f2f2; + width:25%; + margin-left:35px; +} +.check{ + margin-left:10px; + margin-right:10px; +} +.btnRunTest{ + background-color:#f2f2f2; + width:75%; + height:75px; + margin-left:35px; + margin-bottom:35px; +} +.ReportMain{ + width:100%; + min-height:400px; + margin-top:10px; +} +.ReportNotification{ + padding:0px; + margin-right:10px; + text-align:center; +} +.ReportImgIcon{ + margin-left:5px; + margin-right:10px; +} +input[type=checkbox] { + padding-right: 3px; + !important; + } + +.header{ + margin-top:20px; + width:1145px; + height:45px; + margin-bottom:5px; + font-family:Trebuchet MS, Arial, Helvetica, sans-serif; + font-size: 20px; + background: linear-gradient(to top, #f8f8f8 0%, #8F8484 83%); + padding-top:15px; + +} +.footer{ + margin-top:10px; + width:1145px; + height:30px; + margin-bottom:5px; + font-family:Trebuchet MS, Arial, Helvetica, sans-serif; + font-size: 15px; + background: linear-gradient(to top, #f8f8f8 0%, #8F8484 83%); + padding-top:15px; + +} +.btn-danger{ + background-color: #ffb3b3; + width: 1090px; + text-align: left; + color:black; + height:45px; +} +.btn-success{ + width: 1090px; + text-align: left; + color:black; + background-color: #66cc66; + height:45px; + +} +.btn-warning{ + width: 1090px; + text-align: left; + color:black; + height:45px; + background-color: #ffff99; +} +/* Dropdown Button */ +.dropbtn { + background-color: #ffe0b3; + font-family: Trebuchet MS, Arial, Helvetica, sans-serif; + color: #333333; + padding: 15px; + font-size: 17px; + border: none; + padding-right:20px; + padding-left: 30px; +} + +/* The container <div> - needed to position the dropdown content */ +.dropdown { + position: relative; + display: inline-block; +} + +/* Dropdown Content (Hidden by Default) */ +.dropdown-content { + display: none; + position: absolute; + background-color: #f1f1f1; + min-width: 240px; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); + z-index: 1; +} + +/* Links inside the dropdown */ +.dropdown-content a { + color: black; + padding: 12px 16px; + text-decoration: none; + display: block; + font-family: Trebuchet MS, Arial, Helvetica, sans-serif; +} + +/* Change color of dropdown links on hover */ +.dropdown-content a:hover {background-color: #ddd} + +/* Show the dropdown menu on hover */ +.dropdown:hover .dropdown-content { + display: block; + color: black; +} + + +.navbar-default .navbar-nav>li> a:hover {background-color: #ddd} +.btnapply{ + background-color:#AED6F1 ; + margin-top:10px; + margin-bottom:10px; + margin-right:20px; + width:150px; + height:30px; + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + border-collapse: collapse; + border: 1px solid #5DADE2; + font-weight:700; +} + + +.btnview{ + background-color: #AED6F1; + margin-top:8px; + margin-bottom:10px; + margin-right:20px; + width:150px; + height:30px; + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + border-collapse: collapse; + border: 1px solid #5DADE2; + font-weight:700; +} +.btnview:hover {background-color: #85C1E9} + +.btnview:active { + background-color: #85C1E9; + box-shadow: 0 5px #85C1E9; + transform: translateY(4px); +} + +.btnapplycfg{ + background-color: #AED6F1; + margin-top:8px; + margin-bottom:10px; + margin-right:20px; + width:150px; + height:30px; + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + border-collapse: collapse; + border: 1px solid #5DADE2; + font-weight:700; +} +.btnapplycfg:hover {background-color: #85C1E9} + +.btnapplycfg:active { + background-color: #85C1E9; + box-shadow: 0 5px #85C1E9; + transform: translateY(4px); +} + +.navbar-default .navbar-nav>li> a:hover {background-color: #FFFF00} + + .btnCompareVersion{ + background-color: #AED6F1; + margin-top:8px; + margin-bottom:10px; + margin-right:20px; + width:150px; + height:30px; + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + border-collapse: collapse; + border: 1px solid #5DADE2; + font-weight:700; +} + +.btnCompareVersion:hover {background-color: #85C1E9} + +.btnCompareVersion:active { + background-color: #85C1E9; + box-shadow: 0 5px #85C1E9; + transform: translateY(4px); + border-collapse: collapse; + border: 2px solid #5DADE2; +} + +.btnapply{ + background-color: #AED6F1; + margin-top:8px; + margin-bottom:10px; + margin-right:20px; + width:150px; + height:30px; + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + border-collapse: collapse; + border: 1px solid #5DADE2; + font-weight:700; +} + +.btnapply:hover {background-color: #85C1E9} + +.btnapply:active { + background-color: #85C1E9; + box-shadow: 0 5px #85C1E9; + transform: translateY(4px); + border-collapse: collapse; + border: 2px solid #5DADE2; +} + +.Formclass{ + width:100%; + margin-top:30px; + min-height:10000; +} + +.VersionMain{ + width:100%; + margin-top:60px; + min-height:2200px; + border: 0.5px solid lightgrey; +} + +.versionHeading{ + width:100%; + height:35px; + margin-bottom:20px; + background-color: #cce5ff; + font-family:Trebuchet MS, Arial, Helvetica, sans-serif; + margin-right: -15px; + font-size: 15px; + padding-top:5px; + color:black; + +} +{ + box-sizing: border-box; + +} + +.columnsVersion { + float: left; + width: 33.3%; + padding: 8px; + border-radius: 15px; +} + +.columnsVersionview{ + float: left; + width: 50%; + padding: 8px; + border-radius: 15px; +} + +.price { + list-style-type: none; + border: 1px solid grey; + border-radius: 25px; + margin: 0; + padding: 0; + -webkit-transition: 0.3s; + transition: 0.3s; +} + +.price:hover { + box-shadow: 0 8px 12px 0 rgba(0,0,0,0.2) +} + +.price .headerVersion { + background-color:#484848; + color: white; + font-size: 15px; + border-radius: 50px; + height:40px; +} + +.price li { + border-bottom: 1px solid #eee; + padding: 5px; + text-align: center; + font-size: 12px; + word-wrap: break-word; +} + +.price .grey { + background-color: #FFCCCC; + font-size: 12px; + margin-left:20px; + margin-right:20px; +} + +@media only screen and (max-width: 600px) { + .columnsVersion { + width: 100%; + } +} +.separator{ + border-color:darkgrey; + min-height:2px; +} +.listHeading{ + background-color: #ffcccc; +} diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/style/w3.css b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/style/w3.css new file mode 100644 index 00000000..e73d2696 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/style/w3.css @@ -0,0 +1,231 @@ +/* W3.CSS 4.10 February 2018 by Jan Egil and Borge Refsnes */ +html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit} +/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */ +html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0} +article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block} +audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline} +audio:not([controls]){display:none;height:0}[hidden],template{display:none} +a{background-color:transparent;-webkit-text-decoration-skip:objects} +a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted} +dfn{font-style:italic}mark{background:#ff0;color:#000} +small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} +sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}img{border-style:none}svg:not(:root){overflow:hidden} +code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible} +button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:bold} +button,input{overflow:visible}button,select{text-transform:none} +button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button} +button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner{border-style:none;padding:0} +button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring{outline:1px dotted ButtonText} +fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em} +legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto} +[type=checkbox],[type=radio]{padding:0} +[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto} +[type=search]{-webkit-appearance:textfield;outline-offset:-2px} +[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none} +::-webkit-input-placeholder{color:inherit;opacity:0.54} +::-webkit-file-upload-button{-webkit-appearance:button;font:inherit} +/* End extract */ +html,body{font-family:Verdana,sans-serif;font-size:15px;line-height:1.5}html{overflow-x:hidden} +h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}.w3-serif{font-family:serif} +h1,h2,h3,h4,h5,h6{font-family:"Segoe UI",Arial,sans-serif;font-weight:400;margin:10px 0}.w3-wide{letter-spacing:4px} +hr{border:0;border-top:1px solid #eee;margin:20px 0} +.w3-image{max-width:100%;height:auto}img{vertical-align:middle}a{color:inherit} +.w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}.w3-table-all{border:1px solid #ccc} +.w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1} +.w3-table-all tr:nth-child(odd){background-color:#fff}.w3-table-all tr:nth-child(even){background-color:#f1f1f1} +.w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}.w3-centered tr th,.w3-centered tr td{text-align:center} +.w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{padding:8px 8px;display:table-cell;text-align:left;vertical-align:top} +.w3-table th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td:first-child{padding-left:16px} +.w3-btn,.w3-button{border:none;display:inline-block;padding:8px 16px;vertical-align:middle;overflow:hidden;text-decoration:none;color:inherit;background-color:inherit;text-align:center;cursor:pointer;white-space:nowrap} +.w3-btn:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)} +.w3-btn,.w3-button{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} +.w3-disabled,.w3-btn:disabled,.w3-button:disabled{cursor:not-allowed;opacity:0.3}.w3-disabled *,:disabled *{pointer-events:none} +.w3-btn.w3-disabled:hover,.w3-btn:disabled:hover{box-shadow:none} +.w3-badge,.w3-tag{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}.w3-badge{border-radius:50%} +.w3-ul{list-style-type:none;padding:0;margin:0}.w3-ul li{padding:8px 16px;border-bottom:1px solid #ddd}.w3-ul li:last-child{border-bottom:none} +.w3-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block} +.w3-ripple:active{opacity:0.5}.w3-ripple{transition:opacity 0s} +.w3-input{padding:8px;display:block;border:none;border-bottom:1px solid #ccc;width:100%} +.w3-select{padding:9px 0;width:100%;border:none;border-bottom:1px solid #ccc} +.w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer} +.w3-dropdown-hover:hover .w3-dropdown-content{display:block} +.w3-dropdown-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000} +.w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000} +.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0;z-index:1} +.w3-check,.w3-radio{width:24px;height:24px;position:relative;top:6px} +.w3-sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto} +.w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%} +.w3-bar-block .w3-dropdown-hover .w3-dropdown-content,.w3-bar-block .w3-dropdown-click .w3-dropdown-content{min-width:100%} +.w3-bar-block .w3-dropdown-hover .w3-button,.w3-bar-block .w3-dropdown-click .w3-button{width:100%;text-align:left;padding:8px 16px} +.w3-main,#main{transition:margin-left .4s} +.w3-modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)} +.w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px} +.w3-bar{width:100%;overflow:hidden}.w3-center .w3-bar{display:inline-block;width:auto} +.w3-bar .w3-bar-item{padding:8px 16px;float:left;width:auto;border:none;display:block;outline:0} +.w3-bar .w3-dropdown-hover,.w3-bar .w3-dropdown-click{position:static;float:left} +.w3-bar .w3-button{white-space:normal} +.w3-bar-block .w3-bar-item{width:100%;display:block;padding:8px 16px;text-align:left;border:none;white-space:normal;float:none;outline:0} +.w3-bar-block.w3-center .w3-bar-item{text-align:center}.w3-block{display:block;width:100%} +.w3-responsive{display:block;overflow-x:auto} +.w3-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row:after,.w3-row:before,.w3-row-padding:after,.w3-row-padding:before, +.w3-cell-row:before,.w3-cell-row:after,.w3-clear:after,.w3-clear:before,.w3-bar:before,.w3-bar:after{content:"";display:table;clear:both} +.w3-col,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter{float:left;width:100%} +.w3-col.s1{width:8.33333%}.w3-col.s2{width:16.66666%}.w3-col.s3{width:24.99999%}.w3-col.s4{width:33.33333%} +.w3-col.s5{width:41.66666%}.w3-col.s6{width:49.99999%}.w3-col.s7{width:58.33333%}.w3-col.s8{width:66.66666%} +.w3-col.s9{width:74.99999%}.w3-col.s10{width:83.33333%}.w3-col.s11{width:91.66666%}.w3-col.s12{width:99.99999%} +@media (min-width:601px){.w3-col.m1{width:8.33333%}.w3-col.m2{width:16.66666%}.w3-col.m3,.w3-quarter{width:24.99999%}.w3-col.m4,.w3-third{width:33.33333%} +.w3-col.m5{width:41.66666%}.w3-col.m6,.w3-half{width:49.99999%}.w3-col.m7{width:58.33333%}.w3-col.m8,.w3-twothird{width:66.66666%} +.w3-col.m9,.w3-threequarter{width:74.99999%}.w3-col.m10{width:83.33333%}.w3-col.m11{width:91.66666%}.w3-col.m12{width:99.99999%}} +@media (min-width:993px){.w3-col.l1{width:8.33333%}.w3-col.l2{width:16.66666%}.w3-col.l3{width:24.99999%}.w3-col.l4{width:33.33333%} +.w3-col.l5{width:41.66666%}.w3-col.l6{width:49.99999%}.w3-col.l7{width:58.33333%}.w3-col.l8{width:66.66666%} +.w3-col.l9{width:74.99999%}.w3-col.l10{width:83.33333%}.w3-col.l11{width:91.66666%}.w3-col.l12{width:99.99999%}} +.w3-content{max-width:980px;margin:auto}.w3-rest{overflow:hidden} +.w3-cell-row{display:table;width:100%}.w3-cell{display:table-cell} +.w3-cell-top{vertical-align:top}.w3-cell-middle{vertical-align:middle}.w3-cell-bottom{vertical-align:bottom} +.w3-hide{display:none!important}.w3-show-block,.w3-show{display:block!important}.w3-show-inline-block{display:inline-block!important} +@media (max-width:600px){.w3-modal-content{margin:0 10px;width:auto!important}.w3-modal{padding-top:30px} +.w3-dropdown-hover.w3-mobile .w3-dropdown-content,.w3-dropdown-click.w3-mobile .w3-dropdown-content{position:relative} +.w3-hide-small{display:none!important}.w3-mobile{display:block;width:100%!important}.w3-bar-item.w3-mobile,.w3-dropdown-hover.w3-mobile,.w3-dropdown-click.w3-mobile{text-align:center} +.w3-dropdown-hover.w3-mobile,.w3-dropdown-hover.w3-mobile .w3-btn,.w3-dropdown-hover.w3-mobile .w3-button,.w3-dropdown-click.w3-mobile,.w3-dropdown-click.w3-mobile .w3-btn,.w3-dropdown-click.w3-mobile .w3-button{width:100%}} +@media (max-width:768px){.w3-modal-content{width:500px}.w3-modal{padding-top:50px}} +@media (min-width:993px){.w3-modal-content{width:900px}.w3-hide-large{display:none!important}.w3-sidebar.w3-collapse{display:block!important}} +@media (max-width:992px) and (min-width:601px){.w3-hide-medium{display:none!important}} +@media (max-width:992px){.w3-sidebar.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}} +.w3-top,.w3-bottom{position:fixed;width:100%;z-index:1}.w3-top{top:0}.w3-bottom{bottom:0} +.w3-overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:2} +.w3-display-topleft{position:absolute;left:0;top:0}.w3-display-topright{position:absolute;right:0;top:0} +.w3-display-bottomleft{position:absolute;left:0;bottom:0}.w3-display-bottomright{position:absolute;right:0;bottom:0} +.w3-display-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)} +.w3-display-left{position:absolute;top:50%;left:0%;transform:translate(0%,-50%);-ms-transform:translate(-0%,-50%)} +.w3-display-right{position:absolute;top:50%;right:0%;transform:translate(0%,-50%);-ms-transform:translate(0%,-50%)} +.w3-display-topmiddle{position:absolute;left:50%;top:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} +.w3-display-bottommiddle{position:absolute;left:50%;bottom:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} +.w3-display-container:hover .w3-display-hover{display:block}.w3-display-container:hover span.w3-display-hover{display:inline-block}.w3-display-hover{display:none} +.w3-display-position{position:absolute} +.w3-circle{border-radius:50%} +.w3-round-small{border-radius:2px}.w3-round,.w3-round-medium{border-radius:4px}.w3-round-large{border-radius:8px}.w3-round-xlarge{border-radius:16px}.w3-round-xxlarge{border-radius:32px} +.w3-row-padding,.w3-row-padding>.w3-half,.w3-row-padding>.w3-third,.w3-row-padding>.w3-twothird,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-col{padding:0 8px} +.w3-container,.w3-panel{padding:0.01em 16px}.w3-panel{margin-top:16px;margin-bottom:16px} +.w3-code,.w3-codespan{font-family:Consolas,"courier new";font-size:16px} +.w3-code{width:auto;background-color:#fff;padding:8px 12px;border-left:4px solid #4CAF50;word-wrap:break-word} +.w3-codespan{color:crimson;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%} +.w3-card,.w3-card-2{box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)} +.w3-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19)} +.w3-spin{animation:w3-spin 2s infinite linear}@keyframes w3-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}} +.w3-animate-fading{animation:fading 10s infinite}@keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}} +.w3-animate-opacity{animation:opac 0.8s}@keyframes opac{from{opacity:0} to{opacity:1}} +.w3-animate-top{position:relative;animation:animatetop 0.4s}@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}} +.w3-animate-left{position:relative;animation:animateleft 0.4s}@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}} +.w3-animate-right{position:relative;animation:animateright 0.4s}@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}} +.w3-animate-bottom{position:relative;animation:animatebottom 0.4s}@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}} +.w3-animate-zoom {animation:animatezoom 0.6s}@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}} +.w3-animate-input{transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important} +.w3-opacity,.w3-hover-opacity:hover{opacity:0.60}.w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1} +.w3-opacity-max{opacity:0.25}.w3-opacity-min{opacity:0.75} +.w3-greyscale-max,.w3-grayscale-max,.w3-hover-greyscale:hover,.w3-hover-grayscale:hover{filter:grayscale(100%)} +.w3-greyscale,.w3-grayscale{filter:grayscale(75%)}.w3-greyscale-min,.w3-grayscale-min{filter:grayscale(50%)} +.w3-sepia{filter:sepia(75%)}.w3-sepia-max,.w3-hover-sepia:hover{filter:sepia(100%)}.w3-sepia-min{filter:sepia(50%)} +.w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}.w3-medium{font-size:15px!important}.w3-large{font-size:18px!important} +.w3-xlarge{font-size:24px!important}.w3-xxlarge{font-size:36px!important}.w3-xxxlarge{font-size:48px!important}.w3-jumbo{font-size:64px!important} +.w3-left-align{text-align:left!important}.w3-right-align{text-align:right!important}.w3-justify{text-align:justify!important}.w3-center{text-align:center!important} +.w3-border-0{border:0!important}.w3-border{border:1px solid #ccc!important} +.w3-border-top{border-top:1px solid #ccc!important}.w3-border-bottom{border-bottom:1px solid #ccc!important} +.w3-border-left{border-left:1px solid #ccc!important}.w3-border-right{border-right:1px solid #ccc!important} +.w3-topbar{border-top:6px solid #ccc!important}.w3-bottombar{border-bottom:6px solid #ccc!important} +.w3-leftbar{border-left:6px solid #ccc!important}.w3-rightbar{border-right:6px solid #ccc!important} +.w3-section,.w3-code{margin-top:16px!important;margin-bottom:16px!important} +.w3-margin{margin:16px!important}.w3-margin-top{margin-top:16px!important}.w3-margin-bottom{margin-bottom:16px!important} +.w3-margin-left{margin-left:16px!important}.w3-margin-right{margin-right:16px!important} +.w3-padding-small{padding:4px 8px!important}.w3-padding{padding:8px 16px!important}.w3-padding-large{padding:12px 24px!important} +.w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}.w3-padding-24{padding-top:24px!important;padding-bottom:24px!important} +.w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important} +.w3-padding-64{padding-top:64px!important;padding-bottom:64px!important} +.w3-left{float:left!important}.w3-right{float:right!important} +.w3-button:hover{color:#000!important;background-color:#ccc!important} +.w3-transparent,.w3-hover-none:hover{background-color:transparent!important} +.w3-hover-none:hover{box-shadow:none!important} +/* Colors */ +.w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important} +.w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#00ffff!important} +.w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196F3!important} +.w3-light-blue,.w3-hover-light-blue:hover{color:#000!important;background-color:#87CEEB!important} +.w3-brown,.w3-hover-brown:hover{color:#fff!important;background-color:#795548!important} +.w3-cyan,.w3-hover-cyan:hover{color:#000!important;background-color:#00bcd4!important} +.w3-blue-grey,.w3-hover-blue-grey:hover,.w3-blue-gray,.w3-hover-blue-gray:hover{color:#fff!important;background-color:#607d8b!important} +.w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#4CAF50!important} +.w3-light-green,.w3-hover-light-green:hover{color:#000!important;background-color:#8bc34a!important} +.w3-indigo,.w3-hover-indigo:hover{color:#fff!important;background-color:#3f51b5!important} +.w3-khaki,.w3-hover-khaki:hover{color:#000!important;background-color:#f0e68c!important} +.w3-lime,.w3-hover-lime:hover{color:#000!important;background-color:#cddc39!important} +.w3-orange,.w3-hover-orange:hover{color:#000!important;background-color:#ff9800!important} +.w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important} +.w3-pink,.w3-hover-pink:hover{color:#fff!important;background-color:#e91e63!important} +.w3-purple,.w3-hover-purple:hover{color:#fff!important;background-color:#9c27b0!important} +.w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important} +.w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important} +.w3-sand,.w3-hover-sand:hover{color:#000!important;background-color:#fdf5e6!important} +.w3-teal,.w3-hover-teal:hover{color:#fff!important;background-color:#009688!important} +.w3-yellow,.w3-hover-yellow:hover{color:#000!important;background-color:#ffeb3b!important} +.w3-white,.w3-hover-white:hover{color:#000!important;background-color:#fff!important} +.w3-black,.w3-hover-black:hover{color:#fff!important;background-color:#000!important} +.w3-grey,.w3-hover-grey:hover,.w3-gray,.w3-hover-gray:hover{color:#000!important;background-color:#9e9e9e!important} +.w3-light-grey,.w3-hover-light-grey:hover,.w3-light-gray,.w3-hover-light-gray:hover{color:#000!important;background-color:#f1f1f1!important} +.w3-dark-grey,.w3-hover-dark-grey:hover,.w3-dark-gray,.w3-hover-dark-gray:hover{color:#fff!important;background-color:#616161!important} +.w3-pale-red,.w3-hover-pale-red:hover{color:#000!important;background-color:#ffdddd!important} +.w3-pale-green,.w3-hover-pale-green:hover{color:#000!important;background-color:#ddffdd!important} +.w3-pale-yellow,.w3-hover-pale-yellow:hover{color:#000!important;background-color:#ffffcc!important} +.w3-pale-blue,.w3-hover-pale-blue:hover{color:#000!important;background-color:#ddffff!important} +.w3-text-amber,.w3-hover-text-amber:hover{color:#ffc107!important} +.w3-text-aqua,.w3-hover-text-aqua:hover{color:#00ffff!important} +.w3-text-blue,.w3-hover-text-blue:hover{color:#2196F3!important} +.w3-text-light-blue,.w3-hover-text-light-blue:hover{color:#87CEEB!important} +.w3-text-brown,.w3-hover-text-brown:hover{color:#795548!important} +.w3-text-cyan,.w3-hover-text-cyan:hover{color:#00bcd4!important} +.w3-text-blue-grey,.w3-hover-text-blue-grey:hover,.w3-text-blue-gray,.w3-hover-text-blue-gray:hover{color:#607d8b!important} +.w3-text-green,.w3-hover-text-green:hover{color:#4CAF50!important} +.w3-text-light-green,.w3-hover-text-light-green:hover{color:#8bc34a!important} +.w3-text-indigo,.w3-hover-text-indigo:hover{color:#3f51b5!important} +.w3-text-khaki,.w3-hover-text-khaki:hover{color:#b4aa50!important} +.w3-text-lime,.w3-hover-text-lime:hover{color:#cddc39!important} +.w3-text-orange,.w3-hover-text-orange:hover{color:#ff9800!important} +.w3-text-deep-orange,.w3-hover-text-deep-orange:hover{color:#ff5722!important} +.w3-text-pink,.w3-hover-text-pink:hover{color:#e91e63!important} +.w3-text-purple,.w3-hover-text-purple:hover{color:#9c27b0!important} +.w3-text-deep-purple,.w3-hover-text-deep-purple:hover{color:#673ab7!important} +.w3-text-red,.w3-hover-text-red:hover{color:#f44336!important} +.w3-text-sand,.w3-hover-text-sand:hover{color:#fdf5e6!important} +.w3-text-teal,.w3-hover-text-teal:hover{color:#009688!important} +.w3-text-yellow,.w3-hover-text-yellow:hover{color:#d2be0e!important} +.w3-text-white,.w3-hover-text-white:hover{color:#fff!important} +.w3-text-black,.w3-hover-text-black:hover{color:#000!important} +.w3-text-grey,.w3-hover-text-grey:hover,.w3-text-gray,.w3-hover-text-gray:hover{color:#757575!important} +.w3-text-light-grey,.w3-hover-text-light-grey:hover,.w3-text-light-gray,.w3-hover-text-light-gray:hover{color:#f1f1f1!important} +.w3-text-dark-grey,.w3-hover-text-dark-grey:hover,.w3-text-dark-gray,.w3-hover-text-dark-gray:hover{color:#3a3a3a!important} +.w3-border-amber,.w3-hover-border-amber:hover{border-color:#ffc107!important} +.w3-border-aqua,.w3-hover-border-aqua:hover{border-color:#00ffff!important} +.w3-border-blue,.w3-hover-border-blue:hover{border-color:#2196F3!important} +.w3-border-light-blue,.w3-hover-border-light-blue:hover{border-color:#87CEEB!important} +.w3-border-brown,.w3-hover-border-brown:hover{border-color:#795548!important} +.w3-border-cyan,.w3-hover-border-cyan:hover{border-color:#00bcd4!important} +.w3-border-blue-grey,.w3-hover-border-blue-grey:hover,.w3-border-blue-gray,.w3-hover-border-blue-gray:hover{border-color:#607d8b!important} +.w3-border-green,.w3-hover-border-green:hover{border-color:#4CAF50!important} +.w3-border-light-green,.w3-hover-border-light-green:hover{border-color:#8bc34a!important} +.w3-border-indigo,.w3-hover-border-indigo:hover{border-color:#3f51b5!important} +.w3-border-khaki,.w3-hover-border-khaki:hover{border-color:#f0e68c!important} +.w3-border-lime,.w3-hover-border-lime:hover{border-color:#cddc39!important} +.w3-border-orange,.w3-hover-border-orange:hover{border-color:#ff9800!important} +.w3-border-deep-orange,.w3-hover-border-deep-orange:hover{border-color:#ff5722!important} +.w3-border-pink,.w3-hover-border-pink:hover{border-color:#e91e63!important} +.w3-border-purple,.w3-hover-border-purple:hover{border-color:#9c27b0!important} +.w3-border-deep-purple,.w3-hover-border-deep-purple:hover{border-color:#673ab7!important} +.w3-border-red,.w3-hover-border-red:hover{border-color:#f44336!important} +.w3-border-sand,.w3-hover-border-sand:hover{border-color:#fdf5e6!important} +.w3-border-teal,.w3-hover-border-teal:hover{border-color:#009688!important} +.w3-border-yellow,.w3-hover-border-yellow:hover{border-color:#ffeb3b!important} +.w3-border-white,.w3-hover-border-white:hover{border-color:#fff!important} +.w3-border-black,.w3-hover-border-black:hover{border-color:#000!important} +.w3-border-grey,.w3-hover-border-grey:hover,.w3-border-gray,.w3-hover-border-gray:hover{border-color:#9e9e9e!important} +.w3-border-light-grey,.w3-hover-border-light-grey:hover,.w3-border-light-gray,.w3-hover-border-light-gray:hover{border-color:#f1f1f1!important} +.w3-border-dark-grey,.w3-hover-border-dark-grey:hover,.w3-border-dark-gray,.w3-hover-border-dark-gray:hover{border-color:#616161!important} +.w3-border-pale-red,.w3-hover-border-pale-red:hover{border-color:#ffe7e7!important}.w3-border-pale-green,.w3-hover-border-pale-green:hover{border-color:#e7ffe7!important} +.w3-border-pale-yellow,.w3-hover-border-pale-yellow:hover{border-color:#ffffcc!important}.w3-border-pale-blue,.w3-hover-border-pale-blue:hover{border-color:#e7ffff!important}
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/footer.html b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/footer.html new file mode 100644 index 00000000..9d252bf0 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/footer.html @@ -0,0 +1,3 @@ +<div class="footer"> + <p style="margin-left:20px;text-align:center"> @Copyright 2018 All rights reserved</p> +</div> diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-applyConfig.jsp b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-applyConfig.jsp new file mode 100644 index 00000000..76293840 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-applyConfig.jsp @@ -0,0 +1,48 @@ +<!-- /* + * ============LICENSE_START======================================================= + * ONAP : SDNC-FEATURES + * ================================================================================ + * Copyright 2018 TechMahindra + *================================================================================= + * 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. + * ============LICENSE_END========================================================= + */ + --> +<div class="ReportMain" > + <div class="heading"><img src="static/images/Apply.jpg" width=70 height="40" style="margin-left:5px;"> Apply Configruation</div> + <form name="myForm" style="background-color:#f2f2f2; border: 1px solid #ddd;"> + <div growl></div> + + <div class="row" style="background-color:#f2f2f2;width:100%;margin-left:1px;height:75px"> + <div class="column" style="width:30%;background-color:#f2f2f2;height:55px;margin-left:40px;"> + <label class="labeltext">Select Avaliable VNF</label> + </div> + <div class="column" style="background-color:#f2f2f2;width:60%;height:55px;margin-left:0px;"> + <select class="form-control" style="width:100%;margin-top:0px;" ng-model="selectedValueVnf" ng-change="selectVnf(selectedValueVnf)"> + <option ng-repeat="vnf in objvnfList" value="{{vnf.vnfid}}">VnfId- {{vnf.vnfid}} VnfName- {{vnf.vnfname}}</option> + <option value="">Select VNFId</option> + </select> + </div> + </div> + <div class="row" style="background-color:#f2f2f2;width:100%;margin-left:1px;height:100px"> + <div class="column" style="width:30%;height:55px;margin-left:35px;"> + <input type="file" style="width:300px" id="myFileInput" ng-model="file" accept=".json"/> + </div> + <div class="column" style="width:50%;height:55px;margin-left:10px;"> + <button type="submit" class="btnapply" ng-click="submit()">Apply Config</button> + </div> + </div> + </form> +</div> +</body> +</html>
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-backupConfig.html b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-backupConfig.html new file mode 100644 index 00000000..15c1c4b0 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-backupConfig.html @@ -0,0 +1,39 @@ +<!-- /* + * ============LICENSE_START======================================================= + * ONAP : SDNC-FEATURES + * ================================================================================ + * Copyright 2018 TechMahindra + *================================================================================= + * 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. + * ============LICENSE_END========================================================= + */ + --> +<div class="ReportMain"> + <div class="heading"><img src="static/images/backupConfig.png" width=50 height="40" style="margin-left:5px;"> Backup Configruation + <label style="float: right; margin-right: 84px;"><font size='2'>Last Updated Time : <span style="color:red">{{lastModifiedTime}}</span></font></label> + </div> + <form name="myForm"> + <div growl></div> + <div class="row"> + + </div> + <div class="row"> + <div class="column" style="background-color:#f2f2f2;width:97%;border: 1px solid #ddd;"> + <input type="button" class="btnapply" ng-click="invokeBackup()" value=" Config Backup" /> + </div> + </div> + <div class="row"> + + </div> + </form> +</div>
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-compareConfig.html b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-compareConfig.html new file mode 100644 index 00000000..93ab7b64 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-compareConfig.html @@ -0,0 +1,85 @@ + <!-- /* + * ============LICENSE_START======================================================= + * ONAP : SDNC-FEATURES + * ================================================================================ + * Copyright 2018 TechMahindra + *================================================================================= + * 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. + * ============LICENSE_END========================================================= + */ + --> +<div class="ReportMain"> + <div class="heading"><img src="static/images/compare.png" width=45 height="40" style="margin-left:5px;"> Compare Configruation</div> + <form name="myForm" class="Formclass"> + <div growl></div> + <div class="row" style="background-color:#f2f2f2;width:100%;margin-left:1px; border: 1px solid #ddd;"> + <div class="column" style="width:30%;background-color:#f2f2f2;height:55px;margin-left:40px;"> + <label class="labeltext">Select Avaliable VNF</label> + </div> + <div class="column" style="background-color:#f2f2f2;width:60%;height:55px;margin-left:0px;"> + <select class="form-control" style="width:100%;margin-top:0px;" ng-model="selectedValueVnf" ng-change="selectVnf(selectedValueVnf)"> + <option ng-repeat="vnf in objvnfList" value="{{vnf.vnfid}}">VnfId- {{vnf.vnfid}} VnfName- {{vnf.vnfname}}</option> + <option value="">Select VNFId</option> + </select> + </div> + </div> + <table class="tableDisplay" ng-show="ShowResult" id="tableToExport" style="margin-top:15px;"> + <tr class="first_row" style="background-color:#6D7B8D;"> + <th>SNo. + </th> + <th>VersionNo + </th> + <th>Backup Date + </th> + <th>Updated Date + </th> + <th>Action</th> + </tr> + <tr ng-repeat="version in pagedItems[currentPage] | orderBy:sort.sortingOrder:sort.reverse"> + <td>{{$index+1}}</td> + <td>{{version.vnfversion}}</td> + <td>{{version.createdAt}}</td> + <td>{{version.updatedAt}}</td> + <td><input type=checkbox ng-model="version.selected"> + </td> + </tr> + + <td colspan="5"> + <!-- ng-show="pagedItems.length > 5" --> + <ul class="pagination pull-right"> + <li ng-class="{disabled: currentPage == 0}"><a href + ng-click="prevPage()">«</a></li> + <li ng-repeat="n in range(pagedItems.length, currentPage, currentPage + gap) " + ng-class="{active: n == currentPage}" ng-click="setPage()"><a + href ng-bind="n + 1">1</a></li> + <li ng-class="{disabled: (currentPage) == pagedItems.length - 1}"> + <a href ng-click="nextPage()">»</a> + </li> + </ul> + </td> + + <tr> + <td colspan="5"> + <div class="row pull-right"> + <button type="button" class="btnview" ng-click="ViewConfig(objVersion)" ng-show="showView" ng-model="version.selected" >View Config</button> + <button type="button" class="btnapplycfg" ng-click="ApplyConfig(objVersion)" >Apply Config</button> + <button type="button" class="btnCompareVersion" ng-click="CompareConfig(objVersion)" ng-show="showCompare" ng-model="version.selected" >Compare Config</button> + </div> + </td> + </tr> + </table> + <div id="compare" ng-form = "compare" ng-include="" src="'static/views/form-deviceConfig.html'"></div> + <div id="view" ng-form = "view" ng-include="" src="'static/views/form-deviceConfigView.html'"></div> + + </form> +</div>
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-deviceConfig.html b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-deviceConfig.html new file mode 100644 index 00000000..54b39b27 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-deviceConfig.html @@ -0,0 +1,332 @@ +<!-- /* + * ============LICENSE_START======================================================= + * ONAP : SDNC-FEATURES + * ================================================================================ + * Copyright 2018 TechMahindra + *================================================================================= + * 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. + * ============LICENSE_END========================================================= + */ + --> +<!-- <div class="VersionMain" ng-show="showResult"> + <div class="versionHeading"><img src="static/images/compare.jpg" width=25 height="25" style="margin-left:5px;"> Version Comparision Result</div> + <div class="columnsVersion"> + <ul class="price"> + <li class="headerVersion">Attributes</li> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Config Details</li> + <li ng-repeat="(key,value) in objCompareModel1.versionDetails">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF Topology</li> + <li ng-repeat="(key,value) in objCompareModel1.topologyInfo">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;" ng-if="objCompareModel1.networkTopologyInfo.length>=1"> + <li class="listHeading">Network Topology</li> + <li ng-repeat="(key,value) in objCompareModel1.networkTopologyInfo">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Operation Status</li> + <li ng-repeat="(key,value) in objCompareModel1.operationStatus">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF Topology Identifer</li> + <li ng-repeat="(key,value) in objCompareModel1.vnfTopologyIdentifier">{{key}}</li> + <hr class="separator"> + </hr> + </div> + </ul> + </div> + <div class="columnsVersion"> + <ul class="price"> + <li class="headerVersion" style="background-color:#807C7C">Version {{objCompareModel1.versionDetails.vnfversion}}</li> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Config Details</li> + <li ng-repeat="(key,value) in objCompareModel1.versionDetails">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF Topology</li> + <li ng-repeat="(key,value) in objCompareModel1.topologyInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;" ng-if="objCompareModel1.networkTopologyInfo.length>=1"> + <li class="listHeading">Network Topology</li> + <li ng-repeat="(key,value) in objCompareModel1.networkTopologyInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Operation Status</li> + <li ng-repeat="(key,value) in objCompareModel1.operationStatus">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF Topology Identifer</li> + <li ng-repeat="(key,value) in objCompareModel1.vnfTopologyIdentifier">{{value}}</li> + <hr class="separator"> + </hr> + </div> + </ul> + </div> + <div class="columnsVersion"> + <ul class="price"> + <li class="headerVersion"style="background-color:#807C7C">Version {{objCompareModel2.versionDetails.vnfversion}}</li> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Config Details</li> + <li ng-repeat="(key,value) in objCompareModel2.versionDetails">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF Topology</li> + <li ng-repeat="(key,value) in objCompareModel2.topologyInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;" ng-if="objCompareModel1.networkTopologyInfo.length>=1"> + <li class="listHeading">Network Topology</li> + <li ng-repeat="(key,value) in objCompareModel2.networkTopologyInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Operation Status</li> + <li ng-repeat="(key,value) in objCompareModel2.operationStatus">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF Topology Identifer</li> + <li ng-repeat="(key,value) in objCompareModel2.vnfTopologyIdentifier">{{value}}</li> + <hr class="separator"> + </hr> + </div> + </ul> + </div> +</div> --> + + + +<div id = "Div1" class="VersionMain" ng-show="showResult"> + <div class="versionHeading"><img src="static/images/compare.jpg" width=25 height="25" style="margin-left:5px;"> Version Comparision Result</div> + <div class="columnsVersion"> + <ul class="price"> + <li class="headerVersion">Attributes</li> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Config Details</li> + <li ng-repeat="(key,value) in objCompareModel1.versionDetails">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF ID</li> + <li ng-repeat="(key,value) in objCompareModel1.vnfIdInfo">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">SERVICE STATUS</li> + <li ng-repeat="(key,value) in objCompareModel1.serviceStatusInfo">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF Topology Identifer</li> + <li ng-repeat="(key,value) in objCompareModel1.vnfTopologyIdentifier">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Operation Status</li> + <li ng-repeat="(key,value) in objCompareModel1.operationStatus">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Request Info</li> + <li ng-repeat="(key,value) in objCompareModel1.vnfRequestInfo">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Service Info</li> + <li ng-repeat="(key,value) in objCompareModel1.serviceInfo">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Service Request Header</li> + <li ng-repeat="(key,value) in objCompareModel1.requestHeader">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Request Information</li> + <li ng-repeat="(key,value) in objCompareModel1.requestInfo">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF Topology</li> + <li ng-repeat="(key,value) in objCompareModel1.topologyInfo">{{key}}</li> + <hr class="separator"> + </hr> + </div> + </ul> + </div> + + <div class="columnsVersion"> + <ul class="price"> + <li class="headerVersion" style="background-color:#807C7C">Version {{objCompareModel1.versionDetails.vnfversion}}</li> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Config Details</li> + <li ng-repeat="(key,value) in objCompareModel1.versionDetails">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;" > + <li class="listHeading">VNF ID</li> + <li ng-repeat="(key,value) in objCompareModel1.vnfIdInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">SERVICE STATUS</li> + <li ng-repeat="(key,value) in objCompareModel1.serviceStatusInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF Topology Identifer</li> + <li ng-repeat="(key,value) in objCompareModel1.vnfTopologyIdentifier">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Operation Status</li> + <li ng-repeat="(key,value) in objCompareModel1.operationStatus">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Request Info</li> + <li ng-repeat="(key,value) in objCompareModel1.vnfRequestInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Service Info</li> + <li ng-repeat="(key,value) in objCompareModel1.serviceInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Service Request Header</li> + <li style="height:29px;overflow: auto;" ng-repeat="(key,value) in objCompareModel1.requestHeader">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Request Information</li> + <li ng-repeat="(key,value) in objCompareModel1.requestInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF Topology</li> + <li style="height:29px;overflow: auto;" ng-repeat="(key,value) in objCompareModel1.topologyInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + </ul> + </div> + + <div class="columnsVersion"> + <ul class="price"> + <li class="headerVersion"style="background-color:#807C7C">Version {{objCompareModel2.versionDetails.vnfversion}}</li> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Config Details</li> + <li ng-repeat="(key,value) in objCompareModel2.versionDetails">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF ID</li> + <li ng-repeat="(key,value) in objCompareModel2.vnfIdInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">SERVICE STATUS</li> + <li ng-repeat="(key,value) in objCompareModel2.serviceStatusInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF Topology Identifer</li> + <li ng-repeat="(key,value) in objCompareModel2.vnfTopologyIdentifier">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Operation Status</li> + <li ng-repeat="(key,value) in objCompareModel2.operationStatus">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Request Info</li> + <li ng-repeat="(key,value) in objCompareModel2.vnfRequestInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Service Info</li> + <li ng-repeat="(key,value) in objCompareModel2.serviceInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Service Request Header</li> + <li style="height:29px;overflow: auto;" ng-repeat="(key,value) in objCompareModel2.requestHeader">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Request Information</li> + <li ng-repeat="(key,value) in objCompareModel2.requestInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF Topology</li> + <li style="height:29px;overflow: auto;" ng-repeat="(key,value) in objCompareModel2.topologyInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + </ul> + </div> + +</div>
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-deviceConfigView.html b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-deviceConfigView.html new file mode 100644 index 00000000..e9a19aa3 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-deviceConfigView.html @@ -0,0 +1,154 @@ +<!-- /* + * ============LICENSE_START======================================================= + * ONAP : SDNC-FEATURES + * ================================================================================ + * Copyright 2018 TechMahindra + *================================================================================= + * 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. + * ============LICENSE_END========================================================= + */ + --> + <div class="VersionMain" ng-show="showResult"> + <div class="versionHeading"><img src="static/images/compare.jpg" width=25 height="25" style="margin-left:5px;"> Version Comparision Result</div> + <div class="columnsVersionview"> + <ul class="price"> + <li class="headerVersion">Attributes</li> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Config Details</li> + <li ng-repeat="(key,value) in objCompareModel1.versionDetails">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF ID</li> + <li ng-repeat="(key,value) in objCompareModel1.vnfIdInfo">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">SERVICE STATUS</li> + <li ng-repeat="(key,value) in objCompareModel1.serviceStatusInfo">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF Topology Identifer</li> + <li ng-repeat="(key,value) in objCompareModel1.vnfTopologyIdentifier">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Operation Status</li> + <li ng-repeat="(key,value) in objCompareModel1.operationStatus">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Request Info</li> + <li ng-repeat="(key,value) in objCompareModel1.vnfRequestInfo">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Service Info</li> + <li ng-repeat="(key,value) in objCompareModel1.serviceInfo">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Service Request Header</li> + <li ng-repeat="(key,value) in objCompareModel1.requestHeader">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Request Information</li> + <li ng-repeat="(key,value) in objCompareModel1.requestInfo">{{key}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF Topology</li> + <li ng-repeat="(key,value) in objCompareModel1.topologyInfo">{{key}}</li> + <hr class="separator"> + </hr> + </div> + </ul> + </div> + <div class="columnsVersionview"> + <ul class="price"> + <li class="headerVersion" style="background-color:#807C7C">Version {{objCompareModel1.versionDetails.vnfversion}}</li> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Config Details</li> + <li ng-repeat="(key,value) in objCompareModel1.versionDetails">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;" > + <li class="listHeading">VNF ID</li> + <li ng-repeat="(key,value) in objCompareModel1.vnfIdInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">SERVICE STATUS</li> + <li ng-repeat="(key,value) in objCompareModel1.serviceStatusInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF Topology Identifer</li> + <li ng-repeat="(key,value) in objCompareModel1.vnfTopologyIdentifier">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Operation Status</li> + <li ng-repeat="(key,value) in objCompareModel1.operationStatus">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Request Info</li> + <li ng-repeat="(key,value) in objCompareModel1.vnfRequestInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Service Info</li> + <li ng-repeat="(key,value) in objCompareModel1.serviceInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Service Request Header</li> + <li style="height:29px;overflow: auto;" ng-repeat="(key,value) in objCompareModel1.requestHeader">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">Request Information</li> + <li ng-repeat="(key,value) in objCompareModel1.requestInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + <div style="background-color:#E1E0DA;"> + <li class="listHeading">VNF Topology</li> + <li style="height:29px;overflow: auto;" ng-repeat="(key,value) in objCompareModel1.topologyInfo">{{value}}</li> + <hr class="separator"> + </hr> + </div> + </ul> + </div> + +</div>
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-validationTest.html b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-validationTest.html new file mode 100644 index 00000000..0bf39f66 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-validationTest.html @@ -0,0 +1,135 @@ +<!-- /* + * ============LICENSE_START======================================================= + * ONAP : SDNC-FEATURES + * ================================================================================ + * Copyright 2018 TechMahindra + *================================================================================= + * 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. + * ============LICENSE_END========================================================= + */ + --> +<div class="testMain"> + <div class="heading"><img src="static/images/validation.png" width=30 height="30" style="margin-left:5px;"> Pre-test/Certification</div> + <form name="reportForm"> + <div growl></div> + <div class="row"> + <div class="column testCol"> + <label class="labeltext">Specify IP Address</label> + </div> + <div class="column" style="background-color:#f2f2f2;width:50%;margin-left:0px;"> + <input type="text" ng-model="IPAddress" name="IPAddress" style="margin-left:5px;width:170px;" ng-ip-address placeholder='255.255.255.255' required></input> + <div role="alert"> + <span class="error" ng-show="reportForm.IPAddress.$error.required">Required!</span> + </div> + <div role="alert"> + <span class="error" ng-if="reportForm.IPAddress.$invalid">Not a valid IPAddress!</span> + </div> + <div role="alert"> + <span class="error" ng-if="reportForm.IPAddress.pattern">Not a valid IPAddress!</span> + </div> + </div> + </div> + <div class="row"> + <div class="column testCol"> + <label class="labeltext">Specify Host Name</label> + </div> + <div class="column" style="background-color:#f2f2f2;width:50%;margin-left:0px;"> + <input type="text" ng-model="HostName" name="HostName" style="margin-left:5px;width:170px;" required ng-pattern="hostNamePattern"></input> + <div role="alert"> + <span class="error" ng-show="reportForm.HostName.$error.required">Required!</span> + </div> + <div role="alert"> + <span class="error" ng-show="reportForm.HostName.$invalid">Not a valid HostName!</span> + </div> + </div> + </div> + <div class="row"> + <div class="column" style="width:25%;background-color:#f2f2f2;height:45px;margin-left:35px;"> + <label class="labeltext">Select Certification</label> + </div> + <div class="column" style="background-color:#f2f2f2;width:50%;height:45px;margin-left:0px;"> + <label ng-repeat="val in validationTestList" class="labeltext" style="margin-right:35px;"> + <input type="checkbox" ng-model="val.Selected" class="check" ng-change="updateSelection($index,validationTestList,val.validationType);">{{val.validationType}}</input> + </label> + </div> + </div> + <!--<hr style="border-color:darkGrey;">--> + <div class="row"> + <div class="column btnRunTest"> + <input type="submit" ng-click="runTest()" value="Run PreTest" id="btnSubmit" ng-disabled="showError" style="margin-left:0px;"/> + </div> + </div> + + <table class="tableDisplay" ng-show="ShowResult" id="tableToExport" style="margin-left:10px;width:1000px;"> + <tr class="first_row"> + <th>SNo. + </th> + <th colspan="2" style="text-align:center;">TestName + </th> + <th>Device IP + </th> + <th>Status + </th> + <th style="width:20%;">Statistics (%Loss)</th> + <th style="width:20%;">Average Time (ms)</th> + <th>Result + </th> + </tr> + <tr ng-repeat="test in objPreTest"> + <td>{{$index+1}} + </td> + <td><img src="{{(test.testtype=='Network Layer') ? 'static/images/images.png': 'static/images/protocol.png'}}" width=40 height=30 ></img></td> + <td>{{test.testtype}} + </td> + <td>{{test.ipaddress}} + </td> + <td>{{test.status | uppercase}} + </td> + <td> + <div ng-show="test.testtype =='Network Layer'" class="w3-light-grey"> + <div ng-show=test.statistics!=null class="w3-container w3-red w3-center" style="width:{{test.statisticPer}}%">{{test.statistics}}% Loss + </div> + <div ng-show=test.statistics==null class="w3-orange w3-center" style="width:{{test.statisticPer}}%">No Statistics Recorded + </div> + </div> + <div ng-show="test.testtype =='Protocol Layer'"> + <img src='static/images/router.png' width=30 height=30 style="margin-bottom:10px;"></img> + <span class="{{(test.status == 'unreachable') ? 'arrowRed':'arrowGreen'}}">→</span><span class="{{(test.status == 'unreachable') ? 'arrowRed':'arrowGreen'}}">→</span><span class="{{(test.status == 'unreachable') ? 'arrowRed':'arrowGreen'}}">→ + <img src='static/images/router.png' width=30 height=30 ></img> + </div> + </td> + <td> + <div ng-show="test.testtype =='Network Layer'" class="w3-light-grey"> + <div ng-show=test.avgTime!=null class="w3-container w3-green w3-center" style="width:{{test.avgTimePer}}%">{{test.avgTime}} ms</div> + <div ng-show=test.statistics==null class="w3-blue w3-center" style="width:{{test.statisticPer}}%">No AvgTime Recorded + </div> + </div> + </td> + <td><img src="{{(test.status=='reachable') ? 'static/images/success.png': 'static/images/FailImage.png'}}" width=30 height=25></img> + </td> + </tr> + </table> + <div class="row"> + <div class="column" style="margin-top:10px;width:800px;" ng-show="ShowResult"> + <span class='arrowRed'>→</span> + <label class="labeltext">UnReachable</label> + <span class='arrowGreen'>→</span> + <label class="labeltext">Reachable</label> + <span><img src='static/images/success.png' width=30 height=25></span> + <label class="labeltext">Pass</label> + <span><img src='static/images/FailImage.png' width=30 height=25></span> + <label class="labeltext">Fail</label> + </div> + </div> + </form> +</div>
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-versionCompare.html b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-versionCompare.html new file mode 100644 index 00000000..182c31fc --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-versionCompare.html @@ -0,0 +1,59 @@ +<!-- /* + * ============LICENSE_START======================================================= + * ONAP : SDNC-FEATURES + * ================================================================================ + * Copyright 2018 TechMahindra + *================================================================================= + * 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. + * ============LICENSE_END========================================================= + */ + --> +<div class="VersionMain"> + <div class="versionHeading"><img src="images/compare.jpg" width=25 height="25" style="margin-left:5px;"> Version Comparision Result</div> + + <div class="columnsVersion"> + <ul class="price"> + <li class="headerVersion">Basic</li> + <li class="grey">$ 9.99 / year</li> + <li>10GB Storage</li> + <li>10 Emails</li> + <li>10 Domains</li> + <li>1GB Bandwidth</li> + <li class="grey"><a href="#" class="button">Sign Up</a></li> + </ul> +</div> + +<div class="columnsVersion"> + <ul class="price"> + <li class="headerVersion" style="background-color:#4CAF50">Pro</li> + <li class="grey">$ 24.99 / year</li> + <li>25GB Storage</li> + <li>25 Emails</li> + <li>25 Domains</li> + <li>2GB Bandwidth</li> + <li class="grey"><a href="#" class="button">Sign Up</a></li> + </ul> +</div> + +<div class="columnsVersion"> + <ul class="price"> + <li class="headerVersion">Premium</li> + <li class="grey">$ 49.99 / year</li> + <li>50GB Storage</li> + <li>50 Emails</li> + <li>50 Domains</li> + <li>5GB Bandwidth</li> + <li class="grey"><a href="#" class="button">Sign Up</a></li> + </ul> +</div> + </div>
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-viewReport.html b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-viewReport.html new file mode 100644 index 00000000..d4841ad5 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-viewReport.html @@ -0,0 +1,90 @@ +<!-- /* + * ============LICENSE_START======================================================= + * ONAP : SDNC-FEATURES + * ================================================================================ + * Copyright 2018 TechMahindra + *================================================================================= + * 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. + * ============LICENSE_END========================================================= + */ + --> +<div class="ReportMain"> + <div class="heading"> + <img src="static/images/search.png" width=50 height="40" + style="margin-left: 5px;"> Search For Vnf Reports + </div> + <form name="myForm" style="background-color: #f2f2f2;"> + <div growl></div> + <div class="row"> + <div class="column" style="width: 40%;"> + <label for="exampleInput" class="labeltext">Start Date</label> <input + type="date" id="exampleInput" name="input" + ng-model="startdate.value" placeholder="yyyy-MM-dd" + style="margin-left: 20px; width: 170px;" required /> + <div role="alert"> + <span class="error" ng-show="myForm.input.$error.required">Required!</span> + <span class="error" ng-show="myForm.input.$error.date">Not a + valid date!</span> + </div> + </div> + <div class="column" style="margin-left: 0px; width: 50%;"> + <label for="exampleEndInput" class="labeltext">End Date</label> <input + type="date" id="exampleEndInput" name="input" + ng-model="enddate.value" placeholder="yyyy-MM-dd" + style="margin-left: 20px; width: 170px;" required /> + <div role="alert"> + <span class="error" ng-show="myForm.input.$error.required"> + Required!</span> <span class="error" ng-show="myForm.input.$error.date"> + Not a valid date!</span> + </div> + </div> + </div> + <br> + <div class="row"> + <input type="submit" id="btnSubmit" + ng-click="getReports(startdate.value,enddate.value)" + style="width: 120px;"> + </div> + + <table class="tableDisplay" + style="text-align: center;" ng-show="showresult" id="tableToExport"> + <tr class="first_row"> + <th style="text-align: center;">SNo.</th> + <th style="text-align: center;">Time Period</th> + <th style="text-align: center;">Vnf Name</th> + <th style="text-align: center;">Vnf Id</th> + </tr> + <tr ng-repeat="version in pagedItems[currentPage] | orderBy:sort.sortingOrder:sort.reverse"> + <td>{{ ($index + 1) + (currentPage - 1) * itemsPerPage + 5}}</td> + <td>{{version.createdAt}}</td> + <td>{{version.vnfname }}</td> + <td>{{version.vnfid}}</td> + </tr> + <td colspan="4"> + <!-- ng-show="pagedItems.length > 5" --> + <ul class="pagination pull-right"> + <li ng-class="{disabled: currentPage == 0}"><a href + ng-click="prevPage()">«</a></li> + <li ng-repeat="n in range(pagedItems.length, currentPage, currentPage + gap) " + ng-class="{active: n == currentPage}" ng-click="setPage()"><a + href ng-bind="n + 1">1</a></li> + <li ng-class="{disabled: (currentPage) == pagedItems.length - 1}"> + <a href ng-click="nextPage()">»</a> + </li> + </ul> + </td> + </table> + </form> +</div> +</body> +</html>
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-viewReportById.html b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-viewReportById.html new file mode 100644 index 00000000..b4eec391 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-viewReportById.html @@ -0,0 +1,122 @@ +<!-- /* + * ============LICENSE_START======================================================= + * ONAP : SDNC-FEATURES + * ================================================================================ + * Copyright 2018 TechMahindra + *================================================================================= + * 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. + * ============LICENSE_END========================================================= + */ + --> +<div class="ReportMain"> + <div class="heading"> + <img src="static/images/search.png" width=50 height="40" + style="margin-left: 5px;"> Search For Vnf Reports + </div> + <form name="myForm" style="background-color: #f2f2f2;padding:20px 15px;"> + <div growl></div> + + <div class="row"> + <div class="column" + style="width: 20%; background-color: #f2f2f2; height: 35px; margin-left: 35px;"> + <label class="labeltext">Select Avaliable VNF</label> + </div> + <div class="column" + style="background-color: #f2f2f2; width: 45%; height: 55px; margin-left: 0px;"> + <select class="form-control" style="width: 100%; margin-top: 0px;" + name="select" ng-model="selectedValueVnf" + ng-change=selectVnf(selectedValueVnf) required> + <option ng-repeat="vnf in objvnfList" value="{{vnf.vnfid}}">VnfId- + {{vnf.vnfid}} VnfName- {{vnf.vnfname}}</option> + <option value="">Select VNF</option> + </select> + <div role="alert"> + <span class="error" ng-show="myForm.select.$error.required"> + Required!</span> + </div> + </div> + </div> + + <div class="row" ng-show="ShowResult"> + <div class="column" style="margin-left: 13px; width: 40%;"> + <label for="exampleInput" class="labeltext">Start Date</label> <input + type="date" id="exampleInput" name="input" + ng-model="startdate.value" placeholder="yyyy-MM-dd" + style="margin-left: 20px; width: 170px;" required /> + <div role="alert"> + <span class="error" ng-show="myForm.input.$error.required"> + Required!</span> <span class="error" ng-show="myForm.input.$error.date"> + Not a valid date!</span> + </div> + </div> + + <div class="column" style="margin-left: 0px; width: 50%;"> + <label for="exampleEndInput" class="labeltext">End Date</label> <input + type="date" id="exampleEndInput" name="input" + ng-model="enddate.value" placeholder="yyyy-MM-dd" + style="margin-left: 20px; width: 170px;" required /> + <div role="alert"> + <span class="error" ng-show="myForm.input.$error.required"> + Required!</span> <span class="error" ng-show="myForm.input.$error.date"> + Not a valid date!</span> + </div> + </div> + <br> + <div class="column"> + <input type="submit" id="btnSubmit" + ng-click="getReportsById(selectedValueVnf,startdate.value,enddate.value)" + style="width: 120px;"> + </div> + + </div> + <br> + <div class="row" ng-show="showresult"> + <div class="column" + style="width: 80%; background-color: #f2f2f2; height: 35px; margin-left: 35px; font-size: 14px;font-weight:500;color:#1B4F72;"> + Vnfid: {{selectedValueVnf}} + </div> + </div> + <br> + <div> + <table class="tableDisplay" + style="text-align: center;" ng-show="showresult" id="tableToExport"> + <tr class="first_row"> + <th style="text-align: center;">SNo.</th> + <th style="text-align: center;">Time Period</th> + <th style="text-align: center;">Vnf Name</th> + <th style="text-align: center;">Version No.</th> + </tr> + <tr ng-repeat="version in pagedItems[currentPage] | orderBy:sort.sortingOrder:sort.reverse"> + <td>{{ ($index + 1) + (currentPage - 1) * itemsPerPage + 5}}</td> + <td>{{version.createdAt}}</td> + <td>{{version.vnfname }}</td> + <td>{{version.versionNo}}</td> + </tr> + <td colspan="4"> + <ul class="pagination pull-right"> + <li ng-class="{disabled: currentPage == 0}"><a href + ng-click="prevPage()">«</a></li> + <li ng-repeat="n in range(pagedItems.length, currentPage, currentPage + gap) " + ng-class="{active: n == currentPage}" ng-click="setPage()"><a + href ng-bind="n + 1">1</a></li> + <li ng-class="{disabled: (currentPage) == pagedItems.length - 1}"> + <a href ng-click="nextPage()">»</a> + </li> + </ul> + </td> + </table> + </div> + </form> +</div> +</body> +</html>
\ No newline at end of file diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/header.html b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/header.html new file mode 100644 index 00000000..23851589 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/header.html @@ -0,0 +1,3 @@ +<div class="header"> + <p style="margin-left:20px;"> ONAP Certification Test Page </p> +</div> diff --git a/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/tabs.html b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/tabs.html new file mode 100644 index 00000000..178a8180 --- /dev/null +++ b/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/tabs.html @@ -0,0 +1,25 @@ +<div> +<nav role="navigation" class="navbar navbar-default" style="margin-top:10px;"> + <div class="navbar-header" style="background-color:#ffe0b3;font-size: 15px;font-weight: bold;color:black;"> + <ul class="nav navbar-nav"> + <li><div class="dropdown"> + <button class="dropbtn" style="padding-right:40px;padding-left: 30px; ">VIEW ALL REPORTS</button> + <div class="dropdown-content"> + <a ng-href="#testReports">Search Vnf Reports</a> + <a ng-href="#testReportsById">Search Vnf Reports By ID</a> + </div> + </div> + <li><div class="dropdown"> + <button class="dropbtn">DEVICE CONFIGRUATION</button> + <div class="dropdown-content"> + <a ng-href="#deviceConfig">Backup Config</a> + <a ng-href="#applyConfig">Apply Config</a> + <a ng-href="#compareConfig">Compare Config</a> + </div> + </div> + </li> + + </ul> + </div> +</nav> +</div>
\ No newline at end of file |