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;
06:
07: import javax.servlet.jsp.JspException;
08:
09: import com.sun.portal.providers.Provider;
10: import com.sun.portal.providers.containers.ContainerProvider;
11: import com.sun.portal.desktop.taglib.BaseDesktopTagSupport;
12: import com.sun.portal.desktop.taglib.DesktopTaglibContext;
13: import com.sun.portal.desktop.taglib.DesktopTaglibException;
14:
15: public class ObtainContainerTag extends BaseDesktopTagSupport {
16:
17: private String m_Container;
18:
19: public void setContainer(String container) {
20: m_Container = container;
21: }
22:
23: public int doStartTag() throws JspException {
24: if (!isContextVariable(m_Container)) {
25: throw new DesktopTaglibException(
26: DesktopTaglibException.INVALID_PARAMETER,
27: m_Container);
28: }
29: String v = getVariable(m_Container);
30: ContainerProvider cp = (ContainerProvider) pageContext
31: .getAttribute(v);
32:
33: if (cp == null) {
34: throw new DesktopTaglibException(
35: DesktopTaglibException.UNDEFINED_PARAMETER, v);
36: // throws undefined variable exception
37: } else {
38: mdttlContext = new DesktopTaglibContext();
39: mdttlContext.setContainer(cp);
40: saveDesktopTaglibContext();
41: }
42: return EVAL_BODY_INCLUDE;
43: }
44:
45: public int doEndTag() throws JspException {
46: setCurrentContainer(null);
47: saveDesktopTaglibContext();
48: return EVAL_PAGE;
49: }
50: }
|