]> git.somenet.org - pub/jan/dst18.git/blob - ass1-doc/src/main/java/dst/ass1/doc/impl/DocumentRepository.java
[1.4] Dataloss As A Service. DONE.
[pub/jan/dst18.git] / ass1-doc / src / main / java / dst / ass1 / doc / impl / DocumentRepository.java
1 package dst.ass1.doc.impl;
2
3 import com.mongodb.MongoClient;
4 import com.mongodb.client.MongoCollection;
5 import com.mongodb.client.MongoDatabase;
6 import com.mongodb.client.model.Indexes;
7 import dst.ass1.doc.IDocumentRepository;
8 import dst.ass1.jpa.model.IMaterial;
9 import dst.ass1.jpa.util.Constants;
10 import org.bson.Document;
11
12 import java.util.Map;
13
14 public class DocumentRepository implements IDocumentRepository {
15     // FIXME: THIS IS WEIRD!!! WHY NO CONSTRUCTOR PARAMETER?!
16     private MongoDatabase db = new MongoClient().getDatabase(Constants.MONGO_DB_NAME);
17
18     @Override
19     public void insert(IMaterial material, Map<String, Object> materialProperties) {
20         MongoCollection<Document> coll = db.getCollection(Constants.COLL_MATERIAL_DATA);
21         materialProperties.put(Constants.I_MATERIAL, material.getId());
22         materialProperties.put(Constants.M_MATERIAL_TYPE, material.getType());
23         coll.insertOne(new Document(materialProperties));
24         coll.createIndex(Indexes.text(Constants.I_MATERIAL));
25     }
26 }