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:
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.taglib.DesktopTaglibException;
16:
17: public class SetStringPropertyTag extends BaseProviderContextTagSupport {
18: private String m_key = null;
19: private String m_value = null;
20: private List m_pflist = null;
21:
22: public void setKey(String key) throws DesktopTaglibException {
23: m_key = resolveParameter(key).toString();
24: }
25:
26: public void setValue(String value) throws DesktopTaglibException {
27: m_value = resolveParameter(value).toString();
28: }
29:
30: public void setPfList(String pflist) throws DesktopTaglibException {
31: if (!isContextVariable(pflist)) {
32: throw new DesktopTaglibException(
33: DesktopTaglibException.INVALID_PARAMETER, pflist);
34: }
35: try {
36: m_pflist = (List) resolveParameter(pflist);
37: } catch (ClassCastException cce) {
38: throw new DesktopTaglibException(
39: DesktopTaglibException.INVALID_PARAMETER, pflist);
40: }
41: }
42:
43: public int doStartTag() throws JspException {
44: ProviderContext pc = getCurrentProviderContext();
45: Provider p = getCurrentObj();
46: try {
47: if (m_pflist == null) {
48: pc.setStringProperty(p.getName(), m_key, m_value);
49: } else {
50: pc.setStringProperty(p.getName(), m_key, m_value);
51: }
52: } catch (ProviderContextException pce) {
53: throw new DesktopTaglibException(pce);
54: }
55:
56: return SKIP_BODY;
57: }
58: }
|