0

AbstractTreeModel

asked 2013-05-21 14:26:38 +0800

fiendnet gravatar image fiendnet
8 1

updated 2013-05-21 14:27:23 +0800

hi when i use AbstracTreeModel , the tree not displays root node how i can solve this?

delete flag offensive retag edit

Comments

please share your code as well

sjoshi ( 2013-05-22 07:39:52 +0800 )edit

when i given root to model, the tree not displays root , and displays child of root and subs.

fiendnet ( 2013-05-22 09:58:28 +0800 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2013-05-22 09:56:23 +0800

fiendnet gravatar image fiendnet
8 1
public class OrganizationAbstractTreeModel extends AbstractTreeModel<Object> implements TreeSelectableModel  {

private static final long serialVersionUID = -5513180500300189445L;
private OrganizationRelateManager organizationRelateManager = ServiceLocator.getOrganizationRelateManager();
private String startDate;
private String startTime;
private String finishDate;
private String finishTime;
private Boolean hasDistributetable; 
private Distributedetail distributeDetail;  
private Organizationmaster oneRowParentOrganization;

public OrganizationAbstractTreeModel(Organizationdetail rootNode,String startDate,String startTime,String finishDate,String finishTime,Boolean hasDistributetable,Boolean loadOneRow,Distributedetail distributeDetail) {
    super(rootNode);
    this.startDate=startDate;
    this.startTime=startTime;
    this.finishDate=finishDate;
    this.finishTime=finishTime;
    this.hasDistributetable=hasDistributetable;     
    this.distributeDetail=distributeDetail;
    this.oneRowParentOrganization= loadOneRow ? rootNode.getOrganizationmaster():null;
}

@Override
public Object getChild(Object parentNode, int index) {
    List<Object> nodes;
    Organizationdetail organizationDetail;
    nodes= new ArrayList<Object>();
    if (parentNode instanceof Organizationdetail){
        organizationDetail=(Organizationdetail)parentNode;
        if (distributeDetail!=null &&(( organizationDetail.getHasdistributetable() && oneRowParentOrganization.getId()==organizationDetail.getOrganizationmaster().getId()) || !organizationDetail.getHasdistributetable() ))           
            nodes.addAll(organizationRelateManager.getOrganizationPostDAO().listByMaster(organizationDetail.getOrganizationmaster(),distributeDetail.getStartdate(),distributeDetail.getStarttime(),distributeDetail.getFinishdate(),distributeDetail.getFinishtime()));            
        nodes.addAll(organizationRelateManager.getOrganizationRelateDAO().listByParent(organizationDetail.getOrganizationmaster(),startDate,startTime,finishDate,finishTime,hasDistributetable,oneRowParentOrganization));
    }
    return nodes.get(index);
}

@Override
public int getChildCount(Object parentNode) {
    List<Object> nodes;
    Organizationdetail organizationDetail;
    nodes= new ArrayList<Object>();
    if (parentNode instanceof Organizationdetail){
        organizationDetail=(Organizationdetail)parentNode;
        if (distributeDetail!=null &&(( organizationDetail.getHasdistributetable() && oneRowParentOrganization.getId()==organizationDetail.getOrganizationmaster().getId()) || !organizationDetail.getHasdistributetable() ))           
            nodes.addAll(organizationRelateManager.getOrganizationPostDAO().listByMaster(organizationDetail.getOrganizationmaster(),distributeDetail.getStartdate(),distributeDetail.getStarttime(),distributeDetail.getFinishdate(),distributeDetail.getFinishtime()));            
        nodes.addAll(organizationRelateManager.getOrganizationRelateDAO().listByParent(organizationDetail.getOrganizationmaster(),startDate,startTime,finishDate,finishTime,hasDistributetable,oneRowParentOrganization));
    }
    return nodes.size();
}

@Override
public boolean isLeaf(Object currentNode) {
    Organizationdetail organizationDetail;
    List<Object> childs;    
    childs= new ArrayList<Object>();
    if (currentNode instanceof Organizationdetail){
        organizationDetail=(Organizationdetail)currentNode;
        if (distributeDetail!=null &&(( organizationDetail.getHasdistributetable() && oneRowParentOrganization.getId()==organizationDetail.getOrganizationmaster().getId()) || !organizationDetail.getHasdistributetable() ))           
            childs.addAll(organizationRelateManager.getOrganizationPostDAO().listByMaster(organizationDetail.getOrganizationmaster(),distributeDetail.getStartdate(),distributeDetail.getStarttime(),distributeDetail.getFinishdate(),distributeDetail.getFinishtime()));           
        childs.addAll(organizationRelateManager.getOrganizationRelateDAO().listByParent(organizationDetail.getOrganizationmaster(),startDate,startTime,finishDate,finishTime,hasDistributetable,oneRowParentOrganization));
    }
    return childs.size()==0;
}
link publish delete flag offensive edit
Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow
2 followers

RSS

Stats

Asked: 2013-05-21 14:26:38 +0800

Seen: 15 times

Last updated: May 22 '13

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More