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_WF_NAME = "system:wfName";
15
	public static final String SYSTEM_WF_PROFILE_ID = "system:profileId";
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 enum WorkflowStatus {
49
		EXECUTABLE("Executable", "icon-ok"), WAIT_USER_SETTINGS("Waiting user settings", "icon-edit"), WAIT_SYS_SETTINGS("Waiting system settings",
50
				"icon-refresh"), ASSIGNED("Assigned", "icon-ok-circle"), MISSING("Missing workflow", "icon-warning-sign");
51

    
52
		public String displayName;
53
		public String icon;
54

    
55
		WorkflowStatus(final String displayName, final String icon) {
56
			this.displayName = displayName;
57
			this.icon = icon;
58
		}
59
	}
60

    
61
	private String dataproviderProtocolsJson;
62
	private String dataproviderTypologiesJson;
63
	private List<Map<String, String>> dataproviderProtocols;
64
	private List<Map<String, String>> dataproviderTypologies;
65
	private List<Map<String, String>> dataproviderWorkflowStatuses;
66

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

    
82
	public String getDataproviderProtocolsJson() {
83
		return dataproviderProtocolsJson;
84
	}
85

    
86
	@Required
87
	public void setDataproviderProtocolsJson(final String dataproviderProtocolsJson) {
88
		this.dataproviderProtocolsJson = dataproviderProtocolsJson;
89
	}
90

    
91
	public String getDataproviderTypologiesJson() {
92
		return dataproviderTypologiesJson;
93
	}
94

    
95
	@Required
96
	public void setDataproviderTypologiesJson(final String dataproviderTypologiesJson) {
97
		this.dataproviderTypologiesJson = dataproviderTypologiesJson;
98
	}
99

    
100
	public List<Map<String, String>> getDataproviderProtocols() {
101
		return dataproviderProtocols;
102
	}
103

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

    
108
	public List<Map<String, String>> getDataproviderWorkflowStatuses() {
109
		return dataproviderWorkflowStatuses;
110
	}
111
}
(4-4/6)