java awt exception

[nobr]Hello I have received this exception that i cannot catch.....any ideas?

Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 3 >= 3

at java.util.Vector.elementAt(Unknown Source)

at javax.swing.DefaultListModel.getElementAt(Unknown Source)

at javax.swing.plaf.basic.BasicListUI.paintCell(Unknown Source)

at javax.swing.plaf.basic.BasicListUI.paintImpl(Unknown Source)

at javax.swing.plaf.basic.BasicListUI.paint(Unknown Source)

at javax.swing.plaf.ComponentUI.update(Unknown Source)

at javax.swing.JComponent.paintComponent(Unknown Source)

at javax.swing.JComponent.paint(Unknown Source)

at javax.swing.JComponent.paintChildren(Unknown Source)

at javax.swing.JComponent.paint(Unknown Source)

at javax.swing.JViewport.paint(Unknown Source)

at javax.swing.JComponent.paintChildren(Unknown Source)

at javax.swing.JComponent.paint(Unknown Source)

at javax.swing.JComponent.paintChildren(Unknown Source)

at javax.swing.JComponent.paint(Unknown Source)

at javax.swing.JComponent.paintChildren(Unknown Source)

at javax.swing.JComponent.paint(Unknown Source)

at javax.swing.JComponent.paintChildren(Unknown Source)

at javax.swing.JComponent.paint(Unknown Source)

at javax.swing.JLayeredPane.paint(Unknown Source)

at javax.swing.JComponent.paintChildren(Unknown Source)

at javax.swing.JComponent.paint(Unknown Source)

at javax.swing.JComponent.paintToOffscreen(Unknown Source)

at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)

at javax.swing.RepaintManager.paint(Unknown Source)

at javax.swing.JComponent._paintImmediately(Unknown Source)

at javax.swing.JComponent.paintImmediately(Unknown Source)

at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)

at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)

at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)

at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)

at java.awt.event.InvocationEvent.dispatch(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)

Here is my source:

package com.ras.tstportal.chatclientplugin.ninelinetab;

//import statements

import javax.swing.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.io.*;

import java.awt.*;

import java.awt.event.*;

import java.util.*;

import java.net.*;

import org.jivesoftware.smack.*;

import org.jivesoftware.smack.packet.*;

import org.jivesoftware.smack.filter.*;

import com.bbn.openmap.omGraphics.OMScalingRaster;

import com.jbay.*;

import java.awt.Toolkit;

/*

* QueueView.java

*

* Created on March 21, 2007, 7:28 AM

*/

