tools.sniffer.SniffSessionList Maven / Gradle / Ivy
package tools.sniffer;
import java.util.*;
/**
* A list of Sniff Sessions.
* Acknowledgement:
* This code was contributed by Tim Bardzil .
* This code was completed as part of a class project in TLEN 5843
* Singaling Protocols, taught by Professor Douglas C. Sicker, Ph.D. at
* the University of Colorado, Boulder.
* Minor modifications to the code were made by M. Ranganathan .
*
*@author Tim Bardzil
*
*/
public class SniffSessionList extends ArrayList {
/**
* Add a new SniffMessage to the SniffSessionList.
* Create a new Sniff Session if this is a new call id.
*/
public void add(SniffMessage sniffMessage) {
boolean newSession = true;
ListIterator i = super.listIterator();
while (i.hasNext()) {
SniffMessageList temp = (SniffMessageList) i.next();
if (temp.getCallID().equals(sniffMessage.getCallID())) {
temp.add(sniffMessage);
newSession = false;
}
}
if (newSession == true) {
SniffMessageList newMessageList = new SniffMessageList();
newMessageList.add(sniffMessage);
super.add(newMessageList);
}
}
/**
* Return a string consisting of formatted messages that can be fed
* to the trace viewer.
*/
public String toXML() {
ListIterator li = super.listIterator();
String xmlMessages =
" \n";
int i = 0;
while (li.hasNext()) {
SniffMessageList sml = (SniffMessageList) li.next();
xmlMessages += sml.toXML();
}
return xmlMessages;
}
/**
* Return an array of call identifiers for the traces.
*/
public String[] getCallIds() {
ListIterator li = super.listIterator();
String[] retval = new String[this.size()];
int i = 0;
while (li.hasNext()) {
SniffMessageList temp = (SniffMessageList) li.next();
retval[i++] = temp.getCallID();
}
return retval;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy