package org.ovirt.engine.api.restapi.resource; import org.ovirt.engine.api.model.Network; import org.ovirt.engine.api.resource.ClusterNetworkResource; import org.ovirt.engine.core.common.action.AttachNetworkToClusterParameter; import org.ovirt.engine.core.common.action.NetworkClusterParameters; import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; public class BackendClusterNetworkResource extends AbstractBackendNetworkResource implements ClusterNetworkResource { protected BackendClusterNetworksResource cluster; public BackendClusterNetworkResource(String id, BackendClusterNetworksResource parent) { super(id, parent, VdcActionType.DetachNetworkToCluster); this.cluster = parent; } @Override public Network update(Network incoming) { org.ovirt.engine.core.common.businessentities.network.Network network = map(incoming, map(get())); network.getCluster().setNetworkId(network.getId()); network.getCluster().setClusterId(cluster.getCluster().getId()); performAction(VdcActionType.UpdateNetworkOnCluster, new NetworkClusterParameters(network.getCluster())); return get(); } @Override protected VdcActionParametersBase getRemoveParameters(org.ovirt.engine.core.common.businessentities.network.Network entity) { return new AttachNetworkToClusterParameter(cluster.getCluster(), entity); } }