forked from D-Net/dnet-hadoop
[graph cleaning] avoid stack overflow error when navigating Oaf objects declaring an Enum
This commit is contained in:
parent
70eb1796b2
commit
cb71a7936b
|
@ -59,6 +59,7 @@ public class OafCleaner implements Serializable {
|
|||
private static boolean isPrimitive(Object o) {
|
||||
return Objects.isNull(o)
|
||||
|| o.getClass().isPrimitive()
|
||||
|| o.getClass().isEnum()
|
||||
|| o instanceof Class
|
||||
|| o instanceof Integer
|
||||
|| o instanceof Double
|
||||
|
|
|
@ -690,6 +690,38 @@ public class CleanGraphSparkJobTest {
|
|||
|
||||
}
|
||||
|
||||
@Test
|
||||
void testClean_ORP() throws Exception {
|
||||
final String prefix = "gcube ";
|
||||
|
||||
new CleanGraphSparkJob(
|
||||
args(
|
||||
"/eu/dnetlib/dhp/oa/graph/input_clean_graph_parameters.json",
|
||||
new String[] {
|
||||
"--inputPath", graphInputPath + "/orp",
|
||||
"--outputPath", graphOutputPath + "/orp",
|
||||
"--isLookupUrl", "lookupurl",
|
||||
"--graphTableClassName", OtherResearchProduct.class.getCanonicalName(),
|
||||
"--deepClean", "true",
|
||||
"--contextId", "sobigdata",
|
||||
"--verifyParam", "gCube ",
|
||||
"--masterDuplicatePath", dsMasterDuplicatePath,
|
||||
"--country", "NL",
|
||||
"--verifyCountryParam", "10.17632",
|
||||
"--collectedfrom", "NARCIS",
|
||||
"--hostedBy", Objects
|
||||
.requireNonNull(
|
||||
getClass()
|
||||
.getResource("/eu/dnetlib/dhp/oa/graph/clean/hostedBy"))
|
||||
.getPath()
|
||||
})).run(false, isLookUpService);
|
||||
|
||||
Dataset<OtherResearchProduct> orp = read(spark, graphOutputPath + "/orp", OtherResearchProduct.class);
|
||||
|
||||
assertEquals(1, orp.count());
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
void testCleanCfHbSparkJob() throws Exception {
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue