package br.com.centralit.citquestionario.integracao; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.List; import br.com.centralit.citquestionario.bean.ListagemDTO; import br.com.centralit.citquestionario.bean.ListagemItemDTO; import br.com.centralit.citquestionario.bean.ListagemLinhaDTO; import br.com.citframework.dto.IDto; import br.com.citframework.excecao.PersistenceException; import br.com.citframework.integracao.CrudDaoDefaultImpl; import br.com.citframework.integracao.Field; import br.com.citframework.util.Constantes; public class ListagemDao extends CrudDaoDefaultImpl { public ListagemDao() { super(Constantes.getValue("DATABASE_ALIAS"), null); } @Override public Collection<ListagemDTO> find(final IDto obj) throws PersistenceException { return null; } @Override public Collection<Field> getFields() { return null; } @Override public String getTableName() { return null; } @Override public Collection<ListagemDTO> list() throws PersistenceException { return null; } @Override public Class<ListagemDTO> getBean() { return ListagemDTO.class; } @Override public IDto restore(final IDto obj) throws PersistenceException { if (obj != null) { final Collection linhas = new ArrayList(); final List lista = this.execSQL(((ListagemDTO) obj).getSQL(), null); for (Integer l = 0; l <= lista.size() - 1; l++) { final Object[] row = (Object[]) lista.get(l); final ListagemLinhaDTO linha = new ListagemLinhaDTO(); final Collection dados = new ArrayList(); String descricao = ""; int c = 0; for (final Iterator it = ((ListagemDTO) obj).getCampos().iterator(); it.hasNext();) { final ListagemItemDTO campo = (ListagemItemDTO) it.next(); final ListagemItemDTO item = new ListagemItemDTO(); item.setNome(campo.getNome()); item.setDescricao(campo.getDescricao()); item.setValor(row[c].toString()); dados.add(item); if (c > 0) { if (descricao != "") { descricao += " - "; } descricao += row[c].toString(); } c += 1; } linha.setId(row[0].toString()); linha.setDescricao(descricao); linha.setDados(dados); linhas.add(linha); } ((ListagemDTO) obj).setLinhas(linhas); } return obj; } }