Merge branch 'master' of code-repo.d4science.org:D-Net/dnet-hadoop

This commit is contained in:
Michele Artini 2020-09-25 09:03:09 +02:00
commit c171fdebe1
5 changed files with 37 additions and 23 deletions

View File

@ -577,7 +577,7 @@ public class MigrateDbEntitiesApplication extends AbstractMigrationApplication i
final String lissn = StringUtils.isNotBlank(arr[2]) ? arr[2].trim() : null; final String lissn = StringUtils.isNotBlank(arr[2]) ? arr[2].trim() : null;
if (issn != null || eissn != null || lissn != null) { if (issn != null || eissn != null || lissn != null) {
return journal(name, issn, eissn, eissn, null, null, null, null, null, null, null, info); return journal(name, issn, eissn, lissn, null, null, null, null, null, null, null, info);
} }
} }
} }

View File

@ -85,7 +85,7 @@ SELECT
dc.officialname AS collectedfromname, dc.officialname AS collectedfromname,
d.typology||'@@@dnet:datasource_typologies' AS datasourcetype, d.typology||'@@@dnet:datasource_typologies' AS datasourcetype,
'sysimport:crosswalk:entityregistry@@@dnet:provenance_actions' AS provenanceaction, 'sysimport:crosswalk:entityregistry@@@dnet:provenance_actions' AS provenanceaction,
d.issn || ' @@@ ' || d.eissn || ' @@@ ' || d.lissn AS journal concat_ws(' @@@ ', d.issn, d.eissn, d.lissn) AS journal
FROM dsm_datasources d FROM dsm_datasources d

View File

