From 7fd4c54b30a3db6131e58e20e9715b1aad1477fb Mon Sep 17 00:00:00 2001 From: Nicholas Caughey Date: Thu, 13 Apr 2023 14:24:06 +0100 Subject: [PATCH] added the fix for the post request so works as intended and added a link for the working google docs --- Google Docs link.txt | 3 ++ README copy.md | 51 ---------------------- pom.xml | 5 +++ src/main/java/dto/ScanObjPayload.java | 34 +++++++-------- src/main/java/rest/CreateScanResource.java | 6 ++- 5 files changed, 29 insertions(+), 70 deletions(-) create mode 100644 Google Docs link.txt delete mode 100644 README copy.md diff --git a/Google Docs link.txt b/Google Docs link.txt new file mode 100644 index 0000000..dfdc060 --- /dev/null +++ b/Google Docs link.txt @@ -0,0 +1,3 @@ +https://docs.google.com/document/d/15yod6K_ZbNkJ_ern7gwpxjBkdJIlHXORfYZ3CGQhnEM/edit?usp=sharing + +This is the Document link for the working design Docs for the API \ No newline at end of file diff --git a/README copy.md b/README copy.md deleted file mode 100644 index 64d9f84..0000000 --- a/README copy.md +++ /dev/null @@ -1,51 +0,0 @@ -# rest-json-quickstart - -This project uses Quarkus, the Supersonic Subatomic Java Framework. - -If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ . - -## Running the application in dev mode - -You can run your application in dev mode that enables live coding using: -```shell script -./mvnw compile quarkus:dev -``` - -> **_NOTE:_** Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/. - -## Packaging and running the application - -The application can be packaged using: -```shell script -./mvnw package -``` -It produces the `quarkus-run.jar` file in the `target/quarkus-app/` directory. -Be aware that it’s not an _über-jar_ as the dependencies are copied into the `target/quarkus-app/lib/` directory. - -The application is now runnable using `java -jar target/quarkus-app/quarkus-run.jar`. - -If you want to build an _über-jar_, execute the following command: -```shell script -./mvnw package -Dquarkus.package.type=uber-jar -``` - -The application, packaged as an _über-jar_, is now runnable using `java -jar target/*-runner.jar`. - -## Creating a native executable - -You can create a native executable using: -```shell script -./mvnw package -Pnative -``` - -Or, if you don't have GraalVM installed, you can run the native executable build in a container using: -```shell script -./mvnw package -Pnative -Dquarkus.native.container-build=true -``` - -You can then execute your native executable with: `./target/rest-json-quickstart-1.0.0-SNAPSHOT-runner` - -If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling. - -## Related Guides - diff --git a/pom.xml b/pom.xml index 306c1fb..7ecfad0 100644 --- a/pom.xml +++ b/pom.xml @@ -33,6 +33,7 @@ pom import + @@ -49,6 +50,10 @@ + + io.quarkus + quarkus-openshift + org.json json diff --git a/src/main/java/dto/ScanObjPayload.java b/src/main/java/dto/ScanObjPayload.java index 52f93af..69600d2 100644 --- a/src/main/java/dto/ScanObjPayload.java +++ b/src/main/java/dto/ScanObjPayload.java @@ -1,23 +1,23 @@ -// package dto; +package dto; -// import org.eclipse.microprofile.config.ConfigProvider; -// // import org.jboss.pnc.api.deliverablesanalyzer.dto.AnalyzePayload; +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 java.net.URI; +import java.net.URISyntaxException; +import java.nio.charset.StandardCharsets; +import java.sql.Struct; +import java.util.*; -// import static constants.HttpHeaders.AUTHORIZATION_STRING; +import org.json.JSONObject; +import org.json.JSONArray; -// public class ScanObjPayload () { -// private static ScanObj constructScanPayload(List urls) throws URISyntaxException { -// String operationId = UUID.randomUUID().toString(); -// List headers = new ArrayList<>(Arrays.asList(new Request.Header(AUTHORIZATION_STRING, getEncodedCredentials()))); -// Request callbackRequest = new Request(Request.Method.PUT, new URI(COUCHDB_DATABASE_URL + "/" + COUCHDB_DATABASE_NAME + "/" + operationId), headers); -// return new AnalyzePayload(operationId, urls, null, callbackRequest, null); - // } -// } \ No newline at end of file +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")); + } +} \ No newline at end of file diff --git a/src/main/java/rest/CreateScanResource.java b/src/main/java/rest/CreateScanResource.java index 3b9a5be..56d41db 100644 --- a/src/main/java/rest/CreateScanResource.java +++ b/src/main/java/rest/CreateScanResource.java @@ -17,6 +17,8 @@ import java.util.UUID; import org.json.JSONObject; import org.json.JSONArray; +import dto.ScanObjPayload; + import static constants.HttpHeaders.AUTHORIZATION_STRING; @Path("/createScan") @@ -25,6 +27,7 @@ public class CreateScanResource { // @Inject @RestClient CreateScanService createScanService; + // ScanObjPayload scanObjPayload; @POST @Consumes({ "application/json" }) @@ -34,9 +37,8 @@ public class CreateScanResource { //weird work around is currently being fixed JSONObject jsonData = new JSONObject(scanInvocation); System.out.println(jsonData); - String [] workAround = scanInvocation.split("\n"); //ignore all of this, temporary for testing purposes, "parser" will be in ScanObjPayload - ScanObj scanObj = new ScanObj(jsonData.getString("hub"),jsonData.getString("source"),jsonData.getString("username"),jsonData.getString("password"),jsonData.getString("scanUrl"),jsonData.getString("scanId"),jsonData.getString("advisoryId"),jsonData.getString("owner"),jsonData.getString("release"),jsonData.getString("base")); + ScanObj scanObj = ScanObjPayload.constructScanPayload(jsonData); return scanObj; } }