Project

General

Profile

« Previous | Next » 

Revision 61531

dois in lower case

View differences:

modules/dnet-isti/trunk/src/test/java/eu/dnetlib/data/utils/XsltFunctionsTest.java
1
package eu.dnetlib.data.utils;
2

  
3
import static org.junit.Assert.assertEquals;
4

  
5
import org.junit.Test;
6

  
7
public class XsltFunctionsTest {
8

  
9
	@Test
10
	public void testCleanDoi_1() {
11
		assertEquals("10.3233/faia200182", XsltFunctions.cleanDoi("  10.3233/FAIA200182  "));
12
	}
13

  
14
	@Test
15
	public void testCleanDoi_2() {
16
		assertEquals("", XsltFunctions.cleanDoi(""));
17
	}
18

  
19
	@Test
20
	public void testCleanDoi_3() {
21
		assertEquals("", XsltFunctions.cleanDoi(null));
22
	}
23

  
24
}
modules/dnet-isti/trunk/src/main/java/eu/dnetlib/data/utils/XsltFunctions.java
48 48
	}
49 49

  
50 50
	public static String cleanDoi(final String doi) {
51
		if (StringUtils.isBlank(doi)) { return ""; }
52

  
51 53
		final String x = doi.replaceAll("\\?", "")
52 54
				.replaceAll("\\s*\\/\\s*", "/")
53 55
				.replaceAll("\\s*\\-\\s*", "-")
54 56
				.trim()
55
				.replaceAll("\\s", "_");
57
				.replaceAll("\\s", "_")
58
				.toLowerCase();
56 59

  
57 60
		if (!x.equals(doi)) {
58 61
			log.info("Cleaning doi: " + doi + " -> " + x);
modules/dnet-isti/trunk/src/main/java/eu/dnetlib/data/mdstore/plugins/EnrichOpenairePlugin.java
201 201

  
202 202
	private void updateDois(final MdRecord doc, final Node n) {
203 203
		for (final Object od : n.selectNodes(".//*[local-name()='result']/pid[@classid='doi']")) {
204
			final String doi = ((Node) od).getText().trim();
204
			final String doi = XsltFunctions.cleanDoi(((Node) od).getText());
205 205
			if (StringUtils.isNotBlank(doi)) {
206 206
				doc.getDois().add(doi);
207 207
			}

Also available in: Unified diff