@POST @Path("progressSMD") public String setProgressSMD( @FormParam("nameSMD") String nameSMD, @FormParam("id_progress") long idProgress, @FormParam("title") String title, @FormParam("value") double valueProgress) { OperationInformationResources.logger.log( Level.INFO, "NAME: " + nameSMD + " Progress with (id = " + idProgress + ", etat = " + valueProgress + ") \n contenu " + title); String result = "Progress with (id = " + idProgress + ", etat = " + valueProgress + ")"; Session connect = HibernateUtil.getSessionFactory().openSession(); if (idProgress < 0) { result += " PROBLEM ID <0"; } else { if (valueProgress < 0) { SiteSMD site = SiteSMD.findByName(connect, nameSMD); site.setHave_a_probleme(true); connect.beginTransaction(); connect.saveOrUpdate(site); connect.getTransaction().commit(); } ProgressData getProgress = ProgressData.findById(connect, idProgress); if (getProgress != null) { // remplire DATA getProgress.setTitle(title); getProgress.setValue(valueProgress); getProgress.setLast_date(Calendar.getInstance().getTime()); if (valueProgress == 100) { getProgress.setFinished(true); } connect.beginTransaction(); connect.saveOrUpdate(getProgress); connect.getTransaction().commit(); result = "Status is updated"; } else { // remplire DATA SiteSMD site = SiteSMD.findByName(connect, nameSMD); if (site == null) { result = "SMD Not Found"; } else { getProgress = new ProgressData(); getProgress.setId(idProgress); getProgress.setTitle(title); getProgress.setValue(valueProgress); getProgress.setLast_date(Calendar.getInstance().getTime()); if (valueProgress == 100) { getProgress.setFinished(true); } getProgress.setSmd(site); connect.beginTransaction(); connect.save(getProgress); connect.getTransaction().commit(); result = "Status is updated"; } } } connect.close(); OperationInformationResources.logger.log(Level.FINEST, "Returned Value " + result); return result; }