]
Andre Dietisheim commented on JBIDE-22114:
------------------------------------------
The reason for this is quite simple: when typing into the text field (or by using the
content assist) the databinding that's active tries to transfer the value to the model
using the #setDeployProject method. The method was protected and the binding thus failed.
This didnt happen when using the "Browse" button because that was using the
method directly, not via binding.
Server Adapter wizard: project selected via content assist is
ignored
---------------------------------------------------------------------
Key: JBIDE-22114
URL:
https://issues.jboss.org/browse/JBIDE-22114
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: openshift
Affects Versions: 4.3.1.CR1
Reporter: Fred Bricon
Assignee: Andre Dietisheim
Priority: Blocker
Labels: openshift_v3, respin-b, server_adapter_wizard
Fix For: 4.3.1.CR1
Say you have 2 webapp projects in the workspace.
When you create an openshift server adapter, a default project is selected, if you switch
to another project, by typing the project name,
the source path is not updated. Even if you set the source path manually, the selected
project is ignored when creating the project (as seen in the server editor).
Using the browse button to select the project, then there is no problem
# ASSERT: have 2+ projects in your workspace
# ASSERT: have a running application in OpenShift
# EXEC: launch server adapter wizard
# EXEC: in wizard: open up "Advanced >>" so that you can see "Source
Path:"
# EXEC: in wizard: put curson into the text field for "Eclipse Project:",
delete the preselected project and start typing to match your other workspace project
(selecting it via "Browse" works flawlessley)
# ASSERT: content assist pops up and suggests your other project
# EXEC: select the suggested project
Result:
The source path is not updated
in the Eclipse log you can find the following:
{code}
java.lang.IllegalArgumentException: Missing public setter method for deployProject
property
at
org.eclipse.core.internal.databinding.beans.BeanPropertyHelper.writeProperty(BeanPropertyHelper.java:52)
at
org.eclipse.core.internal.databinding.beans.BeanValueProperty.doSetValue(BeanValueProperty.java:54)
at
org.eclipse.core.databinding.property.value.ValueProperty.setValue(ValueProperty.java:85)
at
org.eclipse.core.internal.databinding.property.value.SimplePropertyObservableValue.doSetValue(SimplePropertyObservableValue.java:111)
at
org.eclipse.core.databinding.observable.value.AbstractObservableValue.setValue(AbstractObservableValue.java:58)
at
org.eclipse.core.databinding.observable.value.DecoratingObservableValue.setValue(DecoratingObservableValue.java:111)
at
org.eclipse.core.databinding.observable.value.DecoratingObservableValue.setValue(DecoratingObservableValue.java:111)
at org.eclipse.core.databinding.UpdateValueStrategy.doSet(UpdateValueStrategy.java:487)
at org.eclipse.core.databinding.ValueBinding$3$1.run(ValueBinding.java:206)
at org.eclipse.core.databinding.observable.Realm$1.run(Realm.java:150)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.databinding.observable.Realm.safeRun(Realm.java:154)
at org.eclipse.core.databinding.observable.Realm.exec(Realm.java:172)
at org.eclipse.core.databinding.ValueBinding$3.run(ValueBinding.java:196)
at org.eclipse.core.databinding.observable.Realm$1.run(Realm.java:150)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.databinding.observable.Realm.safeRun(Realm.java:154)
at org.eclipse.core.databinding.observable.Realm.exec(Realm.java:172)
at org.eclipse.core.databinding.ValueBinding.doUpdate(ValueBinding.java:158)
at org.eclipse.core.databinding.ValueBinding.access$4(ValueBinding.java:147)
at org.eclipse.core.databinding.ValueBinding$1.handleValueChange(ValueBinding.java:46)
at
org.eclipse.core.databinding.observable.value.ValueChangeEvent.dispatch(ValueChangeEvent.java:63)
at
org.eclipse.core.databinding.observable.ChangeManager.fireEvent(ChangeManager.java:119)
at
org.eclipse.core.databinding.observable.value.DecoratingObservableValue.fireValueChange(DecoratingObservableValue.java:57)
at
org.eclipse.core.databinding.observable.value.DecoratingObservableValue.handleValueChange(DecoratingObservableValue.java:99)
at
org.eclipse.core.databinding.observable.value.DecoratingObservableValue$1.handleValueChange(DecoratingObservableValue.java:72)
at
org.eclipse.core.databinding.observable.value.ValueChangeEvent.dispatch(ValueChangeEvent.java:63)
at
org.eclipse.core.databinding.observable.ChangeManager.fireEvent(ChangeManager.java:119)
at
org.eclipse.core.databinding.observable.value.AbstractObservableValue.fireValueChange(AbstractObservableValue.java:74)
at
org.eclipse.core.internal.databinding.property.value.SimplePropertyObservableValue.notifyIfChanged(SimplePropertyObservableValue.java:127)
at
org.eclipse.core.internal.databinding.property.value.SimplePropertyObservableValue.access$2(SimplePropertyObservableValue.java:119)
at
org.eclipse.core.internal.databinding.property.value.SimplePropertyObservableValue$1$1.run(SimplePropertyObservableValue.java:69)
at org.eclipse.core.databinding.observable.Realm$1.run(Realm.java:150)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.databinding.observable.Realm.safeRun(Realm.java:154)
at org.eclipse.core.databinding.observable.Realm.exec(Realm.java:172)
at
org.eclipse.core.internal.databinding.property.value.SimplePropertyObservableValue$1.handleEvent(SimplePropertyObservableValue.java:65)
at
org.eclipse.core.databinding.property.NativePropertyListener.fireChange(NativePropertyListener.java:65)
at
org.eclipse.jface.internal.databinding.swt.WidgetListener.handleEvent(WidgetListener.java:56)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1329)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1334)
at org.eclipse.swt.widgets.Text.setText(Text.java:2591)
at org.eclipse.swt.widgets.Text.setText(Text.java:2517)
at
org.eclipse.jface.fieldassist.TextContentAdapter.setControlContents(TextContentAdapter.java:36)
at
org.eclipse.jface.fieldassist.ContentProposalAdapter.setControlContent(ContentProposalAdapter.java:1966)
at
org.eclipse.jface.fieldassist.ContentProposalAdapter.proposalAccepted(ContentProposalAdapter.java:1941)
at
org.eclipse.jface.fieldassist.ContentProposalAdapter.access$9(ContentProposalAdapter.java:1938)
at
org.eclipse.jface.fieldassist.ContentProposalAdapter$ContentProposalPopup.acceptCurrentProposal(ContentProposalAdapter.java:989)
at
org.eclipse.jface.fieldassist.ContentProposalAdapter$ContentProposalPopup.access$8(ContentProposalAdapter.java:982)
at
org.eclipse.jface.fieldassist.ContentProposalAdapter$ContentProposalPopup$TargetControlListener.handleEvent(ContentProposalAdapter.java:356)
at
org.eclipse.jface.fieldassist.ContentProposalAdapter$1.handleEvent(ContentProposalAdapter.java:1707)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1329)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1338)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1365)
at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:763)
at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:3325)
at org.eclipse.swt.widgets.Text.gtk_key_press_event(Text.java:1814)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1980)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:5685)
at org.eclipse.swt.widgets.Text.windowProc(Text.java:2789)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4717)
at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:9326)
at org.eclipse.swt.widgets.Display.eventProc(Display.java:1225)
at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:2435)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3428)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
at org.eclipse.jface.window.Window.open(Window.java:803)
at
org.eclipse.wst.server.ui.internal.actions.LaunchWizardAction.run(LaunchWizardAction.java:57)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
at
org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1329)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
at
org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at
org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
at
org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:694)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
{code}