package org.ovirt.engine.api.restapi.types; import org.ovirt.engine.api.model.Role; import org.ovirt.engine.api.restapi.utils.GuidUtils; import org.ovirt.engine.core.common.businessentities.RoleType; public class RoleMapper { @Mapping(from = org.ovirt.engine.core.common.businessentities.Role.class, to = Role.class) public static Role map(org.ovirt.engine.core.common.businessentities.Role 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.isReadonly()); model.setAdministrative(RoleType.ADMIN.equals(entity.getType())); return model; } @Mapping(from = Role.class, to = org.ovirt.engine.core.common.businessentities.Role.class) public static org.ovirt.engine.core.common.businessentities.Role map(Role model, org.ovirt.engine.core.common.businessentities.Role template) { org.ovirt.engine.core.common.businessentities.Role entity = template != null ? template : new org.ovirt.engine.core.common.businessentities.Role(); if (model.isSetId()) { entity.setId(GuidUtils.asGuid(model.getId())); } if (model.isSetName()) { entity.setName(model.getName()); } if (model.isSetDescription()) { entity.setDescription(model.getDescription()); } if (model.isSetMutable()) { entity.setReadonly(!model.isMutable()); } if (model.isSetAdministrative()) { entity.setType(model.isAdministrative() ? RoleType.ADMIN : RoleType.USER); } return entity; } }