/** * This method parses a rule and returns the SQL select statement equivalent * of the rule. * * @return the SQL select statement * @param rule a {@link java.lang.String} object. * @throws org.opennms.netmgt.filter.api.FilterParseException if any. */ protected String getSQLStatement(final String rule) throws FilterParseException { final List<Table> tables = new ArrayList<>(); final StringBuilder columns = new StringBuilder(); columns.append(m_databaseSchemaConfigFactory.addColumn(tables, "ipAddr")); final String where = parseRule(tables, rule); final String from = m_databaseSchemaConfigFactory.constructJoinExprForTables(tables); return "SELECT DISTINCT " + columns.toString() + " " + from + " " + where; }
/** * <p>getNodeMappingStatement</p> * * @param rule a {@link java.lang.String} object. * @return a {@link java.lang.String} object. * @throws org.opennms.netmgt.filter.api.FilterParseException if any. */ public String getNodeMappingStatement(final String rule) throws FilterParseException { final List<Table> tables = new ArrayList<>(); final StringBuilder columns = new StringBuilder(); columns.append(m_databaseSchemaConfigFactory.addColumn(tables, "nodeID")); columns.append(", " + m_databaseSchemaConfigFactory.addColumn(tables, "nodeLabel")); final String where = parseRule(tables, rule); final String from = m_databaseSchemaConfigFactory.constructJoinExprForTables(tables); return "SELECT DISTINCT " + columns.toString() + " " + from + " " + where; }
/** * <p>getIPServiceMappingStatement</p> * * @param rule a {@link java.lang.String} object. * @return a {@link java.lang.String} object. * @throws org.opennms.netmgt.filter.api.FilterParseException if any. */ public String getIPServiceMappingStatement(final String rule) throws FilterParseException { final List<Table> tables = new ArrayList<>(); final StringBuilder columns = new StringBuilder(); columns.append(m_databaseSchemaConfigFactory.addColumn(tables, "ipAddr")); columns.append(", " + m_databaseSchemaConfigFactory.addColumn(tables, "serviceName")); final String where = parseRule(tables, rule); final String from = m_databaseSchemaConfigFactory.constructJoinExprForTables(tables); return "SELECT " + columns.toString() + " " + from + " " + where; }
/** * <p>getInterfaceWithServiceStatement</p> * * @param rule a {@link java.lang.String} object. * @return a {@link java.lang.String} object. * @throws org.opennms.netmgt.filter.api.FilterParseException if any. */ public String getInterfaceWithServiceStatement(final String rule) throws FilterParseException { final List<Table> tables = new ArrayList<>(); final StringBuilder columns = new StringBuilder(); columns.append(m_databaseSchemaConfigFactory.addColumn(tables, "ipAddr")); columns.append(", " + m_databaseSchemaConfigFactory.addColumn(tables, "serviceName")); columns.append(", " + m_databaseSchemaConfigFactory.addColumn(tables, "nodeID")); final String where = parseRule(tables, rule); final String from = m_databaseSchemaConfigFactory.constructJoinExprForTables(tables); return "SELECT DISTINCT " + columns.toString() + " " + from + " " + where; }
where.append(" AND " + m_databaseSchemaConfigFactory.addColumn(tables, "serviceName") + " = '" + service + "'"); final String from = m_databaseSchemaConfigFactory.constructJoinExprForTables(tables);