summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiZi <li.zi30@zte.com.cn>2018-03-01 21:08:47 -0500
committerLiZi <li.zi30@zte.com.cn>2018-03-01 21:09:03 -0500
commit1d8aafe77787e3c86ec53075cd0eaf3536316aef (patch)
tree7a95def796026e61d0eee593be57985c4456d9bb
parent06fe3f5d62f9b986ebb8babf6fb140baed44769f (diff)
Get complex name and put it to cloud region
Get complex name by query complex object and put it to cloud region when register VIM. Change-Id: I1c5a2537b70de5ec8d3630dec6c8b79981445290 Issue-ID: AAI-829 Signed-off-by: LiZi <li.zi30@zte.com.cn>
-rw-r--r--esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/Complex.java12
-rw-r--r--esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/CloudRegionProxy.java13
-rw-r--r--esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/ICloudRegion.java8
-rw-r--r--esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VimManagerWrapper.java21
-rw-r--r--esr-mgr/src/test/java/org/onap/aai/esr/wrapper/VimManagerWrapperTest.java2
5 files changed, 51 insertions, 5 deletions
diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/Complex.java b/esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/Complex.java
index 0a543bb..77f9b8b 100644
--- a/esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/Complex.java
+++ b/esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/Complex.java
@@ -23,6 +23,10 @@ public class Complex implements Serializable {
@SerializedName("physical-location-id")
private String physicalLocationId;
+
+
+ @SerializedName("complex-name")
+ private String complexName;
public String getPhysicalLocationId() {
return physicalLocationId;
@@ -31,4 +35,12 @@ public class Complex implements Serializable {
public void setPhysicalLocationId(String physicalLocationId) {
this.physicalLocationId = physicalLocationId;
}
+
+ public String getComplexName() {
+ return complexName;
+ }
+
+ public void setComplexName(String complexName) {
+ this.complexName = complexName;
+ }
}
diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/CloudRegionProxy.java b/esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/CloudRegionProxy.java
index a162cd0..623fa1c 100644
--- a/esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/CloudRegionProxy.java
+++ b/esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/CloudRegionProxy.java
@@ -81,8 +81,17 @@ public class CloudRegionProxy {
throw new ExtsysException("Query complexes from A&AI failed.", e);
}
}
-
- public void createCloudRegionRelationShip(String cloudOwner, String cloudRegionId, Relationship relationship) throws ExtsysException {
+
+ public String queryComplex(String physicalLocationId) throws ExtsysException {
+ try {
+ return adapterServiceproxy.queryComplex(transactionId, fromAppId, authorization, physicalLocationId);
+ } catch (Exception e) {
+ throw new ExtsysException("Query complexes from A&AI failed.", e);
+ }
+ }
+
+ public void createCloudRegionRelationShip(String cloudOwner, String cloudRegionId, Relationship relationship)
+ throws ExtsysException {
ClientConfig config = new ClientConfig(new RelationshipProvider());
ICloudRegion createRelationshipProxy =
ConsumerFactory.createConsumer(MsbConfig.getCloudInfrastructureAddr(), config, ICloudRegion.class);
diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/ICloudRegion.java b/esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/ICloudRegion.java
index f2e47b6..b30cd82 100644
--- a/esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/ICloudRegion.java
+++ b/esr-mgr/src/main/java/org/onap/aai/esr/externalservice/aai/ICloudRegion.java
@@ -83,4 +83,12 @@ public interface ICloudRegion {
public String queryComplexList(@HeaderParam("X-TransactionId") String transactionId,
@HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization)
throws ExtsysException;
+
+ @GET
+ @Path("/complexes/complex/{physical_location_id}")
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces(MediaType.APPLICATION_JSON)
+ public String queryComplex(@HeaderParam("X-TransactionId") String transactionId,
+ @HeaderParam("X-FromAppId") String fromApp, @HeaderParam("Authorization") String authorization,
+ @PathParam("physical_location_id") String physical_location_id) throws ExtsysException;
}
diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VimManagerWrapper.java b/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VimManagerWrapper.java
index 7c3c8d7..3003159 100644
--- a/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VimManagerWrapper.java
+++ b/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VimManagerWrapper.java
@@ -20,6 +20,7 @@ import java.util.List;
import javax.ws.rs.core.Response;
import org.onap.aai.esr.entity.aai.CloudRegionDetail;
import org.onap.aai.esr.entity.aai.CloudRegionList;
+import org.onap.aai.esr.entity.aai.Complex;
import org.onap.aai.esr.entity.aai.ComplexList;
import org.onap.aai.esr.entity.aai.EsrSystemInfo;
import org.onap.aai.esr.entity.aai.Relationship;
@@ -71,7 +72,8 @@ public class VimManagerWrapper {
String cloudOwner = vimRegisterInfo.getCloudOwner();
String cloudRegionId = vimRegisterInfo.getCloudRegionId();
String physicalLocationId = vimRegisterInfo.getPhysicalLocationId();
- //TODO query complex by complex id to get complex name. and put the name to vimRegisterInfo.complexName
+ String complexName = getComplexName(physicalLocationId);
+ cloudRegion.setComplexName(complexName);
try {
cloudRegionProxy.registerVim(cloudOwner, cloudRegionId, cloudRegion);
result.setCloudOwner(cloudOwner);
@@ -242,19 +244,32 @@ public class VimManagerWrapper {
}
return cloudRegionDetail;
}
+
+ private String getComplexName(String physicalLocationId) {
+ Complex complex = new Complex();
+ try {
+ String complexStr = cloudRegionProxy.queryComplex(physicalLocationId);
+ LOG.info("The complexes query result is: " + complexStr);
+ complex = new Gson().fromJson(complexStr, Complex.class);
+ return complex.getComplexName();
+ } catch (ExtsysException e) {
+ LOG.error("Query complex by physical location Id failed !", e);
+ return null;
+ }
+ }
public Response queryComplexes() {
ComplexList complexList = new ComplexList();
List<String> physicalLocationIdList = new ArrayList<>();
try {
String complexesString = cloudRegionProxy.qureyComplexes();
- LOG.info("The complex query result is: " + complexesString);
+ LOG.info("The complexes query result is: " + complexesString);
complexList = new Gson().fromJson(complexesString, ComplexList.class);
for (int i=0; i<complexList.getComplex().size(); i++) {
physicalLocationIdList.add(complexList.getComplex().get(i).getPhysicalLocationId());
}
} catch (ExtsysException e) {
- LOG.error("Query vim details by ID failed !", e);
+ LOG.error("Query complexes failed !", e);
}
return Response.ok(physicalLocationIdList).build();
}
diff --git a/esr-mgr/src/test/java/org/onap/aai/esr/wrapper/VimManagerWrapperTest.java b/esr-mgr/src/test/java/org/onap/aai/esr/wrapper/VimManagerWrapperTest.java
index 7387ddb..4c82147 100644
--- a/esr-mgr/src/test/java/org/onap/aai/esr/wrapper/VimManagerWrapperTest.java
+++ b/esr-mgr/src/test/java/org/onap/aai/esr/wrapper/VimManagerWrapperTest.java
@@ -58,9 +58,11 @@ public class VimManagerWrapperTest {
vimAuthInfo.setDefaultTenant("admin");
vimAuthInfos.add(vimAuthInfo);
vimRegisterInfo.setVimAuthInfos(vimAuthInfos);
+ String complexStr = "{\"physical-location-id\": \"complex\", \"data-center-code\": \"test\", \"complex-name\": \"complex\"}";
CloudRegionProxy mockCloudRegionProxy = Mockito.mock(CloudRegionProxy.class);
Mockito.doNothing().when(mockCloudRegionProxy).registerVim(Mockito.anyString(), Mockito.anyString(),
(CloudRegionDetail) Mockito.anyObject());
+ Mockito.when(mockCloudRegionProxy.queryComplex(Mockito.anyString())).thenReturn(complexStr);
VimManagerWrapper vimManagerWrapper = new VimManagerWrapper(mockCloudRegionProxy);
Response response = vimManagerWrapper.registerVim(vimRegisterInfo);
if (response != null) {