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

Comparing projects/cms/source/server/uk/org/iscream/cms/server/clientinterface/PacketSorter.java (file contents):
Revision 1.1 by tdb, Tue Jan 23 16:55:23 2001 UTC vs.
Revision 1.2 by tdb, Tue Jan 23 17:22:01 2001 UTC

# Line 34 | Line 34 | class PacketSorter extends Thread {
34      public PacketSorter() {
35          _queue = new Queue();
36          _hostMap = new HashMap();
37 +        _allHostsList = new LinkedList();
38          _logger.write(toString(), Logger.SYSINIT, "created");
39      }
40      
# Line 50 | Line 51 | class PacketSorter extends Thread {
51                  _logger.write(toString(), Logger.ERROR, "Queue failure: "+e);
52              }
53              
54 +            // look at host map
55 +            
56              // should be a neater way to do this
57              XMLPacket packet = new XMLPacketMaker(xml).createXMLPacket();
58              String host = packet.getParam("packet.attributes.machine_name");
# Line 59 | Line 62 | class PacketSorter extends Thread {
62              while(i.hasNext()) {
63                  ((Queue) i.next()).add(xml);
64              }
65 +            
66 +            //  look at all hosts
67 +            
68 +            Iterator j = _allHostsList.iterator();
69 +            while(j.hasNext()) {
70 +                ((Queue) j.next()).add(xml);
71 +            }
72          }
73      }
74      
75      // MUST DEAL WITH hostList="" implying "all hosts"
76      
77      public void register(Queue dhQueue, String hostList) {
78 <        StringTokenizer st = new StringTokenizer(hostList, ";");
79 <        while(st.hasMoreTokens()) {
80 <            String host = st.nextToken();
81 <            if(_hostMap.containsKey(host)) {
82 <                LinkedList list = (LinkedList) _hostMap.get(host);
83 <                list.add(dhQueue);
78 >        if(hostList.equals("")) {
79 >            _allHostsList.add(dhQueue);
80 >            _logger.write(toString(), Logger.SYSMSG, "registered DataHandler for all hosts");
81 >        }
82 >        else {
83 >            StringTokenizer st = new StringTokenizer(hostList, ";");
84 >            while(st.hasMoreTokens()) {
85 >                String host = st.nextToken();
86 >                if(_hostMap.containsKey(host)) {
87 >                    LinkedList list = (LinkedList) _hostMap.get(host);
88 >                    list.add(dhQueue);
89 >                }
90 >                else {
91 >                    LinkedList list = new LinkedList();
92 >                    list.add(dhQueue);
93 >                    _hostMap.put(host, list);
94 >                }
95              }
96 <            else {
76 <                LinkedList list = new LinkedList();
77 <                list.add(dhQueue);
78 <                _hostMap.put(host, list);
79 <            }
96 >            _logger.write(toString(), Logger.SYSMSG, "registered DataHandler for hosts: "+hostList);
97          }
81        _logger.write(toString(), Logger.SYSMSG, "registered DataHandler - " + dhQueue.toString());
98      }
99      
100      public void deregister(Queue dhQueue, String hostList) {
101 <        StringTokenizer st = new StringTokenizer(hostList, ";");
102 <        while(st.hasMoreTokens()) {
103 <            String host = st.nextToken();
104 <            if(_hostMap.containsKey(host)) {
105 <                LinkedList list = (LinkedList) _hostMap.get(host);
106 <                list.remove(dhQueue);
107 <                if(list.size()==0) {
108 <                    _hostMap.remove(host);
101 >        if(hostList.equals("")) {
102 >            _allHostsList.remove(dhQueue);
103 >            _logger.write(toString(), Logger.SYSMSG, "deregistered DataHandler for all hosts");
104 >        }
105 >        else {
106 >            StringTokenizer st = new StringTokenizer(hostList, ";");
107 >            while(st.hasMoreTokens()) {
108 >                String host = st.nextToken();
109 >                if(_hostMap.containsKey(host)) {
110 >                    LinkedList list = (LinkedList) _hostMap.get(host);
111 >                    list.remove(dhQueue);
112 >                    if(list.size()==0) {
113 >                        _hostMap.remove(host);
114 >                    }
115                  }
116              }
117 +            _logger.write(toString(), Logger.SYSMSG, "deregistered DataHandler for hosts: "+hostList);
118          }
96        _logger.write(toString(), Logger.SYSMSG, "deregistered DataHandler - " + dhQueue.toString());
119      }
120      
121      /**
# Line 142 | Line 164 | class PacketSorter extends Thread {
164      private Queue _queue;
165      
166      private HashMap _hostMap;
167 +    private LinkedList _allHostsList;
168      
169   //---STATIC ATTRIBUTES---
170  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines