Remove dependency toward some PDE internal classes.
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeActionProvider.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeActionProvider.java
index c3bf618..f470419 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeActionProvider.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/providers/RuntimeActionProvider.java
@@ -15,14 +15,16 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.mapping.ResourceMapping;
+import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.PlatformObject;
import org.eclipse.jface.action.GroupMarker;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IActionBars;
import org.eclipse.ui.actions.OpenWithMenu;
-import org.eclipse.ui.internal.navigator.AdaptabilityUtility;
import org.eclipse.ui.internal.navigator.resources.plugin.WorkbenchNavigatorMessages;
import org.eclipse.ui.navigator.CommonActionProvider;
import org.eclipse.ui.navigator.ICommonActionConstants;
@@ -91,10 +93,11 @@
Object o = ss.getFirstElement();
// first try IResource
- IAdaptable openable = (IAdaptable) AdaptabilityUtility.getAdapter(o, IResource.class);
+ Platform.getAdapterManager().getAdapter(o, IResource.class);
+ IAdaptable openable = (IAdaptable) getAdapter(o, IResource.class);
// otherwise try ResourceMapping
if (openable == null) {
- openable = (IAdaptable) AdaptabilityUtility.getAdapter(o, ResourceMapping.class);
+ openable = (IAdaptable) getAdapter(o, ResourceMapping.class);
} else if (((IResource) openable).getType() != IResource.FILE) {
openable = null;
}
@@ -113,4 +116,43 @@
}
}
}
+
+ /**
+ * <p>
+ * Returns an adapter of the requested type (anAdapterType)
+ *
+ * @param anElement The element to adapt, which may or may not implement {@link IAdaptable}, or null
+ * @param anAdapterType The class type to return
+ * @return An adapter of the requested type or null
+ */
+ public static Object getAdapter(Object anElement, Class anAdapterType) {
+ Assert.isNotNull(anAdapterType);
+ if (anElement == null) {
+ return null;
+ }
+ if (anAdapterType.isInstance(anElement)) {
+ return anElement;
+ }
+
+ if (anElement instanceof IAdaptable) {
+ IAdaptable adaptable = (IAdaptable) anElement;
+
+ Object result = adaptable.getAdapter(anAdapterType);
+ if (result != null) {
+ // Sanity-check
+ Assert.isTrue(anAdapterType.isInstance(result));
+ return result;
+ }
+ }
+
+ if (!(anElement instanceof PlatformObject)) {
+ Object result = Platform.getAdapterManager().getAdapter(anElement, anAdapterType);
+ if (result != null) {
+ return result;
+ }
+ }
+
+ return null;
+ }
+
}
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleExecutionEnvironmentSection.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleExecutionEnvironmentSection.java
index 391e1b7..7104f14 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleExecutionEnvironmentSection.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleExecutionEnvironmentSection.java
@@ -20,10 +20,12 @@
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.jface.preference.PreferenceDialog;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.window.Window;
import org.eclipse.pde.core.IModelChangedEvent;
import org.eclipse.pde.core.plugin.IPluginModelBase;
@@ -40,7 +42,6 @@
import org.eclipse.pde.internal.ui.editor.TableSection;
import org.eclipse.pde.internal.ui.editor.context.InputContextManager;
import org.eclipse.pde.internal.ui.editor.plugin.BundleInputContext;
-import org.eclipse.pde.internal.ui.elements.DefaultTableProvider;
import org.eclipse.pde.internal.ui.parts.EditableTablePart;
import org.eclipse.pde.internal.ui.parts.TablePart;
import org.eclipse.swt.SWT;
@@ -105,7 +106,13 @@
}
}
- class ContentProvider extends DefaultTableProvider {
+ class ContentProvider implements IStructuredContentProvider {
+
+ public void dispose() {
+ }
+
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ }
public Object[] getElements(Object inputElement) {
if (inputElement instanceof IBundleModel) {
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportLibrarySection.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportLibrarySection.java
index 0a22996..0ad59a8 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportLibrarySection.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportLibrarySection.java
@@ -17,15 +17,16 @@
import org.eclipse.core.resources.IProject;
import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.window.Window;
import org.eclipse.pde.internal.ui.PDEPlugin;
import org.eclipse.pde.internal.ui.PDEPluginImages;
import org.eclipse.pde.internal.ui.PDEUIMessages;
import org.eclipse.pde.internal.ui.editor.PDEFormPage;
-import org.eclipse.pde.internal.ui.elements.DefaultTableProvider;
import org.eclipse.pde.internal.ui.util.SWTUtil;
import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.swt.graphics.Image;
@@ -67,7 +68,13 @@
getTablePart().setEditable(false);
}
- class ImportLibraryContentProvider extends DefaultTableProvider {
+ class ImportLibraryContentProvider implements IStructuredContentProvider {
+
+ public void dispose() {
+ }
+
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ }
public Object[] getElements(Object parent) {
ImportLibraryHeader header = (ImportLibraryHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_LIBRARY);
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportPackageSection.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportPackageSection.java
index 5a5faaa..01efedc 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportPackageSection.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportPackageSection.java
@@ -23,9 +23,11 @@
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.viewers.IContentProvider;
import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.window.Window;
import org.eclipse.osgi.service.resolver.ExportPackageDescription;
import org.eclipse.pde.core.IBaseModel;
@@ -38,7 +40,6 @@
import org.eclipse.pde.internal.ui.PDEPlugin;
import org.eclipse.pde.internal.ui.PDEUIMessages;
import org.eclipse.pde.internal.ui.editor.PDEFormPage;
-import org.eclipse.pde.internal.ui.elements.DefaultTableProvider;
import org.eclipse.pde.internal.ui.util.SWTUtil;
import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.swt.graphics.Image;
@@ -411,7 +412,13 @@
}
}
- class ImportPackageContentProvider extends DefaultTableProvider {
+ class ImportPackageContentProvider implements IStructuredContentProvider {
+
+ public void dispose() {
+ }
+
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ }
public Object[] getElements(Object parent) {
ImportPackageHeader header = (ImportPackageHeader) getBundle().getManifestHeader(Constants.IMPORT_PACKAGE);
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportSection.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportSection.java
index fe170a6..51e1b80 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportSection.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleImportSection.java
@@ -17,15 +17,16 @@
import org.eclipse.core.resources.IProject;
import org.eclipse.jface.viewers.IContentProvider;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.window.Window;
import org.eclipse.pde.internal.ui.PDEPlugin;
import org.eclipse.pde.internal.ui.PDEPluginImages;
import org.eclipse.pde.internal.ui.PDEUIMessages;
import org.eclipse.pde.internal.ui.editor.PDEFormPage;
-import org.eclipse.pde.internal.ui.elements.DefaultTableProvider;
import org.eclipse.pde.internal.ui.util.SWTUtil;
import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.swt.graphics.Image;
@@ -67,7 +68,13 @@
getTablePart().setEditable(false);
}
- class ImportBundleContentProvider extends DefaultTableProvider {
+ class ImportBundleContentProvider implements IStructuredContentProvider {
+
+ public void dispose() {
+ }
+
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ }
public Object[] getElements(Object parent) {
ImportBundleHeader header = (ImportBundleHeader) getBundle().getManifestHeader(IHeaderConstants.IMPORT_BUNDLE);
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleLibrarySection.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleLibrarySection.java
index 610fc09..ea28c59 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleLibrarySection.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/BundleLibrarySection.java
@@ -60,7 +60,6 @@
import org.eclipse.pde.internal.ui.editor.plugin.BundleInputContext;
import org.eclipse.pde.internal.ui.editor.plugin.JarSelectionValidator;
import org.eclipse.pde.internal.ui.editor.plugin.NewRuntimeLibraryDialog;
-import org.eclipse.pde.internal.ui.elements.DefaultContentProvider;
import org.eclipse.pde.internal.ui.parts.EditableTablePart;
import org.eclipse.pde.internal.ui.parts.TablePart;
import org.eclipse.pde.internal.ui.util.SWTUtil;
@@ -133,7 +132,13 @@
}
}
- class TableContentProvider extends DefaultContentProvider implements IStructuredContentProvider {
+ class TableContentProvider implements IStructuredContentProvider {
+
+ public void dispose() {
+ }
+
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ }
public Object[] getElements(Object parent) {
return getModel().getPluginBase().getLibraries();
diff --git a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleSourcePage.java b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleSourcePage.java
index e5408cf..221f85a 100644
--- a/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleSourcePage.java
+++ b/org.eclipse.virgo.ide.ui/src/org/eclipse/virgo/ide/ui/editors/SpringBundleSourcePage.java
@@ -28,6 +28,7 @@
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.Viewer;
import org.eclipse.pde.core.IBaseModel;
import org.eclipse.pde.core.plugin.IPluginLibrary;
import org.eclipse.pde.core.plugin.IPluginModelBase;
@@ -62,7 +63,6 @@
import org.eclipse.pde.internal.ui.editor.text.ChangeAwareSourceViewerConfiguration;
import org.eclipse.pde.internal.ui.editor.text.IColorManager;
import org.eclipse.pde.internal.ui.editor.text.ReconcilingStrategy;
-import org.eclipse.pde.internal.ui.elements.DefaultContentProvider;
import org.eclipse.pde.internal.ui.util.SharedLabelProvider;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.forms.editor.FormEditor;
@@ -284,7 +284,13 @@
return super.findRange();
}
- private class SpringBundleOutlineContentProvider extends DefaultContentProvider implements ITreeContentProvider {
+ private class SpringBundleOutlineContentProvider implements ITreeContentProvider {
+
+ public void dispose() {
+ }
+
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ }
public Object[] getChildren(Object parent) {
// Need an identifying class for label provider
diff --git a/org.eclipse.virgo.ide/NeonTargetPlatform-Linux.target b/org.eclipse.virgo.ide/NeonTargetPlatform-Linux.target
new file mode 100644
index 0000000..04ffa4e
--- /dev/null
+++ b/org.eclipse.virgo.ide/NeonTargetPlatform-Linux.target
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?><target includeMode="feature" name="Virgo Target" sequenceNumber="83">
+<locations>
+<location path="${eclipse_home}" type="Profile"/>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.virgo.kernel.springintegration.feature.group" version="3.7.0.D-20150624084347"/>
+<unit id="org.eclipse.virgo.nano.mbeans.feature.group" version="3.7.0.D-20150624084347"/>
+<unit id="org.eclipse.virgo.kernel.httpservice.feature.group" version="3.7.0.D-20150624084347"/>
+<unit id="org.eclipse.virgo.shell.feature.group" version="3.7.0.D-20150624084347"/>
+<unit id="org.eclipse.virgo.medic.feature.group" version="3.7.0.D-20150624084347"/>
+<unit id="org.eclipse.virgo.ds.feature.group" version="1.4.0.v20120112-1400"/>
+<unit id="org.eclipse.virgo.core.feature.group" version="3.7.0.D-20150624084347"/>
+<unit id="org.eclipse.virgo.kernel.feature.group" version="3.7.0.D-20150624084347"/>
+<unit id="org.eclipse.virgo.simpleconfigurator.feature.group" version="3.7.0.D-20150624084347"/>
+<unit id="org.eclipse.virgo.management.feature.group" version="3.7.0.D-20150624084347"/>
+<unit id="org.eclipse.equinox.regions.feature.group" version="1.1.0.v20120319-1602"/>
+<unit id="org.eclipse.virgo.springdm.feature.group" version="2.0.0.M02"/>
+<repository location="http://download.eclipse.org/virgo/snapshots/3.7/"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.libra.framework.feature.feature.group" version="0.3.1.201405141436"/>
+<unit id="org.eclipse.libra.framework.editor.feature.feature.group" version="0.3.1.201405141436"/>
+<unit id="org.eclipse.libra.framework.feature.source.feature.group" version="0.3.1.201405141436"/>
+<unit id="org.eclipse.libra.warproducts.feature.source.feature.group" version="0.3.1.201405141436"/>
+<unit id="org.eclipse.libra.warproducts.feature.feature.group" version="0.3.1.201405141436"/>
+<unit id="org.eclipse.libra.facet.feature.feature.group" version="0.3.1.201405141436"/>
+<unit id="org.eclipse.libra.framework.editor.feature.source.feature.group" version="0.3.1.201405141436"/>
+<unit id="org.eclipse.libra.facet.feature.source.feature.group" version="0.3.1.201405141436"/>
+<repository location="http://download.eclipse.org/libra/milestones"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.virgo.bundlor.maven.feature.group" version="1.1.0.RELEASE"/>
+<unit id="org.eclipse.virgo.bundlor.commandline.feature.group" version="1.1.0.RELEASE"/>
+<unit id="org.eclipse.virgo.bundlor.resources.feature.group" version="1.1.0.RELEASE"/>
+<unit id="org.eclipse.virgo.bundlor.feature.group" version="1.1.0.RELEASE"/>
+<unit id="org.eclipse.virgo.bundlor.ant.feature.group" version="1.1.0.RELEASE"/>
+<unit id="bundlor.product" version="1.0.0"/>
+<repository location="http://download.eclipse.org/virgo/release/BNDLR/1.1.0.RELEASE/updatesite"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.orbit.build.feature.set1.feature.group" version="1.0.0.v201605202053-FAfFJHFJIJfY9DASFi7aEeQz0P99"/>
+<repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20160520211859/repository/"/>
+</location>
+</locations>
+</target>
diff --git a/org.eclipse.virgo.ide/Virgo Tooling 3.7-Neon-Linux.launch b/org.eclipse.virgo.ide/Virgo Tooling 3.7-Neon-Linux.launch
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/org.eclipse.virgo.ide/Virgo Tooling 3.7-Neon-Linux.launch