- private static VimManagerWrapper vimManagerWrapper;
- private static final Logger LOG = LoggerFactory.getLogger(VimManagerWrapper.class);
-
- /**
- * get VimManagerWrapper instance.
- *
- * @return vim manager wrapper instance
- */
- public static VimManagerWrapper getInstance() {
- if (vimManagerWrapper == null) {
- vimManagerWrapper = new VimManagerWrapper();
+ private static VimManagerWrapper vimManagerWrapper;
+ private static final Logger LOG = LoggerFactory.getLogger(VimManagerWrapper.class);
+
+ private static VimManagerUtil vimManagerUtil = new VimManagerUtil();
+
+ private static CloudRegionProxy cloudRegionProxy = new CloudRegionProxy();
+
+ private static ExtsysUtil extsysUtil = new ExtsysUtil();
+
+ /**
+ * get VimManagerWrapper instance.
+ *
+ * @return vim manager wrapper instance
+ */
+ public static VimManagerWrapper getInstance() {
+ if (vimManagerWrapper == null) {
+ vimManagerWrapper = new VimManagerWrapper(cloudRegionProxy);
+ }
+ return vimManagerWrapper;
+ }
+
+ public VimManagerWrapper(CloudRegionProxy cloudRegionProxy) {
+ VimManagerWrapper.cloudRegionProxy = cloudRegionProxy;
+ }
+
+ public Response registerVim(VimRegisterInfo vimRegisterInfo) {
+ LOG.info("Start register VIM, input VIM info is: " + extsysUtil.objectToString(vimRegisterInfo));
+ VimRegisterResponse result = new VimRegisterResponse();
+ CloudRegionDetail cloudRegion = vimManagerUtil.vimRegisterInfo2CloudRegion(vimRegisterInfo);
+ String cloudOwner = vimRegisterInfo.getCloudOwner();
+ String cloudRegionId = vimRegisterInfo.getCloudRegionId();
+ try {
+ cloudRegionProxy.registerVim(cloudOwner, cloudRegionId, cloudRegion);
+ result.setCloudOwner(cloudOwner);
+ result.setCloudRegionId(cloudRegionId);
+ Tenant tenant = new Tenant();
+ tenant.setDefaultTenant(cloudRegion.getEsrSystemInfoList().getEsrSystemInfo().get(0).getDefaultTenant());
+ try {
+ VimManagerProxy.updateVim(cloudOwner, cloudRegionId, tenant);
+ } catch (ExtsysException e) {
+ LOG.error("Update VIM by Multi-cloud failed !", e);
+ }
+ return Response.ok(result).build();
+ } catch (ExtsysException error) {
+ LOG.error("Register VIM failed !", error);
+ throw ExceptionUtil.buildExceptionResponse(error.getMessage());
+ }