Package clips.doctor.disease.search

Source Code of clips.doctor.disease.search.TableModelDiseaseList

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package clips.doctor.disease.search;

import beans.service.search.DiseaseChunk;
import cli_fmw.delegate.directory.complex.DirectoryLocator;
import cli_fmw.main.ClipsException;
import cli_fmw.utils.ErrorValue;
import clips.delegate.directory.ro.DirectoryCollaborator;
import clips.delegate.directory.ro.DirectoryCollaboratorItem;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import javax.swing.table.AbstractTableModel;

/**
*
* @author lacoste
*/
public class TableModelDiseaseList extends AbstractTableModel {

    private ArrayList<DiseaseChunk> diseaseList;
    private DirectoryCollaborator dirCollab;
    public static final int COLCOUNT    = 3;
    public static final int COL_FIO     = 0;
    public static final int COL_CREATER = 1;
    public static final int COL_DATE    = 2;


    public TableModelDiseaseList(ArrayList<DiseaseChunk> diseaseList) throws ClipsException {
        this.diseaseList = diseaseList;
        if (diseaseList != null) {
            java.util.Collections.sort(diseaseList, new Comparator<DiseaseChunk>() {

                @Override
                public int compare(DiseaseChunk o1, DiseaseChunk o2) {
                    return o1.details.created.compareTo(o2.details.created);
                }
            });
        }
        dirCollab = DirectoryLocator.getDirectory(DirectoryCollaborator.class);
    }

    @Override
    public int getColumnCount() {
        return COLCOUNT;
    }

    @Override
    public int getRowCount() {
        return diseaseList == null ? 0 : diseaseList.size();
    }

    @Override
    public String getColumnName(int c) {
        String s;
        switch (c) {
            case COL_FIO: return "Пациент";
            case COL_CREATER: return "Кем создано";
            case COL_DATE: return "Дата";
            default:
                throw new IllegalArgumentException("Некорректный номер столбца");
        }
    }

    @Override
    public boolean isCellEditable(int r, int c) {
        return false;
    }

    @Override
    public Class<?> getColumnClass(int c) {
        switch (c) {
            case COL_FIO: return String.class;
            case COL_CREATER: return DirectoryCollaboratorItem.class;
            case COL_DATE: return Date.class;
            default: throw new IllegalArgumentException("Некорректный номер столбца");
        }
    }



    @Override
    public Object getValueAt(int r, int c) {
        try {
            DiseaseChunk dc = diseaseList.get(r);
            switch (c) {
                case COL_FIO: {
                    return dc.fio;
                }
                case COL_CREATER: {
                    DirectoryCollaboratorItem collab = dirCollab.getItemFromID(dc.details.collaboratorID);
                    return collab;
                }
                case COL_DATE: {
                    return dc.details.created;
                }
                default:
                    throw new IllegalArgumentException("Некорректный номер столбца");
            }
        } catch (ClipsException ex) {
            return new ErrorValue(ex);
        }
    }

}
TOP

Related Classes of clips.doctor.disease.search.TableModelDiseaseList

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.