Estou tentando exibir alguns dados em uma tabela, tenho seguido a estrutura de outra tela que também exibe a tabela no projeto mas a minha não retorna nenhum valor nas colunas. Não exibe mensagem de erro e no debug também não aparece nada. Alguém consegue ajudar?
- Modelo MVC
Service:
public List<ObservacaoLigacaoVO> obterHistoricoObservacoes(Integer idLigacao, int offset, int limit) throws Exception {
Connection conn = conecta();
Statement stmt = null;
ResultSet rs = null;
String sql = "";
List<ObservacaoLigacaoVO> listaObservacoes = new ArrayList<>();
try {
stmt = conn.createStatement();
if (offset >= 0 && limit > 0 && limit <= 100) {
sql = "SELECT * FROM ("
+ "SELECT obsligacao.obsligacao, obsligacao.ativo, obsligacao.datahoraalteracao, ROW_NUMBER() OVER (ORDER BY obsligacao.datahoraalteracao DESC) AS rownum "
+ "FROM obsligacao "
+ "WHERE obsligacao.idligacao = " + idLigacao
+ ") AS temp_table "
+ "WHERE rownum > " + offset
+ " AND rownum <= " + (offset + limit);
} else {
sql = "SELECT obsligacao.obsligacao, obsligacao.ativo, obsligacao.datahoraalteracao "
+ "FROM obsligacao "
+ "WHERE obsligacao.idligacao = " + idLigacao;
}
rs = stmt.executeQuery(sql);
while (rs.next()) {
ObservacaoLigacaoVO observacaoLigacaoVO = new ObservacaoLigacaoVO();
observacaoLigacaoVO.setObservacao(rs.getString("obsligacao"));
observacaoLigacaoVO.setAtivo(rs.getBoolean("ativo"));
observacaoLigacaoVO.setDataHoraAlteracao(rs.getString("datahoraalteracao"));
listaObservacoes.add(observacaoLigacaoVO);
}
return listaObservacoes;
} catch (Exception e) {
rollbackTransaction(e);
throw e;
} finally {
if (stmt != null) {
stmt.close();
}
if (rs != null) {
rs.close();
}
if (conn != null) {
destruir(conn);
}
}
}
Obs: Os valores estao coerentes aos apresentados no ObservacaoLigacaoVO/DTO
PresenterImpl:
public void loadObservacoesLigacao(final int offset, final int limit, final AsyncCallback<PagingLoadResult<ObservacaoLigacaoDTO>> callback) {
ObservacaoLigacaoGWTService.Util.getInstance().obterHistoricoObservacoes(baseView.getLigacao(), offset, limit, new AsyncCallback<List<ObservacaoLigacaoDTO>>() {
public void onFailure(Throwable caught) {
cf.alert(caught);
}
public void onSuccess(List<ObservacaoLigacaoDTO> result) {
if (result != null) {
baseView.setlistStoreObservacao(result);
} else {
System.out.println("Nenhum registro encontrado.");
callback.onSuccess(new PagingLoadResultBean<>(Collections.emptyList(), 0, offset));
}
}
});
}
ViewImpl:
private PagingLoader<PagingLoadConfig, PagingLoadResult<ObservacaoLigacaoDTO>> getLoader() {
if (loader == null) {
loader = new PagingLoader<PagingLoadConfig, PagingLoadResult<ObservacaoLigacaoDTO>>(getProxy());
loader.setRemoteSort(false);
loader.addLoadHandler(new LoadResultListStoreBinding<PagingLoadConfig, ObservacaoLigacaoDTO, PagingLoadResult<ObservacaoLigacaoDTO>>(getListStoreObservacao()) {
@Override
public void onLoad(LoadEvent<PagingLoadConfig, PagingLoadResult<ObservacaoLigacaoDTO>> event) {
super.onLoad(event);
// Adiciona as observações carregadas ao ListStore
getListStoreObservacao().addAll(event.getLoadResult().getData());
getGridObservacao().setEnabled(true);
}
});
}
return loader;
}
private RpcProxy<PagingLoadConfig, PagingLoadResult<ObservacaoLigacaoDTO>> getProxy() {
if (proxy == null) {
proxy = new RpcProxy<PagingLoadConfig, PagingLoadResult<ObservacaoLigacaoDTO>>() {
@Override
public void load(PagingLoadConfig loadConfig, AsyncCallback<PagingLoadResult<ObservacaoLigacaoDTO>> callback) {
loadConfig.setLimit(FaturamentoConstante.LOAD_CONFIG_LIMIT);
getPresenter().loadObservacoesLigacao(loadConfig.getOffset(), loadConfig.getLimit(), callback);
}
};
}
return proxy;
}
//trecho
private Grid<ObservacaoLigacaoDTO> getGridObservacao() {
if (gridObservacao == null) {
List<ColumnConfig<ObservacaoLigacaoDTO, ?>> columns = new ArrayList<ColumnConfig<ObservacaoLigacaoDTO, ?>>();
// Configuração das colunas
ColumnConfig<ObservacaoLigacaoDTO, String> colObservacao = new ColumnConfig<ObservacaoLigacaoDTO, String>(
new ValueProvider<ObservacaoLigacaoDTO, String>() {
@Override
public String getValue(ObservacaoLigacaoDTO object) {
return object.getObservacao();
}
//trecho
gridObservacao = new Grid <ObservacaoLigacaoDTO> (getListStoreObservacao(), new ColumnModel <ObservacaoLigacaoDTO>(columns));
gridObservacao.getView().setStripeRows(true);
gridObservacao.getView().setColumnLines(true);
gridObservacao.getView().setForceFit(true);
gridObservacao.setColumnReordering(true);
gridObservacao.setBorders(false);
}
return gridObservacao;
}
private ListStore<ObservacaoLigacaoDTO> getListStoreObservacao() {
if (listStoreObservacao == null) {
listStoreObservacao = new ListStore<ObservacaoLigacaoDTO>(new ModelKeyProvider<ObservacaoLigacaoDTO>(){
public String getKey(ObservacaoLigacaoDTO item) {
return item.getId() + "";
}
});
listStoreObservacao.setAutoCommit(true);
}
return listStoreObservacao;
}
public void setlistStoreObservacao(List<ObservacaoLigacaoDTO> l) {
getGridObservacao().getSelectionModel().deselectAll();
getListStoreObservacao().clear();
getListStoreObservacao().clear();
getListStoreObservacao().addAll(l);
getGridObservacao().getView().refresh(true);
}
private List<ObservacaoLigacaoDTO> getObservacoesDTO() {
List<ObservacaoLigacaoDTO> ret = new ArrayList<ObservacaoLigacaoDTO>();
for (ObservacaoLigacaoDTO f : getListStoreObservacao().getAll()) {
if (f.isUtilizar()) {
ret.add(f);
}
}
return ret;
}
Quando busco as informações apenas em textField ou em alguma outra forma de visualização ela funciona, o DTO esta sendo usado em outras funcionalidades que nao envolvem criação de grid, funcionam.