Advertisement
Lauda

get category by recursion

Jun 27th, 2014
302
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.89 KB | None | 0 0
  1.     public ArrayList<Category> getSubcategoriesRecursivley(Category cat, ArrayList<Category> alc)
  2.     {
  3.         Boolean added = false;
  4.         WebShop ws = WebShop.getInstance();
  5.         alc.add(cat);
  6.         ArrayList<Category> toBeAdded = new ArrayList<Category>();
  7.        
  8.         for (Category category : ws.getCategories().values())
  9.         {
  10.             for (Category cFromList : alc)
  11.             {
  12.                 if (category.getParent() != null && category.getParent().equals(cFromList) && !alc.contains(category) && !toBeAdded.contains(category))
  13.                 {
  14.                     toBeAdded.add(category);
  15.                     added = true;
  16.                 }
  17.             }
  18.         }
  19.        
  20.         alc.remove(cat);
  21.        
  22.         if (added)
  23.         {
  24.             alc.addAll(toBeAdded);
  25.             return getSubcategoriesRecursivley(cat, alc);
  26.         }
  27.         else
  28.             return alc;
  29.     }
  30.    
  31.     public ArrayList<Category> getSubcategories()
  32.     {
  33.         ArrayList<Category> list = new ArrayList<Category>();
  34.         list = getSubcategoriesRecursivley(this, list);
  35.        
  36.         return list;
  37.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement