[jbosstools-issues] [JBoss JIRA] (JBIDE-25278) NullPointerException during saving Server Adapter for OpenShift application

Rob Stryker (JIRA) issues at jboss.org
Fri Oct 27 15:52:00 EDT 2017


    [ https://issues.jboss.org/browse/JBIDE-25278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13483060#comment-13483060 ] 

Rob Stryker commented on JBIDE-25278:
-------------------------------------

Ok... I need to rant.  I find this 100% ridiculous. 

{code}
	protected void update(Connection connection, List<Connection> connections, 
			org.eclipse.core.resources.IProject deployProject, List<org.eclipse.core.resources.IProject> projects, 
			String sourcePath, String podPath, boolean useInferredPodPath,
			IResource resource, List<ObservableTreeItem> resourceItems, 
			IRoute route, boolean isSelectDefaultRoute, Map<IProject, List<IRoute>> routesByProject,
			IStatus ocBinaryStatus,
			boolean useImageDevmodeKey, String devmodeKey, 
			boolean useImageDebugPortKey, String debugPortKey, boolean useImageDebugPortValue, String debugPortValue) {
{code}

This method keeps growing and growing and growing. Every single time a new property is added, this method gets larger and larger. And why? Why are we updating ALL properties whenever ONE property changes? This makes absolutely no sense. Zero. It's extremely messy and incomprehensible and I've had just about enough of it. Why can't we break this crap out into smaller units of functionality? Why does changing the route change everything? Why does changing the debug poirt key have to have any effect on the list of connections, or the oc binary status, etc etc etc? 

Why can't changing one field just be reserved for changing one field!??!?!

> NullPointerException during saving Server Adapter for OpenShift application 
> ----------------------------------------------------------------------------
>
>                 Key: JBIDE-25278
>                 URL: https://issues.jboss.org/browse/JBIDE-25278
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: openshift, server
>    Affects Versions: 4.5.1.Final
>            Reporter: Josef Kopriva
>
> 1. ASSERT: have a server editor for an application running on OpenShift
> 2. EXEC: open the editor
> 3. EXEC: uncheck "use image provided key" but no value for "Key" (which is an error)
> 4. EXEC: enter something in Key under  "use image provided key"
> Result: 
> NullPointerException:
> {code:java}
> java.lang.NullPointerException
> 	at org.eclipse.wst.server.ui.editor.ServerEditorPart.getSaveStatus(ServerEditorPart.java:196)
> 	at org.eclipse.wst.server.ui.internal.editor.ServerEditor.doSave(ServerEditor.java:340)
> 	at org.eclipse.ui.internal.SaveableHelper.lambda$0(SaveableHelper.java:154)
> 	at org.eclipse.ui.internal.SaveableHelper.lambda$3(SaveableHelper.java:271)
> 	at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:437)
> 	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:353)
> 	at org.eclipse.ui.internal.WorkbenchWindow$14.run(WorkbenchWindow.java:2195)
> 	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
> 	at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2191)
> 	at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:278)
> 	at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:259)
> 	at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:158)
> 	at org.eclipse.ui.internal.WorkbenchPage.saveSaveable(WorkbenchPage.java:3917)
> 	at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3931)
> 	at org.eclipse.ui.internal.handlers.SaveHandler.execute(SaveHandler.java:54)
> 	at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:291)
> 	at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:92)
> 	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:498)
> 	at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
> 	at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:305)
> 	at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:239)
> 	at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
> 	at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
> 	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:494)
> 	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)
> 	at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
> 	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:287)
> 	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:527)
> 	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:577)
> 	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:385)
> 	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:331)
> 	at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:88)
> 	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
> 	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1577)
> 	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1347)
> 	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1374)
> 	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1357)
> 	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1386)
> 	at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:768)
> 	at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:3527)
> 	at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:785)
> 	at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1976)
> 	at org.eclipse.swt.widgets.Control.windowProc(Control.java:6169)
> 	at org.eclipse.swt.widgets.Display.windowProc(Display.java:5528)
> 	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:9253)
> 	at org.eclipse.swt.widgets.Display.eventProc(Display.java:1252)
> 	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:2112)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4105)
> 	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
> 	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
> 	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039)
> 	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
> 	at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
> 	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
> 	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
> 	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
> 	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
> 	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:388)
> 	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
> 	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:498)
> 	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
> 	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
> 	at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
> 	at org.eclipse.equinox.launcher.Main.main(Main.java:1472)
> {code}



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jbosstools-issues mailing list