Skip to content

Commit d5b2b61

Browse files
committed
Undo code deletion, but replace string concatenation by log+parameters
1 parent d9ba87e commit d5b2b61

2 files changed

Lines changed: 48 additions & 16 deletions

File tree

src/main/java/org/commonwl/view/cwl/CWLToolRunner.java

Lines changed: 43 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@
1919

2020
package org.commonwl.view.cwl;
2121

22+
import java.io.IOException;
23+
import java.nio.file.Path;
24+
import java.util.Date;
2225
import org.apache.jena.query.QueryException;
2326
import org.commonwl.view.git.GitDetails;
2427
import org.commonwl.view.git.GitLicenseException;
@@ -31,20 +34,16 @@
3134
import org.commonwl.view.workflow.Workflow;
3235
import org.commonwl.view.workflow.WorkflowRepository;
3336
import org.eclipse.jgit.api.Git;
37+
import org.eclipse.jgit.errors.MissingObjectException;
38+
import org.eclipse.jgit.errors.TransportException;
3439
import org.slf4j.Logger;
3540
import org.slf4j.LoggerFactory;
3641
import org.springframework.beans.factory.annotation.Autowired;
3742
import org.springframework.scheduling.annotation.Async;
3843
import org.springframework.scheduling.annotation.EnableAsync;
3944
import org.springframework.stereotype.Component;
4045

41-
import java.io.IOException;
42-
import java.nio.file.Path;
43-
import java.util.Date;
44-
45-
/**
46-
* Replace an existing workflow with the one given by cwltool
47-
*/
46+
/** Replace an existing workflow with the one given by cwltool */
4847
@Component
4948
@EnableAsync
5049
public class CWLToolRunner {
@@ -114,13 +113,47 @@ public void createWorkflowFromQueued(QueuedWorkflow queuedWorkflow) throws IOExc
114113
FileUtils.deleteGitRepository(repo);
115114
} catch (CWLValidationException | GitLicenseException ex) {
116115
String message = ex.getMessage();
117-
logger.error("Workflow {} from {} : {}", queuedWorkflow.getId(), gitInfo.toSummary(), message, ex);
116+
logger.error(
117+
"Workflow {} from {} : {}", queuedWorkflow.getId(), gitInfo.toSummary(), message, ex);
118118
queuedWorkflow.setCwltoolStatus(CWLToolStatus.ERROR);
119119
queuedWorkflow.setMessage(message);
120120
FileUtils.deleteGitRepository(repo);
121+
} catch (TransportException ex) {
122+
String message = ex.getMessage();
123+
logger.error(
124+
"Workflow retrieval error while processing {} from {} : {}",
125+
queuedWorkflow.getId(),
126+
gitInfo.toSummary(),
127+
message,
128+
ex);
129+
queuedWorkflow.setCwltoolStatus(CWLToolStatus.ERROR);
130+
if (message.contains(
131+
"Authentication is required but no CredentialsProvider has been registered")) {
132+
queuedWorkflow.setMessage(
133+
"Unable to retrieve the Git repository: it may be private, misnamed, or removed. "
134+
+ message);
135+
} else {
136+
queuedWorkflow.setMessage(message);
137+
}
138+
FileUtils.deleteGitRepository(repo);
139+
} catch (MissingObjectException ex) {
140+
String message = ex.getMessage();
141+
logger.error(
142+
"Workflow retrieval error while processing {} from {} : {}",
143+
queuedWorkflow.getId(),
144+
gitInfo.toSummary(),
145+
message,
146+
ex);
147+
queuedWorkflow.setCwltoolStatus(CWLToolStatus.ERROR);
148+
queuedWorkflow.setMessage("Unable to retrieve a needed Git object: " + message);
149+
FileUtils.deleteGitRepository(repo);
121150
} catch (Exception ex) {
122-
logger.error("Unexpected error processing workflow {} from {} : {}",
123-
queuedWorkflow.getId(), gitInfo.toSummary(), ex.getMessage(), ex);
151+
logger.error(
152+
"Unexpected error processing workflow {} from {} : {}",
153+
queuedWorkflow.getId(),
154+
gitInfo.toSummary(),
155+
ex.getMessage(),
156+
ex);
124157
queuedWorkflow.setCwltoolStatus(CWLToolStatus.ERROR);
125158
queuedWorkflow.setMessage(
126159
"Whoops! Cwltool ran successfully, but an unexpected "

src/main/java/org/commonwl/view/workflow/WorkflowController.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@
2222
import jakarta.servlet.http.HttpServletRequest;
2323
import jakarta.servlet.http.HttpServletResponse;
2424
import jakarta.validation.Valid;
25+
import java.io.File;
26+
import java.io.IOException;
27+
import java.io.InputStream;
28+
import java.nio.file.Path;
29+
import java.util.List;
2530
import org.apache.commons.lang.StringUtils;
2631
import org.commonwl.view.WebConfig;
2732
import org.commonwl.view.cwl.CWLNotAWorkflowException;
@@ -54,12 +59,6 @@
5459
import org.springframework.web.servlet.ModelAndView;
5560
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
5661

57-
import java.io.File;
58-
import java.io.IOException;
59-
import java.io.InputStream;
60-
import java.nio.file.Path;
61-
import java.util.List;
62-
6362
@Controller
6463
public class WorkflowController {
6564

0 commit comments

Comments
 (0)