Details
-
Bug
-
Resolution: Fixed
-
Major
-
1.2 RC1
-
None
-
None
Description
First of all, sorry for the size of this patch and the large number of issues but I noticed problems as I was fixing others so they kind of stacked up a bit.
During this week, I have worked on a series of issues regarding XEclipse that I would like to share and hope that they will make it into version 1.2. The list follows.
Bugs:
- new page wizard input validation and check if page already exists.
- new page/object/space visual inconsistencies:
- new elements not added to the tree without a refresh
- last page deleted from a space does not remove the space also.
- OBJECT_REMOVED event handling in PageEditor class handled the event data as a String instead of an XWikiEclipseObject, thus throwing an exception.
- Locally stored spaces have to be deleted if no pages are stored inside them. If not, when reconnecting, the tree needs to be refreshed in order for the spaces to expand correctly.
- Delete connection as described in
XECLIPSE-108, but without refreshing the whole tree navigation, only removing de specified item. - LocalXWikiDataStorage.removePage(String pageId) has to remove the actual content of the objects belonging to a page, not only their indexes.
Improvements:
- implemented exists() method to check if a page already exists.
- Refresh command improvements as described in
XECLIPSE-101but now able to issue the Refresh command on a space also. Fixed a minor bug that slipped intoXECLIPSE-101too.
New Features:
- added delete entire space command and a new CoreEvent type - SPACE_REMOVED.
- if a page being edited gets deleted from the tree navigator(delete on page/space/connection), the editor closes.
Failed bugfix attempts:
- Tried to fix the Refresh command's behaviour on the tree, collapsing it's contents instead of restoring the expanded state. Did just that, only that it would not work. Details in code.
- NavigatorContentProvider - DATA_MANAGER_REGISTERED core event must not refresh whole tree, only add the new dataManager. Tried to fix but failed. Details in code.
I hope to hear some opinions on this. Thanks.