extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/plugins/cmd/MainInfo.java

Code
Comments
Other
Rev Date Author Line
6342 29 Jun 21 nicklas 1 package net.sf.basedb.reggie.plugins.cmd;
6342 29 Jun 21 nicklas 2
6893 25 Nov 22 nicklas 3 import java.util.Date;
6893 25 Nov 22 nicklas 4
6348 16 Aug 21 nicklas 5 import net.sf.basedb.reggie.plugins.cmd.ScanBIdRef.SampleIdType;
6348 16 Aug 21 nicklas 6
6342 29 Jun 21 nicklas 7 /**
6342 29 Jun 21 nicklas 8   Holds information from the main section. So far
6342 29 Jun 21 nicklas 9   this contains only the SCAN-B ID of the sample, which
6342 29 Jun 21 nicklas 10   may be a CASE, SPECIMEN or (pre-normalized) RNA name.
6342 29 Jun 21 nicklas 11   @since 4.32
6342 29 Jun 21 nicklas 12 */
6342 29 Jun 21 nicklas 13 public class MainInfo 
6342 29 Jun 21 nicklas 14 {
6342 29 Jun 21 nicklas 15
6342 29 Jun 21 nicklas 16   private final JsonSection section;
6893 25 Nov 22 nicklas 17   public final Date refDate;
6342 29 Jun 21 nicklas 18   
6342 29 Jun 21 nicklas 19   public ScanBIdRef idRef;
6734 09 May 22 nicklas 20   public EndPoint endPoint;
6342 29 Jun 21 nicklas 21   
6342 29 Jun 21 nicklas 22   public boolean valid;
6342 29 Jun 21 nicklas 23
6348 16 Aug 21 nicklas 24   public MainInfo(JsonSection section, ImportContext ctx)
6342 29 Jun 21 nicklas 25   {
6342 29 Jun 21 nicklas 26     this.section = section;
6734 09 May 22 nicklas 27     this.endPoint = EndPoint.DEMUX;
6342 29 Jun 21 nicklas 28     if (section != null)
6342 29 Jun 21 nicklas 29     {
6578 09 Feb 22 nicklas 30       idRef = section.getRequiredEntry("SCANB_ID", new ScanBIdRef(ctx));
6734 09 May 22 nicklas 31       endPoint = EndPoint.determineEndPoint(section.getJSON());
6348 16 Aug 21 nicklas 32       
6348 16 Aug 21 nicklas 33       if (idRef != null && ctx != null)
6348 16 Aug 21 nicklas 34       {
6348 16 Aug 21 nicklas 35         if (idRef.idType == SampleIdType.PRENORMALISED_RNA)
6348 16 Aug 21 nicklas 36         {
6348 16 Aug 21 nicklas 37           JsonSection duplicate = ctx.add("RNA:"+idRef.id, section);
6348 16 Aug 21 nicklas 38           if (duplicate != null)
6348 16 Aug 21 nicklas 39           {
6348 16 Aug 21 nicklas 40             String msg = "Pre-normalized RNA '" + idRef.id + "' duplicated in file: ";
6348 16 Aug 21 nicklas 41             section.addErrorMessage(msg+duplicate.getFile().getName());
6348 16 Aug 21 nicklas 42             duplicate.addErrorMessage(msg+section.getFile().getName());
6348 16 Aug 21 nicklas 43           }
6348 16 Aug 21 nicklas 44         }
6348 16 Aug 21 nicklas 45       }
6342 29 Jun 21 nicklas 46     }
7261 16 Jun 23 nicklas 47     refDate = idRef != null && idRef.refDate != null ? idRef.refDate : null;
6342 29 Jun 21 nicklas 48     valid = section != null && !section.hasError();
6342 29 Jun 21 nicklas 49   }
6342 29 Jun 21 nicklas 50 }