package org.ovirt.engine.api.restapi.types; import org.ovirt.engine.api.model.Watchdog; import org.ovirt.engine.api.model.WatchdogAction; import org.ovirt.engine.api.model.WatchdogModel; import org.ovirt.engine.api.restapi.utils.GuidUtils; import org.ovirt.engine.core.common.businessentities.VmWatchdog; import org.ovirt.engine.core.common.businessentities.VmWatchdogAction; import org.ovirt.engine.core.common.businessentities.VmWatchdogType; public class WatchdogMapper { @Mapping(from = Watchdog.class, to = VmWatchdog.class) public static VmWatchdog map(Watchdog model, VmWatchdog template) { VmWatchdog entity = template == null ? new VmWatchdog() : template; if (model.isSetId()) { entity.setId(GuidUtils.asGuid(model.getId())); } if (model.isSetAction()) { entity.setAction(map(model.getAction())); } if (model.isSetModel()) { entity.setModel(map(model.getModel())); } return entity; } @Mapping(from = VmWatchdog.class, to = Watchdog.class) public static Watchdog map(VmWatchdog entity, Watchdog template) { Watchdog model = template == null ? new Watchdog() : template; if (entity.getAction() != null) { model.setAction(map(entity.getAction())); } if (entity.getModel() != null) { model.setModel(map(entity.getModel())); } model.setId(entity.getId().toString()); return model; } public static VmWatchdogAction map(WatchdogAction action) { switch (action) { case DUMP: return VmWatchdogAction.DUMP; case NONE: return VmWatchdogAction.NONE; case PAUSE: return VmWatchdogAction.PAUSE; case POWEROFF: return VmWatchdogAction.POWEROFF; case RESET: return VmWatchdogAction.RESET; default: return null; } } public static WatchdogAction map(VmWatchdogAction action) { switch (action) { case DUMP: return WatchdogAction.DUMP; case NONE: return WatchdogAction.NONE; case PAUSE: return WatchdogAction.PAUSE; case POWEROFF: return WatchdogAction.POWEROFF; case RESET: return WatchdogAction.RESET; default: return null; } } public static VmWatchdogType map(WatchdogModel model) { switch (model) { case I6300ESB: return VmWatchdogType.i6300esb; default: return null; } } public static WatchdogModel map(VmWatchdogType model) { switch (model) { case i6300esb: return WatchdogModel.I6300ESB; default: return null; } } }