/*
* Created on May 10, 2003
*/
package net.sf.jportlet.portlets.login;
import java.io.IOException;
import net.sf.jportlet.impl.UserImpl;
import net.sf.jportlet.portlet.Portlet;
import net.sf.jportlet.portlet.PortletAdapter;
import net.sf.jportlet.portlet.PortletConfig;
import net.sf.jportlet.portlet.PortletException;
import net.sf.jportlet.portlet.PortletRequest;
import net.sf.jportlet.portlet.PortletResponse;
/**
* @author <a href="mailto:tchbansi@sourceforge.net">Herve Tchepannou</a>
*/
public class LoginPortlet
extends PortletAdapter
{
//~ Static fields/initializers ---------------------------------------------
public static final String KEY_TEMPLATE = "template";
public static final String CONFIG_ALLOW_REGISTER = "allow.register";
//~ Instance fields --------------------------------------------------------
private boolean _allowRegister;
private long _lastChanged;
//~ Methods ----------------------------------------------------------------
/**
* This function is called when the user login, logout or when its profile has changed
*/
public void dataChanged( )
{
_lastChanged = System.currentTimeMillis( );
}
/**
* @see net.sf.jportlet.portlet.PortletAdapter#doView(net.sf.jportlet.portlet.PortletRequest, net.sf.jportlet.portlet.PortletResponse)
*/
protected void doView( PortletRequest request,
PortletResponse response )
throws PortletException,
IOException
{
String template = request.getParameter( KEY_TEMPLATE );
if ( template == null )
{
include( "view.vm", request, response );
}
else
{
include( template, request, response );
}
}
/**
* @see net.sf.jportlet.portlet.Portlet#getLastModified(net.sf.jportlet.portlet.PortletRequest)
*/
public long getLastModified( PortletRequest request )
{
return ( request.getMode( ) == Portlet.Mode.VIEW )
? _lastChanged
: 0;
}
/**
* @see net.sf.jportlet.portlet.Portlet#init(net.sf.jportlet.portlet.PortletConfig)
*/
public void init( PortletConfig portletConfig )
throws PortletException
{
super.init( portletConfig );
String value = portletConfig.getInitParameter( CONFIG_ALLOW_REGISTER );
_allowRegister = ( value != null )
? "true".equalsIgnoreCase( value )
: true;
}
/**
* @return
*/
public boolean isAllowRegister( )
{
return _allowRegister;
}
/**
* @see net.sf.jportlet.portlet.PortletAdapter#doEdit(net.sf.jportlet.portlet.PortletRequest, net.sf.jportlet.portlet.PortletResponse)
*/
protected void doEdit( PortletRequest request,
PortletResponse response )
throws PortletException,
IOException
{
String template = request.getParameter( KEY_TEMPLATE );
if ( template == null )
{
if ( request.getAttribute( "user" ) == null )
{
UserImpl user = new UserImpl( "", "", "", "", "", request.getLocale( ) );
request.setAttribute( "user", user );
}
include( "edit.vm", request, response );
}
else
{
include( template, request, response );
}
}
}