public class QueueView extends JPanel implements MouseListener,ActionListener {

// Variables declaration - do not modify

DNDList ACCTargetList;

DNDList AttackNorthList;

DNDList AttackSouthList;

DNDList JCETargetList;

private javax.swing.JLabel NameLabel;

DNDList ProgressList;

DNDList ResultsList;

DNDList ReviewList;

private javax.swing.JLabel RoleLabel;

DNDList TaskC2List;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel10;

private javax.swing.JLabel jLabel11;

private javax.swing.JLabel jLabel12;

private javax.swing.JLabel jLabel13;

private javax.swing.JLabel jLabel14;

private javax.swing.JLabel jLabel15;

private javax.swing.JLabel jLabel16;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel3;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

private javax.swing.JLabel jLabel9;

private javax.swing.JPanel jPanel1;

private javax.swing.JPanel jPanel2;

private javax.swing.JPanel jPanel3;

private javax.swing.JPanel jPanel4;

private javax.swing.JPanel jPanel5;

private javax.swing.JPanel jPanel6;

private javax.swing.JPanel jPanel7;

private javax.swing.JPanel jPanel9;

private javax.swing.JPanel jPanel10;

private javax.swing.JPanel jPanel11;

private javax.swing.JPanel jPanel12;

private javax.swing.JPanel jPanel13;

private javax.swing.JPanel jPanel14;

private javax.swing.JPanel jPanel15;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JScrollPane jScrollPane2;

private javax.swing.JScrollPane jScrollPane3;

private javax.swing.JScrollPane jScrollPane4;

private javax.swing.JScrollPane jScrollPane5;

private javax.swing.JScrollPane jScrollPane6;

private javax.swing.JScrollPane jScrollPane7;

private javax.swing.JScrollPane jScrollPane8;

// End of variables declaration

DefaultListModel JCETargetModel;

DefaultListModel ACCTargetModel;

DefaultListModel AttackNorthModel;

DefaultListModel AttackSouthModel;

DefaultListModel ReviewModel;

DefaultListModel TaskC2Model;

DefaultListModel ProgressModel;

DefaultListModel ResultsModel;

XMPPConnection conn;

AccountManager am;

String role;

GroupChat gc;

GroupChat gc2;

//File f=new File("attackinfo.txt");

//Calendar cal;

//private int timeHour;

//private int timeMinute;

//private int timeSecond;

//private int timeAmPm;

//File logging=new File("logging.txt");

//FileWriter logwriter;

//BufferedWriter logbw;

ArrayList<Target> targets; // List of targets

protected DataOutputStream o;// Output stream to target server

protected DataInputStream i;// Input stream from target server

Socket s;// Socket connected to target server

JPopupMenu ACCPopup;

JPopupMenu JCEPopup;

JPopupMenu AtkNorthPopup;

JPopupMenu AtkSouthPopup;

JPopupMenu ReviewPopup;

JPopupMenu C2Popup;

JPopupMenu ProgressPopup;

JPopupMenu ResultsPopup;

JMenuItem JCEStop;

JMenuItem ACCStop;

JMenuItem NorthStop;

JMenuItem SouthStop;

JMenuItem ReviewStop;

JMenuItem TaskC2Stop;

JMenuItem ProgressStop;

JMenuItem ResultsStop;

JMenuItem movetoNorthfromJCE;

JMenuItem movetoSouthfromJCE;

JMenuItem movetoNorthfromACC;

JMenuItem movetoSouthfromACC;

JMenuItem movetoReviewfromNorth;

JMenuItem movetoJCEfromNorth;

JMenuItem movetoACCfromNorth;

JMenuItem movetoReviewfromSouth;

JMenuItem movetoJCEfromSouth;

JMenuItem movetoACCfromSouth;

JMenuItem movetoNorthfromReview;

JMenuItem movetoSouthfromReview;

JMenuItem movetoC2fromReview;

JMenuItem movetoReviewfromC2;

JMenuItem movetoProgressfromC2;

JMenuItem movetoResultsfromProgress;

JMenuItem movetoJCEfromResults;

JMenuItem movetoACCfromResults;

DNDList rightclicked;

Target tempTarget;

ArrayList<String> sortList = new ArrayList<String>();

/** Creates new form QueueView */

public QueueView(XMPPConnection conn,GroupChat gc) {

//Establish connection to server

connect();

// Initialize list of targets

targets = new ArrayList<Target>();

// openlogwriter();

// Set initial variables

this.conn = conn;

this.gc = gc;

gc2 = gc;

am = conn.getAccountManager();

String username = conn.getUser();

role = am.getAccountAttribute("name");

// Set up the lists

setLists();

// Set up the gui

initComponents(username, role);

//Create the popup menu.

ACCPopup = new JPopupMenu();

JCEPopup= new JPopupMenu();

AtkNorthPopup = new JPopupMenu();

AtkSouthPopup = new JPopupMenu();

ReviewPopup = new JPopupMenu();

C2Popup = new JPopupMenu();

ProgressPopup = new JPopupMenu();

ResultsPopup = new JPopupMenu();

JCEStop = new JMenuItem("Stop Target");

ACCStop = new JMenuItem("Stop Target");

NorthStop = new JMenuItem("Stop Target");

SouthStop = new JMenuItem("Stop Target");

ReviewStop = new JMenuItem("Stop Target");

TaskC2Stop = new JMenuItem("Stop Target");

ProgressStop = new JMenuItem("Stop Target");

ResultsStop = new JMenuItem("Stop Target");

movetoNorthfromJCE = new JMenuItem("Move to Attack North");

movetoNorthfromACC = new JMenuItem("Move to Attack North");

movetoNorthfromReview = new JMenuItem("Move to Attack North");

movetoSouthfromJCE = new JMenuItem("Move to Attack South");

movetoSouthfromACC = new JMenuItem("Move to Attack South");

movetoSouthfromReview = new JMenuItem("Move to Attack South");

movetoReviewfromNorth = new JMenuItem("Move to Review/Approve");

movetoReviewfromSouth = new JMenuItem("Move to Review/Approve");

movetoReviewfromC2 = new JMenuItem("Move to Review/Approve");

movetoJCEfromNorth = new JMenuItem("Move to JCE Targets");

movetoJCEfromSouth = new JMenuItem("Move to JCE Targets");

movetoACCfromNorth = new JMenuItem("Move to ACC Targets");

movetoACCfromSouth = new JMenuItem("Move to ACC Targets");

movetoC2fromReview = new JMenuItem("Move to Task C2");

movetoProgressfromC2 = new JMenuItem("Move to Progress");

movetoResultsfromProgress = new JMenuItem("Move to Results");

movetoJCEfromResults = new JMenuItem("Move to JCE");

movetoACCfromResults = new JMenuItem("Move to ACC");

ACCPopup.add(ACCStop);

ACCPopup.add(movetoNorthfromACC);

ACCPopup.add(movetoSouthfromACC);

JCEPopup.add(JCEStop);

JCEPopup.add(movetoNorthfromJCE);

JCEPopup.add(movetoSouthfromJCE);

AtkNorthPopup.add(NorthStop);

AtkNorthPopup.add(movetoReviewfromNorth);

AtkNorthPopup.add(movetoJCEfromNorth);

AtkNorthPopup.add(movetoACCfromNorth);

AtkSouthPopup.add(SouthStop);

AtkSouthPopup.add(movetoReviewfromSouth);

AtkSouthPopup.add(movetoJCEfromSouth);

AtkSouthPopup.add(movetoACCfromSouth);

ReviewPopup.add(ReviewStop);

ReviewPopup.add(movetoNorthfromReview);

ReviewPopup.add(movetoSouthfromReview);

ReviewPopup.add(movetoC2fromReview);

C2Popup.add(TaskC2Stop);

C2Popup.add(movetoReviewfromC2);

C2Popup.add(movetoProgressfromC2);

ProgressPopup.add(ProgressStop);

ProgressPopup.add(movetoResultsfromProgress);

ResultsPopup.add(ResultsStop);

ResultsPopup.add(movetoJCEfromResults);

ResultsPopup.add(movetoACCfromResults);

JCEStop.addActionListener(this);

ACCStop.addActionListener(this);

NorthStop.addActionListener(this);

SouthStop .addActionListener(this);

ReviewStop.addActionListener(this);

TaskC2Stop.addActionListener(this);

ProgressStop.addActionListener(this);

ResultsStop.addActionListener(this);

movetoNorthfromJCE.addActionListener(this);

movetoNorthfromACC.addActionListener(this);

movetoNorthfromReview.addActionListener(this);

movetoSouthfromJCE.addActionListener(this);

movetoSouthfromACC.addActionListener(this);

movetoSouthfromReview.addActionListener(this);

movetoReviewfromNorth.addActionListener(this);

movetoReviewfromSouth.addActionListener(this);

movetoReviewfromC2.addActionListener(this);

movetoJCEfromNorth.addActionListener(this);

movetoJCEfromSouth.addActionListener(this);

movetoACCfromNorth.addActionListener(this);

movetoACCfromSouth.addActionListener(this);

movetoC2fromReview.addActionListener(this);

movetoProgressfromC2.addActionListener(this);

movetoResultsfromProgress.addActionListener(this);

movetoJCEfromResults.addActionListener(this);

movetoACCfromResults.addActionListener(this);

//Disable these lists for now since they arent used

//Setup QueueView Display Based on Role

//Comment this to be able to move through queues with one user

// Disable lists by user

//setView();

//Add listener to components that can bring up popup menus.

//MouseListener popupListener = new PopupListener();

//JCETargetList.addMouseListener(popupListener);

//ACCTargetList.addMouseListener(popupListener);

//AttackNorthList.addMouseListener(popupListener);

//AttackSouthList.addMouseListener(popupListener);

//ReviewList.addMouseListener(popupListener);

//TaskC2List.addMouseListener(popupListener);

//ProgressList.addMouseListener(popupListener);

//ResultsList.addMouseListener(popupListener);

// Set mouse listeners for proper lists

JCETargetList.addMouseListener(this);

ACCTargetList.addMouseListener(this);

AttackNorthList.addMouseListener(this);

AttackSouthList.addMouseListener(this);

ReviewList.addMouseListener(this);

TaskC2List.addMouseListener(this);

ProgressList.addMouseListener(this);

ResultsList.addMouseListener(this);

//define a packet filter to accept all messages

PacketFilter myFilter=new PacketFilter()

{

public boolean accept(Packet p)

{

return true;

}

};

PacketListener myListener=new PacketListener()

{

public void processPacket(Packet packet)

{

if(packet instanceof Message)

{

// Receive message

Message msg=(Message)packet;

//System.out.println(packet.getFrom()+": "+msg.getType());

// Check message type

if(msg.getType()==Message.Type.GROUP_CHAT){

// If you get here...it means a drop action has been made

if(msg.getBody().startsWith("xxxQueuexxx")){

//Parse message

StringTokenizer st = new StringTokenizer(msg.getBody(), "@");

String[] parsed = new String[4];

int i = 0;

while(st.hasMoreTokens())

{

// Tokenize message

parsed = st.nextToken();

i = i+1;

}

//Update Lists according to message

String ro = parsed[1];// role(user) that made the drop

String tarname = parsed[2];// name of target

tarname = ownerRemove(tarname);

String tarcomp = parsed[3];// the component that has been dropped to

String original;

String color;

String originalVal = "";

original = tarname;// Original message in list (in case message changes ie: Lat, Lon)

// Tokenize tarname based on html

st = new StringTokenizer(tarname, ">");

// Skip first token (<html)

st.nextToken();

// Color

color = st.nextToken() + ">";

// Acutal target name (trackNo)

tarname = st.nextToken();

tarname = tarname.substring(0, tarname.length()-3);

if (tarname.contains("</f")) {

tarname = tarname.substring(0, tarname.length()-3);

originalVal = "<html>" + color + tarname + "></font></html>";

System.out.println("Original: " + originalVal);

}

// New addition to list

String message;

// Loop through all targets

for (int j =0; j < targets.size(); j++) {

// Remove priority if necessary

if ((tarname.endsWith("1")) || (tarname.endsWith("2")) || (tarname.endsWith("3")) || (tarname.endsWith("4")) || (tarname.endsWith("5")) || (tarname.endsWith("6"))) {

tarname = tarname.substring(0, tarname.length()-2);

}

// Find target that matches

if(tarname.equalsIgnoreCase(targets.get(j).getTargetNo())) {

// if ((targets.get(j).isAccepted()) && (targets.get(j).getStatus() > 4)) {

if (targets.get(j).isAccepted()) {

// If accepted add third line

// message = "<html><font color='" + targets.get(j).getColor() + "'>" + targets.get(j).getTargetNo() + "

" + targets.get(j).getDescription() + "

" + targets.get(j).getAcceptedMessage() + "

</font></html>";

message = "<html><font color='" + targets.get(j).getColor() + "'>" + targets.get(j).getTargetNo() + " " + targets.get(j).getPriority() + "

" + targets.get(j).getDescription() + "

" + targets.get(j).getAcceptedMessage() + "

</font></html>";

} else {

// Else just name and description

// message = "<html>" + color + tarname + "

" + targets.get(j).getDescription() + "

</font></html>";

message = "<html>" + color + tarname + " " + targets.get(j).getPriority() + "

" + targets.get(j).getDescription() + "

</font></html>";

}

if(targets.get(j).getWorkflow().getCurrentState().equalsIgnoreCase("targets")) {

if(tarcomp.equalsIgnoreCase("AttackNorthList")){

JCETargetModel.removeElement(original);

ACCTargetModel.removeElement(original);

AttackNorthModel.addElement(message);

sort("AttackNorthModel");

// Update workflow

targets.get(j).getWorkflow().signalTSTAssignedAction();

//ConfigureTime("AF1071 (ACC)WMD Transload assigned to DTC");

try {

// Send out status update

o.writeUTF(targets.get(j).getTargetNo() + "," + 3);

o.flush();

} catch (IOException e) {

System.out.println(e.getMessage());

}

}

else if(tarcomp.equalsIgnoreCase("AttackSouthList")){

JCETargetModel.removeElement(original);

ACCTargetModel.removeElement(original);

AttackSouthModel.addElement(message);

sort("AttackSouthModel");

// Update workflow

targets.get(j).getWorkflow().signalTSTAssignedAction();

//ConfigureTime("AF1071 (ACC)WMD Transload assigned to DTC");

try {

// Send out status update

o.writeUTF(targets.get(j).getTargetNo() + "," + 4);

o.flush();

} catch (IOException e) {

System.out.println(e.getMessage());

}

}

}

else if(targets.get(j).getWorkflow().getCurrentState().equalsIgnoreCase("attack")){

if(tarcomp.equalsIgnoreCase("ReviewList")) {

// Remove from ACC and move to JCE

//Move to ReviewList

message = "<html>DTC

" + message.substring(6);

AttackNorthModel.removeElement(original);

AttackSouthModel.removeElement(original);

ReviewModel.addElement(message);

sort("ReviewModel");

// Update workflow

targets.get(j).getWorkflow().signalTaskCoordinatedAction();

//ConfigureTime("AF1071 (ACC)WMD Transload given back to SIDO");

try {

// Send out status update

o.writeUTF(targets.get(j).getTargetNo() + "," + 6);

o.flush();

} catch (IOException e) {

System.out.println(e.getMessage());

}

}

else if(tarcomp.equalsIgnoreCase("JCETargetList")) {

// Moving to AttackList

AttackNorthModel.removeElement(original);

AttackSouthModel.removeElement(original);

JCETargetModel.addElement(message);

sort("JCETargetModel");

// Update workflow

targets.get(j).getWorkflow().signalTSTProblemAction();

//ConfigureTime("AF1071 (ACC)WMD Transload assigned to ATK");

try {

// Send out status update

o.writeUTF(targets.get(j).getTargetNo() + "," + 1);

o.flush();

} catch (IOException e) {

System.out.println(e.getMessage());

}

}

else if(tarcomp.equalsIgnoreCase("ACCTargetList")) {

// Moving to AttackList

AttackNorthModel.removeElement(original);

AttackSouthModel.removeElement(original);

ACCTargetModel.addElement(message);

sort("ACCTargetModel");

// Update workflow

targets.get(j).getWorkflow().signalTSTProblemAction();

//ConfigureTime("AF1071 (ACC)WMD Transload assigned to ATK");

try {

// Send out status update

o.writeUTF(targets.get(j).getTargetNo() + "," + 2);

o.flush();

} catch (IOException e) {

System.out.println(e.getMessage());

}

}

}

else if(targets.get(j).getWorkflow().getCurrentState().equalsIgnoreCase("review")){

if(tarcomp.equalsIgnoreCase("AttackNorthList")) {

original = "<html>DTC

" + original.substring(6);

ReviewModel.removeElement(original);

AttackNorthModel.addElement(message);

sort("AttackNorthModel");

// Update workflow

targets.get(j).getWorkflow().signalBadCoordinationAction();

//ConfigureTime("AF1071 (ACC)WMD Transload given back to DTC");

try {

// Send out status update

o.writeUTF(targets.get(j).getTargetNo() + "," + 3);

o.flush();

} catch (IOException e) {

System.out.println(e.getMessage());

}

}

else if(tarcomp.equalsIgnoreCase("AttackSouthList")) {

original = "<html>DTC

" + original.substring(6);

ReviewModel.removeElement(original);

AttackSouthModel.addElement(message);

sort("AttackSouthModel");

// Update workflow

targets.get(j).getWorkflow().signalBadCoordinationAction();

//ConfigureTime("AF1071 (ACC)WMD Transload given back to DTC");

try {

// Send out status update

o.writeUTF(targets.get(j).getTargetNo() + "," + 4);

o.flush();

} catch (IOException e) {

System.out.println(e.getMessage());

}

}

else if(tarcomp.equalsIgnoreCase("TaskC2List")) {

original = "<html>DTC

" + original.substring(6);

ReviewModel.removeElement(original);

TaskC2Model.addElement(message);

sort("TaskC2Model");

// Update workflow

targets.get(j).getWorkflow().signalAttackApprovedAction();

//ConfigureTime("AF1071 (ACC)WMD Transload assigned to DTC2");

/*

if(role.equalsIgnoreCase("DTC-Chief")){

AttackInformation ai=new AttackInformation();

ai.show();

}

*/

try {

// Send out status update

o.writeUTF(targets.get(j).getTargetNo() + "," + 7);

o.flush();

} catch (IOException e) {

System.out.println(e.getMessage());

}

}

}

else if(targets.get(j).getWorkflow().getCurrentState().equalsIgnoreCase("C2")){

if(tarcomp.equalsIgnoreCase("ReviewList")) {

message = "<html>DTC

" + message.substring(6);

TaskC2Model.removeElement(original);

ReviewModel.addElement(message);

sort("ReviewModel");

// Update workflow

targets.get(j).getWorkflow().signalAttackDeniedAction();

//ConfigureTime("AF1071 (ACC)WMD Transload given back to ATK");

try {

// Send out status update

o.writeUTF(targets.get(j).getTargetNo() + "," + 6);

o.flush();

} catch (IOException e) {

System.out.println(e.getMessage());

}

}

else if(tarcomp.equalsIgnoreCase("ProgressList")) {

TaskC2Model.removeElement(original);

ProgressModel.addElement(message);

sort("ProgressModel");

// Update workflow

targets.get(j).getWorkflow().signalOrderTransmittedAction();

//ConfigureTime("AF1071 (ACC)WMD Transload assigned to C2DO");

try {

// Send out status update

o.writeUTF(targets.get(j).getTargetNo() + "," + 8);

o.flush();

} catch (IOException e) {

System.out.println(e.getMessage());

}

}

}

else if(targets.get(j).getWorkflow().getCurrentState().equalsIgnoreCase("progress")) {

if(tarcomp.equalsIgnoreCase("ResultsList")) {

targets.get(j).unaccept();

ProgressModel.removeElement(original);

ResultsModel.addElement(new Value ("<html>" + color + tarname + "</font></html>", new ImageIcon("resultsblack.gif")));

sort("ResultsModel");

// Update workflow

targets.get(j).getWorkflow().signalFinishAction();

//ConfigureTime("AF1071 (ACC)WMD Transload given back to DTC2");

try {

// Send out status update

o.writeUTF(targets.get(j).getTargetNo() + "," + 9);

o.flush();

} catch (IOException e) {

System.out.println(e.getMessage());

}

}

}

else if(targets.get(j).getWorkflow().getCurrentState().equalsIgnoreCase("results")) {

if(tarcomp.equalsIgnoreCase("JCETargetList")) {

for (int x=0; x<ResultsModel.getSize(); x++) {

if (ResultsModel.getElementAt(x).toString().equalsIgnoreCase(originalVal)) {

ResultsModel.removeElementAt(x);

JCETargetModel.addElement(message);

sort("JCETargetModel");

}

}

// Update workflow

targets.get(j).getWorkflow().signalNotDestroyedAction();

//ConfigureTime("AF1071 (ACC)WMD Transload given back to DTC2");

try {

// Send out status update

o.writeUTF(targets.get(j).getTargetNo() + "," + 1);

o.flush();

} catch (IOException e) {

System.out.println(e.getMessage());

}

}

else if(tarcomp.equalsIgnoreCase("ACCTargetList")) {

for (int x=0; x><ResultsModel.getSize(); x++) {

if (ResultsModel.getElementAt(x).toString().equalsIgnoreCase(originalVal.toString())) {

ResultsModel.removeElementAt(x);

ACCTargetModel.addElement(message);

sort("ACCTargetModel");

}

}

// Update workflow

targets.get(j).getWorkflow().signalNotDestroyedAction();

//ConfigureTime("AF1071 (ACC)WMD Transload given back to DTC2");

try {

// Send out status update

o.writeUTF(targets.get(j).getTargetNo() + "," + 2);

o.flush();

} catch (IOException e) {

System.out.println(e.getMessage());

}

}

else{

//For now.... a drop to any other queue will signal destroyed target

targets.get(j).getWorkflow().signalDestroyedAction();

}

}

}//end targ name match

}//end for

}//end Queue

// Nineline has been filled out by

else if(msg.getBody().startsWith("xxxNineLinexxx")&&role.equalsIgnoreCase("DTC-Chief")) {

try {

// Send nineline message to database

o.writeUTF(msg.getBody());

o.flush();

//System.out.println("Message: " + msg.getBody());

} catch (IOException e) {

System.out.println("Nine Line: " + e.getMessage());

}

// Remove xxxNineLinexxx protocol

String mes=msg.getBody().replaceAll("xxxNineLinexxx","");

//Collect the lines, Parse message

StringTokenizer st = new StringTokenizer(mes, "@");

String[] parsed=new String[11];

int i=0;

while(st.hasMoreTokens())

{

parsed=st.nextToken();

i=i+1;

}

/*************

//Write the file

try{

FileWriter fw = new FileWriter(f);

BufferedWriter bw = new BufferedWriter(fw);

for(int k=0;k<9;k++){

//write line

bw.write(parsed[k]);

bw.newLine();

}

bw.close();

fw.close();

}

catch (IOException ioe)

{

System.out.println(ioe);

}

****************/

} else if (msg.getBody().startsWith("close")) {

close();

}

else if(msg.getBody().startsWith("xxxStopxxx")) {

StringTokenizer st = new StringTokenizer(msg.getBody(), "@");

String[] parsed = new String[5];

int i = 0;

while(st.hasMoreTokens())

{

// Tokenize message

parsed = st.nextToken();

i = i+1;

}

//Update Lists according to message

String component = parsed[1];// queue stop was made in

String value = parsed[2];

String color = parsed[3];

String trackNo = parsed[4];

/*****

for (int k =0; k >< targets.size(); k++) {

System.out.println(trackNo);

System.out.println(targets.get(k).getTargetNo());

if(trackNo.equalsIgnoreCase(targets.get(k).getTargetNo())){

targets.get(k).getWorkflow().signalDestroyedAction();

}

}

*******/

if (component.equalsIgnoreCase("JCETargetList")) {

JCETargetModel.removeElement(value);

}

else if (component.equalsIgnoreCase("ACCTargetList")) {

ACCTargetModel.removeElement(value);

}

else if (component.equalsIgnoreCase("AttackNorthList")) {

AttackNorthModel.removeElement(value);

}

else if (component.equalsIgnoreCase("AttackSouthList")) {

AttackSouthModel.removeElement(value);

}

else if (component.equalsIgnoreCase("ReviewList")) {

color = color + trackNo.substring(0,7);

color = "<html>" + color.substring(13);

trackNo = trackNo.substring(7);

ReviewModel.removeElement(value);

}

else if (component.equalsIgnoreCase("TaskC2List")) {

TaskC2Model.removeElement(value);

}

else if (component.equalsIgnoreCase("ProgressList")) {

ProgressModel.removeElement(value);

}

else if (component.equalsIgnoreCase("ResultsList")) {

for (int x=0; x<ResultsModel.getSize(); x++) {

if (ResultsModel.getElementAt(x).toString().equalsIgnoreCase(value)) {

ResultsModel.removeElementAt(x);

}

}

ResultsModel.removeElement(value);

}

ResultsModel.addElement(new Value (color + trackNo + "></font></html>", new ImageIcon("resultsred.gif")));

try {

// Send out status update

o.writeUTF(trackNo + "," + 99);

o.flush();

} catch (IOException ex) {

System.out.println(ex.getMessage());

}

}

}

}

}

};

//register the packet listener with the connection

conn.addPacketListener(myListener,myFilter);

}

/** This method is called from within the constructor to

* initialize the form.

* WARNING: Do NOT modify this code. The content of this method is

* always regenerated by the Form Editor.

*/

// <editor-fold defaultstate="collapsed" desc=" Generated Code ">

private void initComponents(String u,String r) {

jLabel2 = new javax.swing.JLabel();

jLabel3 = new javax.swing.JLabel();

RoleLabel = new javax.swing.JLabel();

NameLabel = new javax.swing.JLabel();

jScrollPane1 = new javax.swing.JScrollPane();

jScrollPane2 = new javax.swing.JScrollPane();

jScrollPane3 = new javax.swing.JScrollPane();

jScrollPane4 = new javax.swing.JScrollPane();

jScrollPane5 = new javax.swing.JScrollPane();

jScrollPane6 = new javax.swing.JScrollPane();

jScrollPane7 = new javax.swing.JScrollPane();

jScrollPane8 = new javax.swing.JScrollPane();

jPanel2 = new javax.swing.JPanel();

jLabel5 = new javax.swing.JLabel();

jPanel3 = new javax.swing.JPanel();

jLabel12 = new javax.swing.JLabel();

jPanel4 = new javax.swing.JPanel();

jLabel13 = new javax.swing.JLabel();

jPanel5 = new javax.swing.JPanel();

jLabel16 = new javax.swing.JLabel();

jPanel6 = new javax.swing.JPanel();

jLabel15 = new javax.swing.JLabel();

jPanel7 = new javax.swing.JPanel();

jLabel6 = new javax.swing.JLabel();

jPanel1 = new javax.swing.JPanel();

jLabel7 = new javax.swing.JLabel();

jPanel9 = new javax.swing.JPanel();

jLabel8 = new javax.swing.JLabel();

jPanel10 = new javax.swing.JPanel();

jLabel9 = new javax.swing.JLabel();

jPanel11 = new javax.swing.JPanel();

jLabel10 = new javax.swing.JLabel();

jPanel12 = new javax.swing.JPanel();

jLabel11 = new javax.swing.JLabel();

jPanel13 = new javax.swing.JPanel();

jLabel1 = new javax.swing.JLabel();

jPanel14 = new javax.swing.JPanel();

jLabel4 = new javax.swing.JLabel();

jPanel15 = new javax.swing.JPanel();

jLabel14 = new javax.swing.JLabel();

jLabel2.setFont(new java.awt.Font("Tahoma", 0, 18));

jLabel2.setForeground(new java.awt.Color(51, 51, 255));

jLabel2.setText("Role:");

jLabel3.setFont(new java.awt.Font("Tahoma", 0, 18));

jLabel3.setForeground(new java.awt.Color(51, 51, 255));

jLabel3.setText("User:");

RoleLabel.setText(r);

NameLabel.setText(u);

JCETargetList.setFont(new java.awt.Font("Tahoma", 1, 12));

jScrollPane1.setViewportView(JCETargetList);

ACCTargetList.setFont(new java.awt.Font("Tahoma", 1, 12));

jScrollPane2.setViewportView(ACCTargetList);

AttackNorthList.setFont(new java.awt.Font("Tahoma", 1, 12));

jScrollPane3.setViewportView(AttackNorthList);

AttackSouthList.setFont(new java.awt.Font("Tahoma", 1, 12));

jScrollPane4.setViewportView(AttackSouthList);

TaskC2List.setFont(new java.awt.Font("Tahoma", 1, 12));

jScrollPane5.setViewportView(TaskC2List);

ReviewList.setFont(new java.awt.Font("Tahoma", 1, 12));

jScrollPane6.setViewportView(ReviewList);

ProgressList.setFont(new java.awt.Font("Tahoma", 1, 12));

jScrollPane7.setViewportView(ProgressList);

ResultsList.setFont(new java.awt.Font("Tahoma", 1, 12));

jScrollPane8.setViewportView(ResultsList);

jPanel2.setBackground(new java.awt.Color(255, 255, 0));

jLabel5.setFont(new java.awt.Font("Tahoma", 0, 10));

jLabel5.setText("Air Component Tasked Targets");

org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);

jPanel2.setLayout(jPanel2Layout);

jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jPanel2Layout.createSequentialGroup()

.add(55, 55, 55)

.add(jLabel5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 155, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.addContainerGap(69, Short.MAX_VALUE))

);

