1 package org.openejb.server.httpd; 2 3 import java.util.HashMap ; 4 import java.util.Iterator ; 5 import java.util.Map ; 6 7 10 public class HttpListenerRegistry implements HttpListener { 11 12 private final HashMap registry = new HashMap (); 13 14 public HttpListenerRegistry() { 15 } 16 17 public void onMessage(HttpRequest request, HttpResponse response) throws Exception { 18 HashMap listeners; 19 20 synchronized (registry) { 21 listeners = new HashMap (registry); 22 } 23 24 String path = request.getURI().getPath(); 25 26 for (Iterator iterator = listeners.entrySet().iterator(); iterator.hasNext();) { 27 Map.Entry entry = (Map.Entry ) iterator.next(); 28 String pattern = (String ) entry.getKey(); 29 HttpListener listener = (HttpListener) entry.getValue(); 30 if (path.matches(pattern)) { 31 listener.onMessage(request, response); 32 break; 33 } 34 } 35 } 36 37 public void addHttpListener(HttpListener listener, String regex) { 38 synchronized (registry) { 39 registry.put(regex, listener); 40 } 41 } 42 } 43 | Popular Tags |