public void OnManage() { ListModel model = (ListModel) getWindow(); java.util.ArrayList<EntityModel> items = Linq.<EntityModel>Cast(model.getItems()); java.util.ArrayList<network> networks = Linq.<network>Cast(getItems()); if (getEntity() == null) { Cancel(); return; } java.util.ArrayList<VdcActionParametersBase> prms1 = new java.util.ArrayList<VdcActionParametersBase>(); for (EntityModel a : items) { boolean value = false; for (network b : networks) { if (b.getId().equals(((network) a.getEntity()).getId())) { value = true; break; } } if (a.getIsSelected() && !value) { prms1.add(new AttachNetworkToVdsGroupParameter(getEntity(), (network) a.getEntity())); } } // Call the command only if necessary (i.e. only if there are paramters): if (prms1.size() > 0) { Frontend.RunMultipleAction(VdcActionType.AttachNetworkToVdsGroup, prms1); } java.util.ArrayList<VdcActionParametersBase> prms2 = new java.util.ArrayList<VdcActionParametersBase>(); for (EntityModel a : items) { boolean value = true; for (network b : networks) { if (b.getId().equals(((network) a.getEntity()).getId())) { value = false; break; } } if (!a.getIsSelected() && !value) { prms2.add(new AttachNetworkToVdsGroupParameter(getEntity(), (network) a.getEntity())); } } // Call the command only if necessary (i.e. only if there are paramters): if (prms2.size() > 0) { Frontend.RunMultipleAction(VdcActionType.DetachNetworkToVdsGroup, prms2); } Cancel(); }
public void OnSelectHost() { MoveHost model = (MoveHost) getWindow(); if (model.getProgress() != null) { return; } if (!model.Validate()) { return; } model.setSelectedHosts(new java.util.ArrayList<VDS>()); for (EntityModel a : Linq.<EntityModel>Cast(model.getItems())) { if (a.getIsSelected()) { model.getSelectedHosts().add((VDS) a.getEntity()); } } VDSGroup cluster = (VDSGroup) model.getCluster().getSelectedItem(); java.util.ArrayList<VdcActionParametersBase> paramerterList = new java.util.ArrayList<VdcActionParametersBase>(); for (VDS host : model.getSelectedHosts()) { // Try to change host's cluster as neccessary. if (host.getvds_group_id() != null && !host.getvds_group_id().equals(cluster.getId())) { paramerterList.add(new ChangeVDSClusterParameters(cluster.getId(), host.getId())); } } model.StartProgress(null); Frontend.RunMultipleAction( VdcActionType.ChangeVDSCluster, paramerterList, new IFrontendMultipleActionAsyncCallback() { @Override public void Executed(FrontendMultipleActionAsyncResult result) { ClusterGuideModel clusterGuideModel = (ClusterGuideModel) result.getState(); java.util.ArrayList<VDS> hosts = ((MoveHost) clusterGuideModel.getWindow()).getSelectedHosts(); java.util.ArrayList<VdcReturnValueBase> retVals = (java.util.ArrayList<VdcReturnValueBase>) result.getReturnValue(); if (retVals != null && hosts.size() == retVals.size()) { int i = 0; for (VDS selectedHost : hosts) { if (selectedHost.getstatus() == VDSStatus.PendingApproval && retVals.get(i) != null && retVals.get(i).getSucceeded()) { Frontend.RunAction( VdcActionType.ApproveVds, new ApproveVdsParameters(selectedHost.getId())); } } i++; } clusterGuideModel.getWindow().StopProgress(); clusterGuideModel.Cancel(); clusterGuideModel.PostAction(); } }, this); }
public boolean Validate() { getDescription().ValidateEntity(new IValidation[] {new NotEmptyValidation()}); boolean isDisksValid = false; setMessage(null); if (getDisks() != null) { for (EntityModel a : getDisks()) { if (a.getIsSelected()) { isDisksValid = true; break; } } if (!isDisksValid) { setMessage("At least one disk must be marked."); return false; } return getDescription().getIsValid(); } return getDescription().getIsValid(); }