/*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at .
*
* Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
* WARRANTY OF ANY KIND, either express or implied. See the License for the specific
* language governing rights and limitations under the License.
*
* The Original Code is the Venice Web Communities System.
*
* The Initial Developer of the Original Code is Eric J. Bowersox ,
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
* Copyright (C) 2002 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
*
* Contributor(s):
*/
package com.silverwrist.venice.ui.view;
import java.util.Date;
import javax.servlet.*;
import com.silverwrist.venice.core.CommunityContext;
import com.silverwrist.venice.ui.*;
import com.silverwrist.venice.ui.helpers.HTMLRendering;
import com.silverwrist.venice.ui.servlet.RequestImpl;
public class NestedJSPView implements ContentJSP
{
/*--------------------------------------------------------------------------------
* Attributes
*--------------------------------------------------------------------------------
*/
private Content outer;
private String jspname;
private RequestInput rinput = null;
private HTMLRendering html = null;
/*--------------------------------------------------------------------------------
* Constructor
*--------------------------------------------------------------------------------
*/
public NestedJSPView(Content outer, String jspname)
{
this.outer = outer;
this.jspname = jspname;
} // end constructor
/*--------------------------------------------------------------------------------
* Implementations from interface Content
*--------------------------------------------------------------------------------
*/
public boolean needFrame()
{
return outer.needFrame();
} // end needFrame
public int getMenuSelector()
{
return outer.getMenuSelector();
} // end getMenuSelector
public String getPageTitle(RequestOutput ro)
{
return outer.getPageTitle(ro);
} // end getPageTitle
public String getPageQID()
{
return outer.getPageQID();
} // end getPageQID
/*--------------------------------------------------------------------------------
* Implementations from interface ContentJSP
*--------------------------------------------------------------------------------
*/
public String getJSPName()
{
return jspname;
} // end getJSPName
public void initialize(RequestInput req)
{
rinput = req;
html = (HTMLRendering)(req.queryService(HTMLRendering.class));
} // end initialize
public void terminate(RequestInput req)
{
rinput = null;
html = null;
} // end terminate
/*--------------------------------------------------------------------------------
* External operations
*--------------------------------------------------------------------------------
*/
public final Content getOuterView()
{
return outer;
} // end getOuterView
public final Object getRequestAttribute(String s)
{
return ((rinput==null) ? null : rinput.getRequestAttribute(s));
} // end getRequestAttribute
public final String formatDate(Date date)
{
return ((html==null) ? null : html.formatDate(date));
} // end formatDate
public final CommunityContext getCommunity()
{
return ((rinput==null) ? null : rinput.getCommunity());
} // end getCommunity
public final String getActivityString(Date date)
{
return ((html==null) ? null : html.getActivityString(date));
} // end getActivityString
/*--------------------------------------------------------------------------------
* External static operations
*--------------------------------------------------------------------------------
*/
public static final NestedJSPView get(ServletRequest sreq) throws ServletException
{
Object obj = sreq.getAttribute(RequestImpl.REQUEST_CONTENT);
if (obj==null)
throw new ServletException("NestedJSPView.get: unable to get request content");
if (obj instanceof NestedJSPView)
return (NestedJSPView)obj;
throw new ServletException("NestedJSPView.get: request content is not a NestedJSPView object");
} // end get
public static final RequestOutput getRequestOutput(ServletRequest sreq) throws ServletException
{
Object obj = sreq.getAttribute(RequestImpl.REQUEST_OUTPUT);
if (obj==null)
throw new ServletException("NestedJSPView.getRequestOutput: unable to get request object");
if (obj instanceof RequestOutput)
return (RequestOutput)obj;
throw new ServletException("NestedJSPView.getRequestOutput: request object is not a RequestOutput object");
} // end getRequestOutput
} // end class NestedJSPView