package org.ovirt.engine.api.restapi.types; import org.ovirt.engine.api.model.Cluster; import org.ovirt.engine.api.model.DataCenter; import org.ovirt.engine.api.model.Event; import org.ovirt.engine.api.model.Host; import org.ovirt.engine.api.model.LogSeverity; import org.ovirt.engine.api.model.StorageDomain; import org.ovirt.engine.api.model.Template; import org.ovirt.engine.api.model.User; import org.ovirt.engine.api.model.VM; import org.ovirt.engine.core.common.AuditLogSeverity; import org.ovirt.engine.core.common.businessentities.AuditLog; import org.ovirt.engine.core.compat.NGuid; import org.ovirt.engine.api.restapi.utils.TypeConversionHelper; public class EventMapper { @Mapping(from = AuditLog.class, to = Event.class) public static Event map(AuditLog entity, Event event) { Event model = event != null ? event : new Event(); model.setId(String.valueOf(entity.getaudit_log_id())); model.setCode(entity.getlog_type().getValue()); model.setSeverity(map(entity.getseverity(), null).value()); model.setTime(TypeConversionHelper.toXMLGregorianCalendar(entity .getlog_time(), null)); model.setDescription(entity.getmessage()); if (entity.getuser_id() != null && !entity.getuser_id().equals(NGuid.Empty)) { User user = new User(); user.setId(entity.getuser_id().toString()); model.setUser(user); } if (entity.getvm_id() != null && !entity.getvm_id().equals(NGuid.Empty)) { VM vm = new VM(); vm.setId(entity.getvm_id().toString()); model.setVm(vm); } if (entity.getstorage_domain_id() != null && !entity.getstorage_domain_id().equals(NGuid.Empty)) { StorageDomain sd = new StorageDomain(); sd.setId(entity.getstorage_domain_id().toString()); model.setStorageDomain(sd); } if (entity.getvds_id() != null && !entity.getvds_id().equals(NGuid.Empty)) { Host host = new Host(); host.setId(entity.getvds_id().toString()); model.setHost(host); } if (entity.getvm_template_id() != null && !entity.getvm_template_id().equals(NGuid.Empty)) { Template template = new Template(); template.setId(entity.getvm_template_id().toString()); model.setTemplate(template); } if (entity.getvds_group_id() != null && !entity.getvds_group_id().equals(NGuid.Empty)) { Cluster cluster = new Cluster(); cluster.setId(entity.getvds_group_id().toString()); model.setCluster(cluster); } if (entity.getstorage_pool_id() != null && !entity.getstorage_pool_id().equals(NGuid.Empty)) { DataCenter dataCenter = new DataCenter(); dataCenter.setId(entity.getstorage_pool_id().toString()); model.setDataCenter(dataCenter); } return model; } @Mapping(from = AuditLogSeverity.class, to = LogSeverity.class) public static LogSeverity map(AuditLogSeverity entityStatus, LogSeverity template) { switch (entityStatus) { case NORMAL: return LogSeverity.NORMAL; case WARNING: return LogSeverity.WARNING; case ERROR: return LogSeverity.ERROR; case ALERT: return LogSeverity.ALERT; default: return null; } } }