/*
* 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) 2001 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
*
* Contributor(s):
*/
package com.silverwrist.venice.servlets.format;
import java.io.IOException;
import java.io.Writer;
import javax.servlet.ServletRequest;
import com.silverwrist.util.StringUtil;
import com.silverwrist.venice.core.*;
public class Invitation implements JSPRender
{
/*--------------------------------------------------------------------------------
* Static data members
*--------------------------------------------------------------------------------
*/
// Attribute name for request attribute
protected static final String ATTR_NAME = "com.silverwrist.venice.content.Invitation";
/*--------------------------------------------------------------------------------
* Attributes
*--------------------------------------------------------------------------------
*/
private CommunityContext comm; // the community context
private ConferenceContext conf; // the conference context
private TopicContext topic; // the topic context
/*--------------------------------------------------------------------------------
* Constructor
*--------------------------------------------------------------------------------
*/
public Invitation(CommunityContext comm, ConferenceContext conf, TopicContext topic)
{
this.comm = comm;
this.conf = conf;
this.topic = topic;
} // end constructor
/*--------------------------------------------------------------------------------
* External static functions
*--------------------------------------------------------------------------------
*/
public static Invitation retrieve(ServletRequest request)
{
return (Invitation)(request.getAttribute(ATTR_NAME));
} // end retrieve
/*--------------------------------------------------------------------------------
* Implementations from interface VeniceContent
*--------------------------------------------------------------------------------
*/
public String getPageTitle(RenderData rdat)
{
return "Send Invitation";
} // end getPageTitle
public String getPageQID()
{
String rc = "sigops?cmd=I&sig=" + comm.getCommunityID();
if (conf!=null)
{ // add conference and topic parameters, as needed
rc += ("&conf=" + conf.getConfID());
if (topic!=null)
rc += ("&top=" + topic.getTopicNumber());
} // end if
return rc;
} // end getPageQID
/*--------------------------------------------------------------------------------
* Implementations from interface JSPRender
*--------------------------------------------------------------------------------
*/
public void store(ServletRequest request)
{
request.setAttribute(ATTR_NAME,this);
} // end store
public String getTargetJSPName()
{
return "invitation.jsp";
} // end getTargetJSPName
/*--------------------------------------------------------------------------------
* External operations
*--------------------------------------------------------------------------------
*/
public final void writeHeader(Writer out, RenderData rdat) throws IOException
{
if (topic!=null)
rdat.writeContentHeader(out,"Send Topic Invitation:",
topic.getName() + " (in " + conf.getName() + ", in " + comm.getName() + ")");
else if (conf!=null)
rdat.writeContentHeader(out,"Send Conference Invitation:",
conf.getName() + " (in " + comm.getName() + ")");
else
rdat.writeContentHeader(out,"Send Community Invitation:",comm.getName());
} // end writeHeader
public final int getCommunityID()
{
return comm.getCommunityID();
} // end getCommunityID
public final String getParameters()
{
String rc = "";
if (conf==null)
return rc;
rc += ("\n");
if (topic==null)
return rc;
rc += ("\n");
return rc;
} // end getAdditionalParameters
} // end class Invitation