diff options
author | romaingimbert <romain.gimbert@orange.com> | 2018-07-06 11:54:49 +0200 |
---|---|---|
committer | romaingimbert <romain.gimbert@orange.com> | 2018-07-06 12:26:03 +0200 |
commit | 7f3ac1ec967c0768c3807c1d980e4b6b658d7ec0 (patch) | |
tree | 6c876ff62b462eecac5ed989198c49fe164e90ef /src/main | |
parent | 41c7f9dab184a49808104b308a57409f4ee8a1b1 (diff) |
adapt NBI to Beijing
-change SO Url to "v6"
-add xtransactionid in AAI request header
-add fields Project and OwningEntity in SO request
-fix tests
Change-Id: I61f3ef9f99f4d200cc8f04e7f4929dc1fddf130a
Issue-ID: EXTAPI-117
Signed-off-by: romaingimbert <romain.gimbert@orange.com>
Diffstat (limited to 'src/main')
9 files changed, 141 insertions, 6 deletions
diff --git a/src/main/java/org/onap/nbi/OnapComponentsUrlPaths.java b/src/main/java/org/onap/nbi/OnapComponentsUrlPaths.java index 67c72e3..69cc5be 100644 --- a/src/main/java/org/onap/nbi/OnapComponentsUrlPaths.java +++ b/src/main/java/org/onap/nbi/OnapComponentsUrlPaths.java @@ -42,7 +42,7 @@ public final class OnapComponentsUrlPaths { "/aai/v11/business/customers/customer/$customerId/service-subscriptions/service-subscription/$serviceSpecName/service-instances/"; // MSO - public static final String MSO_CREATE_SERVICE_INSTANCE_PATH = "/ecomp/mso/infra/serviceInstances/v4"; - public static final String MSO_GET_REQUEST_STATUS_PATH = "/ecomp/mso/infra/orchestrationRequests/v4/"; - public static final String MSO_DELETE_REQUEST_STATUS_PATH = "/ecomp/mso/infra/serviceInstances/v4/"; + public static final String MSO_CREATE_SERVICE_INSTANCE_PATH = "/ecomp/mso/infra/serviceInstances/v6"; + public static final String MSO_GET_REQUEST_STATUS_PATH = "/ecomp/mso/infra/orchestrationRequests/v6/"; + public static final String MSO_DELETE_REQUEST_STATUS_PATH = "/ecomp/mso/infra/serviceInstances/v6/"; } diff --git a/src/main/java/org/onap/nbi/apis/serviceinventory/AaiClient.java b/src/main/java/org/onap/nbi/apis/serviceinventory/AaiClient.java index 5cd4c35..a09917c 100644 --- a/src/main/java/org/onap/nbi/apis/serviceinventory/AaiClient.java +++ b/src/main/java/org/onap/nbi/apis/serviceinventory/AaiClient.java @@ -41,9 +41,13 @@ public class AaiClient extends BaseClient { @Value("${aai.api.id}") private String aaiApiId; + @Value("${aai.header.transaction.id}") + private String aaiTransactionId; + private static final String HEADER_AUTHORIZATION = "Authorization"; private static final String X_FROM_APP_ID = "X-FromAppId"; private static final Logger LOGGER = LoggerFactory.getLogger(AaiClient.class); + private static final String X_TRANSACTION_ID = "X-TransactionId"; private HttpHeaders buildRequestHeaderForAAI() { @@ -52,6 +56,8 @@ public class AaiClient extends BaseClient { httpHeaders.add(X_FROM_APP_ID, aaiApiId); httpHeaders.add("Accept", "application/json"); httpHeaders.add("Content-Type", "application/json"); + httpHeaders.add(X_TRANSACTION_ID, aaiTransactionId); + return httpHeaders; } diff --git a/src/main/java/org/onap/nbi/apis/serviceinventory/BaseClient.java b/src/main/java/org/onap/nbi/apis/serviceinventory/BaseClient.java index 4c9d8e5..72ee99e 100644 --- a/src/main/java/org/onap/nbi/apis/serviceinventory/BaseClient.java +++ b/src/main/java/org/onap/nbi/apis/serviceinventory/BaseClient.java @@ -29,13 +29,23 @@ public abstract class BaseClient { private static final Logger LOGGER = LoggerFactory.getLogger(BaseClient.class); + @Autowired private RestTemplate restTemplate; + + protected ResponseEntity<Object> callApiGet(String callURL, HttpHeaders httpHeaders) { - ResponseEntity<Object> response = restTemplate.exchange(callURL, HttpMethod.GET, - new HttpEntity<>("parameters", httpHeaders), Object.class); + + if(LOGGER.isDebugEnabled()){ + LOGGER.debug("log request : "+callURL+ " "+httpHeaders); + } + + ResponseEntity<Object> response = null; + response = restTemplate.exchange(callURL, HttpMethod.GET, + new HttpEntity<>("parameters", httpHeaders), Object.class); + if(LOGGER.isDebugEnabled()){ LOGGER.debug("response body : {}",response.getBody().toString()); } diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/MultiClient.java b/src/main/java/org/onap/nbi/apis/serviceorder/MultiClient.java index 5e4668a..4884485 100644 --- a/src/main/java/org/onap/nbi/apis/serviceorder/MultiClient.java +++ b/src/main/java/org/onap/nbi/apis/serviceorder/MultiClient.java @@ -53,6 +53,10 @@ public class MultiClient { @Value("${aai.api.id}") private String aaiApiId; + @Value("${aai.header.transaction.id}") + private String aaiTransactionId; + + @Value("${onap.lcpCloudRegionId}") private String lcpCloudRegionId; @@ -71,6 +75,7 @@ public class MultiClient { private static final String HEADER_AUTHORIZATION = "Authorization"; private static final String X_FROM_APP_ID = "X-FromAppId"; + private static final String X_TRANSACTION_ID = "X-TransactionId"; private static final Logger LOGGER = LoggerFactory.getLogger(MultiClient.class); @@ -96,6 +101,8 @@ public class MultiClient { httpHeaders.add(X_FROM_APP_ID, aaiApiId); httpHeaders.add("Accept", "application/json"); httpHeaders.add("Content-Type", "application/json"); + httpHeaders.add(X_TRANSACTION_ID, aaiTransactionId); + return httpHeaders; } diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/model/consumer/OwningEntity.java b/src/main/java/org/onap/nbi/apis/serviceorder/model/consumer/OwningEntity.java new file mode 100644 index 0000000..fb80d2d --- /dev/null +++ b/src/main/java/org/onap/nbi/apis/serviceorder/model/consumer/OwningEntity.java @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2018 Orange + * + * 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.nbi.apis.serviceorder.model.consumer; + +public class OwningEntity { + + private String owningEntityId; + private String owningEntityName; + + public String getOwningEntityId() { + return owningEntityId; + } + + public void setOwningEntityId(String owningEntityId) { + this.owningEntityId = owningEntityId; + } + + public String getOwningEntityName() { + return owningEntityName; + } + + public void setOwningEntityName(String owningEntityName) { + this.owningEntityName = owningEntityName; + } +} diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/model/consumer/Project.java b/src/main/java/org/onap/nbi/apis/serviceorder/model/consumer/Project.java new file mode 100644 index 0000000..fca5391 --- /dev/null +++ b/src/main/java/org/onap/nbi/apis/serviceorder/model/consumer/Project.java @@ -0,0 +1,29 @@ +/** + * Copyright (c) 2018 Orange + * + * 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.nbi.apis.serviceorder.model.consumer; + +public class Project { + + private String projectName; + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } +} diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/model/consumer/RequestDetails.java b/src/main/java/org/onap/nbi/apis/serviceorder/model/consumer/RequestDetails.java index da5b1ad..2354b39 100644 --- a/src/main/java/org/onap/nbi/apis/serviceorder/model/consumer/RequestDetails.java +++ b/src/main/java/org/onap/nbi/apis/serviceorder/model/consumer/RequestDetails.java @@ -27,6 +27,25 @@ public class RequestDetails { private CloudConfiguration cloudConfiguration; + private OwningEntity owningEntity; + + private Project project; + + public Project getProject() { + return project; + } + + public void setProject(Project project) { + this.project = project; + } + + public OwningEntity getOwningEntity() { + return owningEntity; + } + + public void setOwningEntity(OwningEntity owningEntity) { + this.owningEntity = owningEntity; + } public CloudConfiguration getCloudConfiguration() { return cloudConfiguration; diff --git a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java index 66bb408..def4fe0 100644 --- a/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java +++ b/src/main/java/org/onap/nbi/apis/serviceorder/workflow/SOTaskProcessor.java @@ -28,6 +28,8 @@ import org.onap.nbi.apis.serviceorder.model.consumer.CreateServiceInstanceRespon import org.onap.nbi.apis.serviceorder.model.consumer.GetRequestStatusResponse; import org.onap.nbi.apis.serviceorder.model.consumer.MSOPayload; import org.onap.nbi.apis.serviceorder.model.consumer.ModelInfo; +import org.onap.nbi.apis.serviceorder.model.consumer.OwningEntity; +import org.onap.nbi.apis.serviceorder.model.consumer.Project; import org.onap.nbi.apis.serviceorder.model.consumer.RequestDetails; import org.onap.nbi.apis.serviceorder.model.consumer.RequestInfo; import org.onap.nbi.apis.serviceorder.model.consumer.RequestParameters; @@ -60,6 +62,15 @@ public class SOTaskProcessor { @Value("${onap.tenantId}") private String tenantId; + @Value("${so.owning.entity.id}") + private String soOwningEntityId; + + @Value("${so.owning.entity.name}") + private String soOwningEntityName; + + @Value("${so.project.name}") + private String soProjectName; + @Autowired private ServiceOrderService serviceOrderService; @@ -289,6 +300,17 @@ public class SOTaskProcessor { CloudConfiguration cloudConfiguration = new CloudConfiguration(lcpCloudRegionId, tenantId); requestDetails.setCloudConfiguration(cloudConfiguration); + + OwningEntity owningEntity = new OwningEntity(); + owningEntity.setOwningEntityId(soOwningEntityId); + owningEntity.setOwningEntityName(soOwningEntityName); + requestDetails.setOwningEntity(owningEntity); + + Project project = new Project(); + project.setProjectName(soProjectName); + + requestDetails.setProject(project); + return requestDetails; } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 4e45084..7c9975f 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -38,12 +38,16 @@ sdc.header.authorization=Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2Y # AAI aai.host=https://10.0.1.1:8443 aai.header.authorization=Basic QUFJOkFBSQ== -aai.api.id=AAI +aai.api.id=NBI +aai.header.transaction.id=808b54e3-e563-4144-a1b9-e24e2ed93d4f # SO so.host=http://10.0.5.1:8080 so.header.authorization=Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== so.api.id=SO +so.owning.entity.id=6b5b6b70-4e9a-4f6f-8b7b-cbd7cf990c6e +so.owning.entity.name=OE-generic +so.project.name=Project-generic # MONGO spring.data.mongodb.host=localhost |