/** * <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; }
regex.appendReplacement(tempStringBuff, m_databaseSchemaConfigFactory.addColumn(tables, "serviceName") + " = '" + regex.group().substring(2) + "'"); } else if (regex.group().startsWith("notis")) { regex.appendReplacement(tempStringBuff, m_databaseSchemaConfigFactory.addColumn(tables, "ipAddr") + " NOT IN (SELECT ifServices.ipAddr FROM ifServices, service WHERE service.serviceName ='" + regex.group().substring(5) + "' AND service.serviceID = ifServices.serviceID)"); } else if (regex.group().startsWith("catinc")) { regex.appendReplacement(tempStringBuff, m_databaseSchemaConfigFactory.addColumn(tables, "nodeID") + " IN (SELECT category_node.nodeID FROM category_node, categories WHERE categories.categoryID = category_node.categoryID AND categories.categoryName = '" + regex.group().substring(6) + "')"); } else if (regex.group().matches(SQL_IPLIKE6_RHS_REGEX)) { regex.appendReplacement(tempStringBuff, m_databaseSchemaConfigFactory.addColumn(tables, regex.group()));
/** * <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; }
/** * 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; }
columns.append(m_databaseSchemaConfigFactory.addColumn(tables, "ipAddr")); where.append(" AND " + m_databaseSchemaConfigFactory.addColumn(tables, "nodeID") + " = " + nodeId); if (ipaddr != null && !ipaddr.equals("")) where.append(" AND " + m_databaseSchemaConfigFactory.addColumn(tables, "ipAddr") + " = '" + ipaddr + "'"); if (service != null && !service.equals("")) where.append(" AND " + m_databaseSchemaConfigFactory.addColumn(tables, "serviceName") + " = '" + service + "'"); final String from = m_databaseSchemaConfigFactory.constructJoinExprForTables(tables);