Project

General

Profile

« Previous | Next » 

Revision 58494

Fix1: set type after parsing response from external sources - this fix puts the record in the proper file path

Fix2: Update orcid parser, use single orcid work response
update ExternalParserTest

View differences:

modules/uoa-claims/trunk/src/test/java/eu/dnetlib/data/claims/parser/ExternalParserTest.java
76 76
    }
77 77

  
78 78
    private String orcidXml2 = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
79
            "<activities:works path=\"/0000-0002-3477-3082/works\" xmlns:internal=\"http://www.orcid.org/ns/internal\" xmlns:funding=\"http://www.orcid.org/ns/funding\" xmlns:preferences=\"http://www.orcid.org/ns/preferences\" xmlns:address=\"http://www.orcid.org/ns/address\" xmlns:education=\"http://www.orcid.org/ns/education\" xmlns:work=\"http://www.orcid.org/ns/work\" xmlns:deprecated=\"http://www.orcid.org/ns/deprecated\" xmlns:other-name=\"http://www.orcid.org/ns/other-name\" xmlns:history=\"http://www.orcid.org/ns/history\" xmlns:employment=\"http://www.orcid.org/ns/employment\" xmlns:error=\"http://www.orcid.org/ns/error\" xmlns:common=\"http://www.orcid.org/ns/common\" xmlns:person=\"http://www.orcid.org/ns/person\" xmlns:activities=\"http://www.orcid.org/ns/activities\" xmlns:record=\"http://www.orcid.org/ns/record\" xmlns:researcher-url=\"http://www.orcid.org/ns/researcher-url\" xmlns:peer-review=\"http://www.orcid.org/ns/peer-review\" xmlns:personal-details=\"http://www.orcid.org/ns/personal-details\" xmlns:bulk=\"http://www.orcid.org/ns/bulk\" xmlns:keyword=\"http://www.orcid.org/ns/keyword\" xmlns:email=\"http://www.orcid.org/ns/email\" xmlns:external-identifier=\"http://www.orcid.org/ns/external-identifier\">\n" +
80
            "<common:last-modified-date>2015-07-16T22:57:28.480Z</common:last-modified-date>\n" +
81
            "<activities:group>\n" +
82
            "<common:last-modified-date>2015-07-16T22:57:28.344Z</common:last-modified-date>\n" +
83
            "<common:external-ids>\n" +
84
            "<common:external-id>\n" +
85
            "<common:external-id-type>doi</common:external-id-type>\n" +
86
            "<common:external-id-value>10.1007/978-3-642-27169-4_2</common:external-id-value>\n" +
87
            "<common:external-id-url/>\n" +
88
            "<common:external-id-relationship>self</common:external-id-relationship>\n" +
89
            "</common:external-id>\n" +
90
            "</common:external-ids>\n" +
91
            "<work:work-summary put-code=\"5288651\" path=\"/0000-0002-3477-3082/work/5288651\" visibility=\"public\" display-index=\"0\">\n" +
92
            "<common:created-date>2013-03-08T03:19:36.095Z</common:created-date>\n" +
93
            "<common:last-modified-date>2015-07-16T22:57:28.264Z</common:last-modified-date>\n" +
94
            "<common:source>\n" +
95
            "<common:source-orcid>\n" +
96
            "<common:uri>https://orcid.org/0000-0002-3477-3082</common:uri>\n" +
97
            "<common:path>0000-0002-3477-3082</common:path>\n" +
98
            "<common:host>orcid.org</common:host>\n" +
99
            "</common:source-orcid>\n" +
100
            "<common:source-name>Natalia Manola</common:source-name>\n" +
101
            "</common:source>\n" +
102
            "<work:title>\n" +
103
            "<common:title>\n" +
104
            "A Survey of Context-Aware Cross-Digital Library Personalization\n" +
105
            "</common:title>\n" +
106
            "</work:title>\n" +
107
            "<common:external-ids>\n" +
108
            "<common:external-id>\n" +
109
            "<common:external-id-type>doi</common:external-id-type>\n" +
110
            "<common:external-id-value>10.1007/978-3-642-27169-4_2</common:external-id-value>\n" +
111
            "<common:external-id-url/>\n" +
112
            "<common:external-id-relationship>self</common:external-id-relationship>\n" +
113
            "</common:external-id>\n" +
