private String category;
 
     private String subcategory;
-
+    
+    private String customizationUuid;
+    
     private List<TemplateInput> inputs;
-
+    
     private List<ServiceTemplateInput> nestedTemplates;
 
     public ServiceTemplateInput(
             String description,
             String category,
             String subcategory,
+            String customizationUuid,
             List<TemplateInput> inputs) {
         this.invariantUUID = invariantUUID;
         this.uuid = uuid;
         this.description = description;
         this.category = category;
         this.subcategory = subcategory;
+        this.customizationUuid = customizationUuid;
         this.inputs = inputs;
         this.nestedTemplates = new ArrayList<>();
     }
     public String getSubcategory() {
         return subcategory;
     }
+    
+    public String getCustomizationUuid() {
+               return customizationUuid;
+       }
 
-    public List<TemplateInput> getInputs() {
+       public List<TemplateInput> getInputs() {
         return inputs;
     }
 
                 Objects.equals(description, that.description) &&
                 Objects.equals(category, that.category) &&
                 Objects.equals(subcategory, that.subcategory) &&
+                Objects.equals(customizationUuid, that.customizationUuid) &&
                 Objects.equals(inputs, that.inputs) &&
                 Objects.equals(nestedTemplates, that.nestedTemplates);
     }
 
     @Override
     public int hashCode() {
-        return Objects.hash(invariantUUID, uuid, name, type, version, description, category, subcategory, inputs, nestedTemplates);
+        return Objects.hash(invariantUUID, uuid, name, type, version, description, category, subcategory,customizationUuid, inputs, nestedTemplates);
     }
 
     @Override
                 .add("description", description)
                 .add("category", category)
                 .add("subcategory", subcategory)
+                .add("customizationUuid", customizationUuid)
                 .add("inputs", inputs)
                 .add("nestedTemplates", nestedTemplates)
                 .toString();
 
-/*\r
+/**\r
  * Copyright (C) 2017 CMCC, Inc. and others. All rights reserved.\r
  *\r
  * Licensed under the Apache License, Version 2.0 (the "License");\r
 \r
     public static final String DATE_FORMAT= "yyyy-MM-dd HH:mm:ss";\r
 \r
+    public static final String RegEX_DATE_FORMAT = "[^0-9-:]";\r
 \r
 }\r
 
  */
 package org.onap.usecaseui.server.controller.lcm;
 
+import java.util.List;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
 import org.onap.usecaseui.server.service.lcm.ServiceInstanceService;
 import org.onap.usecaseui.server.service.lcm.domain.aai.bean.ServiceInstance;
+import org.onap.usecaseui.server.util.UuiCommonUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.context.annotation.EnableAspectJAutoProxy;
 import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.ResponseBody;
 
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import java.util.List;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 
 @Controller
 @org.springframework.context.annotation.Configuration
                 "list service instances with [customerId=%s, serviceType=%s]",
                 customerId,
                 serviceType));
-
         return serviceInstanceService.listServiceInstances(customerId, serviceType);
     }
