Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 406036 - enhance generic remote API to push review details
Summary: enhance generic remote API to push review details
Status: RESOLVED WONTFIX
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Mylyn (show other bugs)
Version: unspecified   Edit
Hardware: Macintosh Mac OS X
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Miles Parker CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 400168
  Show dependency tree
 
Reported: 2013-04-18 17:43 EDT by Miles Parker CLA
Modified: 2013-10-16 13:36 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Miles Parker CLA 2013-04-18 17:43:53 EDT
Now that we have pull/retrive, we need to support generic push.
Comment 1 Steffen Pingel CLA 2013-05-10 12:56:17 EDT
I got the following exceptions when clicking the refresh link in the editor header:

java.lang.NullPointerException
	at org.eclipse.mylyn.internal.gerrit.ui.factories.SubmitUiFactory.isExecutable(SubmitUiFactory.java:38)
	at org.eclipse.mylyn.reviews.ui.spi.factories.AbstractUiFactory.createControl(AbstractUiFactory.java:60)
	at org.eclipse.mylyn.reviews.ui.spi.factories.AbstractUiFactoryProvider.createButtons(AbstractUiFactoryProvider.java:38)
	at org.eclipse.mylyn.reviews.ui.spi.editor.ReviewSetContentSection.updateButtons(ReviewSetContentSection.java:333)
	at org.eclipse.mylyn.reviews.ui.spi.editor.ReviewSetContentSection.updateReview(ReviewSetContentSection.java:354)
	at org.eclipse.mylyn.reviews.ui.spi.editor.ReviewSetSection.updateModelContent(ReviewSetSection.java:84)
	at org.eclipse.mylyn.reviews.ui.spi.editor.AbstractReviewSection$1.update(AbstractReviewSection.java:69)
	at org.eclipse.mylyn.reviews.core.spi.remote.emf.RemoteEmfClient.checkUpdate(RemoteEmfClient.java:52)
	at org.eclipse.mylyn.reviews.ui.spi.editor.AbstractReviewSection.createContent(AbstractReviewSection.java:86)
	at org.eclipse.mylyn.internal.tasks.ui.editors.AbstractTaskEditorSection.createSectionClient(AbstractTaskEditorSection.java:129)
	at org.eclipse.mylyn.internal.tasks.ui.editors.AbstractTaskEditorSection.createControl(AbstractTaskEditorSection.java:59)
	at org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage.initializePart(AbstractTaskEditorPage.java:1309)
	at org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage.access$7(AbstractTaskEditorPage.java:1301)
	at org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage$14.run(AbstractTaskEditorPage.java:857)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage.createParts(AbstractTaskEditorPage.java:848)
	at org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage.createParts(AbstractTaskEditorPage.java:833)
	at org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage.createFormContentInternal(AbstractTaskEditorPage.java:720)
	at org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage.createFormContent(AbstractTaskEditorPage.java:665)
	at org.eclipse.ui.forms.editor.FormPage$1.run(FormPage.java:152)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.forms.editor.FormPage.createPartControl(FormPage.java:150)
	at org.eclipse.mylyn.tasks.ui.editors.AbstractTaskEditorPage.createPartControl(AbstractTaskEditorPage.java:618)
	at org.eclipse.ui.forms.editor.FormEditor.pageChange(FormEditor.java:471)
	at org.eclipse.ui.part.MultiPageEditorPart.setActivePage(MultiPageEditorPart.java:1067)
	at org.eclipse.ui.forms.editor.FormEditor.setActivePage(FormEditor.java:603)
	at org.eclipse.ui.forms.editor.SharedHeaderFormEditor.setActivePage(SharedHeaderFormEditor.java:110)
	at org.eclipse.mylyn.tasks.ui.editors.TaskEditor.addPages(TaskEditor.java:414)
	at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:138)
	at org.eclipse.ui.forms.editor.SharedHeaderFormEditor.createPages(SharedHeaderFormEditor.java:98)
	at org.eclipse.mylyn.tasks.ui.editors.TaskEditor.createPages(TaskEditor.java:196)
	at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:348)
	at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670)
	at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
	at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:289)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2958)
	at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2863)
	at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2855)
	at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2806)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2802)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2786)
	at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2769)
	at org.eclipse.mylyn.tasks.ui.TasksUiUtil.openEditor(TasksUiUtil.java:182)
	at org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal.openTask(TasksUiInternal.java:923)
	at org.eclipse.mylyn.tasks.ui.TasksUiUtil.openTask(TasksUiUtil.java:283)
	at org.eclipse.mylyn.internal.tasks.ui.util.TasksUiInternal.refreshAndOpenTaskListElement(TasksUiInternal.java:306)
	at org.eclipse.mylyn.internal.tasks.ui.actions.OpenTaskListElementAction.runWithEvent(OpenTaskListElementAction.java:56)
	at org.eclipse.mylyn.internal.tasks.ui.actions.OpenTaskListElementAction.run(OpenTaskListElementAction.java:47)
	at org.eclipse.mylyn.internal.tasks.ui.views.TaskListView$21.open(TaskListView.java:1293)
	at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:866)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
	at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:864)
	at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1152)
	at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1256)
	at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:275)
	at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:269)
	at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:309)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1276)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3562)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3186)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