114
            "</common:external-ids>\n" +
115
            "<work:type>book-chapter</work:type>\n" +
116
            "<common:publication-date>\n" +
117
            "<common:year>2012</common:year>\n" +
118
            "</common:publication-date>\n" +
119
            "</work:work-summary>\n" +
120
            "<work:work-summary put-code=\"5288654\" path=\"/0000-0002-3477-3082/work/5288654\" visibility=\"public\" display-index=\"0\">\n" +
121
            "<common:created-date>2013-03-08T03:19:36.116Z</common:created-date>\n" +
122
            "<common:last-modified-date>2015-07-16T22:57:28.344Z</common:last-modified-date>\n" +
123
            "<common:source>\n" +
124
            "<common:source-client-id>\n" +
125
            "<common:uri>https://orcid.org/client/0000-0002-5982-8983</common:uri>\n" +
126
            "<common:path>0000-0002-5982-8983</common:path>\n" +
127
            "<common:host>orcid.org</common:host>\n" +
128
            "</common:source-client-id>\n" +
129
            "<common:source-name>Scopus - Elsevier</common:source-name>\n" +
130
            "</common:source>\n" +
131
            "<work:title>\n" +
132
            "<common:title>\n" +
133
            "A survey of context-aware cross-digital library personalization\n" +
134
            "</common:title>\n" +
135
            "</work:title>\n" +
136
            "<common:external-ids>\n" +
137
            "<common:external-id>\n" +
138
            "<common:external-id-type>doi</common:external-id-type>\n" +
139
            "<common:external-id-value>10.1007/978-3-642-27169-4_2</common:external-id-value>\n" +
140
            "<common:external-id-url/>\n" +
141
            "<common:external-id-relationship>self</common:external-id-relationship>\n" +
142
            "</common:external-id>\n" +
143
            "</common:external-ids>\n" +
144
            "<work:type>journal-article</work:type>\n" +
145
            "<common:publication-date>\n" +
146
            "<common:year>2011</common:year>\n" +
147
            "</common:publication-date>\n" +
148
            "</work:work-summary>\n" +
149
            "</activities:group>\n" +
150
            "</activities:works>";
79
            "<work:work put-code=\"43079714\" path=\"/0000-0001-5264-4324/work/43079714\" visibility=\"public\" xmlns:internal=\"http://www.orcid.org/ns/internal\" xmlns:funding=\"http://www.orcid.org/ns/funding\" xmlns:preferences=\"http://www.orcid.org/ns/preferences\" xmlns:address=\"http://www.orcid.org/ns/address\" xmlns:education=\"http://www.orcid.org/ns/education\" xmlns:work=\"http://www.orcid.org/ns/work\" xmlns:deprecated=\"http://www.orcid.org/ns/deprecated\" xmlns:other-name=\"http://www.orcid.org/ns/other-name\" xmlns:history=\"http://www.orcid.org/ns/history\" xmlns:employment=\"http://www.orcid.org/ns/employment\" xmlns:error=\"http://www.orcid.org/ns/error\" xmlns:common=\"http://www.orcid.org/ns/common\" xmlns:person=\"http://www.orcid.org/ns/person\" xmlns:activities=\"http://www.orcid.org/ns/activities\" xmlns:record=\"http://www.orcid.org/ns/record\" xmlns:researcher-url=\"http://www.orcid.org/ns/researcher-url\" xmlns:peer-review=\"http://www.orcid.org/ns/peer-review\" xmlns:personal-details=\"http://www.orcid.org/ns/personal-details\" xmlns:bulk=\"http://www.orcid.org/ns/bulk\" xmlns:keyword=\"http://www.orcid.org/ns/keyword\" xmlns:email=\"http://www.orcid.org/ns/email\" xmlns:external-identifier=\"http://www.orcid.org/ns/external-identifier\">\n" +
80
            "    <common:created-date>2018-03-29T08:12:17.179Z</common:created-date>\n" +
81
            "    <common:last-modified-date>2018-03-29T08:12:17.179Z</common:last-modified-date>\n" +
82
            "    <common:source>\n" +
83
            "        <common:source-orcid>\n" +
84
            "            <common:uri>https://orcid.org/0000-0001-5264-4324</common:uri>\n" +
85
            "            <common:path>0000-0001-5264-4324</common:path>\n" +
