From: Mathieu Baudier Date: Thu, 8 Nov 2012 11:27:57 +0000 (+0000) Subject: Analyse issue with reasult display X-Git-Tag: argeo-slc-2.1.7~558 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=bd3dd55d464eea40020cdbb724bdbb7be5097b7f;hp=2bdb18c75fc87cd78ed18843149c469c180f3830;p=gpl%2Fargeo-slc.git Analyse issue with reasult display git-svn-id: https://svn.argeo.org/slc/trunk@5740 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrResultTreeView.java b/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrResultTreeView.java index 798e6f258..40b295c42 100644 --- a/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrResultTreeView.java +++ b/plugins/org.argeo.slc.client.ui/src/main/java/org/argeo/slc/client/ui/views/JcrResultTreeView.java @@ -141,6 +141,19 @@ public class JcrResultTreeView extends ViewPart { sashForm.setWeights(getWeights()); + try { + ObservationManager observationManager = session.getWorkspace() + .getObservationManager(); + resultsObserver = new ResultObserver(resultTreeViewer.getTree() + .getDisplay()); + observationManager.addEventListener(resultsObserver, + Event.NODE_MOVED | Event.NODE_ADDED | Event.NODE_REMOVED, + UserJcrUtils.getUserHome(session).getPath(), true, null, + observedNodeTypes, false); + } catch (RepositoryException e) { + throw new SlcException("Cannot register listeners", e); + } + // Refresh the view to initialize it refresh(null); } @@ -286,6 +299,33 @@ public class JcrResultTreeView extends ViewPart { public void setFocus() { } + /** + * refreshes the passed resultParent and its corresponding subtree. It + * refreshes the whole viewer if null is passed. + * + * @param ResultParent + * + */ + public void refresh(ResultParent resultParent) { + if (log.isDebugEnabled()) + log.debug("Refreshing '" + resultParent + "'..."); + // Thread.dumpStack(); + if (resultParent == null) { + resultTreeViewer.setInput(initializeResultTree()); + } else { + if (resultParent instanceof ParentNodeFolder) { + ParentNodeFolder currFolder = (ParentNodeFolder) resultParent; + jcrRefresh(currFolder.getNode()); + currFolder.forceFullRefresh(); + } + // FIXME: specific refresh does not work + // resultTreeViewer.refresh(currFolder, true); + TreePath[] tps = resultTreeViewer.getExpandedTreePaths(); + resultTreeViewer.setInput(initializeResultTree()); + resultTreeViewer.setExpandedTreePaths(tps); + } + } + /** * refreshes the passed node and its corresponding subtree. * @@ -294,6 +334,8 @@ public class JcrResultTreeView extends ViewPart { * */ public boolean jcrRefresh(Node node) { + if (log.isDebugEnabled()) + log.debug(" JCR refreshing " + node + "..."); boolean isPassed = true; try { if (node.isNodeType(SlcTypes.SLC_TEST_RESULT)) { @@ -323,46 +365,6 @@ public class JcrResultTreeView extends ViewPart { return isPassed; } - /** - * refreshes the passed resultParent and its corresponding subtree. It - * refreshes the whole viewer if null is passed. - * - * @param ResultParent - * - */ - public void refresh(ResultParent resultParent) { - if (resultParent == null) { - resultTreeViewer.setInput(initializeResultTree()); - if (resultsObserver == null) { - try { - ObservationManager observationManager = session - .getWorkspace().getObservationManager(); - resultsObserver = new ResultObserver(resultTreeViewer - .getTree().getDisplay()); - observationManager.addEventListener(resultsObserver, - Event.NODE_MOVED | Event.NODE_ADDED - | Event.NODE_REMOVED, UserJcrUtils - .getUserHome(session).getPath(), true, - null, observedNodeTypes, false); - } catch (RepositoryException e) { - throw new SlcException("Cannot register listeners", e); - } - } - - } else { - if (resultParent instanceof ParentNodeFolder) { - ParentNodeFolder currFolder = (ParentNodeFolder) resultParent; - jcrRefresh(currFolder.getNode()); - currFolder.forceFullRefresh(); - } - // FIXME: specific refresh does not work - // resultTreeViewer.refresh(currFolder, true); - TreePath[] tps = resultTreeViewer.getExpandedTreePaths(); - resultTreeViewer.setInput(initializeResultTree()); - resultTreeViewer.setExpandedTreePaths(tps); - } - } - private ResultParent[] initializeResultTree() { try { if (session.nodeExists(SlcJcrResultUtils @@ -670,6 +672,7 @@ public class JcrResultTreeView extends ViewPart { for (Event event : events) { i++; + // if (log.isDebugEnabled()) // log.debug("Received event " + event); int eventType = event.getType(); if (eventType == Event.NODE_REMOVED) {