Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

org.objectweb.cjdbc.controller.monitoring.SQLMonitoringRule Class Reference

List of all members.

Public Member Functions

 SQLMonitoringRule (String queryPattern, boolean isCaseSentive, boolean applyToSkeleton, boolean monitoring)
boolean isCaseSentive ()
boolean isMonitoring ()
String getQueryPattern ()
void setCaseSentive (boolean b)
void setMonitoring (boolean b)
void setQueryPattern (String queryPattern)
boolean isApplyToSkeleton ()
void setApplyToSkeleton (boolean b)
String matches (AbstractRequest request)
String getXml ()

Detailed Description

This class implements a SQL monitoring rule.

Author:
Emmanuel Cecchet
Version:
1.0

Definition at line 37 of file SQLMonitoringRule.java.


Constructor & Destructor Documentation

org.objectweb.cjdbc.controller.monitoring.SQLMonitoringRule.SQLMonitoringRule String  queryPattern,
boolean  isCaseSentive,
boolean  applyToSkeleton,
boolean  monitoring
 

Creates a new SQL Monitoring rule

Parameters:
queryPattern the query pattern to match
isCaseSentive true if matching is case sensitive
applyToSkeleton true if matching applies to the query skeleton
monitoring true if the request must be monitored

Definition at line 52 of file SQLMonitoringRule.java.

00057   {
00058     try
00059     {
00060       this.queryPattern = new RE(queryPattern);
00061     }
00062     catch (RESyntaxException e)
00063     {
00064       throw new RuntimeException(
00065         "Invalid regexp in SQL Monitoring rule (" + e + ")");
00066     }
00067     this.isCaseSentive = isCaseSentive;
00068     if (isCaseSentive)
00069       this.queryPattern.setMatchFlags(RE.MATCH_NORMAL);
00070     else
00071       this.queryPattern.setMatchFlags(RE.MATCH_CASEINDEPENDENT);
00072     this.applyToSkeleton = applyToSkeleton;
00073     this.monitoring = monitoring;
00074   }


Member Function Documentation

String org.objectweb.cjdbc.controller.monitoring.SQLMonitoringRule.getQueryPattern  ) 
 

Get query pattern

Returns:
the query pattern

Definition at line 101 of file SQLMonitoringRule.java.

00102   {
00103     return queryPattern.toString();
00104   }

String org.objectweb.cjdbc.controller.monitoring.SQLMonitoringRule.getXml  ) 
 

See also:
org.objectweb.cjdbc.common.xml.XmlComponent.getXml()

Definition at line 198 of file SQLMonitoringRule.java.

Referenced by org.objectweb.cjdbc.controller.monitoring.SQLMonitoring.getXmlImpl().

00199   {
00200     String info =
00201       "<"
00202         + DatabasesXmlTags.ELT_SQLMonitoringRule
00203         + " "
00204         + DatabasesXmlTags.ATT_queryPattern
00205         + "=\""
00206         + getQueryPattern()
00207         + "\" "
00208         + DatabasesXmlTags.ATT_caseSensitive
00209         + "=\""
00210         + isCaseSentive()
00211         + "\" "
00212         + DatabasesXmlTags.ATT_applyToSkeleton
00213         + "=\""
00214         + isApplyToSkeleton()
00215         + "\" "
00216         + DatabasesXmlTags.ATT_monitoring
00217         + "=\"";
00218     if (isMonitoring())
00219       info += "on";
00220     else
00221       info += "off";
00222     info += "\"/>";
00223     return info;
00224   }

boolean org.objectweb.cjdbc.controller.monitoring.SQLMonitoringRule.isApplyToSkeleton  ) 
 

If the pattern apply to the skeleton ot the instanciated query.

Returns:
true if the pattern apply to the query skeleton

Definition at line 149 of file SQLMonitoringRule.java.

00150   {
00151     return applyToSkeleton;
00152   }

boolean org.objectweb.cjdbc.controller.monitoring.SQLMonitoringRule.isCaseSentive  ) 
 

If matching is case sensitive or not

Returns:
true if the matching is case sensitive

Definition at line 81 of file SQLMonitoringRule.java.

00082   {
00083     return isCaseSentive;
00084   }

boolean org.objectweb.cjdbc.controller.monitoring.SQLMonitoringRule.isMonitoring  ) 
 

If monitoring is activated or not.

Returns:
true if monitoring is activated for this pattern

Definition at line 91 of file SQLMonitoringRule.java.

00092   {
00093     return monitoring;
00094   }

String org.objectweb.cjdbc.controller.monitoring.SQLMonitoringRule.matches AbstractRequest  request  ) 
 

Returns true if the given query matches the pattern of this rule. This function applies the applytoSkeleton rule.

Parameters:
request the query
Returns:
the SQL that matches the rule or null if it does not match

Definition at line 171 of file SQLMonitoringRule.java.

References org.objectweb.cjdbc.common.sql.AbstractRequest.getSQL(), and org.objectweb.cjdbc.common.sql.AbstractRequest.getSqlSkeleton().

00172   {
00173     if (applyToSkeleton)
00174     {
00175       String skel = request.getSqlSkeleton();
00176       if (skel == null)
00177         return null;
00178       else
00179       {
00180         if (queryPattern.match(skel))
00181           return skel;
00182         else
00183           return null;
00184       }
00185     }
00186     else
00187     {
00188       if (queryPattern.match(request.getSQL()))
00189         return request.getSQL();
00190       else
00191         return null;
00192     }
00193   }

void org.objectweb.cjdbc.controller.monitoring.SQLMonitoringRule.setApplyToSkeleton boolean  b  ) 
 

Set to true if the pattern apply to the query skeleton

Parameters:
b true if the pattern apply to the query skeleton

Definition at line 159 of file SQLMonitoringRule.java.

00160   {
00161     applyToSkeleton = b;
00162   }

void org.objectweb.cjdbc.controller.monitoring.SQLMonitoringRule.setCaseSentive boolean  b  ) 
 

Set the matching case sensitiveness

Parameters:
b true if matching is case sensitive

Definition at line 111 of file SQLMonitoringRule.java.

00112   {
00113     isCaseSentive = b;
00114   }

void org.objectweb.cjdbc.controller.monitoring.SQLMonitoringRule.setMonitoring boolean  b  ) 
 

Set the monitoring on or off

Parameters:
b true if monitoring must be activated for this rule

Definition at line 121 of file SQLMonitoringRule.java.

00122   {
00123     monitoring = b;
00124   }

void org.objectweb.cjdbc.controller.monitoring.SQLMonitoringRule.setQueryPattern String  queryPattern  ) 
 

Sets the query pattern

Parameters:
queryPattern the queryPattern

Definition at line 131 of file SQLMonitoringRule.java.

00132   {
00133     try
00134     {
00135       this.queryPattern = new RE(queryPattern);
00136     }
00137     catch (RESyntaxException e)
00138     {
00139       throw new RuntimeException(
00140         "Invalid regexp in SQL Monitoring rule (" + e + ")");
00141     }
00142   }


The documentation for this class was generated from the following file:
Generated on Mon Apr 11 22:04:21 2005 for C-JDBC by  doxygen 1.3.9.1