diff --git a/src/main/java/dto/BrewObj.java b/src/main/java/dto/BrewObj.java index 4ddcdab..449b9c2 100644 --- a/src/main/java/dto/BrewObj.java +++ b/src/main/java/dto/BrewObj.java @@ -5,9 +5,6 @@ import lombok.Builder; import lombok.Getter; import lombok.ToString; import lombok.extern.jackson.Jacksonized; - -// import org.jboss.pnc.api.dto.Request; - import java.io.Serializable; @ToString @@ -16,11 +13,16 @@ import java.io.Serializable; @Jacksonized @Builder public class BrewObj implements Serializable { - public String buildSystemType; - public String brewId; - public String brewNvr; - public String pncId; - public String artifactType; - public String fileName; - public String buildFromSource; -} \ No newline at end of file + + public static final String SQL = "INSERT INTO brewscans " + + "(buildSystemType, brewId, brewNVR, pncId, artifactType, fileName, builtfromSource)" + + "VALUES (? ? ? ? ? ? ?)"; + + private String buildSystemType; + private String brewId; + private String brewNvr; + private String pncId; + private String artifactType; + private String fileName; + private Boolean builtFromSource; +} diff --git a/src/main/java/dto/BrewObjPayload.java b/src/main/java/dto/BrewObjPayload.java index 95b7928..2252837 100644 --- a/src/main/java/dto/BrewObjPayload.java +++ b/src/main/java/dto/BrewObjPayload.java @@ -1,23 +1,19 @@ package dto; -import org.eclipse.microprofile.config.ConfigProvider; -// import org.jboss.pnc.api.deliverablesanalyzer.dto.AnalyzePayload; -// import org.jboss.pnc.api.dto.HeartbeatConfig; -// import org.jboss.pnc.api.dto.Request; - -import java.net.URI; import java.net.URISyntaxException; -import java.nio.charset.StandardCharsets; -import java.sql.Struct; -import java.util.*; - -import org.json.JSONObject; -import org.json.JSONArray; +import org.json.JSONObject; import static constants.HttpHeaders.AUTHORIZATION_STRING; public class BrewObjPayload { public static BrewObj constructScanPayload(JSONObject brewObj) throws URISyntaxException { - return new BrewObj(brewObj.getString("buildSystemType"),brewObj.getString("brewId"),brewObj.getString("brewNvr"),brewObj.getString("pncId"),brewObj.getString("artifactType"),brewObj.getString("fileName"),brewObj.getString("builtFromSource")); + return new BrewObj( + brewObj.getString("buildSystemType"), + brewObj.getString("brewId"), + brewObj.getString("brewNVR"), + brewObj.getString("pncId"), + brewObj.getString("artifactType"), + brewObj.getString("fileName"), + brewObj.getBoolean("builtfromSource")); } -} \ No newline at end of file +} diff --git a/src/main/java/dto/ConnectDB.java b/src/main/java/dto/ConnectDB.java index cb8b084..db73c09 100644 --- a/src/main/java/dto/ConnectDB.java +++ b/src/main/java/dto/ConnectDB.java @@ -1,7 +1,5 @@ package dto; -import constants.PSGQL; - import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; @@ -10,8 +8,7 @@ import static constants.PSGQL.user; import static constants.PSGQL.password; import static constants.PSGQL.url; - -public class ConnectDB{ +public class ConnectDB { // private final String url = "jdbc:postgresql://localhost:5432/scandb"; // private final String user = "postgres"; // private final String password = "password"; diff --git a/src/main/java/dto/GitObj.java b/src/main/java/dto/GitObj.java index bb99507..68245ed 100644 --- a/src/main/java/dto/GitObj.java +++ b/src/main/java/dto/GitObj.java @@ -6,8 +6,6 @@ import lombok.Getter; import lombok.ToString; import lombok.extern.jackson.Jacksonized; -// import org.jboss.pnc.api.dto.Request; - import java.io.Serializable; @ToString @@ -16,8 +14,13 @@ import java.io.Serializable; @Jacksonized @Builder public class GitObj implements Serializable { - public String buildSystemType; - public String repository; - public String reference; - public String commitId; + + public static final String SQL = "INSERT INTO gitscans " + + "(buildSystemType, repository, reference, commitId)" + + "VALUES (? ? ? ?)"; + + private String buildSystemType; + private String repository; + private String reference; + private String commitId; } \ No newline at end of file diff --git a/src/main/java/dto/GitObjPayload.java b/src/main/java/dto/GitObjPayload.java index bc9eda1..9bc5ffb 100644 --- a/src/main/java/dto/GitObjPayload.java +++ b/src/main/java/dto/GitObjPayload.java @@ -1,23 +1,16 @@ package dto; -import org.eclipse.microprofile.config.ConfigProvider; -// import org.jboss.pnc.api.deliverablesanalyzer.dto.AnalyzePayload; -// import org.jboss.pnc.api.dto.HeartbeatConfig; -// import org.jboss.pnc.api.dto.Request; - -import java.net.URI; import java.net.URISyntaxException; -import java.nio.charset.StandardCharsets; -import java.sql.Struct; -import java.util.*; - -import org.json.JSONObject; -import org.json.JSONArray; +import org.json.JSONObject; import static constants.HttpHeaders.AUTHORIZATION_STRING; public class GitObjPayload { public static GitObj constructScanPayload(JSONObject gitObj) throws URISyntaxException { - return new GitObj(gitObj.getString("buildSystemType"),gitObj.getString("repository"),gitObj.getString("reference"),gitObj.getString("commitId")); + return new GitObj( + gitObj.getString("buildSystemType"), + gitObj.getString("repository"), + gitObj.getString("reference"), + gitObj.getString("commitId")); } -} \ No newline at end of file +} diff --git a/src/main/java/dto/PncObj.java b/src/main/java/dto/PncObj.java index 285c05e..2633d93 100644 --- a/src/main/java/dto/PncObj.java +++ b/src/main/java/dto/PncObj.java @@ -5,9 +5,6 @@ import lombok.Builder; import lombok.Getter; import lombok.ToString; import lombok.extern.jackson.Jacksonized; - -// import org.jboss.pnc.api.dto.Request; - import java.io.Serializable; @ToString @@ -16,6 +13,9 @@ import java.io.Serializable; @Jacksonized @Builder public class PncObj implements Serializable { - public String buildSystemType; - public String buildId; + + public static final String SQL = "INSERT INTO pncscans (buildSystemType, buildId) VALUES (? ?)"; + + private String buildSystemType; + private String buildId; } \ No newline at end of file diff --git a/src/main/java/dto/PncObjPayload.java b/src/main/java/dto/PncObjPayload.java index 8c81217..e8b106c 100644 --- a/src/main/java/dto/PncObjPayload.java +++ b/src/main/java/dto/PncObjPayload.java @@ -1,23 +1,14 @@ package dto; -import org.eclipse.microprofile.config.ConfigProvider; -// import org.jboss.pnc.api.deliverablesanalyzer.dto.AnalyzePayload; -// import org.jboss.pnc.api.dto.HeartbeatConfig; -// import org.jboss.pnc.api.dto.Request; - -import java.net.URI; import java.net.URISyntaxException; -import java.nio.charset.StandardCharsets; -import java.sql.Struct; -import java.util.*; - -import org.json.JSONObject; -import org.json.JSONArray; +import org.json.JSONObject; import static constants.HttpHeaders.AUTHORIZATION_STRING; public class PncObjPayload { public static PncObj constructScanPayload(JSONObject pncObj) throws URISyntaxException { - return new PncObj(pncObj.getString("buildSystemType"),pncObj.getString("buildId")); + return new PncObj( + pncObj.getString("buildSystemType"), + pncObj.getString("buildId")); } -} \ No newline at end of file +} diff --git a/src/main/java/dto/ScanObj.java b/src/main/java/dto/ScanObj.java index c9f825b..8c04963 100644 --- a/src/main/java/dto/ScanObj.java +++ b/src/main/java/dto/ScanObj.java @@ -6,7 +6,6 @@ import lombok.Getter; import lombok.ToString; import lombok.extern.jackson.Jacksonized; -// import org.jboss.pnc.api.dto.Request; //still need to fix all the scan objects to be significantly less poorly written //TODO add interface for the scan objects (is probably the cleanest solution) import java.io.Serializable; @@ -18,6 +17,10 @@ import java.io.Serializable; @Builder public class ScanObj implements Serializable { + public static final String SQL = "INSERT INTO scans " + + "(scanID, offeringId, eventID, isManagedService, componentlist) " + + "VALUES (? ? ? ? ?)"; + public String scanId; public String productId; public String eventId; diff --git a/src/main/java/dto/ScanObjPayload.java b/src/main/java/dto/ScanObjPayload.java index b19c1ad..b9a8be1 100644 --- a/src/main/java/dto/ScanObjPayload.java +++ b/src/main/java/dto/ScanObjPayload.java @@ -1,23 +1,15 @@ package dto; -import org.eclipse.microprofile.config.ConfigProvider; -// import org.jboss.pnc.api.deliverablesanalyzer.dto.AnalyzePayload; -// import org.jboss.pnc.api.dto.HeartbeatConfig; -// import org.jboss.pnc.api.dto.Request; - -import java.net.URI; import java.net.URISyntaxException; -import java.nio.charset.StandardCharsets; -import java.sql.Struct; -import java.util.*; - -import org.json.JSONObject; -import org.json.JSONArray; - -import static constants.HttpHeaders.AUTHORIZATION_STRING; +import org.json.JSONObject; public class ScanObjPayload { public static ScanObj constructScanPayload(JSONObject scanObj) throws URISyntaxException { - return new ScanObj(scanObj.getString("scanId"),scanObj.getString("productId"),scanObj.getString("eventId"),scanObj.getString("isManagedService"),scanObj.getString("componentList")); + return new ScanObj( + scanObj.getString("scanID"), + scanObj.getString("offeringId"), + scanObj.getString("eventID"), + scanObj.getString("isManagedService"), + scanObj.getString("componentList")); } -} \ No newline at end of file +} diff --git a/src/main/java/rest/CreateGetResource.java b/src/main/java/rest/CreateGetResource.java index 8ab6974..6fd3858 100644 --- a/src/main/java/rest/CreateGetResource.java +++ b/src/main/java/rest/CreateGetResource.java @@ -5,45 +5,12 @@ import java.util.LinkedHashMap; import java.util.Set; import dto.ScanObj; import dto.ConnectDB; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.ResultSet; -import java.sql.Statement; - -import javax.ws.rs.DELETE; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.inject.Inject; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; -import java.util.Set; -import java.util.stream.Collectors; -import javax.inject.Inject; -import javax.ws.rs.Consumes; - import java.sql.*; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.ObjectWriter; - // import org.hibernate.EntityManager; -import jakarta.persistence.EntityManager; -import jakarta.persistence.Cacheable; -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.Id; -import jakarta.persistence.NamedQuery; -import jakarta.persistence.QueryHint; -import jakarta.persistence.SequenceGenerator; -import jakarta.persistence.Table; // @Path("/api/v1/[osh-scan]") @Path("/scanGet") @@ -64,22 +31,24 @@ public class CreateGetResource { @Path("/{scanId}") public Set list(@PathParam("scanId") String scanId) { //use to return specific scanIds just use usual fetch from sets, will be querying hte db directly here - try { - ConnectDB connectDB = new ConnectDB(); - Connection conn = connectDB.connect(); - Statement stmt = null; - String sql = "SELECT * FROM scans WHERE scanid=" +scanId; - stmt = conn.createStatement(); - ResultSet rs = stmt.executeQuery(sql); - + ConnectDB connectDB = new ConnectDB(); + String sql = "SELECT * FROM scans WHERE scanid=?"; + try(Connection conn = connectDB.connect(); + PreparedStatement pstmt = conn.prepareStatement(sql)) { + pstmt.setString(1, scanId); + ResultSet rs = pstmt.executeQuery(); while (rs.next()) { //very ugly solution needs some change to where we put the query - Scans.add(new ScanObj(rs.getString("scanid"),rs.getString("productid"),rs.getString("eventid"),rs.getString("ismanagedservice"),rs.getString("componentlist"))); - conn.close(); + Scans.add(new ScanObj( + rs.getString("scanID"), + rs.getString("offeringId"), + rs.getString("eventID"), + rs.getString("isManagedService"), + rs.getString("componentlist"))); } - } catch (SQLException e){ - System.out.println(e); + } catch (SQLException e) { + System.out.println(e.getMessage()); } return Scans; } -} \ No newline at end of file +} diff --git a/src/main/java/rest/CreateScanRequest.java b/src/main/java/rest/CreateScanRequest.java index a9b9679..bbf0d11 100644 --- a/src/main/java/rest/CreateScanRequest.java +++ b/src/main/java/rest/CreateScanRequest.java @@ -1,66 +1,48 @@ package rest; import org.eclipse.microprofile.rest.client.inject.RestClient; -import dto.ScanObj; - -import javax.inject.Inject; import javax.validation.Valid; import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; -import java.net.URI; import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.UUID; -import org.json.JSONObject; -import org.json.JSONArray; -import dto.ScanObj; +import java.sql.*; +import org.json.JSONObject; import dto.BrewObj; import dto.ConnectDB; -import dto.ScanObjPayload; import dto.BrewObjPayload; import dto.GitObj; import dto.GitObjPayload; import dto.PncObj; import dto.PncObjPayload; -import static constants.HttpHeaders.AUTHORIZATION_STRING; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.ResultSet; -import java.sql.Statement; - @Path("/scanRequest") public class CreateScanRequest { - //all of these need cleaning up to be a more sensible soution + // all of these need cleaning up to be a more sensible solution @RestClient CreateScanService createScanService; @POST @Path("/brew") @Consumes({ "application/json" }) - //in theory should take List to clean it up - public BrewObj invokeScanAnalyze(@Valid String scanInvocation) throws URISyntaxException { + // in theory should take List to clean it up + public BrewObj invokeBrewScanAnalyze(@Valid String scanInvocation) throws URISyntaxException { JSONObject jsonData = new JSONObject(scanInvocation); BrewObj brewObj = BrewObjPayload.constructScanPayload(jsonData); - ConnectDB connectDB = new ConnectDB(); - Connection conn = connectDB.connect(); - Statement stmt = null; - String sql = "INSERT INTO brewscans (buildsystemtype, brewid, brewnvr, pncid, artifacttype, filename, builtfromsource) VALUES ('"+brewObj.buildSystemType+"','"+brewObj.brewId+"','"+brewObj.brewNvr+"','"+brewObj.pncId+"','"+brewObj.artifactType+"','"+brewObj.fileName+"','"+brewObj.buildFromSource+"')"; - try{ - stmt = conn.createStatement(); - ResultSet rs = stmt.executeQuery(sql); - conn.close(); - } catch (SQLException e){ - System.out.println(e); + try(Connection conn = connectDB.connect(); + PreparedStatement pstmt = conn.prepareStatement(BrewObj.SQL)) { + pstmt.setString(1, brewObj.getBuildSystemType()); + pstmt.setString(2, brewObj.getBrewId()); + pstmt.setString(3, brewObj.getBrewNvr()); + pstmt.setString(4, brewObj.getPncId()); + pstmt.setString(5, brewObj.getArtifactType()); + pstmt.setString(6, brewObj.getFileName()); + pstmt.setBoolean(7, brewObj.getBuiltFromSource()); + pstmt.executeUpdate(); + } catch (SQLException e) { + System.out.println(e.getMessage()); } return brewObj; } @@ -71,18 +53,17 @@ public class CreateScanRequest { public GitObj invokeGitScanAnalyze(@Valid String scanInvocation)throws URISyntaxException { JSONObject jsonData = new JSONObject(scanInvocation); GitObj gitObj = GitObjPayload.constructScanPayload(jsonData); - ConnectDB connectDB = new ConnectDB(); - Connection conn = connectDB.connect(); - Statement stmt = null; - String sql = "INSERT INTO gitscans (buildsystemtype, repository, reference, commitid) VALUES ('"+gitObj.buildSystemType+"','"+gitObj.repository+"','"+gitObj.reference+"','"+gitObj.commitId+"')"; - try{ - stmt = conn.createStatement(); - ResultSet rs = stmt.executeQuery(sql); - conn.close(); - } catch (SQLException e){ - System.out.println(e); - } + try(Connection conn = connectDB.connect(); + PreparedStatement pstmt = conn.prepareStatement(GitObj.SQL)) { + pstmt.setString(1, gitObj.getBuildSystemType()); + pstmt.setString(2, gitObj.getRepository()); + pstmt.setString(3, gitObj.getReference()); + pstmt.setString(4, gitObj.getCommitId()); + pstmt.executeUpdate(); + } catch (SQLException e) { + System.out.println(e.getMessage()); + } return gitObj; } @@ -92,18 +73,15 @@ public class CreateScanRequest { public PncObj invokePncScanAnalyze(@Valid String scanInvocation)throws URISyntaxException { JSONObject jsonData = new JSONObject(scanInvocation); PncObj pncObj = PncObjPayload.constructScanPayload(jsonData); - ConnectDB connectDB = new ConnectDB(); - Connection conn = connectDB.connect(); - Statement stmt = null; - String sql = "INSERT INTO pncscans (buildsystemtype, buildid) VALUES ('"+pncObj.buildSystemType+"','"+pncObj.buildId+"')"; - try{ - stmt = conn.createStatement(); - ResultSet rs = stmt.executeQuery(sql); - conn.close(); - } catch (SQLException e){ - System.out.println(e); - } + try(Connection conn = connectDB.connect(); + PreparedStatement pstmt = conn.prepareStatement(PncObj.SQL)) { + pstmt.setString(1, pncObj.getBuildSystemType()); + pstmt.setString(2, pncObj.getBuildId()); + pstmt.executeUpdate(); + } catch (SQLException e) { + System.out.println(e.getMessage()); + } return pncObj; } } diff --git a/src/main/java/rest/CreateScanResource.java b/src/main/java/rest/CreateScanResource.java index 107f839..df83367 100644 --- a/src/main/java/rest/CreateScanResource.java +++ b/src/main/java/rest/CreateScanResource.java @@ -1,34 +1,17 @@ package rest; +import dto.*; import org.eclipse.microprofile.rest.client.inject.RestClient; -import dto.ScanObj; - -import javax.inject.Inject; import javax.validation.Valid; import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; -import java.net.URI; import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.UUID; -import org.json.JSONObject; -import org.json.JSONArray; +import java.sql.*; +import org.json.JSONObject; import dto.ScanObj; -import dto.ConnectDB; -import dto.ScanObjPayload; import static constants.HttpHeaders.AUTHORIZATION_STRING; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.ResultSet; -import java.sql.Statement; @Path("/") public class CreateScanResource { @@ -43,15 +26,16 @@ public class CreateScanResource { JSONObject jsonData = new JSONObject(scanInvocation); ScanObj scanObj = ScanObjPayload.constructScanPayload(jsonData); ConnectDB connectDB = new ConnectDB(); - Connection conn = connectDB.connect(); - Statement stmt = null; - String sql = "INSERT INTO scans (scanid, productid, eventid, ismanagedservice, componentlist) VALUES ('" +scanObj.scanId+"', '"+scanObj.productId+"', '"+scanObj.eventId+"', '"+scanObj.isManagedService+"', '"+scanObj.componentList+"')"; - try{ - stmt = conn.createStatement(); - ResultSet rs = stmt.executeQuery(sql); - conn.close(); - } catch (SQLException e){ - System.out.println(e); + try(Connection conn = connectDB.connect(); + PreparedStatement pstmt = conn.prepareStatement(ScanObj.SQL)) { + pstmt.setString(1, scanObj.scanId); + pstmt.setString(2, scanObj.productId); + pstmt.setString(3, scanObj.eventId); + pstmt.setString(4, scanObj.isManagedService); + pstmt.setString(5, scanObj.componentList); + pstmt.executeUpdate(); + } catch (SQLException e) { + System.out.println(e.getMessage()); } return scanObj; } diff --git a/src/main/java/rest/CreateStartScan.java b/src/main/java/rest/CreateStartScan.java index 6797f1e..85fd1d2 100644 --- a/src/main/java/rest/CreateStartScan.java +++ b/src/main/java/rest/CreateStartScan.java @@ -1,37 +1,14 @@ package rest; +import dto.ConnectDB; import org.eclipse.microprofile.rest.client.inject.RestClient; import dto.ScanObj; - -import javax.inject.Inject; -import javax.validation.Valid; -import javax.ws.rs.Consumes; -import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PUT; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.UUID; -import org.json.JSONObject; -import org.json.JSONArray; -import dto.ScanObj; -import dto.ConnectDB; -import dto.ScanObjPayload; - import javax.ws.rs.PathParam; +import java.net.URISyntaxException; +import java.sql.*; -import static constants.HttpHeaders.AUTHORIZATION_STRING; -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.SQLException; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.ResultSet; -import java.sql.Statement; @Path("/startScan") public class CreateStartScan { @@ -42,35 +19,66 @@ public class CreateStartScan { @PUT @Path("/{scanId}") public ScanObj invokeScanAnalyze(@PathParam("scanId") String scanId) throws URISyntaxException { + ScanObj finalScan = null; ConnectDB connectDB = new ConnectDB(); - Connection conn = connectDB.connect(); - //this is ugly needs to berewritten - Statement stmt = null; + try (Connection conn = connectDB.connect()) { + finalScan = selectDataForArchiving(conn, scanId); + ArchiveSelectedScans(conn, finalScan); + PostArchivingCleanup(conn, scanId); + } catch (SQLException e) { + System.out.println(e.getMessage()); + } + return finalScan; + } + + private ScanObj selectDataForArchiving(Connection conn, String scanId) { ScanObj finalScan = null; + String qry = "SELECT * FROM scans WHERE scanid=?"; + try (PreparedStatement pstmt = conn.prepareStatement(qry)) { + pstmt.setString(1, scanId); + ResultSet rs = pstmt.executeQuery(); - String sql = "SELECT * FROM scans WHERE scanid=" + scanId; - //need to add figure out an archieve system and wether its nessacery (archieve value??) - try{ - stmt = conn.createStatement(); - //terrible solution has to be a better way of doing this - ResultSet rs = stmt.executeQuery(sql); - - //fix for individual results (not resultset) //TODO: need to add unique keys to DBs - finalScan = new ScanObj(rs.getString("scanid"),rs.getString("productid"),rs.getString("eventid"),rs.getString("ismanagedservice"),rs.getString("componentlist")); - String copySql = "INSERT INTO archive (scanid, productid, eventid, ismanagedservice, componentlist) VALUES ('" +finalScan.scanId+"', '"+finalScan.productId+"', '"+finalScan.eventId+"', '"+finalScan.isManagedService+"', '"+finalScan.componentList+"')"; - stmt.executeUpdate(copySql); + //fix for individual results (not resultset) + finalScan = new ScanObj( + rs.getString("scanID"), + rs.getString("offeringId"), + rs.getString("eventID"), + rs.getString("isManagedService"), + rs.getString("componentlist")); + } catch (SQLException e) { + System.out.println(e.getMessage()); + } + return finalScan; + } + + private void ArchiveSelectedScans(Connection conn, ScanObj finalScan) { + String qry = "INSERT INTO archive " + + "(scanID, offeringId, eventID, isManagedService, componentlist) " + + "VALUES (? ? ? ? ?)"; + try (PreparedStatement pstmt = conn.prepareStatement(qry)) { + pstmt.setString(1, finalScan.scanId); + pstmt.setString(2, finalScan.productId); + pstmt.setString(3, finalScan.eventId); + pstmt.setString(4, finalScan.isManagedService); + pstmt.setString(5, finalScan.componentList); + pstmt.executeUpdate(); + } catch (SQLException e) { + System.out.println(e.getMessage()); + } + } - //TODO add proper checks - String deleteSql = "DELETE FROM scans WHERE scanid=" + scanId; - stmt.executeUpdate(deleteSql); + private void PostArchivingCleanup(Connection conn, String scanId) { + //TODO add proper checks + //send task to the actual interface here using the resultset returned (should multiple scanids be allowed): + //once the task is complete AND we have confirmation that the scan is done run the following sql - //send task to the actual interface here using the resultset returned (should multiple scanids be allowed): - //once the task is complete AND we have confirmation that the scan is done run the following sql - conn.close(); - } catch (SQLException e){ - System.out.println(e); - } - return finalScan; + String qry = "DELETE FROM scans WHERE scanid=?"; + try (PreparedStatement pstmt = conn.prepareStatement(qry)) { + pstmt.setString(1, scanId); + pstmt.executeUpdate(); + } catch (SQLException e) { + System.out.println(e.getMessage()); + } } -} +} \ No newline at end of file