1 19 20 package com.sslexplorer.setup.forms; 21 22 import java.util.ArrayList ; 23 import java.util.Iterator ; 24 import java.util.List ; 25 26 import javax.servlet.http.HttpSession ; 27 28 import com.sslexplorer.core.CoreServlet; 29 import com.sslexplorer.notification.MessageSink; 30 import com.sslexplorer.notification.Notifier; 31 import com.sslexplorer.setup.MessageSinkItem; 32 import com.sslexplorer.setup.MessageTableItem; 33 import com.sslexplorer.table.AbstractTableItemTableModel; 34 import com.sslexplorer.table.forms.AbstractPagerForm; 35 36 38 public class MessageQueueForm extends AbstractPagerForm { 39 private List <MessageSinkItem> messageSinks; 40 private String selectedSink; 41 42 44 public MessageQueueForm() { 45 super(new MessageQueueTableModel()); 46 } 47 48 51 public List <MessageSinkItem> getMessageSinks() { 52 return messageSinks; 53 } 54 55 58 public void initialize(HttpSession session) { 59 super.initialize(session, "subject"); 60 getModel().clear(); 61 Notifier notifier = CoreServlet.getServlet().getNotifier(); 62 synchronized(notifier) { 63 List messages = notifier.getMessages(); 64 for(Iterator itr = messages.iterator(); itr.hasNext(); ) { 65 Notifier.MessageWrapper next = (Notifier.MessageWrapper)itr.next(); 66 getModel().addItem(new MessageTableItem((next))); 67 } 68 List <MessageSink> messageSinks = CoreServlet.getServlet().getNotifier().getSinks(); 69 List <MessageSinkItem> sinks = new ArrayList <MessageSinkItem>(); 70 for(Iterator i = messageSinks.iterator(); i.hasNext(); ) { 71 MessageSink ms = (MessageSink)i.next(); 72 sinks.add(new MessageSinkItem(ms)); 73 } 74 setMessageSinks(sinks); 75 getPager().rebuild(null); 76 } 77 } 78 79 82 public void setMessageSinks(List <MessageSinkItem> messageSinks) { 83 this.messageSinks = messageSinks; 84 } 85 86 89 public String getSelectedSink() { 90 return selectedSink; 91 } 92 93 96 public void setSelectedSink(String selectedSink) { 97 this.selectedSink = selectedSink; 98 } 99 100 private static final class MessageQueueTableModel extends AbstractTableItemTableModel { 101 102 public int getColumnWidth(int col) { 103 return 0; 104 } 105 106 public String getId() { 107 return "mesageQueue.messages"; 108 } 109 110 public int getColumnCount() { 111 return 4; 112 } 113 114 public String getColumnName(int col) { 115 switch(col) { 116 case 0: 117 return "subject"; 118 case 1: 119 return "urgent"; 120 case 2: 121 return "attempts"; 122 case 3: 123 return "lastTime"; 124 default: 125 return ""; 126 } 127 } 128 129 public Class getColumnClass(int col) { 130 switch(col) { 131 case 0: 132 return Boolean .class; 133 default: 134 return String .class; 135 } 136 } 137 } 138 } | Popular Tags |