/*
* $Id$
* $URL$
*/
package org.subethamail.web.action;
import java.util.List;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.java.Log;
import org.subethamail.core.lists.i.SubscriberData;
import org.subethamail.web.Backend;
import org.subethamail.web.action.auth.AuthAction;
import org.subethamail.web.model.PaginateModel;
/**
* Gets a list of subscribers to the list
*
* @author Jeff Schnitzer
* @author Jon Stevens
*/
@Log
public class GetSubscribers extends AuthAction
{
/** */
public static class Model extends PaginateModel
{
/** */
@Getter @Setter Long listId;
@Getter @Setter String query = "";
@Getter @Setter List<SubscriberData> subscribers;
}
public void initialize()
{
this.getCtx().setModel(new Model());
}
/** */
public void execute() throws Exception
{
Model model = (Model)this.getCtx().getModel();
if (model.query.trim().length() == 0)
{
model.subscribers = Backend.instance().getListMgr().getSubscribers(model.listId, model.getSkip(), model.getCount());
model.setTotalCount(Backend.instance().getListMgr().countSubscribers(model.listId));
}
else
{
model.subscribers = Backend.instance().getListMgr().searchSubscribers(model.listId, model.query, model.getSkip(), model.getCount());
model.setTotalCount(Backend.instance().getListMgr().countSubscribersQuery(model.listId, model.query));
// See the comment in GetLists
}
}
}