|
OpenNMS API 1.1.4 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.opennms.netmgt.filter.analysis.AnalysisAdapter
org.opennms.netmgt.filter.analysis.DepthFirstAdapter
org.opennms.netmgt.filter.SQLTranslation
This class is responsible for mapping the different parts of the filter expressions into the SQL equivalent. As pieces of the expression are parsed the from and where clauses will be built. This information will be passed on to a SQLConstruct object by the parser when the expression has been fully parsed.
| Field Summary | |
private java.lang.StringBuffer |
m_from
The from part of the clause |
private java.lang.StringBuffer |
m_ipaddr
The last ip address, this rebuild on a call to inAipaddr |
private Start |
m_node
The starting node of the parse tree |
private DatabaseSchemaConfigFactory |
m_schemaFactory
|
private java.util.List |
m_selectList
The list of columns to be returned by the SQL. |
private java.lang.String |
m_selectModifier
A modifier on the selectList (like 'DISTINCT') |
private java.util.List |
m_tables
The list of tables required to create the approriate SQL statement |
private java.lang.StringBuffer |
m_where
The where part of the clause |
static java.lang.String |
VIRTUAL_COLUMN_PREFIX
Constant to identify a virtual column for determining if an interface supports a service |
| Fields inherited from class org.opennms.netmgt.filter.analysis.AnalysisAdapter |
|
| Constructor Summary | |
SQLTranslation(Start node)
Default constructor, initalizes the data structures |
|
| Method Summary | |
private java.lang.String |
addColumnToStatement(java.lang.String colName)
Adds a column to the statement. |
private java.lang.String |
addColumnToStatement(Table t,
java.lang.String colName)
Adds a column to the statement. |
private java.lang.String |
buildSelectClause()
|
void |
caseAAndRule(AAndRule node)
|
void |
caseACompareExprPart(ACompareExprPart node)
|
void |
caseAGtrThanEqualExprPart(AGtrThanEqualExprPart node)
|
void |
caseAGtrThanExprPart(AGtrThanExprPart node)
|
void |
caseAIntegerCompareRight(AIntegerCompareRight node)
|
void |
caseAIntegerOctet(AIntegerOctet node)
|
void |
caseAIpaddrIpIdent(AIpaddrIpIdent node)
|
void |
caseAIplikeExprPart(AIplikeExprPart node)
|
void |
caseALessThanEqualExprPart(ALessThanEqualExprPart node)
|
void |
caseALessThanExprPart(ALessThanExprPart node)
|
void |
caseALikeExprPart(ALikeExprPart node)
|
void |
caseANotEqualExprPart(ANotEqualExprPart node)
|
void |
caseAOctetListOctet(AOctetListOctet node)
|
void |
caseAOctetRangeListOctet(AOctetRangeListOctet node)
|
void |
caseAOctetRangeOctet(AOctetRangeOctet node)
|
void |
caseAOrRule(AOrRule node)
|
void |
caseAStarOctet(AStarOctet node)
|
void |
caseAStringCompareRight(AStringCompareRight node)
|
void |
checkIPNum(java.lang.String octet)
This method checks to ensure that a number appearing in an IP address is within the 0-255 range. |
private java.lang.String |
constructJoin()
This method is used to build the join condtions to be added to the where clause of a complete select statement. |
private java.lang.String |
convertString(java.lang.String string)
This method removes any double quote characters from the start and end of a string and replaces them with single quotes. |
java.lang.String |
getStatement()
This method returns the complete sql statement for the filter that was parsed. |
void |
inAExprParensExpr(AExprParensExpr node)
|
void |
inAIdentExprPart(AIdentExprPart node)
|
void |
inANotExprPart(ANotExprPart node)
|
void |
outAExprParensExpr(AExprParensExpr node)
|
void |
outStart(Start node)
|
void |
setConstraintTranslation(long nodeId,
java.lang.String ipaddr,
java.lang.String service)
This method should be called if you want to put constraints on the node, interface or service that is returned in the rule. |
void |
setDefaultTranslation()
Initializes the pieces of the SQL statement to perform a default query to select distinct ip addresses based the query that is built from the rest of the rule. |
void |
setInterfaceWithServiceTranslation()
|
void |
setIPServiceMappingTranslation()
|
private java.lang.String |
validateIdent(java.lang.String ident)
Validate the identifier by ensuring it is references in the schema. |
| Methods inherited from class org.opennms.netmgt.filter.analysis.AnalysisAdapter |
caseEOF, caseTAnd, caseTBlank, caseTCompare, caseTDot, caseTGtrThan, caseTGtrThanEqual, caseTIdent, caseTInteger, caseTIplike, caseTLessThan, caseTLessThanEqual, caseTLike, caseTLparen, caseTNot, caseTNotEqual, caseTOctetList, caseTOctetRange, caseTOctetRangeList, caseTOr, caseTQuotedString, caseTRparen, caseTSemi, caseTStar, defaultCase, getIn, getOut, setIn, setOut |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
private DatabaseSchemaConfigFactory m_schemaFactory
public static final java.lang.String VIRTUAL_COLUMN_PREFIX
private java.util.List m_tables
private java.util.List m_selectList
private java.lang.String m_selectModifier
private java.lang.StringBuffer m_from
private java.lang.StringBuffer m_where
private java.lang.StringBuffer m_ipaddr
private Start m_node
| Constructor Detail |
public SQLTranslation(Start node)
| Method Detail |
private java.lang.String constructJoin()
private java.lang.String validateIdent(java.lang.String ident)
private java.lang.String addColumnToStatement(java.lang.String colName)
colName - the name of the column to add
private java.lang.String addColumnToStatement(Table t,
java.lang.String colName)
t - A Table that must contain the column colNamecolName - the name of the column to add
private java.lang.String convertString(java.lang.String string)
string - the string to replace quote characters inpublic void checkIPNum(java.lang.String octet)
octet - an integer from an ip octet
java.lang.IndexOutOfBoundsExceptionprivate java.lang.String buildSelectClause()
public void setDefaultTranslation()
public void setIPServiceMappingTranslation()
public void setConstraintTranslation(long nodeId,
java.lang.String ipaddr,
java.lang.String service)
nodeId - a node id to constrain againstipaddr - an ipaddress to constrain againstservice - a service name to constrain againstpublic void setInterfaceWithServiceTranslation()
public void outStart(Start node)
outStart in class DepthFirstAdapterpublic void caseAAndRule(AAndRule node)
caseAAndRule in interface AnalysiscaseAAndRule in class DepthFirstAdapterpublic void caseAOrRule(AOrRule node)
caseAOrRule in interface AnalysiscaseAOrRule in class DepthFirstAdapterpublic void inAExprParensExpr(AExprParensExpr node)
inAExprParensExpr in class DepthFirstAdapterpublic void outAExprParensExpr(AExprParensExpr node)
outAExprParensExpr in class DepthFirstAdapterpublic void inAIdentExprPart(AIdentExprPart node)
inAIdentExprPart in class DepthFirstAdapterpublic void caseAGtrThanExprPart(AGtrThanExprPart node)
caseAGtrThanExprPart in interface AnalysiscaseAGtrThanExprPart in class DepthFirstAdapterpublic void caseALessThanExprPart(ALessThanExprPart node)
caseALessThanExprPart in interface AnalysiscaseALessThanExprPart in class DepthFirstAdapterpublic void caseAGtrThanEqualExprPart(AGtrThanEqualExprPart node)
caseAGtrThanEqualExprPart in interface AnalysiscaseAGtrThanEqualExprPart in class DepthFirstAdapterpublic void caseALessThanEqualExprPart(ALessThanEqualExprPart node)
caseALessThanEqualExprPart in interface AnalysiscaseALessThanEqualExprPart in class DepthFirstAdapterpublic void caseACompareExprPart(ACompareExprPart node)
caseACompareExprPart in interface AnalysiscaseACompareExprPart in class DepthFirstAdapterpublic void caseANotEqualExprPart(ANotEqualExprPart node)
caseANotEqualExprPart in interface AnalysiscaseANotEqualExprPart in class DepthFirstAdapterpublic void inANotExprPart(ANotExprPart node)
inANotExprPart in class DepthFirstAdapterpublic void caseAIntegerCompareRight(AIntegerCompareRight node)
caseAIntegerCompareRight in interface AnalysiscaseAIntegerCompareRight in class DepthFirstAdapterpublic void caseAStringCompareRight(AStringCompareRight node)
caseAStringCompareRight in interface AnalysiscaseAStringCompareRight in class DepthFirstAdapterpublic void caseALikeExprPart(ALikeExprPart node)
caseALikeExprPart in interface AnalysiscaseALikeExprPart in class DepthFirstAdapterpublic void caseAIplikeExprPart(AIplikeExprPart node)
caseAIplikeExprPart in interface AnalysiscaseAIplikeExprPart in class DepthFirstAdapterpublic void caseAIpaddrIpIdent(AIpaddrIpIdent node)
caseAIpaddrIpIdent in interface AnalysiscaseAIpaddrIpIdent in class DepthFirstAdapterpublic void caseAStarOctet(AStarOctet node)
caseAStarOctet in interface AnalysiscaseAStarOctet in class DepthFirstAdapterpublic void caseAOctetListOctet(AOctetListOctet node)
caseAOctetListOctet in interface AnalysiscaseAOctetListOctet in class DepthFirstAdapterpublic void caseAOctetRangeOctet(AOctetRangeOctet node)
caseAOctetRangeOctet in interface AnalysiscaseAOctetRangeOctet in class DepthFirstAdapterpublic void caseAOctetRangeListOctet(AOctetRangeListOctet node)
caseAOctetRangeListOctet in interface AnalysiscaseAOctetRangeListOctet in class DepthFirstAdapterpublic void caseAIntegerOctet(AIntegerOctet node)
caseAIntegerOctet in interface AnalysiscaseAIntegerOctet in class DepthFirstAdapterpublic java.lang.String getStatement()
|
OpenNMS API 1.1.4 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||