public void addException(AntMessage exception, boolean showFullTrace) { MessageNode exceptionRootNode = null; StringTokenizer tokenizer = new StringTokenizer(exception.getText(), "\r\n"); while (tokenizer.hasMoreElements()) { String line = (String) tokenizer.nextElement(); if (exceptionRootNode == null) { AntMessage newMessage = new AntMessage( exception.getType(), exception.getPriority(), line, exception.getFile(), exception.getLine(), exception.getColumn()); exceptionRootNode = new MessageNode(newMessage, myProject, true); myMessageItems.add(exceptionRootNode); } else if (showFullTrace) { if (StringUtil.startsWithChar(line, '\t')) { line = line.substring(1); } HyperlinkUtil.PlaceInfo info = HyperlinkUtil.parseStackLine(myProject, '\t' + line); VirtualFile file = info != null ? info.getFile() : null; int lineNumber = info != null ? info.getLine() : 0; int column = info != null ? info.getColumn() : 1; AntMessage newMessage = new AntMessage( exception.getType(), exception.getPriority(), line, file, lineNumber, column); MessageNode child = new MessageNode(newMessage, myProject, false); exceptionRootNode.add(child); myMessageItems.add(child); } } if (exceptionRootNode == null) return; MutableTreeNode parentNode = (MutableTreeNode) myParentPath.getLastPathComponent(); myTreeModel.insertNodeInto(exceptionRootNode, parentNode, parentNode.getChildCount()); handleExpansion(); }
private MessageNode createMessageNode(AntMessage message) { String text = message.getText(); boolean allowToShowPosition = true; if (JUNIT_TASK_NAME.equals(myCurrentTaskName)) { HyperlinkUtil.PlaceInfo info = HyperlinkUtil.parseJUnitMessage(myProject, text); if (info != null) { message = new AntMessage(message.getType(), message.getPriority(), text, info.getFile(), 1, 1); allowToShowPosition = false; } } return new MessageNode(message, myProject, allowToShowPosition); }
public void addJavacMessage(AntMessage message, String url) { final StringBuilder builder = StringBuilderSpinAllocator.alloc(); try { final VirtualFile file = message.getFile(); if (message.getLine() > 0) { if (file != null) { ApplicationManager.getApplication() .runReadAction( new Runnable() { public void run() { String presentableUrl = file.getPresentableUrl(); builder.append(presentableUrl); builder.append(' '); } }); } else if (url != null) { builder.append(url); builder.append(' '); } builder.append('('); builder.append(message.getLine()); builder.append(':'); builder.append(message.getColumn()); builder.append(") "); } addJavacMessageImpl( new AntMessage( message.getType(), message.getPriority(), builder.toString() + message.getText(), message.getFile(), message.getLine(), message.getColumn())); } finally { StringBuilderSpinAllocator.dispose(builder); } }