1 17 18 package org.sape.carbon.services.log.console; 19 20 21 import java.util.ArrayList ; 22 import java.util.Iterator ; 23 import java.util.List ; 24 import java.util.Set ; 25 26 import org.sape.carbon.services.log.console.LogView.LogMessage; 27 28 35 public class LogMessageListModel extends javax.swing.AbstractListModel { 36 37 private List all = new ArrayList (2000); 38 private List filtered = new ArrayList (2000); 39 40 private Set severities; 41 private String textFilter = ""; 42 43 44 public LogMessageListModel() { 45 super(); 46 } 47 48 public synchronized java.lang.Object getElementAt(int param) { 49 return filtered.get(param); 50 } 51 52 public synchronized int getSize() { 53 return filtered.size(); 54 } 55 public synchronized int getTotalSize() { 56 return all.size(); 57 } 58 59 public void setFilter(Set severities, String textFilter) { 60 62 this.severities = severities; 63 this.textFilter = textFilter; 64 65 this.filter(); 66 67 this.fireContentsChanged(this,0,this.getSize()); 68 } 69 70 public void addElement(LogMessage msg) { 71 72 73 this.all.add(msg); 74 75 if (this.severities.contains(msg.getSeverity()) && 76 (this.textFilter.equals("") || (msg.toString().indexOf(this.textFilter) >= 0))) { 77 78 this.filtered.add(msg); 79 80 this.fireContentsChanged(this,this.getSize()-1,this.getSize()); 81 } 82 } 83 84 85 private synchronized void filter() { 86 87 this.filtered.clear(); 88 Iterator iter = all.iterator(); 89 while (iter.hasNext()) { 90 LogMessage msg = (LogMessage) iter.next(); 91 if (this.severities.contains(msg.getSeverity()) && 92 (this.textFilter.equals("") || (msg.toString().indexOf(this.textFilter) >= 0))) { 93 94 filtered.add(msg); 96 } 97 } 98 } 99 100 public synchronized void clear() { 101 System.out.println("Clearing"); 102 this.all.clear(); 103 this.filtered.clear(); 104 this.fireContentsChanged(this,0,this.getSize()); 105 } 106 } | Popular Tags |