in clns-eTarget/src/main/java/org/digitalecmt/etarget/dao/MeetingOutcomeDAOImpl.java [148:229]
public boolean addMeetingOutcome(String loggedInUserID, String dbPersonID, String postedMeetingDate,
String postedOutcome, String postedNotes, String ctDNA, String tumourNGS, String fmBlood, String fmTumour, String genericGenomic) {
MeetingOutcomeGeneVariantDAO genes= new MeetingOutcomeGeneVariantDAOImpl(this.getDataSource());
JdbcTemplate template = getJdbcTemplate();
int resultcount=0;
resultcount=template.update(addMeeting, loggedInUserID, dbPersonID, postedOutcome, postedNotes, postedMeetingDate, "");
if(resultcount==1) {
List<MeetingOutcome> meetings= getMeetingOutcomesByPersonID(Integer.parseInt(dbPersonID));
//highest (newest) mo_id first
int mo_id= meetings.get(0).getMo_id();
//parse string to json
log.info(ctDNA);
log.info(tumourNGS);
log.info(fmBlood);
log.info(fmTumour);
List<Double> ctDNAList = new Gson().fromJson(ctDNA, new TypeToken<List<Double>>() {}.getType());
List<Double> tumourNGSList = new Gson().fromJson(tumourNGS, new TypeToken<List<Double>>() {}.getType());
Map<String,List<String>> fmBloodMap = new Gson().fromJson(fmBlood, new TypeToken<Map<String,List<String>>>() {}.getType());
Map<String,List<String>> fmTumourMap = new Gson().fromJson(fmTumour, new TypeToken<Map<String,List<String>>>() {}.getType());
Map<String, Map<String,List<String>>> genericGen = new Gson().fromJson(genericGenomic, new TypeToken<Map<String, Map<String,List<String>>>>() {}.getType());
for(int i=0;i<ctDNAList.size();i++) {
log.info("type " +ctDNAList.get(i).intValue());
genes.addGeneVariantToMeetingOutcome(mo_id, ctDNAList.get(i).intValue(), "CTDNA");
}
for(int i=0;i<tumourNGSList.size();i++) {
genes.addGeneVariantToMeetingOutcome(mo_id, tumourNGSList.get(i).intValue(), "NGS");
}
List<String> cnal = fmBloodMap.get("copyNumberAlteration");
if(cnal!=null) {
for(int i=0; i<cnal.size();i++) {
genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(cnal.get(i)), "FMBloodCNA");
}}
List<String> rl = fmBloodMap.get("rearrangement");
if(rl!=null) {
for(int i=0; i<rl.size();i++) {
genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(rl.get(i)), "FMBloodR");
}}
List<String> svl = fmBloodMap.get("shortVariant");
if(svl!=null) {
for(int i=0; i<svl.size();i++) {
genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(svl.get(i)), "FMBloodSV");
}}
cnal = fmTumourMap.get("copyNumberAlteration");
if(cnal!=null) {
for(int i=0; i<cnal.size();i++) {
genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(cnal.get(i)), "FMTumourCNA");
}}
rl = fmTumourMap.get("rearrangement");
if(rl!=null) {
for(int i=0; i<rl.size();i++) {
genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(rl.get(i)), "FMTumourR");
}}
svl = fmTumourMap.get("shortVariant");
if(svl!=null){
for(int i=0; i<svl.size();i++) {
genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(svl.get(i)), "FMTumourSV");
}}
for(String source : genericGen.keySet()) {
cnal = genericGen.get(source).get("copyNumberAlteration");
if(cnal!=null) {
for(int i=0; i<cnal.size();i++) {
genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(cnal.get(i)), source+"CNA");
}
}
rl = genericGen.get(source).get("rearrangement");
if(rl!=null) {
for(int i=0; i<rl.size();i++) {
genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(rl.get(i)), source+"R");
}}
svl = genericGen.get(source).get("shortVariant");
if(svl!=null){
for(int i=0; i<svl.size();i++) {
genes.addGeneVariantToMeetingOutcome(mo_id, Integer.parseInt(svl.get(i)), source+"SV");
}}
}
return true;
}
else return false;
}