public class Service {
@JsonProperty("id")
private String id = null;
+
+ @JsonProperty("serviceType")
+ private String servicetype = null;
@JsonProperty("href")
private String href = null;
public void setId(String id) {
this.id = id;
}
+
+ @JsonProperty("serviceType")
+ @ApiModelProperty(value = "Business type of the service")
+ public String getServicetype() {
+ return servicetype;
+ }
+
+ public void setServicetype(String servicetype) {
+ this.servicetype = servicetype;
+ }
public Service href(String href) {
this.href = href;
import org.onap.nbi.apis.serviceorder.model.orchestrator.ServiceOrderItemInfo;
public class E2EServiceUtils {
+
public static boolean isE2EService(ServiceOrderItemInfo serviceOrderItemInfo) {
Map<String, Object> sdcInfos = serviceOrderItemInfo.getCatalogResponse();
boolean e2eService = false;
// and e2eServiceInstances )APIs for service CRUD
// All E2E Services are required to be created in SDC under category "E2E Services" until SO fixes the
// multiple API issue.
- if (category.startsWith("e2e")) {
+ if (category.startsWith("e2e") || category.startsWith("CST")) {
e2eService = true;
}
}
private static final Logger LOGGER = LoggerFactory.getLogger(CreateAAIServiceTypeManager.class);
public void createAAIServiceType(ServiceOrder serviceOrder, ServiceOrderInfo serviceOrderInfo) {
-
Map servicesInAaiForCustomer = serviceOrderConsumerService.getServicesInAaiForCustomer(
serviceOrderInfo.getSubscriberInfo().getGlobalSubscriberId(), serviceOrder);
if (ActionType.ADD == serviceOrderItem.getAction()) {
ServiceOrderItemInfo serviceOrderItemInfo =
serviceOrderInfo.getServiceOrderItemInfos().get(serviceOrderItem.getId());
- String sdcServiceName = (String) serviceOrderItemInfo.getCatalogResponse().get("name");
- if (!serviceNameExistsInAAI(servicesInAaiForCustomer, sdcServiceName)) {
+ String serviceTypeFromJson = serviceOrderItem.getService().getServicetype();
+ String serviceType = serviceTypeFromJson != null ? serviceTypeFromJson : (String) serviceOrderItemInfo.getCatalogResponse().get("name");
+ if (!serviceNameExistsInAAI(servicesInAaiForCustomer, serviceType)) {
boolean serviceCreated = serviceOrderConsumerService.putServiceType(
- serviceOrderInfo.getSubscriberInfo().getGlobalSubscriberId(), sdcServiceName, serviceOrder);
+ serviceOrderInfo.getSubscriberInfo().getGlobalSubscriberId(), serviceType, serviceOrder);
if (!serviceCreated) {
serviceOrderService.updateOrderState(serviceOrder, StateType.REJECTED);
LOGGER.warn("serviceOrder {} rejected : cannot create service type {} for customer {}",
- serviceOrder.getId(), sdcServiceName,
+ serviceOrder.getId(), serviceType,
serviceOrderInfo.getSubscriberInfo().getGlobalSubscriberId());
serviceOrderService.addOrderMessage(serviceOrder, "501");
}
- private boolean serviceNameExistsInAAI(Map servicesInAaiForCustomer, String sdcServiceName) {
+ private boolean serviceNameExistsInAAI(Map servicesInAaiForCustomer, String serviceType) {
if (servicesInAaiForCustomer != null && servicesInAaiForCustomer.get("service-subscription") != null) {
List<LinkedHashMap> servicesInAAI =
(List<LinkedHashMap>) servicesInAaiForCustomer.get("service-subscription");
for (LinkedHashMap service : servicesInAAI) {
- String serviceType = (String) service.get("service-type");
- if (sdcServiceName.equalsIgnoreCase(serviceType)) {
+ String serviceTypeInAAI = (String) service.get("service-type");
+ if (serviceType.equalsIgnoreCase(serviceTypeInAAI)) {
return true;
}
requestDetails.setRequestInfo(requestInfo);
RequestParameters requestParameters = new RequestParameters();
- requestParameters.setSubscriptionServiceType((String) sdcInfos.get("name"));
+
+ String serviceTypeFromJson = orderItem.getService().getServicetype();
+ requestParameters.setSubscriptionServiceType(serviceTypeFromJson != null ? serviceTypeFromJson:(String) sdcInfos.get("name"));
requestParameters.setUserParams(
retrieveUserParamsFromServiceCharacteristics(orderItem.getService().getServiceCharacteristic()));
requestParameters.setaLaCarte(true);
service.setServiceUuid(serviceOrderItem.getService().getServiceSpecification().getId());
service.setServiceInvariantUuid((String) sdcInfos.get("invariantUUID"));
service.setGlobalSubscriberId(subscriberInfo.getGlobalSubscriberId());
- service.setServiceType((String) sdcInfos.get("name"));
-
+ String serviceTypeFromJson = serviceOrderItem.getService().getServicetype();
+ service.setServiceType(serviceTypeFromJson != null ? serviceTypeFromJson : (String) sdcInfos.get("name"));
ParametersModel parameters = new ParametersModel();
ArrayList<ResourceModel> resources = new ArrayList();