dnet-applications/libs/dnet-wf-service/src/main/java/eu/dnetlib/manager/wf/workflows/util/WorkflowsConstants.java

120 lines
4.2 KiB
Java

package eu.dnetlib.manager.wf.workflows.util;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Required;
import com.google.gson.Gson;
public class WorkflowsConstants {
public static final String DATASOURCE_PREFIX = "datasource:";
public static final String LOG_WF_NAME = "system:wfName";
public static final String LOG_WF_ID = "system:wfId";
public static final String LOG_WF_INSTANCE_ID = "system:wfInstanceId";
public static final String LOG_WF_FAMILY = "system:family";
public static final String LOG_WF_PRIORITY = "system:priority";
public static final String LOG_WF_PROCESS_ID = "system:processId";
public static final String LOG_WF_PROCESS_STATUS = "system:processStatus";
public static final String LOG_WF_PROCESS_START_DATE = "system:startDate";
public static final String LOG_WF_PROCESS_END_DATE = "system:endDate";
public static final String LOG_WF_PARENT = "system:parentProfileId";
public static final String LOG_SYSTEM_ERROR = "system:error";
public static final String LOG_SYSTEM_ERROR_STACKTRACE = "system:error:stacktrace";
public static final String LOG_DATASOURCE_NAME = WorkflowsConstants.DATASOURCE_PREFIX + "name";
public static final String LOG_DATASOURCE_ID = WorkflowsConstants.DATASOURCE_PREFIX + "id";
public static final String LOG_DATASOURCE_INTERFACE = WorkflowsConstants.DATASOURCE_PREFIX + "interface";
public static final String BLACKBOARD_IS_BLACKBOARD = "blackboard:isBlackboard";
public static final String BLACKBOARD_JOB = "blackboard:job";
public static final String BLACKBOARD_SERVICE_ID = "blackboard:serviceId";
public static final String BLACKBOARD_IS_GOING = "blackboard:isOngoing";
public static final String BLACKBOARD_PARAM_PREFIX = "blackboard:param:";
// public static final String DATASOURCE_ACRONYM = WorkflowsConstants.DATASOURCE_PREFIX + "acronym";
// public static final String DATASOURCE_URL = WorkflowsConstants.DATASOURCE_PREFIX + "url";
public static final int MIN_WF_PRIORITY = 0;
public static final int MAX_WF_PRIORITY = 100;
public static final int DEFAULT_WF_PRIORITY = 50;
public static final int MAX_PENDING_PROCS_SIZE = 100;
public static final int MAX_RUNNING_PROCS_SIZE = 100;
public static final String MAIN_LOG_PREFIX = "mainlog:";
private String datasourceProtocolsJson;
private String datasourceTypologiesJson;
private List<Map<String, String>> datasourceProtocols;
private List<Map<String, String>> datasourceTypologies;
private List<Map<String, String>> datasourceWorkflowStatuses;
@SuppressWarnings("unchecked")
public void init() {
final Gson gson = new Gson();
datasourceProtocols = gson.fromJson(datasourceProtocolsJson, List.class);
datasourceTypologies = gson.fromJson(datasourceTypologiesJson, List.class);
datasourceWorkflowStatuses = new ArrayList<>();
for (final WorkflowStatus s : WorkflowStatus.values()) {
final Map<String, String> map = new HashMap<>();
map.put("name", s.displayName);
map.put("icon", s.icon);
map.put("value", s.toString());
datasourceWorkflowStatuses.add(map);
}
}
public String getDatasourceProtocolsJson() {
return datasourceProtocolsJson;
}
@Required
public void setDatasourceProtocolsJson(final String datasourceProtocolsJson) {
this.datasourceProtocolsJson = datasourceProtocolsJson;
}
public String getDatasourceTypologiesJson() {
return datasourceTypologiesJson;
}
@Required
public void setDatasourceTypologiesJson(final String datasourceTypologiesJson) {
this.datasourceTypologiesJson = datasourceTypologiesJson;
}
public List<Map<String, String>> getDatasourceProtocols() {
return datasourceProtocols;
}
public List<Map<String, String>> getDatasourceTypologies() {
return datasourceTypologies;
}
public List<Map<String, String>> getDatasourceWorkflowStatuses() {
return datasourceWorkflowStatuses;
}
public enum WorkflowStatus {
EXECUTABLE("Executable", "icon-ok"),
WAIT_USER_SETTINGS("Waiting user settings", "icon-edit"),
WAIT_SYS_SETTINGS("Waiting system settings",
"icon-refresh");
public String displayName;
public String icon;
WorkflowStatus(final String displayName, final String icon) {
this.displayName = displayName;
this.icon = icon;
}
}
}