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 retract items. |
5091 |
14 Nov 18 |
nicklas |
@since 4.21 |
5091 |
14 Nov 18 |
nicklas |
15 |
*/ |
5091 |
14 Nov 18 |
nicklas |
16 |
public class RetractWriter |
5091 |
14 Nov 18 |
nicklas |
17 |
extends CohortWriter |
5091 |
14 Nov 18 |
nicklas |
18 |
{ |
5091 |
14 Nov 18 |
nicklas |
19 |
private final ItemSubtype retractType; |
5091 |
14 Nov 18 |
nicklas |
20 |
|
5091 |
14 Nov 18 |
nicklas |
21 |
public RetractWriter(DbControl dc, ReleaseWriterOptions options) |
5091 |
14 Nov 18 |
nicklas |
22 |
{ |
5091 |
14 Nov 18 |
nicklas |
23 |
super(dc, options); |
5091 |
14 Nov 18 |
nicklas |
24 |
this.retractType = Subtype.RETRACT.get(dc); |
5091 |
14 Nov 18 |
nicklas |
25 |
} |
5091 |
14 Nov 18 |
nicklas |
26 |
|
5091 |
14 Nov 18 |
nicklas |
27 |
@Override |
5091 |
14 Nov 18 |
nicklas |
28 |
public JSONArray toJSONObjects(CohortItem item) |
5091 |
14 Nov 18 |
nicklas |
29 |
{ |
5091 |
14 Nov 18 |
nicklas |
30 |
BioSource retract = item.getPatient().getItem(); |
5091 |
14 Nov 18 |
nicklas |
31 |
ItemSubtype type = retract.getItemSubtype(); |
5091 |
14 Nov 18 |
nicklas |
32 |
if (!retractType.equals(type)) return null; |
5091 |
14 Nov 18 |
nicklas |
33 |
|
5091 |
14 Nov 18 |
nicklas |
34 |
JSONObject json = new JSONObject(); |
5091 |
14 Nov 18 |
nicklas |
35 |
json.put("name", retract.getExternalId()); |
5091 |
14 Nov 18 |
nicklas |
36 |
json.put("type", retract.getType().name()); |
5108 |
19 Nov 18 |
nicklas |
37 |
json.put("subtype", retractType.getName()); |
5091 |
14 Nov 18 |
nicklas |
38 |
|
5091 |
14 Nov 18 |
nicklas |
39 |
return JsonUtil.asArray(json); |
5091 |
14 Nov 18 |
nicklas |
40 |
} |
5091 |
14 Nov 18 |
nicklas |
41 |
|
5091 |
14 Nov 18 |
nicklas |
42 |
} |