1 package org.codehaus.xfire.plexus;
2
3 import java.util.Iterator;
4 import java.util.Map;
5
6 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
7 import org.codehaus.plexus.personality.plexus.lifecycle.phase.ServiceLocator;
8 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Serviceable;
9 import org.codehaus.xfire.service.DefaultServiceRegistry;
10 import org.codehaus.xfire.service.Service;
11
12 /***
13 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
14 */
15 public class ServiceRegistry
16 extends DefaultServiceRegistry
17 implements Initializable, Serviceable
18 {
19 private ServiceLocator locator;
20 public ServiceRegistry()
21 {
22 super();
23 }
24
25 public void initialize()
26 throws Exception
27 {
28 Map services = locator.lookupMap(Service.ROLE);
29 for (Iterator itr = services.values().iterator(); itr.hasNext();)
30 {
31 Service service = (Service) itr.next();
32 register(service);
33 }
34 }
35
36 /***
37 * @param arg0
38 */
39 public void service(ServiceLocator locator)
40 {
41 this.locator = locator;
42 }
43 }