X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=server%2Fplugins%2Forg.argeo.jcr.ui.explorer%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fjcr%2Fui%2Fexplorer%2Futils%2FJcrUiUtils.java;h=ca32113ed52f523c544c7a897aff73b3ec720e5a;hb=4ae398701e9b425766ae3e974bda7460adc9cc68;hp=cee62f2fa4bb81c00cd12df40ee6310b993553fa;hpb=cd50e3711d3b86921f11d9e021fc6a43bef0d400;p=lgpl%2Fargeo-commons.git diff --git a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/utils/JcrUiUtils.java b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/utils/JcrUiUtils.java index cee62f2fa..ca32113ed 100644 --- a/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/utils/JcrUiUtils.java +++ b/server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/utils/JcrUiUtils.java @@ -20,10 +20,10 @@ import javax.jcr.RepositoryException; import org.argeo.ArgeoException; import org.argeo.eclipse.ui.TreeParent; -import org.argeo.jcr.ui.explorer.model.RepositoriesNode; -import org.argeo.jcr.ui.explorer.model.RepositoryNode; -import org.argeo.jcr.ui.explorer.model.SingleJcrNode; -import org.argeo.jcr.ui.explorer.model.WorkspaceNode; +import org.argeo.jcr.ui.explorer.model.RepositoriesElem; +import org.argeo.jcr.ui.explorer.model.RepositoryElem; +import org.argeo.jcr.ui.explorer.model.SingleJcrNodeElem; +import org.argeo.jcr.ui.explorer.model.WorkspaceElem; /** Centralizes some useful methods to build UIs with JCR */ public class JcrUiUtils { @@ -35,28 +35,34 @@ public class JcrUiUtils { boolean doRefresh = false; try { - if (element instanceof SingleJcrNode) { - curNode = ((SingleJcrNode) element).getNode(); - } else if (element instanceof WorkspaceNode) { - curNode = ((WorkspaceNode) element).getRootNode(); + if (element instanceof SingleJcrNodeElem) { + curNode = ((SingleJcrNodeElem) element).getNode(); + } else if (element instanceof WorkspaceElem) { + curNode = ((WorkspaceElem) element).getRootNode(); } if (curNode != null && element.getChildren().length != curNode.getNodes() .getSize()) doRefresh = true; - else if (element instanceof RepositoryNode) { - RepositoryNode rn = (RepositoryNode) element; + else if (element instanceof RepositoryElem) { + RepositoryElem rn = (RepositoryElem) element; if (rn.isConnected()) { String[] wkpNames = rn.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; + } else if (element instanceof RepositoriesElem) { + doRefresh = true; + // Always force refresh for RepositoriesElem : the condition + // below does not take remote repository into account and it is + // not trivial to do so. + + // RepositoriesElem rn = (RepositoriesElem) element; + // if (element.getChildren().length != + // rn.getRepositoryRegister() + // .getRepositories().size()) + // doRefresh = true; } if (doRefresh) { element.clearChildren();