Changeset 2505


Ignore:
Timestamp:
Jun 13, 2014, 8:52:12 AM (9 years ago)
Author:
Nicklas Nordborg
Message:

Fixes #604: New wizard "RNA dilution registration"

Added the new RNA dilution registration wizard.

Location:
extensions/net.sf.basedb.reggie/branches/2.15-stable
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/net.sf.basedb.reggie/branches/2.15-stable/src/net/sf/basedb/reggie/servlet/MRnaServlet.java

    r2504 r2505  
    173173          query.restrict(Restrictions.neq(Hql.alias("dd"), null));
    174174        }
     175        else if (req.getParameter("onlyUndiluted") != null)
     176        {
     177          // Must NOT have a DILUTION_DATE annotation
     178          query.join(Annotations.leftJoin(null, Annotationtype.DILUTION_DATE.load(dc), "dd"));
     179          query.restrict(Restrictions.eq(Hql.alias("dd"), null));
     180        }
    175181       
    176182        query.order(Orders.desc(Hql.property("id")));
     
    610616       
    611617        jsonMessages.add("Created " + mRnaPlate.getName() + " with " + jsonWells.size() + " mRNA child items");
     618      }
     619      else if ("RegisterRNADilution".equals(cmd))
     620      {
     621        dc = sc.newDbControl();
     622
     623        ReggieRole.checkPermission(dc, "'" + cmd + "' wizard", ReggieRole.LIBRARY_PREP, ReggieRole.ADMINISTRATOR);
     624
     625        JSONObject jsonReq = (JSONObject)new JSONParser().parse(req.getReader());
     626       
     627        Number bioPlateId = (Number)jsonReq.get("bioplate");
     628
     629        // Load mRNA plate and the creation event
     630        ReactionPlate mrnaReactionPlate = ReactionPlate.getById(dc, bioPlateId.intValue(), BioplateType.MRNA);
     631        BioPlate mrnaPlate = mrnaReactionPlate.getBioPlate();
     632       
     633        // Dates and operators
     634        Annotationtype.DILUTION_DATE.setAnnotationValue(dc, mrnaPlate, Reggie.CONVERTER_STRING_TO_DATE.convert((String)jsonReq.get("dilutionDate")));
     635        Annotationtype.DILUTION_OPERATOR.setAnnotationValue(dc, mrnaPlate, Values.getStringOrNull((String)jsonReq.get("dilutionOperator")));
     636   
     637        // Comment about the plate
     638        mrnaPlate.setDescription((String)jsonReq.get("comments"));
     639
     640        jsonMessages.add("RNA dilution for mRNA plate '" + mrnaPlate.getName() + "' registered successfully.");
     641       
     642        dc.commit();
    612643      }
    613644     
Note: See TracChangeset for help on using the changeset viewer.