Project

General

Profile

1
package eu.dnetlib.msro.worker;
2

    
3
import java.util.List;
4
import java.util.Map;
5

    
6
import org.springframework.beans.factory.annotation.Required;
7

    
8
import com.google.common.collect.Lists;
9
import com.google.common.collect.Maps;
10
import com.google.gson.Gson;
11

    
12
public class WorkflowConstants {
13

    
14
	public static final String SYSTEM_METAWF_ID = "system:profileId";
15
	public static final String SYSTEM_WF_NAME = "system:wfName";
16
	public static final String SYSTEM_WF_PROFILE_NAME = "system:profileName";
17
	public static final String SYSTEM_WF_PROFILE_FAMILY = "system:profileFamily";
18
	public static final String SYSTEM_WF_PRIORITY = "system:priority";
19
	public static final String SYSTEM_WF_PROCESS_ID = "system:processId";
20
	public static final String SYSTEM_ERROR = "system:error";
21
	public static final String SYSTEM_HAS_FAILED = "system:hasFailed";
22
	public static final String SYSTEM_START_HUMAN_DATE = "system:startHumanDate";
23
	public static final String SYSTEM_START_DATE = "system:startDate";
24
	public static final String SYSTEM_END_HUMAN_DATE = "system:endHumanDate";
25
	public static final String SYSTEM_END_DATE = "system:endDate";
26

    
27
	public static final String SYSTEM_COMPLETED_SUCCESSFULLY = "system:isCompletedSuccessfully";
28
	public static final String BLACKBOARD_IS_BLACKBOARD = "blackboard:isBlackboard";
29
	public static final String BLACKBOARD_JOB = "blackboard:job";
30
	public static final String BLACKBOARD_SERVICE_ID = "blackboard:serviceId";
31
	public static final String BLACKBOARD_IS_GOING = "blackboard:isOngoing";
32
	public static final String BLACKBOARD_PARAM_PREFIX = "blackboard:param:";
33

    
34
	public static final String DATAPROVIDER_PREFIX = "dataprovider:";
35
	public static final String DATAPROVIDER_ID = WorkflowConstants.DATAPROVIDER_PREFIX + "id";
36
	public static final String DATAPROVIDER_NAME = WorkflowConstants.DATAPROVIDER_PREFIX + "name";
37
	public static final String DATAPROVIDER_ACRONYM = WorkflowConstants.DATAPROVIDER_PREFIX + "acronym";
38
	public static final String DATAPROVIDER_URL = WorkflowConstants.DATAPROVIDER_PREFIX + "url";
39
	public static final String DATAPROVIDER_INTERFACE = WorkflowConstants.DATAPROVIDER_PREFIX + "interface";
40

    
41
	public static final int MIN_WF_PRIORITY = 0;
42
	public static final int MAX_WF_PRIORITY = 100;
43
	public static final int DEFAULT_WF_PRIORITY = 50;
44
	public static final int MAX_PENDING_PROCS_SIZE = 100;
45
	public static final int MAX_WF_THREADS = 5;
46
	public static final String MAIN_LOG_PREFIX = "mainlog:";
47

    
48
	public static final String LAST_COLLECTION_DATE = "last_collection_date";
49
	public static final String LAST_COLLECTION_TOTAL = "last_collection_total";
50
	public static final String LAST_COLLECTION_MDID = "last_collection_mdId";
51

    
52
	public enum WorkflowStatus {
53
		EXECUTABLE("Executable", "icon-ok"), WAIT_USER_SETTINGS("Waiting user settings", "icon-edit"), WAIT_SYS_SETTINGS("Waiting system settings",
54
				"icon-refresh"), ASSIGNED("Assigned", "icon-ok-circle"), MISSING("Missing workflow", "icon-warning-sign");
55

    
56
		public String displayName;
57
		public String icon;
58

    
59
		WorkflowStatus(final String displayName, final String icon) {
60
			this.displayName = displayName;
61
			this.icon = icon;
62
		}
63
	}
64

    
65
	private String dataproviderProtocolsJson;
66
	private String dataproviderTypologiesJson;
67
	private List<Map<String, String>> dataproviderProtocols;
68
	private List<Map<String, String>> dataproviderTypologies;
69
	private List<Map<String, String>> dataproviderWorkflowStatuses;
70

    
71
	@SuppressWarnings("unchecked")
72
	public void init() {
73
		Gson gson = new Gson();
74
		dataproviderProtocols = gson.fromJson(dataproviderProtocolsJson, List.class);
75
		dataproviderTypologies = gson.fromJson(dataproviderTypologiesJson, List.class);
76
		dataproviderWorkflowStatuses = Lists.newArrayList();
77
		for (WorkflowStatus s : WorkflowStatus.values()) {
78
			Map<String, String> map = Maps.newHashMap();
79
			map.put("name", s.displayName);
80
			map.put("icon", s.icon);
81
			map.put("value", s.toString());
82
			dataproviderWorkflowStatuses.add(map);
83
		}
84
	}
85

    
86
	public String getDataproviderProtocolsJson() {
87
		return dataproviderProtocolsJson;
88
	}
89

    
90
	@Required
91
	public void setDataproviderProtocolsJson(final String dataproviderProtocolsJson) {
92
		this.dataproviderProtocolsJson = dataproviderProtocolsJson;
93
	}
94

    
95
	public String getDataproviderTypologiesJson() {
96
		return dataproviderTypologiesJson;
97
	}
98

    
99
	@Required
100
	public void setDataproviderTypologiesJson(final String dataproviderTypologiesJson) {
101
		this.dataproviderTypologiesJson = dataproviderTypologiesJson;
102
	}
103

    
104
	public List<Map<String, String>> getDataproviderProtocols() {
105
		return dataproviderProtocols;
106
	}
107

    
108
	public List<Map<String, String>> getDataproviderTypologies() {
109
		return dataproviderTypologies;
110
	}
111

    
112
	public List<Map<String, String>> getDataproviderWorkflowStatuses() {
113
		return dataproviderWorkflowStatuses;
114
	}
115
}
(4-4/5)