package org.ovirt.engine.api.restapi.types; import org.ovirt.engine.api.model.Cluster; import org.ovirt.engine.api.model.VmPool; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.vm_pools; import org.ovirt.engine.core.compat.Guid; public class VmPoolMapper { @Mapping(from = VmPool.class, to = vm_pools.class) public static vm_pools map(VmPool model, vm_pools template) { vm_pools entity = template != null ? template : new vm_pools(); if (model.isSetId()) { entity.setvm_pool_id(new Guid(model.getId())); } if (model.isSetName()) { entity.setvm_pool_name(model.getName()); } if (model.isSetDescription()) { entity.setvm_pool_description(model.getDescription()); } if (model.isSetSize()) { entity.setvm_assigned_count(model.getSize()); } if (model.isSetCluster()) { if (model.getCluster().isSetId()) { entity.setvds_group_id(new Guid(model.getCluster().getId())); } else if (model.getCluster().isSetName()) { entity.setvds_group_name(model.getCluster().getName()); } } return entity; } @Mapping(from = VmPool.class, to = VM.class) public static VM map(VmPool model, VM template) { VM entity = template != null ? template : new VM(); entity.setvm_name(model.getName()); entity.setvm_description(model.getDescription()); if (model.isSetTemplate() && model.getTemplate().isSetId()) { entity.setvmt_guid(new Guid(model.getTemplate().getId())); } if (model.isSetCluster() && model.getCluster().isSetId()) { entity.setvds_group_id(new Guid(model.getCluster().getId())); } return entity; } @Mapping(from = vm_pools.class, to = VmPool.class) public static VmPool map(vm_pools entity, VmPool template) { VmPool model = template != null ? template : new VmPool(); model.setId(entity.getvm_pool_id().toString()); model.setName(entity.getvm_pool_name()); model.setDescription(entity.getvm_pool_description()); model.setSize(entity.getvm_assigned_count()); if (entity.getvds_group_id() != null || entity.getvds_group_name() != null) { model.setCluster(new Cluster()); model.getCluster().setId(entity.getvds_group_id().toString()); } return model; } }