/*
   * (non-Javadoc)
   *
   * @see br.org.snic.snc.dao.UsuarioDAO#obterTodos()
   */
  public List<Usuario> selecionarTodos() throws IntegrationException {
    String sql =
        "SELECT u.CD_USUARIO as codigo, "
            + "       u.NM_SENHA as senha, "
            + "       u.NM_USUARIO as nome, "
            + "       u.FL_ATIVO as ativo,"
            + "       u.FL_TROCAR_SENHA as trocarSenha "
            + "  FROM USUARIO u";

    List<Usuario> usuarios = this.getJdbcTemplate().query(sql, new UsuarioMapper());

    sql =
        "SELECT gu.CD_GRUPO_ACESSO, "
            + "       g.NM_GRUPO_ACESSO "
            + "  FROM GRUPO_ACESSO_USUARIO gu inner join GRUPO_ACESSO g "
            + "       on gu.CD_GRUPO_ACESSO = g.CD_GRUPO_ACESSO "
            + " WHERE gu.CD_USUARIO = ?";

    for (Iterator<Usuario> iterator = usuarios.iterator(); iterator.hasNext(); ) {
      Usuario usuario = (Usuario) iterator.next();

      List<GrupoAcesso> grupos =
          this.getJdbcTemplate().query(sql, new GrupoAcessoMapper(), usuario.getCodigo());

      usuario.setGruposAcesso(grupos);
    }

    return usuarios;
  }
  /*
   * (non-Javadoc)
   *
   * @see
   * br.org.snic.snc.dao.UsuarioDAO#selecionar(br.org.snic.domain.Usuario)
   */
  public Usuario selecionar(Usuario usuario) throws IntegrationException {
    String sql =
        "SELECT u.CD_USUARIO as codigo, "
            + "       u.NM_SENHA as senha, "
            + "       u.NM_USUARIO as nome, "
            + "       u.FL_ATIVO as ativo,"
            + "       u.FL_TROCAR_SENHA as trocarSenha "
            + "  FROM USUARIO u "
            + " WHERE u.CD_USUARIO = ? ";

    Usuario usuCons =
        this.getJdbcTemplate().queryForObject(sql, new UsuarioMapper(), usuario.getCodigo());

    sql =
        "SELECT gu.CD_GRUPO_ACESSO, "
            + "       g.NM_GRUPO_ACESSO "
            + "  FROM GRUPO_ACESSO_USUARIO gu inner join GRUPO_ACESSO g "
            + "       on gu.CD_GRUPO_ACESSO = g.CD_GRUPO_ACESSO "
            + " WHERE gu.CD_USUARIO = ?";

    List<GrupoAcesso> gruposAcesso =
        this.getJdbcTemplate().query(sql, new GrupoAcessoMapper(), usuCons.getCodigo());

    usuCons.setGruposAcesso(gruposAcesso);

    return usuCons;
  }