001 /* 002 * $RCSfile: StartLimitStrategy.java,v $ 003 * 004 * Created on March 13, 2003, 10:34 AM 005 * 006 * This file is part of the STAR Scheduler. 007 * Copyright (c) 2002-2006 STAR Collaboration - Brookhaven National Laboratory 008 * 009 * STAR Scheduler is free software; you can redistribute it and/or modify 010 * it under the terms of the GNU General Public License as published by 011 * the Free Software Foundation; either version 2 of the License, or 012 * (at your option) any later version. 013 * 014 * STAR Scheduler is distributed in the hope that it will be useful, 015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 017 * GNU General Public License for more details. 018 * 019 * You should have received a copy of the GNU General Public License 020 * along with STAR Scheduler; if not, write to the Free Software 021 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 022 */ 023 024 package gov.bnl.star.offline.scheduler.catalog; 025 026 import java.util.Iterator; 027 import org.apache.log4j.Logger; 028 029 /**@deprecated please see gov.bnl.star.offline.scheduler.dataset.* for replacements. 030 * @author Gabriele Carcassi & Pavel Jakl 031 * @version $Revision: 1.9 $ $Date: 2006/11/21 00:41:31 $ 032 */ 033 public class StartLimitStrategy implements QueryStrategy { 034 static private Logger log = Logger.getLogger(StartLimitStrategy.class.getName()); 035 036 public QueryResult resolveQuery(FileCatalog catalog, gov.bnl.star.offline.scheduler.CatalogQuery query) { 037 QueryResult result = new QueryResult(); 038 int start = 0; 039 if (query.getStart() != null) start = query.getStart().intValue(); 040 int limit = 100; 041 if (query.getLimit() != null) limit = query.getLimit().intValue(); 042 Iterator iter = catalog.executeQuery(query.getQuery(), start, limit); 043 while (iter.hasNext()) { 044 PhysicalFile file = (PhysicalFile) iter.next(); 045 result.add(file.getLogicalID(), file); 046 log.debug("Adding file : " + file); 047 } 048 return result; 049 } 050 051 }