package org.cloudgraph.web.model.campaign; // java imports import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.context.FacesContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.cloudgraph.web.model.common.PaginatedQueueBean; import org.cloudgraph.web.model.search.SearchBean; import org.cloudgraph.web.query.CampaignQuery; import org.cloudgraph.web.sdo.adapter.CampaignAdapter; import org.cloudgraph.web.sdo.adapter.QueueAdapter; import org.cloudgraph.web.sdo.campaign.Campaign; import org.cloudgraph.web.util.BeanFinder; import org.plasma.query.Query; import org.plasma.sdo.access.client.SDODataAccessClient; import org.primefaces.model.SortOrder; import commonj.sdo.DataGraph; /** */ @ManagedBean(name="CampaignQueueBean") @SessionScoped public class CampaignQueueBean extends PaginatedQueueBean { private static Log log =LogFactory.getLog(CampaignQueueBean.class); private static final long serialVersionUID = 1L; private int scrollerPage = 1; private Integer currentPk = null; private Map<Integer, CampaignAdapter> wrappedData = new HashMap<Integer, CampaignAdapter>(); private int maxRows = 15; private List<CampaignAdapter> data = new ArrayList<CampaignAdapter>(); private BeanFinder beanFinder = new BeanFinder(); public CampaignQueueBean() { } public void clear() { data.clear(); } public String refresh() { this.clear(); return null; // AJAX action method } public void refresh(javax.faces.event.ActionEvent event) { this.clear(); } public int getMaxRows() { return maxRows; } public Query getQuery() { SearchBean searchBean = this.beanFinder.findSearchBean(); Query query = CampaignQuery.createQuery(); return query; } public List<CampaignAdapter> getData() { this.data = new ArrayList<CampaignAdapter>(); try { Query qry = getQuery(); SDODataAccessClient service = new SDODataAccessClient(); DataGraph[] results = service.find(qry); for (int i = 0; i < results.length; i++) { CampaignAdapter adapter = new CampaignAdapter( (Campaign)results[i].getRootObject()); data.add(adapter); wrappedData.put(new Integer(i), adapter); // assumes flat results set } } catch (Throwable t) { log.error(t.getMessage(), t); } return this.data; } @Override public List<QueueAdapter> findResults(int startRow, int endRow, String sortField, SortOrder sortOrder, Map<String, String> filters) { // TODO Auto-generated method stub return null; } @Override public int countResults() { // TODO Auto-generated method stub return 0; } /* try { Query qry = getQuery(); qry.setStartRange(firstRow); qry.setEndRange(firstRow + numberOfRows); SDODataAccessClient service = new SDODataAccessClient(); DataGraph[] results = service.find(qry); for (int i = 0; i < results.length; i++) { CampaignAdapter adapter = new CampaignAdapter( (Campaign)results[i].getRootObject()); data.add(adapter); wrappedData.put(new Integer(i+firstRow), adapter); // assumes flat results set } } catch (Throwable t) { log.error(t.getMessage(), t); } } for (int i = firstRow; i < lastRow; i++) visitor.process(context, new Integer(i), argument); } */ }