5091 |
14 Nov 18 |
nicklas |
1 |
package net.sf.basedb.reggie.plugins.release; |
5091 |
14 Nov 18 |
nicklas |
2 |
|
5091 |
14 Nov 18 |
nicklas |
3 |
import org.json.simple.JSONArray; |
5091 |
14 Nov 18 |
nicklas |
4 |
import org.json.simple.JSONObject; |
5091 |
14 Nov 18 |
nicklas |
5 |
|
5091 |
14 Nov 18 |
nicklas |
6 |
import net.sf.basedb.core.BioSource; |
5091 |
14 Nov 18 |
nicklas |
7 |
import net.sf.basedb.core.DbControl; |
5091 |
14 Nov 18 |
nicklas |
8 |
import net.sf.basedb.core.ItemSubtype; |
5091 |
14 Nov 18 |
nicklas |
9 |
import net.sf.basedb.reggie.JsonUtil; |
5091 |
14 Nov 18 |
nicklas |
10 |
import net.sf.basedb.reggie.dao.Subtype; |
5091 |
14 Nov 18 |
nicklas |
11 |
|
5091 |
14 Nov 18 |
nicklas |
12 |
/** |
5091 |
14 Nov 18 |
nicklas |
Cohort writer implementation for the No and RetroNo items. |
5091 |
14 Nov 18 |
nicklas |
@since 4.21 |
5091 |
14 Nov 18 |
nicklas |
15 |
*/ |
5091 |
14 Nov 18 |
nicklas |
16 |
public class NoWriter |
5091 |
14 Nov 18 |
nicklas |
17 |
extends CohortWriter |
5091 |
14 Nov 18 |
nicklas |
18 |
{ |
5091 |
14 Nov 18 |
nicklas |
19 |
private final ItemSubtype noType; |
5091 |
14 Nov 18 |
nicklas |
20 |
private final ItemSubtype retroNoType; |
5091 |
14 Nov 18 |
nicklas |
21 |
|
5091 |
14 Nov 18 |
nicklas |
22 |
public NoWriter(DbControl dc, ReleaseWriterOptions options) |
5091 |
14 Nov 18 |
nicklas |
23 |
{ |
5091 |
14 Nov 18 |
nicklas |
24 |
super(dc, options); |
5091 |
14 Nov 18 |
nicklas |
25 |
this.noType = Subtype.NO.get(dc); |
5091 |
14 Nov 18 |
nicklas |
26 |
this.retroNoType = Subtype.RETRO_NO.get(dc); |
5091 |
14 Nov 18 |
nicklas |
27 |
} |
5091 |
14 Nov 18 |
nicklas |
28 |
|
5091 |
14 Nov 18 |
nicklas |
29 |
@Override |
5091 |
14 Nov 18 |
nicklas |
30 |
public JSONArray toJSONObjects(CohortItem item) |
5091 |
14 Nov 18 |
nicklas |
31 |
{ |
5091 |
14 Nov 18 |
nicklas |
32 |
BioSource no = item.getPatient().getItem(); |
5091 |
14 Nov 18 |
nicklas |
33 |
ItemSubtype type = no.getItemSubtype(); |
5091 |
14 Nov 18 |
nicklas |
34 |
if (!noType.equals(type) && !retroNoType.equals(type)) return null; |
5091 |
14 Nov 18 |
nicklas |
35 |
|
5091 |
14 Nov 18 |
nicklas |
36 |
JSONObject json = new JSONObject(); |
5091 |
14 Nov 18 |
nicklas |
37 |
json.put("name", no.getExternalId()); |
5091 |
14 Nov 18 |
nicklas |
38 |
json.put("type", no.getType().name()); |
5108 |
19 Nov 18 |
nicklas |
39 |
json.put("subtype", noType.getName()); // Both "No" and "RetroNo" are exported as "No" |
5091 |
14 Nov 18 |
nicklas |
40 |
|
5091 |
14 Nov 18 |
nicklas |
41 |
return JsonUtil.asArray(json); |
5091 |
14 Nov 18 |
nicklas |
42 |
} |
5091 |
14 Nov 18 |
nicklas |
43 |
|
5091 |
14 Nov 18 |
nicklas |
44 |
} |