package org.gcube.application.cms.usecases.mocks; import com.opencsv.CSVReader; import lombok.extern.slf4j.Slf4j; import org.gcube.application.cms.tests.model.TestModel; import org.gcube.application.cms.tests.TokenSetter; import org.gcube.application.geoportal.client.utils.Serialization; import org.gcube.application.geoportal.common.utils.FileSets; import org.gcube.application.geoportal.common.model.legacy.Concessione; import org.gcube.application.geoportal.common.model.legacy.report.ValidationReport; import org.gcube.application.geoportal.common.rest.MongoConcessioni; import org.gcube.application.geoportal.common.utils.Files; import org.gcube.application.geoportal.common.utils.StorageUtils; import org.gcube.contentmanagement.blobstorage.report.Report; import java.io.*; import java.util.*; import java.util.function.Consumer; import static org.gcube.application.geoportal.client.GeoportalAbstractPlugin.mongoConcessioni; import static org.junit.Assert.assertTrue; @Slf4j public class MockFromFolder { public static void main(String[] args) throws Exception { //PARAMS String context= "/gcube/devsec/devVRE"; File descriptorsBaseFolder=new File(TestModel.getBaseFolder(),"packages"); // config csv -> base folder Map configurations=new HashMap<>(); //Concessioni 04-03 configurations.put("concessioni04-03.csv","/Users/fabioisti/Documents/Concessioni 04-03/"); //DATASET_GNA_01 configurations.put("DATASET_GNA_01.csv","/Users/fabioisti/Documents/DATASET_GNA_01"); //DATASET_GNA_02 configurations.put("DATASET_GNA_02.csv","/Users/fabioisti/Documents/DATASET_GNA_02"); // invio_08_02 configurations.put("invio_08_05.csv","/Users/fabioisti/Documents/invio_08_05"); // concessioni 23_04 configurations.put("concessioni_23_04.csv","/Users/fabioisti/Documents/Concessioni_23_04"); TokenSetter.set(context); long start= System.currentTimeMillis(); for(Map.Entry entry : configurations.entrySet()){ String packageBaseDir=entry.getValue(); String csvDescriptor=entry.getKey(); System.out.println("Reading "+csvDescriptor); File baseDir=new File(packageBaseDir); CSVReader reader = new CSVReader(new FileReader(new File(descriptorsBaseFolder,csvDescriptor))); String [] nextLine; //reads one line at a time while ((nextLine = reader.readNext()) != null) { String projectName = nextLine[0]; String positionPath = nextLine[1]; ConcessionPublisherThread.submit(new ConcessionPublisherThread(baseDir,positionPath,projectName)); } } System.out.println("Waiting.. "); ConcessionPublisherThread.Report report =ConcessionPublisherThread.waitCompletion(); System.out.println("Completed in "+(System.currentTimeMillis()-start)+"ms"); System.out.println("SUCCESS "+report.getSuccess().size()); report.getSuccess().forEach(concessionePrinter); System.out.println("ERROR "+report.getError().size()); report.getError().forEach(concessionePrinter); System.out.println("WARNING "+report.getWarning().size()); report.getWarning().forEach(concessionePrinter); System.out.println("NO REPORT "+report.getNoReport().size()); report.getNoReport().forEach(concessionePrinter); } private static Consumer concessionePrinter=new Consumer() { @Override public void accept(Concessione c) { try { System.out.println(c.getNome() + "\t" + c.getMongo_id() + "\t" + c.getReport().getStatus()); } catch (Throwable t) { // System.out.println(c.getNome()+"\t"+c.getMongo_id()+"\t PROBLEMATIC, NO REPORT"); throw t; } } }; }