summaryrefslogtreecommitdiffstats
path: root/esr-mgr/src
diff options
context:
space:
mode:
authorlizi00164331 <li.zi30@zte.com.cn>2017-09-16 17:19:53 +0800
committerlizi00164331 <li.zi30@zte.com.cn>2017-09-16 17:19:53 +0800
commit54c4773879f0a39d463267070679ba3d4022419f (patch)
treea441743f2ddd1ba0a10045bab748faabfa64f95d /esr-mgr/src
parent567917ad3680d64f56568aee3d6c854e79f049ab (diff)
Realize update VNFM API.
Realize update VNFM API. Fix the bug in update VIM API. Change-Id: I54c9d4a7a71df40373265c50ee76b381d5f072ad Issue-ID: AAI-314 Signed-off-by: lizi00164331 <li.zi30@zte.com.cn>
Diffstat (limited to 'esr-mgr/src')
-rw-r--r--esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/CloudRegion.java12
-rw-r--r--esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/CloudRegionDetail.java12
-rw-r--r--esr-mgr/src/main/java/org/onap/aai/esr/resource/VimManager.java16
-rw-r--r--esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VimManagerWrapper.java33
-rw-r--r--esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VnfmManagerWrapper.java62
5 files changed, 93 insertions, 42 deletions
diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/CloudRegion.java b/esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/CloudRegion.java
index fe1ea4c..b6db29f 100644
--- a/esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/CloudRegion.java
+++ b/esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/CloudRegion.java
@@ -47,8 +47,8 @@ public class CloudRegion implements Serializable {
@SerializedName("cloud-extra-info")
private String cloudExtraInfo;
- @SerializedName("resouce-version")
- private String resouceVersion;
+ @SerializedName("resource-version")
+ private String resourceVersion;
public String getCloudOwner() {
return cloudOwner;
@@ -114,12 +114,12 @@ public class CloudRegion implements Serializable {
this.cloudExtraInfo = cloudExtraInfo;
}
- public String getResouceVersion() {
- return resouceVersion;
+ public String getResourceVersion() {
+ return resourceVersion;
}
- public void setResouceVersion(String resouceVersion) {
- this.resouceVersion = resouceVersion;
+ public void setResourceVersion(String resourceVersion) {
+ this.resourceVersion = resourceVersion;
}
public static long getSerialversionuid() {
diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/CloudRegionDetail.java b/esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/CloudRegionDetail.java
index 8c6ad38..9f44386 100644
--- a/esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/CloudRegionDetail.java
+++ b/esr-mgr/src/main/java/org/onap/aai/esr/entity/aai/CloudRegionDetail.java
@@ -47,8 +47,8 @@ public class CloudRegionDetail implements Serializable {
@SerializedName("cloud-extra-info")
private String cloudExtraInfo;
- @SerializedName("resouce-version")
- private String resouceVersion;
+ @SerializedName("resource-version")
+ private String resourceVersion;
@SerializedName("esr-system-info-list")
private EsrSystemInfoList esrSystemInfoList;
@@ -117,12 +117,12 @@ public class CloudRegionDetail implements Serializable {
this.cloudExtraInfo = cloudExtraInfo;
}
- public String getResouceVersion() {
- return resouceVersion;
+ public String getResourceVersion() {
+ return resourceVersion;
}
- public void setResouceVersion(String resouceVersion) {
- this.resouceVersion = resouceVersion;
+ public void setResourceVersion(String resourceVersion) {
+ this.resourceVersion = resourceVersion;
}
public EsrSystemInfoList getEsrSystemInfoList() {
diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/resource/VimManager.java b/esr-mgr/src/main/java/org/onap/aai/esr/resource/VimManager.java
index 8dee4c9..67fcca0 100644
--- a/esr-mgr/src/main/java/org/onap/aai/esr/resource/VimManager.java
+++ b/esr-mgr/src/main/java/org/onap/aai/esr/resource/VimManager.java
@@ -85,7 +85,7 @@ public class VimManager {
/**
* delete vim by id.
*/
- @Path("/{vimId}")
+ @Path("/{cloudOwner}/{cloudRegionId}")
@DELETE
@ApiOperation(value = "delete a vim")
@ApiResponses(value = {
@@ -96,16 +96,16 @@ public class VimManager {
@ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "internal server error",
response = String.class)})
@Timed
- public Response delvim(@PathParam("vimId") String vimId) {
- LOGGER.info("start delete vim .id:" + vimId);
- return VimManagerWrapper.getInstance().delVim(vimId);
+ public Response delvim(@PathParam("cloudOwner") String cloudOwner,@PathParam("cloudRegionId") String cloudRegionId) {
+ LOGGER.info("start delete cloud-owner :" + cloudOwner +", cloud-region-id: " + cloudRegionId);
+ return VimManagerWrapper.getInstance().delVim(cloudOwner, cloudRegionId);
}
/**
* update vim by id.
*/
@PUT
- @Path("/{vimId}")
+ @Path("/{cloudOwner}/{cloudRegionId}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
@ApiOperation(value = "update a vim")
@@ -117,9 +117,9 @@ public class VimManager {
@ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "internal server error",
response = String.class)})
@Timed
- public Response updatevims(VimRegisterInfo vim, @PathParam("vimId") String vimId) {
- LOGGER.info("start update vim .id:" + vimId + " info:" + ExtsysUtil.objectToString(vim));
- return VimManagerWrapper.getInstance().updateVim(vim);
+ public Response updatevims(@PathParam("cloudOwner") String cloudOwner, @PathParam("cloudRegionId") String cloudRegionId, VimRegisterInfo vim) {
+ LOGGER.info("start update vim info:" + ExtsysUtil.objectToString(vim));
+ return VimManagerWrapper.getInstance().updateVim(cloudOwner, cloudRegionId, vim);
}
/**
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 ad31f27..3ba83b0 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
@@ -21,6 +21,7 @@ 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.EsrSystemInfo;
import org.onap.aai.esr.entity.rest.VimRegisterInfo;
import org.onap.aai.esr.entity.rest.VimRegisterResponse;
import org.onap.aai.esr.externalservice.aai.CloudRegionProxy;
@@ -70,16 +71,12 @@ public class VimManagerWrapper {
}
}
- public Response updateVim(VimRegisterInfo vimRegisterInfo) {
+ public Response updateVim(String cloudOwner, String cloudRegionId,VimRegisterInfo vimRegisterInfo) {
LOG.info("Start update VIM, input VIM info is: " + ExtsysUtil.objectToString(vimRegisterInfo));
- String cloudOwner = vimRegisterInfo.getCloudOwner();
- String cloudRegionId = vimRegisterInfo.getCloudRegionId();
- String resourceVersion = getResourceVersion(cloudOwner, cloudRegionId);
CloudRegionDetail cloudRegionDetail = new CloudRegionDetail();
VimRegisterResponse result = new VimRegisterResponse();
- cloudRegionDetail = VimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo);
- cloudRegionDetail.setResouceVersion(resourceVersion);
+ cloudRegionDetail = getVimUpdateInfo(vimRegisterInfo);
try {
CloudRegionProxy.registerVim(cloudOwner, cloudRegionId, cloudRegionDetail);
result.setCloudOwner(cloudOwner);
@@ -152,12 +149,12 @@ public class VimManagerWrapper {
return registeredVimInfo;
}
- private String getResourceVersion(String cloudOwner, String cloudRegionId) {
+ private CloudRegionDetail getOriginalCloudRegion(String cloudOwner, String cloudRegionId) {
CloudRegionDetail cloudRegionDetail = new CloudRegionDetail();
try {
String cloudRegionstr = CloudRegionProxy.queryVimDetail(cloudOwner, cloudRegionId);
cloudRegionDetail = new Gson().fromJson(cloudRegionstr, CloudRegionDetail.class);
- return cloudRegionDetail.getResouceVersion();
+ return cloudRegionDetail;
} catch (Exception error) {
error.printStackTrace();
LOG.error("query VIM detail failed ! cloud-owner = " + cloudOwner + ", cloud-region-id = "
@@ -165,8 +162,26 @@ public class VimManagerWrapper {
return null;
}
}
+
+ private CloudRegionDetail getVimUpdateInfo(VimRegisterInfo vimRegisterInfo) {
+ CloudRegionDetail cloudRegionDetail = new CloudRegionDetail();
+ CloudRegionDetail originalCloudRegionDetail = new CloudRegionDetail();
+ EsrSystemInfo originalSystemInfo = new EsrSystemInfo();
+ String cloudOwner = vimRegisterInfo.getCloudOwner();
+ String cloudRegionId = vimRegisterInfo.getCloudRegionId();
+ originalCloudRegionDetail = getOriginalCloudRegion(cloudOwner, cloudRegionId);
+ String resourceVersion = originalCloudRegionDetail.getResourceVersion();
+ cloudRegionDetail = VimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo);
+ if(originalCloudRegionDetail != null && resourceVersion != null) {
+ cloudRegionDetail.setResourceVersion(resourceVersion);
+ originalSystemInfo = originalCloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0);
+ cloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0).setEsrSystemInfoId(originalSystemInfo.getEsrSystemInfoId());
+ cloudRegionDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0).setResouceVersion(originalSystemInfo.getResouceVersion());
+ }
+ return cloudRegionDetail;
+ }
- public Response delVim(String vimId) {
+ public Response delVim(String cloudOwner, String cloudRegionId) {
// TODO
return Response.noContent().build();
}
diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VnfmManagerWrapper.java b/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VnfmManagerWrapper.java
index 30d4e3d..016e525 100644
--- a/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VnfmManagerWrapper.java
+++ b/esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VnfmManagerWrapper.java
@@ -19,6 +19,7 @@ import java.util.ArrayList;
import javax.ws.rs.core.Response;
+import org.onap.aai.esr.entity.aai.EsrSystemInfo;
import org.onap.aai.esr.entity.aai.EsrVnfmDetail;
import org.onap.aai.esr.entity.aai.EsrVnfmList;
import org.onap.aai.esr.entity.rest.CommonRegisterResponse;
@@ -63,8 +64,29 @@ public class VnfmManagerWrapper {
}
public Response updateVnfm(VnfmRegisterInfo vnfm, String vnfmId) {
- // TODO
- return Response.ok().build();
+ CommonRegisterResponse result = new CommonRegisterResponse();
+ EsrVnfmDetail esrVnfmDetail = new EsrVnfmDetail();
+ EsrVnfmDetail originalEsrVnfmDetail = new EsrVnfmDetail();
+ EsrSystemInfo originalEsrSystemInfo = new EsrSystemInfo();
+ originalEsrVnfmDetail = queryEsrVnfmDetail(vnfmId);
+ esrVnfmDetail = VnfmManagerUtil.vnfmRegisterInfo2EsrVnfm(vnfm);
+ String resourceVersion = getResourceVersion(vnfmId);
+ esrVnfmDetail.setResourceVersion(resourceVersion);
+ esrVnfmDetail.setVnfmId(vnfmId);
+ originalEsrSystemInfo = originalEsrVnfmDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0);
+ esrVnfmDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0)
+ .setEsrSystemInfoId(originalEsrSystemInfo.getEsrSystemInfoId());
+ esrVnfmDetail.getEsrSystemInfoList().getEsrSystemInfo().get(0)
+ .setResouceVersion(originalEsrSystemInfo.getResouceVersion());
+ try {
+ ExternalSystemProxy.registerVnfm(vnfmId, esrVnfmDetail);
+ result.setId(vnfmId);
+ return Response.ok(result).build();
+ } catch (Exception e) {
+ e.printStackTrace();
+ LOG.error("Update VNFM failed !" + e.getMessage());
+ return Response.serverError().build();
+ }
}
public Response queryVnfmList() {
@@ -95,17 +117,8 @@ public class VnfmManagerWrapper {
}
public Response delVnfm(String vnfmId) {
- EsrVnfmDetail esrVnfmDetail = new EsrVnfmDetail();
- try {
- String esrVnfmstr = ExternalSystemProxy.queryVnfmDetail(vnfmId);
- LOG.info("Response from AAI by query VNFM: " + esrVnfmstr);
- esrVnfmDetail = new Gson().fromJson(esrVnfmstr, EsrVnfmDetail.class);
- } catch (Exception e) {
- e.printStackTrace();
- LOG.error("Query VNFM detail failed! VNFM ID: " + vnfmId, e.getMessage());
- }
- if (esrVnfmDetail != null && esrVnfmDetail.getResourceVersion() != null) {
- String resourceVersion = esrVnfmDetail.getResourceVersion();
+ String resourceVersion = getResourceVersion(vnfmId);
+ if (resourceVersion != null) {
try {
ExternalSystemProxy.deleteVnfm(vnfmId, resourceVersion);
return Response.ok().build();
@@ -149,4 +162,27 @@ public class VnfmManagerWrapper {
}
return vnfmInfoList;
}
+
+ private String getResourceVersion (String vnfmId) {
+ EsrVnfmDetail esrVnfmDetail = new EsrVnfmDetail();
+ String resourceVersion = null;
+ esrVnfmDetail = queryEsrVnfmDetail(vnfmId);
+ if (esrVnfmDetail != null && esrVnfmDetail.getResourceVersion() != null) {
+ resourceVersion = esrVnfmDetail.getResourceVersion();
+ }
+ return resourceVersion;
+ }
+
+ private EsrVnfmDetail queryEsrVnfmDetail (String vnfmId) {
+ EsrVnfmDetail esrVnfmDetail = new EsrVnfmDetail();
+ try {
+ String esrVnfmstr = ExternalSystemProxy.queryVnfmDetail(vnfmId);
+ LOG.info("Response from AAI by query VNFM: " + esrVnfmstr);
+ esrVnfmDetail = new Gson().fromJson(esrVnfmstr, EsrVnfmDetail.class);
+ } catch (Exception e) {
+ e.printStackTrace();
+ LOG.error("Query VNFM detail failed! VNFM ID: " + vnfmId, e.getMessage());
+ }
+ return esrVnfmDetail;
+ }
}