- // we mainly rely on nb of children
- if (element.getChildren().length == curNode.getNodes().getSize())
- return;
- else {
- // get rid of children of UI object
+ if (element instanceof SingleJcrNode) {
+ curNode = ((SingleJcrNode) element).getNode();
+ } else if (element instanceof WorkspaceNode) {
+ curNode = ((WorkspaceNode) element).getRootNode();
+ }
+
+ if (curNode != null
+ && element.getChildren().length != curNode.getNodes()
+ .getSize())
+ doRefresh = true;
+ else if (element instanceof RepositoryNode) {
+ RepositoryNode rn = (RepositoryNode) element;
+ String[] wkpNames = rn.getDefaultSession().getWorkspace()
+ .getAccessibleWorkspaceNames();
+ if (element.getChildren().length != wkpNames.length)
+ doRefresh = true;
+ } else if (element instanceof RepositoriesNode) {
+ RepositoriesNode rn = (RepositoriesNode) element;
+ if (element.getChildren().length != rn.getRepositoryRegister()
+ .getRepositories().size())
+ doRefresh = true;
+ }
+ if (doRefresh) {