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 |
Holds information from the main section. So far |
6342 |
29 Jun 21 |
nicklas |
this contains only the SCAN-B ID of the sample, which |
6342 |
29 Jun 21 |
nicklas |
may be a CASE, SPECIMEN or (pre-normalized) RNA name. |
6342 |
29 Jun 21 |
nicklas |
@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 |
} |