aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author’zhaoyh6‘ <zhaoyh6@asiainfo.com>2022-10-24 15:58:32 +0800
committer’zhaoyh6‘ <zhaoyh6@asiainfo.com>2022-10-24 15:58:45 +0800
commit02dadcf8080f8b538f05cfafed29cf6aa391452c (patch)
treef6a2380cc163d52c196c45d57675d2dc219712b8
parentfab08cf8842a46d32ea0bdcae4ae04353ea68e93 (diff)
feat:Intent instance binding 5g slice instance information5.1.2
Issue-ID: REQ-1214 Signed-off-by: ’zhaoyh6‘ <zhaoyh6@asiainfo.com> Change-Id: I49062d260bec07259d04a63b43de57581b3c0c8a
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/service/intent/IntentInstanceService.java3
-rw-r--r--server/src/main/java/org/onap/usecaseui/server/service/intent/impl/IntentInstanceServiceImpl.java35
2 files changed, 37 insertions, 1 deletions
diff --git a/server/src/main/java/org/onap/usecaseui/server/service/intent/IntentInstanceService.java b/server/src/main/java/org/onap/usecaseui/server/service/intent/IntentInstanceService.java
index d0595ce6..e25fa761 100644
--- a/server/src/main/java/org/onap/usecaseui/server/service/intent/IntentInstanceService.java
+++ b/server/src/main/java/org/onap/usecaseui/server/service/intent/IntentInstanceService.java
@@ -17,6 +17,7 @@ package org.onap.usecaseui.server.service.intent;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
+import org.onap.usecaseui.server.bean.csmf.SlicingOrder;
import org.onap.usecaseui.server.bean.intent.CCVPNInstance;
import org.onap.usecaseui.server.bean.intent.IntentInstance;
import org.onap.usecaseui.server.bean.nsmf.common.ServiceResult;
@@ -65,4 +66,6 @@ public interface IntentInstanceService {
ServiceResult createSlicingServiceWithIntent(Object slicingOrderBody);
int updateCCVPNInstance(CCVPNInstance instance);
+
+ void saveSlicingServiceToAAI(String serviceId,String operationId, SlicingOrder slicingOrder) throws IOException;
}
diff --git a/server/src/main/java/org/onap/usecaseui/server/service/intent/impl/IntentInstanceServiceImpl.java b/server/src/main/java/org/onap/usecaseui/server/service/intent/impl/IntentInstanceServiceImpl.java
index af8955a1..c47cdc15 100644
--- a/server/src/main/java/org/onap/usecaseui/server/service/intent/impl/IntentInstanceServiceImpl.java
+++ b/server/src/main/java/org/onap/usecaseui/server/service/intent/impl/IntentInstanceServiceImpl.java
@@ -24,6 +24,7 @@ import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.onap.usecaseui.server.bean.csmf.ServiceCreateResult;
import org.onap.usecaseui.server.bean.csmf.SlicingOrder;
+import org.onap.usecaseui.server.bean.csmf.SlicingOrderDetail;
import org.onap.usecaseui.server.bean.intent.InstancePerformance;
import org.onap.usecaseui.server.bean.intent.CCVPNInstance;
import org.onap.usecaseui.server.bean.intent.IntentInstance;
@@ -864,7 +865,12 @@ public class IntentInstanceServiceImpl implements IntentInstanceService {
SlicingOrder slicingOrder = JSONObject.parseObject(JSONObject.toJSONString(slicingOrderBody), SlicingOrder.class);
ServiceResult serviceResult = slicingService.createSlicingService(slicingOrder);
ServiceCreateResult createResult = (ServiceCreateResult) serviceResult.getResult_body();
-
+ try {
+ saveSlicingServiceToAAI(createResult.getService_id(), createResult.getOperation_id(), slicingOrder);
+ } catch (IOException e) {
+ logger.error("save 5g slice to AAI fail!");
+ throw new RuntimeException("save 5g slice to AAI fail!", e);
+ }
createIntentInstance(slicingOrderBody,createResult.getService_id(), slicingOrder.getSlicing_order_info().getName(), IntentConstant.MODEL_TYPE_5GS);
return serviceResult;
}
@@ -989,4 +995,31 @@ public class IntentInstanceServiceImpl implements IntentInstanceService {
}
}
+ @Override
+ public void saveSlicingServiceToAAI(String serviceId, String operationId, SlicingOrder slicingOrder) throws IOException {
+ addCustomer();
+ addSubscription();
+ Properties environment = getProperties();
+ String globalCustomerId = environment.getProperty("ccvpn.globalCustomerId");
+ String serviceType = environment.getProperty("ccvpn.serviceType");
+ SlicingOrderDetail slicingOrderInfo = slicingOrder.getSlicing_order_info();
+ JSONObject environmentContext = JSONObject.parseObject(JSONObject.toJSONString(slicingOrderInfo));
+
+ Map<String, Object> params = new HashMap<>();
+ params.put("service-instance-id", serviceId);
+ params.put("service-instance-name", slicingOrderInfo.getName());
+ params.put("service-type", IntentConstant.MODEL_TYPE_5GS);
+ params.put("environment-context", environmentContext.toJSONString());
+ params.put("service-operation-id", operationId);
+ params.put("data-rate-uplink", slicingOrderInfo.getExpDataRateUL());
+ params.put("data-rate-downlink", slicingOrderInfo.getExpDataRateDL());
+ params.put("latency", slicingOrderInfo.getLatency());
+ params.put("max-number-of-ues", slicingOrderInfo.getMaxNumberofUEs());
+ params.put("mobility", slicingOrderInfo.getUEMobilityLevel());
+ params.put("resource-sharing-level", slicingOrderInfo.getResourceSharingLevel());
+ params.put("data-owner", IntentConstant.INTENT_INSTANCE_DATA_OWNER);
+ okhttp3.RequestBody requestBody = okhttp3.RequestBody.create(okhttp3.MediaType.parse("application/json"), JSON.toJSONString(params));
+ intentApiService.saveServiceInstance(globalCustomerId,serviceType,serviceId,requestBody).execute();
+ }
+
}