com.adventnet.adaptors.snmp
Class SNMPEnableTable

java.lang.Object
  extended by com.adventnet.adaptors.snmp.SNMPEnableTable
All Implemented Interfaces:
com.adventnet.utils.jmx.JmxTableModelListener, javax.management.MBeanRegistration

public class SNMPEnableTable
extends java.lang.Object
implements com.adventnet.utils.jmx.JmxTableModelListener, javax.management.MBeanRegistration

This class acts as the Managed Resource of the RequiredModelMBean. For each TableMBean ,that is deployed in the cluster server, an instance of this class is created and is registered in the admin MBean server. This MBean gives a consolidated view of the data present in the cluster MBeans.

Since:
1.0
See Also:
JmxTableModelListener

Field Summary
static java.lang.String INTERNAL_INDEX
           
protected  javax.management.MBeanServer server
           
 
Constructor Summary
SNMPEnableTable()
          The constructor for this class.
 
Method Summary
 void addRow(java.lang.Object[] indexObjects, javax.jmx.openmbean.CompositeData cd)
          Implementation of JmxTableModelListener interface.
 void deleteRow(java.lang.Object[] indexObjects)
          Implementation of JmxTableModelListener interface.
 java.util.List getEntries(int startIndex, int endIndex)
          Implementation of JmxTableModelListener interface.
 javax.jmx.openmbean.CompositeData getEntry(java.lang.Object[] indexObjects)
          Implementation of JmxTableModelListener interface.
 javax.jmx.openmbean.CompositeData getFirstEntry()
          Implementation of JmxTableModelListener interface.
 java.lang.String[] getIndexNames()
          The method to return index column Names of this table MBean.
 javax.jmx.openmbean.CompositeData getNextEntry(java.lang.Object[] indexObjects)
          Implementation of JmxTableModelListener interface.
 java.util.List getRows(int i, int j)
           
 javax.jmx.openmbean.TabularData getSNMPEnableTable()
           
 javax.jmx.openmbean.TabularData getTabularData()
           
protected  java.lang.Object getValue(javax.management.ObjectName oname, java.lang.String className, java.lang.String columnName)
           
protected  void initialise(javax.management.modelmbean.ModelMBeanInfo mbai)
           
 void modifyRow(java.lang.Object[] indexObjects, javax.jmx.openmbean.CompositeData cd)
          Implementation of JmxTableModelListener interface.
 void postDeregister()
           
 void postRegister(java.lang.Boolean b)
           
 void preDeregister()
           
 javax.management.ObjectName preRegister(javax.management.MBeanServer server, javax.management.ObjectName name)
           
 void setClassName(javax.management.MBeanServer server, java.lang.String wsClassName, javax.management.modelmbean.ModelMBeanInfo minfo)
           
 void setClassNames(javax.management.MBeanServer server, java.lang.String[] wsClassNames, javax.management.modelmbean.ModelMBeanInfo minfo)
           
 void setClassNames(java.lang.String[] wsClassNames)
           
 void setObjectName(javax.management.MBeanServer server, java.lang.String wsObjectName, javax.management.modelmbean.ModelMBeanInfo minfo)
           
 void setRefreshInterval(int interval)
          Method to set the refresh interval.
 void setSNMPEnableTable(javax.jmx.openmbean.TabularData data)
           
 void setTabularData(javax.jmx.openmbean.TabularData data)
           
 int totalRows()
          Implementation of JmxTableModelListener interface.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

server

protected javax.management.MBeanServer server

INTERNAL_INDEX

public static final java.lang.String INTERNAL_INDEX
See Also:
Constant Field Values
Constructor Detail

SNMPEnableTable

public SNMPEnableTable()
The constructor for this class. Creates a new MasterTableMBean instance.

Parameters:
clusterName - the name of the cluster where the table mbeans reside.
Method Detail

preRegister

public javax.management.ObjectName preRegister(javax.management.MBeanServer server,
                                               javax.management.ObjectName name)
Specified by:
preRegister in interface javax.management.MBeanRegistration

postRegister

public void postRegister(java.lang.Boolean b)
Specified by:
postRegister in interface javax.management.MBeanRegistration

preDeregister

public void preDeregister()
                   throws java.lang.Exception
Specified by:
preDeregister in interface javax.management.MBeanRegistration
Throws:
java.lang.Exception

postDeregister

public void postDeregister()
Specified by:
postDeregister in interface javax.management.MBeanRegistration

setClassName

public void setClassName(javax.management.MBeanServer server,
                         java.lang.String wsClassName,
                         javax.management.modelmbean.ModelMBeanInfo minfo)

setClassNames

public void setClassNames(javax.management.MBeanServer server,
                          java.lang.String[] wsClassNames,
                          javax.management.modelmbean.ModelMBeanInfo minfo)

setClassNames

public void setClassNames(java.lang.String[] wsClassNames)

setObjectName

