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.providerContext;
06:
07: import javax.servlet.jsp.JspException;
08: import java.util.Map;
09: import java.util.List;
10:
11: import com.sun.portal.providers.Provider;
12: import com.sun.portal.providers.context.ProviderContext;
13: import com.sun.portal.providers.context.ProviderContextException;
14:
15: import com.sun.portal.desktop.context.ContextException;
16: import com.sun.portal.desktop.taglib.DesktopTaglibException;
17:
18: public class GetCollectionPropertyTag extends
19: BaseProviderContextTagSupport {
20: private String m_key = null;
21: private List m_pflist = null;
22:
23: public void setKey(String key) throws DesktopTaglibException {
24: m_key = resolveParameter(key).toString();
25: }
26:
27: public void setPfList(String pflist) throws DesktopTaglibException {
28: if (!isContextVariable(pflist)) {
29: throw new DesktopTaglibException(
30: DesktopTaglibException.INVALID_PARAMETER, pflist);
31: }
32: try {
33: m_pflist = (List) resolveParameter(pflist);
34: } catch (ClassCastException cce) {
35: throw new DesktopTaglibException(
36: DesktopTaglibException.INVALID_PARAMETER, pflist);
37: }
38: }
39:
40: public int doStartTag() throws JspException {
41: ProviderContext pc = getCurrentProviderContext();
42: Map prop = null;
43:
44: Provider p = getCurrentObj();
45: try {
46: if (m_pflist == null) {
47: prop = pc.getCollectionProperty(p.getName(), m_key);
48: } else {
49: prop = pc.getCollectionProperty(p.getName(), m_key,
50: m_pflist);
51: }
52: } catch (ProviderContextException pce) {
53: throw new DesktopTaglibException(pce);
54: }
55:
56: processResult(prop);
57: return SKIP_BODY;
58: }
59: }
|