jPanel2Layout.setVerticalGroup(

jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jLabel5)

);

jPanel3.setBackground(new java.awt.Color(0, 204, 255));

jLabel12.setFont(new java.awt.Font("Tahoma", 0, 10));

jLabel12.setText("Attack Planning In Progress");

org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3);

jPanel3.setLayout(jPanel3Layout);

jPanel3Layout.setHorizontalGroup(

jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel3Layout.createSequentialGroup()

.addContainerGap(92, Short.MAX_VALUE)

.add(jLabel12, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 150, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.add(56, 56, 56))

);

jPanel3Layout.setVerticalGroup(

jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jLabel12)

);

jPanel4.setBackground(new java.awt.Color(0, 204, 255));

jLabel13.setFont(new java.awt.Font("Tahoma", 0, 10));

jLabel13.setText("Awaiting Approval");

org.jdesktop.layout.GroupLayout jPanel4Layout = new org.jdesktop.layout.GroupLayout(jPanel4);

jPanel4.setLayout(jPanel4Layout);

jPanel4Layout.setHorizontalGroup(

jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jPanel4Layout.createSequentialGroup()

.add(19, 19, 19)

.add(jLabel13, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 98, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.addContainerGap(24, Short.MAX_VALUE))

);

jPanel4Layout.setVerticalGroup(

jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jLabel13)

);