Comment 2 Miles Parker CLA 2013-05-10 13:10:36 EDT
Hi Steffen,

From the stack trace, it looks like you are on https://git.eclipse.org/r/#/c/12229/ ? (If not, please verify against that.) Let's follow-up on bug 394020 comment 16. This bug is for the push APi which doesn't exist yet. :)

Sorry, I know it's confusing, but that's the bug that is tracking all of the persistence and notification behaviours as they all need to be addressed together.

thanks,

Miles
Comment 3 Steffen Pingel CLA 2013-05-10 19:52:29 EDT
You are right. Were can I find the review for push notifications?
Comment 4 Miles Parker CLA 2013-05-10 21:30:31 EDT
(In reply to comment #3)
> You are right. Were can I find the review for push notifications?

I'm not sure what you mean, but I haven't changed any of the code on the top of the stack trace that I think implicates this. This is all coming from life-cycle issues, e.g. in this case trying to create a submit button when we don't have a remote object. All of that is being addressed under https://git.eclipse.org/r/#/c/12229/. I'm not sure if that answers your question..
Comment 5 Steffen Pingel CLA 2013-06-03 09:17:13 EDT
Miles, what is left to do here?
Comment 6 Miles Parker CLA 2013-06-03 13:28:59 EDT
So this is the implementing the push side of the Remote API, but it isn't really as relevant for the Gerrit connector because of the way the UI and Remote API interact -- we really won't be using this for Reviews until we tackle bug 396315. The main driver has been for other Reviews tools (e.g. R4E). Pushing to 2.1.
Comment 7 Miles Parker CLA 2013-06-21 17:21:07 EDT
https://git.eclipse.org/r/#/c/13990/ Candidate implementation.
Comment 8 Steffen Pingel CLA 2013-07-30 05:13:09 EDT
Do we still have a driver to implement this at all?
Comment 9 Miles Parker CLA 2013-07-30 12:40:16 EDT
(In reply to comment #8)
> Do we still have a driver to implement this at all?

There isn't a *technical* driver as far as I can tell, but it was part of project deliverables and there may be a future consumption driver. Let me circle back w/ the sponsors and find out what the intention is.
Comment 10 Miles Parker CLA 2013-10-15 15:50:52 EDT
I'm going to mark this as WONTFIX as there isn't a status for WONTRELEASE. :D
Comment 11 Miles Parker CLA 2013-10-16 13:36:09 EDT
In addition to the review branch itself, I've created a topic branch in org.eclipse.mylyn.reviews:

http://git.eclipse.org/c/mylyn/org.eclipse.mylyn.reviews.git/log/?h=experimentalRemotePushAPI_bug406036