@Override public void fileFinished(AuditEvent event) { final String fileName = event.getFileName(); final FileMessages messages = fileMessages.get(fileName); synchronized (writerLock) { writeFileMessages(fileName, messages); } fileMessages.remove(fileName); }
@Override public void fileStarted(AuditEvent event) { fileMessages.put(event.getFileName(), new FileMessages()); }
/** * Is matching by file name and Check name. * @param event event * @return true is matching */ private boolean isFileNameAndModuleNotMatching(AuditEvent event) { return event.getFileName() == null || fileRegexp != null && !fileRegexp.matcher(event.getFileName()).find() || event.getLocalizedMessage() == null || moduleId != null && !moduleId.equals(event.getModuleId()) || checkRegexp != null && !checkRegexp.matcher(event.getSourceName()).find(); }
@Override public boolean accept( AuditEvent aEvent ) { final String fileName = aEvent.getFileName(); if (fileName != null && fileName.contains(SUB_PATH)) { return acceptTestfileEvent(aEvent); } return true; }
/** * Returns the length of the buffer for StringBuilder. * bufferLength = fileNameLength + messageLength + lengthOfAllSeparators + * + severityNameLength + checkNameLength. * @param event audit event. * @param severityLevelNameLength length of severity level name. * @return the length of the buffer for StringBuilder. */ private static int calculateBufferLength(AuditEvent event, int severityLevelNameLength) { return LENGTH_OF_ALL_SEPARATORS + event.getFileName().length() + event.getMessage().length() + severityLevelNameLength + getCheckShortName(event).length(); }
@Override public void addException(AuditEvent event, Throwable throwable) { synchronized (errorWriter) { final LocalizedMessage addExceptionMessage = new LocalizedMessage(1, Definitions.CHECKSTYLE_BUNDLE, ADD_EXCEPTION_MESSAGE, new String[] {event.getFileName()}, null, LocalizedMessage.class, null); errorWriter.println(addExceptionMessage.getMessage()); throwable.printStackTrace(errorWriter); } }
@Override public void addException(AuditEvent event, Throwable throwable) { final String fileName = event.getFileName(); if (fileName == null || !fileMessages.containsKey(fileName)) { synchronized (writerLock) { writeException(throwable); } } else { final FileMessages messages = fileMessages.get(fileName); messages.addException(throwable); } }
@Override public void addError(AuditEvent event) { if (event.getSeverityLevel() != SeverityLevel.IGNORE) { final String fileName = event.getFileName(); if (fileName == null || !fileMessages.containsKey(fileName)) { synchronized (writerLock) { writeFileError(event); } } else { final FileMessages messages = fileMessages.get(fileName); messages.addError(event); } } }
@Override public void addError(AuditEvent event) { final String xpathQuery = XpathFileGeneratorAstFilter.findCorrespondingXpathQuery(event); if (xpathQuery != null) { printXmlHeader(); final File file = new File(event.getFileName()); writer.println("<suppress-xpath"); writer.print(" files=\""); writer.print(file.getName()); writer.println(QUOTE_CHAR); if (event.getModuleId() == null) { final String checkName = PackageObjectFactory.getShortFromFullModuleNames(event.getSourceName()); writer.print(" checks=\""); writer.print(checkName); } else { writer.print(" id=\""); writer.print(event.getModuleId()); } writer.println(QUOTE_CHAR); writer.print(" query=\""); writer.print(xpathQuery); writer.println("\"/>"); } }
@Override public String format(AuditEvent event) { final String fileName = event.getFileName(); final String message = event.getMessage();
@Override public boolean accept(AuditEvent event) { boolean accepted = true; if (event.getLocalizedMessage() != null) { final FileText fileText = getFileText(event.getFileName()); if (fileText != null) { final List<Suppression> suppressions = getSuppressions(fileText); accepted = getNearestSuppression(suppressions, event) == null; } } return accepted; }
@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)); }
@Test public void testDecideDefault() { final AuditEvent ev = new AuditEvent(this, "Test.java"); assertTrue(ev.getFileName(), filter.accept(ev)); }
@Test public void testAcceptNullLocalizedMessage() { final SuppressWithPlainTextCommentFilter filter = new SuppressWithPlainTextCommentFilter(); final AuditEvent auditEvent = new AuditEvent(this); assertTrue("Filter should accept audit event", filter.accept(auditEvent)); Assert.assertNull("File name should not be null", auditEvent.getFileName()); }
@Override public void fileFinished(AuditEvent event) { final String fileName = event.getFileName(); final FileMessages messages = fileMessages.get(fileName); synchronized (writerLock) { writeFileMessages(fileName, messages); } fileMessages.remove(fileName); }
/** * Is matching by file name and Check name. * @param event event * @return true is matching */ private boolean isFileNameAndModuleNotMatching(AuditEvent event) { return event.getFileName() == null || fileRegexp != null && !fileRegexp.matcher(event.getFileName()).find() || event.getLocalizedMessage() == null || moduleId != null && !moduleId.equals(event.getModuleId()) || checkRegexp != null && !checkRegexp.matcher(event.getSourceName()).find(); }
private void initResource(AuditEvent event) { if (currentResource == null) { String absoluteFilename = event.getFileName(); currentResource = JavaFile.fromAbsolutePath(absoluteFilename, project.getFileSystem().getSourceDirs(), false); } }
private String printEvent(AuditEvent event) { final LocalizedMessage msg = event.getLocalizedMessage(); return String.format("%-8s %-40s %s:%d %s", msg.getSeverityLevel(), msg.getKey(), event.getFileName(), event.getLine(), event.getMessage()); } }