KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > codehaus > loom > components > assembler > data > Component4


1 /*
2  * Copyright (C) The Loom Group. All rights reserved.
3  *
4  * This software is published under the terms of the Loom
5  * Software License version 1.1, a copy of which has been included
6  * with this distribution in the LICENSE.txt file.
7  */

8 package org.codehaus.loom.components.assembler.data;
9
10 import java.util.Iterator JavaDoc;
11 import java.util.Map JavaDoc;
12 import org.apache.avalon.framework.service.ServiceException;
13 import org.apache.avalon.framework.service.ServiceManager;
14 import org.apache.avalon.framework.service.Serviceable;
15
16 /**
17  * A test component.
18  *
19  * @author Peter Donald
20  * @version $Revision: 1.2 $ $Date: 2004/05/01 12:48:35 $
21  * @dna.component
22  */

23 public class Component4
24     implements Serviceable
25 {
26     /**
27      * @dna.dependency type="Service1{}"
28      */

29     public void service( final ServiceManager manager )
30         throws ServiceException
31     {
32         final Map JavaDoc services =
33             (Map JavaDoc)manager.lookup( Service1.class.getName() + "{}" );
34         System.out.println( "Passed the following services: " +
35                             services.keySet() );
36         if( 3 != services.size() )
37         {
38             final String JavaDoc message =
39                 "Expected to get 3 services but got " + services.size();
40             throw new ServiceException( Service1.class.getName() + "{}",
41                                         message );
42         }
43
44         final Iterator JavaDoc iterator = services.keySet().iterator();
45         while( iterator.hasNext() )
46         {
47             final String JavaDoc key = (String JavaDoc)iterator.next();
48             final Service1 service1 = (Service1)services.get( key );
49             if( null == service1 )
50             {
51                 final String JavaDoc message = "Expected non null service entry for " +
52                     key;
53                 throw new ServiceException( Service1[].class.getName(),
54                                             message );
55             }
56         }
57     }
58 }
59
Popular Tags