Luca Frosini 2018-05-21 12:15:09 +00:00
parent 302d29a607
commit 0de8fd20a6
2 changed files with 23 additions and 5 deletions

View File

@ -7,7 +7,9 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Properties; import java.util.Properties;
import java.util.Set;
import java.util.SortedSet; import java.util.SortedSet;
import java.util.TreeSet;
import org.gcube.dataharvest.dao.DatabaseManager; import org.gcube.dataharvest.dao.DatabaseManager;
import org.gcube.dataharvest.datamodel.HarvestedData; import org.gcube.dataharvest.datamodel.HarvestedData;
@ -40,8 +42,8 @@ public class AccountingDataHarvesterPlugin extends Plugin<DataHarvestPluginDecla
public static final String RERUN_INPUT_PARAMETER = "reRun"; public static final String RERUN_INPUT_PARAMETER = "reRun";
public static final String DRY_RUN_INPUT_PARAMETER = "dryRun"; public static final String DRY_RUN_INPUT_PARAMETER = "dryRun";
public static final String SO_BIG_DATA_CONTEXT = "/d4science.research-infrastructures.eu/SoBigData";
public static final String RESOURCE_CATALOGUE_CONTEXT = "/d4science.research-infrastructures.eu/SoBigData/ResourceCatalogue"; public static final String RESOURCE_CATALOGUE_CONTEXT = "/d4science.research-infrastructures.eu/SoBigData/ResourceCatalogue";
public static final String TAGME_CONTEXT = "/d4science.research-infrastructures.eu/SoBigData/TagMe"; public static final String TAGME_CONTEXT = "/d4science.research-infrastructures.eu/SoBigData/TagMe";
protected Date start; protected Date start;
@ -159,9 +161,13 @@ public class AccountingDataHarvesterPlugin extends Plugin<DataHarvestPluginDecla
if(context.startsWith(RESOURCE_CATALOGUE_CONTEXT)) { if(context.startsWith(RESOURCE_CATALOGUE_CONTEXT)) {
// Adding trailing slash to SO_BIG_DATA_CONTEXT to avoid to get VO
SortedSet<String> soBigDataContexts = getSoBigDataContexts(contexts, SO_BIG_DATA_CONTEXT + "/");
try { try {
// Collecting info on Resource Catalogue (Dataset, Application, Deliverables, Methods) // Collecting info on Resource Catalogue (Dataset, Application, Deliverables, Methods)
ResourceCatalogueHarvester resourceCatalogueHarvester = new ResourceCatalogueHarvester(start, end); ResourceCatalogueHarvester resourceCatalogueHarvester = new ResourceCatalogueHarvester(start, end);
resourceCatalogueHarvester.setContexts(contexts);
List<HarvestedData> harvested = resourceCatalogueHarvester.getData(); List<HarvestedData> harvested = resourceCatalogueHarvester.getData();
data.addAll(harvested); data.addAll(harvested);
} catch(Exception e) { } catch(Exception e) {
@ -171,6 +177,7 @@ public class AccountingDataHarvesterPlugin extends Plugin<DataHarvestPluginDecla
try { try {
// Collecting info on Data/Method download // Collecting info on Data/Method download
DataMethodDownloadHarvester dataMethodDownloadHarvester = new DataMethodDownloadHarvester(start, end); DataMethodDownloadHarvester dataMethodDownloadHarvester = new DataMethodDownloadHarvester(start, end);
dataMethodDownloadHarvester.setContexts(contexts);
List<HarvestedData> harvested = dataMethodDownloadHarvester.getData(); List<HarvestedData> harvested = dataMethodDownloadHarvester.getData();
data.addAll(harvested); data.addAll(harvested);
} catch(Exception e) { } catch(Exception e) {
@ -207,6 +214,17 @@ public class AccountingDataHarvesterPlugin extends Plugin<DataHarvestPluginDecla
} }
protected SortedSet<String> getSoBigDataContexts(Set<String> contexts, String base){
SortedSet<String> filteredContext = new TreeSet<>();
for(String context : contexts) {
if(context.startsWith(SO_BIG_DATA_CONTEXT)){
filteredContext.add(context);
}
}
return filteredContext;
}
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
protected void onStop() throws Exception { protected void onStop() throws Exception {

View File

@ -2,23 +2,23 @@ package org.gcube.dataharvest.harvester.sobigdata;
import java.text.ParseException; import java.text.ParseException;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.SortedSet;
import org.gcube.dataharvest.harvester.BasicHarvester; import org.gcube.dataharvest.harvester.BasicHarvester;
public abstract class SoBigDataHarvester extends BasicHarvester { public abstract class SoBigDataHarvester extends BasicHarvester {
protected List<String> contexts; protected SortedSet<String> contexts;
public SoBigDataHarvester(Date start, Date end) throws ParseException { public SoBigDataHarvester(Date start, Date end) throws ParseException {
super(start, end); super(start, end);
} }
public List<String> getContexts() { public SortedSet<String> getContexts() {
return contexts; return contexts;
} }
public void setContexts(List<String> contexts) { public void setContexts(SortedSet<String> contexts) {
this.contexts = contexts; this.contexts = contexts;
} }