ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/conient/uk/org/iscream/cms/conient/QueueFrame.java
(Generate patch)

Comparing projects/cms/source/conient/uk/org/iscream/cms/conient/QueueFrame.java (file contents):
Revision 1.2 by ajm, Mon Feb 26 00:25:00 2001 UTC vs.
Revision 1.9 by ajm, Thu Mar 15 01:05:46 2001 UTC

# Line 1 | Line 1
1   //---PACKAGE DECLARATION---
2 < package uk.ac.ukc.iscream.conient;
2 > package uk.org.iscream.conient;
3  
4   //---IMPORTS---
5 < import uk.ac.ukc.iscream.util.*;
6 < import uk.ac.ukc.iscream.conient.datacomponents.*;
5 > import uk.org.iscream.util.*;
6 > import uk.org.iscream.conient.datacomponents.*;
7   import javax.swing.*;
8   import javax.swing.border.*;
9   import java.util.*;
# Line 39 | Line 39 | public class QueueFrame extends JFrame {
39          JButton close = new JButton("Close Window");
40          close.addActionListener(new ActionListener() {
41              public void actionPerformed(ActionEvent e) {
42 <                dispose();
42 >                setVisible(false);
43              }
44          });
45          getContentPane().add(close, "South");
46 <        setIconImage((new ImageIcon("./uk/ac/ukc/iscream/conient/server.gif")).getImage());
46 >        setIconImage((new ImageIcon("./resources/server.gif")).getImage());
47          pack();
48          setVisible(true);
49      }
# Line 60 | Line 60 | public class QueueFrame extends JFrame {
60      public boolean update(XMLPacket packet) {
61          // iterate over the packets data
62          boolean displaySucessful = true;
63 <        String queueName = packet.getParam("packet.attributes.name");
63 >        String queueHashCode = packet.getParam("packet.attributes.hashCode");
64  
65          // if there are no components looking after this data
66          // create a new StringDataComponent for it
67 <        if(!_queues.containsKey(queueName)) {
67 >        if(!_queues.containsKey(queueHashCode)) {
68              addQueue(packet);
69          }
70  
# Line 84 | Line 84 | public class QueueFrame extends JFrame {
84      private void addQueue(XMLPacket packet) {
85          HashMap newQueue = new HashMap();
86          String queueName = packet.getParam("packet.attributes.name");
87 +        String queueHashCode = packet.getParam("packet.attributes.hashCode");
88          VisibleDataComponent date = new DateDataComponent("Last timestamp", "packet.attributes.date");
89          VisibleDataComponent total = new StringDataComponent("Total queued to date", "packet.queue.attributes.total");
90          newQueue.put("packet.attributes.name", new StringDataComponent("Name", "packet.attributes.name"));
# Line 94 | Line 95 | public class QueueFrame extends JFrame {
95          newQueueDisplay.setBorder(new TitledBorder(new LineBorder(new Color(0, 0, 102)), queueName));
96          newQueueDisplay.add(date);
97          newQueueDisplay.add(total);
98 <        _queuesDisplays.put(queueName, newQueueDisplay);
98 >        _queuesDisplays.put(queueHashCode, newQueueDisplay);
99          try {
100              SwingSafeAdd task = new SwingSafeAdd(_content, newQueueDisplay);
101              SwingUtilities.invokeAndWait(task);
# Line 102 | Line 103 | public class QueueFrame extends JFrame {
103              // don't care
104          }
105          pack();
106 <        _queues.put(queueName, newQueue);
106 >        _queues.put(queueHashCode, newQueue);
107      }
108          
109      private void updateQueueInformation(XMLPacket packet) throws DataFormatException {
110 <        String queueName = packet.getParam("packet.attributes.name");
111 <        HashMap components = (HashMap) _queues.get(queueName);
112 <        Set packetSet = packet.getSet();
113 <        Iterator i = packetSet.iterator();
114 <        while (i.hasNext()) {
115 <            String dataKey = (String) i.next();
116 <            // if there are no components looking after this data
117 <            // create a new StringDataComponent for it
118 <            if(!components.containsKey(dataKey)) {
119 <                // check if its a disk drive, if it is then we need to deal with it
120 <                if(dataKey.startsWith("packet.queue.attributes.queue")) {
121 <                    VisibleDataComponent queue = new StringDataComponent("Current length of " + dataKey.substring(dataKey.lastIndexOf('.') + 1), dataKey);
122 <                    components.put(dataKey, queue);
123 <                    try {
124 <                       SwingSafeAdd task = new SwingSafeAdd((JPanel)_queuesDisplays.get(queueName), queue);
125 <                        SwingUtilities.invokeAndWait(task);
126 <                    } catch (Exception e) {
127 <                        // don't care
110 >        String queueHashCode = packet.getParam("packet.attributes.hashCode");
111 >        
112 >        // if it was a shutdown packet, remove the display
113 >        if (packet.getParam("packet.attributes.shutdown") != null) {
114 >            // *** !!! MAY NOT BE SWING SAFE !!! ***
115 >            JPanel temp = (JPanel)_queuesDisplays.get(queueHashCode);
116 >            temp.setVisible(false);
117 >            _content.remove(temp);
118 >            _queuesDisplays.remove(temp);
119 >            pack();
120 >
121 >        // else update the display
122 >        } else {
123 >            HashMap components = (HashMap) _queues.get(queueHashCode);
124 >            Set packetSet = packet.getSet();
125 >            Iterator i = packetSet.iterator();
126 >            while (i.hasNext()) {
127 >                String dataKey = (String) i.next();
128 >                // if there are no components looking after this data
129 >                // create a new StringDataComponent for it
130 >                if(!components.containsKey(dataKey)) {
131 >                    // check if its a queue, if it is then we need to deal with it
132 >                    if(dataKey.startsWith("packet.queue.attributes.queue")) {
133 >                        VisibleDataComponent queue = new StringDataComponent("Current length of " + dataKey.substring(dataKey.lastIndexOf('.') + 1), dataKey);
134 >                        components.put(dataKey, queue);
135 >                        try {
136 >                            SwingSafeAdd task = new SwingSafeAdd((JPanel)_queuesDisplays.get(queueHashCode), queue);
137 >                            SwingUtilities.invokeAndWait(task);
138 >                        } catch (Exception e) {
139 >                            // if there was a problem
140 >                            System.err.println("ERROR Failed To Add Component - " + e);
141 >                        }
142 >                        pack();
143                      }
144 <                    pack();
144 >                    // note we ignore all other attributes
145                  }
146 <                // note we ignore all other attributes
147 <            }
148 <            if(components.containsKey(dataKey)) {
133 <                ((DataComponent) components.get(dataKey)).setValue(packet.getParam(dataKey));
146 >                if(components.containsKey(dataKey)) {
147 >                    ((DataComponent) components.get(dataKey)).setValue(packet.getParam(dataKey));
148 >                }
149              }
150          }
151      }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines