Moved the hard coded values to constant file

Created a constant file called app-contants and moved the harded coded values in builArtifact component to app-constant
file

Issue-ID: APPC-1054
Change-Id: I2641579cdb6b20f2c51ce4f4d3ca2bd0667d2e81
Signed-off-by: Arundathi <arundpil@in.ibm.com>
diff --git a/src/app/vnfs/build-artifacts/build-artifacts.component.ts b/src/app/vnfs/build-artifacts/build-artifacts.component.ts
index ba88717..ca45e61 100644
--- a/src/app/vnfs/build-artifacts/build-artifacts.component.ts
+++ b/src/app/vnfs/build-artifacts/build-artifacts.component.ts
@@ -2,6 +2,8 @@
 ============LICENSE_START==========================================
 ===================================================================
 Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
 ===================================================================
 
 Unless otherwise specified, all software contained herein is licensed
@@ -24,6 +26,7 @@
 import { Router } from '@angular/router';
 import * as _ from 'underscore';
 import { NotificationsService } from 'angular2-notifications';
+import { appConstants } from '../../../constants/app-constants';
 
 
 @Component({ selector: 'app-build-design', templateUrl: './build-artifacts.component.html', styleUrls: ['./build-artifacts.component.css'] })
@@ -33,28 +36,11 @@
     public refDataRequiredFiels: boolean = false;
     public refList;
 
-    constructor (private router: Router, private notificationsService: NotificationsService) {
+    constructor(private router: Router, private notificationsService: NotificationsService) {
     }
 
     ngOnInit() {
-        this.tabs = [
-            {
-                type: 'dropdown',
-                name: 'Reference Data',
-                url: 'references',
-            }, {
-                name: 'Template',
-                type: 'dropdown',
-                url: 'templates/myTemplates',
-            }, {
-                name: 'Parameter Definition',
-                type: 'dropdown',
-                url: 'parameterDefinitions/create'
-            } /*, {
-        name: "Test",
-        url: 'test',
-      }*/
-        ];
+        this.tabs = appConstants.tabs;
     }
 
     public setAllowOtherUpdates(allowOtherUpdates: boolean) {
@@ -85,9 +71,9 @@
 
     public getRefData(referenceList) {
         this.refList = referenceList;
-        if(referenceList.action !== '' && referenceList.scope['vnf-type'] !== '' && referenceList['device-protocol'] !== '') {
-            if(referenceList.action === 'ConfigScaleOut') {
-                if(referenceList.hasOwnProperty('template-id') && referenceList['template-id'] !== undefined && referenceList['template-id'] != '')
+        if (referenceList.action !== appConstants.Actions.blank && referenceList.scope['vnf-type'] !== '' && referenceList['device-protocol'] !== appConstants.DeviceProtocols.blank) {
+            if (referenceList.action === appConstants.Actions.configScaleOut) {
+                if (referenceList.hasOwnProperty('template-id') && referenceList['template-id'] !== undefined && referenceList['template-id'] != '')
                     this.refDataRequiredFiels = true;
             }
             else this.refDataRequiredFiels = true;
@@ -97,21 +83,21 @@
         }
     }
 
-     public checkRefDataReqFields() {
-        if(this.refList.action == '' && this.refList.scope['vnf-type'] == '' && this.refList['device-protocol'] == '') {
-            this.notificationsService.error('Error', 'Select Valid Action, VNF Type, Device Protocol');
-        } 
-        else if(this.refList.action == '') {
-            this.notificationsService.error('Error', 'Select a valid Action');
-        } 
-        else if(this.refList.scope['vnf-type'] == '') {
-            this.notificationsService.error('Error', 'Select a valid VNF Type');
-        } 
-        else if(this.refList['device-protocol'] == '') {
-            this.notificationsService.error('Error', 'Select a valid Device Protocol');
-        } 
-        else if (this.refList.action === 'ConfigScaleOut') {
-            this.notificationsService.error('Error', 'Select a valid Template Identifier');
+    public checkRefDataReqFields() {
+        if (this.refList.action == appConstants.Actions.blank && this.refList.scope['vnf-type'] == '' && this.refList['device-protocol'] == appConstants.DeviceProtocols.blank) {
+            this.notificationsService.error(appConstants.errors.error, appConstants.errors.noActionVnfProtocolError);
+        }
+        else if (this.refList.action == appConstants.Actions.blank) {
+            this.notificationsService.error(appConstants.errors.error, appConstants.errors.noActionError);
+        }
+        else if (this.refList.scope['vnf-type'] == '') {
+            this.notificationsService.error(appConstants.errors.error, appConstants.errors.noVnfTypeError);
+        }
+        else if (this.refList['device-protocol'] == appConstants.DeviceProtocols.blank) {
+            this.notificationsService.error(appConstants.errors.error, appConstants.errors.noDeviceProtocolError);
+        }
+        else if (this.refList.action === appConstants.Actions.configScaleOut) {
+            this.notificationsService.error(appConstants.errors.error, appConstants.errors.noValidTemplateIdentifierError);
         }
     }
 
diff --git a/src/constants/app-constants.ts b/src/constants/app-constants.ts
new file mode 100644
index 0000000..dc39068
--- /dev/null
+++ b/src/constants/app-constants.ts
@@ -0,0 +1,78 @@
+/*
+============LICENSE_START==========================================
+===================================================================
+Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
+===================================================================
+
+Unless otherwise specified, all software contained herein is licensed
+under the Apache License, Version 2.0 (the License);
+you may not use this software 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============================================
+*/
+
+
+
+export const appConstants = {
+        "errors": {
+            "error": "Error",
+            "noActionVnfProtocolError": "Select Valid Action, VNF Type, Device Protocol",
+            "noActionError": "Select a valid Action",
+            "noVnfTypeError": "Select a valid VNF Type",
+            "noDeviceProtocolError": "Select a valid Device Protocol",
+            "noValidTemplateIdentifierError": "Select a valid Template Identifier"
+        },
+        "tabs": [
+            {
+                type: 'dropdown',
+                name: 'Reference Data',
+                url: 'references',
+            }, {
+                name: 'Template',
+                type: 'dropdown',
+                url: 'templates/myTemplates',
+            }, {
+                name: 'Parameter Definition',
+                type: 'dropdown',
+                url: 'parameterDefinitions/create'
+            }
+        ],
+        "Actions" : {
+            "blank" : '',
+            "configure" : "Configure",
+            "ConfigModify" : "ConfigModify",
+            "configBackup" : "ConfigBackup",
+            "configRestore" : "ConfigRestore",
+            "getRunningConfig" : "GetRunningConfig",
+            "healthCheck" : "HealthCheck",
+            "startApplication" : "StartApplication",
+            "stopApplication" : "StopApplication",
+            "quiesceTraffic" : "QuiesceTraffic",
+            "resumeTraffic" : "ResumeTraffic",
+            "upgradeBackout" : "UpgradeBackout",
+            "upgradeBackup" : "UpgradeBackup",
+            "upgradePostCheck" : "UpgradePostCheck",
+            "upgradePreCheck" : "UpgradePreCheck",
+            "upgradeSoftware" : "UpgradeSoftware",
+            "openStackActions" : "OpenStack Actions",
+            "configScaleOut" : "ConfigScaleOut"
+        },
+        "DeviceProtocols" : {
+            "blank" : '',
+            "ansible" : "ANSIBLE",
+            "chef" : "CHEF",
+            "netconfXML" : "NETCONF-XML",
+            "rest" : "REST",
+            "cli" : "CLI",
+            "restConf" : "RESTCONF"
+        }
+};
\ No newline at end of file