Review comment incorporated
Gui2 Intent and Processor View

Change-Id: Ieb3b2c818f31ee7bff73b26cd5b7150c8f6fb92c
diff --git a/web/gui2/src/main/webapp/app/fw/layer/confirm/confirm.component.css b/web/gui2/src/main/webapp/app/fw/layer/confirm/confirm.component.css
index 80243b0..b097534 100644
--- a/web/gui2/src/main/webapp/app/fw/layer/confirm/confirm.component.css
+++ b/web/gui2/src/main/webapp/app/fw/layer/confirm/confirm.component.css
@@ -22,6 +22,12 @@
     padding: 12px;
 }
 
+#app-dialog h3 {
+    display: inline-block;
+    font-weight: bold;
+    font-size: 18pt;
+}
+
 #app-dialog p {
     font-size: 12pt;
 }
diff --git a/web/gui2/src/main/webapp/app/fw/layer/confirm/confirm.component.html b/web/gui2/src/main/webapp/app/fw/layer/confirm/confirm.component.html
index a3b76f4..a8e2489 100644
--- a/web/gui2/src/main/webapp/app/fw/layer/confirm/confirm.component.html
+++ b/web/gui2/src/main/webapp/app/fw/layer/confirm/confirm.component.html
@@ -14,8 +14,9 @@
 ~ limitations under the License.
 -->
 <div id="app-dialog" class="floatpanel dialog" [@confirmDlgState]="message!==''">
+    <h3> {{ lionFn('dlg_confirm_action') }} </h3>
     <p>{{ message }}</p>
     <p *ngIf="warning" class="warning strong">{{ warning }}</p>
     <div tabindex="10" class="dialog-button" (click)="choice(true)">OK</div>
     <div tabindex="11" class="dialog-button" (click)="choice(false)">Cancel</div>
-</div>
+</div>
\ No newline at end of file
diff --git a/web/gui2/src/main/webapp/app/fw/layer/confirm/confirm.component.spec.ts b/web/gui2/src/main/webapp/app/fw/layer/confirm/confirm.component.spec.ts
index 9a88dc9..bf13589 100644
--- a/web/gui2/src/main/webapp/app/fw/layer/confirm/confirm.component.spec.ts
+++ b/web/gui2/src/main/webapp/app/fw/layer/confirm/confirm.component.spec.ts
@@ -17,6 +17,7 @@
 import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
 import { DebugElement } from '@angular/core';
 import { By } from '@angular/platform-browser';
+import { LionService } from '../../../fw/util/lion.service';
 
 import { ConsoleLoggerService } from '../../../consolelogger.service';
 import { LogService } from '../../../log.service';
@@ -29,6 +30,14 @@
     let log: LogService;
     let component: ConfirmComponent;
     let fixture: ComponentFixture<ConfirmComponent>;
+    const bundleObj = {
+        'core.view.App': {
+            test: 'test1'
+        }
+    };
+    const mockLion = (key) => {
+        return bundleObj[key] || '%' + key + '%';
+    };
 
     beforeEach(async(() => {
         log = new ConsoleLoggerService();
@@ -37,6 +46,15 @@
             declarations: [ ConfirmComponent ],
             providers: [
                 { provide: LogService, useValue: log },
+                {
+                    provide: LionService, useFactory: (() => {
+                        return {
+                            bundle: ((bundleId) => mockLion),
+                            ubercache: new Array(),
+                            loadCbs: new Map<string, () => void>([])
+                        };
+                    })
+                },
             ]
         });
     }));
@@ -51,6 +69,13 @@
         expect(component).toBeTruthy();
     });
 
+    it('should have a h3 inside a div#app-dialog', () => {
+        const appDe: DebugElement = fixture.debugElement;
+        const divDe = appDe.query(By.css('div#app-dialog h3'));
+        const div: HTMLElement = divDe.nativeElement;
+        expect(div.textContent).toEqual(' %dlg_confirm_action% ');
+    });
+
     it('should have a div.dialog-button inside a div#app-dialog', () => {
         const appDe: DebugElement = fixture.debugElement;
         const divDe = appDe.query(By.css('div#app-dialog div.dialog-button'));
diff --git a/web/gui2/src/main/webapp/app/fw/layer/confirm/confirm.component.ts b/web/gui2/src/main/webapp/app/fw/layer/confirm/confirm.component.ts
index cd6aa7a..5c5bad2 100644
--- a/web/gui2/src/main/webapp/app/fw/layer/confirm/confirm.component.ts
+++ b/web/gui2/src/main/webapp/app/fw/layer/confirm/confirm.component.ts
@@ -16,6 +16,7 @@
 import { Component, Input, Output, EventEmitter } from '@angular/core';
 import { trigger, state, style, animate, transition } from '@angular/animations';
 import { LogService } from '../../../log.service';
+import { LionService } from '../../../fw/util/lion.service';
 
 /**
  * ONOS GUI -- Layer -- Confirm Component
@@ -55,14 +56,19 @@
     ]
 })
 export class ConfirmComponent {
+
+    lionFn; // Function
+
     @Input() message: string;
     @Input() warning: string;
     @Output() chosen: EventEmitter<boolean> = new EventEmitter();
 
     constructor(
         private log: LogService,
+        private lion: LionService,
     ) {
         this.log.debug('ConfirmComponent constructed');
+        this.doLion();
     }
 
     /**
@@ -71,4 +77,11 @@
     choice(chosen: boolean): void {
         this.chosen.emit(chosen);
     }
+
+    /**
+     * Read the LION bundle for App to get confirm dialouge header
+     */
+    doLion() {
+        this.lionFn = this.lion.bundle('core.view.App');
+    }
 }
diff --git a/web/gui2/src/main/webapp/app/fw/nav/nav/nav.component.html b/web/gui2/src/main/webapp/app/fw/nav/nav/nav.component.html
index f807c9a..27d4a60 100644
--- a/web/gui2/src/main/webapp/app/fw/nav/nav/nav.component.html
+++ b/web/gui2/src/main/webapp/app/fw/nav/nav/nav.component.html
@@ -19,6 +19,9 @@
     <a (click)="ns.hideNav()" routerLink="/app" routerLinkActive="active">
         <onos-icon iconId="nav_apps"></onos-icon> Apps</a>
 
+    <a (click)="ns.hideNav()" routerLink="/processor" routerLinkActive="active">
+        <onos-icon iconId="nav_processors"></onos-icon> Packet Processors</a>
+
     <div class="nav-hdr">{{ lionFn('cat_network') }}</div>
 
     <a (click)="ns.hideNav()" routerLink="/device" routerLinkActive="active">
@@ -30,6 +33,9 @@
     <a (click)="ns.hideNav()" routerLink="/host" routerLinkActive="active">
         <onos-icon iconId="nav_hosts"></onos-icon> Hosts</a>
 
+    <a (click)="ns.hideNav()" routerLink="/intent" routerLinkActive="active">
+        <onos-icon iconId="nav_intents"></onos-icon> Intents</a>
+
     <a (click)="ns.hideNav()" routerLink="/tunnel" routerLinkActive="active">
         <onos-icon iconId="nav_tunnels"></onos-icon> Tunnels</a>