package org.greenstone.gsdl3_extension.mat; import java.awt.*; import java.awt.event.*; import java.awt.Dimension; import java.awt.Component; import javax.swing.*; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Set; public class SummaryPanel extends JPanel { MetadataStats ms_stats; DataMaker data_Maker ; ArrayList metadataNameList; final int label_width = 320; final int label_width1 = 200; final int label_height = 30; final int label_x_1 = 30; final int label_x_2 = 325; final int label_font_size = 16; private int totalMetadataItem = 0; private int totalDocument = 0; private int totalMetadataElement = 0; private HashMap jListDataModel = new HashMap(); public SummaryPanel(MetadataStats arg1) { ms_stats = arg1; data_Maker = new DataMaker(ms_stats); metadataNameList = arg1.metadataNameList; totalDocument = data_Maker.getTotalDocNumber(); calculateTotalMetadataItem(); try { jbInit(); } catch (Exception ex) { ex.printStackTrace(); } } private void calculateTotalMetadataItem(){ HashMap setMap = ms_stats.getMetadataSetMap(); Collection c = setMap.values(); Iterator i = c.iterator(); while(i.hasNext()){ MetadataSet mt = (MetadataSet) i.next(); totalMetadataElement = totalMetadataElement + mt.getIndexsList().size(); } totalMetadataItem = totalMetadataElement *totalDocument; } private void jbInit() throws Exception { JTabbedPane tabbedPane = new JTabbedPane(); data_Maker.setTotalDocNumber(); elements = new String [metadataNameList.size()]; for(int i = 0; i=5){length=5;} else if(temp.length<5){length = temp.length;} for(int i =0; i=5){ length= 5; } else if(temp.length<5){ length = temp.length; } for(int i = 0; i0){ alist.clear(); int[] location = jList2.getSelectedIndices(); String[][] list = (String[][])jListDataModel.get("jList2"); metaDataElementName = new String[location.length]; for(int i = 0; i< location.length; i++){ int x = location[i]; metaDataElementName[i] = list[x][0]; alist.add(data_Maker.getMetadataRows(metaDataElementName[i])); } ids = data_Maker.getDocumentIDs("archivedir"); } int totalDocx = ids.length; int totalElementx = metaDataElementName.length; int totalItemx = totalDocx * totalElementx; if(jCheckBox5.isSelected() == false && jCheckBox6.isSelected() == false && jCheckBox7.isSelected() == false && jCheckBox8.isSelected() == false){ new DrawSymbolAxis("Total Document: "+ totalDocx +" Total Element:"+totalElementx + " Total Metadata Item:"+totalItemx,metaDataElementName,ids,alist); } else{ ArrayList nameList = new ArrayList(); if(jCheckBox5.isSelected() == true){ alist = new ArrayList(); nameList = new ArrayList(); for(int i = 0; i< metaDataElementName.length; i++){ if(!dm.IsElementEmpty(metaDataElementName[i])){ alist.add(data_Maker.getMetadataRows(metaDataElementName[i])); nameList.add(metaDataElementName[i]); } } metaDataElementName = new String[nameList.size()]; for(int i = 0; i< nameList.size(); i++){ metaDataElementName[i] = nameList.get(i).toString(); } } if(jCheckBox6.isSelected() == true){ alist = new ArrayList(); nameList = new ArrayList(); for(int i = 0; i< metaDataElementName.length; i++){ if(!dm.IsElementFull(metaDataElementName[i])){ alist.add(data_Maker.getMetadataRows(metaDataElementName[i])); nameList.add(metaDataElementName[i]); } } metaDataElementName = new String[nameList.size()]; for(int i = 0; i< nameList.size(); i++){ metaDataElementName[i] = nameList.get(i).toString(); } } if(jCheckBox7.isSelected() == true){ alist = data_Maker.removeDocument(alist, ids , 0); ArrayList idList = data_Maker.getRemovedID(); ArrayList newIDList = new ArrayList(); for(int i = 0; i< ids.length; i++){ if(!idList.contains(ids[i])){ newIDList.add(ids[i]); } } ids = new String[newIDList.size()]; for(int i = 0; i