@Override
  public List<UtenteDTO> getByCompetenze(String competenza, Integer livello) {

    // cerco l'id corrispondente all'id della competenza
    Map<String, SearchDTO> andMap = new HashMap<String, SearchDTO>();
    SearchDTO so = new SearchDTO();
    so.setOperatore(it.linksmt.corsoedoc.intranet.enumeration.Operator.EQUAL);
    so.setValue(competenza);
    andMap.put("descrizione", so);

    ISpecifications<Skill> u = new ISpecifications<Skill>();
    Specification<Skill> spec = u.findByCriteria(andMap, null);
    Skill skill = skillRepJpa.findOne(spec);

    long idSkill = skill.getId();

    // cerco gli utenti idonei una cerca competenza e un certo livello

    Map<String, SearchDTO> andMap2 = new HashMap<String, SearchDTO>();
    SearchDTO so2 = new SearchDTO();
    so2.setOperatore(it.linksmt.corsoedoc.intranet.enumeration.Operator.EQUAL);
    so2.setValue(idSkill);
    andMap.put("tb_skill_id", so2);
    so2.setValue(livello);
    andMap.put("livello", so2);
    ISpecifications<UtenteHasSkill> uS = new ISpecifications<UtenteHasSkill>();
    Specification<UtenteHasSkill> spec2 = uS.findByCriteria(andMap2, null);
    List<UtenteHasSkill> listaUtentiHasSkill = utenteSkillRepository.findAll(spec2);

    // riempio una lista con tutti gli utenti DTO idonei

    List<Utente> utentiIdonei = new ArrayList<Utente>();

    for (UtenteHasSkill utenteHasSkill : listaUtentiHasSkill) {
      utentiIdonei.add(utenteRepository.findOne(utenteHasSkill.getId()));
    }

    return UtenteConverter.convertListToDTO(utentiIdonei);
  }
 public static SkillDTO convertToDto(Skill skill) {
   SkillDTO dto = new SkillDTO();
   dto.setId(skill.getId());
   dto.setDescrizione(skill.getDescrizione());
   return dto;
 }
 public static Skill convertToEntity(SkillDTO dto) {
   Skill skill = new Skill();
   skill.setId(dto.getId());
   skill.setDescrizione(dto.getDescrizione());
   return skill;
 }