]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - server/plugins/org.argeo.jcr.ui.explorer/src/main/java/org/argeo/jcr/ui/explorer/utils/JcrUiUtils.java
Desactivate file download by double click in the Jcr Explorer browser: RAP 2.x APIS...
[lgpl/argeo-commons.git] / server / plugins / org.argeo.jcr.ui.explorer / src / main / java / org / argeo / jcr / ui / explorer / utils / JcrUiUtils.java
index e8c0cb7a29871794f0f0c07e4ba6236fd44fabb4..ca32113ed52f523c544c7a897aff73b3ec720e5a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2007-2012 Mathieu Baudier
+ * Copyright (C) 2007-2012 Argeo GmbH
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -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();