public void setObjectName(javax.management.MBeanServer server,
                          java.lang.String wsObjectName,
                          javax.management.modelmbean.ModelMBeanInfo minfo)

initialise

protected void initialise(javax.management.modelmbean.ModelMBeanInfo mbai)

getTabularData

public javax.jmx.openmbean.TabularData getTabularData()

setTabularData

public void setTabularData(javax.jmx.openmbean.TabularData data)

getSNMPEnableTable

public javax.jmx.openmbean.TabularData getSNMPEnableTable()

setSNMPEnableTable

public void setSNMPEnableTable(javax.jmx.openmbean.TabularData data)

setRefreshInterval

public void setRefreshInterval(int interval)
Method to set the refresh interval. Based on this refresh interval the managed servers would be queried to get the data and the cache would be updated. The refresh interval would be checked for each query to this MBean.

Parameters:
interval - an int value

getIndexNames

public java.lang.String[] getIndexNames()
The method to return index column Names of this table MBean.


getEntry

public javax.jmx.openmbean.CompositeData getEntry(java.lang.Object[] indexObjects)
Implementation of JmxTableModelListener interface. To get the entry for the given row (identified by the instance)

Specified by:
getEntry in interface com.adventnet.utils.jmx.JmxTableModelListener
Parameters:
indexObjects - the object array with index objects which identifies the row
Returns:
instance of javax.jmx.openmbean.CompositeData with the entry information. Otherwise null.

getNextEntry

public javax.jmx.openmbean.CompositeData getNextEntry(java.lang.Object[] indexObjects)
Implementation of JmxTableModelListener interface. To get the next entry for the given row (identified by the instance)

Specified by:
getNextEntry in interface com.adventnet.utils.jmx.JmxTableModelListener
Parameters:
indexObjects - the object array with index objects which identifies the row
Returns:
instance of javax.jmx.openmbean.CompositeData with the entry information. Otherwise null.

getFirstEntry

public javax.jmx.openmbean.CompositeData getFirstEntry()
Implementation of JmxTableModelListener interface. To get the first entry in the table

Specified by:
getFirstEntry in interface com.adventnet.utils.jmx.JmxTableModelListener
Returns:
instance of javax.jmx.openmbean.CompositeData with the entry information. Otherwise null.

addRow

public void addRow(java.lang.Object[] indexObjects,
                   javax.jmx.openmbean.CompositeData cd)
            throws java.lang.Exception
Implementation of JmxTableModelListener interface. When the manager is trying to add a row in the table, this method will be called.

Specified by:
addRow in interface com.adventnet.utils.jmx.JmxTableModelListener
Parameters:
indexObjects - the object array with index objects which identifies the row to be added.
cd - the entry value as javax.jmx.openmbean.CompositeData instance.
Throws:
java.lang.Exception

deleteRow

public void deleteRow(java.lang.Object[] indexObjects)
               throws java.lang.Exception
Implementation of JmxTableModelListener interface. When the manager is trying to delete a row in the table, this method will be called.

Specified by:
deleteRow in interface com.adventnet.utils.jmx.JmxTableModelListener
Parameters:
indexObjects - the object array with index objects which identifies the row to be deleted.
indexObjects - the entry value as javax.jmx.openmbean.CompositeData instance.
Throws:
java.lang.Exception

modifyRow

public void modifyRow(java.lang.Object[] indexObjects,
                      javax.jmx.openmbean.CompositeData cd)
               throws java.lang.Exception
Implementation of JmxTableModelListener interface. When the manager is trying to modify a row in the table, this method will be called.

Specified by:
modifyRow in interface com.adventnet.utils.jmx.JmxTableModelListener
Parameters:
indexObjects - the object array with index objects which identifies the row to be modified.
cd - the entry value as javax.jmx.openmbean.CompositeData instance.
Throws:
java.lang.Exception

totalRows

public int totalRows()
Implementation of JmxTableModelListener interface. This method gives the total number of rows in the table. This method will be used by the HTML and TL1 adaptors. Users who wish to have only Snmp interface need not implement this method.

Specified by:
totalRows in interface com.adventnet.utils.jmx.JmxTableModelListener
Returns:
int specifying the number of rows in the Table.

getEntries

public java.util.List getEntries(int startIndex,
                                 int endIndex)
Implementation of JmxTableModelListener interface. This method gives an List of the CompositeData instances in this table starting from the startIndex through till the EndIndex. This method will be used by the HTML and TL1 adaptors. Users who wish to have only Snmp interface need not implement this method. For example: If the 1st 5 rows have to be retrieved, then the start index will be 1 and the end index will be 5.

Specified by:
getEntries in interface com.adventnet.utils.jmx.JmxTableModelListener
Returns:
List of the instances of the CompositeData.

getValue

protected java.lang.Object getValue(javax.management.ObjectName oname,
                                    java.lang.String className,
                                    java.lang.String columnName)

getRows

public java.util.List getRows(int i,
                              int j)