merge from ecomp a88f0072 - Modern UI

Issue-ID: VID-378
Change-Id: Ibcb23dd27f550cf32ce2fe0239f0f496ae014ff6
Signed-off-by: Ittay Stern <ittay.stern@att.com>
diff --git a/vid-webpack-master/src/app/shared/models/serviceInstance.ts b/vid-webpack-master/src/app/shared/models/serviceInstance.ts
index a952430..38b4ac3 100644
--- a/vid-webpack-master/src/app/shared/models/serviceInstance.ts
+++ b/vid-webpack-master/src/app/shared/models/serviceInstance.ts
@@ -1,8 +1,11 @@
 import {VnfInstance} from "./vnfInstance";
+import {NetworkInstance} from "./networkInstance";
+import {NodeInstance} from "./nodeInstance";
+import {VnfGroupInstance} from "./vnfGroupInstance";
+import {VnfMember} from "./VnfMember";
 
-export class ServiceInstance {
-  instanceName: string;
-  isUserProvidedNaming: boolean;
+export class ServiceInstance extends NodeInstance{
+  isEcompGeneratedNaming: boolean;
   globalSubscriberId: string;
   productFamilyId: string;
   subscriptionServiceType: string;
@@ -16,13 +19,37 @@
   owningEntityName: string;
   pause: boolean;
   bulkSize: number;
-  vnfs: { [vnf_module_model_name: string] : VnfInstance; };
-  instanceParams: { [key: string] : string; };
-  rollbackOnFailure : boolean;
-  subscriberName : string;
+  vnfs: { [vnf_module_model_name: string]: VnfInstance; };
+  vnfGroups : {[vnf_module_model_name: string]: VnfGroupInstance; };
+  networks: { [vnf_module_model_name: string]: NetworkInstance; };
+  isDirty : boolean;
+  instanceParams: {[key: string]: string}[];
+  rollbackOnFailure: boolean;
+  subscriberName: string;
+  validationCounter: number;
+  existingNames:  {[key: string] : any};
+  modelInavariantId?: string;
+  existingVNFCounterMap : { [vnf_module_model_name: string]: number; };
+  existingVnfGroupCounterMap : { [vnf_group_module_model_name: string]: number; };
+  existingNetworksCounterMap : { [network_module_model_name: string]: number; };
+  optionalGroupMembersMap?: { [path: string]: VnfMember[]; };
+  isFailed: boolean;
+  statusMessage: string;
 
   constructor() {
+    super();
+    this.isDirty = false;
     this.vnfs = {};
-    this.instanceParams = {};
+    this.instanceParams = [];
+    this.validationCounter = 0;
+    this.existingNames = {};
+    this.existingVNFCounterMap = {};
+    this.existingVnfGroupCounterMap = {};
+    this.existingNetworksCounterMap = {};
+    this.optionalGroupMembersMap = {};
+    this.networks = {};
+    this.vnfGroups = {};
+    this.bulkSize = 1;
   }
+
 }