public List<Catalog> getCatalogListByTypename(String typename)
{
List<Catalog> catalogList=new ArrayList<Catalog>();
List<Catalog> rootCatalogList=getRootCatalogList(); //一级目录
for(Catalog catalog:rootCatalogList)
{
catalogList.addAll(getCatalogListByTypename2(catalog,typename));
}
return catalogList;
}
public List<Catalog> getCatalogListByTypename2(Catalog catalog,String typename)
{
List<Catalog> nodeList=new ArrayList<Catalog>();
List<Catalog> childCatalogList=new ArrayList<Catalog>();
for(Catalog childCatalog:catalog.getChildCatalogList())
{
if(childCatalog.getTypename().compareTo(typename)==0
&&childCatalog.getChildCatalogList().size()==0)
childCatalogList.add(childCatalog);
else if(childCatalog.getChildCatalogList().size()!=0)
childCatalogList.addAll(getCatalogListByTypename2(childCatalog,typename));
}
if(childCatalogList.size()>0)
{
nodeList.add(catalog);
nodeList.addAll(childCatalogList);
}
else{
if(catalog.getTypename().equals(typename))
nodeList.add(catalog);
}
return nodeList;
}