import phases.*;
import phases.PhaseManagerPackage.*;
import org.omg.CosNaming.*;
import org.omg.CORBA.*;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import java.lang.*;
import java.util.*;

public class UpdatePhaseTable {

private PhaseManager pManager;
private PhaseTableModel pTableModel;
private JComboBox phasePopupMenu;

  UpdatePhaseTable(PhaseManager pManager, PhaseTableModel pTableModel) {
    this.pManager    = pManager;
    this.pTableModel = pTableModel;
  }
  
  public void update() {
    if (pManager != null && pTableModel != null) {
      PhaseStatus[] list = pManager.getStatus();
      int nPhase = (int) pManager.getNphase();
      for (int i=0; i<nPhase; i++) {
        Date timeCurrent      = new Date();
        Date timeCreated      = new Date((long) (list[i].timeCreated*1000));
	Date timeLastAccessed = new Date((long) (list[i].timeLastAccessed*1000));
	Integer timeDelta = new Integer( (int) (timeCurrent.getTime()/1000 - list[i].timeLastAccessed) );
	
        pTableModel.setValueAt(list[i].status,                i, 0);
        pTableModel.setValueAt(timeCreated.toString(),      i, 1);
        pTableModel.setValueAt(timeLastAccessed.toString(), i, 2);
        pTableModel.setValueAt(timeDelta.toString(),        i, 3);
      }
      for (int i=nPhase; i<pTableModel.getRowCount(); i++) {
        pTableModel.setValueAt("", i, 0);
        pTableModel.setValueAt("", i, 1);
        pTableModel.setValueAt("", i, 2);
        pTableModel.setValueAt("", i, 3);
       }
    }
  }
  
}
  

