package org.ovirt.engine.api.restapi.resource; import java.util.List; import javax.ws.rs.core.Response; import org.ovirt.engine.api.model.Network; import org.ovirt.engine.api.model.VnicProfile; import org.ovirt.engine.api.model.VnicProfiles; import org.ovirt.engine.api.resource.AssignedVnicProfileResource; import org.ovirt.engine.api.resource.AssignedVnicProfilesResource; import org.ovirt.engine.core.common.queries.IdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; public class BackendAssignedVnicProfilesResource extends AbstractBackendVnicProfilesResource implements AssignedVnicProfilesResource { private String networkId; public BackendAssignedVnicProfilesResource(String networkId) { super(); this.networkId = networkId; } @Override public VnicProfiles list() { return performList(); } @Override public Response add(VnicProfile vnicProfile) { if (!vnicProfile.isSetNetwork() || !vnicProfile.getNetwork().isSetId()) { vnicProfile.setNetwork(new Network()); vnicProfile.getNetwork().setId(networkId); } return super.add(vnicProfile); } @Override protected void validateParameters(VnicProfile vnicProfile) { validateParameters(vnicProfile, "name"); } @Override public AssignedVnicProfileResource getProfileResource(String id) { return inject(new BackendAssignedVnicProfileResource(id, this)); } @Override public VnicProfile addParents(VnicProfile vnicProfile) { vnicProfile.setNetwork(new Network()); vnicProfile.getNetwork().setId(networkId); return vnicProfile; } @Override protected List<org.ovirt.engine.core.common.businessentities.network.VnicProfile> getVnicProfilesCollection() { return getBackendCollection(VdcQueryType.GetVnicProfilesByNetworkId, new IdQueryParameters(asGuid(networkId))); } }