svn commit: r1434 - in logbackPDE/trunk/plugins/ConsolePlugin: . META-INF src/main/java/ch/qos/logback/eclipse/views

Author: seb Date: Thu Mar 15 15:51:07 2007 New Revision: 1434 Removed: logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/MyHyperlinkPresenter.java Modified: logbackPDE/trunk/plugins/ConsolePlugin/META-INF/MANIFEST.MF logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/JavaFileHyperLink.java logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LogbackView.java logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LogbackViewerConfiguration.java logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LoggingEventContentProvider.java logbackPDE/trunk/plugins/ConsolePlugin/todo.txt Log: The plugin detects links and can now open an editor to display the clicked java class. It is not able to display a specific line yet. Modified: logbackPDE/trunk/plugins/ConsolePlugin/META-INF/MANIFEST.MF ============================================================================== --- logbackPDE/trunk/plugins/ConsolePlugin/META-INF/MANIFEST.MF (original) +++ logbackPDE/trunk/plugins/ConsolePlugin/META-INF/MANIFEST.MF Thu Mar 15 15:51:07 2007 @@ -15,11 +15,9 @@ org.eclipse.core.runtime, org.eclipse.jface.text, org.eclipse.ui.console, - org.eclipse.jdt, org.eclipse.jdt.core, - org.eclipse.jdt.core.manipulation, - org.eclipse.jdt.source, org.eclipse.jdt.ui, - org.eclipse.core.resources + org.eclipse.core.resources, + org.eclipse.ui.ide Eclipse-LazyStart: true Export-Package: ch.qos.logback.eclipse.views Modified: logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/JavaFileHyperLink.java ============================================================================== --- logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/JavaFileHyperLink.java (original) +++ logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/JavaFileHyperLink.java Thu Mar 15 15:51:07 2007 @@ -1,7 +1,18 @@ package ch.qos.logback.eclipse.views; +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IProject; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.jdt.core.IType; +import org.eclipse.jdt.core.JavaModelException; +import org.eclipse.jdt.internal.core.JavaProject; +import org.eclipse.jdt.internal.corext.util.JavaModelUtil; import org.eclipse.jface.text.IRegion; import org.eclipse.jface.text.hyperlink.IHyperlink; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.ide.IDE; +import org.eclipse.ui.internal.Workbench; class JavaFileHyperLink implements IHyperlink { @@ -9,7 +20,7 @@ private String method; private int lineNumber; private IRegion region; - + public JavaFileHyperLink(String className, String method, int lineNumber, IRegion region) { this.lineNumber = lineNumber; this.region = region; @@ -31,5 +42,38 @@ public void open() { System.out.println("Link to: " + className + "/" + method + " line: " + lineNumber); + + IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects(); + + IType type; + IProject project; + for (int i = 0; i < projects.length; i++) { + project = projects[i]; + if (project.isOpen()) { + try { + JavaProject javaProject = new JavaProject(project, null); + type = JavaModelUtil.findType(javaProject, className); + if (type != null) { + String path = type.getPath().toString(); + if (path.startsWith("/" + project.getName())) { + path = path.substring(project.getName().length() + 1); + } + System.out.println(path); + openInEditor(project.getFile(path)); + } + } catch (JavaModelException e) { + e.printStackTrace(); + } + } + } + } + + private void openInEditor(IFile file) { + IWorkbenchPage page = Workbench.getInstance().getActiveWorkbenchWindow().getActivePage(); + try { + IDE.openEditor(page, file); + } catch (PartInitException e) { + e.printStackTrace(); + } } } Modified: logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LogbackView.java ============================================================================== --- logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LogbackView.java (original) +++ logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LogbackView.java Thu Mar 15 15:51:07 2007 @@ -55,15 +55,13 @@ public void createPartControl(Composite parent) { - myConsole = new MessageConsole("Logback Console", null); + myConsole = new MessageConsole("Logback console", null); myConsole.setWaterMarks(LOW_WATERMARK, DEFAULT_HIGH_WATERMARK); viewer = new TextConsoleViewer(parent, myConsole); viewer.setEditable(false); viewer.configure(new LogbackViewerConfiguration()); - viewer.setDocument(viewer.getDocument()); - provider = new LoggingEventContentProvider(myConsole, viewer); Modified: logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LogbackViewerConfiguration.java ============================================================================== --- logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LogbackViewerConfiguration.java (original) +++ logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LogbackViewerConfiguration.java Thu Mar 15 15:51:07 2007 @@ -1,39 +1,20 @@ package ch.qos.logback.eclipse.views; -import org.eclipse.jface.text.hyperlink.DefaultHyperlinkPresenter; import org.eclipse.jface.text.hyperlink.IHyperlinkDetector; -import org.eclipse.jface.text.hyperlink.IHyperlinkPresenter; import org.eclipse.jface.text.hyperlink.URLHyperlinkDetector; -import org.eclipse.jface.text.presentation.IPresentationReconciler; -import org.eclipse.jface.text.presentation.PresentationReconciler; import org.eclipse.jface.text.source.ISourceViewer; import org.eclipse.jface.text.source.SourceViewerConfiguration; import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.RGB; public class LogbackViewerConfiguration extends SourceViewerConfiguration { - PresentationReconciler recon = new PresentationReconciler(); - DefaultHyperlinkPresenter pres = new DefaultHyperlinkPresenter(new RGB(0, 0, 255)); - @Override public IHyperlinkDetector[] getHyperlinkDetectors(ISourceViewer sourceViewer) { return new IHyperlinkDetector[] { new URLHyperlinkDetector(), new JavaLinkDetector() }; } @Override - public IHyperlinkPresenter getHyperlinkPresenter(ISourceViewer sourceViewer) { - return pres; - } - - @Override public int getHyperlinkStateMask(ISourceViewer sourceViewer) { return SWT.NONE; } - - @Override - public IPresentationReconciler getPresentationReconciler(ISourceViewer sourceViewer) { - return recon; - } - } Modified: logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LoggingEventContentProvider.java ============================================================================== --- logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LoggingEventContentProvider.java (original) +++ logbackPDE/trunk/plugins/ConsolePlugin/src/main/java/ch/qos/logback/eclipse/views/LoggingEventContentProvider.java Thu Mar 15 15:51:07 2007 @@ -29,19 +29,16 @@ private MessageConsoleStream redStream; private MessageConsoleStream blackStream; private TextConsoleViewer viewer; - //private MessageConsole console; private Color cachedRed; private Color cachedBlack; private LabelProvider labelProvider; - public LoggingEventContentProvider(MessageConsole console, TextConsoleViewer viewer) { Display display = Display.getCurrent(); cachedRed = new Color(display, 255, 0, 0); cachedBlack = new Color(display, 0, 0, 0); this.viewer = viewer; - //this.console = console; redStream = console.newMessageStream(); redStream.setColor(cachedRed); @@ -80,7 +77,7 @@ if (le == null) { return; } - + try { flushStreams(); @@ -89,7 +86,7 @@ } catch (Exception e) { PluginLogger.logError(e); } - + revealJob.schedule(50); } Modified: logbackPDE/trunk/plugins/ConsolePlugin/todo.txt ============================================================================== --- logbackPDE/trunk/plugins/ConsolePlugin/todo.txt (original) +++ logbackPDE/trunk/plugins/ConsolePlugin/todo.txt Thu Mar 15 15:51:07 2007 @@ -8,6 +8,8 @@ Color certains lines. Based on keywords and colors? +Click on a log line and display the java class that requested the log + DONE: Allow the user to change the socket's port Make the viewer always display the latest lines added
participants (1)
-
noreply.seb@qos.ch