private void changeRequestsToProcessing(Session sess, InstrumentRun ir) throws ProductException { // Get any requests on that run Map requests = new HashMap(); List wells = sess.createQuery( "SELECT pw from PlateWell as pw " + " join pw.plate as plate where plate.idInstrumentRun =" + ir.getIdInstrumentRun()) .list(); for (Iterator i1 = wells.iterator(); i1.hasNext(); ) { PlateWell well = (PlateWell) i1.next(); if (well.getIdRequest() == null) { break; } if (!well.getIdRequest().equals("") && !requests.containsKey(well.getIdRequest())) { Request req = (Request) sess.get(Request.class, well.getIdRequest()); requests.put(req.getIdRequest(), req); } } // Change request Status for (Iterator i = requests.keySet().iterator(); i.hasNext(); ) { int idReq = (Integer) i.next(); Request req = (Request) sess.get(Request.class, idReq); if (req.getCodeRequestStatus() == null) { ProductUtil.updateLedgerOnRequestStatusChange( sess, req, req.getCodeRequestStatus(), RequestStatus.PROCESSING); req.setCodeRequestStatus(RequestStatus.PROCESSING); } else if (req.getCodeRequestStatus().equals(RequestStatus.NEW) || req.getCodeRequestStatus().equals(RequestStatus.SUBMITTED)) { ProductUtil.updateLedgerOnRequestStatusChange( sess, req, req.getCodeRequestStatus(), RequestStatus.PROCESSING); req.setCodeRequestStatus(RequestStatus.PROCESSING); } } sess.flush(); }