Author: rob.stryker(a)jboss.com
Date: 2009-08-06 17:32:16 -0400 (Thu, 06 Aug 2009)
New Revision: 16997
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeJava6WizardFragment.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.properties
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeWizardFragment.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.xml
Log:
JBIDE-4726
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.java 2009-08-06
20:17:16 UTC (rev 16996)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.java 2009-08-06
21:32:16 UTC (rev 16997)
@@ -60,6 +60,7 @@
public static String rwf_nameTextBlank;
public static String rwf_homeDirBlank;
public static String rwf_NoVMSelected;
+ public static String rwf_jre6NotFound;
public static String swf_Title;
public static String swf_RuntimeInformation;
public static String swf_AuthorizationDescription;
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.properties
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.properties 2009-08-06
20:17:16 UTC (rev 16996)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/Messages.properties 2009-08-06
21:32:16 UTC (rev 16997)
@@ -19,6 +19,7 @@
rwf_nameTextBlank=The name field must not be blank
rwf_homeDirBlank=The directory field must not be blank
rwf_NoVMSelected=No VM selected
+rwf_jre6NotFound=No Java 6 runtime environment found
J2EEModuleExportOperation_DestinationFileIsDirectoryError=The specified file: {0} exists
and is a directory
J2EEModuleExportOperation_ErrorExportingArchive=Error Exporting {0}
JBAS_version=JBoss Application Server {0}
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeJava6WizardFragment.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeJava6WizardFragment.java
(rev 0)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeJava6WizardFragment.java 2009-08-06
21:32:16 UTC (rev 16997)
@@ -0,0 +1,64 @@
+/**
+ * JBoss by Red Hat
+ * Copyright 2006-2009, Red Hat Middleware, LLC, and individual contributors as
indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+* This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+package org.jboss.ide.eclipse.as.ui.wizards;
+
+import java.util.ArrayList;
+
+import org.eclipse.jdt.launching.IVMInstall;
+import org.eclipse.jdt.launching.IVMInstall2;
+import org.eclipse.jdt.launching.IVMInstallType;
+import org.eclipse.jdt.launching.JavaRuntime;
+import org.jboss.ide.eclipse.as.ui.Messages;
+
+public class JBossRuntimeJava6WizardFragment extends JBossRuntimeWizardFragment {
+
+ public JBossRuntimeJava6WizardFragment() {
+ }
+
+ protected boolean shouldIncludeDefaultJRE() {
+ return false;
+ }
+
+ protected ArrayList<IVMInstall> getValidJREs() {
+ ArrayList<IVMInstall> valid = new ArrayList<IVMInstall>();
+ IVMInstallType[] vmInstallTypes = JavaRuntime.getVMInstallTypes();
+ int size = vmInstallTypes.length;
+ for (int i = 0; i < size; i++) {
+ IVMInstall[] vmInstalls = vmInstallTypes[i].getVMInstalls();
+ int size2 = vmInstalls.length;
+ for (int j = 0; j < size2; j++) {
+ if( vmInstalls[j] instanceof IVMInstall2 ) {
+ String version = ((IVMInstall2)vmInstalls[j]).getJavaVersion();
+ if( version.startsWith("1.6."))
+ valid.add(vmInstalls[j]);
+ }
+ }
+ }
+ return valid;
+ }
+
+ protected String getErrorString() {
+ if( !shouldIncludeDefaultJRE() && getValidJREs().size() == 0 )
+ return Messages.rwf_jre6NotFound;
+ return super.getErrorString();
+ }
+}
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeWizardFragment.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeWizardFragment.java 2009-08-06
20:17:16 UTC (rev 16996)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeWizardFragment.java 2009-08-06
21:32:16 UTC (rev 16997)
@@ -363,8 +363,9 @@
jreCombo = new Combo(jreComposite, SWT.DROP_DOWN | SWT.READ_ONLY);
jreCombo.setItems(jreNames);
- jreCombo.select(defaultVMIndex);
-
+ if( defaultVMIndex != -1 )
+ jreCombo.select(defaultVMIndex);
+
jreButton = new Button(jreComposite, SWT.NONE);
jreButton.setText(Messages.wf_JRELabel);
@@ -588,7 +589,7 @@
handle.setMessage(error, IMessageProvider.ERROR);
}
- private String getErrorString() {
+ protected String getErrorString() {
if (nameText == null) {
// not yet initialized. no errors
return null;
@@ -690,31 +691,41 @@
// JRE methods
protected void updateJREs() {
// get all installed JVMs
- installedJREs = new ArrayList<IVMInstall>();
+ installedJREs = getValidJREs();
+ // get names
+ int size = installedJREs.size();
+ size = shouldIncludeDefaultJRE() ? size+1 : size;
+ int index = 0;
+ jreNames = new String[size];
+ if( shouldIncludeDefaultJRE())
+ jreNames[index++] = "Default JRE"; //$NON-NLS-1$
+
+ for (int i = 0; i < installedJREs.size(); i++) {
+ IVMInstall vmInstall = installedJREs.get(i);
+ jreNames[index++] = vmInstall.getName();
+ }
+ defaultVMIndex = shouldIncludeDefaultJRE() ? 0 :
+ jreNames.length > 0 ? 0 : -1;
+ }
+
+ protected boolean shouldIncludeDefaultJRE() {
+ return true;
+ }
+
+ protected ArrayList<IVMInstall> getValidJREs() {
+ ArrayList<IVMInstall> valid = new ArrayList<IVMInstall>();
IVMInstallType[] vmInstallTypes = JavaRuntime.getVMInstallTypes();
int size = vmInstallTypes.length;
for (int i = 0; i < size; i++) {
IVMInstall[] vmInstalls = vmInstallTypes[i].getVMInstalls();
int size2 = vmInstalls.length;
for (int j = 0; j < size2; j++) {
- installedJREs.add(vmInstalls[j]);
+ valid.add(vmInstalls[j]);
}
}
-
- // get names
- size = installedJREs.size();
- jreNames = new String[size+1];
- jreNames[0] = "Default JRE"; //$NON-NLS-1$
- for (int i = 0; i < size; i++) {
- IVMInstall vmInstall = installedJREs.get(i);
- jreNames[i+1] = vmInstall.getName();
- }
-
- //selectedVM = JavaRuntime.getDefaultVMInstall();
- //defaultVMIndex = installedJREs.indexOf(selectedVM);
- defaultVMIndex = 0;
+ return valid;
}
-
+
// WST API methods
public void enter() {
beenEntered = true;
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.xml
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.xml 2009-08-06 20:17:16 UTC (rev
16996)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.xml 2009-08-06 21:32:16 UTC (rev
16997)
@@ -30,9 +30,14 @@
point="org.eclipse.wst.server.ui.wizardFragments">
<fragment
class="org.jboss.ide.eclipse.as.ui.wizards.JBossRuntimeWizardFragment"
-
typeIds="org.jboss.ide.eclipse.as.runtime.32,org.jboss.ide.eclipse.as.runtime.40,org.jboss.ide.eclipse.as.runtime.42,org.jboss.ide.eclipse.as.runtime.50,org.jboss.ide.eclipse.as.runtime.51,org.jboss.ide.eclipse.as.runtime.eap.43,org.jboss.ide.eclipse.as.runtime.eap.50"
-
id="org.jboss.ide.eclipse.as.ui.jboss32RuntimeWizardFragmentragment"/>
+
typeIds="org.jboss.ide.eclipse.as.runtime.32,org.jboss.ide.eclipse.as.runtime.40,org.jboss.ide.eclipse.as.runtime.42,org.jboss.ide.eclipse.as.runtime.50,org.jboss.ide.eclipse.as.runtime.51,org.jboss.ide.eclipse.as.runtime.eap.43"
+ id="org.jboss.ide.eclipse.as.ui.JBossRuntimeWizardFragment"/>
+ <!-- Fragment for runtimes that require java 6 -->
<fragment
+
class="org.jboss.ide.eclipse.as.ui.wizards.JBossRuntimeJava6WizardFragment"
+ typeIds="org.jboss.ide.eclipse.as.runtime.eap.50"
+ id="org.jboss.ide.eclipse.as.ui.JBossRuntimeJava6WizardFragment"/>
+ <fragment
class="org.jboss.ide.eclipse.as.ui.wizards.JBossServerWizardFragment"
id="org.jboss.ide.eclipse.as.ui.jbossServerWizardFragment"
typeIds="org.jboss.ide.eclipse.as.32,org.jboss.ide.eclipse.as.40,org.jboss.ide.eclipse.as.42,org.jboss.ide.eclipse.as.50,org.jboss.ide.eclipse.as.51,org.jboss.ide.eclipse.as.eap.43,org.jboss.ide.eclipse.as.eap.50"/>