1 |
45968
|
panagiotis
|
package eu.dnetlib.goldoa.domain;
|
2 |
|
|
|
3 |
|
|
import com.google.gwt.user.client.rpc.IsSerializable;
|
4 |
|
|
|
5 |
|
|
import java.util.Arrays;
|
6 |
|
|
import java.util.HashSet;
|
7 |
|
|
import java.util.List;
|
8 |
|
|
import java.util.Set;
|
9 |
|
|
|
10 |
|
|
/**
|
11 |
|
|
* Created by antleb on 3/9/15.
|
12 |
|
|
*/
|
13 |
|
|
public class Eligibility implements IsSerializable {
|
14 |
|
|
|
15 |
|
|
public enum Status implements IsSerializable {
|
16 |
|
|
OK, IFFY, NONO;
|
17 |
|
|
}
|
18 |
|
|
|
19 |
|
|
public static final Eligibility OK = new Eligibility(Status.OK);
|
20 |
|
|
|
21 |
|
|
private String[] messages;
|
22 |
|
|
private Status status;
|
23 |
|
|
|
24 |
|
|
public Eligibility() {
|
25 |
|
|
messages = new String[0];
|
26 |
|
|
status = Status.OK;
|
27 |
|
|
}
|
28 |
|
|
|
29 |
|
|
public Eligibility(Status status, String... messages) {
|
30 |
|
|
this.messages = messages;
|
31 |
|
|
this.status = status;
|
32 |
|
|
}
|
33 |
|
|
|
34 |
|
|
public Eligibility merge(Eligibility e) {
|
35 |
|
|
this.status = merge(status, e.status);
|
36 |
|
|
this.messages = merge(messages, e.messages);
|
37 |
|
|
|
38 |
|
|
return this;
|
39 |
|
|
}
|
40 |
|
|
|
41 |
|
|
private Status merge(Status... statuses) {
|
42 |
|
|
List<Status> list = Arrays.asList(statuses);
|
43 |
|
|
|
44 |
|
|
if (list.contains(Status.NONO))
|
45 |
|
|
return Status.NONO;
|
46 |
|
|
else if (list.contains(Status.IFFY))
|
47 |
|
|
return Status.IFFY;
|
48 |
|
|
else
|
49 |
|
|
return Status.OK;
|
50 |
|
|
}
|
51 |
|
|
|
52 |
|
|
private String[] merge(String[] messages1, String[] messages2) {
|
53 |
|
|
Set<String> s = new HashSet<String>();
|
54 |
|
|
|
55 |
|
|
s.addAll(Arrays.asList(messages1));
|
56 |
|
|
s.addAll(Arrays.asList(messages2));
|
57 |
|
|
|
58 |
|
|
return s.toArray(new String[s.size()]);
|
59 |
|
|
}
|
60 |
|
|
|
61 |
|
|
public String[] getMessages() {
|
62 |
|
|
return messages;
|
63 |
|
|
}
|
64 |
|
|
|
65 |
|
|
public void setMessages(String[] messages) {
|
66 |
|
|
this.messages = messages;
|
67 |
|
|
}
|
68 |
|
|
|
69 |
|
|
public Status getStatus() {
|
70 |
|
|
return status;
|
71 |
|
|
}
|
72 |
|
|
|
73 |
|
|
public void setStatus(Status status) {
|
74 |
|
|
this.status = status;
|
75 |
|
|
}
|
76 |
|
|
}
|