00001 /** 00002 * C-JDBC: Clustered JDBC. 00003 * Copyright (C) 2002-2004 French National Institute For Research In Computer 00004 * Science And Control (INRIA). 00005 * Contact: c-jdbc@objectweb.org 00006 * 00007 * This library is free software; you can redistribute it and/or modify it 00008 * under the terms of the GNU Lesser General Public License as published by the 00009 * Free Software Foundation; either version 2.1 of the License, or any later 00010 * version. 00011 * 00012 * This library is distributed in the hope that it will be useful, but WITHOUT 00013 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00014 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License 00015 * for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public License 00018 * along with this library; if not, write to the Free Software Foundation, 00019 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. 00020 * 00021 * Initial developer(s): Nicolas Modrzyk. 00022 * Contributor(s): 00023 */ 00024 package org.objectweb.cjdbc.common.monitor.scheduler; 00025 00026 import org.objectweb.cjdbc.common.i18n.Translate; 00027 import org.objectweb.cjdbc.controller.scheduler.AbstractScheduler; 00028 00029 /** 00030 * Return total requests made on this <code>AbstractScheduler</code> 00031 * 00032 * @author <a href="mailto:Nicolas.Modrzyk@inrialpes.fr">Nicolas Modrzyk</a> 00033 */ 00034 public class NumberRequestsCollector extends AbstractSchedulerDataCollector 00035 { 00036 /** 00037 * create new collector 00038 * 00039 * @param virtualDatabaseName database accessed to get data 00040 */ 00041 public NumberRequestsCollector(String virtualDatabaseName) 00042 { 00043 super(virtualDatabaseName); 00044 } 00045 00046 /** 00047 * @see org.objectweb.cjdbc.common.monitor.AbstractDataCollector#collectValue() 00048 */ 00049 public long getValue(Object scheduler) 00050 { 00051 AbstractScheduler sch = ((AbstractScheduler) scheduler); 00052 return sch.getNumberRead() + sch.getNumberWrite(); 00053 } 00054 00055 /** 00056 * @see org.objectweb.cjdbc.common.monitor.AbstractDataCollector#getDescription() 00057 */ 00058 public String getDescription() 00059 { 00060 return Translate.get("monitoring.scheduler.number.requests"); 00061 } 00062 }