jPanel5.setBackground(new java.awt.Color(0, 204, 51));

jLabel16.setFont(new java.awt.Font("Tahoma", 0, 10));

jLabel16.setText("Assignment Confirmed");

org.jdesktop.layout.GroupLayout jPanel5Layout = new org.jdesktop.layout.GroupLayout(jPanel5);

jPanel5.setLayout(jPanel5Layout);

jPanel5Layout.setHorizontalGroup(

jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jPanel5Layout.createSequentialGroup()

.add(22, 22, 22)

.add(jLabel16, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 103, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.addContainerGap(23, Short.MAX_VALUE))

);

jPanel5Layout.setVerticalGroup(

jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jLabel16)

);

jPanel6.setBackground(new java.awt.Color(51, 51, 51));

jLabel15.setFont(new java.awt.Font("Tahoma", 0, 10));

jLabel15.setForeground(new java.awt.Color(255, 255, 255));

jLabel15.setText("Active BDA Reporting");

org.jdesktop.layout.GroupLayout jPanel6Layout = new org.jdesktop.layout.GroupLayout(jPanel6);

jPanel6.setLayout(jPanel6Layout);

jPanel6Layout.setHorizontalGroup(

jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel6Layout.createSequentialGroup()

.addContainerGap(26, Short.MAX_VALUE)

.add(jLabel15)

.add(19, 19, 19))

);

jPanel6Layout.setVerticalGroup(

jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jLabel15)

);

jPanel7.setBackground(new java.awt.Color(204, 0, 204));

jLabel6.setForeground(new java.awt.Color(255, 255, 255));

jLabel6.setText("JCE Targets");

org.jdesktop.layout.GroupLayout jPanel7Layout = new org.jdesktop.layout.GroupLayout(jPanel7);

jPanel7.setLayout(jPanel7Layout);

jPanel7Layout.setHorizontalGroup(

jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel7Layout.createSequentialGroup()

.addContainerGap(40, Short.MAX_VALUE)

.add(jLabel6)

.add(35, 35, 35))

);

jPanel7Layout.setVerticalGroup(

jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel7Layout.createSequentialGroup()

.addContainerGap(18, Short.MAX_VALUE)

.add(jLabel6)

.addContainerGap())

);

jPanel1.setBackground(new java.awt.Color(0, 51, 255));

jLabel7.setForeground(new java.awt.Color(255, 255, 255));

jLabel7.setText("ACC Targets");

org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jPanel1Layout.createSequentialGroup()

.add(30, 30, 30)

.add(jLabel7)

.addContainerGap(40, Short.MAX_VALUE))

);

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel1Layout.createSequentialGroup()

.addContainerGap(18, Short.MAX_VALUE)

.add(jLabel7)

.addContainerGap())

);

jPanel9.setBackground(new java.awt.Color(0, 51, 255));

jLabel8.setForeground(new java.awt.Color(255, 255, 255));

jLabel8.setText("Attack North");

org.jdesktop.layout.GroupLayout jPanel9Layout = new org.jdesktop.layout.GroupLayout(jPanel9);

jPanel9.setLayout(jPanel9Layout);

jPanel9Layout.setHorizontalGroup(

jPanel9Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel9Layout.createSequentialGroup()

.addContainerGap(41, Short.MAX_VALUE)

.add(jLabel8)

.add(37, 37, 37))

);

jPanel9Layout.setVerticalGroup(

jPanel9Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel9Layout.createSequentialGroup()

.addContainerGap(18, Short.MAX_VALUE)

.add(jLabel8)

.addContainerGap())

);

jPanel10.setBackground(new java.awt.Color(0, 51, 255));

jLabel9.setForeground(new java.awt.Color(255, 255, 255));

jLabel9.setText("Attack South");

org.jdesktop.layout.GroupLayout jPanel10Layout = new org.jdesktop.layout.GroupLayout(jPanel10);

jPanel10.setLayout(jPanel10Layout);

jPanel10Layout.setHorizontalGroup(

jPanel10Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jPanel10Layout.createSequentialGroup()

.add(41, 41, 41)

.add(jLabel9)

.addContainerGap(34, Short.MAX_VALUE))

);

jPanel10Layout.setVerticalGroup(

jPanel10Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel10Layout.createSequentialGroup()

.addContainerGap(18, Short.MAX_VALUE)

.add(jLabel9)

.addContainerGap())

);

jPanel11.setBackground(new java.awt.Color(0, 51, 255));

jLabel10.setForeground(new java.awt.Color(255, 255, 255));

jLabel10.setText("Review/Approve");

org.jdesktop.layout.GroupLayout jPanel11Layout = new org.jdesktop.layout.GroupLayout(jPanel11);

jPanel11.setLayout(jPanel11Layout);

jPanel11Layout.setHorizontalGroup(

jPanel11Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel11Layout.createSequentialGroup()

.addContainerGap(38, Short.MAX_VALUE)

.add(jLabel10)

.add(26, 26, 26))

);

jPanel11Layout.setVerticalGroup(

jPanel11Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel11Layout.createSequentialGroup()

.addContainerGap(18, Short.MAX_VALUE)

.add(jLabel10)

.addContainerGap())

);

jPanel12.setBackground(new java.awt.Color(0, 51, 255));

jLabel11.setForeground(new java.awt.Color(255, 255, 255));

jLabel11.setText("Task to C2");

org.jdesktop.layout.GroupLayout jPanel12Layout = new org.jdesktop.layout.GroupLayout(jPanel12);

jPanel12.setLayout(jPanel12Layout);

jPanel12Layout.setHorizontalGroup(

jPanel12Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jPanel12Layout.createSequentialGroup()

.add(45, 45, 45)

.add(jLabel11)

.addContainerGap(53, Short.MAX_VALUE))

);

jPanel12Layout.setVerticalGroup(

jPanel12Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel12Layout.createSequentialGroup()

.addContainerGap(18, Short.MAX_VALUE)

.add(jLabel11)

.addContainerGap())

);

jPanel13.setBackground(new java.awt.Color(0, 51, 255));

jLabel1.setForeground(new java.awt.Color(255, 255, 255));

jLabel1.setText("In Progress");

org.jdesktop.layout.GroupLayout jPanel13Layout = new org.jdesktop.layout.GroupLayout(jPanel13);

jPanel13.setLayout(jPanel13Layout);

jPanel13Layout.setHorizontalGroup(

jPanel13Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel13Layout.createSequentialGroup()

.addContainerGap(40, Short.MAX_VALUE)

.add(jLabel1)

.add(45, 45, 45))

);

jPanel13Layout.setVerticalGroup(

jPanel13Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel13Layout.createSequentialGroup()

.addContainerGap(18, Short.MAX_VALUE)

.add(jLabel1)

.addContainerGap())

);

jPanel14.setBackground(new java.awt.Color(0, 51, 255));

jLabel4.setForeground(new java.awt.Color(255, 255, 255));

jLabel4.setText("MSN Results");

org.jdesktop.layout.GroupLayout jPanel14Layout = new org.jdesktop.layout.GroupLayout(jPanel14);

jPanel14.setLayout(jPanel14Layout);

