extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/plugins/release/RetractWriter.java

Code
Comments
Other
Rev Date Author Line
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 13   Cohort writer implementation for retract items.
5091 14 Nov 18 nicklas 14   @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 }