/**
 * Title:
 * @version:    $Id: DBSearchTableModel.java,v 1.1 2004/11/15 13:47:50 rob Exp $
 * Copyright:   Copyright (C) 2003 Ian Ibbotson
 * @author:     Ian Ibbotson
 * Company:
 * Description:
 */

package com.k_int.AdminApp.gui.SearchView;


import javax.swing.table.*;
import java.text.SimpleDateFormat;

import com.k_int.QueryDescriptor.*;
import com.k_int.AdminApp.models.Search.*;
import java.util.logging.*;

public class DBSearchTableModel extends AbstractTableModel
{
    private static Logger cat = Logger.getLogger("com.k_int.AdminApp.gui.SearchView.DbSearchTableModel");
  private SearchModel model;
  private SimpleDateFormat format = new SimpleDateFormat("dd-MM-yyyy");
  private String element_set_name;
  ElementSet es;

  public DBSearchTableModel(SearchModel model, String element_set_name)
  {
    this.model = model;
    this.element_set_name = element_set_name;
    es = model.getQueryDescriptor().lookupElementSet(element_set_name);
  }

  public DBSearchTableModel(SearchModel model)
  {
    this(model, model.getQueryDescriptor().getDefaultElementSetName());
  }

  public int getRowCount()
  {
    cat.finest("getRowCount returns "+model.getRowCount());
    return model.getRowCount();
  }

  public int getColumnCount()
  {
    cat.finest("getColumnCount returns "+es.size());
    return es.size()-1; // We remove 1 because the first col must always be ID and we don't display by default
  }

  public Object getValueAt(int row_num, int col)
  {  
    return model.getValueAt(row_num,col+1);
  }

  public String getColumnName(int col)
  {
    cat.finest("Request to getColumnName "+col+" returns "+es.getElementAt(col).getName());
    return (String) es.getElementAt(col+1).getName();
  }
}
