package org.gcube.application.geoportal.service; import com.fasterxml.jackson.core.JsonProcessingException; import com.mongodb.Block; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.client.model.Projections; import org.bson.Document; import org.gcube.application.cms.tests.TokenSetter; import org.gcube.application.geoportal.service.engine.ImplementationProvider; import org.gcube.application.geoportal.service.engine.mongo.MongoManager; import org.gcube.application.geoportal.service.engine.providers.MongoClientProvider; import org.gcube.application.geoportal.service.model.internal.faults.ConfigurationException; import org.junit.BeforeClass; import org.junit.Test; import java.io.IOException; public class MongoTests { public static class MongoTester extends MongoManager { public MongoTester() throws ConfigurationException { } public MongoCollection getCollection(){return getDatabase().getCollection("legacyConcessioni");} @Override protected MongoDatabase getDatabase() { return client.getDatabase("gna_dev"); } } @BeforeClass public static final void init() { ImplementationProvider.get().setMongoClientProvider(new MongoClientProvider() { @Override public MongoClient getObject() throws ConfigurationException { TokenSetter.set("/gcube/devsec/devVRE"); return super.getObject(); } }); } Block printBlock = new Block() { @Override public void apply(final Document document) { System.out.println(document.toJson()); } }; @Test public void listProfiles() throws JsonProcessingException, IOException, ConfigurationException { // MongoManager manager=new MongoManager(); // Profile f=Serialization.mapper.readerFor(Profile.class).readValue( // Files.getFileFromResources("fakeProfile.json")); // // manager.iterate(new Document(),f).forEach(printBlock); } @Test public void queries() throws ConfigurationException { MongoTester tester=new MongoTester(); System.out.println("Using builders.."); tester.getCollection().find(Document.parse("{\"report.status\" : \"WARNING\"}")). projection(Projections.include("nome")).forEach(printBlock); System.out.println("Deserializing documents"); tester.getCollection().find(Document.parse("{\"report.status\" : \"WARNING\"}")). projection(Document.parse("{\"nome\" : 1}")).forEach(printBlock); } @Test public void checkQuerySerialization(){ System.out.println(Projections.include("nome")); } // @Test // public void writeProject() { // MongoManager manager=new MongoManager(); // Concessione f=Serialization.mapper.readerFor(Concessione.class).readValue( // Files.getFileFromResources("fakeProfile.json")); // } }