aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/bean/lcm/ServiceTemplateInput.java18
-rwxr-xr-xserver/src/main/java/org/onap/usecaseui/server/constant/Constant.java3
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/controller/lcm/ServiceInstanceController.java50
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/controller/lcm/ServiceLcmController.java7
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/dao/UsecaseuiDataSource.java2
-rwxr-xr-xserver/src/main/java/org/onap/usecaseui/server/hibernate/HibernateConfiguration.java2
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/service/InitializationService.java2
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/service/impl/InitializationServiceImpl.java2
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/service/lcm/ServiceInstanceService.java2
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/service/lcm/ServiceLcmService.java5
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/aai/AAIService.java11
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/so/SOService.java5
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/so/bean/SaveOrUpdateOperationRsp.java32
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceInstanceService.java19
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceLcmService.java49
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceTemplateService.java4
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/util/ResponseUtil.java2
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/util/RestfulServices.java17
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/util/UuiCommonUtil.java116
-rw-r--r--server/src/test/java/org/onap/usecaseui/server/bean/lcm/ServiceTemplateInputTest.java4
-rw-r--r--server/src/test/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceTemplateServiceTest.java4
21 files changed, 307 insertions, 49 deletions
diff --git a/server/src/main/java/org/onap/usecaseui/server/bean/lcm/ServiceTemplateInput.java b/server/src/main/java/org/onap/usecaseui/server/bean/lcm/ServiceTemplateInput.java
index 0e25e0de..37399d97 100644
--- a/server/src/main/java/org/onap/usecaseui/server/bean/lcm/ServiceTemplateInput.java
+++ b/server/src/main/java/org/onap/usecaseui/server/bean/lcm/ServiceTemplateInput.java
@@ -38,9 +38,11 @@ public class ServiceTemplateInput {
private String category;
private String subcategory;
-
+
+ private String customizationUuid;
+
private List<TemplateInput> inputs;
-
+
private List<ServiceTemplateInput> nestedTemplates;
public ServiceTemplateInput(
@@ -52,6 +54,7 @@ public class ServiceTemplateInput {
String description,
String category,
String subcategory,
+ String customizationUuid,
List<TemplateInput> inputs) {
this.invariantUUID = invariantUUID;
this.uuid = uuid;
@@ -61,6 +64,7 @@ public class ServiceTemplateInput {
this.description = description;
this.category = category;
this.subcategory = subcategory;
+ this.customizationUuid = customizationUuid;
this.inputs = inputs;
this.nestedTemplates = new ArrayList<>();
}
@@ -96,8 +100,12 @@ public class ServiceTemplateInput {
public String getSubcategory() {
return subcategory;
}
+
+ public String getCustomizationUuid() {
+ return customizationUuid;
+ }
- public List<TemplateInput> getInputs() {
+ public List<TemplateInput> getInputs() {
return inputs;
}
@@ -134,13 +142,14 @@ public class ServiceTemplateInput {
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
@@ -154,6 +163,7 @@ public class ServiceTemplateInput {
.add("description", description)
.add("category", category)
.add("subcategory", subcategory)
+ .add("customizationUuid", customizationUuid)
.add("inputs", inputs)
.add("nestedTemplates", nestedTemplates)
.toString();
diff --git a/server/src/main/java/org/onap/usecaseui/server/constant/Constant.java b/server/src/main/java/org/onap/usecaseui/server/constant/Constant.java
index 9a818e4e..472f5406 100755
--- a/server/src/main/java/org/onap/usecaseui/server/constant/Constant.java
+++ b/server/src/main/java/org/onap/usecaseui/server/constant/Constant.java
@@ -1,4 +1,4 @@
-/*
+/**
* Copyright (C) 2017 CMCC, Inc. and others. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,5 +21,6 @@ public final class Constant
public static final String DATE_FORMAT= "yyyy-MM-dd HH:mm:ss";
+ public static final String RegEX_DATE_FORMAT = "[^0-9-:]";
}
diff --git a/server/src/main/java/org/onap/usecaseui/server/controller/lcm/ServiceInstanceController.java b/server/src/main/java/org/onap/usecaseui/server/controller/lcm/ServiceInstanceController.java
index e900365d..715a2acd 100644
--- a/server/src/main/java/org/onap/usecaseui/server/controller/lcm/ServiceInstanceController.java
+++ b/server/src/main/java/org/onap/usecaseui/server/controller/lcm/ServiceInstanceController.java
@@ -15,19 +15,25 @@
*/
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
@@ -52,7 +58,43 @@ public class ServiceInstanceController {
"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() ;
+ }
}
diff --git a/server/src/main/java/org/onap/usecaseui/server/controller/lcm/ServiceLcmController.java b/server/src/main/java/org/onap/usecaseui/server/controller/lcm/ServiceLcmController.java
index 5c620cfa..cb919a3d 100644
--- a/server/src/main/java/org/onap/usecaseui/server/controller/lcm/ServiceLcmController.java
+++ b/server/src/main/java/org/onap/usecaseui/server/controller/lcm/ServiceLcmController.java
@@ -18,6 +18,7 @@ package org.onap.usecaseui.server.controller.lcm;
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;
@@ -77,7 +78,7 @@ public class ServiceLcmController {
*/
@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);
}
@@ -95,7 +96,7 @@ public class ServiceLcmController {
*/
@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);
}
}
diff --git a/server/src/main/java/org/onap/usecaseui/server/dao/UsecaseuiDataSource.java b/server/src/main/java/org/onap/usecaseui/server/dao/UsecaseuiDataSource.java
index 475adc01..57160301 100644
--- a/server/src/main/java/org/onap/usecaseui/server/dao/UsecaseuiDataSource.java
+++ b/server/src/main/java/org/onap/usecaseui/server/dao/UsecaseuiDataSource.java
@@ -1,4 +1,4 @@
-/*
+/**
* Copyright (C) 2017 CMCC, Inc. and others. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/server/src/main/java/org/onap/usecaseui/server/hibernate/HibernateConfiguration.java b/server/src/main/java/org/onap/usecaseui/server/hibernate/HibernateConfiguration.java
index b47b2dfd..bb78503e 100755
--- a/server/src/main/java/org/onap/usecaseui/server/hibernate/HibernateConfiguration.java
+++ b/server/src/main/java/org/onap/usecaseui/server/hibernate/HibernateConfiguration.java
@@ -1,4 +1,4 @@
-/*
+/**
* Copyright (C) 2017 CMCC, Inc. and others. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/server/src/main/java/org/onap/usecaseui/server/service/InitializationService.java b/server/src/main/java/org/onap/usecaseui/server/service/InitializationService.java
index 330d1424..488c07e4 100644
--- a/server/src/main/java/org/onap/usecaseui/server/service/InitializationService.java
+++ b/server/src/main/java/org/onap/usecaseui/server/service/InitializationService.java
@@ -1,4 +1,4 @@
-/*
+/**
* Copyright (C) 2017 CMCC, Inc. and others. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/server/src/main/java/org/onap/usecaseui/server/service/impl/InitializationServiceImpl.java b/server/src/main/java/org/onap/usecaseui/server/service/impl/InitializationServiceImpl.java
index adc1ffe9..c4af8ddc 100644
--- a/server/src/main/java/org/onap/usecaseui/server/service/impl/InitializationServiceImpl.java
+++ b/server/src/main/java/org/onap/usecaseui/server/service/impl/InitializationServiceImpl.java
@@ -1,4 +1,4 @@
-/*
+/**
* Copyright (C) 2017 CMCC, Inc. and others. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/server/src/main/java/org/onap/usecaseui/server/service/lcm/ServiceInstanceService.java b/server/src/main/java/org/onap/usecaseui/server/service/lcm/ServiceInstanceService.java
index 1775211c..49fa8e32 100644
--- a/server/src/main/java/org/onap/usecaseui/server/service/lcm/ServiceInstanceService.java
+++ b/server/src/main/java/org/onap/usecaseui/server/service/lcm/ServiceInstanceService.java
@@ -22,4 +22,6 @@ import java.util.List;
public interface ServiceInstanceService {
List<ServiceInstance> listServiceInstances(String customerId, String serviceType);
+
+ String getRelationShipData(String customerId, String serviceType,String serviceId );
}
diff --git a/server/src/main/java/org/onap/usecaseui/server/service/lcm/ServiceLcmService.java b/server/src/main/java/org/onap/usecaseui/server/service/lcm/ServiceLcmService.java
index f2d993af..f69a33e9 100644
--- a/server/src/main/java/org/onap/usecaseui/server/service/lcm/ServiceLcmService.java
+++ b/server/src/main/java/org/onap/usecaseui/server/service/lcm/ServiceLcmService.java
@@ -17,6 +17,7 @@ package org.onap.usecaseui.server.service.lcm;
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;
@@ -29,7 +30,7 @@ public interface ServiceLcmService {
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);
}
diff --git a/server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/aai/AAIService.java b/server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/aai/AAIService.java
index d1ea6815..267efcef 100644
--- a/server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/aai/AAIService.java
+++ b/server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/aai/AAIService.java
@@ -16,6 +16,8 @@
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;
@@ -71,4 +73,13 @@ public interface AAIService {
})
@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);
}
diff --git a/server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/so/SOService.java b/server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/so/SOService.java
index fc414524..e4ea5b56 100644
--- a/server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/so/SOService.java
+++ b/server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/so/SOService.java
@@ -18,6 +18,7 @@ package org.onap.usecaseui.server.service.lcm.domain.so;
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.*;
@@ -51,12 +52,12 @@ public interface SOService {
"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);
}
diff --git a/server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/so/bean/SaveOrUpdateOperationRsp.java b/server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/so/bean/SaveOrUpdateOperationRsp.java
new file mode 100644
index 00000000..ed718e66
--- /dev/null
+++ b/server/src/main/java/org/onap/usecaseui/server/service/lcm/domain/so/bean/SaveOrUpdateOperationRsp.java
@@ -0,0 +1,32 @@
+/**
+ * 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;
+ }
+}
diff --git a/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceInstanceService.java b/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceInstanceService.java
index ff430a5c..8cd7ab5e 100644
--- a/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceInstanceService.java
+++ b/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceInstanceService.java
@@ -25,6 +25,8 @@ import org.slf4j.Logger;
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;
@@ -63,4 +65,21 @@ public class DefaultServiceInstanceService implements ServiceInstanceService {
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);
+ }
+ }
}
diff --git a/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceLcmService.java b/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceLcmService.java
index 6fc85b3b..1e9895de 100644
--- a/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceLcmService.java
+++ b/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceLcmService.java
@@ -15,25 +15,28 @@
*/
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
@@ -55,15 +58,17 @@ public class DefaultServiceLcmService implements ServiceLcmService {
@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);
}
}
@@ -75,7 +80,7 @@ public class DefaultServiceLcmService implements ServiceLcmService {
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) {
@@ -86,12 +91,14 @@ public class DefaultServiceLcmService implements ServiceLcmService {
@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) {
@@ -100,14 +107,16 @@ public class DefaultServiceLcmService implements ServiceLcmService {
}
@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) {
@@ -116,14 +125,16 @@ public class DefaultServiceLcmService implements ServiceLcmService {
}
@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) {
diff --git a/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceTemplateService.java b/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceTemplateService.java
index 1b4cd33e..d78a8533 100644
--- a/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceTemplateService.java
+++ b/server/src/main/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceTemplateService.java
@@ -289,6 +289,7 @@ public class DefaultServiceTemplateService implements ServiceTemplateService {
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 = "";
}
@@ -301,6 +302,7 @@ public class DefaultServiceTemplateService implements ServiceTemplateService {
description,
category,
subcategory,
+ customizationUuid,
new ArrayList<>());
}
@@ -316,6 +318,7 @@ public class DefaultServiceTemplateService implements ServiceTemplateService {
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 = "";
}
@@ -328,6 +331,7 @@ public class DefaultServiceTemplateService implements ServiceTemplateService {
description,
category,
subcategory,
+ customizationUuid,
new ArrayList<>());
}
diff --git a/server/src/main/java/org/onap/usecaseui/server/util/ResponseUtil.java b/server/src/main/java/org/onap/usecaseui/server/util/ResponseUtil.java
index 8e2f39cb..9891bcf7 100644
--- a/server/src/main/java/org/onap/usecaseui/server/util/ResponseUtil.java
+++ b/server/src/main/java/org/onap/usecaseui/server/util/ResponseUtil.java
@@ -1,4 +1,4 @@
-/*
+/**
* Copyright (C) 2017 CMCC, Inc. and others. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/server/src/main/java/org/onap/usecaseui/server/util/RestfulServices.java b/server/src/main/java/org/onap/usecaseui/server/util/RestfulServices.java
index 2d013ddf..6441d0ef 100644
--- a/server/src/main/java/org/onap/usecaseui/server/util/RestfulServices.java
+++ b/server/src/main/java/org/onap/usecaseui/server/util/RestfulServices.java
@@ -15,17 +15,23 @@
*/
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)
@@ -58,6 +64,7 @@ public class RestfulServices {
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) {
diff --git a/server/src/main/java/org/onap/usecaseui/server/util/UuiCommonUtil.java b/server/src/main/java/org/onap/usecaseui/server/util/UuiCommonUtil.java
new file mode 100644
index 00000000..f9a1e814
--- /dev/null
+++ b/server/src/main/java/org/onap/usecaseui/server/util/UuiCommonUtil.java
@@ -0,0 +1,116 @@
+/**
+ * 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;
+ }
+}
diff --git a/server/src/test/java/org/onap/usecaseui/server/bean/lcm/ServiceTemplateInputTest.java b/server/src/test/java/org/onap/usecaseui/server/bean/lcm/ServiceTemplateInputTest.java
index 0d2d95db..2c93ee7f 100644
--- a/server/src/test/java/org/onap/usecaseui/server/bean/lcm/ServiceTemplateInputTest.java
+++ b/server/src/test/java/org/onap/usecaseui/server/bean/lcm/ServiceTemplateInputTest.java
@@ -34,7 +34,7 @@ public class ServiceTemplateInputTest {
@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();
@@ -53,7 +53,7 @@ public class ServiceTemplateInputTest {
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);
diff --git a/server/src/test/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceTemplateServiceTest.java b/server/src/test/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceTemplateServiceTest.java
index 250c6980..ac0d2694 100644
--- a/server/src/test/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceTemplateServiceTest.java
+++ b/server/src/test/java/org/onap/usecaseui/server/service/lcm/impl/DefaultServiceTemplateServiceTest.java
@@ -123,10 +123,10 @@ public class DefaultServiceTemplateServiceTest {
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;
}