jPanel14Layout.setHorizontalGroup(

jPanel14Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel14Layout.createSequentialGroup()

.addContainerGap(26, Short.MAX_VALUE)

.add(jLabel4)

.add(41, 41, 41))

);

jPanel14Layout.setVerticalGroup(

jPanel14Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel14Layout.createSequentialGroup()

.addContainerGap(18, Short.MAX_VALUE)

.add(jLabel4)

.addContainerGap())

);

jPanel15.setBackground(new java.awt.Color(0, 204, 51));

jLabel14.setFont(new java.awt.Font("Tahoma", 0, 10));

jLabel14.setText("C2DO Transmittal");

org.jdesktop.layout.GroupLayout jPanel15Layout = new org.jdesktop.layout.GroupLayout(jPanel15);

jPanel15.setLayout(jPanel15Layout);

jPanel15Layout.setHorizontalGroup(

jPanel15Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel15Layout.createSequentialGroup()

.addContainerGap(38, Short.MAX_VALUE)

.add(jLabel14, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 93, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.add(21, 21, 21))

);

jPanel15Layout.setVerticalGroup(

jPanel15Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jLabel14)

);

org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);

this.setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(layout.createSequentialGroup()

.addContainerGap()

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)

.add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup()

.add(jLabel2)

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(RoleLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 193, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.add(21, 21, 21)

.add(jLabel3)

.add(15, 15, 15)

.add(NameLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 454, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))

.add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup()

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(layout.createSequentialGroup()

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)

.add(jPanel7, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 133, Short.MAX_VALUE))

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.add(jScrollPane2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 140, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))

.add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(layout.createSequentialGroup()

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(layout.createSequentialGroup()

.add(8, 8, 8)

.add(jPanel9, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))

.add(jScrollPane3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 155, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)

.add(org.jdesktop.layout.GroupLayout.LEADING, jPanel10, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.add(org.jdesktop.layout.GroupLayout.LEADING, jScrollPane4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 137, Short.MAX_VALUE)))

.add(jPanel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(layout.createSequentialGroup()

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jPanel11, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.add(jScrollPane6, 0, 0, Short.MAX_VALUE))

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)

.add(jPanel12, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.add(jScrollPane5, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 149, Short.MAX_VALUE)))

.add(layout.createSequentialGroup()

.add(jPanel4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.add(jPanel15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jPanel13, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.add(jScrollPane7, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 149, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.add(jPanel5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jPanel6, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.add(jScrollPane8, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 143, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.add(jPanel14, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))

.addContainerGap())

);

layout.setVerticalGroup(

layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(layout.createSequentialGroup()

.addContainerGap()

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(layout.createSequentialGroup()

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)

.add(jPanel7, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.add(jPanel10, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.add(jPanel11, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.add(jPanel12, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 11, Short.MAX_VALUE)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 546, Short.MAX_VALUE)

.add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 546, Short.MAX_VALUE)

.add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(jScrollPane6, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 546, Short.MAX_VALUE))

.add(layout.createSequentialGroup()

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jScrollPane3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 546, Short.MAX_VALUE)

.add(jScrollPane4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 546, Short.MAX_VALUE)))

.add(layout.createSequentialGroup()

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)

.add(jScrollPane7, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 546, Short.MAX_VALUE)

.add(jScrollPane5, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 546, Short.MAX_VALUE)

.add(jScrollPane8, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 546, Short.MAX_VALUE)))))