+    @ResponseBody
+    @RequestMapping(value = {"/uui-lcm/getServiceInstanceById"}, method = RequestMethod.GET , produces = "application/json")
+    public String getServiceInstanceById(HttpServletRequest request){
+        String customerId = request.getParameter("customerId");
+        String serviceType = request.getParameter("serviceType");
+        String serviceId = request.getParameter("serviceId");
+        JSONArray result = new JSONArray();
+        String servicesString=serviceInstanceService.getRelationShipData(customerId, serviceType, serviceId);
+        if(!UuiCommonUtil.isNotNullOrEmpty(servicesString)){
+               return result.toString();
+        }
+        JSONObject services = JSONObject.parseObject(servicesString);
+        JSONArray relations =JSONObject.parseArray(JSONObject.parseObject(services.getString("relationship-list")).getString("relationship"));
+        for (int i = 0; i < relations.size(); i++) {
+               JSONObject relation = JSONObject.parseObject(relations.getString(i));
+               JSONArray relationShipData = JSONObject.parseArray(relation.getString("relationship-data"));
+               for (int j = 0; j < relationShipData.size(); j++) {
+                       JSONObject res = new JSONObject();
+                       JSONObject data = JSONObject.parseObject(relationShipData.getString(j));
+                       String relationshipKey=data.getString("relationship-key");
+                       String netWorkServiceId=data.getString("relationship-value");
+                       if("service-instance.service-instance-id".equals(relationshipKey)){
+                               JSONObject netWorkSerSring=JSONObject.parseObject(serviceInstanceService.getRelationShipData(customerId, serviceType, netWorkServiceId));
+                               if("NetworkService".equals(netWorkSerSring.get("service-type"))){
+                                       res.put("netWorkServiceId", netWorkSerSring.get("service-instance-id"));
+                                       res.put("netWorkServiceName", netWorkSerSring.get("service-instance-name"));
+                                       res.put("scaleType","");
+                                       res.put("aspectId","");
+                                       res.put("numberOfSteps","");
+                                       res.put("scalingDirection","");
+                                       result.add(res);
+                               }
+                       }
+               }
+               }
+        return result.toString() ;
+    }
 }
 
 import org.onap.usecaseui.server.service.lcm.ServiceLcmService;
 import org.onap.usecaseui.server.service.lcm.domain.so.bean.DeleteOperationRsp;
 import org.onap.usecaseui.server.service.lcm.domain.so.bean.OperationProgressInformation;
+import org.onap.usecaseui.server.service.lcm.domain.so.bean.SaveOrUpdateOperationRsp;
 import org.onap.usecaseui.server.service.lcm.domain.so.bean.ServiceOperation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
      */
     @ResponseBody
     @RequestMapping(value = {"/uui-lcm/services/scaleServices/{serviceId}"}, method = RequestMethod.POST , produces = "application/json")
