Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package dao; import bean.Pret; import com.couchbase.client.java.Bucket; import com.couchbase.client.java.document.JsonDocument; import com.couchbase.client.java.document.json.JsonObject; import com.couchbase.client.java.view.ViewQuery; import com.couchbase.client.java.view.ViewResult; import com.couchbase.client.java.view.ViewRow; import java.util.ArrayList; import java.util.List; import org.joda.time.DateTime; import util.GenerateUUID; /** * * @author Khalid */ public class PretDao { private static final String TABLE_NAME = "pret"; private Bucket bucket; private OuvrageDao ouvrageDao = new OuvrageDao(); private EtudiantDao etudiantDao = new EtudiantDao(); private ProfesseurDao professeurDao = new ProfesseurDao(); public PretDao() { bucket = ConnectDB.getBucket(); } public String ajouter(Pret pret) { JsonObject pretJson = ObjectToJson(pret); JsonDocument pretDocument = JsonDocument.create("pret:" + GenerateUUID.generateUUID(), pretJson); JsonDocument response = bucket.upsert(pretDocument); return response.id(); } public void modifier(Pret pret) { JsonObject pretJson = ObjectToJson(pret); JsonDocument pretDocument = JsonDocument.create(pret.getId(), pretJson); bucket.replace(pretDocument); } public void supprimer(String id) { JsonDocument doc = bucket.get(id); bucket.async().remove(id); //bucket.remove(id); } public Pret findById(String id) { JsonDocument doc = bucket.get(id); return DocToObject(doc); } public List<Pret> findAll() { List<Pret> prets = new ArrayList<>(); ViewResult results = bucket.query(ViewQuery.from("pret", "all")); for (ViewRow row : results) { Pret pret = DocToObject(row.document()); if (pret != null) { prets.add(pret); } } return prets; } private JsonObject ObjectToJson(Pret pret) { DateTime datePret = new DateTime(pret.getDatePret()); DateTime dateRetour = new DateTime(pret.getDateRetour()); JsonObject pretJson = JsonObject.empty() .put("idOuvrage", pret.getOuvrage().getId()).put("idEtudiant", pret.getEtudiant().getId()) .put("idProfesseur", pret.getProfesseur().getId()) .put("dateRetour", dateRetour.toLocalDate().toString()) .put("datePret", datePret.toLocalDate().toString()); return pretJson; } private Pret DocToObject(JsonDocument doc) { if (doc == null) return null; // Doc supprimer Pret pret = new Pret(); pret.setId(doc.id()); pret.setOuvrage(ouvrageDao.findById(doc.content().getString("idOuvrage"))); pret.setEtudiant(etudiantDao.findById(doc.content().getString("idEtudiant"))); pret.setProfesseur(professeurDao.findById(doc.content().getString("idProfesseur"))); DateTime datePret = DateTime.parse(doc.content().getString("datePret")); pret.setDatePret(datePret.toDate()); DateTime dateRetour = DateTime.parse(doc.content().getString("dateRetour")); pret.setDateRetour(datePret.toDate()); return pret; } }