blob: f180adc67c2b308bda2dea613f8c08d013d97fdb [file] [log] [blame]
package com.pivotal.jvsd.stats;
import com.pivotal.jvsd.stats.StatFileParser.ResourceInst;
import com.pivotal.jvsd.stats.StatFileParser.StatArchiveFile;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.logging.ConsoleHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
/**
*
* @author Vince Ford
*/
public class StatFileManager {
Logger logger = null;
ArrayList<StatFileWrapper> fileList = null;
/**
*
*/
public StatFileManager() {
logger = Logger.getLogger("com.gemstone.gemfire.support.StatFileManager");
logger.setUseParentHandlers(false);
ConsoleHandler ch = new ConsoleHandler();
ch.setLevel(Level.FINEST);
logger.addHandler(ch);
logger.setLevel(Level.FINEST);
fileList = new ArrayList<StatFileWrapper>();
}
/**
*
* @param filename
*/
public void dump() {
try {
File[] files = getFileList();
//uses the GemFire Methods to dump the file
StatFileParser sar = new StatFileParser(files, null, false);
List<ResourceInst> ril = sar.getResourceInstList();
Utility.dumpCharts(ril);
sar.update();
StatArchiveFile[] sa = sar.getArchives();
for (StatArchiveFile o : sa) {
System.out.println(o.getArchiveInfo().toString());
}
sar = null;
} catch (IOException ex) {
logger.log(Level.SEVERE, null, ex);
}
}
public void addFile(File file) {
StatFileWrapper fw = new StatFileWrapper(file);
fileList.add(fw);
}
public void addFile(String filename) {
File file = new File(filename);
StatFileWrapper fw = new StatFileWrapper(file);
fileList.add(fw);
}
File[] getFileList() {
File[] files = new File[fileList.size()];
int i = 0;
for (StatFileWrapper f : fileList) {
files[i] = f.getFile();
i++;
}
return files;
}
public void updateTableView(JTable table) {
DefaultTableModel tablemodel = (DefaultTableModel) table.getModel();
int index = 1;
int namelength = 0;
for (StatFileWrapper sfw : fileList) {
if (!sfw.isProcessed()) {
List<ResourceInst> resourceList = sfw.getResourceList();
int y = 0;
for (ResourceInst ri : resourceList) {
Object[] rowData = new Object[7];
rowData[0] = y;
rowData[1] = new Date(ri.getFirstTimeMillis());
rowData[2] = index;
rowData[3] = ri.getSampleCount();
rowData[4] = ri.getId();
rowData[5] = ri.getType().getName();
rowData[6] = ri.getName();
if (namelength < ri.getName().length()) {
namelength = ri.getName().length();
}
tablemodel.addRow(rowData);
y++;
}
sfw.setProcessed(true);
}
index++;
}
}
public List<String> getStats(int filenum, String type, String name, boolean hideZeros) {
StatFileWrapper stw = fileList.get(filenum - 1);
List<String> list = stw.getStats(type, name, hideZeros);
return list;
}
public StatFileWrapper getFile(int Index) {
return fileList.get(Index);
}
public int length() {
return fileList.size();
}
}