1
2
3 package com.pnpconsult.zeiterfassung.actions.user;
4
5 import java.util.Collection;
6 import java.util.Iterator;
7 import java.util.TreeSet;
8
9 import com.pnpconsult.zeiterfassung.model.Customer;
10 import com.pnpconsult.zeiterfassung.model.Project;
11
12 /***
13 * deprecated Don't use such a class-overhead, just use good HQL queries!
14 *
15 * @author <a href="mailto:powerpete@users.sf.net">Moritz Petersen</a>
16 * @version $Id: UnarchivedProjectSet.java,v 1.3 2004/06/10 10:45:42 powerpete Exp $
17 */
18 class UnarchivedProjectSet extends TreeSet
19 {
20 public boolean add(Object o)
21 {
22 if (checkPredicate(o))
23 {
24 return super.add(o);
25 }
26 return false;
27 }
28
29 public boolean addAll(Collection c)
30 {
31 boolean result = true;
32 for (Iterator it = c.iterator(); it.hasNext();)
33 {
34 result &= add(it.next());
35 }
36 return c.size() > 0 && result;
37 }
38
39 private boolean checkPredicate(Object arg0)
40 {
41 Project p = (Project) arg0;
42 if (p.isArchived())
43 {
44 return false;
45 }
46 Customer c = p.getCustomer();
47 if (c == null)
48 {
49 return false;
50 }
51 if (c.isArchived())
52 {
53 return false;
54 }
55 return true;
56 }
57 }