Project

General

Profile

« Previous | Next » 

Revision 46794

wf execution

View differences:

ProcessEngine.java
7 7
import java.util.Map;
8 8
import java.util.stream.Collectors;
9 9

  
10
import org.antlr.stringtemplate.StringTemplate;
11
import org.apache.commons.io.IOUtils;
12 10
import org.apache.commons.lang3.StringEscapeUtils;
13 11
import org.apache.commons.lang3.StringUtils;
14 12
import org.apache.commons.logging.Log;
......
18 16

  
19 17
import com.google.common.base.Throwables;
20 18

  
21
import eu.dnetlib.clients.is.InformationServiceClient;
22 19
import eu.dnetlib.miscutils.datetime.DateUtils;
23 20
import eu.dnetlib.msro.workflows.GraphNode;
24 21
import eu.dnetlib.msro.workflows.ProcessStatus;
......
40 37
	@Autowired
41 38
	private NodeHelper nodeHelper;
42 39

  
43
	@Autowired
44
	private InformationServiceClient isClient;
45

  
46 40
	public void startProcess(final WorkflowProcess process) {
47 41
		log.info(process.getGraph());
48 42

  
......
179 173

  
180 174
		process.getCallback().notify(asyncResponse);
181 175

  
182
		final String profileId = process.getProfileId();
183
		if (!process.isTemplate() && StringUtils.isNotBlank(profileId)) {
184
			try {
185
				final String template = IOUtils.toString(getClass().getResourceAsStream("/eu/dnetlib/msro/workflows/templates/workflow_status.xml.st"));
186
				final StringTemplate st = new StringTemplate(template);
187
				st.setAttribute("procId", StringEscapeUtils.escapeXml11(process.getId()));
188
				st.setAttribute("date", StringEscapeUtils.escapeXml11(DateUtils.calculate_ISO8601(now)));
189
				st.setAttribute("params", process.getOutputParams());
190
				if (process.getStatus() == ProcessStatus.FAILURE) {
191
					st.setAttribute("error", StringEscapeUtils.escapeXml11(process.getError()));
192
				}
193
				isClient.updateProfileNode(profileId, "//STATUS", st.toString());
194
			} catch (final Exception e) {
195
				log.error("Error updating workflow profile: " + profileId, e);
196
				process.setStatus(ProcessStatus.FAILURE);
197
				process.setError("Error updating workflow profile: " + profileId);
198
				process.setErrorStacktrace(Throwables.getStackTraceAsString(e));
199
			}
200
		}
201

  
202
		/* TODO : generare la risposta da passare al manager server */
203
		/*
204
		 * dnetLogger.newLogMessage() .addDetails(process.getOutputParams()) .addDetail(WorkflowsConstants.LOG_WF_NAME, process.getName())
205
		 * .addDetail(WorkflowsConstants.LOG_WF_FAMILY, process.getFamily()) .addDetail(WorkflowsConstants.LOG_WF_PRIORITY, "" +
206
		 * process.getPriority()) .addDetail(WorkflowsConstants.LOG_WF_PROCESS_ID, process.getId())
207
		 * .addDetail(WorkflowsConstants.LOG_WF_PROCESS_STATUS, process.getStatus().toString())
208
		 * .addDetail(WorkflowsConstants.LOG_WF_PROCESS_START_DATE, Long.toString(process.getStartDate()))
209
		 * .addDetail(WorkflowsConstants.LOG_WF_PROCESS_END_DATE, Long.toString(process.getEndDate()))
210
		 * .addDetail(WorkflowsConstants.LOG_WF_PROFILE_ID, process.isTemplate() ? null : process.getProfileId())
211
		 * .addDetail(WorkflowsConstants.LOG_WF_PROFILE_TEMPLATE_ID, process.isTemplate() ? process.getProfileId() : null)
212
		 * .addDetail(WorkflowsConstants.LOG_WF_PARENT, process.getParentProfileId()) .addDetail(WorkflowsConstants.LOG_DATASOURCE_ID,
213
		 * process.getDsId()) .addDetail(WorkflowsConstants.LOG_DATASOURCE_NAME, process.getDsName())
214
		 * .addDetail(WorkflowsConstants.LOG_DATASOURCE_INTERFACE, process.getDsInterface()) .addDetail(WorkflowsConstants.LOG_SYSTEM_ERROR,
215
		 * process.getError()) .addDetail(WorkflowsConstants.LOG_SYSTEM_ERROR_STACKTRACE, process.getErrorStacktrace()) .flush();
216
		 *
217
		 * emailDispatcher.sendMails(process);
218
		 */
219 176
	}
220 177

  
221 178
	private Map<String, String> filterOutputParams(final Map<String, Object> map) {

Also available in: Unified diff