Author: dennyxu
Date: 2008-09-03 03:52:03 -0400 (Wed, 03 Sep 2008)
New Revision: 10039
Added:
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/controls/ComboBoxField.java
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/controls/ComboFieldEditor.java
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/controls/ITaggedFieldEditor.java
Modified:
trunk/esb/plugins/org.jboss.tools.esb.project.core/plugin.xml
trunk/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/runtime/JBossRuntimeManager.java
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/controls/JBossRuntimeListFieldEditor.java
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/messages/JBossESBUI.properties
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/messages/JBossESBUIMessages.java
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/wizards/pages/ESBFacetInstallationPage.java
Log:
JBIDE-2384: filter esb runtimes by esb facet version when show available esb runtimes in
esb project creation wizard
Modified: trunk/esb/plugins/org.jboss.tools.esb.project.core/plugin.xml
===================================================================
--- trunk/esb/plugins/org.jboss.tools.esb.project.core/plugin.xml 2008-09-02 20:53:46 UTC
(rev 10038)
+++ trunk/esb/plugins/org.jboss.tools.esb.project.core/plugin.xml 2008-09-03 07:52:03 UTC
(rev 10039)
@@ -40,6 +40,10 @@
facet="jst.jboss.esb">
</fixed>
</template>
+ <project-facet-version
+ facet="jst.jboss.esb"
+ version="4.4">
+ </project-facet-version>
</extension>
<extension
point="org.eclipse.wst.common.project.facet.core.runtimes">
Modified:
trunk/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/runtime/JBossRuntimeManager.java
===================================================================
---
trunk/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/runtime/JBossRuntimeManager.java 2008-09-02
20:53:46 UTC (rev 10038)
+++
trunk/esb/plugins/org.jboss.tools.esb.project.core/src/org/jboss/tools/esb/core/runtime/JBossRuntimeManager.java 2008-09-03
07:52:03 UTC (rev 10039)
@@ -137,6 +137,19 @@
return null;
}
+ public JBossRuntime[] findRuntimeByVersion(String version) {
+ if(version == null || "".equals(version)){
+ return getRuntimes();
+ }
+ List<JBossRuntime> rts = new ArrayList<JBossRuntime>();
+ for (JBossRuntime jbossWSRuntime : runtimes.values()) {
+ if (jbossWSRuntime.getVersion().equals(version)) {
+ rts.add(jbossWSRuntime);
+ }
+ }
+ return rts.toArray(new JBossRuntime[]{});
+ }
+
public List<String> getAllRuntimeJars(JBossRuntime rt){
List<String> jarList = new ArrayList<String>();
if (rt != null) {
Added:
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/controls/ComboBoxField.java
===================================================================
---
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/controls/ComboBoxField.java
(rev 0)
+++
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/controls/ComboBoxField.java 2008-09-03
07:52:03 UTC (rev 10039)
@@ -0,0 +1,147 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.esb.project.ui.preference.controls;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.jface.viewers.ComboViewer;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ILabelProviderListener;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredContentProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * @author eskimo
+ *
+ */
+public class ComboBoxField extends BaseField implements ISelectionChangedListener {
+
+ ComboViewer comboControl = null;
+ List values = new ArrayList();
+
+ public ComboBoxField(Composite parent,List values, ILabelProvider labelProvider,
+ Object value, boolean flatStyle) {
+ this(parent, values, value, flatStyle);
+ comboControl.setLabelProvider(labelProvider);
+ }
+
+ public ComboBoxField(Composite parent,List values, Object value, boolean editable) {
+ this.values = values;
+ /*
+ * Used combo box instead of custom combobox(CCombo),
+ * CCombo looks ugly under MAC OS X
+ */
+ Combo combo;
+ if(editable==true) {
+
+ combo = new Combo(parent, SWT.DROP_DOWN);
+ } else {
+ combo = new Combo(parent, SWT.READ_ONLY);
+ }
+ combo.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WHITE));
+ comboControl = new ComboViewer(combo);
+ comboControl.setContentProvider(new IStructuredContentProvider() {
+
+ public void dispose() {
+ }
+
+ public void inputChanged(Viewer viewer, Object oldInput,
+ Object newInput) {
+ }
+
+ public Object[] getElements(Object inputElement) {
+ return ComboBoxField.this.values.toArray();
+ }
+ });
+
+ comboControl.addSelectionChangedListener(this);
+ comboControl.getCombo().addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ firePropertyChange(new Object(), comboControl.getCombo().getText());
+ }});
+ comboControl.setLabelProvider(new ILabelProvider() {
+ public void addListener(ILabelProviderListener listener) {
+ }
+
+ public void dispose() {
+ }
+
+ public boolean isLabelProperty(Object element, String property) {
+ return false;
+ }
+
+ public void removeListener(ILabelProviderListener listener) {
+ }
+
+ public Image getImage(Object element) {
+ return null;
+ }
+
+ public String getText(Object element) {
+ return element.toString();
+ }
+ });
+ comboControl.setInput(values);
+ comboControl.setSelection(new StructuredSelection(value), true);
+ }
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+
+ public void selectionChanged(SelectionChangedEvent event) {
+ firePropertyChange("",
((StructuredSelection)event.getSelection()).getFirstElement()); //$NON-NLS-1$
+ }
+
+ public Combo getComboControl() {
+ return comboControl.getCombo();
+ }
+
+ @Override
+ public Control getControl() {
+ return getComboControl();
+ }
+
+ public void setValue(Object newValue) {
+ comboControl.setSelection(new StructuredSelection(newValue));
+ comboControl.getCombo().setText(newValue.toString());
+ }
+
+ public void setTags(String[] tags,String value) {
+ values = Arrays.asList(tags);
+ comboControl.removeSelectionChangedListener(this);
+ comboControl.refresh(true);
+ comboControl.addPostSelectionChangedListener(this);
+ comboControl.setSelection(new StructuredSelection(value));
+ }
+ /*
+ * We can't modify combo, change style of this object,
+ * if we such functionality please use CCombo
+ *
+ */
+ public void setEditable(
+ boolean ediatble) {
+ //comboControl.getCCombo().setEditable(false);
+ }
+}
\ No newline at end of file
Added:
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/controls/ComboFieldEditor.java
===================================================================
---
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/controls/ComboFieldEditor.java
(rev 0)
+++
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/controls/ComboFieldEditor.java 2008-09-03
07:52:03 UTC (rev 10039)
@@ -0,0 +1,121 @@
+
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.esb.project.ui.preference.controls;
+
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+public class ComboFieldEditor extends BaseFieldEditor implements
ITaggedFieldEditor,PropertyChangeListener{
+
+ List values = null;
+
+ boolean editable = false;
+
+ public ComboFieldEditor(String name, String label, List values,Object
defaultValue,boolean editableSelection) {
+ super(name, label, defaultValue);
+ this.values = Collections.unmodifiableList(values);
+ this.editable = editableSelection;
+ }
+
+ private ComboBoxField comboField;
+
+ @Override
+ public Object[] getEditorControls(Object composite) {
+ return new Control[] {getComboControl((Composite)composite)};
+ }
+
+ @Override
+ public void doFillIntoGrid(Object parent) {
+ }
+
+ public Control getComboControl(Composite composite) {
+ if(comboField == null) {
+ comboField = new ComboBoxField(composite,values,getValue(),editable);
+ comboField.addPropertyChangeListener(this);
+ final Combo combo =comboField.getComboControl();
+ combo.addDisposeListener(new DisposeListener(){
+ public void widgetDisposed(DisposeEvent e) {
+ dispose(e);
+ combo.removeDisposeListener(this);
+ }
+ });
+ } else if(composite!=null) {
+ Assert.isTrue(comboField.getControl().getParent()==composite);
+ }
+ return comboField.getControl();
+ }
+
+ @Override
+ public Object[] getEditorControls() {
+ return new Control[]{comboField.getControl()};
+ }
+
+ public void save(Object object) {
+ }
+
+ public void propertyChange(PropertyChangeEvent evt) {
+ setValue(evt.getNewValue());
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.seam.ui.widget.editor.ITaggedFieldEditor#getTags()
+ */
+ public String[] getTags() {
+ return comboField.getComboControl().getItems();
+ }
+
+ /* (non-Javadoc)
+ * @see
org.jboss.tools.seam.ui.widget.editor.ITaggedFieldEditor#setTags(java.lang.String[])
+ */
+ public void setTags(String[] tags) {
+ comboField.setTags(tags,getValueAsString());
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.tools.seam.ui.widget.editor.BaseFieldEditor#getNumberOfControls()
+ */
+ @Override
+ public int getNumberOfControls() {
+ return 1;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.jboss.tools.seam.ui.widget.editor.CompositeEditor#setEditable(boolean)
+ */
+ @Override
+ public void setEditable(boolean ediatble) {
+ super.setEditable(ediatble);
+ comboField.setEditable(ediatble);
+ }
+
+ public void setValue(Object newValue) {
+ if(newValue==null) {
+ return;
+ }
+ super.setValue(newValue);
+ if(comboField!=null) {
+ comboField.removePropertyChangeListener(this);
+ comboField.setValue(newValue.toString());
+ comboField.addPropertyChangeListener(this);
+ }
+ }
+}
\ No newline at end of file
Added:
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/controls/ITaggedFieldEditor.java
===================================================================
---
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/controls/ITaggedFieldEditor.java
(rev 0)
+++
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/controls/ITaggedFieldEditor.java 2008-09-03
07:52:03 UTC (rev 10039)
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.esb.project.ui.preference.controls;
+
+public interface ITaggedFieldEditor extends IFieldEditor {
+
+ /**
+ *
+ * @return
+ */
+ public String[] getTags();
+
+ /**
+ *
+ * @param tags
+ */
+ public void setTags(String[] tags);
+}
Modified:
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/controls/JBossRuntimeListFieldEditor.java
===================================================================
---
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/controls/JBossRuntimeListFieldEditor.java 2008-09-02
20:53:46 UTC (rev 10038)
+++
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/controls/JBossRuntimeListFieldEditor.java 2008-09-03
07:52:03 UTC (rev 10039)
@@ -57,6 +57,10 @@
import org.eclipse.swt.widgets.DirectoryDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.jboss.tools.esb.core.ESBProjectUtilities;
import org.jboss.tools.esb.core.runtime.JBossRuntime;
import org.jboss.tools.esb.core.runtime.JBossRuntimeManager;
import org.jboss.tools.esb.project.ui.preference.messages.JBossESBUIMessages;
@@ -419,8 +423,8 @@
IFieldEditor name = createTextEditor(SRT_NAME,
JBossESBUIMessages.JBossWS_Runtime_List_Field_Editor_Name2, "");
//$NON-NLS-1$
- IFieldEditor version = createTextEditor(SRT_VERSION,
- JBossESBUIMessages.JBossWS_Runtime_List_Field_Editor_Version, "");
//$NON-NLS-1$
+ IFieldEditor version = createComboEditor(SRT_VERSION,
+ JBossESBUIMessages.JBossWS_Runtime_List_Field_Editor_Version, getESBFacetVersions(),
""); //$NON-NLS-1$
IFieldEditor homeDir = createBrowseFolderEditor(
SRT_HOMEDIR,
@@ -496,6 +500,12 @@
setPageComplete(false);
return;
}
+
+ if(version.getValueAsString() == null ||
"".equals(version.getValueAsString())){
+ setErrorMessage(JBossESBUIMessages.Error_JBossWS_Runtime_List_Field_Editor_Version_Cannot_Be_Empty);
+ setPageComplete(false);
+ return;
+ }
if (!name.getValueAsString().matches(
"[a-zA-Z_][a-zA-Z0-9_\\-\\. ]*")) { //$NON-NLS-1$
@@ -566,6 +576,15 @@
return true;
}
+ private List<String> getESBFacetVersions(){
+ List<String> versions = new ArrayList<String>();
+ IProjectFacet esbfacet =
ProjectFacetsManager.getProjectFacet(ESBProjectUtilities.ESB_PROJECT_FACET);
+ for(IProjectFacetVersion version: esbfacet.getVersions()){
+ versions.add(version.getVersionString());
+ }
+
+ return versions;
+ }
/**
* Return JBossWS Runtime instance initialized by user input
*
@@ -592,6 +611,16 @@
return editor;
}
+ public IFieldEditor createComboEditor(String name, String label,
+ List<String> values, String defaultValue) {
+ CompositeEditor editor = new CompositeEditor(name, label,
+ defaultValue);
+ editor.addFieldEditors(new IFieldEditor[] {
+ new LabelFieldEditor(name, label),
+ new ComboFieldEditor(name, label, values, defaultValue, false) });
+ return editor;
+ }
+
public IFieldEditor createBrowseFolderEditor(String name, String label,
String defaultValue) {
CompositeEditor editor = new CompositeEditor(name, label,
Modified:
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/messages/JBossESBUI.properties
===================================================================
---
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/messages/JBossESBUI.properties 2008-09-02
20:53:46 UTC (rev 10038)
+++
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/messages/JBossESBUI.properties 2008-09-03
07:52:03 UTC (rev 10039)
@@ -25,6 +25,7 @@
JBossWS_Runtime_List_Field_Editor_Runtime=JBoss ESB Runtime
Error_JBossWS_Runtime_List_Field_Editor_Runtime_Name_Is_Not_Correct=Runtime name is not
correct
Error_JBossWS_Runtime_List_Field_Editor_Name_Cannot_Be_Empty=Name cannot be empty
+Error_JBossWS_Runtime_List_Field_Editor_Version_Cannot_Be_Empty=Version cannot be empty
JBossWS_Runtime_List_Field_Editor_Create_A_Runtime=Create a JBoss ESB Runtime
JBossWS_Runtime_List_Field_Editor_Home_Folder=Home Folder:
JBossWS_Composite_Editor_This_Method_Can_Be_Invoked=This metod can be invoked after
getEditorControls(parent) only
Modified:
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/messages/JBossESBUIMessages.java
===================================================================
---
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/messages/JBossESBUIMessages.java 2008-09-02
20:53:46 UTC (rev 10038)
+++
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/preference/messages/JBossESBUIMessages.java 2008-09-03
07:52:03 UTC (rev 10039)
@@ -52,6 +52,7 @@
public static String JBossWS_Runtime_List_Field_Editor_Runtime;
public static String
Error_JBossWS_Runtime_List_Field_Editor_Runtime_Name_Is_Not_Correct;
public static String Error_JBossWS_Runtime_List_Field_Editor_Name_Cannot_Be_Empty;
+ public static String Error_JBossWS_Runtime_List_Field_Editor_Version_Cannot_Be_Empty;
public static String JBossWS_Runtime_List_Field_Editor_Create_A_Runtime;
public static String JBossWS_Runtime_List_Field_Editor_Home_Folder;
public static String JBossWS_Composite_Editor_This_Method_Can_Be_Invoked;
Modified:
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/wizards/pages/ESBFacetInstallationPage.java
===================================================================
---
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/wizards/pages/ESBFacetInstallationPage.java 2008-09-02
20:53:46 UTC (rev 10038)
+++
trunk/esb/plugins/org.jboss.tools.esb.project.ui/src/org/jboss/tools/esb/project/ui/wizards/pages/ESBFacetInstallationPage.java 2008-09-03
07:52:03 UTC (rev 10039)
@@ -25,9 +25,16 @@
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
+import
org.eclipse.wst.common.componentcore.datamodel.properties.IFacetProjectCreationDataModelProperties;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
import org.eclipse.wst.common.project.facet.core.IFacetedProject;
import org.eclipse.wst.common.project.facet.core.IFacetedProjectWorkingCopy;
+import org.eclipse.wst.common.project.facet.core.IProjectFacet;
+import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
+import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
+import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
+import org.eclipse.wst.common.project.facet.core.internal.ValidationProblem.Type;
import org.eclipse.wst.common.project.facet.ui.AbstractFacetWizardPage;
import org.eclipse.wst.common.project.facet.ui.IFacetWizardPage;
import org.jboss.tools.esb.core.ESBProjectUtilities;
@@ -73,8 +80,23 @@
//synchHelper.synchText(configFolder, CONTENT_DIR, null);
Dialog.applyDialogFont(parent);
-
+ // add listener to listen the changes on the project facet
+ final IFacetedProjectWorkingCopy fpwc = getFacetedProjectWorkingCopy();
+ fpwc.addListener(new IFacetedProjectListener(){
+
+ public void handleEvent(IFacetedProjectEvent event) {
+ IProjectFacet facet =
ProjectFacetsManager.getProjectFacet(ESBProjectUtilities.ESB_PROJECT_FACET);
+ IProjectFacetVersion version = fpwc.getProjectFacetVersion(facet);
+ if(version != null){
+ initializeRuntimesCombo(cmbRuntimes, null, version.getVersionString());
+ }else{
+ initializeRuntimesCombo(cmbRuntimes, null);
+ }
+
+ }
+ }, IFacetedProjectEvent.Type.PROJECT_FACETS_CHANGED);
+
return composite;
}
@@ -131,13 +153,16 @@
}
- private JavaFacetInstallConfig findJavaFacetInstallConfig()
- {
+ private IFacetedProjectWorkingCopy getFacetedProjectWorkingCopy(){
ESBProjectWizard wizard = (ESBProjectWizard)this.getWizard();
IDataModel wModel = wizard.getDataModel();
final IFacetedProjectWorkingCopy fpjwc
= (IFacetedProjectWorkingCopy) wModel.getProperty(
FACETED_PROJECT_WORKING_COPY );
-
+ return fpjwc;
+ }
+ private JavaFacetInstallConfig findJavaFacetInstallConfig()
+ {
+ final IFacetedProjectWorkingCopy fpjwc = getFacetedProjectWorkingCopy();
if( fpjwc != null )
{
final IFacetedProject.Action javaInstallAction
@@ -230,18 +255,21 @@
.getActiveShell(), newRtwizard);
if (dialog.open() == WizardDialog.OK) {
initializeRuntimesCombo(cmbRuntimes, null);
- //cmbRuntimes.select(0);
}
}
- protected void initializeRuntimesCombo(Combo cmRuntime, String runtimeName) {
+ protected void initializeRuntimesCombo(Combo cmRuntime, String runtimeName, String
version) {
JBossRuntime selectedJbws = null;
JBossRuntime defaultJbws = null;
int selectIndex = 0;
int defaultIndex = 0;
+
cmRuntime.removeAll();
+ if(runtimeName == null || "".equals(runtimeName)){
+ runtimeName = model.getStringProperty(IJBossESBFacetDataModelProperties.RUNTIME_ID);
+ }
JBossRuntime[] runtimes = JBossRuntimeManager.getInstance()
- .getRuntimes();
+ .findRuntimeByVersion(version);
for (int i = 0; i < runtimes.length; i++) {
JBossRuntime jr = runtimes[i];
cmRuntime.add(jr.getName());
@@ -259,14 +287,33 @@
}
if(selectedJbws != null){
- cmRuntime.select(selectIndex);
- saveJBosswsRuntimeToModel(selectedJbws);
+ cmRuntime.select(selectIndex);
+ saveJBosswsRuntimeToModel(selectedJbws);
}else if(defaultJbws != null){
cmRuntime.select(defaultIndex);
saveJBosswsRuntimeToModel(defaultJbws);
}
}
+
+ protected void initializeRuntimesCombo(Combo cmRuntime, String runtimeName) {
+ IProjectFacetVersion version = getSelectedESBVersion();
+ if(version != null){
+ initializeRuntimesCombo(cmbRuntimes, null, version.getVersionString());
+
+ }else{
+ initializeRuntimesCombo(cmbRuntimes, null, "");
+
+ }
+ }
+ private IProjectFacetVersion getSelectedESBVersion(){
+ IFacetedProjectWorkingCopy fpwc = getFacetedProjectWorkingCopy();
+ IProjectFacet facet =
ProjectFacetsManager.getProjectFacet(ESBProjectUtilities.ESB_PROJECT_FACET);
+
+ return fpwc.getProjectFacetVersion(facet);
+
+ }
+
protected void saveJBosswsRuntimeToModel(JBossRuntime jbws) {
/* String duplicateMsg = "";
try {