import org.argeo.eclipse.ui.dialogs.ErrorFeedback;
import org.argeo.eclipse.ui.workbench.WorkbenchUiPlugin;
-import org.argeo.jcr.JcrUtils;
import org.argeo.eclipse.ui.workbench.jcr.internal.model.SingleJcrNodeElem;
import org.argeo.eclipse.ui.workbench.jcr.internal.model.WorkspaceElem;
+import org.argeo.jcr.JcrUtils;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.handlers.HandlerUtil;
-/** Opens the generic node editor. */
+/** Compute an approximative size for the selected node(s) */
public class GetNodeSize extends AbstractHandler {
// private final static Log log = LogFactory.getLog(GetNodeSize.class);
public final static String ID = WorkbenchUiPlugin.ID + ".getNodeSize";
- // public final static String DEFAULT_ICON_REL_PATH = "icons/getSize.gif";
- // public final static String DEFAULT_LABEL = JcrExplorerPlugin
- // .getMessage("getNodeSizeCmdLbl");
-
public Object execute(ExecutionEvent event) throws ExecutionException {
- // JcrUtils.getRepositoryByAlias(repositoryRegister,
- // ArgeoJcrConstants.ALIAS_NODE);
ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event)
.getActivePage().getSelection();
if (selection != null && !selection.isEmpty()
&& selection instanceof IStructuredSelection) {
- // IStructuredSelection iss = (IStructuredSelection) selection;
- // if (iss.size() > 1)
- // ErrorFeedback.show(JcrExplorerPlugin
- // .getMessage("warningInvalidMultipleSelection"), null);
-
long size = 0;
Iterator<?> it = ((IStructuredSelection) selection).iterator();
- // as the size method is recursive, we keep track of nodes for which
- // we already have computed size so that we don't count them twice.
- // In a first approximation, we assume that the structure selection
- // keep the nodes ordered.
- // TODO : enhance that.
+ // TODO enhance this: as the size method is recursive, we keep track
+ // of nodes for which we already have computed size so that we don't
+ // count them twice. In a first approximation, we assume that the
+ // structure selection keep the nodes ordered.
List<String> importedPathes = new ArrayList<String>();
try {
nodesIt: while (it.hasNext()) {
node = ((WorkspaceElem) obj).getRootNode();
curPath = node.getSession().getWorkspace().getName();
} else
- // unvalid object type
+ // non valid object type
continue nodesIt;
Iterator<String> itPath = importedPathes.iterator();
}
return null;
}
-}
+}
\ No newline at end of file