private void fillContextMenu(IMenuManager manager) { ISelection selection = viewer.getSelection(); Object obj = ((IStructuredSelection) selection).getFirstElement(); if (!TreeParent.class.isInstance(obj)) { if (TreeObject.class.isInstance(obj)) { TreeObject tObject = (TreeObject) obj; List<Capability> capabilities = tObject.getTableDefinition().getCapabilities(); if ((capabilities != null) && !capabilities.isEmpty()) { if (capabilities.contains(Capability.ShowTableDefinition)) { manager.add(showTableDefinitionAction); } if (capabilities.contains(Capability.ViewTableContent)) { manager.add(viewTableContentAction); } if (capabilities.contains(Capability.ExportData)) { manager.add(exportDataAction); } if (!manager.isEmpty()) { manager.add(new Separator()); } if (isOperator && capabilities.contains(Capability.Delete)) { manager.add(deleteAction); } if (!manager.isEmpty()) { manager.add(new Separator()); } } } } manager.add(refreshViewAction); // Other plug-ins can contribute there actions here manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); }
// 得到子节点列表 private List<TreeObject> getChildList(List<TreeObject> list, TreeObject t) { List<TreeObject> tlist = new ArrayList<TreeObject>(); Iterator<TreeObject> it = list.iterator(); while (it.hasNext()) { TreeObject n = (TreeObject) it.next(); if (n.getParentId() == t.getId()) { tlist.add(n); } } return tlist; }
/** * 根据父节点的ID获取所有子节点 * * @param list 分类表 * @param typeId 传入的父节点ID * @return String */ public List<TreeObject> getChildTreeObjects(List<TreeObject> list, int praentId) { List<TreeObject> returnList = new ArrayList<TreeObject>(); for (Iterator<TreeObject> iterator = list.iterator(); iterator.hasNext(); ) { TreeObject t = (TreeObject) iterator.next(); // 一、根据传入的某个父节点ID,遍历该父节点的所有子节点 if (t.getParentId() == praentId) { recursionFn(list, t); returnList.add(t); } } return returnList; }
private void recursionFn(List<TreeObject> list, TreeObject node, String p) { List<TreeObject> childList = getChildList(list, node); // 得到子节点列表 if (hasChild(list, node)) { // 判断是否有子节点 returnList.add(node); Iterator<TreeObject> it = childList.iterator(); while (it.hasNext()) { TreeObject n = (TreeObject) it.next(); n.setName(p + n.getName()); recursionFn(list, n, p + p); } } else { returnList.add(node); } }
/** * 根据父节点的ID获取所有子节点 * * @param list 分类表 * @param typeId 传入的父节点ID * @param prefix 子节点前缀 */ public List<TreeObject> getChildTreeObjects(List<TreeObject> list, int typeId, String prefix) { if (list == null) return null; for (Iterator<TreeObject> iterator = list.iterator(); iterator.hasNext(); ) { TreeObject node = (TreeObject) iterator.next(); // 一、根据传入的某个父节点ID,遍历该父节点的所有子节点 if (node.getParentId() == typeId) { recursionFn(list, node, prefix); } // 二、遍历所有的父节点下的所有子节点 /*if (node.getParentId()==0) { recursionFn(list, node); }*/ } return returnList; }
public Image getImage(Object obj) { if (obj instanceof ServiceReference) { ServiceReference r = (ServiceReference) obj; JanusModule m = (JanusModule) getBundleContext().getService(r); if (m.isRunning()) { return JanusSharedImages.getImage(JanusSharedImages.MODULE_RUNNING); } return JanusSharedImages.getImage(JanusSharedImages.MODULE); } if (obj instanceof AgentAddress) { return JanusSharedImages.getImage(JanusSharedImages.AGENT); } TreeObject to = (TreeObject) obj; if (to.getImageKey() == null) { return null; } return JanusSharedImages.getImage(to.getImageKey()); }
/** * 递归列表 * * @author btadmin Email: [email protected] * @date 2013-12-4 下午7:27:30 * @param list * @param TreeObject */ private void recursionFn(List<TreeObject> list, TreeObject t) { List<TreeObject> childList = getChildList(list, t); // 得到子节点列表 t.setChildren(childList); for (TreeObject tChild : childList) { if (hasChild(list, tChild)) { // 判断是否有子节点 // returnList.add(TreeObject); Iterator<TreeObject> it = childList.iterator(); while (it.hasNext()) { TreeObject n = (TreeObject) it.next(); recursionFn(list, n); } } } }
public void removeChild(final TreeObject child) { children.remove(child); child.setParent(null); }
public void addChild(final TreeObject child) { children.add(child); child.setParent(this); }
/** * add child object to a given parent object In case of knowlegebase tree, rule, fact, * sqlclauseset and query can be added In case of repository tree, predicate, fact, rule, * datasource, function, sqlfunction and can be added * * @param child * @param kbp */ public void addChild(TreeObject child, KnowledgeBasePlus kbp) { children.add(child); child.setParent(this); fireAdd(child); if (KBHashMapMgr.getManager().getRuleInitial()) { if (child.getUserObject() instanceof Rule) { Rule rule = (Rule) child.getUserObject(); kbp.kb.add(rule); } else if (child.getUserObject() instanceof Fact) kbp.kb.add((Fact) child.getUserObject()); else if (child.getUserObject() instanceof SQLClauseSet) kbp.kb.add((SQLClauseSet) child.getUserObject()); else if (child.getUserObject() instanceof Query) kbp.kb.addQuery((Query) child.getUserObject()); } if (KBHashMapMgr.getManager().getRepInitial()) { if (child.getUserObject() instanceof SQLPredicate) kbp.repository.add((SQLPredicate) child.getUserObject()); else if (child.getUserObject() instanceof SQLFunction) kbp.repository.add((SQLFunction) child.getUserObject()); else if (child.getUserObject() instanceof DefaultDataSource) kbp.repository.add((DataSource) child.getUserObject()); else if (child.getUserObject() instanceof SimplePredicate) kbp.repository.add((SimplePredicate) child.getUserObject()); else if (child.getUserObject() instanceof JFunction) kbp.repository.add((JFunction) child.getUserObject()); else if (child.getUserObject() instanceof JPredicate) { kbp.repository.add((JPredicate) child.getUserObject()); } else if (child.getUserObject() instanceof DynaBeanFunction) kbp.repository.add((DynaBeanFunction) child.getUserObject()); } }
/** * delete child object from in the tree. In case of knowlegebase tree, rule, fact, sqlclauseset * and query can be deleted In case of repository tree, predicate, fact, rule, datasource, * function, sqlfunction and can be deleted * * @param child * @param kbp */ public void removeChild(TreeObject child, KnowledgeBasePlus kbp) { children.remove(child); child.setParent(null); if (KBHashMapMgr.getManager().getRuleInitial()) { if (child.getUserObject() instanceof Rule) kbp.kb.remove((Rule) child.getUserObject()); else if (child.getUserObject() instanceof Fact) kbp.kb.remove((Fact) child.getUserObject()); else if (child.getUserObject() instanceof SQLClauseSet) kbp.kb.remove((SQLClauseSet) child.getUserObject()); else if (child.getUserObject() instanceof Query) kbp.kb.removeQuery((Query) child.getUserObject()); } if (KBHashMapMgr.getManager().getRepInitial()) { if (child.getUserObject() instanceof Predicate) kbp.repository.remove((Predicate) child.getUserObject()); else if (child.getUserObject() instanceof Fact) kbp.repository.remove((Fact) child.getUserObject()); else if (child.getUserObject() instanceof Rule) kbp.repository.remove((Rule) child.getUserObject()); else if (child.getUserObject() instanceof DefaultDataSource) kbp.repository.remove((DataSource) child.getUserObject()); else if (child.getUserObject() instanceof Function) kbp.repository.remove((Function) child.getUserObject()); else if (child.getUserObject() instanceof SQLFunction) kbp.repository.remove((SQLFunction) child.getUserObject()); else if (child.getUserObject() instanceof SQLPredicate) kbp.repository.remove((SQLPredicate) child.getUserObject()); } child.addListener(NullDeltaListener.getSoleInstance()); fireRemove(child); }