@PUT
 @Path("{grupoId}")
 @Consumes(MediaType.TEXT_XML)
 public ResponseMessage updateGrupo(@PathParam("grupoId") String grupoId, UIEntity entity)
     throws RegistroNoEncontradoException, NumberFormatException {
   Grupo grupo = Grupo.getGrupoById(Long.parseLong(grupoId));
   grupo.setNombre(entity.get("nombre"));
   grupo.setDescripcion(entity.get("descripcion"));
   grupo.update();
   return new ResponseMessage(true);
 }
  @PUT
  @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
  @Produces(MediaType.TEXT_XML)
  @Path("mover/{grupoId}")
  public Response mueveMaterial(
      @PathParam("grupoId") String grupoId, MultivaluedMap<String, String> params)
      throws RegistroNoEncontradoException {
    Grupo grupo = Grupo.getGrupoById(Long.parseLong(grupoId));
    Long anteriorId = Long.parseLong(params.getFirst("anteriorId"));
    String tipoAnterior = params.getFirst("tipoAnterior");

    grupo.moverGrupo(anteriorId, tipoAnterior);
    return Response.ok().build();
  }
  @DELETE
  @Path("{grupoId}")
  @Consumes(MediaType.TEXT_XML)
  public void deleteGrupo(@PathParam("grupoId") String grupoId)
      throws RegistroConHijosException, RegistroNoEncontradoException {

    Grupo.delete(Long.parseLong(grupoId));
  }
  @POST
  @Produces(MediaType.APPLICATION_XML)
  public List<UIEntity> insertGrupo(UIEntity entity) throws RegistroNoEncontradoException {

    if (entity.get("cursoId") == null || entity.get("nombre") == null) {
      return new ArrayList<UIEntity>();
    }

    Curso curso = Curso.getCursoById(Long.parseLong(entity.get("cursoId")));
    Grupo grupo = new Grupo();
    grupo.setCurso(curso);
    grupo.setNombre(entity.get("nombre"));
    grupo.setOrden(Long.parseLong(entity.get("orden")));
    grupo = grupo.insert();

    return Collections.singletonList(UIEntity.toUI(grupo));
  }
  @GET
  @Produces(MediaType.TEXT_XML)
  public List<UIEntity> getGruposByCursoId(@QueryParam("cursoId") String cursoId)
      throws RegistroNoEncontradoException, NumberFormatException {
    List<UIEntity> result = new ArrayList<UIEntity>();

    if (cursoId != null) {
      for (Grupo grupo : Grupo.getGruposByCursoId(Long.parseLong(cursoId))) {
        UIEntity entity = UIEntity.toUI(grupo);
        result.add(entity);
      }
    }

    return result;
  }