01: /* Copyright 2004 The JA-SIG Collaborative. All rights reserved.
02: * See license distributed with this file and
03: * available online at http://www.uportal.org/license.html
04: */
05:
06: package org.jasig.portal.container.services.information;
07:
08: import java.util.Properties;
09:
10: import javax.servlet.ServletConfig;
11: import javax.servlet.http.HttpServletRequest;
12:
13: import org.apache.pluto.services.information.DynamicInformationProvider;
14: import org.apache.pluto.services.information.InformationProviderService;
15: import org.apache.pluto.services.information.StaticInformationProvider;
16: import org.jasig.portal.container.services.PortletContainerService;
17:
18: /**
19: * Implementation of Apache Pluto InformationProviderService.
20: * @author Michael Ivanov, mivanov@unicon.net
21: * @version $Revision: 35428 $
22: */
23: public class InformationProviderServiceImpl implements
24: PortletContainerService, InformationProviderService {
25:
26: private static DynamicInformationProvider dynamicProvider;
27: private static StaticInformationProviderImpl staticInfoProvider;
28:
29: private static final String dynamicInformationProviderRequestParameterName = "org.apache.pluto.services.information.DynamicInformationProvider";
30:
31: // PortletContainerService methods
32:
33: public void init(ServletConfig servletConfig, Properties properties)
34: throws Exception {
35: if (staticInfoProvider == null) {
36: staticInfoProvider = new StaticInformationProviderImpl();
37: staticInfoProvider.init(servletConfig, properties);
38: }
39: }
40:
41: public void destroy() throws Exception {
42: staticInfoProvider = null;
43: }
44:
45: // InformationProviderService methods
46:
47: public StaticInformationProvider getStaticProvider() {
48: return staticInfoProvider;
49: }
50:
51: public synchronized DynamicInformationProvider getDynamicProvider(
52: HttpServletRequest request) {
53: if (dynamicProvider == null)
54: dynamicProvider = new DynamicInformationProviderImpl();
55: return dynamicProvider;
56: }
57:
58: }
|