aboutsummaryrefslogtreecommitdiffstats
path: root/configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views
diff options
context:
space:
mode:
authorDushyantSinghThakur <dt00503496@techmahindra.com>2018-09-06 12:46:04 +0530
committerDan Timoney <dt5972@att.com>2018-09-12 13:10:46 +0000
commit43d4b00848ebd0567b020fe219f07d4f7049ff0b (patch)
treef5c09d0006348c82a94693605349e79db4889b71 /configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views
parent4e2db0d6e56bc19425e6afa3efc7011820942e9e (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/views')
-rw-r--r--configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/footer.html3
-rw-r--r--configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-applyConfig.jsp48
-rw-r--r--configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-backupConfig.html39
-rw-r--r--configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-compareConfig.html85
-rw-r--r--configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-deviceConfig.html332
-rw-r--r--configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-deviceConfigView.html154
-rw-r--r--configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-validationTest.html135
-rw-r--r--configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-versionCompare.html59
-rw-r--r--configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-viewReport.html90
-rw-r--r--configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/form-viewReportById.html122
-rw-r--r--configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/header.html3
-rw-r--r--configbackuprestore/vnfconfigbackupservice/src/main/webapp/static/views/tabs.html25
12 files changed, 1095 insertions, 0 deletions
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;">&nbsp;&nbsp;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}}&nbsp;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;">&nbsp;&nbsp;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;">&nbsp;&nbsp;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}}&nbsp;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()">&laquo;</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()">&raquo;</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;">&nbsp;&nbsp;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;">&nbsp;&nbsp;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;">&nbsp;&nbsp;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;">&nbsp;&nbsp;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'}}">&#8594;</span><span class="{{(test.status == 'unreachable') ? 'arrowRed':'arrowGreen'}}">&#8594;</span><span class="{{(test.status == 'unreachable') ? 'arrowRed':'arrowGreen'}}">&#8594;
+ <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'>&#8594;</span>
+ <label class="labeltext">UnReachable</label>&nbsp;&nbsp;
+ <span class='arrowGreen'>&#8594;</span>
+ <label class="labeltext">Reachable</label>&nbsp;&nbsp;
+ <span><img src='static/images/success.png' width=30 height=25></span>
+ <label class="labeltext">Pass</label>&nbsp;&nbsp;
+ <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;">&nbsp;&nbsp;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;">&nbsp;&nbsp;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()">&laquo;</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()">&raquo;</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;">&nbsp;&nbsp;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}}&nbsp;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()">&laquo;</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()">&raquo;</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