86
            "            <common:host>orcid.org</common:host>\n" +
87
            "        </common:source-orcid>\n" +
88
            "        <common:source-name>Bastien Mérigot</common:source-name>\n" +
89
            "    </common:source>\n" +
90
            "    <work:title>\n" +
91
            "        <common:title>A three-dimensional view on biodiversity changes: spatial, temporal, and functional perspectives on fish communities in the Baltic Sea</common:title>\n" +
92
            "    </work:title>\n" +
93
            "    <work:journal-title>ICES Journal of Marine Science</work:journal-title>\n" +
94
            "    <work:citation>\n" +
95
            "        <work:citation-type>bibtex</work:citation-type>\n" +
96
            "        <work:citation-value>@article{doi:10.1093/icesjms/fsy027, author= {Frelat, Romain and Orio, Alessandro and Casini, Michele and Lehmann, Andreas and Mérigot, Bastien and Otto, Saskia A and Sguotti, Camilla and Möllmann, Christian and Handling editor: Marta Coll}, title= {A three-dimensional view on biodiversity changes: spatial, temporal, and functional perspectives on fish communities in the Baltic Sea}, journal= {ICES Journal of Marine Science}, volume= {}, number= {}, pages= {fsy027}, year= {2018}, doi= {10.1093/icesjms/fsy027}, URL= {http://dx.doi.org/10.1093/icesjms/fsy027}, eprint= {/oup/backfile/content_public/journal/icesjms/pap/10.1093_icesjms_fsy027/1/fsy027.pdf}}\n" +
97
            "\n" +
98
            "</work:citation-value>\n" +
99
            "    </work:citation>\n" +
100
            "    <work:type>journal-article</work:type>\n" +
101
            "    <common:publication-date>\n" +
102
            "        <common:year>2018</common:year>\n" +
103
            "    </common:publication-date>\n" +
104
            "    <common:external-ids>\n" +
105
            "        <common:external-id>\n" +
106
            "            <common:external-id-type>doi</common:external-id-type>\n" +
107
            "            <common:external-id-value>10.1093/icesjms/fsy027</common:external-id-value>\n" +
108
            "            <common:external-id-relationship>self</common:external-id-relationship>\n" +
109
            "        </common:external-id>\n" +
110
            "        <common:external-id>\n" +
111
            "            <common:external-id-type>arxiv</common:external-id-type>\n" +
112
            "            <common:external-id-value>/oup/backfile/content_public/journal/icesjms/pap/10.1093_icesjms_fsy027/1/fsy027.pdf</common:external-id-value>\n" +
113
            "            <common:external-id-relationship>self</common:external-id-relationship>\n" +
114
            "        </common:external-id>\n" +
115
            "    </common:external-ids>\n" +
116
            "    <work:url>http://dx.doi.org/10.1093/icesjms/fsy027</work:url>\n" +
117
            "    <work:contributors/>\n" +
118
            "</work:work>";
151 119

  
152
    private String orcidXml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
153
            "<activities:works path=\"/0000-0002-9414-646X/works\" xmlns:internal=\"http://www.orcid.org/ns/internal\" xmlns:funding=\"http://www.orcid.org/ns/funding\" xmlns:preferences=\"http://www.orcid.org/ns/preferences\" xmlns:address=\"http://www.orcid.org/ns/address\" xmlns:education=\"http://www.orcid.org/ns/education\" xmlns:work=\"http://www.orcid.org/ns/work\" xmlns:deprecated=\"http://www.orcid.org/ns/deprecated\" xmlns:other-name=\"http://www.orcid.org/ns/other-name\" xmlns:history=\"http://www.orcid.org/ns/history\" xmlns:employment=\"http://www.orcid.org/ns/employment\" xmlns:error=\"http://www.orcid.org/ns/error\" xmlns:common=\"http://www.orcid.org/ns/common\" xmlns:person=\"http://www.orcid.org/ns/person\" xmlns:activities=\"http://www.orcid.org/ns/activities\" xmlns:record=\"http://www.orcid.org/ns/record\" xmlns:researcher-url=\"http://www.orcid.org/ns/researcher-url\" xmlns:peer-review=\"http://www.orcid.org/ns/peer-review\" xmlns:personal-details=\"http://www.orcid.org/ns/personal-details\" xmlns:bulk=\"http://www.orcid.org/ns/bulk\" xmlns:keyword=\"http://www.orcid.org/ns/keyword\" xmlns:email=\"http://www.orcid.org/ns/email\" xmlns:external-identifier=\"http://www.orcid.org/ns/external-identifier\">\n" +
154
            "    <common:last-modified-date>2017-11-07T11:56:05.454Z</common:last-modified-date>\n" +
155

  
156
            "    <activities:group>\n" +
157
            "        <common:last-modified-date>2016-01-22T14:32:26.233Z</common:last-modified-date>\n" +
158
            "        <common:external-ids>\n" +
159
            "            <common:external-id>\n" +
160
            "                <common:external-id-type>doi</common:external-id-type>\n" +
161
            "                <common:external-id-value>10.1109/smc.2015.229</common:external-id-value>\n" +
162
            "                <common:external-id-relationship>self</common:external-id-relationship>\n" +
163
            "            </common:external-id>\n" +
164
            "        </common:external-ids>\n" +
165
            "        <work:work-summary put-code=\"21755327\" path=\"/0000-0002-9414-646X/work/21755327\" visibility=\"public\" display-index=\"0\">\n" +
166
            "            <common:created-date>2016-01-22T14:30:35.071Z</common:created-date>\n" +
167
            "            <common:last-modified-date>2016-01-22T14:32:26.233Z</common:last-modified-date>\n" +
168
            "            <common:source>\n" +
169
            "                <common:source-client-id>\n" +
170
            "                    <common:uri>https://orcid.org/client/0000-0002-3054-1567</common:uri>\n" +
171
            "                    <common:path>0000-0002-3054-1567</common:path>\n" +
172
            "                    <common:host>orcid.org</common:host>\n" +
173
            "                </common:source-client-id>\n" +
174
            "                <common:source-name>CrossRef Metadata Search</common:source-name>\n" +
175
            "            </common:source>\n" +
176
            "            <work:title>\n" +
177
            "                <common:title>Providing Ubiquitous Positioning in Outdoor Environments</common:title>\n" +
178
            "            </work:title>\n" +
179
            "            <common:external-ids>\n" +
180
            "                <common:external-id>\n" +
181
            "                    <common:external-id-type>doi</common:external-id-type>\n" +
182
            "                    <common:external-id-value>10.1109/smc.2015.229</common:external-id-value>\n" +
183
            "                    <common:external-id-relationship>self</common:external-id-relationship>\n" +
184
            "                </common:external-id>\n" +
185
            "            </common:external-ids>\n" +
186
            "            <work:type>conference-paper</work:type>\n" +
187
            "            <common:publication-date>\n" +
188
            "                <common:year>2015</common:year>\n" +
189
            "                <common:month>10</common:month>\n" +
190
            "            </common:publication-date>\n" +
191
            "        </work:work-summary>\n" +
192
            "    </activities:group>\n" +
193
            "<activities:group><common:last-modified-date>2018-04-18T14:40:54.953Z</common:last-modified-date><common:external-ids><common:external-id><common:external-id-type>arxiv</common:external-id-type><common:external-id-value>/oup/backfile/content_public/journal/icesjms/pap/10.1093_icesjms_fsy027/1/fsy027.pdf</common:external-id-value><common:external-id-relationship>self</common:external-id-relationship></common:external-id><common:external-id><common:external-id-type>doi</common:external-id-type><common:external-id-value>10.1093/icesjms/fsy027</common:external-id-value><common:external-id-relationship>self</common:external-id-relationship></common:external-id></common:external-ids>" +
194
            "<work:work-summary put-code=\"43079714\" path=\"/0000-0001-5264-4324/work/43079714\" visibility=\"public\" display-index=\"1\"><common:created-date>2018-03-29T08:12:17.179Z</common:created-date><common:last-modified-date>2018-03-29T08:12:17.179Z</common:last-modified-date><common:source><common:source-orcid><common:uri>https://orcid.org/0000-0001-5264-4324</common:uri><common:path>0000-0001-5264-4324</common:path><common:host>orcid.org</common:host></common:source-orcid><common:source-name>Bastien Mérigot</common:source-name></common:source>" +
195
            "<work:title><common:title>A three-dimensional view on biodiversity changes: spatial, temporal, and functional perspectives on fish communities in the Baltic Sea</common:title></work:title>" +
