Browse Source

all data objects that were missing, added the put and delete endpoints, still lots of cleaning up to do do but all the basic database end points dune, no verification etc yet still to be added'

exception_work
Nicholas Caughey 3 years ago
parent
commit
db99f2657d
  1. 23
      src/main/java/dto/GitObj.java
  2. 23
      src/main/java/dto/GitObjPayload.java
  3. 21
      src/main/java/dto/PncObj.java
  4. 23
      src/main/java/dto/PncObjPayload.java
  5. 90
      src/main/java/rest/CreateStartScan.java
  6. 72
      src/main/java/rest/RemoveScan.java

23
src/main/java/dto/GitObj.java

@ -0,0 +1,23 @@
package dto;
import lombok.AllArgsConstructor;
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
@Getter
@AllArgsConstructor
@Jacksonized
@Builder
public class GitObj implements Serializable {
public String buildSystemType;
public String repository;
public String reference;
public String commitId;
}

23
src/main/java/dto/GitObjPayload.java

@ -0,0 +1,23 @@
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;
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"));
}
}

21
src/main/java/dto/PncObj.java

@ -0,0 +1,21 @@
package dto;
import lombok.AllArgsConstructor;
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
@Getter
@AllArgsConstructor
@Jacksonized
@Builder
public class PncObj implements Serializable {
public String buildSystemType;
public String buildId;
}

23
src/main/java/dto/PncObjPayload.java

@ -0,0 +1,23 @@
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;
public class PncObjPayload {
public static PncObj constructScanPayload(JSONObject pncObj) throws URISyntaxException {
return new PncObj(pncObj.getString("buildSystemType"),pncObj.getString("buildId"));
}
}

90
src/main/java/rest/CreateStartScan.java

@ -0,0 +1,90 @@
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 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 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 {
// @Inject
@RestClient
CreateScanService createScanService;
// ScanObjPayload scanObjPayload;
@PUT
@Path("/{scanId}")
public ScanObj invokeScanAnalyze(@PathParam("scanId") String scanId) throws URISyntaxException {
ConnectDB connectDB = new ConnectDB();
Connection conn = connectDB.connect();
//this is ugly needs to berewritten
Statement stmt = null;
ScanObj finalScan = null;
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)
String a = null;
String b = null;
String c = null;
String d = null;
String e = null;
while (rs.next()) {
a = rs.getString("scanid");
b = rs.getString("productid");
c = rs.getString("eventid");
d = rs.getString("ismanagedservice");
e = rs.getString("componentlist");
}
//TODO: need to add unique keys to DBs
finalScan = new ScanObj(a,b,c,d,e);
String copySql = "INSERT INTO archive (scanid, productid, eventid, ismanagedservice, componentlist) VALUES ('" +finalScan.scanId+"', '"+finalScan.productId+"', '"+finalScan.eventId+"', '"+finalScan.isManagedService+"', '"+finalScan.componentList+"')";
stmt.executeUpdate(copySql);
//TODO add proper checks
String deleteSql = "DELETE FROM scans WHERE scanid=" + scanId;
stmt.executeUpdate(deleteSql);
//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
} catch (SQLException e){
System.out.println(e);
}
return finalScan;
}
}

72
src/main/java/rest/RemoveScan.java

@ -0,0 +1,72 @@
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 javax.ws.rs.PUT;
import javax.ws.rs.DELETE;
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 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("/deleteScan")
public class RemoveScan {
// @Inject
@RestClient
CreateScanService createScanService;
// ScanObjPayload scanObjPayload;
@DELETE
@Path("/{scanId}")
public boolean invokeScanAnalyze(@PathParam("scanId") String scanId) throws URISyntaxException {
ConnectDB connectDB = new ConnectDB();
Connection conn = connectDB.connect();
//this is ugly needs to berewritten
Statement stmt = null;
ScanObj finalScan = null;
//fix this
Boolean success = false;
String sql = "DELETE FROM scans WHERE scanid=" + scanId;
//need to add figure out an archieve system and wether its nessacery (archieve value??)
try{
stmt = conn.createStatement();
//TODO add proper checks
stmt.executeUpdate(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
} catch (SQLException e){
System.out.println(e);
}
success = true;
return success;
}
}
Loading…
Cancel
Save