Project

General

Profile

1 40552 nikon.gasp
package eu.dnetlib.repo.manager.server.utils;
2 10567 antonis.le
3 40552 nikon.gasp
import com.google.gwt.user.client.rpc.IsSerializable;
4 40553 nikon.gasp
import eu.dnetlib.repo.manager.shared.Timezone;
5 40552 nikon.gasp
import org.apache.log4j.Logger;
6
import org.springframework.beans.factory.annotation.Configurable;
7
8 10695 manos.karv
import java.io.BufferedReader;
9 10567 antonis.le
import java.io.InputStreamReader;
10 10695 manos.karv
import java.util.ArrayList;
11
import java.util.List;
12 10567 antonis.le
13 40552 nikon.gasp
@Configurable
14 40600 nikon.gasp
public class LocalVocabularies implements IsSerializable {
15 11432 antonis.le
16 40600 nikon.gasp
	private static Logger logger = Logger.getLogger(LocalVocabularies.class);
17 10567 antonis.le
18 11432 antonis.le
	public static String loggedInField = "LOGGED_IN_FIELD";
19 10567 antonis.le
20 10695 manos.karv
	public static List<String> typologies;
21
	public static List<String> countries;
22
	public static List<Timezone> timezones;
23 11261 antonis.le
24 11432 antonis.le
	public static final String MODE_LOCAL = "local";
25
	public static final String MODE_DNET = "dnet";
26
	public static final String MODE_LDAP = "ldap";
27 35079 nikon.gasp
28
	public static final String ENV_LAREFERENCIA = "lareferencia";
29
	public static final String ENV_MINCYT = "mincyt";
30
	public static final String ENV_OPENAIRE_PRODUCTION = "openaire-production";
31
	public static final String ENV_OPENAIRE_BETA = "openaire-beta";
32
	public static final String ENV_DEVELOPMENT = "development";
33 11432 antonis.le
34 10567 antonis.le
	static {
35 11261 antonis.le
36 10695 manos.karv
		typologies = new ArrayList<String>();
37
		countries = new ArrayList<String>();
38
		timezones = new ArrayList<Timezone>();
39 11432 antonis.le
40 10567 antonis.le
		try {
41 12185 manos.karv
			logger.debug("loading typologies, countries, timezones and other constants");
42 40552 nikon.gasp
43 40600 nikon.gasp
			BufferedReader br = new BufferedReader(new InputStreamReader(LocalVocabularies.class.getResourceAsStream("/eu/dnetlib/repo/manager/server/utils/typologies.txt")));
44 10695 manos.karv
			String line;
45
			while((line = br.readLine()) != null) {
46
				typologies.add(line.trim());
47
			}
48
			br.close();
49 40552 nikon.gasp
50 40600 nikon.gasp
			br = new BufferedReader(new InputStreamReader(LocalVocabularies.class.getResourceAsStream("/eu/dnetlib/repo/manager/server/utils/countries.txt")));
51 10695 manos.karv
			while((line = br.readLine()) != null) {
52
				countries.add(line.trim());
53
			}
54
			br.close();
55
56 40600 nikon.gasp
			br = new BufferedReader(new InputStreamReader(LocalVocabularies.class.getResourceAsStream("/eu/dnetlib/repo/manager/server/utils/timezones.txt")));
57 10695 manos.karv
			while((line = br.readLine()) != null) {
58
				String parts[] = line.split("\t");
59
				if(parts.length < 2 || parts.length > 2)
60
					continue;
61
				String name = parts[1].trim();
62
				double offset = Double.parseDouble(parts[0].trim());
63
				Timezone timezone = new Timezone(name, offset);
64
				timezones.add(timezone);
65
			}
66
			br.close();
67
68 10567 antonis.le
		} catch (Exception e) {
69 12185 manos.karv
			logger.error("Error loading typologies, countries, timezones and other constants", e);
70 10567 antonis.le
		}
71
	}
72 40552 nikon.gasp
73 10567 antonis.le
}