package org.japanosample.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.japano.JsGenerator;
import org.japano.action.Action;
import org.japanosample.SampleSession;
import org.japanosample.User;
import org.japano.metadata.annotation.*;

/**
 Generates a javascript view with the data of the currently logged in user.
 
 @author  Sven Helmberger ( sven dot helmberger at gmx dot de )
 @version $Id: JsUser.java,v 1.4 2005/09/24 14:54:35 fforw Exp $
 */
 ( library="/sample/js", extension=".js" )
public class JsUser implements Action
{
  private String mimeType=null;
  
  
  public void setMimeType(String mimeType)
  {
    this.mimeType=mimeType;
  }
  
  public void perform(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException
  {
    // get the current user
    User u=((SampleSession)request.getSession()).getUser();
    
    if (mimeType == null)
    {
      // send it back as javascript view ( null values are send as javascript null values)    
      JsGenerator.sendJavaScriptView( request, response, u);                
    }
    else
    {
      JsGenerator.sendJavaScriptView( request, response, u, mimeType);                
    }
  }
}