private void ensureInited() { if (children == null) { try { List<Category> categories = getCategory().getCategories(); Category[] categoriesArray = categories.toArray(new Category[0]); sort(categoriesArray, categoryComparator); // make sure there are always children even if insert() is never called if (children == null) { children = new Vector<TreeNode>(); } for (Category child : categoriesArray) { insert(new CategoryTreeNodeImpl(child), children == null ? 0 : getChildCount()); } } catch (Exception e) { log.severe("Cannot get child categories: " + e); } } }
public boolean isLocal() { return isLocalRoot() || getParent() != null && ((CategoryTreeNode) getParent()).isLocal(); }
public Category getCategory() { return (Category) getUserObject(); }
public boolean isRemote() { return isRemoteRoot() || getParent() != null && ((CategoryTreeNode) getParent()).isRemote(); }
public void run() throws IOException { final List<CategoryTreeNode> categories = new ArrayList<>(); for (int i = 0; i < parents.size(); i++) { CategoryTreeNode parent = parents.get(i); Category category = parent.getCategory().create(names.get(i)); categories.add(new CategoryTreeNodeImpl(category)); } invokeLater(new Runnable() { public void run() { for (int i = 0; i < parents.size(); i++) { CategoryTreeNode parent = parents.get(i); CategoryTreeNode category = categories.get(i); categoryTreeModel.insertNodeInto(category, parent, 0); } if (invokeLaterRunnable != null) invokeLaterRunnable.run(); } }); } });
public int getChildCount() { ensureInited(); return super.getChildCount(); }
public List<Route> getRoutes() { try { return getCategory().getRoutes(); } catch (Exception e) { log.severe("Cannot get routes: " + e); return null; } } }
CategoryTreeNode localRoot = new CategoryTreeNodeImpl(localCatalog.getRootCategory(), true, false); Catalog remoteCatalog = new RemoteCatalog(r.getApiUrl(), r.getCredentials()); final CategoryTreeNodeImpl remoteRoot = new CategoryTreeNodeImpl(remoteCatalog.getRootCategory(), false, true); final RootTreeNode root = new RootTreeNode(localRoot, remoteRoot); catalogModel = new UndoCatalogModel(r.getContext().getUndoManager(), root, getOperator());
@SuppressWarnings("unchecked") public Enumeration<TreeNode> children() { ensureInited(); return super.children(); }
public String getName() { try { return getCategory().getName(); } catch (Exception e) { log.severe("Cannot get name: " + e); return "?"; } }
public int getIndex(TreeNode aNode) { ensureInited(); return super.getIndex(aNode); }
public TreeNode getChildAt(int idx) { ensureInited(); return super.getChildAt(idx); }