model.DocumentoDAO.java Source code

Java tutorial

Introduction

Here is the source code for model.DocumentoDAO.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 com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import controller.LoggedUser;
import db.ConnectionFactory;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author giovane
 */
public class DocumentoDAO {

    public static void salvarDocumento(Documento d) {
        DB db = ConnectionFactory.create();
        DBCollection coll = db.getCollection("documentos");
        coll.insert(d.toJSON());
    }

    public static List<Documento> buscarPorUsuario(String login) {
        List<Documento> documentos = new ArrayList<>();

        DB db = ConnectionFactory.create();
        DBCollection coll = db.getCollection("documentos");
        DBObject query = new BasicDBObject("owner", login);
        DBCursor resultado = coll.find(query);

        while (resultado.hasNext()) {
            documentos.add(Documento.toObj(resultado.next()));
        }
        return documentos;

    }

    public static Documento buscarPorNome(String nomeTexto) {
        DB db = ConnectionFactory.create();
        DBCollection coll = db.getCollection("documentos");
        DBObject query = new BasicDBObject("nome", nomeTexto);
        DBCursor resultado = coll.find(query);

        if (resultado.hasNext()) {
            return Documento.toObj(resultado.next());
        }

        return null;
    }

    public static List<Documento> buscarTodos() {
        List<Documento> achados = new ArrayList<>();
        DB db = ConnectionFactory.create();
        DBCollection coll = db.getCollection("documentos");
        DBCursor resultado = coll.find();

        while (resultado.hasNext()) {
            achados.add(Documento.toObj(resultado.next()));
        }

        return achados;
    }

    public static void removerPorNome(String nomeTexto) {
        DB db = ConnectionFactory.create();
        DBCollection coll = db.getCollection("documentos");
        DBObject query = new BasicDBObject("nome", nomeTexto);
        DBObject resultado = coll.findOne(query);
        coll.remove(resultado);
    }

    public static List<Documento> buscarCompartilhadosPorUsuario(String login) {
        List<Documento> documentos = new ArrayList<>();

        DB db = ConnectionFactory.create();
        DBCollection coll = db.getCollection("documentos");
        DBObject query = new BasicDBObject("compartilhados.nome", login);
        DBCursor resultado = coll.find(query);

        while (resultado.hasNext()) {
            documentos.add(Documento.toObj(resultado.next()));
        }

        return documentos;
    }

    public static Documento buscarCompartilhadoPorNome(String nome, String login) {
        DB db = ConnectionFactory.create();
        DBCollection coll = db.getCollection("documentos");
        DBObject query = new BasicDBObject("compartilhados.nome", login).append("nome", nome);
        DBCursor resultado = coll.find(query);

        return Documento.toObj(resultado.next());

    }

    public static void atualizarDocumento(Documento d) {
        Documento old = buscarPorNome(d.getNome());

        DB db = ConnectionFactory.create();
        DBCollection coll = db.getCollection("documentos");
        coll.update(old.toJSON(), d.toJSON());
    }

}