01: /*
02: Copyright (C) 2004 David Bucciarelli (davibu@interfree.it)
03:
04: This program is free software; you can redistribute it and/or
05: modify it under the terms of the GNU General Public License
06: as published by the Free Software Foundation; either version 2
07: of the License, or (at your option) any later version.
08:
09: This program is distributed in the hope that it will be useful,
10: but WITHOUT ANY WARRANTY; without even the implied warranty of
11: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12: GNU General Public License for more details.
13:
14: You should have received a copy of the GNU General Public License
15: along with this program; if not, write to the Free Software
16: Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17: */
18:
19: package org.homedns.dade.jcgrid.server;
20:
21: import java.util.*;
22:
23: public class HandlerThreads {
24: private Hashtable handlers;
25:
26: public HandlerThreads() {
27: handlers = new Hashtable();
28: }
29:
30: public synchronized HandlerThread getConnectedHandler(
31: String sessionName) {
32: return (HandlerThread) handlers.get(sessionName);
33: }
34:
35: public synchronized void addConnectedHandler(HandlerThread ht) {
36: handlers.put(ht.getSessionName(), ht);
37: }
38:
39: public synchronized void removeConnectedHandler(HandlerThread ht) {
40: handlers.remove(ht.getSessionName());
41: }
42:
43: public synchronized int getConnectedHandlerCount() {
44: return handlers.size();
45: }
46:
47: public synchronized Vector getSessionNames() {
48: Vector v = new Vector();
49: for (Iterator i = handlers.keySet().iterator(); i.hasNext();) {
50: String sessionName = (String) i.next();
51: v.add(sessionName);
52: }
53:
54: return v;
55: }
56:
57: public synchronized boolean doesHandlerSessionExists(String name,
58: HandlerThread fromht) {
59: boolean res = false;
60: for (Iterator i = handlers.keySet().iterator(); i.hasNext();) {
61: String sessionName = (String) i.next();
62: HandlerThread ht = (HandlerThread) handlers
63: .get(sessionName);
64:
65: if ((ht != fromht) && (name.equals(ht.getSessionName()))) {
66: res = true;
67: break;
68: }
69: }
70:
71: return res;
72: }
73: }
|