From ce9b1c536f3b3c891dc350f4199b19b216ef743e Mon Sep 17 00:00:00 2001 From: Nicholas Caughey Date: Mon, 17 Apr 2023 03:03:55 +0100 Subject: [PATCH] added input for brewscans as a temporary solution need to consolodate into a single method that applys business logic --- src/main/java/constants/PSGQL.java | 6 ++--- src/main/java/dto/BrewObj.java | 2 +- src/main/java/dto/ScanObj.java | 16 ++++-------- src/main/java/dto/ScanObjPayload.java | 2 +- src/main/java/rest/CreateGetResource.java | 29 ++++++++++++++-------- src/main/java/rest/CreateScanRequest.java | 17 ++++++------- src/main/java/rest/CreateScanResource.java | 29 ++++++++++++++++------ 7 files changed, 58 insertions(+), 43 deletions(-) diff --git a/src/main/java/constants/PSGQL.java b/src/main/java/constants/PSGQL.java index 8be8bfa..af8dcd1 100644 --- a/src/main/java/constants/PSGQL.java +++ b/src/main/java/constants/PSGQL.java @@ -1,7 +1,7 @@ package constants; public class PSGQL { - public static final String url = "jdbc:postgresql://localhost:5432/ScanDB"; - public static final String user = "ncaughey"; - public static final String password = ""; + public static final String url = "jdbc:postgresql://localhost:5432/mydb"; + public static final String user = "postgres"; + public static final String password = "password"; } \ No newline at end of file diff --git a/src/main/java/dto/BrewObj.java b/src/main/java/dto/BrewObj.java index ed837fe..4ddcdab 100644 --- a/src/main/java/dto/BrewObj.java +++ b/src/main/java/dto/BrewObj.java @@ -16,7 +16,7 @@ import java.io.Serializable; @Jacksonized @Builder public class BrewObj implements Serializable { - public String buildSysyemType; + public String buildSystemType; public String brewId; public String brewNvr; public String pncId; diff --git a/src/main/java/dto/ScanObj.java b/src/main/java/dto/ScanObj.java index 8507019..55c1ec6 100644 --- a/src/main/java/dto/ScanObj.java +++ b/src/main/java/dto/ScanObj.java @@ -17,15 +17,9 @@ import java.io.Serializable; @Builder public class ScanObj implements Serializable { - private String hub; - private String source; - private String username; - private String password; - private String scanUrl; - private String scanId; - private String advisoryId; - private String owner; - private String release; - private String base; - + public String scanId; + public String productId; + public String eventId; + public String isManagedService; + public String componentList; } \ No newline at end of file diff --git a/src/main/java/dto/ScanObjPayload.java b/src/main/java/dto/ScanObjPayload.java index 69600d2..b19c1ad 100644 --- a/src/main/java/dto/ScanObjPayload.java +++ b/src/main/java/dto/ScanObjPayload.java @@ -18,6 +18,6 @@ import static constants.HttpHeaders.AUTHORIZATION_STRING; public class ScanObjPayload { public static ScanObj constructScanPayload(JSONObject scanObj) throws URISyntaxException { - return new ScanObj(scanObj.getString("hub"),scanObj.getString("source"),scanObj.getString("username"),scanObj.getString("password"),scanObj.getString("scanUrl"),scanObj.getString("scanId"),scanObj.getString("advisoryId"),scanObj.getString("owner"),scanObj.getString("release"),scanObj.getString("base")); + return new ScanObj(scanObj.getString("scanId"),scanObj.getString("productId"),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 ef83df8..f5a02e3 100644 --- a/src/main/java/rest/CreateGetResource.java +++ b/src/main/java/rest/CreateGetResource.java @@ -10,6 +10,11 @@ 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; @@ -39,8 +44,6 @@ public class CreateGetResource { public CreateGetResource() { - - Scans.add(new ScanObj("a","a","a","a","a","a","a","a","a","a")); } @GET @@ -50,16 +53,22 @@ public class CreateGetResource { try { ConnectDB connectDB = new ConnectDB(); Connection conn = connectDB.connect(); - String sql = "SELECT" + scanId + "FROM scans"; - PreparedStatement preparedStatment = conn.prepareStatement(sql); - preparedStatment.executeQuery(sql); + Statement stmt = null; + String sql = "SELECT * FROM scans WHERE scanid=" +scanId; + stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery(sql); + + while (rs.next()) { + String a = rs.getString("scanid"); + String b = rs.getString("productid"); + String c = rs.getString("eventid"); + String d = rs.getString("ismanagedservice"); + String e = rs.getString("componentlist"); + Scans.add(new ScanObj(a,b,c,d,e)); + } } catch (SQLException e){ - System.out.println("failed"); + System.out.println(e); } - // conn. - System.out.println(Scans); - System.out.println(scanId); - 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 b1c9a61..16947fc 100644 --- a/src/main/java/rest/CreateScanRequest.java +++ b/src/main/java/rest/CreateScanRequest.java @@ -47,20 +47,17 @@ public class CreateScanRequest { public BrewObj invokeScanAnalyze(@Valid String scanInvocation) throws URISyntaxException { JSONObject jsonData = new JSONObject(scanInvocation); BrewObj brewObj = BrewObjPayload.constructScanPayload(jsonData); - - // scanBrewObj(); 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); - // } catch (SQLException e){ - // System.out.println(e); - // } - brewObj = 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); + } catch (SQLException e){ + System.out.println(e); + } return brewObj; } diff --git a/src/main/java/rest/CreateScanResource.java b/src/main/java/rest/CreateScanResource.java index 56d41db..5741582 100644 --- a/src/main/java/rest/CreateScanResource.java +++ b/src/main/java/rest/CreateScanResource.java @@ -16,12 +16,21 @@ 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 static constants.HttpHeaders.AUTHORIZATION_STRING; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; -@Path("/createScan") +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.Statement; + +@Path("/") public class CreateScanResource { // @Inject @@ -31,14 +40,20 @@ public class CreateScanResource { @POST @Consumes({ "application/json" }) - //in theory should take List but something weird is happening, didnt want to fix it specifically before adding the DB dto + //in theory should take List to clean it up public ScanObj invokeScanAnalyze(@Valid String scanInvocation) throws URISyntaxException { - - //weird work around is currently being fixed JSONObject jsonData = new JSONObject(scanInvocation); - System.out.println(jsonData); - //ignore all of this, temporary for testing purposes, "parser" will be in ScanObjPayload 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); + } catch (SQLException e){ + System.out.println(e); + } return scanObj; } }