Loading src/main/java/it/inaf/ia2/transfer/controller/PutFileController.java +14 −20 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading @@ -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); Loading @@ -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); } } Loading Loading @@ -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()); Loading Loading @@ -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 { Loading src/main/java/it/inaf/ia2/transfer/persistence/JobDAO.java 0 → 100644 +46 −0 Original line number Diff line number Diff line 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); }); } } Loading
src/main/java/it/inaf/ia2/transfer/controller/PutFileController.java +14 −20 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; Loading @@ -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); Loading @@ -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); } } Loading Loading @@ -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()); Loading Loading @@ -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 { Loading
src/main/java/it/inaf/ia2/transfer/persistence/JobDAO.java 0 → 100644 +46 −0 Original line number Diff line number Diff line 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); }); } }