@ -73,12 +73,16 @@ public class MigrateDbEntitiesApplicationTest {
final Datasource ds = (Datasource) list.get(0); final Datasource ds = (Datasource) list.get(0);
assertValidId(ds.getId()); assertValidId(ds.getId());
assertValidId(ds.getCollectedfrom().get(0).getKey()); assertValidId(ds.getCollectedfrom().get(0).getKey());
assertEquals(ds.getOfficialname().getValue(), getValueAsString("officialname", fields)); assertEquals(getValueAsString("officialname", fields), ds.getOfficialname().getValue());
assertEquals(ds.getEnglishname().getValue(), getValueAsString("englishname", fields)); assertEquals(getValueAsString("englishname", fields), ds.getEnglishname().getValue());
assertEquals(ds.getContactemail().getValue(), getValueAsString("contactemail", fields)); assertEquals(getValueAsString("contactemail", fields), ds.getContactemail().getValue());
assertEquals(ds.getWebsiteurl().getValue(), getValueAsString("websiteurl", fields)); assertEquals(getValueAsString("websiteurl", fields), ds.getWebsiteurl().getValue());
assertEquals(ds.getNamespaceprefix().getValue(), getValueAsString("namespaceprefix", fields)); assertEquals(getValueAsString("namespaceprefix", fields), ds.getNamespaceprefix().getValue());
assertEquals(ds.getCollectedfrom().get(0).getValue(), getValueAsString("collectedfromname", fields)); assertEquals(getValueAsString("collectedfromname", fields), ds.getCollectedfrom().get(0).getValue());
assertEquals(getValueAsString("officialname", fields), ds.getJournal().getName());
assertEquals("2579-5449", ds.getJournal().getIssnPrinted());
assertEquals("2597-6540", ds.getJournal().getIssnOnline());
assertEquals(null, ds.getJournal().getIssnLinking());
} }
@Test @Test
@ -92,9 +96,11 @@ public class MigrateDbEntitiesApplicationTest {
final Project p = (Project) list.get(0); final Project p = (Project) list.get(0);
assertValidId(p.getId()); assertValidId(p.getId());
assertValidId(p.getCollectedfrom().get(0).getKey()); assertValidId(p.getCollectedfrom().get(0).getKey());
assertEquals(p.getAcronym().getValue(), getValueAsString("acronym", fields)); assertEquals(getValueAsString("acronym", fields), p.getAcronym().getValue());
assertEquals(p.getTitle().getValue(), getValueAsString("title", fields)); assertEquals(getValueAsString("title", fields), p.getTitle().getValue());
assertEquals(p.getCollectedfrom().get(0).getValue(), getValueAsString("collectedfromname", fields)); assertEquals(getValueAsString("collectedfromname", fields), p.getCollectedfrom().get(0).getValue());
assertEquals(getValueAsFloat("fundedamount", fields), p.getFundedamount());
assertEquals(getValueAsFloat("totalcost", fields), p.getTotalcost());
} }
@Test @Test
@ -110,14 +116,14 @@ public class MigrateDbEntitiesApplicationTest {
final Organization o = (Organization) list.get(0); final Organization o = (Organization) list.get(0);
assertValidId(o.getId()); assertValidId(o.getId());
assertValidId(o.getCollectedfrom().get(0).getKey()); assertValidId(o.getCollectedfrom().get(0).getKey());
assertEquals(o.getLegalshortname().getValue(), getValueAsString("legalshortname", fields)); assertEquals(getValueAsString("legalshortname", fields), o.getLegalshortname().getValue());
assertEquals(o.getLegalname().getValue(), getValueAsString("legalname", fields)); assertEquals(getValueAsString("legalname", fields), o.getLegalname().getValue());
assertEquals(o.getWebsiteurl().getValue(), getValueAsString("websiteurl", fields)); assertEquals(getValueAsString("websiteurl", fields), o.getWebsiteurl().getValue());
assertEquals(o.getCountry().getClassid(), getValueAsString("country", fields).split("@@@")[0]); assertEquals(getValueAsString("country", fields).split("@@@")[0], o.getCountry().getClassid());
assertEquals(o.getCountry().getClassname(), getValueAsString("country", fields).split("@@@")[0]); assertEquals(getValueAsString("country", fields).split("@@@")[0], o.getCountry().getClassname());
assertEquals(o.getCountry().getSchemeid(), getValueAsString("country", fields).split("@@@")[1]); assertEquals(getValueAsString("country", fields).split("@@@")[1], o.getCountry().getSchemeid());
assertEquals(o.getCountry().getSchemename(), getValueAsString("country", fields).split("@@@")[1]); assertEquals(getValueAsString("country", fields).split("@@@")[1], o.getCountry().getSchemename());
assertEquals(o.getCollectedfrom().get(0).getValue(), getValueAsString("collectedfromname", fields)); assertEquals(getValueAsString("collectedfromname", fields), o.getCollectedfrom().get(0).getValue());
} }
@Test @Test
@ -322,12 +328,20 @@ public class MigrateDbEntitiesApplicationTest {
} }
private String getValueAsString(final String name, final List<TypedField> fields) { private String getValueAsString(final String name, final List<TypedField> fields) {
return getValueAs(name, fields);
}
private Float getValueAsFloat(final String name, final List<TypedField> fields) {
return new Float(getValueAs(name, fields).toString());
}
private <T> T getValueAs(final String name, final List<TypedField> fields) {
return fields return fields
.stream() .stream()
.filter(f -> f.getField().equals(name)) .filter(f -> f.getField().equals(name))
.map(TypedField::getValue) .map(TypedField::getValue)
.filter(Objects::nonNull) .filter(Objects::nonNull)
.map(o -> o.toString()) .map(o -> (T) o)
.findFirst() .findFirst()
.get(); .get();
} }

View File

@ -142,12 +142,12 @@
{ {
"field": "totalcost", "field": "totalcost",
"type": "double", "type": "double",
"value": null "value": 157846
}, },
{ {
"field": "fundedamount", "field": "fundedamount",
"type": "double", "type": "double",
"value": null "value": 157846
}, },
{ {
"field": "collectedfromid", "field": "collectedfromid",