Package clips.reportgen.collabs

Source Code of clips.reportgen.collabs.TableModelReportCollaborators

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

package clips.reportgen.collabs;

import cli_fmw.delegate.directory.complex.DirectoryLocator;
import cli_fmw.main.ClipsException;
import clips.delegate.directory.ro.DirectoryCollaborator;
import clips.delegate.directory.ro.DirectoryCollaboratorItem;
import clips.login.UserInfo;
import java.util.List;
import java.util.Set;
import javax.swing.table.AbstractTableModel;

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

    public static final int COL_COUNT = 2;
    public static final int COL_COLLAB = 0;
    public static final int COL_IS_IN = 1;

    private List<DirectoryCollaboratorItem> dirCollabs;
    private Set<DirectoryCollaboratorItem> reportCollabs;

    public TableModelReportCollaborators(Set<DirectoryCollaboratorItem> reportCollabs) throws ClipsException {
        DirectoryCollaborator dir = DirectoryLocator.getDirectory(DirectoryCollaborator.class);
        dirCollabs = dir.getItemsFiltered(UserInfo.get().getCollaborator().getLpu(), false, false, false);
        this.reportCollabs = reportCollabs;
    }

    @Override
    public int getRowCount() {
        if (dirCollabs == null) {
            return 0;
        }
        return dirCollabs.size();
    }

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

    @Override
    public Class<?> getColumnClass(int columnIndex) {
        if (columnIndex == COL_IS_IN) {
            return Boolean.class;
        }
        return super.getColumnClass(columnIndex);
    }

    @Override
    public String getColumnName(int column) {
        switch (column) {
            case COL_COLLAB: return "Сотрудник";
            case COL_IS_IN: return "Разрешено";
            default: throw new IllegalArgumentException("TableModelReportCollaborators. col = " + column);
        }
    }

    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex) {
        if (columnIndex == COL_COLLAB) {
            return false;
        }
        return true;
    }

    @Override
    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
        if (columnIndex == COL_COLLAB) {
            return;
        }
        Boolean b = (Boolean) aValue;
        if (b) {
            reportCollabs.add(dirCollabs.get(rowIndex));
        }
        else {
            reportCollabs.remove(dirCollabs.get(rowIndex));
        }
        fireTableCellUpdated(rowIndex, columnIndex);
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        if (columnIndex == COL_COLLAB) {
            return dirCollabs.get(rowIndex);
        }
        else {
            return reportCollabs.contains(dirCollabs.get(rowIndex));
        }
    }
}
TOP

Related Classes of clips.reportgen.collabs.TableModelReportCollaborators

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.