1 package dst.ass1.doc.impl;
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;
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);
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));