/** * {@inheritDoc} */ @Override public Object getAggregationKey(SqlStatementData sqlStatementData) { final int prime = 31; int result = 0; result = (prime * result) + (sqlStatementData.isPreparedStatement() ? 1231 : 1237); result = (prime * result) + ((sqlStatementData.getSql() == null) ? 0 : sqlStatementData.getSql().hashCode()); result = (prime * result) + ((sqlStatementData.getDatabaseUrl() == null) ? 0 : sqlStatementData.getDatabaseUrl().hashCode()); if (includeParameters) { result = (prime * result) + ((sqlStatementData.getParameterValues() == null) ? 0 : sqlStatementData.getParameterValues().hashCode()); } return result; }
if (null != dataToDisplay) { String boldSql = StringUtils.replaceEach(dataToDisplay.getSql(), new String[] { "?", "<", ">", "&" }, new String[] { "<b>?</b>", "<", ">", "&" }); if (CollectionUtils.isNotEmpty(dataToDisplay.getParameterValues())) { int index = 0; StringBuilder stringBuilder = new StringBuilder(boldSql.length()); char c = boldSql.charAt(i); if ('?' == c) { String parameter = dataToDisplay.getParameterValues().get(index); if ((null == parameter) || "".equals(parameter.trim())) { stringBuilder.append(c);
/** * Returns template for {@link SqlStatementData}. * * @param sqlStatementData * Source object. * @param id * Should id be inserted into template. * @param sql * Should SQL query be inserted into template. * @param parameters * Should parameters be inserted into template. * @return Template object. */ protected SqlStatementData getTemplate(SqlStatementData sqlStatementData, boolean id, boolean sql, boolean parameters) { SqlStatementData template = OccurrenceFinderFactory.getEmptyTemplate(sqlStatementData); if (id && (0 != sqlStatementData.getId())) { template.setId(sqlStatementData.getId()); } if (sql && (null != sqlStatementData.getSql())) { template.setSql(sqlStatementData.getSql()); } if (parameters && (null != sqlStatementData.getParameterValues())) { template.setParameterValues(sqlStatementData.getParameterValues()); } return template; }
/** * {@inheritDoc} */ @Override public IAggregatedData<SqlStatementData> getClone(SqlStatementData sqlStatementData) { AggregatedSqlStatementData clone = new AggregatedSqlStatementData(); clone.setPlatformIdent(sqlStatementData.getPlatformIdent()); clone.setSensorTypeIdent(sqlStatementData.getSensorTypeIdent()); clone.setPreparedStatement(sqlStatementData.isPreparedStatement()); clone.setSql(sqlStatementData.getSql()); clone.setDatabaseProductName(sqlStatementData.getDatabaseProductName()); clone.setDatabaseProductVersion(sqlStatementData.getDatabaseProductVersion()); clone.setDatabaseUrl(sqlStatementData.getDatabaseUrl()); if (includeParameters && (null != sqlStatementData.getParameterValues())) { clone.setParameterValues(new ArrayList<>(sqlStatementData.getParameterValues())); } return clone; }
return ObjectUtils.compare(o1.getDatabaseUrl(), o2.getDatabaseUrl()); case PARAMETERS: List<String> parameterList1 = o1.getParameterValues(); List<String> parameterList2 = o2.getParameterValues(); return ObjectUtils.compare(parameterList1, parameterList2); case SQL_AND_PARAMETERS:
switch (enumId) { case PARAMETERS: return new StyledString(TextFormatter.getSqlParametersText(data.getParameterValues())); case INVOCATION_AFFILLIATION: int percentage = (int) (data.getInvocationAffiliationPercentage() * 100);