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 com.sun.portal.desktop.taglib.BaseDesktopTagSupport;
08: import com.sun.portal.desktop.taglib.DesktopTaglibException;
09: import com.sun.portal.providers.ProviderAdapter;
10: import com.sun.portal.providers.containers.ContainerProviderAdapter;
11: import com.sun.portal.providers.ProviderException;
12: import com.sun.portal.providers.context.ProviderContext;
13: import com.sun.portal.providers.context.ContainerProviderContext;
14: import com.sun.portal.providers.containers.JSPContainerProviderAdapter;
15:
16: public class BaseProviderContextTagSupport extends
17: BaseDesktopTagSupport {
18: public ProviderContext getCurrentProviderContext()
19: throws DesktopTaglibException {
20: int currentType = getCurrentObjType();
21: ProviderContext pc = null;
22: switch (currentType) {
23: case PROVIDER:
24: ProviderAdapter pa = null;
25: try {
26: pa = (ProviderAdapter) getProvider();
27: } catch (ClassCastException e) {
28: throw new DesktopTaglibException(
29: DesktopTaglibException.INVALID_PROVIDER_TYPE);
30: }
31: pc = pa.getProviderContext();
32: break;
33: case CONTAINER:
34: JSPContainerProviderAdapter cpa = null;
35: try {
36: cpa = (JSPContainerProviderAdapter) getContainer();
37: } catch (ClassCastException e) {
38: throw new DesktopTaglibException(
39: DesktopTaglibException.INVALID_PROVIDER_TYPE);
40: }
41: pc = cpa.getProviderContext();
42: break;
43: case UNDEFINED:
44: default:
45: throw new DesktopTaglibException(
46: DesktopTaglibException.INVALID_TAG_SEQUENCE);
47: }
48: return pc;
49: }
50: }
|