if (0!=buildings.size())
{
fIterator<Building> iterator = buildings.iterator();
while (iterator.hasNext()) {
Building building = iterator.next();
//为null的为父节点
if (null==building.getParentId()) {
getNode(wxBuildings,buildings, building);
}
}
}
/**
* 获取叶子节点
* @param wxBuildings
* @param buildings
* @param building
*/
private void getNodes(List<com.wehome.wx.me.domain.Building> wxBuildings, List<Building> buildings, Building building) {
List<Building> childList = getChildList(buildings, building);// 得到子节点列表
if (0!=childList.size()) {// 判断是否有子节点
Iterator<Building> it = childList.iterator();
while (it.hasNext()) {
Building n = (Building) it.next();
getNodes(wxBuildings,buildings, n);
}
} else {
com.wehome.wx.me.domain.Building wxBuilding = new com.wehome.wx.me.domain.Building();
wxBuilding.setId(String.valueOf(building.getId()));
wxBuilding.setName(building.getBuildingFullName());
wxBuildings.add(wxBuilding);
}
}
// 得到子节点列表
private List<Building> getChildList(List<Building> buildings, Building building) {
List<Building> nodeList = new ArrayList<Building>();
Iterator<Building> it = buildings.iterator();
while (it.hasNext()) {
Building n = (Building) it.next();
if (n.getParentId() == building.getId()) {
nodeList.add(n);
}
}
return nodeList;
}