Move to the root the bundles which will be part of v1.4 and v2.2
[lgpl/argeo-commons.git] / server / plugins / org.argeo.jcr.ui.explorer / src / main / java / org / argeo / jcr / ui / explorer / utils / JcrUiUtils.java
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
deleted file mode 100644 (file)
index ca32113..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * 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.
- * You may obtain a copy of the License at
- *
- *         http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.argeo.jcr.ui.explorer.utils;
-
-import javax.jcr.Node;
-import javax.jcr.RepositoryException;
-
-import org.argeo.ArgeoException;
-import org.argeo.eclipse.ui.TreeParent;
-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 {
-
-       /** Insure that the UI component is not stale, refresh if needed */
-       public static void forceRefreshIfNeeded(TreeParent element) {
-               Node curNode = null;
-
-               boolean doRefresh = false;
-
-               try {
-                       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 RepositoryElem) {
-                               RepositoryElem rn = (RepositoryElem) element;
-                               if (rn.isConnected()) {
-                                       String[] wkpNames = rn.getAccessibleWorkspaceNames();
-                                       if (element.getChildren().length != wkpNames.length)
-                                               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();
-                               element.getChildren();
-                       }
-               } catch (RepositoryException re) {
-                       throw new ArgeoException(
-                                       "Unexpected error while synchronising the UI with the JCR repository",
-                                       re);
-               }
-       }
-
-       /**
-        * Insure that a model element is inline with the underlying data by
-        * cleaning the corresponding subtree and building it again.
-        */
-       public static void forceRebuild(TreeParent element) {
-               // TODO implement this method if needed.
-       }
-       /**
-        * Workaround to get the alias of the repository that contains the given
-        * element. As we cannot browse the UI tree upward we recursively browse it
-        * downward until we find the given element
-        * */
-       // public static String getRepositoryAliasFromITreeElement(
-       // NodeContentProvider ncp, Object element) {
-       // RepositoryNode repositoryNode = null;
-       // if (element instanceof RepositoryNode)
-       // return ((RepositoryNode) element).getName();
-       // else if (element instanceof RepositoryRegister)
-       // throw new ArgeoException(
-       // "Cannot get alias for a repository register");
-       //
-       // // Get root elements
-       // Object[] elements = ncp.getElements(null);
-       //
-       // try {
-       // for (int i = 0; i < elements.length; i++) {
-       // if (elements[i] instanceof Node) {
-       // Node curNode = (Node) elements[i];
-       // if (curNode.isNodeType(ArgeoTypes.ARGEO_USER_HOME)) {
-       // // Do nothing, we'll find the node in the "normal" tree
-       // // and
-       // // get corresponding alias this way round
-       // } else
-       // throw new ArgeoException(
-       // "Normal nodes should not be at the root of NodeTreeViewer");
-       // } else if (elements[i] instanceof RepositoryRegister) {
-       // RepositoryRegister repositoryRegister = (RepositoryRegister) elements[i];
-       // Map<String, Repository> repositories = repositoryRegister
-       // .getRepositories();
-       //
-       // for (String name : repositories.keySet()) {
-       // boolean found = isElementInCurrentTreePart(
-       // ncp,
-       // new RepositoryNode(name, repositories.get(name)),
-       // (Node) element);
-       // if (found)
-       // return name;
-       // }
-       // } else
-       // throw new ArgeoException(
-       // "Unexpected object class at the root of NodeTreeViewer");
-       // }
-       // } catch (RepositoryException re) {
-       // throw new ArgeoException(
-       // "Unexpected error while retrieving Alias name", re);
-       // }
-       // return null;
-       // }
-       //
-       // /** implements the recursivity */
-       // private static boolean isElementInCurrentTreePart(NodeContentProvider
-       // ncp,
-       // Object parentElement, NodParente searchedElement) {
-       // boolean found = false;
-       // if (parentElement instanceof WorkspaceNode) {
-       // WorkspaceNode wn = (WorkspaceNode) parentElement;
-       // Object[] children = wn.getChildren();
-       // int i = children.length - 1;
-       // while (!found && i >= 0) {
-       // found = isElementInCurrentTreePart(ncp, children[i],
-       // searchedElement);
-       // }
-       // return found;
-       // } else if (parentElement instanceof RepositoryNode) {
-       // RepositoryNode rn = (RepositoryNode) parentElement;
-       // Object[] children = rn.getChildren();
-       // int i = children.length - 1;
-       // while (!found && i >= 0) {
-       // found = isElementInCurrentTreePart(ncp, children[i],
-       // searchedElement);
-       // }
-       // return found;
-       // } else {
-       // Node node = (Node) parentElement;
-       // if (node.equals(searchedElement))
-       // return true;
-       // NodeIterator ni;
-       // try {
-       // ni = node.getNodes();
-       // while (!found && ni.hasNext()) {
-       // found = isElementInCurrentTreePart(ncp, ni.nextNode(),
-       // searchedElement);
-       // }
-       // } catch (RepositoryException e) {
-       // throw new ArgeoException("unexpected erreur while recursively"
-       // + " recovering RepositoryNode for selected object", e);
-       // }
-       //
-       // return found;
-       // }
-       // }
-}