gcube-cms-suite/use-cases/src/test/java/org/gcube/application/cms/usecases/mocks/MockFromFolder.java

106 lines
3.9 KiB
Java
Raw Normal View History

2021-09-22 18:06:07 +02:00
package org.gcube.application.cms.usecases.mocks;
2021-09-20 16:47:35 +02:00
import com.opencsv.CSVReader;
import lombok.extern.slf4j.Slf4j;
2021-09-20 18:11:51 +02:00
import org.gcube.application.cms.tests.model.TestModel;
2021-09-21 17:45:18 +02:00
import org.gcube.application.cms.tests.TokenSetter;
import org.gcube.application.geoportal.client.utils.Serialization;
2021-09-21 17:45:18 +02:00
import org.gcube.application.geoportal.common.utils.FileSets;
2021-09-20 18:11:51 +02:00
2021-09-20 16:47:35 +02:00
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;
2021-09-20 16:47:35 +02:00
import org.gcube.application.geoportal.common.utils.StorageUtils;
2021-10-05 16:27:19 +02:00
import org.gcube.contentmanagement.blobstorage.report.Report;
2021-09-20 16:47:35 +02:00
import java.io.*;
import java.util.*;
2021-10-05 16:27:19 +02:00
import java.util.function.Consumer;
2021-09-20 16:47:35 +02:00
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";
2021-09-20 16:47:35 +02:00
File descriptorsBaseFolder=new File(TestModel.getBaseFolder(),"packages");
2021-09-20 16:47:35 +02:00
2021-10-05 16:27:19 +02:00
// config csv -> base folder
Map<String,String> configurations=new HashMap<>();
2021-09-20 16:47:35 +02:00
2021-10-05 16:27:19 +02:00
//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");
2021-09-20 16:47:35 +02:00
// invio_08_02
2021-10-05 16:27:19 +02:00
configurations.put("invio_08_05.csv","/Users/fabioisti/Documents/invio_08_05");
2021-09-20 16:47:35 +02:00
// concessioni 23_04
2021-10-05 16:27:19 +02:00
configurations.put("concessioni_23_04.csv","/Users/fabioisti/Documents/Concessioni_23_04");
2021-09-20 16:47:35 +02:00
TokenSetter.set(context);
2021-10-05 16:27:19 +02:00
long start= System.currentTimeMillis();
2021-09-20 16:47:35 +02:00
2021-10-05 16:27:19 +02:00
for(Map.Entry<String,String> entry : configurations.entrySet()){
String packageBaseDir=entry.getValue();
String csvDescriptor=entry.getKey();
System.out.println("Reading "+csvDescriptor);
2021-09-20 16:47:35 +02:00
2021-10-05 16:27:19 +02:00
File baseDir=new File(packageBaseDir);
2021-09-20 16:47:35 +02:00
2021-10-05 16:27:19 +02:00
CSVReader reader = new CSVReader(new FileReader(new File(descriptorsBaseFolder,csvDescriptor)));
String [] nextLine;
//reads one line at a time
while ((nextLine = reader.readNext()) != null) {
2021-09-20 16:47:35 +02:00
String projectName = nextLine[0];
String positionPath = nextLine[1];
2021-10-05 16:27:19 +02:00
ConcessionPublisherThread.submit(new ConcessionPublisherThread(baseDir,positionPath,projectName));
2021-09-20 16:47:35 +02:00
}
}
2021-10-05 16:27:19 +02:00
System.out.println("Waiting.. ");
ConcessionPublisherThread.Report report =ConcessionPublisherThread.waitCompletion();
2021-09-20 16:47:35 +02:00
2021-10-05 16:27:19 +02:00
System.out.println("Completed in "+(System.currentTimeMillis()-start)+"ms");
2021-09-20 16:47:35 +02:00
2021-10-05 16:27:19 +02:00
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);
}
2021-09-20 16:47:35 +02:00
2021-10-05 16:27:19 +02:00
private static Consumer<Concessione> concessionePrinter=new Consumer<Concessione>() {
@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;
}
}
2021-10-05 16:27:19 +02:00
};
2021-09-20 16:47:35 +02:00
}