196
            "<common:external-ids><common:external-id><common:external-id-type>doi</common:external-id-type><common:external-id-value>10.1093/icesjms/fsy027</common:external-id-value><common:external-id-relationship>self</common:external-id-relationship></common:external-id><common:external-id><common:external-id-type>arxiv</common:external-id-type><common:external-id-value>/oup/backfile/content_public/journal/icesjms/pap/10.1093_icesjms_fsy027/1/fsy027.pdf</common:external-id-value><common:external-id-relationship>self</common:external-id-relationship></common:external-id></common:external-ids><work:type>journal-article</work:type><common:publication-date><common:year>2018</common:year></common:publication-date></work:work-summary><work:work-summary put-code=\"43766400\" path=\"/0000-0001-5264-4324/work/43766400\" visibility=\"public\" display-index=\"0\"><common:created-date>2018-04-18T14:40:54.953Z</common:created-date><common:last-modified-date>2018-04-18T14:40:54.953Z</common:last-modified-date><common:source><common:source-client-id><common:uri>https://orcid.org/client/0000-0003-1377-5676</common:uri><common:path>0000-0003-1377-5676</common:path><common:host>orcid.org</common:host></common:source-client-id><common:source-name>ResearcherID</common:source-name></common:source><work:title><common:title>A three-dimensional view on biodiversity changes: spatial, temporal, and functional perspectives on fish communities in the Baltic Sea</common:title></work:title><common:external-ids><common:external-id><common:external-id-type>doi</common:external-id-type><common:external-id-value>10.1093/icesjms/fsy027</common:external-id-value><common:external-id-relationship>self</common:external-id-relationship></common:external-id></common:external-ids><work:type>journal-article</work:type><common:publication-date><common:year>2018</common:year></common:publication-date></work:work-summary></activities:group>"+
197

  
198
            "</activities:works>\n";
120
    private String orcidXml ="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
121
            "<work:work put-code=\"21755327\" path=\"/0000-0002-9414-646X/work/21755327\" visibility=\"public\" xmlns:internal=\"http://www.orcid.org/ns/internal\" xmlns:funding=\"http://www.orcid.org/ns/funding\" xmlns:preferences=\"http://www.orcid.org/ns/preferences\" xmlns:address=\"http://www.orcid.org/ns/address\" xmlns:education=\"http://www.orcid.org/ns/education\" xmlns:work=\"http://www.orcid.org/ns/work\" xmlns:deprecated=\"http://www.orcid.org/ns/deprecated\" xmlns:other-name=\"http://www.orcid.org/ns/other-name\" xmlns:history=\"http://www.orcid.org/ns/history\" xmlns:employment=\"http://www.orcid.org/ns/employment\" xmlns:error=\"http://www.orcid.org/ns/error\" xmlns:common=\"http://www.orcid.org/ns/common\" xmlns:person=\"http://www.orcid.org/ns/person\" xmlns:activities=\"http://www.orcid.org/ns/activities\" xmlns:record=\"http://www.orcid.org/ns/record\" xmlns:researcher-url=\"http://www.orcid.org/ns/researcher-url\" xmlns:peer-review=\"http://www.orcid.org/ns/peer-review\" xmlns:personal-details=\"http://www.orcid.org/ns/personal-details\" xmlns:bulk=\"http://www.orcid.org/ns/bulk\" xmlns:keyword=\"http://www.orcid.org/ns/keyword\" xmlns:email=\"http://www.orcid.org/ns/email\" xmlns:external-identifier=\"http://www.orcid.org/ns/external-identifier\">\n" +
122
            "    <common:created-date>2016-01-22T14:30:35.071Z</common:created-date>\n" +
123
            "    <common:last-modified-date>2016-01-22T14:32:26.233Z</common:last-modified-date>\n" +
124
            "    <common:source>\n" +
125
            "        <common:source-client-id>\n" +
126
            "            <common:uri>https://orcid.org/client/0000-0002-3054-1567</common:uri>\n" +
127
            "            <common:path>0000-0002-3054-1567</common:path>\n" +
128
            "            <common:host>orcid.org</common:host>\n" +
129
            "        </common:source-client-id>\n" +
130
            "        <common:source-name>Crossref Metadata Search</common:source-name>\n" +
