gcube-cms-suite/geoportal-service/src/test/java/org/gcube/application/geoportal/service/engine/mongo/ProjectsManualUpdate.java

47 lines
1.9 KiB
Java

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));
}
}