Fix Policy Instance Dialog Component 68/5568/1
authorLathish <lathishbabu.ganesan@est.tech>
Mon, 1 Feb 2021 23:10:19 +0000 (23:10 +0000)
committerLathish <lathishbabu.ganesan@est.tech>
Mon, 1 Feb 2021 23:10:23 +0000 (23:10 +0000)
Issue-ID: NONRTRIC-420
Change-Id: I20580aced751be3accd027ca39c56607fb698479
Signed-off-by: Lathish <lathishbabu.ganesan@est.tech>
nonrtric-gateway/config/application.yaml
webapp-frontend/.vscode/launch.json
webapp-frontend/src/app/interceptor.mock.ts
webapp-frontend/src/app/policy-control/no-type-policy-instance-dialog.component.ts
webapp-frontend/src/app/policy-control/policy-instance-dialog.component.ts
webapp-frontend/src/app/policy-control/policy-instance.component.ts
webapp-frontend/src/app/services/policy/policy.service.ts

index ce50c44..cf3c358 100644 (file)
@@ -33,7 +33,7 @@ spring:
       - id: policies
         uri: https://localhost:8433
         predicates:
-        - Path=/a1-policy/v2/policies
+        - Path=/a1-policy/v2/policies/**
 management:
   endpoint:
     gateway:
index a67e931..9d1a541 100644 (file)
@@ -5,7 +5,7 @@
             "type": "chrome",
             "request": "launch",
             "name": "Launch Chrome against localhost",
-            "url": "http://localhost:9876",
+            "url": "http://localhost:4200",
             "webRoot": "${workspaceFolder}"
         },
         {
index de521ca..8a1c3ab 100644 (file)
@@ -36,59 +36,59 @@ import * as rics from './mock/rics.json';
 
 const urls = [
     {
-        url: 'a1-policy/v2/policy-types',
+        url: '/a1-policy/v2/policy-types',
         json: policytypesList
     },
     {
-        url: 'a1-policy/v2/policy-types/',
+        url: '/a1-policy/v2/policy-types/',
         json: policytypes1
     },
     {
-        url: 'a1-policy/v2/policy-types/1',
+        url: '/a1-policy/v2/policy-types/1',
         json: policytypes1
     },
     {
-        url: 'a1-policy/v2/policies?policytype_id=',
+        url: '/a1-policy/v2/policies?policytype_id=',
         json: policies
     },
     {
-        url: 'a1-policy/v2/policies?policytype_id=1',
+        url: '/a1-policy/v2/policies?policytype_id=1',
         json: policies
     },
     {
-        url: 'a1-policy/v2/policies/2000',
+        url: '/a1-policy/v2/policies/2000',
         json: policyinstances1
     },
     {
-        url: 'a1-policy/v2/policies/2100',
+        url: '/a1-policy/v2/policies/2100',
         json: policyinstances2
     },
     {
-        url: 'a1-policy/v2/policies/2000/status',
+        url: '/a1-policy/v2/policies/2000/status',
         json: policyinstances1Status
     },
     {
-        url: 'a1-policy/v2/policies/2100/status',
+        url: '/a1-policy/v2/policies/2100/status',
         json: policyinstances2Status
     },
     {
-        url: 'a1-policy/v2/policies/2000?type=',
+        url: '/a1-policy/v2/policies/2000?type=',
         json: policyinstanceedit
     },
     {
-        url: 'a1-policy/v2/policies/2100?type=',
+        url: '/a1-policy/v2/policies/2100?type=',
         json: policyinstanceedit
     },
     {
-        url: 'a1-policy/v2/policies/2000?type=1',
+        url: '/a1-policy/v2/policies/2000?type=1',
         json: policyinstanceedit
     },
     {
-        url: 'a1-policy/v2/policies/2100?type=1',
+        url: '/a1-policy/v2/policies/2100?type=1',
         json: policyinstanceedit
     },
     {
-        url: 'a1-policy/v2/policies/2000?ric=ric1&type=1',
+        url: '/a1-policy/v2/policies/2000?ric=ric1&type=1',
         json: ''
     },
     {
index 8c2a114..976a4e4 100644 (file)
@@ -76,7 +76,7 @@ export class NoTypePolicyInstanceDialogComponent implements OnInit {
 
   onSubmit() {
     if (this.policyInstanceId == null) {
-        this.policyInstanceId = uuid.v4();
+      this.policyInstanceId = uuid.v4();
     }
     const self: NoTypePolicyInstanceDialogComponent = this;
     this.policySvc.putPolicy('', this.policyInstanceId, this.policyJsonTextArea.value, this.ric).subscribe(
@@ -106,13 +106,13 @@ export class NoTypePolicyInstanceDialogComponent implements OnInit {
       });
   }
 
private formatJsonString(jsonToFormat: string) {
-   return JSON.stringify(JSON.parse(jsonToFormat), null, 2);
- }
 private formatJsonString(jsonToFormat: any) {
+    return JSON.stringify(jsonToFormat, null, 2);
 }
 
- formatJsonInput() {
-   this.policyJson = this.formatJsonString(this.policyJsonTextArea.value);
- }
 formatJsonInput() {
+    this.policyJson = this.formatJsonString(JSON.parse(this.policyJsonTextArea.value));
 }
 }
 
 export function jsonValidator(): ValidatorFn {
index 319efaa..47c95b9 100644 (file)
@@ -30,6 +30,7 @@ import { NotificationService } from './../services/ui/notification.service';
 import { UiService } from '../services/ui/ui.service';
 import { HttpErrorResponse } from '@angular/common/http';
 import { FormGroup, FormControl, Validators } from '@angular/forms';
+import { ChangeDetectorRef } from '@angular/core';
 
 
 @Component({
@@ -103,6 +104,7 @@ export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit {
     }
 
     constructor(
+        private cdr: ChangeDetectorRef,
         private dataService: PolicyService,
         private errorService: ErrorDialogService,
         private notificationService: NotificationService,
@@ -113,7 +115,7 @@ export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit {
         this.policyInstanceId = data.instanceId;
         this.policyTypeName = data.name;
         this.jsonSchemaObject = data.createSchema;
-        this.jsonObject = this.parseJson(data.instanceJson);
+        this.jsonObject = data.instanceJson;
         this.ric = data.ric;
     }
 
@@ -134,6 +136,7 @@ export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit {
     }
 
     ngAfterViewInit() {
+        this.cdr.detectChanges();
     }
 
     get ricSelector() { return this.instanceForm.get('ricSelector'); }
@@ -148,7 +151,7 @@ export class PolicyInstanceDialogComponent implements OnInit, AfterViewInit {
             {
                 next(_) {
                     self.notificationService.success('Policy ' + self.policyTypeName + ':' + self.policyInstanceId +
-                    ' submitted');
+                        ' submitted');
                 },
                 error(error: HttpErrorResponse) {
                     self.errorService.displayError('Submit failed: ' + error.error);
index bc8aa32..b8861d6 100644 (file)
@@ -59,7 +59,7 @@ export class PolicyInstanceComponent implements OnInit, AfterViewInit {
     }
 
     ngOnInit() {
-        this.instanceDataSource = new PolicyInstanceDataSource(this.policySvc, this.sort, this.notificationService,this.policyTypeSchema);
+        this.instanceDataSource = new PolicyInstanceDataSource(this.policySvc, this.sort, this.notificationService, this.policyTypeSchema);
         this.expanded.subscribe((isExpanded: boolean) => this.onExpand(isExpanded));
         this.ui.darkModeState.subscribe((isDark) => {
             this.darkMode = isDark;
@@ -77,28 +77,28 @@ export class PolicyInstanceComponent implements OnInit, AfterViewInit {
     }
 
     private isSchemaEmpty(): boolean {
-        return Object.keys(this.policyTypeSchema.schemaObject).length === 0;
+        return this.policyTypeSchema.schemaObject === '{}';
     }
 
     modifyInstance(instance: PolicyInstance): void {
-        this.policySvc.getPolicy(this.policyTypeSchema.name, instance.policy_id).subscribe(
+        this.policySvc.getPolicyInstance(instance.policy_id).subscribe(
             (refreshedJson: any) => {
-                instance.policy_data = JSON.stringify(refreshedJson);
+                instance = refreshedJson;
                 if (this.isSchemaEmpty()) {
                     this.dialog.open(
                         NoTypePolicyInstanceDialogComponent,
                         getPolicyDialogProperties(this.policyTypeSchema, instance, this.darkMode)).afterClosed().subscribe(
-                           (_: any) => {
+                            (_: any) => {
                                 this.instanceDataSource.getPolicyInstances();
-                           }
+                            }
                         );
                 } else {
                     this.dialog.open(
                         PolicyInstanceDialogComponent,
                         getPolicyDialogProperties(this.policyTypeSchema, instance, this.darkMode)).afterClosed().subscribe(
-                           (_: any) => {
+                            (_: any) => {
                                 this.instanceDataSource.getPolicyInstances();
-                           }
+                            }
                         );
 
                 }
index dc71a83..50c5449 100644 (file)
@@ -33,8 +33,8 @@ import { ControlpanelSuccessTransport } from '../../interfaces/controlpanel.type
 })
 export class PolicyService {
 
-    private apiVersion2 = 'v2'
-    private basePath = '/a1-policy/';
+    private apiVersion2 = '/v2'
+    private basePath = '/a1-policy';
     policyTypesPath = 'policy-types';
     policyPath = 'policies';