Skip to content
Snippets Groups Projects
Commit 326b89a3 authored by Nicola Fulvio Calabria's avatar Nicola Fulvio Calabria
Browse files

#3824: Second part of implementation, update job status. Need to add tests

parent b67a408f
No related branches found
No related tags found
No related merge requests found
Pipeline #1174 passed
......@@ -2,8 +2,7 @@ package it.inaf.ia2.transfer.controller;
import it.inaf.ia2.transfer.persistence.FileDAO;
import it.inaf.ia2.transfer.persistence.ListOfFilesDAO;
//import it.inaf.oats.vospace.persistence.JobDAO;
import net.ivoa.xml.uws.v1.JobSummary;
import it.inaf.ia2.transfer.persistence.JobDAO;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
......@@ -37,8 +36,9 @@ public class PutFileController extends FileController {
@Autowired
private FileDAO fileDAO;
//@Autowired
//private JobDAO jobDAO;
@Autowired
private JobDAO jobDAO;
@Autowired
private ListOfFilesDAO listOfFilesDAO;
......@@ -48,20 +48,16 @@ public class PutFileController extends FileController {
@RequestParam(value = "jobid", required = false) String jobId) throws IOException, NoSuchAlgorithmException {
String path = getPath();
JobSummary job = null;
if (jobId == null) {
LOG.debug("putFile called for path {}", path);
} else {
LOG.debug("putFile called for path {} with jobId {}", path, jobId);
/*
Optional<JobSummary> resultJob = jobDAO.getJob(jobId);
if(resultJob.isPresent())
if(!jobDAO.isJobExisting(jobId))
{
job = resultJob.get();
} else {
return new ResponseEntity<>("Job "+jobId+ " not found", NOT_FOUND);
}*/
}
}
Optional<FileInfo> optFileInfo = fileDAO.getFileInfo(path);
......@@ -75,7 +71,7 @@ public class PutFileController extends FileController {
} else {
fileInfo.setContentType(file.getContentType());
fileInfo.setContentEncoding(contentEncoding);
storeGenericFile(fileInfo, in, job);
storeGenericFile(fileInfo, in, jobId);
}
}
......@@ -110,7 +106,7 @@ public class PutFileController extends FileController {
return filePaths;
}
private void storeGenericFile(FileInfo fileInfo, InputStream is, JobSummary job) throws IOException, NoSuchAlgorithmException {
private void storeGenericFile(FileInfo fileInfo, InputStream is, String jobId) throws IOException, NoSuchAlgorithmException {
File file = new File(fileInfo.getOsPath());
......@@ -143,15 +139,13 @@ public class PutFileController extends FileController {
fileInfo.getContentEncoding(),
fileSize,
md5Checksum);
if (job != null) {
//job.setPhase(ExecutionPhase.COMPLETED);
//jobDAO.updateJob(job);
if (jobId != null) {
jobDAO.updateJobPhase(ExecutionPhase.COMPLETED, jobId);
}
} catch (IOException | NoSuchAlgorithmException ex) {
if (job != null) {
//job.setPhase(ExecutionPhase.ERROR);
//jobDAO.updateJob(job);
if (jobId != null) {
jobDAO.updateJobPhase(ExecutionPhase.ERROR, jobId);
}
throw ex;
} finally {
......
package it.inaf.ia2.transfer.persistence;
import java.sql.Types;
import javax.sql.DataSource;
import net.ivoa.xml.uws.v1.ExecutionPhase;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Repository
public class JobDAO {
private final JdbcTemplate jdbcTemplate;
@Autowired
public JobDAO(DataSource dataSource) {
jdbcTemplate = new JdbcTemplate(dataSource);
}
public boolean isJobExisting(String jobId) {
String sql = "SELECT * FROM job WHERE job_id = ?";
boolean result = jdbcTemplate.query(sql,
ps -> {
ps.setString(1, jobId);
}, rs -> {
return rs.next();
});
return result;
}
public void updateJobPhase(ExecutionPhase phase, String jobId) {
String sql = "UPDATE job SET phase = ? WHERE job_id = ?";
jdbcTemplate.update(sql, ps -> {
ps.setObject(1, phase, Types.OTHER);
ps.setString(2, jobId);
});
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment