import lombok.Setter;
import org.onap.usecaseui.server.bean.nsmf.task.BusinessDemandInfo;
import org.onap.usecaseui.server.bean.nsmf.task.NstInfo;
+import org.onap.usecaseui.server.service.slicingdomain.aai.bean.connectionvo.ConnectionLinkInfo;
@Getter
@Setter
@JsonProperty("nsi_info")
private NsiInfo nsiInfo;
+
+ @JsonProperty("connection_link")
+ private ConnectionLinkInfo connectionLinkInfo;
}
package org.onap.usecaseui.server.bean.nsmf.task;
import com.fasterxml.jackson.annotation.JsonProperty;
-import java.util.List;
import lombok.Getter;
import lombok.Setter;
+import java.util.List;
+
@Getter
@Setter
public class NsiAndSubNssiInfo {
@JsonProperty("sliceProfile_TN_BH_sST")
String sliceProfile_TN_BH_sST;
+ @JsonProperty("sliceProfile_TN_BH_resourceSharingLevel")
+ String sliceProfile_TN_BH_resourceSharingLevel;
+
+ @JsonProperty("sliceProfile_TN_BH_connection_links")
+ String sliceProfile_TN_BH_connectionLinkId;
+
@JsonProperty("tn_bh_enableNSSISelection")
Boolean tnEnableNSSISelection;
package org.onap.usecaseui.server.service.nsmf.impl;
-import java.io.IOException;
-import java.lang.reflect.Type;
-import java.util.List;
-
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
-import javax.annotation.Resource;
import okhttp3.MediaType;
import okhttp3.RequestBody;
+import org.apache.commons.beanutils.BeanUtils;
import org.onap.usecaseui.server.bean.ServiceInstanceOperations;
import org.onap.usecaseui.server.bean.nsmf.common.ResultHeader;
import org.onap.usecaseui.server.bean.nsmf.common.ServiceResult;
import org.onap.usecaseui.server.service.slicingdomain.aai.bean.AAIServiceAndInstance;
import org.onap.usecaseui.server.service.slicingdomain.aai.bean.AAIServiceInstance;
import org.onap.usecaseui.server.service.slicingdomain.aai.bean.AAIServiceRsp;
+import org.onap.usecaseui.server.service.slicingdomain.aai.bean.connection.ConnectionLink;
+import org.onap.usecaseui.server.service.slicingdomain.aai.bean.connection.EndPointInfoList;
+import org.onap.usecaseui.server.service.slicingdomain.aai.bean.connection.Relationship;
+import org.onap.usecaseui.server.service.slicingdomain.aai.bean.connection.RelationshipData;
+import org.onap.usecaseui.server.service.slicingdomain.aai.bean.connectionvo.ConnectionLinkInfo;
import org.onap.usecaseui.server.service.slicingdomain.so.SOSliceService;
import org.onap.usecaseui.server.service.slicingdomain.so.bean.ActivateService;
+import org.onap.usecaseui.server.service.slicingdomain.so.bean.AnSliceTaskInfo;
+import org.onap.usecaseui.server.service.slicingdomain.so.bean.CnSliceTaskInfo;
import org.onap.usecaseui.server.service.slicingdomain.so.bean.SOOperation;
+import org.onap.usecaseui.server.service.slicingdomain.so.bean.TnBHSliceTaskInfo;
import org.onap.usecaseui.server.util.DateUtils;
import org.onap.usecaseui.server.util.RestfulServices;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
import retrofit2.Response;
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.lang.reflect.Type;
+import java.util.List;
+import java.util.stream.Collectors;
+
@Service("ResourceMgtService")
@org.springframework.context.annotation.Configuration
@EnableAspectJAutoProxy
ResultHeader resultHeader = new ResultHeader();
AAIServiceAndInstance aaiServiceAndInstance = new AAIServiceAndInstance();
SlicingBusinessDetails slicingBusinessDetails = new SlicingBusinessDetails();
+ CnSliceTaskInfo cnSliceTaskInfo = new CnSliceTaskInfo();
+ TnBHSliceTaskInfo tnBHSliceTaskInfo = new TnBHSliceTaskInfo();
+ AnSliceTaskInfo anSliceTaskInfo = new AnSliceTaskInfo();
+ ConnectionLinkInfo connectionLinkInfo = new ConnectionLinkInfo();
String resultMsg;
try {
resultMsg = "5G slicing business details query failed!";
resultHeader.setResult_code(NsmfCodeConstant.ERROR_CODE_UNKNOWN);
}
+ Response<ConnectionLink> connectionLinkResponse = this.aaiSliceService
+ .getServiceInstance(businessId).execute();
+ if (connectionLinkResponse.isSuccessful()) {
+ ConnectionLink connectionLink = connectionLinkResponse.body();
+ logger.info("ConnectionLink", connectionLink);
+ List<Relationship> relationship = connectionLink.getRelationshipList().getRelationship();
+ List<Relationship> embbCnExternal = relationship.stream().filter(e -> e.getRelatedToProperties()
+ .get(0).getPropertyValue().equals("EmbbCn_External")).collect(Collectors.toList());
+ List<Relationship> TnONAPInternalBH = relationship.stream().filter(e -> e.getRelatedToProperties()
+ .get(0).getPropertyValue().equals("Tn_ONAP_internal_BH")).collect(Collectors.toList());
+ List<Relationship> EmbbAnNF = relationship.stream().filter(e -> e.getRelatedToProperties()
+ .get(0).getPropertyValue().equals("EmbbAn_NF")).collect(Collectors.toList());
+ if(!ObjectUtils.isEmpty(embbCnExternal)) {
+ // TODO: 2021/3/3 Cn的参数
+ List<RelationshipData> relationshipDataCn = embbCnExternal.get(0).getRelationshipDataList();
+ List<RelationshipData> cn = relationshipDataCn.stream().filter(e -> e.getRelationshipKey()
+ .equals("service-instance.service-instance-id")).collect(Collectors.toList());
+ Response<ConnectionLink> executeCn = this.aaiSliceService.getServiceInstance(cn.get(0)
+ .getRelationshipValue()).execute();
+ if (executeCn.isSuccessful()) {
+ ConnectionLink body = executeCn.body();
+ List<Relationship> relationshipCn = body.getRelationshipList().getRelationship();
+ List<Relationship> networkRouteCn = relationshipCn.stream().filter(e -> e.getRelatedTo()
+ .equals("network-route")).collect(Collectors.toList());
+ List<RelationshipData> relationshipDataListCn = networkRouteCn.get(0).getRelationshipDataList();
+ String networkRouteCnId = relationshipDataListCn.get(0).getRelationshipValue();
+ Response<EndPointInfoList> endPointInfoListCn = this.aaiSliceService
+ .getEndpointByLinkName(networkRouteCnId).execute();
+ if (endPointInfoListCn.isSuccessful()) {
+ EndPointInfoList endPointInfoList = endPointInfoListCn.body();
+ BeanUtils.copyProperties(cnSliceTaskInfo, endPointInfoList);
+ } else {
+ logger.error(String.format("Can not get SOOperation[code={}, message={}]", response.code(),
+ response.message()));
+ resultMsg = "5G slicing service operation progress query failed!";
+ resultHeader.setResult_code(NsmfCodeConstant.ERROR_CODE_UNKNOWN);
+ }
+ } else {
+ logger.error(String.format("Can not get SOOperation[code={}, message={}]", response.code(),
+ response.message()));
+ resultMsg = "5G slicing service operation progress query failed!";
+ resultHeader.setResult_code(NsmfCodeConstant.ERROR_CODE_UNKNOWN);
+ }
+ }
+ if(!ObjectUtils.isEmpty(TnONAPInternalBH)) {
+ // TODO: 2021/3/3 Tn的参数
+ List<RelationshipData> relationshipDataTn = TnONAPInternalBH.get(0).getRelationshipDataList();
+ List<RelationshipData> tn = relationshipDataTn.stream().filter(e -> e.getRelationshipKey()
+ .equals("service-instance.service-instance-id")).collect(Collectors.toList());
+ Response<ConnectionLink> executeTn = this.aaiSliceService
+ .getServiceInstance(tn.get(0).getRelationshipValue()).execute();
+ if (executeTn.isSuccessful()) {
+ ConnectionLink body = executeTn.body();
+ List<Relationship> relationshipTn = body.getRelationshipList().getRelationship();
+ List<Relationship> networkRouteTn = relationshipTn.stream().filter(e -> e.getRelatedTo()
+ .equals("network-route")).collect(Collectors.toList());
+ List<RelationshipData> relationshipDataListTn = networkRouteTn.get(0).getRelationshipDataList();
+ String networkRouteTnId = relationshipDataListTn.get(0).getRelationshipValue();
+ Response<EndPointInfoList> endPointInfoListTn = this.aaiSliceService
+ .getEndpointByLinkName(networkRouteTnId).execute();
+ if (endPointInfoListTn.isSuccessful()) {
+ EndPointInfoList endPointInfoList = endPointInfoListTn.body();
+ BeanUtils.copyProperties(tnBHSliceTaskInfo, endPointInfoList);
+
+ } else {
+ logger.error(String.format("Can not get SOOperation[code={}, message={}]", response.code(),
+ response.message()));
+ resultMsg = "5G slicing service operation progress query failed!";
+ resultHeader.setResult_code(NsmfCodeConstant.ERROR_CODE_UNKNOWN);
+ }
+ } else {
+ logger.error(String.format("Can not get SOOperation[code={}, message={}]", response.code(),
+ response.message()));
+ resultMsg = "5G slicing service operation progress query failed!";
+ resultHeader.setResult_code(NsmfCodeConstant.ERROR_CODE_UNKNOWN);
+ }
+ }
+ if(!ObjectUtils.isEmpty(EmbbAnNF)) {
+ // TODO: 2021/3/3 an的参数
+ List<RelationshipData> relationshipDataAn = EmbbAnNF.get(0).getRelationshipDataList();
+ List<RelationshipData> an = relationshipDataAn.stream().filter(e -> e.getRelationshipKey()
+ .equals("service-instance.service-instance-id")).collect(Collectors.toList());
+ Response<ConnectionLink> executeAn = this.aaiSliceService
+ .getServiceInstance(an.get(0).getRelationshipValue()).execute();
+ if (executeAn.isSuccessful()) {
+ ConnectionLink body = executeAn.body();
+ List<Relationship> relationshipAn = body.getRelationshipList().getRelationship();
+ List<Relationship> networkRouteAn = relationshipAn.stream().filter(e -> e.getRelatedTo()
+ .equals("network-route")).collect(Collectors.toList());
+ List<RelationshipData> relationshipDataListAn = networkRouteAn.get(0).getRelationshipDataList();
+ String networkRouteAnId = relationshipDataListAn.get(0).getRelationshipValue();
+ Response<EndPointInfoList> endPointInfoListAn = this.aaiSliceService
+ .getEndpointByLinkName(networkRouteAnId).execute();
+ if (endPointInfoListAn.isSuccessful()) {
+ EndPointInfoList endPointInfoList = endPointInfoListAn.body();
+ BeanUtils.copyProperties(anSliceTaskInfo, endPointInfoList);
+ } else {
+ logger.error(String.format("Can not get SOOperation[code={}, message={}]", response.code(),
+ response.message()));
+ resultMsg = "5G slicing service operation progress query failed!";
+ resultHeader.setResult_code(NsmfCodeConstant.ERROR_CODE_UNKNOWN);
+ }
+ } else {
+ logger.error(String.format("Can not get SOOperation[code={}, message={}]", response.code(),
+ response.message()));
+ resultMsg = "5G slicing service operation progress query failed!";
+ resultHeader.setResult_code(NsmfCodeConstant.ERROR_CODE_UNKNOWN);
+ }
+ }
+
+ } else {
+ logger.error("queryOperationProgress: serviceInstanceOperations is null!");
+ resultMsg = "5G slicing service operation progress query failed!";
+ resultHeader.setResult_code(NsmfCodeConstant.ERROR_CODE_UNKNOWN);
+ }
} catch (Exception e) {
resultMsg = "5G slicing business details query failed. Unknown exception occurred!";
resultHeader.setResult_code(NsmfCodeConstant.ERROR_CODE_UNKNOWN);
logger.error("Exception in querySlicingBusinessDetails response",e);
}
+ connectionLinkInfo.setCnSliceTaskInfo(cnSliceTaskInfo);
+ connectionLinkInfo.setTnBHSliceTaskInfo(tnBHSliceTaskInfo);
+ connectionLinkInfo.setAnSliceTaskInfo(anSliceTaskInfo);
+ slicingBusinessDetails.setConnectionLinkInfo(connectionLinkInfo);
logger.info(resultMsg);
logger.info("querySlicingBusinessDetails: 5G slicing business details query has been finished.");
*/
package org.onap.usecaseui.server.service.nsmf.impl;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.List;
-import javax.annotation.Resource;
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
import lombok.Setter;
import org.apache.commons.beanutils.BeanUtils;
import org.onap.usecaseui.server.bean.nsmf.common.PagedResult;
import org.onap.usecaseui.server.bean.nsmf.task.SlicingTaskInfo;
import org.onap.usecaseui.server.bean.nsmf.task.SlicingTaskList;
import org.onap.usecaseui.server.service.slicingdomain.aai.AAISliceService;
+import org.onap.usecaseui.server.service.slicingdomain.so.bean.AnSliceTaskInfo;
+import org.onap.usecaseui.server.service.slicingdomain.so.bean.CnSliceTaskInfo;
import org.onap.usecaseui.server.service.slicingdomain.so.bean.SOTask;
import org.onap.usecaseui.server.service.slicingdomain.so.bean.SOTaskRsp;
+import org.onap.usecaseui.server.service.slicingdomain.so.bean.SliceProfile;
+import org.onap.usecaseui.server.service.slicingdomain.so.bean.SliceTaskParams;
+import org.onap.usecaseui.server.service.slicingdomain.so.bean.TnBHSliceTaskInfo;
import org.onap.usecaseui.server.util.RestfulServices;
import org.onap.usecaseui.server.util.nsmf.NsmfCommonUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
-import org.onap.usecaseui.server.service.slicingdomain.so.bean.AnSliceTaskInfo;
-import org.onap.usecaseui.server.service.slicingdomain.so.bean.CnSliceTaskInfo;
-import org.onap.usecaseui.server.service.slicingdomain.so.bean.SliceProfile;
-import org.onap.usecaseui.server.service.slicingdomain.so.bean.SliceTaskParams;
-import org.onap.usecaseui.server.service.slicingdomain.so.bean.TnBHSliceTaskInfo;
import javax.annotation.Resource;
import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
@Service("TaskMgtConvertService")
for (SOTask soTask : sourceSoTaskRsp.getTask()) {
SlicingTaskInfo slicingTaskInfo = new SlicingTaskInfo();
BeanUtils.copyProperties(slicingTaskInfo, soTask);
- SliceTaskParams sliceTaskParams = soTask.getSliceTaskParams();
- slicingTaskInfo.setServiceSnssai(sliceTaskParams.getServiceProfile().getSNSSAI());
+ String params = soTask.getParams();
+ Gson gson = new Gson();
+ Type type = new TypeToken<SliceTaskParams>() {}.getType();
+ SliceTaskParams sliceTaskParams = gson.fromJson(params, type); slicingTaskInfo.setServiceSnssai(sliceTaskParams.getServiceProfile().getSNSSAI());
slicingTaskInfo.setServiceType(sliceTaskParams.getServiceProfile().getSST());
slicingTaskInfo.setName(sliceTaskParams.getServiceName());
slicingTaskInfo.setCreateTime(soTask.getCreatedTime());
targetSlicingTaskAuditInfo.setCreateTime(sourceSoTaskInfo.getCreatedTime());
targetSlicingTaskAuditInfo.setProcessingStatus(sourceSoTaskInfo.getStatus());
- SliceTaskParams sliceTaskParams = sourceSoTaskInfo.getSliceTaskParams();
+ String params = sourceSoTaskInfo.getParams();
+ Gson gson = new Gson();
+ Type type = new TypeToken<SliceTaskParams>() {}.getType();
+ SliceTaskParams sliceTaskParams = gson.fromJson(params, type);
if (sliceTaskParams == null) {
logger.error("convertTaskAuditInfo: paramsObject is null");
return;
nsiAndSubNssiInfo.setSuggestNsiId(sliceTaskParams.getSuggestNsiId());
nsiAndSubNssiInfo.setSuggestNsiName(sliceTaskParams.getSuggestNSIName());
- nsiAndSubNssiInfo.setAnSuggestNssiId(sliceTaskParams.getAnSliceTaskInfo().getSuggestNssiId());
- nsiAndSubNssiInfo.setAnSuggestNssiName(sliceTaskParams.getAnSliceTaskInfo().getSuggestNSSIName());
- nsiAndSubNssiInfo.setAn5qi(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getAn5qi());
-
- String anCoverageAreaTA = sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getCoverageAreaTAList();
- List<String> areaTaList = generalConvert.getAreaTaList(anCoverageAreaTA);
- nsiAndSubNssiInfo.setAnCoverageAreaTaList(areaTaList);
- nsiAndSubNssiInfo.setAnLatency(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getLatency());
nsiAndSubNssiInfo.setAnScriptName(sliceTaskParams.getAnSliceTaskInfo().getScriptName());
nsiAndSubNssiInfo.setAnEnableNSSISelection(sliceTaskParams.getAnSliceTaskInfo().getEnableNSSISelection());
- nsiAndSubNssiInfo.setSliceProfile_AN_sNSSAI(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getSNSSAIList());
- nsiAndSubNssiInfo.setSliceProfile_AN_maxNumberofUEs(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getMaxNumberOfUEs());
-
- nsiAndSubNssiInfo.setSliceProfile_AN_maxNumberofPDUSession(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getMaxNumberOfPDUSession());
- nsiAndSubNssiInfo.setSliceProfile_AN_expDataRateDL(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getExpDataRateDL());
- nsiAndSubNssiInfo.setSliceProfile_AN_expDataRateUL(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getExpDataRateUL());
- nsiAndSubNssiInfo.setSliceProfile_AN_areaTrafficCapDL(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getAreaTrafficCapDL());
- nsiAndSubNssiInfo.setSliceProfile_AN_areaTrafficCapUL(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getAreaTrafficCapUL());
-
- nsiAndSubNssiInfo.setSliceProfile_AN_overallUserDensity(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getOverallUserDensity());
- nsiAndSubNssiInfo.setSliceProfile_AN_activityFactor(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getActivityFactor());
- nsiAndSubNssiInfo.setSliceProfile_AN_uEMobilityLevel(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getUeMobilityLevel());
- nsiAndSubNssiInfo.setSliceProfile_AN_resourceSharingLevel(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getResourceSharingLevel());
- nsiAndSubNssiInfo.setSliceProfile_AN_sST(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getSST());
-
- nsiAndSubNssiInfo.setSliceProfile_AN_cSAvailabilityTarget(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getCsAvailabilityTarget());
- nsiAndSubNssiInfo.setSliceProfile_AN_cSReliabilityMeanTime(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getCsReliabilityMeanTime());
- nsiAndSubNssiInfo.setSliceProfile_AN_expDataRate(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getExpDataRate());
- nsiAndSubNssiInfo.setSliceProfile_AN_msgSizeByte(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getMsgSizeByte());
- nsiAndSubNssiInfo.setSliceProfile_AN_transferIntervalTarget(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getTransferIntervalTarget());
- nsiAndSubNssiInfo.setSliceProfile_AN_survivalTime(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getSurvivalTime());
- nsiAndSubNssiInfo.setSliceProfile_AN_ipAddress(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getIpAddress());
- nsiAndSubNssiInfo.setSliceProfile_AN_logicInterfaceId(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getLogicInterfaceId());
- nsiAndSubNssiInfo.setSliceProfile_AN_nextHopInfo(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getNextHopInfo());
-
+ if(!ObjectUtils.isEmpty(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile())){
+ nsiAndSubNssiInfo.setAnSuggestNssiId(sliceTaskParams.getAnSliceTaskInfo().getSuggestNssiId());
+ nsiAndSubNssiInfo.setAnSuggestNssiName(sliceTaskParams.getAnSliceTaskInfo().getSuggestNSSIName());
+ nsiAndSubNssiInfo.setAn5qi(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getAn5qi());
+
+ String anCoverageAreaTA = sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getCoverageAreaTAList();
+ List<String> areaTaList = generalConvert.getAreaTaList(anCoverageAreaTA);
+ nsiAndSubNssiInfo.setAnCoverageAreaTaList(areaTaList);
+ nsiAndSubNssiInfo.setAnLatency(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getLatency());
+
+ nsiAndSubNssiInfo.setSliceProfile_AN_sNSSAI(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getSNSSAIList());
+ nsiAndSubNssiInfo.setSliceProfile_AN_maxNumberofUEs(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getMaxNumberOfUEs());
+
+ nsiAndSubNssiInfo.setSliceProfile_AN_maxNumberofPDUSession(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getMaxNumberOfPDUSession());
+ nsiAndSubNssiInfo.setSliceProfile_AN_expDataRateDL(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getExpDataRateDL());
+ nsiAndSubNssiInfo.setSliceProfile_AN_expDataRateUL(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getExpDataRateUL());
+ nsiAndSubNssiInfo.setSliceProfile_AN_areaTrafficCapDL(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getAreaTrafficCapDL());
+ nsiAndSubNssiInfo.setSliceProfile_AN_areaTrafficCapUL(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getAreaTrafficCapUL());
+
+ nsiAndSubNssiInfo.setSliceProfile_AN_overallUserDensity(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getOverallUserDensity());
+ nsiAndSubNssiInfo.setSliceProfile_AN_activityFactor(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getActivityFactor());
+ nsiAndSubNssiInfo.setSliceProfile_AN_uEMobilityLevel(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getUeMobilityLevel());
+ nsiAndSubNssiInfo.setSliceProfile_AN_resourceSharingLevel(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getResourceSharingLevel());
+ nsiAndSubNssiInfo.setSliceProfile_AN_sST(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getSST());
+
+ nsiAndSubNssiInfo.setSliceProfile_AN_cSAvailabilityTarget(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getCsAvailabilityTarget());
+ nsiAndSubNssiInfo.setSliceProfile_AN_cSReliabilityMeanTime(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getCsReliabilityMeanTime());
+ nsiAndSubNssiInfo.setSliceProfile_AN_expDataRate(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getExpDataRate());
+ nsiAndSubNssiInfo.setSliceProfile_AN_msgSizeByte(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getMsgSizeByte());
+ nsiAndSubNssiInfo.setSliceProfile_AN_transferIntervalTarget(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getTransferIntervalTarget());
+ nsiAndSubNssiInfo.setSliceProfile_AN_survivalTime(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getSurvivalTime());
+ nsiAndSubNssiInfo.setSliceProfile_AN_ipAddress(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getIpAddress());
+ nsiAndSubNssiInfo.setSliceProfile_AN_logicInterfaceId(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getLogicInterfaceId());
+ nsiAndSubNssiInfo.setSliceProfile_AN_nextHopInfo(sliceTaskParams.getAnSliceTaskInfo().getSliceProfile().getNextHopInfo());
+ }
nsiAndSubNssiInfo.setTnBhSuggestNssiId(sliceTaskParams.getTnBHSliceTaskInfo().getSuggestNssiId());
nsiAndSubNssiInfo.setTnBhSuggestNssiName(sliceTaskParams.getTnBHSliceTaskInfo().getSuggestNSSIName());
- nsiAndSubNssiInfo.setTnBhLatency(sliceTaskParams.getTnBHSliceTaskInfo().getSliceProfile().getLatency());
- nsiAndSubNssiInfo.setTnBhBandwidth(sliceTaskParams.getTnBHSliceTaskInfo().getSliceProfile().getMaxBandwidth());
nsiAndSubNssiInfo.setTnBhScriptName(sliceTaskParams.getTnBHSliceTaskInfo().getScriptName());
nsiAndSubNssiInfo.setTnEnableNSSISelection(sliceTaskParams.getTnBHSliceTaskInfo().getEnableNSSISelection());
- nsiAndSubNssiInfo.setSliceProfile_TN_BH_jitte(sliceTaskParams.getTnBHSliceTaskInfo().getSliceProfile().getJitter());
- nsiAndSubNssiInfo.setSliceProfile_TN_BH_pLMNIdList(sliceTaskParams.getTnBHSliceTaskInfo().getSliceProfile().getPLMNIdList());
- nsiAndSubNssiInfo.setSliceProfile_TN_BH_sNSSAI(sliceTaskParams.getTnBHSliceTaskInfo().getSliceProfile().getSNSSAIList());
- nsiAndSubNssiInfo.setSliceProfile_TN_BH_sST(sliceTaskParams.getTnBHSliceTaskInfo().getSliceProfile().getSST());
-
- nsiAndSubNssiInfo.setCnSuggestNssiId(sliceTaskParams.getCnSliceTaskInfo().getSuggestNssiId());
- nsiAndSubNssiInfo.setCnSuggestNssiName(sliceTaskParams.getCnSliceTaskInfo().getSuggestNSSIName());
- nsiAndSubNssiInfo.setCnServiceSnssai(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getSNSSAIList());
- nsiAndSubNssiInfo.setCnResourceSharingLevel(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getResourceSharingLevel());
- nsiAndSubNssiInfo.setCnUeMobilityLevel(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getUeMobilityLevel());
- nsiAndSubNssiInfo.setCnLatency(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getLatency());
- nsiAndSubNssiInfo.setCnMaxNumberOfUes(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getMaxNumberOfUEs());
- nsiAndSubNssiInfo.setCnActivityFactor(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getActivityFactor());
- nsiAndSubNssiInfo.setCnExpDataRateDl(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getExpDataRateDL());
- nsiAndSubNssiInfo.setCnExpDataRateUl(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getExpDataRateUL());
- nsiAndSubNssiInfo.setCnAreaTrafficCapDl(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getAreaTrafficCapDL());
- nsiAndSubNssiInfo.setCnAreaTrafficCapUl(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getAreaTrafficCapUL());
+ if(!ObjectUtils.isEmpty(sliceTaskParams.getTnBHSliceTaskInfo().getSliceProfile())){
+ nsiAndSubNssiInfo.setTnBhLatency(sliceTaskParams.getTnBHSliceTaskInfo().getSliceProfile().getLatency());
+ nsiAndSubNssiInfo.setTnBhBandwidth(sliceTaskParams.getTnBHSliceTaskInfo().getSliceProfile().getMaxBandwidth());
+
+ nsiAndSubNssiInfo.setSliceProfile_TN_BH_jitte(sliceTaskParams.getTnBHSliceTaskInfo().getSliceProfile().getJitter());
+ nsiAndSubNssiInfo.setSliceProfile_TN_BH_pLMNIdList(sliceTaskParams.getTnBHSliceTaskInfo().getSliceProfile().getPLMNIdList());
+ nsiAndSubNssiInfo.setSliceProfile_TN_BH_sNSSAI(sliceTaskParams.getTnBHSliceTaskInfo().getSliceProfile().getSNSSAIList());
+ nsiAndSubNssiInfo.setSliceProfile_TN_BH_sST(sliceTaskParams.getTnBHSliceTaskInfo().getSliceProfile().getSST());
+ nsiAndSubNssiInfo.setSliceProfile_TN_BH_connectionLinkId(sliceTaskParams.getTnBHSliceTaskInfo().getSliceProfile().getConnectionLinkId());
+ nsiAndSubNssiInfo.setSliceProfile_TN_BH_resourceSharingLevel(sliceTaskParams.getTnBHSliceTaskInfo().getSliceProfile().getResourceSharingLevel());
+ }
nsiAndSubNssiInfo.setCnScriptName(sliceTaskParams.getCnSliceTaskInfo().getScriptName());
nsiAndSubNssiInfo.setCnEnableNSSISelection(sliceTaskParams.getCnSliceTaskInfo().getEnableNSSISelection());
- nsiAndSubNssiInfo.setSliceProfile_CN_maxNumberofPDUSession(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getMaxNumberOfPDUSession());
- nsiAndSubNssiInfo.setSliceProfile_CN_overallUserDensity(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getOverallUserDensity());
- nsiAndSubNssiInfo.setSliceProfile_CN_coverageAreaTAList(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getCoverageAreaTAList());
- nsiAndSubNssiInfo.setSliceProfile_CN_sST(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getSST());
- nsiAndSubNssiInfo.setSliceProfile_CN_cSAvailabilityTarget(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getCsAvailabilityTarget());
- nsiAndSubNssiInfo.setSliceProfile_CN_cSReliabilityMeanTime(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getCsReliabilityMeanTime());
- nsiAndSubNssiInfo.setSliceProfile_CN_expDataRate(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getExpDataRate());
- nsiAndSubNssiInfo.setSliceProfile_CN_msgSizeByte(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getMsgSizeByte());
- nsiAndSubNssiInfo.setSliceProfile_CN_transferIntervalTarget(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getTransferIntervalTarget());
- nsiAndSubNssiInfo.setSliceProfile_CN_survivalTime(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getSurvivalTime());
- nsiAndSubNssiInfo.setSliceProfile_CN_ipAddress(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getIpAddress());
- nsiAndSubNssiInfo.setSliceProfile_CN_logicInterfaceId(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getLogicInterfaceId());
- nsiAndSubNssiInfo.setSliceProfile_CN_nextHopInfo(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getNextHopInfo());
+ nsiAndSubNssiInfo.setCnSuggestNssiId(sliceTaskParams.getCnSliceTaskInfo().getSuggestNssiId());
+ nsiAndSubNssiInfo.setCnSuggestNssiName(sliceTaskParams.getCnSliceTaskInfo().getSuggestNSSIName());
+ if(!ObjectUtils.isEmpty(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile())){
+ nsiAndSubNssiInfo.setCnServiceSnssai(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getSNSSAIList());
+ nsiAndSubNssiInfo.setCnResourceSharingLevel(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getResourceSharingLevel());
+ nsiAndSubNssiInfo.setCnUeMobilityLevel(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getUeMobilityLevel());
+ nsiAndSubNssiInfo.setCnLatency(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getLatency());
+ nsiAndSubNssiInfo.setCnMaxNumberOfUes(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getMaxNumberOfUEs());
+ nsiAndSubNssiInfo.setCnActivityFactor(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getActivityFactor());
+ nsiAndSubNssiInfo.setCnExpDataRateDl(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getExpDataRateDL());
+ nsiAndSubNssiInfo.setCnExpDataRateUl(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getExpDataRateUL());
+ nsiAndSubNssiInfo.setCnAreaTrafficCapDl(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getAreaTrafficCapDL());
+ nsiAndSubNssiInfo.setCnAreaTrafficCapUl(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getAreaTrafficCapUL());
+
+ nsiAndSubNssiInfo.setSliceProfile_CN_maxNumberofPDUSession(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getMaxNumberOfPDUSession());
+ nsiAndSubNssiInfo.setSliceProfile_CN_overallUserDensity(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getOverallUserDensity());
+ nsiAndSubNssiInfo.setSliceProfile_CN_coverageAreaTAList(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getCoverageAreaTAList());
+ nsiAndSubNssiInfo.setSliceProfile_CN_sST(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getSST());
+ nsiAndSubNssiInfo.setSliceProfile_CN_cSAvailabilityTarget(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getCsAvailabilityTarget());
+ nsiAndSubNssiInfo.setSliceProfile_CN_cSReliabilityMeanTime(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getCsReliabilityMeanTime());
+ nsiAndSubNssiInfo.setSliceProfile_CN_expDataRate(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getExpDataRate());
+ nsiAndSubNssiInfo.setSliceProfile_CN_msgSizeByte(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getMsgSizeByte());
+ nsiAndSubNssiInfo.setSliceProfile_CN_transferIntervalTarget(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getTransferIntervalTarget());
+ nsiAndSubNssiInfo.setSliceProfile_CN_survivalTime(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getSurvivalTime());
+ nsiAndSubNssiInfo.setSliceProfile_CN_ipAddress(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getIpAddress());
+ nsiAndSubNssiInfo.setSliceProfile_CN_logicInterfaceId(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getLogicInterfaceId());
+ nsiAndSubNssiInfo.setSliceProfile_CN_nextHopInfo(sliceTaskParams.getCnSliceTaskInfo().getSliceProfile().getNextHopInfo());
+ }
+
+
}
void convertTaskAuditToSoTask(SOTask targetSoTaskInfo, SlicingTaskAuditInfo sourceSlicingTaskAuditInfo) {
tnSliceProfile.setPLMNIdList(sourceSlicingTaskAuditInfo.getNsiAndSubNssiInfo().getSliceProfile_TN_BH_pLMNIdList());
tnSliceProfile.setSNSSAIList(sourceSlicingTaskAuditInfo.getNsiAndSubNssiInfo().getSliceProfile_TN_BH_sNSSAI());
tnSliceProfile.setSST(sourceSlicingTaskAuditInfo.getNsiAndSubNssiInfo().getSliceProfile_TN_BH_sST());
+ tnSliceProfile.setConnectionLinkId(sourceSlicingTaskAuditInfo.getNsiAndSubNssiInfo().getSliceProfile_TN_BH_connectionLinkId());
+ tnSliceProfile.setResourceSharingLevel(sourceSlicingTaskAuditInfo.getNsiAndSubNssiInfo().getSliceProfile_TN_BH_resourceSharingLevel());
tnBHSliceTaskInfo.setSliceProfile(tnSliceProfile);
sliceTaskParams.setTnBHSliceTaskInfo(tnBHSliceTaskInfo);
slicingTaskCreationInfo.setProcessingStatus(soTask.getStatus());
slicingTaskCreationInfo.setTaskName(soTask.getName());
- SliceTaskParams sliceTaskParams = soTask.getSliceTaskParams();
+ String params = soTask.getParams();
+ Gson gson = new Gson();
+ Type type = new TypeToken<SliceTaskParams>() {}.getType();
+ SliceTaskParams sliceTaskParams = gson.fromJson(params, type);
if (sliceTaskParams == null) {
logger.error("convertTaskCreationInfo: paramsObject is null");
return;
void convertTaskCreationProgress(SlicingTaskCreationProgress slicingTaskCreationProgress, SOTask soTask) {
- SliceTaskParams sliceTaskParams = soTask.getSliceTaskParams();
- if (sliceTaskParams == null) {
+ String params = soTask.getParams();
+ Gson gson = new Gson();
+ Type type = new TypeToken<SliceTaskParams>() {}.getType();
+ SliceTaskParams sliceTaskParams = gson.fromJson(params, type); if (sliceTaskParams == null) {
logger.error("convertTaskCreationProgress: paramsObject is null");
return;
}
*/
package org.onap.usecaseui.server.service.nsmf.impl;
-import java.lang.reflect.Type;
-import java.util.List;
-
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
-
-import javax.annotation.Resource;
import okhttp3.MediaType;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
import org.onap.usecaseui.server.bean.nsmf.task.SlicingTaskCreationProgress;
import org.onap.usecaseui.server.bean.nsmf.task.SlicingTaskList;
import org.onap.usecaseui.server.constant.nsmf.NsmfCodeConstant;
-
import org.onap.usecaseui.server.service.nsmf.TaskMgtService;
-import org.onap.usecaseui.server.service.slicingdomain.so.SOSliceService;
-import org.onap.usecaseui.server.service.slicingdomain.so.bean.SOTask;
-import org.onap.usecaseui.server.service.slicingdomain.so.bean.SOTaskRsp;
-import org.onap.usecaseui.server.service.slicingdomain.so.bean.SliceTaskParams;
import org.onap.usecaseui.server.service.slicingdomain.aai.AAISliceService;
import org.onap.usecaseui.server.service.slicingdomain.aai.bean.connection.ConnectionLink;
import org.onap.usecaseui.server.service.slicingdomain.aai.bean.connection.ConnectionLinkList;
import org.onap.usecaseui.server.service.slicingdomain.aai.bean.connectionvo.ConnectionVo;
import org.onap.usecaseui.server.service.slicingdomain.aai.bean.connectionvo.EndPointInfoListVo;
import org.onap.usecaseui.server.service.slicingdomain.aai.bean.connectionvo.PropertiesVo;
-
+import org.onap.usecaseui.server.service.slicingdomain.so.SOSliceService;
+import org.onap.usecaseui.server.service.slicingdomain.so.bean.SOTask;
+import org.onap.usecaseui.server.service.slicingdomain.so.bean.SOTaskRsp;
import org.onap.usecaseui.server.util.RestfulServices;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
import retrofit2.Response;
import javax.annotation.Resource;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Type;
+import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
ConnectionLinkList connectionLinkList = new ConnectionLinkList();
ConnectionVo connectionVo = new ConnectionVo();
ConnectionListVo connectionListVo = new ConnectionListVo();
+ List<ConnectionListVo> list = new ArrayList<>();
try {
Response<ConnectionLinkList> response = this.aaiSliceService.getConnectionLinks().execute();
if(response.isSuccessful()){
logger.info(connectionLinkList.toString());
List<ConnectionLink> connectionLinks = connectionLinkList.getLogicalLink();
List<ConnectionLink> tsciConnectionLink = connectionLinks.stream().filter(e -> e.getLinkType().equals("TsciConnectionLink") && e.getRelationshipList()!=null).collect(Collectors.toList());
- for (ConnectionLink connectionLink : tsciConnectionLink) {
- Response<EndPointInfoList> anInfo = this.aaiSliceService.getEndpointByLinkName(connectionLink.getLinkName()).execute();
- Response<EndPointInfoList> cnInfo = this.aaiSliceService.getEndpointByLinkName2(connectionLink.getLinkName2()).execute();
-
- PropertiesVo propertiesVo = new PropertiesVo();
- List<RelationshipData> relationshipDataList = connectionLink.getRelationshipList().getRelationship().get(0).getRelationshipDataList();
- List<RelationshipData> allottedResourceId = relationshipDataList.stream().filter(e -> e.getRelationshipKey().equals("allotted-resource.id")).collect(Collectors.toList());
- List<RelationshipData> serviceInstanceId = relationshipDataList.stream().filter(e -> e.getRelationshipKey().equals("service-instance.service-instance-id")).collect(Collectors.toList());
- Response<ConnectionLink> AllottedResource=this.aaiSliceService.getAllottedResource(serviceInstanceId.get(0).getRelationshipValue(),allottedResourceId.get(0).getRelationshipValue()).execute();
- List<Relationship> relationships= AllottedResource.body().getRelationshipList().getRelationship().stream().filter(a-> a.getRelatedTo().equals("network-policy")).collect(Collectors.toList());
- List<RelationshipData> networkPolicyId=relationships.get(0).getRelationshipDataList().stream().filter(e -> e.getRelationshipKey().equals("network-policy.network-policy-id")).collect(Collectors.toList());
- Response<NetworkPolicy> networkPolicy=this.aaiSliceService.getNetworkPolicy(networkPolicyId.get(0).getRelationshipValue()).execute();
- propertiesVo.setJitter(networkPolicy.body().getJitter());
- propertiesVo.setLatency(networkPolicy.body().getLatency());
- propertiesVo.setMaxBandwidth(networkPolicy.body().getMaxBandwidth());
- Response<ConnectionLink> serviceInstance=this.aaiSliceService.getServiceInstance(serviceInstanceId.get(0).getRelationshipValue()).execute();
- propertiesVo.setResourceSharingLevel(serviceInstance.body().getServiceFunction());
-
- connectionListVo.setLinkId(connectionLink.getLinkId());
- EndPointInfoListVo anInfoVo = new EndPointInfoListVo();
- EndPointInfoListVo cnInfoVo = new EndPointInfoListVo();
- BeanUtils.copyProperties(anInfoVo,anInfo.body());
- BeanUtils.copyProperties(cnInfoVo,cnInfo.body());
- connectionListVo.setAnInfo(anInfoVo);
- connectionListVo.setCnInfo(cnInfoVo);
- connectionListVo.setProperties(propertiesVo);
-
-
+ if(!ObjectUtils.isEmpty(tsciConnectionLink)){
+ for (ConnectionLink connectionLink : tsciConnectionLink) {
+ Response<EndPointInfoList> anInfo = this.aaiSliceService.getEndpointByLinkName(connectionLink.getLinkName()).execute();
+ Response<EndPointInfoList> cnInfo = this.aaiSliceService.getEndpointByLinkName2(connectionLink.getLinkName2()).execute();
+
+ PropertiesVo propertiesVo = new PropertiesVo();
+ List<RelationshipData> relationshipDataList = connectionLink.getRelationshipList().getRelationship().get(0).getRelationshipDataList();
+ List<RelationshipData> allottedResourceId = relationshipDataList.stream().filter(e -> e.getRelationshipKey().equals("allotted-resource.id")).collect(Collectors.toList());
+ List<RelationshipData> serviceInstanceId = relationshipDataList.stream().filter(e -> e.getRelationshipKey().equals("service-instance.service-instance-id")).collect(Collectors.toList());
+ Response<ConnectionLink> AllottedResource=this.aaiSliceService.getAllottedResource(serviceInstanceId.get(0).getRelationshipValue(),allottedResourceId.get(0).getRelationshipValue()).execute();
+ List<Relationship> relationships= AllottedResource.body().getRelationshipList().getRelationship().stream().filter(a-> a.getRelatedTo().equals("network-policy")).collect(Collectors.toList());
+ List<RelationshipData> networkPolicyId=relationships.get(0).getRelationshipDataList().stream().filter(e -> e.getRelationshipKey().equals("network-policy.network-policy-id")).collect(Collectors.toList());
+ Response<NetworkPolicy> networkPolicy=this.aaiSliceService.getNetworkPolicy(networkPolicyId.get(0).getRelationshipValue()).execute();
+ propertiesVo.setJitter(networkPolicy.body().getJitter());
+ propertiesVo.setLatency(networkPolicy.body().getLatency());
+ propertiesVo.setMaxBandwidth(networkPolicy.body().getMaxBandwidth());
+ Response<ConnectionLink> serviceInstance=this.aaiSliceService.getServiceInstance(serviceInstanceId.get(0).getRelationshipValue()).execute();
+ propertiesVo.setResourceSharingLevel(serviceInstance.body().getServiceFunction());
+
+ connectionListVo.setLinkId(connectionLink.getLinkId());
+ EndPointInfoListVo anInfoVo = new EndPointInfoListVo();
+ EndPointInfoListVo cnInfoVo = new EndPointInfoListVo();
+ BeanUtils.copyProperties(anInfoVo,anInfo.body());
+ BeanUtils.copyProperties(cnInfoVo,cnInfo.body());
+ connectionListVo.setAnInfo(anInfoVo);
+ connectionListVo.setCnInfo(cnInfoVo);
+ connectionListVo.setProperties(propertiesVo);
+ list.add(connectionListVo);
+ }
}
connectionVo.setRecord_number(tsciConnectionLink.size()+"");
- connectionVo.setConnection_links_list(connectionListVo);
+ connectionVo.setConnection_links_list(list);
resultMsg = "ConnectionLinks query result.";
resultHeader.setResult_code(NsmfCodeConstant.SUCCESS_CODE);
}else {
resultMsg = "ConnectionLinks progress query failed. Unknown exception occurred!";
resultHeader.setResult_code(NsmfCodeConstant.ERROR_CODE_UNKNOWN);
logger.error(e.getMessage());
- }
+ }
logger.info(resultMsg);
logger.info("queryConnectionLinks: ConnectionLinks progress has been finished.");
resultHeader.setResult_message(resultMsg);
private String logicId;
@JsonProperty("next-hop")
private String nextHop;
+ @JsonProperty("lantency")
+ private String lantency ;
+ @JsonProperty("max_bandWidth")
+ private String maxBandWidth ;
+ @JsonProperty("link_type")
+ private String linkType ;
}
--- /dev/null
+/*
+ * Copyright (C) 2021 CMCC, Inc. and others. All rights reserved.
+ *
+ * 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.slicingdomain.aai.bean.connection;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+@Getter
+@Setter
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class RelatedToProperty {
+
+ @JsonProperty("property-key")
+ private String PropertyKey;
+ @JsonProperty("property-value")
+ private String PropertyValue;
+}
private String relatedLink;
@JsonProperty("relationship-data")
private List<RelationshipData> relationshipDataList;
+ @JsonProperty("related-to-property")
+ private List<RelatedToProperty> relatedToProperties;
--- /dev/null
+/*
+ * Copyright (C) 2021 CMCC, Inc. and others. All rights reserved.
+ *
+ * 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.slicingdomain.aai.bean.connectionvo;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Getter;
+import lombok.Setter;
+import org.onap.usecaseui.server.service.slicingdomain.so.bean.AnSliceTaskInfo;
+import org.onap.usecaseui.server.service.slicingdomain.so.bean.CnSliceTaskInfo;
+import org.onap.usecaseui.server.service.slicingdomain.so.bean.TnBHSliceTaskInfo;
+
+@Getter
+@Setter
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ConnectionLinkInfo {
+ @JsonProperty("an_slice_task_info")
+ private AnSliceTaskInfo anSliceTaskInfo;
+ @JsonProperty("cn_slice_task_info")
+ private CnSliceTaskInfo cnSliceTaskInfo;
+ @JsonProperty("tn_bh_slice_task_info")
+ private TnBHSliceTaskInfo tnBHSliceTaskInfo;
+
+}
import lombok.Getter;
import lombok.Setter;
+import java.util.List;
+
@Getter
@Setter
public class ConnectionVo {
private String record_number;
- private ConnectionListVo connection_links_list;
+ private List<ConnectionListVo> connection_links_list;
}
@JsonIgnoreProperties(ignoreUnknown = true)
public class EndPointInfoListVo {
-
private String ipAddress;
private String logicId;
private String nextHop;
package org.onap.usecaseui.server.service.slicingdomain.so.bean;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
@Data
private SliceProfile sliceProfile ;
private String scriptName ;
private Boolean enableNSSISelection ;
+ @JsonProperty("ip_adrress")
+ private String ipAdrress ;
+ @JsonProperty("interface_id")
+ private String interfaceId ;
+ @JsonProperty("nextHop_info")
+ private String nextHopInfo ;
+
+
}
package org.onap.usecaseui.server.service.slicingdomain.so.bean;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
@Data
private SliceProfile sliceProfile ;
private String scriptName ;
private Boolean enableNSSISelection ;
+ @JsonProperty("ip_adrress")
+ private String ipAdrress ;
+ @JsonProperty("interface_id")
+ private String interfaceId ;
+ @JsonProperty("nextHop_info")
+ private String nextHopInfo ;
}
private String isManual;
+ private String params;
+
private SliceTaskParams sliceTaskParams;
this.isManual = isManual;
}
+ public String getParams() {
+ return params;
+ }
+
+ public void setParams(String params) {
+ this.params = params;
+ }
+
public SliceTaskParams getSliceTaskParams() {
return sliceTaskParams;
}
private String latency;
private String ueMobilityLevel;
private String resourceSharingLevel;
+ private String connectionLinkId;
private String maxBandwidth;
private String sST;
private String activityFactor;
package org.onap.usecaseui.server.service.slicingdomain.so.bean;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
@Data
private ServiceProfile serviceProfile;
private String suggestNsiId;
private String suggestNSIName;
+ @JsonProperty("tnBHSliceTaskInfo")
private TnBHSliceTaskInfo tnBHSliceTaskInfo;
+ @JsonProperty("tnMHSliceTaskInfo")
private TnMHSliceTaskInfo tnMHSliceTaskInfo;
private TnFHSliceTaskInfo tnFHSliceTaskInfo;
private CnSliceTaskInfo cnSliceTaskInfo;
package org.onap.usecaseui.server.service.slicingdomain.so.bean;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
@Data
private String progress;
private String status;
private String statusDescription;
- private SliceProfile sliceProfile ;
+ @JsonProperty("sliceProfile")
+ private SliceProfile sliceProfile;
private String scriptName ;
private Boolean enableNSSISelection ;
+ @JsonProperty("lantency")
+ private String lantency ;
+ @JsonProperty("max_bandWidth")
+ private String maxBandWidth ;
+ @JsonProperty("link_type")
+ private String linkType ;
}
package org.onap.usecaseui.server.service.slicingdomain.so.bean;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class TnMHSliceTaskInfo {
+ @JsonProperty("sliceProfile")
private SliceProfile sliceProfile ;
}