Project

General

Profile

1 36921 eri.katsar
package eu.dnetlib.data.mapreduce.hbase.statsExport.utils;
2 37023 eri.katsar
3 36975 eri.katsar
import org.apache.log4j.Logger;
4 37023 eri.katsar
5 36921 eri.katsar
/**
6
 * Created by envy17 j110ea on 4/5/2015.
7
 */
8 36975 eri.katsar
9 42734 eri.katsar
//Extract funder info for projects
10
11 36921 eri.katsar
public class FundingParser {
12
13 36982 eri.katsar
14 42734 eri.katsar
	public static String getFundingLevel(String funding_level, int level, String DELIM, String ENCLOSING) {
15 36921 eri.katsar
16 37023 eri.katsar
		if (funding_level.isEmpty()) {
17 42734 eri.katsar
			return ENCLOSING + " " + ENCLOSING + DELIM;
18 37023 eri.katsar
		}
19 36921 eri.katsar
20 37023 eri.katsar
		if (!funding_level.contains("<funding_level_" + level + ">")) {
21 42734 eri.katsar
			return ENCLOSING + " " + ENCLOSING + DELIM;
22 37023 eri.katsar
		}
23 36921 eri.katsar
24 37023 eri.katsar
		String[] split = funding_level.split("<funding_level_" + level + ">");
25 36921 eri.katsar
26 37023 eri.katsar
		funding_level = split[1];
27 36921 eri.katsar
28 37023 eri.katsar
		split = funding_level.split("<name>");
29
		funding_level = split[1];
30 36921 eri.katsar
31 37023 eri.katsar
		funding_level = funding_level.substring(0, funding_level.indexOf("</name>"));
32
		funding_level = funding_level.replaceAll("\"", "");
33 42734 eri.katsar
		funding_level = funding_level.replaceAll("/>", "");
34
		funding_level = funding_level.replaceAll("<", "");
35 37023 eri.katsar
		funding_level = funding_level.replaceAll("&amp;", "");
36 37078 eri.katsar
37
		if (level == 1) {
38
			if (funding_level.equalsIgnoreCase("SP1")) {
39
				funding_level = "SP1-Cooperation";
40
			} else if (funding_level.equalsIgnoreCase("SP2")) {
41
				funding_level = "SP2-Ideas";
42
			}
43
			if (funding_level.equalsIgnoreCase("SP3")) {
44
				funding_level = "SP3-People";
45
			} else if (funding_level.equalsIgnoreCase("SP4")) {
46 39008 eri.katsar
				funding_level = "SP4-Capacities";
47 37078 eri.katsar
48
			} else if (funding_level.equalsIgnoreCase("SP5")) {
49
				funding_level = "SP5-Euratom";
50
			}
51
		}
52
53 38097 eri.katsar
54
		funding_level = funding_level.replaceAll(">", "");
55
56
		funding_level = funding_level.replaceAll("</", "");
57 42734 eri.katsar
		funding_level = funding_level.replace(DELIM, " ");
58
		funding_level = funding_level.replace(ENCLOSING, " ");
59 38097 eri.katsar
60 42734 eri.katsar
		return ENCLOSING + funding_level + ENCLOSING + DELIM;
61 37023 eri.katsar
	}
62 36921 eri.katsar
63 42734 eri.katsar
	public static String getFundingInfo(String buff, String DELIM, String ENCLOSING) {
64
		return getFunder(buff, DELIM, ENCLOSING) +
65
				getFundingLevel(buff, 0, DELIM, ENCLOSING) + (getFundingLevel(buff, 1, DELIM, ENCLOSING) + getFundingLevel(buff, 2, DELIM, ENCLOSING)
66
				+ getFundingLevel(buff, 3, DELIM, ENCLOSING));
67 37023 eri.katsar
	}
68 36921 eri.katsar
69 42734 eri.katsar
	public static String getFunder(String buff, String DELIM, String ENCLOSING) {
70 36921 eri.katsar
71 37023 eri.katsar
		if (buff.isEmpty()) {
72 42734 eri.katsar
			return ENCLOSING + " " + ENCLOSING + DELIM;
73 36921 eri.katsar
74 37023 eri.katsar
		}
75
		if (!buff.contains("<funder>")) {
76 42734 eri.katsar
			return ENCLOSING + " " + ENCLOSING + DELIM;
77 37023 eri.katsar
		}
78 42734 eri.katsar
79 37023 eri.katsar
		String[] split = buff.split("<funder>");
80
		String funder = split[1];
81
		split = funder.split("<name>");
82 36982 eri.katsar
83 37023 eri.katsar
		funder = split[1];
84 37008 eri.katsar
85 37023 eri.katsar
		funder = funder.substring(0, funder.indexOf("</name>"));
86 38097 eri.katsar
87
		funder = funder.replaceAll(">", "");
88
89
		funder = funder.replaceAll("</", "");
90
91 37023 eri.katsar
		funder = funder.replaceAll("\"", "");
92
		funder = funder.replaceAll("&amp;", "");
93 42734 eri.katsar
		funder = funder.replace(ENCLOSING, " ");
94 37008 eri.katsar
95 42734 eri.katsar
		return ENCLOSING + funder + ENCLOSING + DELIM;
96 37023 eri.katsar
	}
97 36921 eri.katsar
98
}