package org.japanosample;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.jsp.JspException;
import org.japano.Buffer;
import org.japano.PageNode;
import org.japano.action.ActionConfig;
import org.japanosample.action.ShowUser;
import org.japano.metadata.annotation.*;
@JapanoTag ( library="/sample" )
public class ListUser extends PageNode
{
private DateFormat dateFormat;
private DateFormat dateFormat()
{
if (dateFormat == null)
dateFormat=SimpleDateFormat.getDateTimeInstance();
return dateFormat;
}
@JapanoOutput
public String getLastReset()
{
return dateFormat().format(new Date( User.getLastReset()));
}
@JapanoOutput
public String getNextReset()
{
return dateFormat().format(new Date( User.getLastReset() + User.RESET_INTERVAL));
}
@JapanoTag
public static class Iterator extends PageNode
{
private User user;
public void generate(Buffer out)
{
ActionConfig actionConfig=context.getJapanoConfig().getActionConfig();
String actionName=actionConfig.getQualifiedName(ShowUser.class);
List users=new ArrayList();
for (java.util.Iterator i=SampleSession.sessions().iterator(); i.hasNext(); )
{
SampleSession s=(SampleSession)i.next();
user=s.getUser();
if ( user != null)
{
if (!users.contains(user))
generateChildren(out);
users.add(user);
}
}
}
@JapanoOutput ( properties={ "id", "alias" } )
public User getUser()
{
return user;
}
}
}