BuildingTreeMaker

package com.zx.services;

import java.util.Iterator;
import java.util.List;

import com.zx.pojos.UserBean;
import com.zx.views.tree.TreeNode;

public class BuildingTreeMaker
{

    public static TreeNode makerTree ( )
    {
        UserInfoDao dao = new UserInfoDao();
        int cnt = dao.getTotalCount();
        UserBean[] users = dao.getUsers(0, cnt);
        TreeNode p = new TreeNode("", "");
        if ( users == null || users.length == 0 ) return p;
        for ( int i = 0 ; i < users.length ; i++ )
        {
            UserBean user = users[i];
            String buildname = user.getBuilding();
            TreeNode node = p.findChild(buildname);
            TreeNode houseNoNode = new TreeNode(String.valueOf(user.getId()),
                    user.getHouseno());
            if ( node == null )
            {
                TreeNode buildingNode = new TreeNode(String.valueOf(user
                        .getId()), user.getBuilding());
                p.addChild(buildingNode);
                buildingNode.addChild(houseNoNode);
            }
            else
            {
                node.addChild(houseNoNode);
            }
        }
        return p;
    }

    public static void print ( TreeNode tn )
    {
        if ( tn.isLeaf() )
        {
            System.out.println("    " + tn.getKey() + "-" + tn.getName());
        }
        else
        {
            //System.out.println(tn.getKey() + "-" + tn.getName());
            List<TreeNode> children = tn.getChildren();
            for ( Iterator<TreeNode> it = children.iterator() ; it.hasNext() ; )
            {
                print(it.next());
            }
        }
    }

    public static void main ( String[] a )
    {
        TreeNode t = BuildingTreeMaker.makerTree();
        BuildingTreeMaker.print(t);
    }

}

你可能感兴趣的:(java,DAO)