Lior Vernia has uploaded a new change for review. Change subject: webadmin: Unified VNIC update logic on VM creation ......................................................................
webadmin: Unified VNIC update logic on VM creation Towards adding the ability to add and remove VNICs in the add/edit VM dialogs, the VNIC logic is unified so it is the same for all kinds of VM creation flows (e.g. from scratch, from template...); VNICs may always be added, edited or removed. Change-Id: Ifbd61031572a3462af46f24c64fb5bb80343f086 Signed-off-by: Lior Vernia <lver...@redhat.com> --- M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java A frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModelNetworkAsyncCallback.java D frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModelNetworkAsyncCallbacks.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceCreatingManager.java M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java 5 files changed, 129 insertions(+), 241 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/29/19529/1 diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java index b04f57e..02ede92 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/userportal/UserPortalListModel.java @@ -54,13 +54,11 @@ import org.ovirt.engine.ui.uicommonweb.models.pools.PoolInterfaceListModel; import org.ovirt.engine.ui.uicommonweb.models.vms.ConsoleModel; import org.ovirt.engine.ui.uicommonweb.models.vms.DataCenterWithCluster; -import static org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModelNetworkAsyncCallbacks.NetworkCreateFrontendAsyncCallback; -import static org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModelNetworkAsyncCallbacks.NetworkCreateOrUpdateFrontendActionAsyncCallback; -import static org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModelNetworkAsyncCallbacks.NetworkUpdateFrontendAsyncCallback; import org.ovirt.engine.ui.uicommonweb.models.vms.NewTemplateVmModelBehavior; import org.ovirt.engine.ui.uicommonweb.models.vms.RunOnceModel; import org.ovirt.engine.ui.uicommonweb.models.vms.TimeZoneModel; import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel; +import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModelNetworkAsyncCallback; import org.ovirt.engine.ui.uicommonweb.models.vms.UserPortalExistingVmModelBehavior; import org.ovirt.engine.ui.uicommonweb.models.vms.UserPortalNewVmModelBehavior; import org.ovirt.engine.ui.uicommonweb.models.vms.UserPortalRunOnceModel; @@ -1093,7 +1091,7 @@ parameters.setMakeCreatorExplicitOwner(true); parameters.setSoundDeviceEnabled((Boolean) model.getIsSoundcardEnabled().getEntity()); parameters.setConsoleEnabled((Boolean) model.getIsConsoleDeviceEnabled().getEntity()); - Frontend.RunAction(VdcActionType.AddVmFromScratch, parameters, new NetworkCreateFrontendAsyncCallback(model, defaultNetworkCreatingManager), this); + Frontend.RunAction(VdcActionType.AddVmFromScratch, parameters, new UnitVmModelNetworkAsyncCallback(model, defaultNetworkCreatingManager), this); } else { @@ -1118,7 +1116,7 @@ param.setSoundDeviceEnabled((Boolean) unitVmModel.getIsSoundcardEnabled().getEntity()); param.setConsoleEnabled((Boolean) unitVmModel.getIsConsoleDeviceEnabled().getEntity()); - Frontend.RunAction(VdcActionType.AddVmFromTemplate, param, new NetworkCreateOrUpdateFrontendActionAsyncCallback(unitVmModel, defaultNetworkCreatingManager), this); + Frontend.RunAction(VdcActionType.AddVmFromTemplate, param, new UnitVmModelNetworkAsyncCallback(unitVmModel, defaultNetworkCreatingManager), this); } }; AsyncDataProvider.getTemplateDiskList(_asyncQuery, template.getId()); @@ -1132,7 +1130,7 @@ param.setSoundDeviceEnabled((Boolean) model.getIsSoundcardEnabled().getEntity()); param.setConsoleEnabled((Boolean) model.getIsConsoleDeviceEnabled().getEntity()); - Frontend.RunAction(VdcActionType.AddVm, param, new NetworkCreateOrUpdateFrontendActionAsyncCallback(model, defaultNetworkCreatingManager), this); + Frontend.RunAction(VdcActionType.AddVm, param, new UnitVmModelNetworkAsyncCallback(model, defaultNetworkCreatingManager), this); } } } @@ -1150,7 +1148,7 @@ param.setSoundDeviceEnabled((Boolean) model.getIsSoundcardEnabled().getEntity()); param.setConsoleEnabled((Boolean) model.getIsConsoleDeviceEnabled().getEntity()); - Frontend.RunAction(VdcActionType.UpdateVm, param, new NetworkUpdateFrontendAsyncCallback(model, defaultNetworkCreatingManager, gettempVm().getId()), this); + Frontend.RunAction(VdcActionType.UpdateVm, param, new UnitVmModelNetworkAsyncCallback(model, defaultNetworkCreatingManager, gettempVm().getId()), this); } }, this); } @@ -1159,7 +1157,7 @@ VmManagementParametersBase param = new VmManagementParametersBase(gettempVm()); param.setSoundDeviceEnabled((Boolean) model.getIsSoundcardEnabled().getEntity()); param.setConsoleEnabled((Boolean) model.getIsConsoleDeviceEnabled().getEntity()); - Frontend.RunAction(VdcActionType.UpdateVm, param, new NetworkUpdateFrontendAsyncCallback(model, defaultNetworkCreatingManager, gettempVm().getId()), this); + Frontend.RunAction(VdcActionType.UpdateVm, param, new UnitVmModelNetworkAsyncCallback(model, defaultNetworkCreatingManager, gettempVm().getId()), this); } } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModelNetworkAsyncCallback.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModelNetworkAsyncCallback.java new file mode 100644 index 0000000..ca74b46 --- /dev/null +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModelNetworkAsyncCallback.java @@ -0,0 +1,40 @@ +package org.ovirt.engine.ui.uicommonweb.models.vms; + +import org.ovirt.engine.core.common.action.VdcReturnValueBase; +import org.ovirt.engine.core.compat.Guid; +import org.ovirt.engine.ui.uicompat.FrontendActionAsyncResult; +import org.ovirt.engine.ui.uicompat.IFrontendActionAsyncCallback; + +public class UnitVmModelNetworkAsyncCallback implements IFrontendActionAsyncCallback { + + private final UnitVmModel unitVmModel; + private final VmInterfaceCreatingManager networkCreatingManager; + private final Guid idToUpdate; + + public UnitVmModelNetworkAsyncCallback(final UnitVmModel unitVmModel, + final VmInterfaceCreatingManager networkCreatingManager) { + + this(unitVmModel, networkCreatingManager, null); + } + + public UnitVmModelNetworkAsyncCallback(final UnitVmModel unitVmModel, + final VmInterfaceCreatingManager networkCreatingManager, + final Guid idToUpdate) { + + this.unitVmModel = unitVmModel; + this.networkCreatingManager = networkCreatingManager; + this.idToUpdate = idToUpdate; + } + + @Override + public void executed(FrontendActionAsyncResult result) { + VdcReturnValueBase returnValue = result.getReturnValue(); + if (returnValue != null && returnValue.getSucceeded()) { + networkCreatingManager.updateVnics((idToUpdate == null) ? (Guid) returnValue.getActionReturnValue() + : idToUpdate, (Iterable<VnicInstanceType>) unitVmModel.getNicsWithLogicalNetworks().getItems()); + } else { + networkCreatingManager.getCallback().queryFailed(); + } + } + +} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModelNetworkAsyncCallbacks.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModelNetworkAsyncCallbacks.java deleted file mode 100644 index cbaf792..0000000 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/UnitVmModelNetworkAsyncCallbacks.java +++ /dev/null @@ -1,86 +0,0 @@ -package org.ovirt.engine.ui.uicommonweb.models.vms; - -import java.util.ArrayList; -import java.util.List; -import org.ovirt.engine.core.common.action.VdcReturnValueBase; -import org.ovirt.engine.core.compat.Guid; -import org.ovirt.engine.ui.uicompat.FrontendActionAsyncResult; -import org.ovirt.engine.ui.uicompat.IFrontendActionAsyncCallback; - -public class UnitVmModelNetworkAsyncCallbacks { - - public static abstract class BaseNetworkFrontendActionAsyncCallback implements IFrontendActionAsyncCallback { - - private final UnitVmModel unitVmModel; - protected final VmInterfaceCreatingManager networkCreatingManager; - - public BaseNetworkFrontendActionAsyncCallback(final UnitVmModel unitVmModel, - final VmInterfaceCreatingManager networkCreatingManager) { - this.unitVmModel = unitVmModel; - this.networkCreatingManager = networkCreatingManager; - } - - @Override - public void executed(FrontendActionAsyncResult result) { - VdcReturnValueBase returnValue = result.getReturnValue(); - if (returnValue != null && returnValue.getSucceeded()) { - List<VnicInstanceType> nicWithLogicalNetworks = (List<VnicInstanceType>) - unitVmModel.getNicsWithLogicalNetworks().getItems(); - if (nicWithLogicalNetworks == null) { - // enter the opertation with null object if nothing has been edited by the user - nicWithLogicalNetworks = new ArrayList<VnicInstanceType>(); - } - - doNetworkOperation(returnValue, nicWithLogicalNetworks); - } else { - networkCreatingManager.getCallback().queryFailed(); - } - } - - protected abstract void doNetworkOperation(VdcReturnValueBase returnValue, List<VnicInstanceType> nicWithLogicalNetworks); - } - - public static class NetworkCreateOrUpdateFrontendActionAsyncCallback extends BaseNetworkFrontendActionAsyncCallback { - - public NetworkCreateOrUpdateFrontendActionAsyncCallback(final UnitVmModel unitVmModel, - final VmInterfaceCreatingManager networkCreatingManager) { - super(unitVmModel, networkCreatingManager); - } - - @Override - protected void doNetworkOperation(VdcReturnValueBase returnValue, List<VnicInstanceType> nicWithLogicalNetworks) { - networkCreatingManager.updateOrCreateIfNothingToUpdate((Guid) returnValue.getActionReturnValue(), nicWithLogicalNetworks); - } - - } - - public static class NetworkCreateFrontendAsyncCallback extends BaseNetworkFrontendActionAsyncCallback { - public NetworkCreateFrontendAsyncCallback(final UnitVmModel unitVmModel, - final VmInterfaceCreatingManager networkCreatingManager) { - super(unitVmModel, networkCreatingManager); - } - - @Override - protected void doNetworkOperation(VdcReturnValueBase returnValue, List<VnicInstanceType> nicWithLogicalNetworks) { - networkCreatingManager.createVnics((Guid) returnValue.getActionReturnValue(), nicWithLogicalNetworks); - } - } - - public static class NetworkUpdateFrontendAsyncCallback extends BaseNetworkFrontendActionAsyncCallback { - - private final Guid idToUpdate; - - public NetworkUpdateFrontendAsyncCallback(final UnitVmModel unitVmModel, - final VmInterfaceCreatingManager networkCreatingManager, - final Guid idToUpdate) { - super(unitVmModel, networkCreatingManager); - this.idToUpdate = idToUpdate; - } - - @Override - protected void doNetworkOperation(VdcReturnValueBase returnValue, List<VnicInstanceType> nicWithLogicalNetworks) { - networkCreatingManager.updateVnics(idToUpdate, nicWithLogicalNetworks); - } - } - -} diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceCreatingManager.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceCreatingManager.java index ba0ed05..75b201a 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceCreatingManager.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInterfaceCreatingManager.java @@ -1,8 +1,13 @@ package org.ovirt.engine.ui.uicommonweb.models.vms; import java.util.ArrayList; -import java.util.List; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + import org.ovirt.engine.core.common.action.AddVmInterfaceParameters; +import org.ovirt.engine.core.common.action.RemoveVmInterfaceParameters; import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; @@ -22,101 +27,6 @@ this.callback = callback; } - private void updateVnicsFromParams(final Guid vmId, ArrayList<VdcActionParametersBase> parameters) { - if (parameters.size() == 0) { - callback.vnicCreated(vmId); - return; - } - - Frontend.RunMultipleAction( - VdcActionType.UpdateVmInterface, - parameters, - new IFrontendMultipleActionAsyncCallback() { - - @Override - public void executed(FrontendMultipleActionAsyncResult result) { - callback.vnicCreated(vmId); - } - }, - this - ); - } - - /** - * Used mainly when the VM is created from the template. If the Vm has been created but without NICs, new - * ones are created according to the vnicInstanceTypes. If the VM is created with nics - e.g. by copying from template update their profiles - * as edited by the user (again, according to the vnicInstanceTypes). - * - * @param vmId The ID of the VM - * @param vnicInstanceTypes list of nics as edited in the window - */ - public void updateOrCreateIfNothingToUpdate(final Guid vmId, - final List<VnicInstanceType> vnicInstanceTypes) { - new UpdatedNicsUpdater() { - @Override - protected void onNoNicsDefinedOnVm() { - // there are no vnics created - create according to the setup - createVnics(vmId, vnicInstanceTypes); - } - }.execute(vmId, vnicInstanceTypes); - } - - /** - * Update the nic->profile assignment on the VM which already has the NICs created. Used when editing a VM. - * - * @param vmId The ID of the VM - * @param vnicInstanceTypes list of nics as edited in the window - */ - public void updateVnics(final Guid vmId, final List<VnicInstanceType> vnicInstanceTypes) { - new UpdatedNicsUpdater() { - @Override - protected void onNoNicsDefinedOnVm() { - callback.vnicCreated(vmId); - } - }.execute(vmId, vnicInstanceTypes); - } - - /** - * Create new NICs with profiles assignment according to the config in the window. - * - * @param vmId The ID of the VM - * @param vnicInstanceTypes list of nics as edited in the window - */ - public void createVnics(final Guid vmId, - final List<VnicInstanceType> vnicInstanceTypes) { - ArrayList<VdcActionParametersBase> parameters = createAddVmInterfaceParams(vmId, vnicInstanceTypes); - - if (parameters.size() == 0) { - callback.vnicCreated(vmId); - return; - } - - Frontend.RunMultipleAction( - VdcActionType.AddVmInterface, - parameters, - new IFrontendMultipleActionAsyncCallback() { - - @Override - public void executed(FrontendMultipleActionAsyncResult result) { - callback.vnicCreated(vmId); - } - - }, - this - ); - - } - - private ArrayList<VdcActionParametersBase> createAddVmInterfaceParams(final Guid vmId, - final List<VnicInstanceType> vnicInstanceTypes) { - ArrayList<VdcActionParametersBase> parameters = new ArrayList<VdcActionParametersBase>(); - - for (VnicInstanceType vnicInstanceType : vnicInstanceTypes) { - parameters.add(new AddVmInterfaceParameters(vmId, vnicInstanceType.getNetworkInterface())); - } - return parameters; - } - public PostVnicCreatedCallback getCallback() { return callback; } @@ -127,55 +37,84 @@ void queryFailed(); } - abstract class UpdatedNicsUpdater { - public void execute(final Guid vmId, final List<VnicInstanceType> vnicInstanceTypes) { - AsyncQuery getVmNicsQuery = new AsyncQuery(); - getVmNicsQuery.asyncCallback = new INewAsyncCallback() { - @Override - public void onSuccess(Object model, Object result) { - List<VmNetworkInterface> createdNics = (List<VmNetworkInterface>) result; + public void updateVnics(final Guid vmId, final Iterable<VnicInstanceType> vnicsWithProfiles) { + AsyncQuery getVmNicsQuery = new AsyncQuery(); + getVmNicsQuery.asyncCallback = new INewAsyncCallback() { + @Override + public void onSuccess(Object model, Object result) { + Iterable<VmNetworkInterface> existingVnics = (Iterable<VmNetworkInterface>) result; + if (existingVnics == null) { + existingVnics = new ArrayList<VmNetworkInterface>(); + } - if (createdNics == null || createdNics.size() == 0) { - onNoNicsDefinedOnVm(); + Map<String, VmNetworkInterface> existingVnicForName = new HashMap<String, VmNetworkInterface>(); + for (VmNetworkInterface vnic : existingVnics) { + existingVnicForName.put(vnic.getName(), vnic); + } + + final ArrayList<VdcActionParametersBase> createVnicParameters = + new ArrayList<VdcActionParametersBase>(); + final ArrayList<VdcActionParametersBase> updateVnicParameters = + new ArrayList<VdcActionParametersBase>(); + final ArrayList<VdcActionParametersBase> removeVnicParameters = + new ArrayList<VdcActionParametersBase>(); + final Set<String> vnicsEncountered = new HashSet<String>(); + + // iterate over edited VNICs, see if any need to be added or have been assigned a different profile + for (VnicInstanceType vnicWithProfile : vnicsWithProfiles) { + VmNetworkInterface editedVnic = vnicWithProfile.getNetworkInterface(); + String vnicName = editedVnic.getName(); + VmNetworkInterface existingVnic = existingVnicForName.get(vnicName); + if (existingVnic == null) { + createVnicParameters.add(new AddVmInterfaceParameters(vmId, editedVnic)); } else { - // there are some vnics created - update according to the setup in the window - ArrayList<VdcActionParametersBase> parameters = new ArrayList<VdcActionParametersBase>(); - - for (VmNetworkInterface created : createdNics) { - for (VnicInstanceType edited : vnicInstanceTypes) { - // can not use getId() because they have different IDs - one is already created, one is not - // yet - boolean sameNic = edited.getNetworkInterface().getName().equals(created.getName()); - - boolean bothProfilesNull = - created.getVnicProfileId() == null - && edited.getNetworkInterface().getVnicProfileId() == null; - - boolean sameProfiles = - created.getVnicProfileId() != null - && created.getVnicProfileId().equals(edited.getNetworkInterface() - .getVnicProfileId()); - - boolean assignedProfileChanged = !(bothProfilesNull || sameProfiles); - - if (sameNic && assignedProfileChanged) { - created.setVnicProfileId(edited.getNetworkInterface().getVnicProfileId()); - created.setNetworkName(edited.getNetworkInterface().getNetworkName()); - parameters.add(new AddVmInterfaceParameters(vmId, created)); - break; - } - } - + vnicsEncountered.add(vnicName); + Guid existingProfileId = existingVnic.getVnicProfileId(); + Guid editedProfileId = editedVnic.getVnicProfileId(); + if ((editedProfileId == null && existingProfileId != null) + || (editedProfileId != null && !editedProfileId.equals(existingProfileId))) { + existingVnic.setVnicProfileId(editedProfileId); + existingVnic.setNetworkName(editedVnic.getNetworkName()); + updateVnicParameters.add(new AddVmInterfaceParameters(vmId, existingVnic)); } - - updateVnicsFromParams(vmId, parameters); } } - }; - AsyncDataProvider.getVmNicList(getVmNicsQuery, vmId); - } - protected abstract void onNoNicsDefinedOnVm(); + // iterate over existing VNICs, see if any have not been encountered and thus removed in editing + for (VmNetworkInterface existingVnic : existingVnics) { + if (!vnicsEncountered.contains(existingVnic.getName())) { + removeVnicParameters.add(new RemoveVmInterfaceParameters(vmId, existingVnic.getId())); + } + } + + Frontend.RunMultipleAction(VdcActionType.AddVmInterface, + createVnicParameters, + new IFrontendMultipleActionAsyncCallback() { + + @Override + public void executed(FrontendMultipleActionAsyncResult result) { + Frontend.RunMultipleAction(VdcActionType.UpdateVmInterface, + updateVnicParameters, + new IFrontendMultipleActionAsyncCallback() { + + @Override + public void executed(FrontendMultipleActionAsyncResult result) { + Frontend.RunMultipleAction(VdcActionType.RemoveVmInterface, + removeVnicParameters, + new IFrontendMultipleActionAsyncCallback() { + + @Override + public void executed(FrontendMultipleActionAsyncResult result) { + callback.vnicCreated(vmId); + } + }, this); + } + }, this); + } + }, this); + } + }; + AsyncDataProvider.getVmNicList(getVmNicsQuery, vmId); } } diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java index 8e30c52..5e1ce6e 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmListModel.java @@ -81,9 +81,6 @@ import org.ovirt.engine.ui.uicommonweb.models.templates.VmBaseListModel; import org.ovirt.engine.ui.uicommonweb.models.userportal.AttachCdModel; import org.ovirt.engine.ui.uicommonweb.models.userportal.UserSelectedDisplayProtocolManager; -import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModelNetworkAsyncCallbacks.NetworkCreateFrontendAsyncCallback; -import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModelNetworkAsyncCallbacks.NetworkCreateOrUpdateFrontendActionAsyncCallback; -import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModelNetworkAsyncCallbacks.NetworkUpdateFrontendAsyncCallback; import org.ovirt.engine.ui.uicompat.ConstantsManager; import org.ovirt.engine.ui.uicompat.Event; import org.ovirt.engine.ui.uicompat.EventArgs; @@ -2042,7 +2039,7 @@ setVmWatchdogToParams(model, parameters); - Frontend.RunAction(VdcActionType.AddVmFromScratch, parameters, new NetworkCreateFrontendAsyncCallback(model, addVmFromScratchNetworkManager), this); + Frontend.RunAction(VdcActionType.AddVmFromScratch, parameters, new UnitVmModelNetworkAsyncCallback(model, addVmFromScratchNetworkManager), this); } else { @@ -2074,7 +2071,7 @@ param.setBalloonEnabled(balloonEnabled(model)); param.setCopyTemplatePermissions((Boolean) model.getCopyPermissions().getEntity()); - Frontend.RunAction(VdcActionType.AddVmFromTemplate, param, new NetworkCreateOrUpdateFrontendActionAsyncCallback(model, defaultNetworkCreatingManager), vmListModel); + Frontend.RunAction(VdcActionType.AddVmFromTemplate, param, new UnitVmModelNetworkAsyncCallback(model, defaultNetworkCreatingManager), vmListModel); } }; AsyncDataProvider.getTemplateDiskList(_asyncQuery, template.getId()); @@ -2100,7 +2097,7 @@ params.setVirtioScsiEnabled((Boolean) model.getIsVirtioScsiEnabled().getEntity()); setVmWatchdogToParams(model, params); - Frontend.RunAction(VdcActionType.AddVm, params, new NetworkCreateOrUpdateFrontendActionAsyncCallback(model, defaultNetworkCreatingManager), this); + Frontend.RunAction(VdcActionType.AddVm, params, new UnitVmModelNetworkAsyncCallback(model, defaultNetworkCreatingManager), this); } } } @@ -2142,7 +2139,7 @@ updateVmParams.setVirtioScsiEnabled((Boolean) model.getIsVirtioScsiEnabled().getEntity()); Frontend.RunAction(VdcActionType.UpdateVm, - updateVmParams, new NetworkUpdateFrontendAsyncCallback(model, defaultNetworkCreatingManager, vmListModel.getcurrentVm().getId()), vmListModel); + updateVmParams, new UnitVmModelNetworkAsyncCallback(model, defaultNetworkCreatingManager, vmListModel.getcurrentVm().getId()), vmListModel); } else { @@ -2168,7 +2165,7 @@ updateVmParams.setConsoleEnabled((Boolean) model.getIsConsoleDeviceEnabled().getEntity()); updateVmParams.setBalloonEnabled(balloonEnabled(model)); updateVmParams.setVirtioScsiEnabled((Boolean) model.getIsVirtioScsiEnabled().getEntity()); - Frontend.RunAction(VdcActionType.UpdateVm, updateVmParams, new NetworkUpdateFrontendAsyncCallback(model, defaultNetworkCreatingManager, getcurrentVm().getId()), this); + Frontend.RunAction(VdcActionType.UpdateVm, updateVmParams, new UnitVmModelNetworkAsyncCallback(model, defaultNetworkCreatingManager, getcurrentVm().getId()), this); } } } -- To view, visit http://gerrit.ovirt.org/19529 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ifbd61031572a3462af46f24c64fb5bb80343f086 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Lior Vernia <lver...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches