KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > continuent > sequoia > common > jmx > monitoring > scheduler > AbstractSchedulerDataCollector


1 /**
2  * Sequoia: Database clustering technology.
3  * Copyright (C) 2002-2004 French National Institute For Research In Computer
4  * Science And Control (INRIA).
5  * Contact: sequoia@continuent.org
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  * Initial developer(s): Nicolas Modrzyk.
20  * Contributor(s):
21  */

22 package org.continuent.sequoia.common.jmx.monitoring.scheduler;
23
24 import org.continuent.sequoia.common.jmx.monitoring.AbstractDataCollector;
25 import org.continuent.sequoia.controller.core.Controller;
26 import org.continuent.sequoia.controller.scheduler.AbstractScheduler;
27 import org.continuent.sequoia.controller.virtualdatabase.VirtualDatabase;
28
29 /**
30  * Abstract class to factor code for scheduler collectors
31  * @author <a HREF="mailto:Nicolas.Modrzyk@inrialpes.fr">Nicolas Modrzyk</a>
32  */

33 public abstract class AbstractSchedulerDataCollector
34     extends
35       AbstractDataCollector
36 {
37   private String JavaDoc virtualDatabaseName;
38
39   /**
40    * create a new collector
41    *
42    * @param virtualDatabaseName database accessed to get data
43    */

44   public AbstractSchedulerDataCollector(String JavaDoc virtualDatabaseName)
45   {
46     super();
47     this.virtualDatabaseName = virtualDatabaseName;
48   }
49
50   /**
51    * @see org.continuent.sequoia.common.jmx.monitoring.AbstractDataCollector#collectValue()
52    */

53   public long collectValue()
54   {
55     VirtualDatabase vdb = ((Controller)controller).getVirtualDatabase(
56         virtualDatabaseName);
57     AbstractScheduler scheduler = vdb.getRequestManager().getScheduler();
58     return this.getValue(scheduler);
59   }
60
61   /**
62    * Get information on the scheduler retrieved by <code>collectValue()</code>
63    *
64    * @param scheduler to get value from
65    * @return collected value
66    */

67   public abstract long getValue(Object JavaDoc scheduler);
68   
69   
70
71   /**
72    * @see org.continuent.sequoia.common.jmx.monitoring.AbstractDataCollector#getTargetName()
73    */

74   public String JavaDoc getTargetName()
75   {
76     return virtualDatabaseName;
77   }
78 }
79
Popular Tags