-    public DeleteOperationRsp scaleServices(@PathVariable(value = "serviceId") String serviceId, HttpServletRequest request){
+    public SaveOrUpdateOperationRsp scaleServices(@PathVariable(value = "serviceId") String serviceId, HttpServletRequest request){
         return serviceLcmService.scaleService(serviceId, request);
     }
     
      */
     @ResponseBody
     @RequestMapping(value = {"/uui-lcm/services/updateService/{serviceId}"}, method = RequestMethod.PUT , produces = "application/json")
-    public DeleteOperationRsp updateServices(@PathVariable(value = "serviceId") String serviceId, HttpServletRequest request){
-        return serviceLcmService.scaleService(serviceId, request);
+    public SaveOrUpdateOperationRsp updateServices(@PathVariable(value = "serviceId") String serviceId, HttpServletRequest request){
+        return serviceLcmService.updateService(serviceId, request);
     }
 }
 
-/*
+/**
  * Copyright (C) 2017 CMCC, Inc. and others. All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
 
-/*\r
+/**\r
  * Copyright (C) 2017 CMCC, Inc. and others. All rights reserved.\r
  *\r
  * Licensed under the Apache License, Version 2.0 (the "License");\r
 
-/*
+/**
  * Copyright (C) 2017 CMCC, Inc. and others. All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
 
-/*
+/**
  * Copyright (C) 2017 CMCC, Inc. and others. All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
 
 public interface ServiceInstanceService {
 
     List<ServiceInstance> listServiceInstances(String customerId, String serviceType);
+    
+    String getRelationShipData(String customerId, String serviceType,String serviceId );
 }
 
 
 import org.onap.usecaseui.server.service.lcm.domain.so.bean.DeleteOperationRsp;
 import org.onap.usecaseui.server.service.lcm.domain.so.bean.OperationProgressInformation;
+import org.onap.usecaseui.server.service.lcm.domain.so.bean.SaveOrUpdateOperationRsp;
 import org.onap.usecaseui.server.service.lcm.domain.so.bean.ServiceOperation;
 
 import javax.servlet.http.HttpServletRequest;
 
     DeleteOperationRsp terminateService(String serviceId, HttpServletRequest request);
     
-    DeleteOperationRsp scaleService(String serviceId,HttpServletRequest request);
+    SaveOrUpdateOperationRsp scaleService(String serviceId,HttpServletRequest request);
     
-    DeleteOperationRsp updateService(String serviceId,HttpServletRequest request);
+    SaveOrUpdateOperationRsp updateService(String serviceId,HttpServletRequest request);
 }
 
 package org.onap.usecaseui.server.service.lcm.domain.aai;
 
 import org.onap.usecaseui.server.service.lcm.domain.aai.bean.*;
+
+import okhttp3.ResponseBody;
 import retrofit2.Call;
 import retrofit2.http.GET;
 import retrofit2.http.Headers;
     })
     @GET("/api/aai-externalSystem/v11/esr-thirdparty-sdnc-list")
     Call<SDNCControllerRsp> listSdncControllers();
+    
+    @Headers({
+        "X-TransactionId: 7777",
+        "X-FromAppId: uui",
+        "Authorization: Basic QUFJOkFBSQ==",
+        "Accept: application/json"
+       })
+       @GET("/api/aai-business/v11/customers/customer/{customerId}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{serviceId}")
+       Call<ResponseBody> getAAIServiceInstance(@Path("customerId") String customerId,@Path("service-type") String seviceType,@Path("serviceId") String serviceId);
 }
 
 import okhttp3.RequestBody;
 import org.onap.usecaseui.server.service.lcm.domain.so.bean.DeleteOperationRsp;
 import org.onap.usecaseui.server.service.lcm.domain.so.bean.OperationProgressInformation;
+import org.onap.usecaseui.server.service.lcm.domain.so.bean.SaveOrUpdateOperationRsp;
 import org.onap.usecaseui.server.service.lcm.domain.so.bean.ServiceOperation;
 import retrofit2.Call;
 import retrofit2.http.*;
         "Accept: application/json"
     })
        @POST("/ecomp/mso/infra/e2eServiceInstances/v3/{serviceId}/scale")
-       Call<DeleteOperationRsp> scaleService(@Path("serviceId") String serviceId, @Body RequestBody body);
+       Call<SaveOrUpdateOperationRsp> scaleService(@Path("serviceId") String serviceId, @Body RequestBody body);
     
     @Headers({
         "Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==",
         "Accept: application/json"
     })
        @PUT("/ecomp/mso/infra/e2eServiceInstances/v3/{serviceId}")
-       Call<DeleteOperationRsp> updateService(@Path("serviceId") String serviceId, @Body RequestBody body);
+       Call<SaveOrUpdateOperationRsp> updateService(@Path("serviceId") String serviceId, @Body RequestBody body);
 }
 
--- /dev/null
+/**
+ * Copyright 2016-2017 CMCC Corporation.
+ *
+ * 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.
+ */
+package org.onap.usecaseui.server.service.lcm.domain.so.bean;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+@JsonIgnoreProperties(ignoreUnknown=true)
+public class SaveOrUpdateOperationRsp {
+
+    private String operationId;
+
+    public String getOperationId() {
+        return operationId;
+    }
+
+    public void setOperationId(String operationId) {
+        this.operationId = operationId;
+    }
+}
 
 import org.slf4j.LoggerFactory;
 import org.springframework.context.annotation.EnableAspectJAutoProxy;
 import org.springframework.stereotype.Service;
+
+import okhttp3.ResponseBody;
 import retrofit2.Response;
 
 import java.io.IOException;
             throw new AAIException("AAI is not available.", e);
         }
     }
+
+       @Override
+       public String getRelationShipData(String customerId, String serviceType, String serviceId) {
+        try {
+            Response<ResponseBody> response = aaiService.getAAIServiceInstance(customerId, serviceType,serviceId).execute();
+            if (response.isSuccessful()) {
+               String result=new String(response.body().bytes());
+                return result;
+            } else {
+                logger.info(String.format("Can not get service instances[code=%s, message=%s]", response.code(), response.message()));
+                return "";
+            }
+        } catch (IOException e) {
+            logger.error("list services instances occur exception");
+            throw new AAIException("AAI is not available.", e);
+        }
+       }
 }
 
  */
 package org.onap.usecaseui.server.service.lcm.impl;
 