.add(jPanel9, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.add(jPanel14, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.add(jPanel13, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)

.add(jPanel6, 0, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.add(jPanel5, 0, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.add(jPanel15, 0, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.add(jPanel4, 0, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.add(jPanel3, 0, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 110, Short.MAX_VALUE)

.add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)

.add(jLabel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 22, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)

.add(jLabel3)

.add(RoleLabel)

.add(NameLabel))

.addContainerGap())

);

}// </editor-fold>

public void mousePressed(MouseEvent e) {

if ( SwingUtilities.isRightMouseButton(e) )

{

try

{

Robot robot = new java.awt.Robot();

robot.mousePress(InputEvent.BUTTON1_MASK);

robot.mouseRelease(InputEvent.BUTTON1_MASK);

}

catch (AWTException ae) { System.out.println(ae); }

}

}

public void mouseReleased(MouseEvent e) {

//if ( SwingUtilities.isRightMouseButton(e) )

//{

//JList list = (JList)e.getSource();

//System.out.println(list.getSelectedValue() + " selected");

//}

}

public void mouseEntered(MouseEvent e) {

}

public void mouseExited(MouseEvent e) {

}

public void mouseClicked(MouseEvent e) {

String trackNo;

if (e.getButton() == 1) {

if (e.getClickCount() == 1) {

// Target has been clicked in a queue

// Retrieve list

DNDList list = (DNDList) e.getSource();

if (list.getSelectedValue()!= null) {

// Results list must handle triangle icon in list

if (e.getSource()==ResultsList) {

// Retrieve track number from Value

Value val = (Value) list.getSelectedValue();

trackNo = val.getValue().substring(28);

trackNo = trackNo.substring(0,trackNo.indexOf('<'));

} else if (e.getSource()==ReviewList) {

// Review list must handle ownership line

trackNo = list.getSelectedValue().toString();

trackNo = trackNo.substring(26 + trackNo.indexOf("

"));

trackNo = trackNo.substring(0,trackNo.indexOf('<'));

} else {

// Retrieve track number

trackNo = list.getSelectedValue().toString().substring(28);

trackNo = trackNo.substring(0,trackNo.indexOf('<'));

}

if ((trackNo.endsWith("1")) || (trackNo.endsWith("2")) || (trackNo.endsWith("3")) || (trackNo.endsWith("4")) || (trackNo.endsWith("5")) || (trackNo.endsWith("6"))) {

trackNo = trackNo.substring(0, trackNo.length()-2);

}

// Append username to track number

trackNo = trackNo + "@" + conn.getUser().substring(0,conn.getUser().indexOf("@"));

try {

// Send out label request

o.writeUTF("passlabel" + trackNo);

o.flush();

} catch (IOException ex) {

System.out.println("Exception at label pass: " + ex.getMessage());

}

}

}

if(e.getSource()==AttackNorthList) {

if(e.getClickCount()==2) {

// Double Click in AttackNorthList

// Retriece trackNo

trackNo = AttackNorthList.getSelectedValue().toString().substring(28);

trackNo = trackNo.substring(0,trackNo.indexOf('<'));

// Remove priority if necessary

if ((trackNo.endsWith("1")) || (trackNo.endsWith("2")) || (trackNo.endsWith("3")) || (trackNo.endsWith("4")) || (trackNo.endsWith("5")) || (trackNo.endsWith("6"))) {

trackNo = trackNo.substring(0, trackNo.length()-2);

}

int x=0;// index variable

// Search targets array for matching target

while (x<targets.size()) {

if (trackNo.equalsIgnoreCase(targets.get(x).getTargetNo())) {

// Create actiongui (nineline) with prefilled textboxes

ActionGUI ag = new ActionGUI(gc, targets.get(x));

ag.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

ag.show();

}

// Increment

x++;

}

}

} else if(e.getSource()==AttackSouthList) {

if(e.getClickCount()==2) {

// Double Click in AttackNorthList

// Retriece trackNo

trackNo = AttackSouthList.getSelectedValue().toString().substring(28);

trackNo = trackNo.substring(0,trackNo.indexOf('<'));

// Remove priority if necessary

if ((trackNo.endsWith("1")) || (trackNo.endsWith("2")) || (trackNo.endsWith("3")) || (trackNo.endsWith("4")) || (trackNo.endsWith("5")) || (trackNo.endsWith("6"))) {

trackNo = trackNo.substring(0, trackNo.length()-2);

}

int x=0;// index variable

// Search targets array for matching target

while (x><targets.size()) {

if (trackNo.equalsIgnoreCase(targets.get(x).getTargetNo())) {

// Create actiongui (nineline) with prefilled textboxes

ActionGUI ag = new ActionGUI(gc, targets.get(x));

ag.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

ag.show();

}

// Increment

x++;

}

}

} else if(e.getSource()== ReviewList) {

if(e.getClickCount()==2) {

// Double Click in ReviewList

// Retrieve trackNo

trackNo = ReviewList.getSelectedValue().toString();

trackNo = ownerRemove(trackNo);

trackNo = trackNo.substring(28);

trackNo = trackNo.substring(0,trackNo.indexOf('<'));

// Remove priority if necessary

if ((trackNo.endsWith("1")) || (trackNo.endsWith("2")) || (trackNo.endsWith("3")) || (trackNo.endsWith("4")) || (trackNo.endsWith("5")) || (trackNo.endsWith("6"))) {

trackNo = trackNo.substring(0, trackNo.length()-2);

}

// Add user name

trackNo = trackNo + "@" + conn.getUser().substring(0,conn.getUser().indexOf("@"));

try {

// Send options message to database (returns all related nineline summaries)

o.writeUTF("options" + trackNo);

o.flush();

} catch (IOException ex) {

System.out.println("Options Exception: " + ex.getMessage());

}

}

} else if(e.getSource()== ResultsList) {

if(e.getClickCount()==2) {

// Double Click in ReviewList

int result = JOptionPane.showConfirmDialog(null, "Confirm Success");

trackNo = "";

if (result == 0) {

// Black

// Retrieve track number

trackNo = ResultsList.getSelectedValue().toString();

trackNo = trackNo.substring(28);

trackNo = trackNo.substring(0,trackNo.indexOf("<"));

try {

// Update status

o.writeUTF(trackNo + "," + 10);

o.flush();

} catch (IOException ex) {

System.out.println("Options Exception: " + ex.getMessage());

}

} else if (result == 1) {

// Hollow black

// Retrieve track number

trackNo = ResultsList.getSelectedValue().toString();

trackNo = trackNo.substring(28);

trackNo = trackNo.substring(0,trackNo.indexOf("<"));

try {

// Update status

o.writeUTF(trackNo + "," + 11);

o.flush();

} catch (IOException ex) {

System.out.println("Options Exception: " + ex.getMessage());

}

}

// JOptionPane.showMessageDialog(null,"Account Already Exists, please pick a new UserName.");

/* Retrieve trackNo

String trackNo = ReviewList.getSelectedValue().toString();

trackNo = ownerRemove(trackNo);

trackNo = trackNo.substring(28);

trackNo = trackNo.substring(0,trackNo.indexOf('<'));

// Add user name

trackNo = trackNo + "@" + conn.getUser().substring(0,conn.getUser().indexOf("@"));

try {

// Send options message to database (returns all related nineline summaries)

o.writeUTF("options" + trackNo);

o.flush();

} catch (IOException ex) {

System.out.println("Options Exception: " + ex.getMessage());

}

*/

}

}

}

else if(e.getButton()==3){

System.out.println(e.getComponent());

rightclicked = (DNDList) e.getComponent();

//System.out.println(rightclicked.getComp());

//if (rightclicked.getSelectedValue() != null) {

if(rightclicked.getComp().equalsIgnoreCase("JCETargetList")){

JCEPopup.show(e.getComponent(),e.getX(), e.getY());

}

else if(rightclicked.getComp().equalsIgnoreCase("ACCTargetList")){

ACCPopup.show(e.getComponent(),e.getX(), e.getY());

}

else if(rightclicked.getComp().equalsIgnoreCase("AttackNorthList")){

AtkNorthPopup.show(e.getComponent(),e.getX(), e.getY());

}

else if(rightclicked.getComp().equalsIgnoreCase("AttackSouthList")){

AtkSouthPopup.show(e.getComponent(),e.getX(), e.getY());

}

else if(rightclicked.getComp().equalsIgnoreCase("ReviewList")){

ReviewPopup.show(e.getComponent(),e.getX(), e.getY());

}

else if(rightclicked.getComp().equalsIgnoreCase("TaskC2List")){

C2Popup.show(e.getComponent(),e.getX(), e.getY());

}

else if(rightclicked.getComp().equalsIgnoreCase("ProgressList")){

ProgressPopup.show(e.getComponent(),e.getX(), e.getY());

}

else if(rightclicked.getComp().equalsIgnoreCase("ResultsList")){

ResultsPopup.show(e.getComponent(),e.getX(), e.getY());

}

//}

}

}

/********

public void ConfigureTime(String theevent){

cal = new GregorianCalendar();

timeHour = cal.get(Calendar.HOUR_OF_DAY);

timeMinute = cal.get(Calendar.MINUTE);

timeSecond = cal.get(Calendar.SECOND);

timeAmPm=cal.get(Calendar.AM_PM);

if(timeAmPm==0){

if(timeHour==0){

timeHour=timeHour+12;

}

if(timeMinute><10){

if(timeSecond<10){

try{

logbw.write(theevent+"@"+timeHour+":"+"0"+timeMinute+":"+"0"+timeSecond+" "+"AM");

logbw.newLine();

}

catch(Exception e){

System.out.println(e.getMessage());

}

}

else{

try{

logbw.write(theevent+"@"+timeHour+":"+"0"+timeMinute+":"+timeSecond+" "+"AM");

logbw.newLine();

}

catch(Exception e){

System.out.println(e.getMessage());

}

}

}

else if(timeSecond<10){

try{

logbw.write(theevent+"@"+timeHour+":"+timeMinute+":"+"0"+timeSecond+" "+"AM");

logbw.newLine();

}

catch(Exception e){

System.out.println(e.getMessage());

}

}

else{

try{

logbw.write(theevent+"@"+timeHour+":"+timeMinute+":"+timeSecond+" "+"AM");

logbw.newLine();

}

catch(Exception e){

System.out.println(e.getMessage());

}

}

}

else{

if(timeHour>=13)

{

timeHour=timeHour-12;

}

if(timeMinute<10){

if(timeSecond<10){

try{

logbw.write(theevent+"@"+timeHour+":"+"0"+timeMinute+":"+"0"+timeSecond+" "+"PM");

logbw.newLine();

}

catch(Exception e){

System.out.println(e.getMessage());

}

}

else{

try{

logbw.write(theevent+"@"+timeHour+":"+"0"+timeMinute+":"+timeSecond+" "+"PM");

logbw.newLine();

}

catch(Exception e){

System.out.println(e.getMessage());

}

}

}

else if(timeSecond<10){

try{

logbw.write(theevent+"@"+timeHour+":"+timeMinute+":"+"0"+timeSecond+" "+"PM");

logbw.newLine();

}

catch(Exception e){

System.out.println(e.getMessage());

}

}

else{

try{

logbw.write(theevent+"@"+timeHour+":"+timeMinute+":"+timeSecond+" "+"PM");

logbw.newLine();

}

catch(Exception e){

System.out.println(e.getMessage());

}

}

}

}

public void closelogfile(){

try{

logbw.close();

logwriter.close();

System.out.println("Log File closed!!");

}

catch(Exception e){

System.out.println(e.getMessage());

}

}

**********/

public DataOutputStream getOutStream () {

return o;

}

public DataInputStream getInStream () {

return i;

}

// Method adds new target to queueview

public void addTarget (Target newTarget) {

// Add to list of targets

targets.add(newTarget);

// Allow for proper repainting of screen

SwingUtilities.invokeLater(new Runnable() {

public void run() {

String message = "";

boolean add = true;

// Loop through targets

for (int x=0; x<targets.size(); x++) {

// Set proper message

if (targets.get(x).isAccepted()) {

message = "<html><font color='" + targets.get(x).getColor() + "'>" + targets.get(x).getTargetNo() + " " + targets.get(x).getPriority() + "

" + targets.get(x).getDescription() + "

" + targets.get(x).getAcceptedMessage() + "

</font></html>";

} else {

message = "<html><font color='" + targets.get(x).getColor() + "'>" + targets.get(x).getTargetNo() + " " + targets.get(x).getPriority() + "

" + targets.get(x).getDescription() + "

</font></html>";

}

// Put in correct list based on status

if (targets.get(x).getStatus() == 1) {

// Check if target is already in JCETargetList

for (int y=0; y<JCETargetModel.getSize(); y++ ) {

String check = JCETargetModel.getElementAt(y).toString();

check = check.substring(28);

StringTokenizer tokens = new StringTokenizer(check, "><");

check = tokens.nextToken();

check = check.substring(0, check.length()-2);

// Compare based on trackNo

if (check.equalsIgnoreCase(targets.get(x).getTargetNo())) {

// Do not add this target

add = false;

}

}

// Add target if necessary

if (add) {

JCETargetModel.addElement(message);

sort("JCETargetModel");

}

JCETargetList.setModel(JCETargetModel);

add = true;

} else if (targets.get(x).getStatus() == 2) {

// Check if target is already in ACCTargetList

for (int y=0; y<ACCTargetModel.getSize(); y++ ) {

String check = ACCTargetModel.getElementAt(y).toString();

check = check.substring(28);

StringTokenizer tokens = new StringTokenizer(check, "><");

check = tokens.nextToken();

check = check.substring(0, check.length()-2);

// Compare based on trackNo

if (check.equalsIgnoreCase(targets.get(x).getTargetNo())) {

// Do not add this target

add = false;

}

}

// Add target if necessary

if (add) {

ACCTargetModel.addElement(message);

sort("ACCTargetModel");

}

ACCTargetList.setModel(ACCTargetModel);

add = true;

} else if (targets.get(x).getStatus() == 3) {

// Check if target is already in AttackNorthList

for (int y=0; y<AttackNorthModel.getSize(); y++ ) {

String check = AttackNorthModel.getElementAt(y).toString();

check = check.substring(28);

StringTokenizer tokens = new StringTokenizer(check, "><");

check = tokens.nextToken();

check = check.substring(0, check.length()-2);

// Compare based on trackNo

if (check.equalsIgnoreCase(targets.get(x).getTargetNo())) {

// Do not add this target

add = false;

}

}

// Add target if necessary

if (add) {

AttackNorthModel.addElement(message);

targets.get(x).getWorkflow().signalTSTAssignedAction();

sort("AttackNorthModel");

}

AttackNorthList.setModel(AttackNorthModel);

add = true;

} else if (targets.get(x).getStatus() == 4) {

// Check if target is already in AttackSouthList

for (int y=0; y<AttackSouthModel.getSize(); y++ ) {

String check = AttackSouthModel.getElementAt(y).toString();

check = check.substring(28);

StringTokenizer tokens = new StringTokenizer(check, "><");

check = tokens.nextToken();

check = check.substring(0, check.length()-2);

// Compare based on trackNo

if (check.equalsIgnoreCase(targets.get(x).getTargetNo())) {

// Do not add this target

add = false;

}

}

// Add target if necessary

if (add) {

AttackSouthModel.addElement(message);

targets.get(x).getWorkflow().signalTSTAssignedAction();

sort("AttackSouthModel");

}

AttackSouthList.setModel(AttackSouthModel);

add = true;

} else if (targets.get(x).getStatus() == 5) {

// Check if target is already in ReviewList (THIS STATE NOT BEING USED)

for (int y=0; y<ReviewModel.getSize(); y++ ) {

String check = ReviewModel.getElementAt(y).toString();

check = check.substring(35);

StringTokenizer tokens = new StringTokenizer(check, "><");

check = tokens.nextToken();

check = check.substring(0, check.length()-2);

// Compare based on trackNo

if (check.equalsIgnoreCase(targets.get(x).getTargetNo())) {

// Do not add this target

add = false;

}

}

// Add target if necessary

if (add) {

message = message.substring(0, 6) + "DTC

" + message.substring(6);

System.out.println("mess: " + message);

ReviewModel.addElement(message);

targets.get(x).getWorkflow().signalTSTAssignedAction();

targets.get(x).getWorkflow().signalTaskCoordinatedAction();

sort("ReviewModel");

}

ReviewList.setModel(ReviewModel);

add = true;

} else if (targets.get(x).getStatus() == 6) {

// Check if target is already in ReviewList

for (int y=0; y<ReviewModel.getSize(); y++ ) {

String check = ReviewModel.getElementAt(y).toString();

check = check.substring(35);

StringTokenizer tokens = new StringTokenizer(check, "><");

check = tokens.nextToken();

check = check.substring(0, check.length()-2);

// Compare based on trackNo

if (check.equalsIgnoreCase(targets.get(x).getTargetNo())) {

// Do not add this target

add = false;

}

}

// Add target if necessary

if (add) {

message = message.substring(0, 6) + "DTC

" + message.substring(6);

ReviewModel.addElement(message);

targets.get(x).getWorkflow().signalTSTAssignedAction();

targets.get(x).getWorkflow().signalTaskCoordinatedAction();

sort("ReviewModel");

}

ReviewList.setModel(ReviewModel);

add = true;

} else if (targets.get(x).getStatus() == 7) {

// Check if target is already in TaskC2List

for (int y=0; y<TaskC2Model.getSize(); y++ ) {

String check = TaskC2Model.getElementAt(y).toString();

check = check.substring(28);

StringTokenizer tokens = new StringTokenizer(check, "><");

check = tokens.nextToken();

check = check.substring(0, check.length()-2);

// Compare based on trackNo

if (check.equalsIgnoreCase(targets.get(x).getTargetNo())) {

// Do not add this target

add = false;

}

}

// Add target if necessary

if (add) {

TaskC2Model.addElement(message);

targets.get(x).getWorkflow().signalTSTAssignedAction();

targets.get(x).getWorkflow().signalTaskCoordinatedAction();

targets.get(x).getWorkflow().signalAttackApprovedAction();

sort("TaskC2Model");

}

TaskC2List.setModel(TaskC2Model);

add = true;

} else if (targets.get(x).getStatus() == 8) {

// Check if target is already in ProgressList

for (int y=0; y<ProgressModel.getSize(); y++ ) {

String check = ProgressModel.getElementAt(y).toString();

check = check.substring(28);

StringTokenizer tokens = new StringTokenizer(check, "><");

check = tokens.nextToken();

check = check.substring(0, check.length()-2);

// Compare based on trackNo

if (check.equalsIgnoreCase(targets.get(x).getTargetNo())) {

// Do not add this target

add = false;

}

}

// Add target if necessary

if (add) {

ProgressModel.addElement(message);

targets.get(x).getWorkflow().signalTSTAssignedAction();

targets.get(x).getWorkflow().signalTaskCoordinatedAction();

targets.get(x).getWorkflow().signalAttackApprovedAction();

targets.get(x).getWorkflow().signalOrderTransmittedAction();

sort("ProgressModel");

}

ProgressList.setModel(ProgressModel);

add = true;

} else if (targets.get(x).getStatus() == 9) {

// Check if target is already in ResultsList (breathing)

for (int y=0; y<ResultsModel.getSize(); y++ ) {

String check = ResultsModel.getElementAt(y).toString();

check = check.substring(28);

check = check.substring(0, check.indexOf("><"));

// Compare based on trackNo

if (check.equalsIgnoreCase(targets.get(x).getTargetNo())) {

// Do not add this target

add = false;

}

}

// Add target if necessary

if (add) {

ResultsModel.addElement(new Value ("<html><font color='" + targets.get(x).getColor() + "'>" + targets.get(x).getTargetNo() + "</font></html>", new ImageIcon("resultsblack.gif")));

targets.get(x).getWorkflow().signalTSTAssignedAction();

targets.get(x).getWorkflow().signalTaskCoordinatedAction();

targets.get(x).getWorkflow().signalAttackApprovedAction();

targets.get(x).getWorkflow().signalOrderTransmittedAction();

targets.get(x).getWorkflow().signalFinishAction();

sort("ResultsModel");

}

ResultsList.setModel(ResultsModel);

add = true;

} else if (targets.get(x).getStatus() == 10) {

// Check if target is already in ResultsList (Solid)

for (int y=0; y<ResultsModel.getSize(); y++ ) {

String check = ResultsModel.getElementAt(y).toString();

check = check.substring(28);

check = check.substring(0, check.indexOf("><"));

// Compare based on trackNo

if (check.equalsIgnoreCase(targets.get(x).getTargetNo())) {

// Do not add this target

add = false;

}

}

// Add target if necessary

if (add) {

ResultsModel.addElement(new Value ("<html><font color='" + targets.get(x).getColor() + "'>" + targets.get(x).getTargetNo() + "</font></html>", new ImageIcon("resultsblack.gif")));

targets.get(x).getWorkflow().signalTSTAssignedAction();

targets.get(x).getWorkflow().signalTaskCoordinatedAction();

targets.get(x).getWorkflow().signalAttackApprovedAction();

targets.get(x).getWorkflow().signalOrderTransmittedAction();

targets.get(x).getWorkflow().signalFinishAction();

sort("ResultsModel");

}

ResultsList.setModel(ResultsModel);

add = true;

} else if (targets.get(x).getStatus() == 11) {

// Check if target is already in ResultsList (Hollow)

for (int y=0; y<ResultsModel.getSize(); y++ ) {

String check = ResultsModel.getElementAt(y).toString();

check = check.substring(28);

check = check.substring(0, check.indexOf("><"));

// Compare based on trackNo

if (check.equalsIgnoreCase(targets.get(x).getTargetNo())) {

// Do not add this target

add = false;

}

}

// Add target if necessary

if (add) {

ResultsModel.addElement(new Value ("<html><font color='" + targets.get(x).getColor() + "'>" + targets.get(x).getTargetNo() + "</font></html>", new ImageIcon("resultsblack.gif")));

targets.get(x).getWorkflow().signalTSTAssignedAction();

targets.get(x).getWorkflow().signalTaskCoordinatedAction();

targets.get(x).getWorkflow().signalAttackApprovedAction();

targets.get(x).getWorkflow().signalOrderTransmittedAction();

targets.get(x).getWorkflow().signalFinishAction();

sort("ResultsModel");

}

ResultsList.setModel(ResultsModel);

add = true;

} else if (targets.get(x).getStatus() == 99) {

// Check if target is already in ResultsList (Stopped)

for (int y=0; y<ResultsModel.getSize(); y++ ) {

String check = ResultsModel.getElementAt(y).toString();

check = check.substring(28);

check = check.substring(0, check.indexOf("><"));

// Compare based on trackNo

if (check.equalsIgnoreCase(targets.get(x).getTargetNo())) {

// Do not add this target

add = false;

}

}

// Add target if necessary

if (add) {

ResultsModel.addElement(new Value ("<html><font color='" + targets.get(x).getColor() + "'>" + targets.get(x).getTargetNo() + "</font></html>", new ImageIcon("resultsred.gif")));

targets.get(x).getWorkflow().signalTSTAssignedAction();

targets.get(x).getWorkflow().signalTaskCoordinatedAction();

targets.get(x).getWorkflow().signalAttackApprovedAction();

targets.get(x).getWorkflow().signalOrderTransmittedAction();

targets.get(x).getWorkflow().signalFinishAction();

sort("ResultsModel");

}

ResultsList.setModel(ResultsModel);

add = true;

}

}

}

});

}

public void connect() {

try {

// Setup connection with database

s = new Socket ("192.168.169.56", 7006);

o = new DataOutputStream (new BufferedOutputStream (s.getOutputStream ()));

i = new DataInputStream (new BufferedInputStream (s.getInputStream ()));

} catch (IOException e) {

System.out.println(e.getMessage());

}

}

/*****

public void openlogwriter(){

try{

logwriter = new FileWriter(logging);

logbw = new BufferedWriter(logwriter);

}

catch(Exception e){

System.out.println(e.getMessage());

}

}******/

public void setLists() {

// Setup and initialize all lists

// JCETargetList

JCETargetModel = new DefaultListModel();

JCETargetList = new DNDList(role,gc,"JCETargetList");

JCETargetList.setModel(JCETargetModel);

JCETargetList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

JCETargetList.setBackground(Color.gray);

// ACCTargetList

ACCTargetModel = new DefaultListModel();

ACCTargetList = new DNDList(role,gc,"ACCTargetList");

ACCTargetList.setModel(ACCTargetModel);

ACCTargetList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

// AttackNorthList

AttackNorthModel = new DefaultListModel();

AttackNorthList = new DNDList(role,gc,"AttackNorthList");

AttackNorthList.setModel(AttackNorthModel);

AttackNorthList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

// AttackSouthList

AttackSouthModel = new DefaultListModel();

AttackSouthList = new DNDList(role,gc,"AttackSouthList");

//AttackSouthModel.addElement("<html><font color='#000000'>" + "AF1073 (ACC) 1"+ "

" + "SA27 Reconst" + "

</font></html>");

AttackSouthList.setModel(AttackSouthModel);

AttackSouthList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

// ReviewList

ReviewModel = new DefaultListModel();

ReviewList = new DNDList(role,gc,"ReviewList");

ReviewList.setModel(ReviewModel);

ReviewList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

// TaskC2List

TaskC2Model = new DefaultListModel();

TaskC2List = new DNDList(role,gc,"TaskC2List");

TaskC2List.setModel(TaskC2Model);

TaskC2List.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

// ProgressList

ProgressModel = new DefaultListModel();

ProgressList = new DNDList(role,gc,"ProgressList");

//ProgressModel.addElement("<html><font color='#000000'>" + "AF1065 (ACC) 2"+ "

" + "Sector Ops Alt Location" + "

</font></html>");

ProgressList.setModel(ProgressModel);

ProgressList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

// ResultsList

ResultsModel = new DefaultListModel();

ResultsList = new DNDList(role,gc,"ResultsList");

ResultsList.setModel(ResultsModel);

ResultsList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

//ResultsList.setEnabled(false);

// ResultsList requires special cellrenderer for image icons

ResultsList.setCellRenderer(new SimpleCellRenderer());

}

public void setView() {

// Disable lists by user role

if (role.equalsIgnoreCase("SIDO")) {

ACCTargetList.setEnabled(false);

AttackNorthList.setEnabled(false);

ReviewList.setEnabled(false);

TaskC2List.setEnabled(false);

}

else if(role.equalsIgnoreCase("DTC-Chief")) {

JCETargetList.setEnabled(false);

AttackNorthList.setEnabled(false);

TaskC2List.setEnabled(false);

}

else if(role.equalsIgnoreCase("ATK")) {

JCETargetList.setEnabled(false);

ACCTargetList.setEnabled(false);

ReviewList.setEnabled(false);

TaskC2List.setEnabled(false);

AttackNorthList.addMouseListener(this);

}

else if(role.equalsIgnoreCase("C2DO")) {

JCETargetList.setEnabled(false);

ACCTargetList.setEnabled(false);

AttackNorthList.setEnabled(false);

ReviewList.setEnabled(false);

}

}

public String ownerRemove(String checker) {

if (checker.contains("DTC

"))

checker = checker.substring(0, checker.indexOf("DTC

")) +

checker.substring(checker.indexOf("DTC

")+7, checker.length());

return checker;

}

// Method sets the accepted message for given trackNo

public void setAcceptedMessage (String trackNo, String message) {

// Loop through targets

for (int x=0; x<targets.size(); x++) {

// Match trackNo

if (targets.get(x).getTargetNo().equalsIgnoreCase(trackNo)) {

// Line that should be in ReviewList

String find;

if (targets.get(x).isAccepted())

find = "<html><font color='" + targets.get(x).getColor() + "'>" + targets.get(x).getTargetNo() + " " + targets.get(x).getPriority() + "

" + targets.get(x).getDescription() + "

" + targets.get(x).getAcceptedMessage() + "

</font></html>";

else

find = "<html><font color='" + targets.get(x).getColor() + "'>" + targets.get(x).getTargetNo() + " " + targets.get(x).getPriority() + "

" + targets.get(x).getDescription() + "

</font></html>";

// Set the target's acceptedmessage

targets.get(x).setAcceptedMessage(message);

// New Line for ReviewList

String change = "<html><font color='" + targets.get(x).getColor() + "'>" + targets.get(x).getTargetNo() + " " + targets.get(x).getPriority() + "

" + targets.get(x).getDescription() + "

" + targets.get(x).getAcceptedMessage() + "

</font></html>";

// Check to see if old line exists and replace

find = "<html>DTC

" + find.substring(6);

change = "<html>DTC

" + change.substring(6);

if (ReviewModel.contains(find)) {

ReviewModel.removeElement(find);

ReviewModel.addElement(change);

sort("ReviewModel");

}

}

}

}

public void close() {

try {

String username = conn.getUser();

username = username.substring(0,username.indexOf("@"));

o.writeUTF("signout" + username);

o.flush();

} catch (IOException e) {

System.out.println("Closing error: " + e.getMessage());

}

}

//public void sort(Target target, int status) {

public void sort(String list) {

// For each model:

// retrieve all values

// clear

// for each check it's priority some easy way

// put back in list in order

ArrayList<String> tempList = new ArrayList<String>();

String temp;

if (list.equalsIgnoreCase("JCETargetModel")) {

for (int p=1; p<7; p++) {

for (int x=0; x<JCETargetModel.getSize(); x++) {

temp = (String)JCETargetModel.get(x);

int priority = Integer.parseInt(temp.substring(temp.indexOf("<br>")-1, temp.indexOf("

")));

if (priority == p)

tempList.add(temp);

}

}

JCETargetModel.clear();

for (int x=0; x<tempList.size(); x++) {

//System.out.println("line: " + tempList.get(x));

JCETargetModel.addElement(tempList.get(x));

}

} else if (list.equalsIgnoreCase("ACCTargetModel")) {

for (int p=1; p><7; p++) {

for (int x=0; x<ACCTargetModel.getSize(); x++) {

temp = (String)ACCTargetModel.get(x);

int priority = Integer.parseInt(temp.substring(temp.indexOf("<br>")-1, temp.indexOf("

")));

if (priority == p)

tempList.add(temp);

}

}

ACCTargetModel.clear();

for (int x=0; x<tempList.size(); x++) {

//System.out.println("line: " + tempList.get(x));

ACCTargetModel.addElement(tempList.get(x));

}

} else if (list.equalsIgnoreCase("AttackNorthModel")) {

for (int p=1; p><7; p++) {

for (int x=0; x<AttackNorthModel.getSize(); x++) {

temp = (String)AttackNorthModel.get(x);

int priority = Integer.parseInt(temp.substring(temp.indexOf("<br>")-1, temp.indexOf("

")));

if (priority == p)

tempList.add(temp);

}

}

AttackNorthModel.clear();

for (int x=0; x<tempList.size(); x++) {

//System.out.println("line: " + tempList.get(x));

AttackNorthModel.addElement(tempList.get(x));

}

} else if (list.equalsIgnoreCase("AttackSouthModel")) {

for (int p=1; p><7; p++) {

for (int x=0; x<AttackSouthModel.getSize(); x++) {

temp = (String)AttackSouthModel.get(x);

int priority = Integer.parseInt(temp.substring(temp.indexOf("<br>")-1, temp.indexOf("

")));

if (priority == p)

tempList.add(temp);

}

}

AttackSouthModel.clear();

for (int x=0; x<tempList.size(); x++) {

//System.out.println("line: " + tempList.get(x));

AttackSouthModel.addElement(tempList.get(x));

}

} else if (list.equalsIgnoreCase("ReviewModel")) {

// parsed differently for DTC noise

for (int p=1; p><7; p++) {

for (int x=0; x<ReviewModel.getSize(); x++) {

temp = (String)ReviewModel.get(x);

String prior = temp.substring(temp.indexOf("<br>") + 4);

int priority = Integer.parseInt(prior.substring(prior.indexOf("

")-1, prior.indexOf("

")));

if (priority == p)

tempList.add(temp);

}

}

ReviewModel.clear();

for (int x=0; x<tempList.size(); x++) {

//System.out.println("line: " + tempList.get(x));

ReviewModel.addElement(tempList.get(x));

}

} else if (list.equalsIgnoreCase("TaskC2Model")) {

for (int p=1; p><7; p++) {

for (int x=0; x<TaskC2Model.getSize(); x++) {

temp = (String)TaskC2Model.get(x);

int priority = Integer.parseInt(temp.substring(temp.indexOf("<br>")-1, temp.indexOf("

")));

if (priority == p)

tempList.add(temp);

}

}

TaskC2Model.clear();

for (int x=0; x<tempList.size(); x++) {

//System.out.println("line: " + tempList.get(x));

TaskC2Model.addElement(tempList.get(x));

}

} else if (list.equalsIgnoreCase("ProgressModel")) {

for (int p=1; p><7; p++) {

for (int x=0; x<ProgressModel.getSize(); x++) {

temp = (String)ProgressModel.get(x);

int priority = Integer.parseInt(temp.substring(temp.indexOf("<br>")-1, temp.indexOf("

")));

if (priority == p)

tempList.add(temp);

}

}

ProgressModel.clear();

for (int x=0; x<tempList.size(); x++) {

//System.out.println("line: " + tempList.get(x));

ProgressModel.addElement(tempList.get(x));

}

} else if (list.equalsIgnoreCase("ResultsModel")) {

// SEEMS LIKE THIS DOESNT NEED TO BE SORTED SEEING AS PRIORITY DISSAPPEARS

}

}

public void actionPerformed(ActionEvent e) {

if (e.getSource() == JCEStop||e.getSource() == ACCStop||e.getSource() == NorthStop||e.getSource() == SouthStop||e.getSource() == ReviewStop||e.getSource() == TaskC2Stop||e.getSource() == ProgressStop||e.getSource() == ResultsStop) {

String trackNo;

String color;

if (rightclicked.getSelectedValue() != null) {

// Retrieve track number

color = rightclicked.getSelectedValue().toString().substring(0, 28);

trackNo = rightclicked.getSelectedValue().toString().substring(28);

trackNo = trackNo.substring(0,trackNo.indexOf('<'));

if ((trackNo.endsWith("1")) || (trackNo.endsWith("2")) || (trackNo.endsWith("3")) || (trackNo.endsWith("4")) || (trackNo.endsWith("5")) || (trackNo.endsWith("6"))) {

trackNo = trackNo.substring(0, trackNo.length()-2);

}

try{

gc2.sendMessage("xxxStopxxx" + "@" + rightclicked.getComp() + "@" + rightclicked.getSelectedValue() + "@" + color + "@" + trackNo);

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

} else if (e.getSource() == movetoNorthfromJCE) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"AttackNorthList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoNorthfromACC) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"AttackNorthList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoNorthfromReview) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"AttackNorthList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoSouthfromJCE) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"AttackSouthList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoSouthfromACC) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"AttackSouthList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoSouthfromReview) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"AttackSouthList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoACCfromNorth) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"ACCTargetList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoACCfromSouth) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"ACCTargetList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoJCEfromNorth) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"JCETargetList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoJCEfromSouth) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"JCETargetList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoReviewfromNorth) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"ReviewList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoReviewfromSouth) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"ReviewList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoReviewfromC2) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"ReviewList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoC2fromReview) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"TaskC2List");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoProgressfromC2) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"ProgressList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoResultsfromProgress) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"ResultsList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoJCEfromResults) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"JCETargetList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

else if (e.getSource() == movetoACCfromResults) {

try{

gc2.sendMessage("xxxQueuexxx"+"@"+role+"@"+rightclicked.getSelectedValue()+"@"+"ACCTargetList");

}

catch(Exception exc){

System.out.println(exc.getMessage());

}

}

}

// Custom CellRenderer to allow text and icon in JList

class SimpleCellRenderer extends JLabel implements ListCellRenderer

{

public SimpleCellRenderer()

{

setOpaque(true);

}

public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)

{

// Initialize components

Value val = (Value)value;

setText(val.value);

setIcon(val.image);

//setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);

// Setup colors

setBackground(isSelected ? Color.GRAY : (index & 1) == 0 ? Color.white : Color.white);

setForeground(isSelected ? Color.black : Color.black);

// Return

return this;

}

}

// Simple Class to combine text and icon

private class Value

{

Value(String value, Icon image)

{

this.value = value;

this.image = image;

}

String value;// Text

Icon image;// Image

public String getValue() {

return value;

}

public String toString() {

return value;

}

}

}>[/nobr]

[98575 byte] By [tmohra] at [2007-11-27 11:04:32]
# 1

put comments in your code and have them output at specific times, so when the error occurs, you can narrow down to what line has the problem.Then if you have a problem post a few lines of code and ask specific quesitons.

BTW: code tags work great for actually getting people to read your post.

morgalra at 2007-7-29 13:00:42 > top of Java-index,Desktop,Core GUI APIs...
# 2

Also when you are dealing with arrays: they index 0 through (n-1)

so an array declared size 3 would be indexed by 0, 1, and 2.

morgalra at 2007-7-29 13:00:42 > top of Java-index,Desktop,Core GUI APIs...