/** * Whether line and column match. * @param event event to process. * @return true if line and column match. */ private boolean isLineAndColumnMatch(AuditEvent event) { return (lineFilter != null || columnFilter != null) && (lineFilter == null || !lineFilter.accept(event.getLine())) && (columnFilter == null || !columnFilter.accept(event.getColumn())); }
/** * Outputs the given event to the writer. * @param event An event to print. */ private void writeFileError(AuditEvent event) { writer.print("<error" + " line=\"" + event.getLine() + "\""); if (event.getColumn() > 0) { writer.print(" column=\"" + event.getColumn() + "\""); } writer.print(" severity=\"" + event.getSeverityLevel().getName() + "\""); writer.print(" message=\"" + encode(event.getMessage()) + "\""); writer.print(" source=\""); if (event.getModuleId() == null) { writer.print(encode(event.getSourceName())); } else { writer.print(encode(event.getModuleId())); } writer.println("\"/>"); }
@Override public String format(AuditEvent event) { final String fileName = event.getFileName(); final String message = event.getMessage(); // avoid StringBuffer.expandCapacity final int bufLen = event.getFileName().length() + event.getMessage().length() + LENGTH_OF_ALL_SEPARATORS; final StringBuilder sb = new StringBuilder(bufLen); sb.append(fileName).append(':').append(event.getLine()); if (event.getColumn() > 0) { sb.append(':').append(event.getColumn()); } sb.append(": ").append(message); return sb.toString(); }
@Test public void testFormatModuleNameDoesNotContainCheckSuffix() { final AuditEvent mock = PowerMockito.mock(AuditEvent.class); when(mock.getSourceName()).thenReturn("TestModule"); when(mock.getSeverityLevel()).thenReturn(SeverityLevel.WARNING); when(mock.getLine()).thenReturn(1); when(mock.getColumn()).thenReturn(1); when(mock.getMessage()).thenReturn("Mocked message."); when(mock.getFileName()).thenReturn("InputMockFile.java"); final AuditEventFormatter formatter = new AuditEventDefaultFormatter(); final String expected = "[WARN] InputMockFile.java:1:1: Mocked message. [TestModule]"; assertEquals("Invalid format", expected, formatter.format(mock)); }
@Test public void testFormatModuleNameContainsCheckSuffix() { final AuditEvent mock = PowerMockito.mock(AuditEvent.class); when(mock.getSourceName()).thenReturn("TestModuleCheck"); when(mock.getSeverityLevel()).thenReturn(SeverityLevel.WARNING); when(mock.getLine()).thenReturn(1); when(mock.getColumn()).thenReturn(1); when(mock.getMessage()).thenReturn("Mocked message."); when(mock.getFileName()).thenReturn("InputMockFile.java"); final AuditEventFormatter formatter = new AuditEventDefaultFormatter(); final String expected = "[WARN] InputMockFile.java:1:1: Mocked message. [TestModule]"; assertEquals("Invalid format", expected, formatter.format(mock)); }
/** * Checks for a suppression of a check with the given source name and * location in the last file processed. * @param event audit event. * @return whether the check with the given name is suppressed at the given * source location */ public static boolean isSuppressed(AuditEvent event) { final List<Entry> entries = ENTRIES.get(); final String sourceName = event.getSourceName(); final String checkAlias = getAlias(sourceName); final int line = event.getLine(); final int column = event.getColumn(); boolean suppressed = false; for (Entry entry : entries) { final boolean afterStart = isSuppressedAfterEventStart(line, column, entry); final boolean beforeEnd = isSuppressedBeforeEventEnd(line, column, entry); final boolean nameMatches = ALL_WARNING_MATCHING_ID.equals(entry.getCheckName()) || entry.getCheckName().equalsIgnoreCase(checkAlias); final boolean idMatches = event.getModuleId() != null && event.getModuleId().equals(entry.getCheckName()); if (afterStart && beforeEnd && (nameMatches || idMatches)) { suppressed = true; break; } } return suppressed; }
/** * Whether line and column match. * @param event event to process. * @return true if line and column match. */ private boolean isLineAndColumnMatch(AuditEvent event) { return (lineFilter != null || columnFilter != null) && (lineFilter == null || !lineFilter.accept(event.getLine())) && (columnFilter == null || !columnFilter.accept(event.getColumn())); }
/** * Outputs the given event to the writer. * @param event An event to print. */ private void writeFileError(AuditEvent event) { writer.print("<error" + " line=\"" + event.getLine() + "\""); if (event.getColumn() > 0) { writer.print(" column=\"" + event.getColumn() + "\""); } writer.print(" severity=\"" + event.getSeverityLevel().getName() + "\""); writer.print(" message=\"" + encode(event.getMessage()) + "\""); writer.print(" source=\""); if (event.getModuleId() == null) { writer.print(encode(event.getSourceName())); } else { writer.print(encode(event.getModuleId())); } writer.println("\"/>"); }
/** * Checks for a suppression of a check with the given source name and * location in the last file processed. * @param event audit event. * @return whether the check with the given name is suppressed at the given * source location */ public static boolean isSuppressed(AuditEvent event) { final List<Entry> entries = ENTRIES.get(); final String sourceName = event.getSourceName(); final String checkAlias = getAlias(sourceName); final int line = event.getLine(); final int column = event.getColumn(); boolean suppressed = false; for (Entry entry : entries) { final boolean afterStart = isSuppressedAfterEventStart(line, column, entry); final boolean beforeEnd = isSuppressedBeforeEventEnd(line, column, entry); final boolean nameMatches = ALL_WARNING_MATCHING_ID.equals(entry.getCheckName()) || entry.getCheckName().equalsIgnoreCase(checkAlias); final boolean idMatches = event.getModuleId() != null && event.getModuleId().equals(entry.getCheckName()); if (afterStart && beforeEnd && (nameMatches || idMatches)) { suppressed = true; break; } } return suppressed; }