private void UpdateOptions() { getCompulsoryActions().clear(); getOptionalActions().clear(); if (getEntity() != null) { storage_pool dataCenter = null; if (getEntity().getstorage_pool_id() != null) { dataCenter = DataProvider.GetDataCenterById(getEntity().getstorage_pool_id().getValue()); } if (dataCenter == null || dataCenter.getstorage_pool_type() != StorageType.LOCALFS) { // Add host action. UICommand addHostAction = new UICommand("AddHost", this); // var hosts = DataProvider.GetHostListByCluster(Entity.name) // .Skip(1) // .ToList(); java.util.ArrayList<VDS> hosts = DataProvider.GetHostListByCluster(getEntity().getname()); if (hosts.size() > 1) { hosts.remove(0); } if (hosts.isEmpty()) { addHostAction.setTitle(ClusterConfigureHostsAction); getCompulsoryActions().add(addHostAction); } else { addHostAction.setTitle(ClusterAddAnotherHostAction); getOptionalActions().add(addHostAction); } if (getEntity().getstorage_pool_id() == null) { addHostAction.setIsExecutionAllowed(false); addHostAction .getExecuteProhibitionReasons() .add("The Cluster isn't attached to a Data Center"); return; } java.util.ArrayList<VDSGroup> clusters = DataProvider.GetClusterList((Guid) getEntity().getstorage_pool_id()); Version minimalClusterVersion = Linq.GetMinVersionByClusters(clusters); java.util.ArrayList<VDS> availableHosts = new java.util.ArrayList<VDS>(); for (VDS vds : DataProvider.GetHostList()) { if ((!Linq.IsHostBelongsToAnyOfClusters(clusters, vds)) && (vds.getstatus() == VDSStatus.Maintenance || vds.getstatus() == VDSStatus.PendingApproval) && (vds.getVersion().getFullVersion() == null || Extensions.GetFriendlyVersion(vds.getVersion().getFullVersion()) .compareTo(minimalClusterVersion) >= 0)) { availableHosts.add(vds); } } // Select host action. UICommand selectHostAction = new UICommand("SelectHost", this); if (availableHosts.size() > 0 && clusters.size() > 0) { if (hosts.isEmpty()) { selectHostAction.setTitle(SelectHostsAction); getCompulsoryActions().add(selectHostAction); } else { selectHostAction.setTitle(SelectHostsAction); getOptionalActions().add(selectHostAction); } } } else { UICommand tempVar = new UICommand("AddHost", this); tempVar.setTitle(ClusterAddAnotherHostAction); UICommand addHostAction = tempVar; UICommand tempVar2 = new UICommand("SelectHost", this); tempVar2.setTitle(SelectHostsAction); UICommand selectHost = tempVar2; VDS host = DataProvider.GetLocalStorageHost(dataCenter.getname()); if (host != null) { addHostAction.setIsExecutionAllowed(false); selectHost.setIsExecutionAllowed(false); String hasHostReason = "This Cluster belongs to a Local Data Center which already contain a Host"; addHostAction.getExecuteProhibitionReasons().add(hasHostReason); selectHost.getExecuteProhibitionReasons().add(hasHostReason); } getCompulsoryActions().add(addHostAction); getOptionalActions().add(selectHost); } } }
@Override public void ExecuteCommand(UICommand command) { super.ExecuteCommand(command); if (StringHelper.stringsEqual(command.getName(), "AddHost")) { AddHost(); } if (StringHelper.stringsEqual(command.getName(), "OnConfirmPMHost")) { OnConfirmPMHost(); } if (StringHelper.stringsEqual(command.getName(), "OnAddHost")) { OnAddHost(); } if (StringHelper.stringsEqual(command.getName(), "SelectHost")) { SelectHost(); } if (StringHelper.stringsEqual(command.getName(), "OnSelectHost")) { OnSelectHost(); } if (StringHelper.stringsEqual(command.getName(), "Cancel")) { Cancel(); } if (StringHelper.stringsEqual(command.getName(), "CancelConfirm")) { CancelConfirm(); } if (StringHelper.stringsEqual(command.getName(), "CancelConfirmWithFocus")) { CancelConfirmWithFocus(); } }
public void AddHost() { HostModel model = new HostModel(); setWindow(model); model.setTitle("New Host"); model.setHashName("new_host"); model.getPort().setEntity(54321); model.getOverrideIpTables().setEntity(true); model.getCluster().setSelectedItem(getEntity()); model.getCluster().setIsChangable(false); java.util.ArrayList<storage_pool> dataCenters = DataProvider.GetDataCenterList(); model.getDataCenter().setItems(dataCenters); if (getEntity().getstorage_pool_id() != null) { model .getDataCenter() .setSelectedItem( Linq.FirstOrDefault( dataCenters, new Linq.DataCenterPredicate((Guid) getEntity().getstorage_pool_id()))); } model.getDataCenter().setIsChangable(false); UICommand tempVar = new UICommand("OnConfirmPMHost", this); tempVar.setTitle("OK"); tempVar.setIsDefault(true); model.getCommands().add(tempVar); UICommand tempVar2 = new UICommand("Cancel", this); tempVar2.setTitle("Cancel"); tempVar2.setIsCancel(true); model.getCommands().add(tempVar2); }
public void OnConfirmPMHost() { HostModel model = (HostModel) getWindow(); if (!model.Validate()) { return; } if (!((Boolean) model.getIsPm().getEntity())) { ConfirmationModel confirmModel = new ConfirmationModel(); setConfirmWindow(confirmModel); confirmModel.setTitle("Power Management Configuration"); confirmModel.setHashName("power_management_configuration"); confirmModel.setMessage( "You haven't configured Power Management for this Host. Are you sure you want to continue?"); UICommand tempVar = new UICommand("OnAddHost", this); tempVar.setTitle("OK"); tempVar.setIsDefault(true); confirmModel.getCommands().add(tempVar); UICommand tempVar2 = new UICommand("CancelConfirmWithFocus", this); tempVar2.setTitle("Cancel"); tempVar2.setIsCancel(true); confirmModel.getCommands().add(tempVar2); } else { OnAddHost(); } }
public void SelectHost() { java.util.ArrayList<VDSGroup> clusters = new java.util.ArrayList<VDSGroup>(); clusters.add(getEntity()); MoveHost model = new MoveHost(); model.setTitle("Select Host"); model.setHashName("select_host"); setWindow(model); model.getCluster().setItems(clusters); model.getCluster().setSelectedItem(Linq.FirstOrDefault(clusters)); model.getCluster().setIsAvailable(false); UICommand tempVar = new UICommand("OnSelectHost", this); tempVar.setTitle("OK"); tempVar.setIsDefault(true); model.getCommands().add(tempVar); UICommand tempVar2 = new UICommand("Cancel", this); tempVar2.setTitle("Cancel"); tempVar2.setIsCancel(true); model.getCommands().add(tempVar2); }