01: /*
02: * Copyright 2001 Sun Microsystems, Inc. All rights reserved.
03: * PROPRIETARY/CONFIDENTIAL. Use of this product is subject to license terms.
04: */
05: package com.sun.portal.desktop.taglib.container.table;
06:
07: import java.util.Map;
08: import java.util.HashMap;
09: import java.util.List;
10: import java.util.ResourceBundle;
11:
12: import javax.servlet.jsp.JspException;
13: import javax.servlet.http.HttpServletRequest;
14: import javax.servlet.http.HttpServletResponse;
15:
16: import com.sun.portal.desktop.taglib.BaseDesktopTagSupport;
17: import com.sun.portal.desktop.taglib.DesktopTaglibException;
18: import com.sun.portal.providers.context.ProviderContextException;
19: import com.sun.portal.providers.ProviderException;
20: import com.sun.portal.providers.containers.JSPContainerProviderAdapter;
21: import com.sun.portal.providers.containers.jsp.table.JSPTableContainerProvider;
22:
23: public class GetContentTag extends BaseDesktopTagSupport {
24: public int doStartTag() throws JspException {
25: JSPContainerProviderAdapter cpa = (JSPContainerProviderAdapter) getCurrentObj();
26: JSPTableContainerProvider tcp = (JSPTableContainerProvider) getContainer();
27: List pList = null;
28: List nonMinimizedList = null;
29: Map channelsIsMinimized = null;
30: Map m = new HashMap();
31: try {
32: int timeout = cpa.getProviderContext().getIntegerProperty(
33: cpa.getName(), "timeout");
34: pList = cpa.getSelectedChannels();
35: nonMinimizedList = cpa.getSelectedChannels();
36: channelsIsMinimized = cpa.getProviderContext()
37: .getCollectionProperty(cpa.getName(),
38: "channelsIsMinimized");
39: boolean dIsMinimized = cpa.getProviderContext()
40: .getBooleanProperty(cpa.getName(),
41: "defaultChannelIsMinimized");
42: tcp.genMinimizedContent(channelsIsMinimized,
43: nonMinimizedList, m, dIsMinimized);
44: m.putAll(cpa.getContainerProviderContext().getContent(
45: (HttpServletRequest) pageContext.getRequest(),
46: (HttpServletResponse) pageContext.getResponse(),
47: cpa.getName(), nonMinimizedList, timeout));
48: for (int i = 0; i < pList.size(); i++) {
49: String name = (String) pList.get(i);
50: ResourceBundle bundle = cpa.getResourceBundle(cpa
51: .getProviderContext().getProviderName(
52: tcp.getName()));
53: if (!m.containsKey(name)) {
54: m.put(name, bundle
55: .getString("error_channel_timedout"));
56: } else {
57: if (m.get(name) == null) {
58: m.remove(name);
59: StringBuffer buf = cpa
60: .getContainerProviderContext()
61: .getCachedContent(name);
62: if (buf != null) {
63: m.put(name, buf);
64: } else {
65: m
66: .put(
67: name,
68: new StringBuffer(
69: bundle
70: .getString("error_content_not_available")));
71: }
72: }
73: }
74: }
75: } catch (ProviderException pe) {
76: throw new DesktopTaglibException(pe);
77: } catch (ProviderContextException t) {
78: throw new DesktopTaglibException(t);
79: }
80: processResult(m);
81: return SKIP_BODY;
82: }
83: }
|