private void handle(APIUpdateClusterMsg msg) { boolean update = false; if (msg.getName() != null) { self.setName(msg.getName()); update = true; } if (msg.getDescription() != null) { self.setDescription(msg.getDescription()); update = true; } if (update) { self = dbf.updateAndRefresh(self); } APIUpdateClusterEvent evt = new APIUpdateClusterEvent(msg.getId()); evt.setInventory(ClusterInventory.valueOf(self)); bus.publish(evt); }
@Deferred private void handle(APICreateClusterMsg msg) { String clusterType = msg.getType(); if (clusterType == null) { clusterType = BaseClusterFactory.type.toString(); } APICreateClusterEvent evt = new APICreateClusterEvent(msg.getId()); ClusterFactory factory = this.getClusterFactory(ClusterType.valueOf(clusterType)); ClusterVO vo = new ClusterVO(); if (msg.getResourceUuid() != null) { vo.setUuid(msg.getResourceUuid()); } else { vo.setUuid(Platform.getUuid()); } vo.setDescription(msg.getDescription()); vo.setHypervisorType(msg.getHypervisorType()); vo.setManagementNodeId(Platform.getManagementServerId()); vo.setZoneUuid(msg.getZoneUuid()); vo.setState(ClusterState.Enabled); vo.setName(msg.getClusterName()); vo = factory.createCluster(vo, msg); tagMgr.createTagsFromAPICreateMessage(msg, vo.getUuid(), ClusterVO.class.getSimpleName()); ClusterInventory inv = ClusterInventory.valueOf(vo); evt.setInventory(inv); logger.debug(String.format("Created new cluster: %s", printer.print(inv))); bus.publish(evt); }