1
|
package eu.dnetlib.data.claims.migration.parser;
|
2
|
|
3
|
import eu.dnetlib.data.claims.migration.entity.Result;
|
4
|
import eu.dnetlib.data.claimsDemo.ClaimUtils;
|
5
|
import eu.dnetlib.data.claims.migration.entity.Project;
|
6
|
import org.junit.Assert;
|
7
|
import org.junit.Test;
|
8
|
import org.xml.sax.SAXException;
|
9
|
|
10
|
import javax.xml.parsers.ParserConfigurationException;
|
11
|
import javax.xml.transform.TransformerException;
|
12
|
import javax.xml.xpath.XPathExpressionException;
|
13
|
import java.io.IOException;
|
14
|
|
15
|
/**
|
16
|
* Created by kiatrop on 22/2/2016.
|
17
|
*/
|
18
|
public class OafParserTest {
|
19
|
|
20
|
private String publicationOaf = "<response>\n" +
|
21
|
"\t <header>\n" +
|
22
|
"\t\t <query>(((deletedbyinference = false) AND (oaftype exact result)) and (resulttypeid exact publication)) and (objidentifier exact od______2806::d19b8560e0c4ce1f25dd9d661f4b2b46)</query>\n" +
|
23
|
"\t\t\t\t <locale>en_GB</locale>\t\n" +
|
24
|
"\t\t\t\t\t<size>10</size>\n" +
|
25
|
"\t\t\t <page>1</page>\n" +
|
26
|
"\t\t\t <total>1</total>\n" +
|
27
|
"\t\t\t\t\t</header>\n" +
|
28
|
"\t <results>\n" +
|
29
|
"\t\t\t\t\t\t\t\t\t<result xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
|
30
|
" xmlns:dri=\"http://www.driver-repository.eu/namespace/dri\"\n" +
|
31
|
" xmlns:oaf=\"http://namespace.openaire.eu/oaf\">\n" +
|
32
|
" <header>\n" +
|
33
|
" <dri:objIdentifier>od______2806::d19b8560e0c4ce1f25dd9d661f4b2b46</dri:objIdentifier>\n" +
|
34
|
" <dri:dateOfCollection>2016-02-02T08:07:14Z</dri:dateOfCollection>\n" +
|
35
|
" </header>\n" +
|
36
|
" <metadata>\n" +
|
37
|
" <oaf:entity xsi:schemaLocation=\"http://namespace.openaire.eu/oaf https://www.openaire.eu/schema/0.3/oaf-0.3.xsd\">\n" +
|
38
|
"\t\t <oaf:result>\n" +
|
39
|
" <title classid=\"main title\" classname=\"main title\" schemeid=\"dnet:dataCite_title\"\n" +
|
40
|
" schemename=\"dnet:dataCite_title\">ПОСТКОНВЕРСИОННАЯ АСИСТОЛИЯ ЖЕЛУДОЧКОВ СЕРДЦА У БОЛЬНЫХ ИНФАРКТОМ МИОКАРДА И ВОЗМОЖНОСТИ ЕЕ ПРОФИЛАКТИКИ</title>\n" +
|
41
|
" <dateofacceptance>2010-01-01</dateofacceptance>\n" +
|
42
|
" <resulttype classid=\"publication\" classname=\"publication\" schemeid=\"dnet:result_typologies\"\n" +
|
43
|
" schemename=\"dnet:result_typologies\"/>\n" +
|
44
|
" <country classid=\"\" classname=\"\" schemeid=\"\" schemename=\"\"/>\n" +
|
45
|
" <relevantdate classid=\"\" classname=\"\" schemeid=\"\" schemename=\"\"/>\n" +
|
46
|
" <embargoenddate>2099-12-31</embargoenddate>\n" +
|
47
|
" <originalId>oai:cyberleninka.ru:article/5969541</originalId>\n" +
|
48
|
" <collectedfrom name=\"CyberLeninka - Russian open access scientific library\"\n" +
|
49
|
" id=\"opendoar____::c0f971d8cd24364f2029fcb9ac7b71f5\"/>\n" +
|
50
|
" <pid classid=\"oai\" classname=\"oai\" schemeid=\"dnet:pid_types\"\n" +
|
51
|
" schemename=\"dnet:pid_types\">oai:cyberleninka.ru:article/5969541</pid>\n" +
|
52
|
" <pid classid=\"pmc\" classname=\"pmc\" schemeid=\"dnet:pid_types\"\n" +
|
53
|
" schemename=\"dnet:pid_types\">pmc_test</pid>\n" +
|
54
|
" <pid classid=\"orcidworkid\" classname=\"orcidworkid\" schemeid=\"dnet:pid_types\"\n" +
|
55
|
" schemename=\"dnet:pid_types\">orcidworkid_test</pid>\n" +
|
56
|
" <bestlicense classid=\"EMBARGO\" classname=\"Open Access\" schemeid=\"dnet:access_modes\"\n" +
|
57
|
" schemename=\"dnet:access_modes\"/>\n" +
|
58
|
// "\t\t <children>\n" +
|
59
|
// "\t\t\t <instance id=\"opendoar____::c0f971d8cd24364f2029fcb9ac7b71f5\">\n" +
|
60
|
// "\t\t\t <licence classid=\"EMBARGO\" classname=\"Open Access\" schemeid=\"dnet:access_modes\"\n" +
|
61
|
// " schemename=\"dnet:access_modes\"/>\n" +
|
62
|
// " <instancetype classid=\"0001\" classname=\"Article\" schemeid=\"dnet:publication_resource\"\n" +
|
63
|
// " schemename=\"dnet:publication_resource\"/>\n" +
|
64
|
// " <hostedby name=\"CyberLeninka - Russian open access scientific library\"\n" +
|
65
|
// " id=\"opendoar____::c0f971d8cd24364f2029fcb9ac7b71f5\"/>\n" +
|
66
|
// "\t\t\t\t <webresource>\n" +
|
67
|
// "\t\t\t\t <url>http://cyberleninka.ru/article/n/postkonversionnaya-asistoliya-zheludochkov-serdtsa-u-bolnyh-infarktom-miokarda-i-vozmozhnosti-ee-profilaktiki</url>\n" +
|
68
|
// "\t\t\t\t </webresource>\n" +
|
69
|
// "\t\t\t\t <webresource>\n" +
|
70
|
// "\t\t\t\t <url>http://cyberleninka.ru/article_covers/5969541.png</url>\n" +
|
71
|
// "\t\t\t\t </webresource>\n" +
|
72
|
// "\t\t\t </instance>\n" +
|
73
|
// "\t\t </children>\n" +
|
74
|
"\t\t <children>\n" +
|
75
|
"\t\t\t <instance id=\"opendoar____::c0f971d8cd24364f2029fcb9ac7b71f5\">\n" +
|
76
|
"\t\t\t <licence classid=\"CLOSED\" classname=\"Open Access\" schemeid=\"dnet:access_modes\"\n" +
|
77
|
" schemename=\"dnet:access_modes\"/>\n" +
|
78
|
" <instancetype classid=\"0001\" classname=\"Article\" schemeid=\"dnet:publication_resource\"\n" +
|
79
|
" schemename=\"dnet:publication_resource\"/>\n" +
|
80
|
" <hostedby name=\"CyberLeninka - Russian open access scientific library\"\n" +
|
81
|
" id=\"opendoar____::c0f971d8cd24364f2029fcb9ac7b71f5\"/>\n" +
|
82
|
"\t\t\t\t <webresource>\n" +
|
83
|
"\t\t\t\t <url>h CLOSED_ACCESS_URL</url>\n" +
|
84
|
"\t\t\t\t </webresource>\n" +
|
85
|
"\t\t\t\t <webresource>\n" +
|
86
|
"\t\t\t\t <url>http://cyberleninka.ru/article_covers/5969541.png</url>\n" +
|
87
|
"\t\t\t\t </webresource>\n" +
|
88
|
"\t\t\t </instance>\n" +
|
89
|
"\t\t </children>\n" +
|
90
|
"\t\t </oaf:result>\n" +
|
91
|
" </oaf:entity>\n" +
|
92
|
" </metadata>\n" +
|
93
|
" </result>\n" +
|
94
|
"\t\t\t\t\t\t</results>\n" +
|
95
|
"\t <browseResults>\n" +
|
96
|
"\t\t\t</browseResults>\n" +
|
97
|
"</response>";
|
98
|
|
99
|
|
100
|
@Test
|
101
|
public void oaf2PublicationTest() throws Exception, ParserConfigurationException, SAXException, XPathExpressionException, IOException, TransformerException {
|
102
|
Result result = OafParser.oaf2Result(publicationOaf);
|
103
|
System.out.println(result.getExternalUrl());
|
104
|
Assert.assertNull(result.getAccessRights());
|
105
|
Assert.assertEquals("EMBARGO",result.getBestLicense());
|
106
|
Assert.assertEquals("infrastruct_::openaire", result.getCollectedFrom());
|
107
|
Assert.assertNull(result.getDoi());
|
108
|
Assert.assertEquals("oai:cyberleninka.ru:article/5969541",result.getOai());
|
109
|
Assert.assertEquals("od______2806::d19b8560e0c4ce1f25dd9d661f4b2b46",result.getOpenaireId());
|
110
|
Assert.assertEquals("pmc_test",result.getPmcid());
|
111
|
Assert.assertEquals(ClaimUtils.PUBLICATION, result.getResultType());
|
112
|
Assert.assertEquals("ПОСТКОНВЕРСИОННАЯ АСИСТОЛИЯ ЖЕЛУДОЧКОВ СЕРДЦА У БОЛЬНЫХ ИНФАРКТОМ МИОКАРДА И ВОЗМОЖНОСТИ ЕЕ ПРОФИЛАКТИКИ",result.getTitle());
|
113
|
Assert.assertEquals("xml", result.getRecordFormat());
|
114
|
|
115
|
Assert.assertEquals("http://cyberleninka.ru/article/n/postkonversionnaya-asistoliya-zheludochkov-serdtsa-u-bolnyh-infarktom-miokarda-i-vozmozhnosti-ee-profilaktiki", result.getExternalUrl());
|
116
|
Assert.assertEquals("2099-12-31",result.getEmbargoEndDate());
|
117
|
Assert.assertEquals("orcidworkid_test", result.getOrcidworkid());
|
118
|
|
119
|
}
|
120
|
private String publicationWithDoiOaf = "<response>\n" +
|
121
|
"\t <header>\n" +
|
122
|
"\t\t <query>(((deletedbyinference = false) AND (oaftype exact result)) and (resulttypeid exact publication)) and (objidentifier exact od______2806::d19b8560e0c4ce1f25dd9d661f4b2b46)</query>\n" +
|
123
|
"\t\t\t\t <locale>en_GB</locale>\t\n" +
|
124
|
"\t\t\t\t\t<size>10</size>\n" +
|
125
|
"\t\t\t <page>1</page>\n" +
|
126
|
"\t\t\t <total>1</total>\n" +
|
127
|
"\t\t\t\t\t</header>\n" +
|
128
|
"\t <results>\n" +
|
129
|
"\t\t\t\t\t\t\t\t\t<result xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
|
130
|
" xmlns:dri=\"http://www.driver-repository.eu/namespace/dri\"\n" +
|
131
|
" xmlns:oaf=\"http://namespace.openaire.eu/oaf\">\n" +
|
132
|
" <header>\n" +
|
133
|
" <dri:objIdentifier>od______2806::d19b8560e0c4ce1f25dd9d661f4b2b46</dri:objIdentifier>\n" +
|
134
|
" <dri:dateOfCollection>2016-02-02T08:07:14Z</dri:dateOfCollection>\n" +
|
135
|
" </header>\n" +
|
136
|
" <metadata>\n" +
|
137
|
" <oaf:entity xsi:schemaLocation=\"http://namespace.openaire.eu/oaf https://www.openaire.eu/schema/0.3/oaf-0.3.xsd\">\n" +
|
138
|
"\t\t <oaf:result>\n" +
|
139
|
" <title classid=\"main title\" classname=\"main title\" schemeid=\"dnet:dataCite_title\"\n" +
|
140
|
" schemename=\"dnet:dataCite_title\">ПОСТКОНВЕРСИОННАЯ АСИСТОЛИЯ ЖЕЛУДОЧКОВ СЕРДЦА У БОЛЬНЫХ ИНФАРКТОМ МИОКАРДА И ВОЗМОЖНОСТИ ЕЕ ПРОФИЛАКТИКИ</title>\n" +
|
141
|
" <dateofacceptance>2010-01-01</dateofacceptance>\n" +
|
142
|
" <resulttype classid=\"publication\" classname=\"publication\" schemeid=\"dnet:result_typologies\"\n" +
|
143
|
" schemename=\"dnet:result_typologies\"/>\n" +
|
144
|
" <country classid=\"\" classname=\"\" schemeid=\"\" schemename=\"\"/>\n" +
|
145
|
" <relevantdate classid=\"\" classname=\"\" schemeid=\"\" schemename=\"\"/>\n" +
|
146
|
" <embargoenddate>2099-12-31</embargoenddate>\n" +
|
147
|
" <originalId>oai:cyberleninka.ru:article/5969541</originalId>\n" +
|
148
|
" <collectedfrom name=\"CyberLeninka - Russian open access scientific library\"\n" +
|
149
|
" id=\"opendoar____::c0f971d8cd24364f2029fcb9ac7b71f5\"/>\n" +
|
150
|
" <pid classid=\"doi\" classname=\"doi\" schemeid=\"dnet:pid_types\"\n" +
|
151
|
" schemename=\"dnet:pid_types\">doi_test</pid>\n" +
|
152
|
" <pid classid=\"oai\" classname=\"oai\" schemeid=\"dnet:pid_types\"\n" +
|
153
|
" schemename=\"dnet:pid_types\">oai:cyberleninka.ru:article/5969541</pid>\n" +
|
154
|
" <pid classid=\"pmc\" classname=\"pmc\" schemeid=\"dnet:pid_types\"\n" +
|
155
|
" schemename=\"dnet:pid_types\">pmc_test</pid>\n" +
|
156
|
" <pid classid=\"orcidworkid\" classname=\"orcidworkid\" schemeid=\"dnet:pid_types\"\n" +
|
157
|
" schemename=\"dnet:pid_types\">orcidworkid_test</pid>\n" +
|
158
|
" <bestlicense classid=\"EMBARGO\" classname=\"Open Access\" schemeid=\"dnet:access_modes\"\n" +
|
159
|
" schemename=\"dnet:access_modes\"/>\n" +
|
160
|
"\t\t <children>\n" +
|
161
|
"\t\t\t <instance id=\"opendoar____::c0f971d8cd24364f2029fcb9ac7b71f5\">\n" +
|
162
|
"\t\t\t <licence classid=\"EMBARGO\" classname=\"Open Access\" schemeid=\"dnet:access_modes\"\n" +
|
163
|
" schemename=\"dnet:access_modes\"/>\n" +
|
164
|
" <instancetype classid=\"0001\" classname=\"Article\" schemeid=\"dnet:publication_resource\"\n" +
|
165
|
" schemename=\"dnet:publication_resource\"/>\n" +
|
166
|
" <hostedby name=\"CyberLeninka - Russian open access scientific library\"\n" +
|
167
|
" id=\"opendoar____::c0f971d8cd24364f2029fcb9ac7b71f5\"/>\n" +
|
168
|
"\t\t\t\t <webresource>\n" +
|
169
|
"\t\t\t\t <url>http://cyberleninka.ru/article/n/postkonversionnaya-asistoliya-zheludochkov-serdtsa-u-bolnyh-infarktom-miokarda-i-vozmozhnosti-ee-profilaktiki</url>\n" +
|
170
|
"\t\t\t\t </webresource>\n" +
|
171
|
"\t\t\t\t <webresource>\n" +
|
172
|
"\t\t\t\t <url>http://cyberleninka.ru/article_covers/5969541.png</url>\n" +
|
173
|
"\t\t\t\t </webresource>\n" +
|
174
|
"\t\t\t </instance>\n" +
|
175
|
"\t\t </children>\n" +
|
176
|
"\t\t </oaf:result>\n" +
|
177
|
" </oaf:entity>\n" +
|
178
|
" </metadata>\n" +
|
179
|
" </result>\n" +
|
180
|
"\t\t\t\t\t\t</results>\n" +
|
181
|
"\t <browseResults>\n" +
|
182
|
"\t\t\t</browseResults>\n" +
|
183
|
"</response>";
|
184
|
@Test
|
185
|
public void oafWithDoi2PublicationTest() throws Exception, ParserConfigurationException, SAXException, XPathExpressionException, IOException, TransformerException {
|
186
|
Result result = OafParser.oaf2Result(publicationWithDoiOaf);
|
187
|
Assert.assertNull(result.getAccessRights());
|
188
|
Assert.assertEquals("EMBARGO",result.getBestLicense());
|
189
|
Assert.assertEquals("infrastruct_::openaire", result.getCollectedFrom());
|
190
|
Assert.assertNotNull(result.getDoi());
|
191
|
Assert.assertEquals("oai:cyberleninka.ru:article/5969541",result.getOai());
|
192
|
Assert.assertEquals("od______2806::d19b8560e0c4ce1f25dd9d661f4b2b46",result.getOpenaireId());
|
193
|
Assert.assertEquals("pmc_test",result.getPmcid());
|
194
|
Assert.assertEquals(ClaimUtils.PUBLICATION, result.getResultType());
|
195
|
Assert.assertEquals("ПОСТКОНВЕРСИОННАЯ АСИСТОЛИЯ ЖЕЛУДОЧКОВ СЕРДЦА У БОЛЬНЫХ ИНФАРКТОМ МИОКАРДА И ВОЗМОЖНОСТИ ЕЕ ПРОФИЛАКТИКИ",result.getTitle());
|
196
|
|
197
|
Assert.assertEquals("http://dx.doi.org/doi_test", result.getExternalUrl());
|
198
|
Assert.assertEquals("2099-12-31",result.getEmbargoEndDate());
|
199
|
Assert.assertEquals("orcidworkid_test", result.getOrcidworkid());
|
200
|
Assert.assertEquals("doi_test", result.getDoi());
|
201
|
|
202
|
|
203
|
}
|
204
|
private String datasetOaf = "<response>\n" +
|
205
|
"\t <header>\n" +
|
206
|
"\t\t <query>(((deletedbyinference = false) AND (oaftype exact result)) and (resulttypeid exact publication)) and (objidentifier exact od______2806::d19b8560e0c4ce1f25dd9d661f4b2b46)</query>\n" +
|
207
|
"\t\t\t\t <locale>en_GB</locale>\t\n" +
|
208
|
"\t\t\t\t\t<size>10</size>\n" +
|
209
|
"\t\t\t <page>1</page>\n" +
|
210
|
"\t\t\t <total>1</total>\n" +
|
211
|
"\t\t\t\t\t</header>\n" +
|
212
|
"\t <results>\n" +
|
213
|
"\t\t\t\t\t\t\t\t\t<result xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
|
214
|
" xmlns:dri=\"http://www.driver-repository.eu/namespace/dri\"\n" +
|
215
|
" xmlns:oaf=\"http://namespace.openaire.eu/oaf\">\n" +
|
216
|
" <header>\n" +
|
217
|
" <dri:objIdentifier>od______2806::d19b8560e0c4ce1f25dd9d661f4b2b46</dri:objIdentifier>\n" +
|
218
|
" <dri:dateOfCollection>2016-02-02T08:07:14Z</dri:dateOfCollection>\n" +
|
219
|
" </header>\n" +
|
220
|
" <metadata>\n" +
|
221
|
" <oaf:entity xsi:schemaLocation=\"http://namespace.openaire.eu/oaf https://www.openaire.eu/schema/0.3/oaf-0.3.xsd\">\n" +
|
222
|
"\t\t <oaf:result>\n" +
|
223
|
" <title classid=\"main title\" classname=\"main title\" schemeid=\"dnet:dataCite_title\"\n" +
|
224
|
" schemename=\"dnet:dataCite_title\">ПОСТКОНВЕРСИОННАЯ АСИСТОЛИЯ ЖЕЛУДОЧКОВ СЕРДЦА У БОЛЬНЫХ ИНФАРКТОМ МИОКАРДА И ВОЗМОЖНОСТИ ЕЕ ПРОФИЛАКТИКИ</title>\n" +
|
225
|
" <dateofacceptance>2010-01-01</dateofacceptance>\n" +
|
226
|
" <resulttype classid=\"dataset\" classname=\"dataset\" schemeid=\"dnet:result_typologies\"\n" +
|
227
|
" schemename=\"dnet:result_typologies\"/>\n" +
|
228
|
" <country classid=\"\" classname=\"\" schemeid=\"\" schemename=\"\"/>\n" +
|
229
|
" <relevantdate classid=\"\" classname=\"\" schemeid=\"\" schemename=\"\"/>\n" +
|
230
|
" <embargoenddate>2099-12-31</embargoenddate>\n" +
|
231
|
" <originalId>oai:cyberleninka.ru:article/5969541</originalId>\n" +
|
232
|
" <collectedfrom name=\"CyberLeninka - Russian open access scientific library\"\n" +
|
233
|
" id=\"opendoar____::c0f971d8cd24364f2029fcb9ac7b71f5\"/>\n" +
|
234
|
" <pid classid=\"oai\" classname=\"oai\" schemeid=\"dnet:pid_types\"\n" +
|
235
|
" schemename=\"dnet:pid_types\">oai:cyberleninka.ru:article/5969541</pid>\n" +
|
236
|
" <pid classid=\"doi\" classname=\"doi\" schemeid=\"dnet:pid_types\"\n" +
|
237
|
" schemename=\"dnet:pid_types\">doi_test</pid>\n" +
|
238
|
" <pid classid=\"pmc\" classname=\"pmc\" schemeid=\"dnet:pid_types\"\n" +
|
239
|
" schemename=\"dnet:pid_types\">pmc_test</pid>\n" +
|
240
|
" <pid classid=\"orcidworkid\" classname=\"orcidworkid\" schemeid=\"dnet:pid_types\"\n" +
|
241
|
" schemename=\"dnet:pid_types\">orcidworkid_test</pid>\n" +
|
242
|
" <bestlicense classid=\"EMBARGO\" classname=\"Open Access\" schemeid=\"dnet:access_modes\"\n" +
|
243
|
" schemename=\"dnet:access_modes\"/>\n" +
|
244
|
"\t\t <children>\n" +
|
245
|
"\t\t\t <instance id=\"opendoar____::c0f971d8cd24364f2029fcb9ac7b71f5\">\n" +
|
246
|
"\t\t\t <licence classid=\"OPEN\" classname=\"Open Access\" schemeid=\"dnet:access_modes\"\n" +
|
247
|
" schemename=\"dnet:access_modes\"/>\n" +
|
248
|
" <instancetype classid=\"0001\" classname=\"Article\" schemeid=\"dnet:publication_resource\"\n" +
|
249
|
" schemename=\"dnet:publication_resource\"/>\n" +
|
250
|
" <hostedby name=\"CyberLeninka - Russian open access scientific library\"\n" +
|
251
|
" id=\"opendoar____::c0f971d8cd24364f2029fcb9ac7b71f5\"/>\n" +
|
252
|
"\t\t\t\t <webresource>\n" +
|
253
|
"\t\t\t\t <url>http://cyberleninka.ru/article/n/postkonversionnaya-asistoliya-zheludochkov-serdtsa-u-bolnyh-infarktom-miokarda-i-vozmozhnosti-ee-profilaktiki</url>\n" +
|
254
|
"\t\t\t\t </webresource>\n" +
|
255
|
"\t\t\t\t <webresource>\n" +
|
256
|
"\t\t\t\t <url>http://cyberleninka.ru/article_covers/5969541.png</url>\n" +
|
257
|
"\t\t\t\t </webresource>\n" +
|
258
|
"\t\t\t </instance>\n" +
|
259
|
"\t\t </children>\n" +
|
260
|
"\t\t </oaf:result>\n" +
|
261
|
" </oaf:entity>\n" +
|
262
|
" </metadata>\n" +
|
263
|
" </result>\n" +
|
264
|
"\t\t\t\t\t\t</results>\n" +
|
265
|
"\t <browseResults>\n" +
|
266
|
"\t\t\t</browseResults>\n" +
|
267
|
"</response>";
|
268
|
|
269
|
|
270
|
@Test
|
271
|
public void oaf2DatasetTest() throws Exception, ParserConfigurationException, SAXException, XPathExpressionException, IOException, TransformerException {
|
272
|
Result result = OafParser.oaf2Result(datasetOaf);
|
273
|
|
274
|
Assert.assertNull(result.getAccessRights());
|
275
|
Assert.assertEquals("EMBARGO",result.getBestLicense());
|
276
|
Assert.assertEquals("infrastruct_::openaire", result.getCollectedFrom());
|
277
|
Assert.assertEquals("oai:cyberleninka.ru:article/5969541",result.getOai());
|
278
|
Assert.assertEquals("od______2806::d19b8560e0c4ce1f25dd9d661f4b2b46",result.getOpenaireId());
|
279
|
Assert.assertEquals("pmc_test",result.getPmcid());
|
280
|
Assert.assertEquals(ClaimUtils.DATASET, result.getResultType());
|
281
|
Assert.assertEquals("ПОСТКОНВЕРСИОННАЯ АСИСТОЛИЯ ЖЕЛУДОЧКОВ СЕРДЦА У БОЛЬНЫХ ИНФАРКТОМ МИОКАРДА И ВОЗМОЖНОСТИ ЕЕ ПРОФИЛАКТИКИ",result.getTitle());
|
282
|
Assert.assertEquals("xml", result.getRecordFormat());
|
283
|
|
284
|
Assert.assertEquals("http://dx.doi.org/doi_test", result.getExternalUrl());
|
285
|
Assert.assertEquals("2099-12-31",result.getEmbargoEndDate());
|
286
|
Assert.assertEquals("orcidworkid_test", result.getOrcidworkid());
|
287
|
Assert.assertEquals("doi_test", result.getDoi());
|
288
|
|
289
|
}
|
290
|
|
291
|
|
292
|
|
293
|
private String projectOaf = "<response>\n" +
|
294
|
"\t <header>\n" +
|
295
|
"\t\t <query>((deletedbyinference = false) AND (oaftype exact project)) and (projectcode exact 314867)</query>\n" +
|
296
|
"\t\t\t\t <locale>en_GB</locale>\t\n" +
|
297
|
"\t\t\t\t\t<size>10</size>\n" +
|
298
|
"\t\t\t <page>1</page>\n" +
|
299
|
"\t\t\t <total>1</total>\n" +
|
300
|
"\t\t\t\t\t</header>\n" +
|
301
|
"\t <results>\n" +
|
302
|
"\t\t\t\t\t\t\t\t\t<result xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +
|
303
|
" xmlns:dri=\"http://www.driver-repository.eu/namespace/dri\"\n" +
|
304
|
" xmlns:oaf=\"http://namespace.openaire.eu/oaf\">\n" +
|
305
|
" <header>\n" +
|
306
|
" <dri:objIdentifier>corda_______::073d0a668885f9e7292a5d9c323e4a20</dri:objIdentifier>\n" +
|
307
|
" <dri:dateOfCollection>2015-08-24</dri:dateOfCollection>\n" +
|
308
|
" <counters>\n" +
|
309
|
"\t <counter_participation value=\"8\"/>\n" +
|
310
|
" <counter_contactPerson value=\"1\"/>\n" +
|
311
|
"\t </counters>\n" +
|
312
|
" </header>\n" +
|
313
|
" <metadata>\n" +
|
314
|
" <oaf:entity xsi:schemaLocation=\"http://namespace.openaire.eu/oaf https://www.openaire.eu/schema/0.3/oaf-0.3.xsd\">\n" +
|
315
|
"\t\t <oaf:project>\n" +
|
316
|
"\t\t\t <code>314867</code>\n" +
|
317
|
" <acronym>ADAW</acronym>\n" +
|
318
|
" <title>Saponification pre-treatment and biosensors based control system for slaughterhouse waste anaerobic digestion improvement</title>\n" +
|
319
|
" <startdate>2013-03-01</startdate>\n" +
|
320
|
" <enddate>2015-02-28</enddate>\n" +
|
321
|
" <callidentifier>FP7-SME-2012</callidentifier>\n" +
|
322
|
" <ecsc39>false</ecsc39>\n" +
|
323
|
" <oamandatepublications>false</oamandatepublications>\n" +
|
324
|
" <contracttype classid=\"BSG\" classname=\"Research for the benefit of specific groups\"\n" +
|
325
|
" schemeid=\"ec:FP7contractTypes\"\n" +
|
326
|
" schemename=\"ec:FP7contractTypes\"/>\n" +
|
327
|
" <fundingtree>\n" +
|
328
|
" <funder>\n" +
|
329
|
" <id>ec__________::EC</id>\n" +
|
330
|
" <shortname>EC</shortname>\n" +
|
331
|
" <name>European Commission</name>\n" +
|
332
|
" <jurisdiction>EU</jurisdiction>\n" +
|
333
|
" </funder>\n" +
|
334
|
" <funding_level_2>\n" +
|
335
|
" <id>ec__________::EC::FP7::SP4::SME</id>\n" +
|
336
|
" <description>Research for the benefit of SMEs</description>\n" +
|
337
|
" <name>SME</name>\n" +
|
338
|
" <class>ec:program</class>\n" +
|
339
|
" <parent>\n" +
|
340
|
" <funding_level_1>\n" +
|
341
|
" <id>ec__________::EC::FP7::SP4</id>\n" +
|
342
|
" <description>SP4-Capacities</description>\n" +
|
343
|
" <name>SP4</name>\n" +
|
344
|
" <class>ec:specificprogram</class>\n" +
|
345
|
" <parent>\n" +
|
346
|
" <funding_level_0>\n" +
|
347
|
" <id>ec__________::EC::FP7</id>\n" +
|
348
|
" <description>SEVENTH FRAMEWORK PROGRAMME</description>\n" +
|
349
|
" <name>FP7</name>\n" +
|
350
|
" <parent/>\n" +
|
351
|
" <class>ec:frameworkprogram</class>\n" +
|
352
|
" </funding_level_0>\n" +
|
353
|
" </parent>\n" +
|
354
|
" </funding_level_1>\n" +
|
355
|
" </parent>\n" +
|
356
|
" </funding_level_2>\n" +
|
357
|
" </fundingtree>\n" +
|
358
|
" <websiteurl/>\n" +
|
359
|
" <keywords/>\n" +
|
360
|
" <duration/>\n" +
|
361
|
" <ecarticle29_3/>\n" +
|
362
|
" <subjects classid=\"\" classname=\"\" schemeid=\"\" schemename=\"\"/>\n" +
|
363
|
" <originalId>corda_______::314867</originalId>\n" +
|
364
|
" <collectedfrom name=\"CORDA - COmmon Research DAta Warehouse\"\n" +
|
365
|
" id=\"openaire____::b30dac7baac631f3da7c2bb18dd9891f\"/>\n" +
|
366
|
" <pid classid=\"\" classname=\"\" schemeid=\"\" schemename=\"\"/>\n" +
|
367
|
" <datainfo>\n" +
|
368
|
" <inferred>false</inferred>\n" +
|
369
|
" <deletedbyinference>false</deletedbyinference>\n" +
|
370
|
" <trust>0.9</trust>\n" +
|
371
|
" <inferenceprovenance/>\n" +
|
372
|
" <provenanceaction classid=\"sysimport:crosswalk:entityregistry\"\n" +
|
373
|
" classname=\"sysimport:crosswalk:entityregistry\"\n" +
|
374
|
" schemeid=\"dnet:provenanceActions\"\n" +
|
375
|
" schemename=\"dnet:provenanceActions\"/>\n" +
|
376
|
" </datainfo>\n" +
|
377
|
"\t\t <rels>\n" +
|
378
|
"\t\t </rels>\n" +
|
379
|
"\t\t <children>\n" +
|
380
|
"\t\t </children>\n" +
|
381
|
"\t\t </oaf:project>\n" +
|
382
|
"\n" +
|
383
|
" </oaf:entity>\n" +
|
384
|
" </metadata>\n" +
|
385
|
" </result>\n" +
|
386
|
"\t\t\t\t\t\t</results>\n" +
|
387
|
"\t <browseResults>\n" +
|
388
|
"\t\t\t</browseResults>\n" +
|
389
|
"</response>";
|
390
|
|
391
|
|
392
|
|
393
|
@Test
|
394
|
public void oaf2ProjectTest() throws Exception {
|
395
|
Project project = OafParser.oaf2Project(projectOaf);
|
396
|
|
397
|
Assert.assertEquals("corda_______::073d0a668885f9e7292a5d9c323e4a20", project.getOpenaireId());
|
398
|
Assert.assertEquals("ADAW", project.getAcronym());
|
399
|
Assert.assertEquals("ec__________::EC", project.getFunderId());
|
400
|
Assert.assertEquals("EC", project.getFunderShortName());
|
401
|
Assert.assertEquals("European Commission", project.getFunderName());
|
402
|
Assert.assertEquals("Saponification pre-treatment and biosensors based control system for slaughterhouse waste anaerobic digestion improvement", project.getName());
|
403
|
|
404
|
}
|
405
|
|
406
|
|
407
|
}
|