package org.ovirt.engine.ui.uicommonweb.models.datacenters;
import org.ovirt.engine.core.common.action.QosParametersBase;
import org.ovirt.engine.core.common.action.VdcActionType;
import org.ovirt.engine.core.common.action.VdcReturnValueBase;
import org.ovirt.engine.core.common.businessentities.StoragePool;
import org.ovirt.engine.core.common.businessentities.network.NetworkQoS;
import org.ovirt.engine.core.compat.Guid;
import org.ovirt.engine.ui.frontend.Frontend;
import org.ovirt.engine.ui.uicommonweb.help.HelpTag;
import org.ovirt.engine.ui.uicommonweb.models.Model;
import org.ovirt.engine.ui.uicompat.ConstantsManager;
public class NewNetworkQoSModel extends NetworkQoSModel {
public NewNetworkQoSModel(Model sourceModel, StoragePool dataCenter) {
super(sourceModel, dataCenter);
setTitle(ConstantsManager.getInstance().getConstants().newNetworkQoSTitle());
setHelpTag(HelpTag.new_network_qos);
setHashName("new_network_qos"); //$NON-NLS-1$
networkQoS = new NetworkQoS();
}
@Override
protected void executeSave() {
// New network QoS
final QosParametersBase<NetworkQoS> parameters = new QosParametersBase<>();
parameters.setQos(networkQoS);
Frontend.getInstance().runAction(VdcActionType.AddNetworkQoS, parameters, result -> {
VdcReturnValueBase retVal = result.getReturnValue();
boolean succeeded = false;
if (retVal != null && retVal.getSucceeded()) {
succeeded = true;
networkQoS.setId((Guid) retVal.getActionReturnValue());
}
postSaveAction(succeeded);
});
}
}