131
            "    </common:source>\n" +
132
            "    <work:title>\n" +
133
            "        <common:title>Providing Ubiquitous Positioning in Outdoor Environments</common:title>\n" +
134
            "    </work:title>\n" +
135
            "    <work:journal-title>2015 IEEE International Conference on Systems, Man, and Cybernetics</work:journal-title>\n" +
136
            "    <work:citation>\n" +
137
            "        <work:citation-type>bibtex</work:citation-type>\n" +
138
            "        <work:citation-value>@inproceedings{Moreno_2015,doi = {10.1109/smc.2015.229},url = {http://dx.doi.org/10.1109/smc.2015.229},year = 2015,month = {oct},publisher = {Institute of Electrical {\\&amp;} Electronics Engineers ({IEEE})},author = {Daniel Moreno and Sergio F. Ochoa and Roc Meseguer},title = {Providing Ubiquitous Positioning in Outdoor Environments},booktitle = {2015 {IEEE} International Conference on Systems, Man, and Cybernetics}}</work:citation-value>\n" +
139
            "    </work:citation>\n" +
140
            "    <work:type>conference-paper</work:type>\n" +
141
            "    <common:publication-date>\n" +
142
            "        <common:year>2015</common:year>\n" +
143
            "        <common:month>10</common:month>\n" +
144
            "    </common:publication-date>\n" +
145
            "    <common:external-ids>\n" +
146
            "        <common:external-id>\n" +
147
            "            <common:external-id-type>doi</common:external-id-type>\n" +
148
            "            <common:external-id-value>10.1109/smc.2015.229</common:external-id-value>\n" +
149
            "            <common:external-id-relationship>self</common:external-id-relationship>\n" +
150
            "        </common:external-id>\n" +
151
            "    </common:external-ids>\n" +
152
            "    <work:contributors>\n" +
153
            "        <work:contributor>\n" +
154
            "            <work:credit-name>Daniel Moreno</work:credit-name>\n" +
155
            "            <work:contributor-attributes>\n" +
156
            "                <work:contributor-role>author</work:contributor-role>\n" +
157
            "            </work:contributor-attributes>\n" +
158
            "        </work:contributor>\n" +
159
            "        <work:contributor>\n" +
160
            "            <work:credit-name>Sergio F. Ochoa</work:credit-name>\n" +
161
            "            <work:contributor-attributes>\n" +
162
            "                <work:contributor-role>author</work:contributor-role>\n" +
163
            "            </work:contributor-attributes>\n" +
164
            "        </work:contributor>\n" +
165
            "        <work:contributor>\n" +
166
            "            <work:credit-name>Roc Meseguer</work:credit-name>\n" +
167
            "            <work:contributor-attributes>\n" +
168
            "                <work:contributor-role>author</work:contributor-role>\n" +
169
            "            </work:contributor-attributes>\n" +
170
            "        </work:contributor>\n" +
171
            "    </work:contributors>\n" +
172
            "</work:work>";
199 173
    @Test
