Thanks very much for your analysis, Tim!
I strongly agree with you to present Exception to the user in an intuitive
manner.
Here are some of my thoughts
1. Present exception or failure to user with eclipse error dialog
- try to throw CoreException with IStatus object containing
information about the error, this will be captured by eclipse
and cause an
error dialog in eclipse
- If CoreException can't be thrown (eg. due to method signature of
WTP) and operation is in a Job with a monitor, a RuntimeException can be
thrown containing an error message. It will also cause an error dialog in
eclipse.
- If operation is not in a Job with a monitor, throwing
RuntimeException may not be captured by eclipse, so maybe no error dialog
show. In this case, I think GEP code need to pop up a error
dialog itself,
without resorting to eclipse.
2. Meanwhile, log the exception or failure in plug-in log with Trace
Any comments or suggestions? Please feel free to tell us.
Thanks
2009/7/23 Tim McConnell <[email protected]>
> Hi, I've spent a little time looking into this problem (i.e.,
> GERONIMODEVTOOLS-575) a bit more thoroughly so that I can fully understand
> what error scenarios need to be considered for inclusion in this JIRA. Delos
> has done a good job with his current patch as it covers many of the obvious
> error scenarios like "Start, Stop, Restart server", "Set , Reset, Remove
> Project runtime Target", "Publish, Republish, Remove module". However, there
> are other permutations and error scenarios that I think we should strive to
> handle as well. For example, there are at least two possible permutations
> for each of the above scenarios that should be accounted for:
>
> 1. Failure/Exception on the GEP side
> 2. Failure/Exception on the WTP side
>
> Also, there are other scenarios that entail interactions with WTP that I
> think should be addressed since they have caused considerable user
> confusion in the past when failures occur. For example (again considering
> failures on both GEP and WTP sides):
>
> -- Failure/Exception when connecting to the server
> -- Failure/Exception when invoking the "Run on Server" wizard
> instead of using the Add/Remove wizard
> -- Failure/Exception when logging in to the server from the GEP
> -- Probably many others that escape me now
>
> I guess what I'm really suggesting is that we need a consistent
> implementation throughout the GEP when interactions with WTP are involved so
> that Failures/Exceptions are presented to the user in an intuitive manner
> (e.g., an Error Dialog and/or Eclipse log messages). Unfortunately this is
> not the case today, but Delos has certainly started down the right track to
> mitigate many of these GEP usability problems. Thoughts ??
>
> --
> Thanks,
> Tim McConnell
>
--
Best Regards,
Delos