Author: rob.stryker(a)jboss.com
Date: 2008-03-20 23:21:52 -0400 (Thu, 20 Mar 2008)
New Revision: 7052
Added:
trunk/labs/
trunk/labs/docs/
trunk/labs/features/
trunk/labs/plugins/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/.classpath
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/.project
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/.settings/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/.settings/org.eclipse.jdt.core.prefs
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/META-INF/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/META-INF/MANIFEST.MF
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/tools/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/tools/labs/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/tools/labs/pde/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/tools/labs/pde/sourceprovider/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/tools/labs/pde/sourceprovider/Activator.class
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/tools/labs/pde/sourceprovider/EclipseSourceContainerType$EclipseSourceContainer.class
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/tools/labs/pde/sourceprovider/EclipseSourceContainerType$EclipseSourceContainerBrowser.class
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/tools/labs/pde/sourceprovider/EclipseSourceContainerType.class
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/build.properties
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/icons/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/icons/icon.gif
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/plugin.xml
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/src/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/src/org/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/src/org/jboss/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/src/org/jboss/tools/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/src/org/jboss/tools/labs/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/src/org/jboss/tools/labs/pde/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/src/org/jboss/tools/labs/pde/sourceprovider/
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/src/org/jboss/tools/labs/pde/sourceprovider/Activator.java
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/src/org/jboss/tools/labs/pde/sourceprovider/EclipseSourceContainerType.java
trunk/labs/tests/
Log:
quick little project to debug another running eclipse installation
Added: trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/.classpath
===================================================================
--- trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/.classpath
(rev 0)
+++ trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/.classpath 2008-03-21
03:21:52 UTC (rev 7052)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con"
path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.5.0_14"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Added: trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/.project
===================================================================
--- trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/.project
(rev 0)
+++ trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/.project 2008-03-21
03:21:52 UTC (rev 7052)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.jboss.tools.labs.pde.sourceprovider</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Added:
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/.settings/org.eclipse.jdt.core.prefs
===================================================================
---
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/.settings/org.eclipse.jdt.core.prefs
(rev 0)
+++
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/.settings/org.eclipse.jdt.core.prefs 2008-03-21
03:21:52 UTC (rev 7052)
@@ -0,0 +1,12 @@
+#Thu Mar 20 20:52:28 EDT 2008
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
Added: trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/META-INF/MANIFEST.MF
===================================================================
--- trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/META-INF/MANIFEST.MF
(rev 0)
+++
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/META-INF/MANIFEST.MF 2008-03-21
03:21:52 UTC (rev 7052)
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Eclipse Sourceprovider Plug-in
+Bundle-SymbolicName: org.jboss.tools.labs.pde.sourceprovider;singleton:=true
+Bundle-Version: 1.0.0
+Bundle-Activator: org.jboss.tools.labs.pde.sourceprovider.Activator
+Require-Bundle: org.eclipse.ui,
+ org.eclipse.core.runtime,
+ org.eclipse.debug.core,
+ org.eclipse.debug.ui
+Eclipse-LazyStart: true
+Bundle-Vendor: Rob Stryker
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
Added:
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/tools/labs/pde/sourceprovider/Activator.class
===================================================================
(Binary files differ)
Property changes on:
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/tools/labs/pde/sourceprovider/Activator.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/tools/labs/pde/sourceprovider/EclipseSourceContainerType$EclipseSourceContainer.class
===================================================================
(Binary files differ)
Property changes on:
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/tools/labs/pde/sourceprovider/EclipseSourceContainerType$EclipseSourceContainer.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/tools/labs/pde/sourceprovider/EclipseSourceContainerType$EclipseSourceContainerBrowser.class
===================================================================
(Binary files differ)
Property changes on:
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/tools/labs/pde/sourceprovider/EclipseSourceContainerType$EclipseSourceContainerBrowser.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added:
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/tools/labs/pde/sourceprovider/EclipseSourceContainerType.class
===================================================================
(Binary files differ)
Property changes on:
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/bin/org/jboss/tools/labs/pde/sourceprovider/EclipseSourceContainerType.class
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/build.properties
===================================================================
--- trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/build.properties
(rev 0)
+++ trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/build.properties 2008-03-21
03:21:52 UTC (rev 7052)
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = .
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ icons/
Added: trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/icons/icon.gif
===================================================================
(Binary files differ)
Property changes on:
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/icons/icon.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/plugin.xml
===================================================================
--- trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/plugin.xml
(rev 0)
+++ trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/plugin.xml 2008-03-21
03:21:52 UTC (rev 7052)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+ <extension
+ point="org.eclipse.debug.core.sourceContainerTypes">
+ <sourceContainerType
+
class="org.jboss.tools.labs.pde.sourceprovider.EclipseSourceContainerType"
+ description="Includes all the available source in an eclipse
installation"
+
id="org.jboss.tools.labs.pde.sourceprovider.eclipseSourceContainerType"
+ name="Eclipse Installation">
+ </sourceContainerType>
+ </extension>
+ <extension
+ point="org.eclipse.debug.ui.sourceContainerPresentations">
+ <sourceContainerPresentation
+
browserClass="org.jboss.tools.labs.pde.sourceprovider.EclipseSourceContainerType$EclipseSourceContainerBrowser"
+
containerTypeID="org.jboss.tools.labs.pde.sourceprovider.eclipseSourceContainerType"
+ icon="icons/icon.gif"
+
id="org.jboss.tools.labs.pde.sourceprovider.eclipseSourceContainerPresentation">
+ </sourceContainerPresentation>
+ </extension>
+
+</plugin>
Added:
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/src/org/jboss/tools/labs/pde/sourceprovider/Activator.java
===================================================================
---
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/src/org/jboss/tools/labs/pde/sourceprovider/Activator.java
(rev 0)
+++
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/src/org/jboss/tools/labs/pde/sourceprovider/Activator.java 2008-03-21
03:21:52 UTC (rev 7052)
@@ -0,0 +1,50 @@
+package org.jboss.tools.labs.pde.sourceprovider;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID =
"org.jboss.ide.eclipse.labs.pde.sourceprovider";
+
+ // The shared instance
+ private static Activator plugin;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+}
Added:
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/src/org/jboss/tools/labs/pde/sourceprovider/EclipseSourceContainerType.java
===================================================================
---
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/src/org/jboss/tools/labs/pde/sourceprovider/EclipseSourceContainerType.java
(rev 0)
+++
trunk/labs/plugins/org.jboss.tools.labs.pde.sourceprovider/src/org/jboss/tools/labs/pde/sourceprovider/EclipseSourceContainerType.java 2008-03-21
03:21:52 UTC (rev 7052)
@@ -0,0 +1,118 @@
+package org.jboss.tools.labs.pde.sourceprovider;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.Iterator;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.debug.core.sourcelookup.ISourceContainer;
+import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
+import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
+import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainer;
+import
org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
+import org.eclipse.debug.core.sourcelookup.containers.ExternalArchiveSourceContainer;
+import org.eclipse.debug.ui.sourcelookup.AbstractSourceContainerBrowser;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.DirectoryDialog;
+import org.eclipse.swt.widgets.Shell;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+public class EclipseSourceContainerType extends AbstractSourceContainerTypeDelegate {
+
+ public ISourceContainer createSourceContainer(String memento)
+ throws CoreException {
+ Node node = parseDocument(memento );
+ if (node.getNodeType() == Node.ELEMENT_NODE) {
+ Element element = (Element)node;
+ if ("eclipseHome".equals(element.getNodeName())) { //$NON-NLS-1$
+ String string = element.getAttribute("path"); //$NON-NLS-1$
+ if (string == null || string.length() == 0) {
+ abort("Eclipse Home Not Found", null);
+ }
+ return new EclipseSourceContainer(new File(string));
+ }
+ abort("Error unserializing memento", null);
+ }
+ abort("Error unserializing memento", null);
+ return null;
+ }
+
+ public String getMemento(ISourceContainer container2) throws CoreException {
+ EclipseSourceContainer container = (EclipseSourceContainer) container2;
+ Document document = newDocument();
+ Element element = document.createElement("eclipseHome"); //$NON-NLS-1$
+ element.setAttribute("path",
container.getFile().getAbsolutePath().toString()); //$NON-NLS-1$
+ document.appendChild(element);
+ return serializeDocument(document);
+ }
+
+ public static class EclipseSourceContainer extends AbstractSourceContainer {
+ public static final String TYPE_ID =
"org.jboss.ide.eclipse.labs.pde.sourceprovider.eclipseSourceContainerType";
+ protected File root;
+ protected HashMap<String,ExternalArchiveSourceContainer> pathToContainer;
+ public EclipseSourceContainer(File f) {
+ this.root = f;
+ pathToContainer = new HashMap<String,ExternalArchiveSourceContainer>();
+ search(root);
+ }
+
+ protected void search(File f) {
+ // recursively seek src.zip
+ File[] kids = f.listFiles();
+ for( int i = 0; i < kids.length; i++ ) {
+ if( kids[i].isDirectory()) {
+ search(kids[i]);
+ } else if( kids[i].getName().endsWith("src.zip")) {
+ // add the match
+ pathToContainer.put(kids[i].toString(), new
ExternalArchiveSourceContainer(kids[i].getAbsolutePath(), true));
+ }
+ }
+ }
+
+ public Object[] findSourceElements(String name) throws CoreException {
+ Iterator<ExternalArchiveSourceContainer> i =
pathToContainer.values().iterator();
+ ExternalArchiveSourceContainer c;
+ Object[] results;
+ while(i.hasNext()) {
+ c = i.next();
+ results = c.findSourceElements(name);
+ if( results.length > 0 )
+ return results;
+ }
+ return new Object[0];
+ }
+
+ public String getName() {
+ return "Eclipse Installation " + root.getAbsolutePath().toString();
+ }
+
+ public ISourceContainerType getType() {
+ return getSourceContainerType(TYPE_ID);
+ }
+
+ public File getFile() {
+ return root;
+ }
+ }
+
+ public static class EclipseSourceContainerBrowser extends AbstractSourceContainerBrowser
{
+ /* (non-Javadoc)
+ * @see
org.eclipse.debug.internal.ui.sourcelookup.ISourceContainerBrowser#addSourceContainers(org.eclipse.swt.widgets.Shell,
org.eclipse.debug.core.sourcelookup.ISourceLookupDirector)
+ */
+ public ISourceContainer[] addSourceContainers(Shell shell, ISourceLookupDirector
director) {
+ DirectoryDialog d = new DirectoryDialog(shell, SWT.OPEN);
+ String s = d.open();
+ if( s != null ) {
+ IPath p = new Path(s);
+ if( p.append("plugins").toFile().exists()) {
+ return new ISourceContainer[] {new EclipseSourceContainer(p.toFile())};
+ }
+ }
+ return new ISourceContainer[0];
+ }
+ }
+}
Show replies by date