200 174
    public void orcid2ResultTest() {
201 175
        Result result = ExternalRecordParser.orcid2Result(orcidXml, "0000-0002-9414-646X-21755327");
176
        System.out.println(result);
202 177
        System.out.println(result.getTitle() + result.getAccessRights());
203 178
        Assert.assertNull(result.getAccessRights());
204 179
        Assert.assertNull(result.getBestLicense());
......
218 193
    @Test
219 194
    public void orcidSecond2ResultTest() throws Exception {
220 195
        String id =  "0000-0002-3477-3082-5288650";
221
        Result result = ExternalRecordParser.orcid2Result(searchUtils.fetchResultXMLFromOrcid(id.substring(0, 19)),id);
196
        Result result = ExternalRecordParser.orcid2Result(searchUtils.fetchResultXMLFromOrcid(id),id);
222 197
        System.out.println(result);
223 198
         id =  "0000-0002-3477-3082-5288651";
224
         result = ExternalRecordParser.orcid2Result(searchUtils.fetchResultXMLFromOrcid(id.substring(0, 19)),id);
199
         result = ExternalRecordParser.orcid2Result(searchUtils.fetchResultXMLFromOrcid(id),id);
225 200
        System.out.println(result);
226 201
//        System.out.println(result.getTitle() + result.getAccessRights());
227 202
        Assert.assertNull(result.getAccessRights());
......
241 216
    }
242 217
    @Test
243 218
    public void orcid2Result2Test() {
244
        Result result = ExternalRecordParser.orcid2Result(orcidXml, "0000-0001-5264-4324-43079714");
219
        Result result = ExternalRecordParser.orcid2Result(orcidXml2, "0000-0001-5264-4324-43079714");
245 220
        System.out.println(result);
246 221
        Assert.assertNull(result.getAccessRights());
247 222
        Assert.assertNull(result.getBestLicense());
modules/uoa-claims/trunk/src/main/java/eu/dnetlib/data/claims/utils/SearchUtils.java
94 94
    }
95 95
    public String fetchResultXMLFromOrcid(String id) throws Exception{
96 96

  
97
            return getRequest(getOrcidUrl(id));
97
            return getRequest(getOrcidUrl(id.substring(0, 19), id.substring( 20)));
98 98
    }
99 99
    public String fetchContext(String suffix) throws Exception{
100 100

  
......
127 127
        return dataciteUrl+id;
128 128
    }
129 129

  
130
    private static String getOrcidUrl(String id)  {
130
    private static String getOrcidUrl(String id, String putcode)  {
131 131

  
132
        return orcidUrlPrefix+id+orcidUrlSuffix;
132
        return orcidUrlPrefix+id+orcidUrlSuffix+putcode;
133 133
    }
134 134
    private static String getContextsAPIUrl()  {
135 135

  
modules/uoa-claims/trunk/src/main/java/eu/dnetlib/data/claims/parser/ExternalRecordParser.java
136 136
            return result;
137 137
        }
138 138
        String orcidwork = orcidworkid.substring(20, orcidworkid.length());
139

  
139
        System.out.println();
140 140
        try {
141 141
            DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
142 142
            DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
......
147 147

  
148 148
            NodeList nl;
149 149
            System.out.println(orcidwork);
150
            NodeList worknl = (NodeList) xpath.compile("//*[name()='work:work-summary'][@put-code='"+orcidwork+"']").evaluate(document,XPathConstants.NODESET);
150
            NodeList worknl = (NodeList) xpath.compile("//*[name()='work:work'][@put-code='"+orcidwork+"']").evaluate(document,XPathConstants.NODESET);
151 151
            for( int n = 0; n<worknl.getLength(); n++){
152
                String code = (String) xpath.compile("//*[name()='work:work-summary'][@put-code='"+orcidwork+"']/@put-code").evaluate(worknl.item(n), XPathConstants.STRING);
152
                String code = (String) xpath.compile("//*[name()='work:work'][@put-code='"+orcidwork+"']/@put-code").evaluate(worknl.item(n), XPathConstants.STRING);
153 153
                result = new Result();
154 154
                result.setResultType(ClaimUtils.PUBLICATION);
155
                nl = (NodeList) xpath.compile("//*[name()='work:work-summary'][@put-code='"+orcidwork+"']/*[name()='work:title']/*[name()='common:title']/text()").evaluate(worknl.item(n), XPathConstants.NODESET);
155
                nl = (NodeList) xpath.compile("//*[name()='work:work'][@put-code='"+orcidwork+"']/*[name()='work:title']/*[name()='common:title']/text()").evaluate(worknl.item(n), XPathConstants.NODESET);
156 156
                if (nl.getLength() > 0) {
157 157
                    result.setTitle(nl.item(0).getNodeValue());
158 158
                }
159 159

  
160
                nl = (NodeList) xpath.compile("//*[name()='work:work-summary'][@put-code='"+orcidwork+"']//*[name()='common:external-id']").evaluate(worknl.item(n), XPathConstants.NODESET);
160
                nl = (NodeList) xpath.compile("//*[name()='work:work'][@put-code='"+orcidwork+"']//*[name()='common:external-id']").evaluate(worknl.item(n), XPathConstants.NODESET);
161 161
                for (int i = 0; i < nl.getLength(); i++) {
162 162
                    NodeList identifiersNl;
163 163
                    String type=null;
164 164
                    String id=null;
165
                    identifiersNl = (NodeList) xpath.compile("//*[name()='work:work-summary'][@put-code='"+orcidwork+"']//*[name()='common:external-id-type']/text()").evaluate(nl.item(i), XPathConstants.NODESET);
165
                    identifiersNl = (NodeList) xpath.compile("//*[name()='work:work'][@put-code='"+orcidwork+"']//*[name()='common:external-id-type']/text()").evaluate(nl.item(i), XPathConstants.NODESET);
166 166
                    if (identifiersNl.getLength() > 0) {
167 167
                        type=identifiersNl.item(0).getNodeValue();
168 168
                    }
169
                    identifiersNl = (NodeList) xpath.compile("//*[name()='work:work-summary'][@put-code='"+orcidwork+"']//*[name()='common:external-id-value']/text()").evaluate(nl.item(i), XPathConstants.NODESET);
169
                    identifiersNl = (NodeList) xpath.compile("//*[name()='work:work'][@put-code='"+orcidwork+"']//*[name()='common:external-id-value']/text()").evaluate(nl.item(i), XPathConstants.NODESET);
170 170
                    if (identifiersNl.getLength() > 0) {
171 171
                        id=identifiersNl.item(0).getNodeValue();
172 172
                    }
......
178 178

  
179 179
                }
180 180
                if(result.getExternalUrl()==null) {
181
                    nl = (NodeList) xpath.compile("//*[name()='work:work-summary'][@put-code='"+orcidwork+"']//*[name()='common:source']/*[name()='common:source-client-id']/*[name()='common:uri']/text()").evaluate(document, XPathConstants.NODESET);
181
                    nl = (NodeList) xpath.compile("//*[name()='work:work'][@put-code='"+orcidwork+"']//*[name()='common:source']/*[name()='common:source-client-id']/*[name()='common:uri']/text()").evaluate(document, XPathConstants.NODESET);
182 182
                    if (nl.getLength() > 0) {
183 183
                        result.setExternalUrl(nl.item(0).getNodeValue());
184 184
                    }
......
212 212
        return result;
213 213
    }
214 214

  
215

  
215 216
    /**
216 217
     *
217 218
     * @param xml
modules/uoa-claims/trunk/src/main/java/eu/dnetlib/data/claims/handler/ExternalRecordHandler.java
37 37
    }
38 38

  
39 39
    public Result fetchResultfromOrcid(String id) throws Exception {
40
        Result result = externalRecordParser.orcid2Result(fetchOrcidRecord(id.substring(0, 19)), id);
40
        Result result = externalRecordParser.orcid2Result(fetchOrcidRecord(id), id);
41 41

  
42 42
        return result;
43 43
    }
modules/uoa-claims/trunk/src/main/java/eu/dnetlib/data/claims/handler/ClaimHandler.java
208 208

  
209 209
                result.setAccessRights(accessRights);
210 210
                result.setEmbargoEndDate(embargoDate);
211
                result.setResultType(type);
211 212
                return result;
212 213
            }else if (collectedFrom.equals(ClaimUtils.DATACITE)){
213 214
                Result result = externalRecordHandler.fetchResultfromDatacite(id);
......
216 217
                }else {
217 218
                    result.setAccessRights(accessRights);
218 219
                    result.setEmbargoEndDate(embargoDate);
220
                    result.setResultType(type);
219 221
                }
220 222
                return result;
221 223
            }else if (collectedFrom.equals(ClaimUtils.ORCID)){
......
225 227
                }else {
226 228
                    result.setAccessRights(accessRights);
227 229
                    result.setEmbargoEndDate(embargoDate);
230
                    result.setResultType(type);
228 231
                }
229 232
                return result;
230 233
            }else if (collectedFrom.equals(ClaimUtils.OPENAIRE)){
modules/uoa-claims/trunk/src/main/resources/eu/dnetlib/data/claims/springContext-claims.properties
1 1
services.claims.crossrefUrl=https://api.crossref.org/works?filter=doi:
2 2
services.claims.dataciteUrl=https://api.datacite.org/works/
3 3
services.claims.orcidUrlPrefix=https://pub.orcid.org/v2.1/
4
services.claims.orcidUrlSuffix=/works
4
services.claims.orcidUrlSuffix=/work/
5 5
services.claims.contextsAPIUrl=http://beta.services.openaire.eu/openaire/context
6 6

  
7 7
services.claims.db.driverClassName = org.postgresql.Driver

Also available in: Unified diff