package org.ovirt.engine.api.restapi.types; import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import org.ovirt.engine.api.model.BootProtocol; import org.ovirt.engine.api.model.Fault; import org.ovirt.engine.core.common.businessentities.network.Ipv4BootProtocol; public class Ipv4BootProtocolMapper { public static BootProtocol map(Ipv4BootProtocol ipv4BootProtocol) { if (ipv4BootProtocol == null) { return null; } switch (ipv4BootProtocol) { case DHCP: return BootProtocol.DHCP; case STATIC_IP: return BootProtocol.STATIC; case NONE: return BootProtocol.NONE; default: return null; } } public static Ipv4BootProtocol map(BootProtocol bootProtocol) { if (bootProtocol == null) { return null; } switch (bootProtocol) { case DHCP: return Ipv4BootProtocol.DHCP; case STATIC: return Ipv4BootProtocol.STATIC_IP; case NONE: return Ipv4BootProtocol.NONE; default: throw new WebApplicationException( Response.status(Status.BAD_REQUEST) .entity( fault("Invalid value", String.format("Boot protocol = '%s' is not applicable for IPv4.", bootProtocol))) .build()); } } private static Fault fault(String reason, String detail) { Fault fault = new Fault(); fault.setReason(reason); fault.setDetail(detail); return fault; } }