package edu.tamu.csdl.dcm.model; import java.util.ArrayList; import java.util.List; import org.apache.wicket.model.IModel; import com.inmethod.grid.IDataSource; import edu.tamu.csdl.dcm.data.Collection; import edu.tamu.csdl.dcm.db.AbstractDatabaseAdaptor; public class CollectionDataSource implements IDataSource { private static final long serialVersionUID = -4724288216779687215L; public CollectionDataSource(int userID) { this.collections = new ArrayList(); AbstractDatabaseAdaptor db = AbstractDatabaseAdaptor.getAdaptor("MySQL", "jdbc/DCM"); List collectionIDs = db.getUserCollections(userID); for(int collectionID : collectionIDs) { this.collections.add(db.getCollection(userID, collectionID)); } } private List collections; public IModel model(Object arg0) { return new CollectionDataModel((Collection) arg0); } public void query(IQuery query, IQueryResult result) { int start = query.getFrom(); int count = query.getCount(); List selected = new ArrayList(); for(int i=start; i < Math.min(this.collections.size(), start+count); i++) selected.add(this.collections.get(i)); result.setItems(selected.iterator()); } public void detach() { // TODO Auto-generated method stub } }