[EMFStore] UI controller problems [message #1334244] |
Mon, 05 May 2014 13:21 |
Scott Dybiec Messages: 148 Registered: July 2009 |
Senior Member |
|
|
I fixed a couple problems that I think are bugs. If you agree they are
bugs, can you include these patches in the next release?
First, I ran into a UI deadlock situation when sharing a project --- two
threads waiting on the UI thread, so I changed the constructors in
org.eclipse.emf.emfstore.internal.client.ui.controller.UIShareProjectController
to not fork to avoid this deadlock.
public UIShareProjectController(Shell shell, ESLocalProject
localProject) {
super(shell, false, false);
this.localProject = localProject;
}
public UIShareProjectController(Shell shell, ESUsersession
usersession, ESLocalProject localProject) {
super(shell, false, true);
this.usersession = usersession;
this.localProject = localProject;
}
The commit controller already does not fork, so no changed needed there.
Second, I found that it's not possible to delete an unshared project
using the UIDeleteProjectController. Getting the version number requires
a shared project. I updated this method:
private boolean confirmation(final ESLocalProject localProject) {
String message = "Do you really want to delete your local copy of
project \"" + localProject.getProjectName();
if (localProject.isShared() && localProject.getBaseVersion() != null) {
message += "\n in version " +
localProject.getBaseVersion().getIdentifier();
}
message += " ?";
return confirm("Confirmation", message);
}
Scott
|
|
|
Re: [EMFStore] UI controller problems [message #1338796 is a reply to message #1334244] |
Wed, 07 May 2014 11:27 |
Edgar Mueller Messages: 89 Registered: March 2011 |
Member |
|
|
Hi Scott,
thanks for the reports. Regarding the first issue you encountered: which
two threads exactly do you mean? Did you execute share twice? Ideally,
can you provide us with a test case or some reproduciable?
We tend to fork long running operations to have the UI update smoothly
while a long running operation is performed. Looking at the share
controller I can only imagine a possible problem, so it would be great
if you could tell us what exactly you mean when you are referring to
'two threads'.
The issue about the UIDeleteProjectController will be fixed with the
next minor release.
Thanks!
Cheers,
Edgar
Am 05.05.2014 15:21, schrieb scott@xxxxxxxx:
> I fixed a couple problems that I think are bugs. If you agree they are
> bugs, can you include these patches in the next release?
>
> First, I ran into a UI deadlock situation when sharing a project --- two
> threads waiting on the UI thread, so I changed the constructors in
> org.eclipse.emf.emfstore.internal.client.ui.controller.UIShareProjectController
> to not fork to avoid this deadlock.
>
> public UIShareProjectController(Shell shell, ESLocalProject
> localProject) {
> super(shell, false, false);
> this.localProject = localProject;
> }
>
> public UIShareProjectController(Shell shell, ESUsersession
> usersession, ESLocalProject localProject) {
> super(shell, false, true);
> this.usersession = usersession;
> this.localProject = localProject;
> }
>
> The commit controller already does not fork, so no changed needed there.
>
> Second, I found that it's not possible to delete an unshared project
> using the UIDeleteProjectController. Getting the version number requires
> a shared project. I updated this method:
>
> private boolean confirmation(final ESLocalProject localProject) {
> String message = "Do you really want to delete your local copy
> of project \"" + localProject.getProjectName();
>
> if (localProject.isShared() && localProject.getBaseVersion() !=
> null) {
> message += "\n in version " +
> localProject.getBaseVersion().getIdentifier();
> }
>
> message += " ?";
>
> return confirm("Confirmation", message);
> }
>
> Scott
--
Edgar Mueller
Get Professional Eclipse Support: http://eclipsesource.com/munich
|
|
|
Powered by
FUDForum. Page generated in 0.02509 seconds