package org.gcube.application.geoportal.service.engine.mongo; import com.mongodb.Block; import com.mongodb.client.model.Filters; import org.bson.BSON; import org.bson.Document; import org.bson.types.ObjectId; import org.gcube.application.cms.implementations.ImplementationProvider; import org.gcube.application.cms.serialization.Serialization; import org.gcube.application.cms.tests.TokenSetter; import org.gcube.application.geoportal.common.model.document.Project; import org.gcube.application.geoportal.common.model.document.lifecycle.LifecycleInformation; import org.gcube.application.geoportal.common.model.rest.ConfigurationException; import org.gcube.application.geoportal.common.utils.tests.GCubeTest; import org.gcube.application.geoportal.service.engine.providers.MongoClientProvider; import org.gcube.application.geoportal.service.model.internal.db.Mongo; import java.util.function.Consumer; public class ProjectsManualUpdate { public static void main(String[] args) throws ConfigurationException { ImplementationProvider.get().setEngine(new MongoClientProvider() { @Override public Mongo getObject() throws ConfigurationException { TokenSetter.set(GCubeTest.getContext()); return super.getObject(); } },Mongo.class); MongoTester mongo = new MongoTester("profiledConcessioni"); // UPDATE PHASE = DRAFT // mongo.getCollection().find().forEach((Consumer) t ->{ // Project p= Serialization.convert(t, Project.class); // p.getLifecycleInformation().setPhase(LifecycleInformation.CommonPhases.DRAFT_PHASE); // try{ // mongo.replaceDoc(Serialization.asDocumentWithId(p),new ObjectId(p.getId())); // }catch(Throwable e){throw new RuntimeException(e);} // }); mongo.getCollection().deleteMany(Filters.eq("_theDocument",null)); } }