Public feed #889842

Untitled

public java v1 · immutable
Raw Edit
·published 2008-02-03 06:58 UTC
rendered paste body
package optipalette.ui.model;import com.ownyx.table.ORTableModel;import java.util.ArrayList;import java.util.Date;import java.util.List;import javax.persistence.EntityManager;import javax.persistence.EntityManagerFactory;import javax.persistence.Query;import optipalette.entities.Client;import optipalette.entities.Echange;import optipalette.entities.TypePalette;/** * * @author mr */public class StatClientModel extends ORTableModel {    List echanges = fetchList(null, null);    String[] cols = {"Date", "N° Ordre", "Référence", "Type palette", "Enlevées", "Laissées", "Chèque", "N° Chèque", "Validité"};    public StatClientModel() {        super();        echanges = fetchList(null, null);        List<Class> columnsClass = new ArrayList<Class>();        setColumnsClass(columnsClass);        for (int i = 0; i < cols.length; i++) {            columnsClass.add(Object.class);        }        columnsClass.set(0, Date.class);        columnsClass.set(7, Date.class);    }    public void updateTable(Client client, TypePalette typePalette) {        echanges = fetchList(client, typePalette);        fireTableDataChanged();    }    public int getRowCount() {        if (echanges != null) {            return echanges.size();        } else {            return 0;        }    }    public int getColumnCount() {        return cols.length;    }    @Override    public String getColumnName(int column) {        return cols[column];    }    public Object getValueAt(int rowIndex, int columnIndex) {        Echange echange = (Echange) echanges.get(rowIndex);        switch (columnIndex) {            case 0:                return echange.getMouvement().getDateMouvement();            case 1:                return echange.getMouvement().getOrdre();            case 2:                return echange.getMouvement().getReference();            case 3:                return echange.getTypePalette().getNom();            case 4:                return echange.getNombrePaletteEnlevee();            case 5:                return echange.getNombrePaletteLaissee();            case 6:                if (echange.getMouvement().getChequeCollection().iterator().hasNext()) {                    return echange.getMouvement().getChequeCollection().iterator().next().getNombrePalette();                }            case 7:                if (echange.getMouvement().getChequeCollection().iterator().hasNext()) {                    return echange.getMouvement().getChequeCollection().iterator().next().getNumero();                }            case 8:                if (echange.getMouvement().getChequeCollection().iterator().hasNext()) {                    return echange.getMouvement().getChequeCollection().iterator().next().getValidite();                }            default:                return "";        }    }    public List fetchList(Client client, TypePalette typePalette) {        List list = null;        EntityManagerFactory emf = javax.persistence.Persistence.createEntityManagerFactory("OptiPalettePU");        EntityManager em = emf.createEntityManager();        em.getTransaction().begin();        try {            if (!(client == null || typePalette == null)) {                Query query = em.createQuery(                        "select e from Echange e " +                        "where e.client = :client " +                        "and e.typePalette = :type_palette " +                        "order by e.mouvement.dateMouvement desc");                query.setParameter("client", client);                query.setParameter("type_palette", typePalette);                list = query.getResultList();            }        } catch (Exception e) {            e.printStackTrace();            em.getTransaction().rollback();        } finally {            em.close();        }        return list;    }}