forked from D-Net/dnet-hadoop
[EOSC TAG] before adding the tag added a step to verify the same tag is not already present
This commit is contained in:
parent
5143a80232
commit
56d09e6348
|
@ -80,13 +80,14 @@ public class SparkEoscTag {
|
||||||
if (containsCriteriaNotebook(s)) {
|
if (containsCriteriaNotebook(s)) {
|
||||||
if (!Optional.ofNullable(s.getEoscifguidelines()).isPresent())
|
if (!Optional.ofNullable(s.getEoscifguidelines()).isPresent())
|
||||||
s.setEoscifguidelines(new ArrayList<>());
|
s.setEoscifguidelines(new ArrayList<>());
|
||||||
s.getEoscifguidelines().add(newInstance("EOSC::Jupyter Notebook", "EOSC::Jupyter Notebook", "", "compliesWith"));
|
addEIG(s.getEoscifguidelines(), "EOSC::Jupyter Notebook", "EOSC::Jupyter Notebook", "", "compliesWith");
|
||||||
|
|
||||||
}
|
}
|
||||||
if (containsCriteriaGalaxy(s)) {
|
if (containsCriteriaGalaxy(s)) {
|
||||||
if (!Optional.ofNullable(s.getEoscifguidelines()).isPresent())
|
if (!Optional.ofNullable(s.getEoscifguidelines()).isPresent())
|
||||||
s.setEoscifguidelines(new ArrayList<>());
|
s.setEoscifguidelines(new ArrayList<>());
|
||||||
|
|
||||||
s.getEoscifguidelines().add(newInstance("EOSC::Galaxy Workflow", "EOSC::Galaxy Workflow", "", "compliesWith"));
|
addEIG(s.getEoscifguidelines(),"EOSC::Galaxy Workflow", "EOSC::Galaxy Workflow", "", "compliesWith");
|
||||||
}
|
}
|
||||||
return s;
|
return s;
|
||||||
}, Encoders.bean(Software.class))
|
}, Encoders.bean(Software.class))
|
||||||
|
@ -103,15 +104,15 @@ public class SparkEoscTag {
|
||||||
|
|
||||||
readPath(spark, inputPath + "/otherresearchproduct", OtherResearchProduct.class)
|
readPath(spark, inputPath + "/otherresearchproduct", OtherResearchProduct.class)
|
||||||
.map((MapFunction<OtherResearchProduct, OtherResearchProduct>) orp -> {
|
.map((MapFunction<OtherResearchProduct, OtherResearchProduct>) orp -> {
|
||||||
List<StructuredProperty> sbject;
|
|
||||||
if (!Optional.ofNullable(orp.getEoscifguidelines()).isPresent())
|
if (!Optional.ofNullable(orp.getEoscifguidelines()).isPresent())
|
||||||
orp.setEoscifguidelines(new ArrayList<>());
|
orp.setEoscifguidelines(new ArrayList<>());
|
||||||
|
|
||||||
if (containsCriteriaGalaxy(orp)) {
|
if (containsCriteriaGalaxy(orp)) {
|
||||||
orp.getEoscifguidelines().add(newInstance("EOSC::Galaxy Workflow", "EOSC::Galaxy Workflow", "", "compliesWith"));
|
addEIG(orp.getEoscifguidelines(),"EOSC::Galaxy Workflow", "EOSC::Galaxy Workflow", "", "compliesWith");
|
||||||
}
|
}
|
||||||
if (containscriteriaTwitter(orp)) {
|
if (containscriteriaTwitter(orp)) {
|
||||||
orp.getEoscifguidelines().add(newInstance("EOSC::Twitter Data", "EOSC::Twitter Data", "", "compliesWith"));
|
addEIG(orp.getEoscifguidelines(),"EOSC::Twitter Data", "EOSC::Twitter Data", "", "compliesWith");
|
||||||
}
|
}
|
||||||
return orp;
|
return orp;
|
||||||
}, Encoders.bean(OtherResearchProduct.class))
|
}, Encoders.bean(OtherResearchProduct.class))
|
||||||
|
@ -128,11 +129,11 @@ public class SparkEoscTag {
|
||||||
|
|
||||||
readPath(spark, inputPath + "/dataset", Dataset.class)
|
readPath(spark, inputPath + "/dataset", Dataset.class)
|
||||||
.map((MapFunction<Dataset, Dataset>) d -> {
|
.map((MapFunction<Dataset, Dataset>) d -> {
|
||||||
List<StructuredProperty> sbject;
|
|
||||||
if (!Optional.ofNullable(d.getEoscifguidelines()).isPresent())
|
if (!Optional.ofNullable(d.getEoscifguidelines()).isPresent())
|
||||||
d.setEoscifguidelines(new ArrayList<>());
|
d.setEoscifguidelines(new ArrayList<>());
|
||||||
if (containscriteriaTwitter(d)) {
|
if (containscriteriaTwitter(d)) {
|
||||||
d.getEoscifguidelines().add(newInstance("EOSC::Twitter Data", "EOSC::Twitter Data", "", "compliesWith"));
|
addEIG(d.getEoscifguidelines(),"EOSC::Twitter Data", "EOSC::Twitter Data", "", "compliesWith");
|
||||||
}
|
}
|
||||||
return d;
|
return d;
|
||||||
}, Encoders.bean(Dataset.class))
|
}, Encoders.bean(Dataset.class))
|
||||||
|
@ -148,6 +149,12 @@ public class SparkEoscTag {
|
||||||
.json(inputPath + "/dataset");
|
.json(inputPath + "/dataset");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void addEIG(List<EoscIfGuidelines> eoscifguidelines, String code, String label, String url, String sem) {
|
||||||
|
if (!eoscifguidelines.stream().anyMatch(eig -> eig.getCode().equals(code)))
|
||||||
|
eoscifguidelines.add(newInstance(code, label, url, sem));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private static boolean containscriteriaTwitter(Result r) {
|
private static boolean containscriteriaTwitter(Result r) {
|
||||||
Set<String> words = getWordsSP(r.getTitle());
|
Set<String> words = getWordsSP(r.getTitle());
|
||||||
words.addAll(getWordsF(r.getDescription()));
|
words.addAll(getWordsF(r.getDescription()));
|
||||||
|
|
Loading…
Reference in New Issue