-import okhttp3.RequestBody;
+import static org.onap.usecaseui.server.util.RestfulServices.create;
+import static org.onap.usecaseui.server.util.RestfulServices.extractBody;
+
+import java.io.IOException;
+
+import javax.servlet.http.HttpServletRequest;
+
 import org.onap.usecaseui.server.service.lcm.ServiceLcmService;
 import org.onap.usecaseui.server.service.lcm.domain.so.SOService;
 import org.onap.usecaseui.server.service.lcm.domain.so.bean.DeleteOperationRsp;
 import org.onap.usecaseui.server.service.lcm.domain.so.bean.OperationProgressInformation;
+import org.onap.usecaseui.server.service.lcm.domain.so.bean.SaveOrUpdateOperationRsp;
 import org.onap.usecaseui.server.service.lcm.domain.so.bean.ServiceOperation;
 import org.onap.usecaseui.server.service.lcm.domain.so.exceptions.SOException;
+import org.onap.usecaseui.server.util.UuiCommonUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.context.annotation.EnableAspectJAutoProxy;
 import org.springframework.stereotype.Service;
-import retrofit2.Response;
 
-import javax.servlet.http.HttpServletRequest;
-import java.io.IOException;
-import java.util.Collections;
-
-import static org.onap.usecaseui.server.util.RestfulServices.create;
-import static org.onap.usecaseui.server.util.RestfulServices.extractBody;
+import okhttp3.RequestBody;
+import retrofit2.Response;
 
 @Service("ServiceLcmService")
 @org.springframework.context.annotation.Configuration
     @Override
     public ServiceOperation instantiateService(HttpServletRequest request) {
         try {
-            RequestBody requestBody = extractBody(request);
+               logger.info("so instantiate is starting");
+               RequestBody requestBody = extractBody(request);
             Response<ServiceOperation> response = soService.instantiateService(requestBody).execute();
+                       logger.info("so instantiate has finished");
             if (response.isSuccessful()) {
                 return response.body();
             } else {
-                logger.info(String.format("Can not instantiate service[code=%s, message=%s]", response.code(), response.message()));
+                logger.error(String.format("Can not instantiate service[code=%s, message=%s]", response.code(), response.message()));
                 throw new SOException("SO instantiate service failed!");
             }
-        } catch (IOException e) {
+        } catch (Exception e) {
             throw new SOException("SO Service is not available!", e);
         }
     }
             if (response.isSuccessful()) {
                 return response.body();
             } else {
-                logger.info(String.format("Can not query operation process[code=%s, message=%s]", response.code(), response.message()));
+                logger.error(String.format("Can not query operation process[code=%s, message=%s]", response.code(), response.message()));
                 throw new SOException("SO query operation process failed!");
             }
         } catch (IOException e) {
     @Override
     public DeleteOperationRsp terminateService(String serviceId, HttpServletRequest request) {
         try {
+               logger.info("so terminate is starting");
             RequestBody requestBody = extractBody(request);
             Response<DeleteOperationRsp> response = soService.terminateService(serviceId, requestBody).execute();
+                       logger.info("so terminate has finished");
             if (response.isSuccessful()) {
                 return response.body();
             } else {
-                logger.info(String.format("Can not terminate service[code=%s, message=%s]", response.code(), response.message()));
+                logger.error(String.format("Can not terminate service[code=%s, message=%s]", response.code(), response.message()));
                 throw new SOException("SO terminate service failed!");
             }
         } catch (IOException e) {
     }
 
        @Override
-       public DeleteOperationRsp scaleService(String serviceId, HttpServletRequest request) {
+       public SaveOrUpdateOperationRsp scaleService(String serviceId, HttpServletRequest request) {
                try {
+                       logger.info("so scale is finished");
                        RequestBody requestBody = extractBody(request);
-                       Response<DeleteOperationRsp> response = soService.scaleService(serviceId,requestBody).execute();
+                       Response<SaveOrUpdateOperationRsp> response = soService.scaleService(serviceId,requestBody).execute();
+                       logger.info("so scale has finished");
                        if(response.isSuccessful()){
                                return response.body();
                        }else{
-                logger.info(String.format("Can not terminate service[code=%s, message=%s]", response.code(), response.message()));
+                logger.error(String.format("Can not scaleService service[code=%s, message=%s]", response.code(), response.message()));
                 throw new SOException("SO terminate service failed!");
                        }
                } catch (IOException e) {
        }
 
        @Override
-       public DeleteOperationRsp updateService(String serviceId, HttpServletRequest request) {
+       public SaveOrUpdateOperationRsp updateService(String serviceId, HttpServletRequest request) {
                try {
+                       logger.info("so update is starting");
                        RequestBody requestBody = extractBody(request);
-                       Response<DeleteOperationRsp> response = soService.updateService(serviceId,requestBody).execute();
+                       Response<SaveOrUpdateOperationRsp> response = soService.updateService(serviceId,requestBody).execute();
+                       logger.info("so update has finished");
                        if(response.isSuccessful()){
                                return response.body();
                        }else{
-                logger.info(String.format("Can not terminate service[code=%s, message=%s]", response.code(), response.message()));
+                logger.error(String.format("Can not updateService service[code=%s, message=%s]", response.code(), response.message()));
                 throw new SOException("SO terminate service failed!");
                        }
                } catch (IOException e) {
 
         String description = tosca.getMetaData().getValue("description");
         String category = tosca.getMetaData().getValue("category");
         String subcategory = tosca.getMetaData().getValue("subcategory");
+        String customizationUuid = tosca.getMetaData().getValue("customizationUuid");
         if(subcategory == null) {
             subcategory = "";
         }
                 description,
                 category,
                 subcategory,
+                customizationUuid,
                 new ArrayList<>());
     }
 
         String description = nodeTemplate.getMetaData().getValue("description");
         String category = nodeTemplate.getMetaData().getValue("category");
         String subcategory = nodeTemplate.getMetaData().getValue("subcategory");
+        String customizationUuid = nodeTemplate.getMetaData().getValue("customizationUuid");
         if(subcategory == null) {
             subcategory = "";
         }
                 description,
                 category,
                 subcategory,
+                customizationUuid,
                 new ArrayList<>());
     }
 
 
-/*
+/**
  * Copyright (C) 2017 CMCC, Inc. and others. All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
 
  */
 package org.onap.usecaseui.server.util;
 
-import okhttp3.RequestBody;
-import okhttp3.MediaType;
-import retrofit2.Retrofit;
-import retrofit2.converter.jackson.JacksonConverterFactory;
+import java.io.IOException;
 
 import javax.servlet.ServletInputStream;
 import javax.servlet.http.HttpServletRequest;
-import java.io.IOException;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import okhttp3.MediaType;
+import okhttp3.RequestBody;
+import retrofit2.Retrofit;
+import retrofit2.converter.jackson.JacksonConverterFactory;
 
 public class RestfulServices {
 
+       private static final Logger logger = LoggerFactory.getLogger(RestfulServices.class);
+
     public static <T> T create(String baseUrl, Class<T> clazz) {
         Retrofit retrofit = new Retrofit.Builder()
                 .baseUrl(baseUrl)
             inStream = request.getInputStream();
             byte[] buffer = new byte[len];
             inStream.read(buffer, 0, len);
+            logger.info("The request body content is: "+new String(buffer));
             return RequestBody.create(MediaType.parse("application/json"), buffer);
         }finally {
             if (inStream != null) {
 
--- /dev/null
+/**
+ * Copyright 2016-2017 CMCC Corporation.
+ *
+ * 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.
+ */
+package org.onap.usecaseui.server.util;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.lang.reflect.Array;
+import java.util.Collection;
+import java.util.Map;
+import java.util.UUID;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class UuiCommonUtil {
+       
+       
+       private static final Logger logger = LoggerFactory.getLogger(UuiCommonUtil.class);
+       /**
+        * 
+         * getUUID
+         * 
+         * @Auther YYY
+         * @Date   2018/4/26
+         * @Title: getUUID
+         * @Description: 
+         * @return
+        */
+       public static String getUUID() {
+               UUID uuid = UUID.randomUUID();
+               String str = uuid.toString();
+               return str.substring(0, 8) + str.substring(9, 13)
+                               + str.substring(14, 18) + str.substring(19, 23)
+                               + str.substring(24);
+       }
+       
+       /**
+        * 
+         * isNotNullOrEmpty
+         * 
+         * @Auther YYY
+         * @Date   2018/5/4
+         * @Title: isNotNullOrEmpty
+         * @Description: 
+         * @param obj
+         * @return
+        */
+       public static boolean isNotNullOrEmpty(Object obj) {
+               if(null == obj) {
+                       return false;
+               }
+               if(obj instanceof Collection) {
+                       if (((Collection)obj).size() == 0) {
+                               return false;
+                       }
+               } else if (obj instanceof String) {
+                       if (((String)obj).trim().equals("")) {
+                               return false;
+                       }
+               } else if (obj instanceof Map) {
+                       if (((Map)obj).size() == 0) {
+                               return false;
+                       }
+               } else if (obj.getClass().isArray()) {
+                       if(Array.getLength(obj) == 0) {
+                               return false;
+                       }
+               } else if (obj instanceof StringBuffer) {
+                       if (((StringBuffer)obj).length() == 0) {
+                               return false;
+                       }
+               }
+               return true;
+       }
+       
+       /**
+        * 
+         * OutRequestBody
+         * 
+         * @Auther YYY
+         * @Date   2018/5/9
+         * @Title: OutRequestBody
+         * @Description: 
+         * @param request
+         * @return
+        */
+       public static String OutRequestBody(HttpServletRequest request){
+               BufferedReader br;
+               String str, wholeStr = "";
+               try {
+                       br = request.getReader();
+                       while((str = br.readLine()) != null){
+                       wholeStr += str;
+                       }
+               } catch (IOException e) {
+                       logger.error("exception occurred while performing UuiCommonUtil OutRequestBody.Details:"+ e.getMessage());
+                       e.printStackTrace();
+               }
+               return wholeStr;
+       }
+}
 
        @Test
        public void testGetServiceTemplateInput() throws Exception {
                List<TemplateInput> inputs = new ArrayList<>();
-               ServiceTemplateInput sti = new ServiceTemplateInput("invariantUUID", "uuid", "name", "type", "version", "description", "category", "subcategory", inputs);
+               ServiceTemplateInput sti = new ServiceTemplateInput("invariantUUID", "uuid", "name", "type", "version", "description", "category", "subcategory","", inputs);
                sti.getInvariantUUID();
                sti.getUuid();
                sti.getName();
        public void testSetServiceTemplateInput() throws Exception {
                List<TemplateInput> tis = new ArrayList<>();
                TemplateInput ti = new TemplateInput("name", "type", "description", "isRequired", "defaultValue");
-               ServiceTemplateInput sti = new ServiceTemplateInput("invariantUUID", "uuid", "name", "type", "version", "description", "category", "subcategory", tis);
+               ServiceTemplateInput sti = new ServiceTemplateInput("invariantUUID", "uuid", "name", "type", "version", "description", "category", "subcategory","", tis);
                sti.addNestedTemplate(sti);
                sti.addInputs(tis);
                sti.addInput(ti);
 
 
     private ServiceTemplateInput expectedServiceInputs(String uuid, String nodeUUID) {
         ServiceTemplateInput e2eServiceTemplateInput = new ServiceTemplateInput(
-                uuid, uuid, "VoLTE", "service","", "VoLTE", "service", "", Collections.EMPTY_LIST);
+                uuid, uuid, "VoLTE", "service","", "VoLTE", "service", "","", Collections.EMPTY_LIST);
         TemplateInput templateInput = new TemplateInput("field_name","field_type", "field_description", "true", "field_default");
         ServiceTemplateInput nodeTemplateInput = new ServiceTemplateInput(
-                nodeUUID, nodeUUID, "", "", "","", "service", "", Collections.singletonList(templateInput));
+                nodeUUID, nodeUUID, "", "", "","", "service", "","", Collections.singletonList(templateInput));
 //        e2eServiceTemplateInput.addNestedTemplate(nodeTemplateInput);
         return e2eServiceTemplateInput;
     }