package org.ovirt.engine.api.restapi.types; import org.ovirt.engine.api.model.Role; import org.ovirt.engine.core.common.businessentities.RoleType; import org.ovirt.engine.core.common.businessentities.roles; import org.ovirt.engine.core.compat.Guid; public class RoleMapper { @Mapping(from = roles.class, to = Role.class) public static Role map(roles entity, Role template) { Role model = template != null ? template : new Role(); model.setName(entity.getname()); model.setDescription(entity.getdescription()); model.setId(entity.getId().toString()); model.setMutable(!entity.getis_readonly()); model.setAdministrative(RoleType.ADMIN.equals(entity.getType())); return model; } @Mapping(from = Role.class, to = roles.class) public static roles map(Role model, roles template) { roles entity = template != null ? template : new roles(); if (model.isSetId()) { entity.setId(new Guid(model.getId())); } if (model.isSetName()) { entity.setname(model.getName()); } if (model.isSetDescription()) { entity.setdescription(model.getDescription()); } if (model.isSetMutable()) { entity.setis_readonly(!model.isMutable()); } if (model.isSetAdministrative()) { entity.setType(model.isAdministrative() ? RoleType.ADMIN : RoleType.USER); } return entity; } }