Model.DAO_Etudiant.java Source code

Java tutorial

Introduction

Here is the source code for Model.DAO_Etudiant.java

Source

/*
 * 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 Model;

import Entity.Etudiant;
import com.mongodb.BasicDBObject;
import com.mongodb.BasicDBObjectBuilder;
import com.mongodb.Cursor;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import java.net.UnknownHostException;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;
import org.bson.types.ObjectId;

/**
 *
 * @author kohadon
 */
public class DAO_Etudiant extends DAO_Template<Etudiant> {

    Cursor cursor;

    public DAO_Etudiant(Connection conn) throws UnknownHostException {
        super(conn);
        if (db.collectionExists("etudiant")) {
            collection = db.getCollection("etudiant");
        } else {
            DBObject options = BasicDBObjectBuilder.start().add("capped", false).add("size", 2000000000l).get();
            collection = db.createCollection("etudiant", options);
        }
    }

    public boolean archive(String uneClasse) {
        // Vider la base archive a chaque fois.
        if (db.collectionExists("etudiant_save")) {
            collection = db.getCollection("etudiant_save");
            collection.drop();
        } else {
            DBObject options = BasicDBObjectBuilder.start().add("capped", false).add("size", 2000000000l).get();
            collection = db.createCollection("etudiant_save", options);
        }
        collection = db.getCollection("etudiant");
        DBCursor cursor = collection.find();
        try {
            while (cursor.hasNext()) {
                collection = db.getCollection("etudiant_save");
                collection.insert(cursor.next());
            }
            collection = db.getCollection("etudiant");
            BasicDBObject query = new BasicDBObject();
            query.append("classe", uneClasse);
            collection.remove(query);

        } finally {
            cursor.close();
        }

        return true;
    }

    @Override
    public boolean create(Etudiant obj) {
        /*
         *   Cration d'un objet document pour les Etudiants
         *   On lui passe en paramtre les cls associes de ses valeurs
         */
        BasicDBObject doc = new BasicDBObject("prenom", obj.getNom()).append("nom", obj.getPrenom())
                .append("classe", obj.getClasse());

        /*
         * On insre dans la BDD
         */
        collection.insert(doc);

        return true;
    }

    @Override
    public boolean delete(Etudiant obj) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public boolean update(Etudiant obj, Etudiant obje) {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public List<Etudiant> findAll() {
        //On instancie la liste qui va contenir les clients retourns par la requte
        List<Etudiant> listEtudiant = new ArrayList<>();
        cursor = collection.find();

        try {
            //Pour chaque enregistrement trouv
            while (cursor.hasNext()) {
                //On instancie un objet
                DBObject objet = cursor.next();
                //On le cast en client en rentrant les parametres
                Etudiant etudiant = new Etudiant(objet.get("prenom").toString(), objet.get("nom").toString(),
                        objet.get("classe").toString());

                //On ajoute l'id de l'enregistrement
                etudiant.setId((ObjectId) objet.get("_id"));
                //On ajoute le client  la liste
                listEtudiant.add(etudiant);
            }
        } finally {
            cursor.close();
        }
        return listEtudiant;
    }

    @Override
    public Etudiant findById(ObjectId id) {
        //On instancie la liste qui va contenir les clients retourns par la requte
        List<Etudiant> listEtudiant = new ArrayList<>();

        BasicDBObject query = new BasicDBObject("_id", id);
        cursor = collection.find(query);

        try {
            //Pour chaque enregistrement trouv
            while (cursor.hasNext()) {
                //On instancie un objet
                DBObject objet = cursor.next();
                //On le cast en client en rentrant les parametres
                Etudiant etudiant = new Etudiant(objet.get("prenom").toString(), objet.get("nom").toString(),
                        objet.get("classe").toString());
                //On ajoute l'id de l'enregistrement
                etudiant.setId((ObjectId) objet.get("_id"));

                //On ajoute l'tudiant  la liste
                listEtudiant.add(etudiant);
            }
        } finally {
            cursor.close();
        }
        return listEtudiant.get(0);
    }
}