1
|
package eu.dnetlib.grid.process;
|
2
|
|
3
|
import java.util.List;
|
4
|
import java.util.Map;
|
5
|
import java.util.Objects;
|
6
|
import java.util.stream.Collectors;
|
7
|
|
8
|
import eu.dnetlib.grid.process.model.GridOrganization;
|
9
|
import eu.dnetlib.grid.process.utils.Datasource;
|
10
|
import eu.dnetlib.grid.process.utils.GridCleaner;
|
11
|
import eu.dnetlib.grid.process.utils.GridUtils;
|
12
|
|
13
|
public class GridOrganizationsProcess {
|
14
|
|
15
|
private static final Datasource gridDs = new Datasource("openaire____::grid", "GRID - Global Research Identifier Database", "grid________");
|
16
|
|
17
|
public static void main(final String[] args) {
|
18
|
|
19
|
}
|
20
|
|
21
|
protected static void processFile(final String jsonFile) throws Exception {
|
22
|
final GridCleaner cleaner = new GridCleaner();
|
23
|
|
24
|
final Map<String, String> parents = GridUtils.streamOrganizations(jsonFile)
|
25
|
.filter(Objects::nonNull)
|
26
|
.filter(o -> o.getStatus().equals("active"))
|
27
|
.collect(Collectors.toMap(GridOrganization::getId, GridUtils::findShortName));
|
28
|
|
29
|
GridUtils.streamOrganizations(jsonFile)
|
30
|
.filter(Objects::nonNull)
|
31
|
.filter(o -> o.getStatus().equals("active"))
|
32
|
.map(cleaner)
|
33
|
.map(org -> GridUtils.toProtos(org, parents, gridDs))
|
34
|
.flatMap(List::stream)
|
35
|
.map(s -> s) // TODO OAF -> JSON
|
36
|
.forEach(System.out::println);
|
37
|
|
38
|
}
|
39
|
|
40
|
}
|