Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Merks2015-05-28 12:35:20 +0000
committerEd Merks2015-05-28 12:35:20 +0000
commit13bb84027e0aa7a3992c93a9402218cf8c312b8f (patch)
treecc483cc526010ff70df723340521e2f2fe98d42c
parent8896474658e3248ca0db57ccdfeb9d7b210dc0a3 (diff)
downloadorg.eclipse.oomph-13bb84027e0aa7a3992c93a9402218cf8c312b8f.tar.gz
org.eclipse.oomph-13bb84027e0aa7a3992c93a9402218cf8c312b8f.tar.xz
org.eclipse.oomph-13bb84027e0aa7a3992c93a9402218cf8c312b8f.zip
[466867] When manually passing a VM to the eclipse-installer, it should
offer that VM for the installation too https://bugs.eclipse.org/bugs/show_bug.cgi?id=466867
-rw-r--r--plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREComposite.java32
-rw-r--r--plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREController.java13
-rw-r--r--plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JRE.java10
-rw-r--r--plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JREInfo.java17
4 files changed, 65 insertions, 7 deletions
diff --git a/plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREComposite.java b/plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREComposite.java
index 61b886dc8..1b49877bf 100644
--- a/plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREComposite.java
+++ b/plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREComposite.java
@@ -21,6 +21,9 @@ import org.eclipse.oomph.util.OS;
import org.eclipse.oomph.util.PropertiesUtil;
import org.eclipse.oomph.util.Request;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.ui.provider.ExtendedFontRegistry;
+
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.layout.TreeColumnLayout;
@@ -31,6 +34,7 @@ import org.eclipse.jface.viewers.IColorProvider;
import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ITableFontProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.LabelProvider;
@@ -45,6 +49,7 @@ import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Button;
@@ -115,7 +120,7 @@ public class JREComposite extends Composite
treeViewer = new TreeViewer(composite, SWT.BORDER | SWT.MULTI);
treeViewer.setContentProvider(contentProvider);
- treeViewer.setLabelProvider(new JRELabelProvider());
+ treeViewer.setLabelProvider(new JRELabelProvider(treeViewer.getTree().getFont()));
treeViewer.addSelectionChangedListener(new ISelectionChangedListener()
{
public void selectionChanged(SelectionChangedEvent event)
@@ -506,8 +511,15 @@ public class JREComposite extends Composite
/**
* @author Eike Stepper
*/
- private final class JRELabelProvider extends LabelProvider implements ITableLabelProvider, IColorProvider
+ private final class JRELabelProvider extends LabelProvider implements ITableLabelProvider, IColorProvider, ITableFontProvider
{
+ private Font font;
+
+ public JRELabelProvider(Font font)
+ {
+ this.font = font;
+ }
+
public Image getColumnImage(Object element, int columnIndex)
{
if (columnIndex == 0)
@@ -545,7 +557,7 @@ public class JREComposite extends Composite
switch (columnIndex)
{
case 0:
- return jre.getJavaHome().getAbsolutePath();
+ return jre.toString();
case 1:
return jre.getMajor() + "." + jre.getMinor() + "." + jre.getMicro();
case 2:
@@ -576,5 +588,19 @@ public class JREComposite extends Composite
{
return null;
}
+
+ public Font getFont(Object element, int columnIndex)
+ {
+ if (element instanceof JRE)
+ {
+ JRE jre = (JRE)element;
+ if (jre.isCurrent())
+ {
+ return ExtendedFontRegistry.INSTANCE.getFont(font, IItemFontProvider.BOLD_FONT);
+ }
+ }
+
+ return null;
+ }
}
}
diff --git a/plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREController.java b/plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREController.java
index 38e5abbd7..c17371433 100644
--- a/plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREController.java
+++ b/plugins/org.eclipse.oomph.jreinfo.ui/src/org/eclipse/oomph/jreinfo/ui/JREController.java
@@ -257,7 +257,18 @@ public abstract class JREController implements ISelectionChangedListener
if (selection == null || !jres.contains(selection))
{
- selection = jres.iterator().next();
+ for (JRE jre : jres)
+ {
+ if (selection == null)
+ {
+ selection = jre;
+ }
+ else if (jre.isCurrent())
+ {
+ selection = jre;
+ break;
+ }
+ }
}
setSelection(new StructuredSelection(selection));
diff --git a/plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JRE.java b/plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JRE.java
index 07dc6ad18..73b25e8ef 100644
--- a/plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JRE.java
+++ b/plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JRE.java
@@ -118,6 +118,12 @@ public final class JRE implements Comparable<JRE>
return true;
}
+ public boolean isCurrent()
+ {
+ String systemJavaHome = System.getProperty("java.home");
+ return javaHome.getPath().equals(systemJavaHome);
+ }
+
public boolean isMatch(JREFilter filter)
{
Integer filterMajor = filter.getMajor();
@@ -222,9 +228,7 @@ public final class JRE implements Comparable<JRE>
@Override
public String toString()
{
- // return javaHome.getAbsolutePath() + " (" + major + "." + minor + "." + micro + "/" + bitness + "bit " + (jdk ? "JDK" : "JRE") + ")";
- // return javaHome.getAbsolutePath() + " (" + bitness + " Bit " + (jdk ? "JDK" : "JRE") + ")";
- return javaHome.getAbsolutePath();
+ return javaHome.getPath() + (isCurrent() ? " (Current)" : "");
}
String toLine()
diff --git a/plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JREInfo.java b/plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JREInfo.java
index 47a16496e..455cc2cee 100644
--- a/plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JREInfo.java
+++ b/plugins/org.eclipse.oomph.jreinfo/src/org/eclipse/oomph/jreinfo/JREInfo.java
@@ -66,6 +66,23 @@ public final class JREInfo
//$FALL-THROUGH$
}
+ String javaHome = System.getProperty("java.home");
+ if (javaHome != null)
+ {
+ File javaHomeFolder = new File(javaHome);
+ if (javaHomeFolder.isDirectory())
+ {
+ int jdk = isJDK(javaHomeFolder);
+
+ JREInfo info = new JREInfo();
+ info.javaHome = javaHomeFolder.getAbsolutePath();
+ info.jdk = jdk;
+ info.next = jreInfo;
+
+ jreInfo = info;
+ }
+ }
+
if (!SKIP_USER_HOME)
{
jreInfo = searchFolder(jreInfo, PropertiesUtil.USER_HOME);

Back to the top