1 /***
2 * JFoxSOAF, Service-Oriented Application Framework
3 *
4 * Copyright (C) www.huihoo.org
5 *
6 * Distributable under GNU LGPL For more information, please visit:
7 * http://www.huihoo.org/jfox/jfoxsoaf
8 */
9
10 package org.huihoo.jfox.soaf.container;
11
12 import java.util.ArrayList;
13 import java.util.Collection;
14 import java.util.Iterator;
15
16 import org.huihoo.jfox.soaf.schema.service.ServiceEntry;
17 import org.huihoo.jfox.soaf.util.resource.ResourceHelper;
18
19 /***
20 * InterceptorManager imlementation.
21 *
22 * @author <a href="mailto:founder_chen@yahoo.com.cn">Peter Cheng </a>
23 * @version $Revision: 1.4 $ $Date: 2004/10/28 05:12:04 $
24 * @version Revision: 1.0
25 */
26
27 public class InterceptorManagerImpl implements InterceptorManager {
28
29 private InterceptorChain interceptorChain = new InterceptorChainImpl();
30
31 private Collection interceptorList = new ArrayList();
32
33 /***
34 * Process Interceptor.
35 * @param interceptorColl
36 * @param serviceModel
37 *
38 * @throws Throwable
39 */
40 public void processInterceptor(Collection interceptorColl,
41 Collection serviceEntryColl)
42 throws Throwable {
43 instantiationInteceptor(interceptorColl);
44 Iterator serviceEntryIter = serviceEntryColl.iterator();
45 ServiceEntry serviceModel = null;
46 while (serviceEntryIter.hasNext()) {
47 serviceModel = (ServiceEntry) serviceEntryIter.next();
48 interceptorChain.processInterceptor(interceptorList, serviceModel);
49 }
50 }
51
52 /***
53 * Init interceptor instance.
54 * @param coll
55 * Interceptor collection
56 *
57 * @throws Throwable
58 */
59 private void instantiationInteceptor(Collection coll) throws Throwable {
60 Iterator iter = coll.iterator();
61 while (iter.hasNext()) {
62 interceptorList.add(ResourceHelper.instantiate((String) iter.next()));
63 }
64 }
65
66 }