Dear Saros Developers

I am currently digging through the code base and found this commit:

http://sourceforge.net/p/dpp/saros/ci/3a44b3156f1f3ab3cb16d94c5ead6c6bfabfced6/

There is no statement in the commit message why this change is needed.

Regarding the implementation it seems that the author believed that the 
saving is done
in the background / async.

Just dumping out a stack trace currently shows that this is not true.

     at 
de.fu_berlin.inf.dpp.util.BlockingProgressMonitor.done(BlockingProgressMonitor.java:46)
     at 
org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2356)
     at 
org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:118)
     at 
org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:75)
     at 
org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:65)
     at 
org.eclipse.ui.editors.text.TextFileDocumentProvider.executeOperation(TextFileDocumentProvider.java:456)
     at 
org.eclipse.ui.editors.text.TextFileDocumentProvider.saveDocument(TextFileDocumentProvider.java:772)
     at 
de.fu_berlin.inf.dpp.editor.EditorManager.saveText(EditorManager.java:1471)
     at 
de.fu_berlin.inf.dpp.editor.EditorManager.execEditorActivity(EditorManager.java:770)
     at 
de.fu_berlin.inf.dpp.editor.EditorManager$1.receive(EditorManager.java:185)
     at 
de.fu_berlin.inf.dpp.activities.business.EditorActivity.dispatch(EditorActivity.java:125)
     at 
de.fu_berlin.inf.dpp.editor.EditorManager.exec(EditorManager.java:756)
     at 
de.fu_berlin.inf.dpp.project.internal.SarosSession$2.execute(SarosSession.java:222)
     at 
de.fu_berlin.inf.dpp.project.internal.ActivityHandler$3.run(ActivityHandler.java:282)
     at de.fu_berlin.inf.dpp.util.Utils$6.run(Utils.java:323)
     at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
     at 
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
     at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140)
     at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)
     at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
     at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
     at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
     at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
     at 
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
     at 
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
     at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
     at 
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
     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:344)
     at 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
     at java.lang.reflect.Method.invoke(Unknown Source)
     at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
     at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
     at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
     at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

So my question again ... are there any IDocumentProvider that perform 
the saving in another thread
or is this just a classical Cargo Cult programming artifact ?

Best regards,
Stefan Rossbach

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
DPP-Devel mailing list
DPP-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dpp-devel

Reply via email to