refactoring

This commit is contained in:
Michele Artini 2023-10-19 15:08:42 +02:00
parent 3a99c6779d
commit c5210aa4d7
2 changed files with 4 additions and 24 deletions

View File

@ -1,12 +1,8 @@
package eu.dnetlib.wfs.procs;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@ -21,16 +17,11 @@ import eu.dnetlib.wfs.utils.ProcessCallback;
@Component
public class ProcessFactory {
private static final Log log = LogFactory.getLog(ProcessFactory.class);
private String oldGeneratedId = "";
private final DateTimeFormatter processIdFormatter = DateTimeFormatter.ofPattern("yyyyMMdd_HHmmss_S");
@Autowired
private GraphLoader graphLoader;
public WorkflowProcess newProcess(final SimpleResource wfMetadata,
public WorkflowProcess newProcess(final String processId,
final SimpleResource wfMetadata,
final WorkflowTemplate wfTemplate,
final WorkflowConfiguration conf,
final ProcessCallback callback) throws WorkflowManagerException {
@ -41,19 +32,8 @@ public class ProcessFactory {
final Graph graph = graphLoader.loadGraph(wfTemplate, globalParams);
return new WorkflowProcess(generateProcessId(), wfMetadata, conf, graph, globalParams, callback);
return new WorkflowProcess(processId, wfMetadata, conf, graph, globalParams, callback);
}
private synchronized String generateProcessId() {
String id = "";
do {
id = "wf_" + LocalDateTime.now().format(processIdFormatter);
log.info("Generated processID " + id);
} while (id.equals(oldGeneratedId));
oldGeneratedId = id;
return id;
}
}

View File

@ -113,7 +113,7 @@ public class WfExecutorService extends AbstractWfService implements Stoppable {
final WorkflowTemplate wfTmpl = simpleResourceClient.findResourceContent(wfId, WorkflowTemplate.class);
final WorkflowProcess process = processFactory.newProcess(wfMetadata, wfTmpl, conf, callback);
final WorkflowProcess process = processFactory.newProcess(processId, wfMetadata, wfTmpl, conf, callback);
processRegistry.registerProcess(process, conf);