diff --git a/pom.xml b/pom.xml
index 9f7aca9..a884d11 100644
--- a/pom.xml
+++ b/pom.xml
@@ -66,6 +66,26 @@
42.6.0
+
+
+
+
+
+ org.hibernate
+ hibernate-core
+
+
+ org.glassfish.jaxb
+ jaxb-runtime
+
+
+
+
+
+ io.quarkus
+ quarkus-jdbc-postgresql
+
+
io.quarkus
quarkus-resteasy-reactive-jackson
@@ -92,11 +112,13 @@
validation-api
1.0.0.GA
-
- org.hibernate
- hibernate-validator
- 4.0.2.GA
-
+
+
+ jakarta.persistence
+ jakarta.persistence-api
+ 3.1.0
+
+
org.eclipse.microprofile.rest.client
diff --git a/src/main/java/dto/ScanInterface.java b/src/main/java/dto/ScanInterface.java
new file mode 100644
index 0000000..a435f62
--- /dev/null
+++ b/src/main/java/dto/ScanInterface.java
@@ -0,0 +1,9 @@
+package dto;
+
+import java.io.Serializable;
+
+//interface for the scan objects
+
+public interface ScanInterface extends Serializable{
+ public String constructPayload();
+}
\ No newline at end of file
diff --git a/src/main/java/dto/ScanObj.java b/src/main/java/dto/ScanObj.java
index 090b179..c9f825b 100644
--- a/src/main/java/dto/ScanObj.java
+++ b/src/main/java/dto/ScanObj.java
@@ -8,6 +8,7 @@ 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;
@ToString
diff --git a/src/main/java/rest/CreateGetResource.java b/src/main/java/rest/CreateGetResource.java
index f5f532c..8ab6974 100644
--- a/src/main/java/rest/CreateGetResource.java
+++ b/src/main/java/rest/CreateGetResource.java
@@ -33,9 +33,23 @@ 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")
public class CreateGetResource {
+ // @Inject
+ // EntityManager em;
CreateScanService createScanService;
diff --git a/src/main/java/rest/Scan.java b/src/main/java/rest/Scan.java
new file mode 100644
index 0000000..2394c6f
--- /dev/null
+++ b/src/main/java/rest/Scan.java
@@ -0,0 +1,43 @@
+package rest;
+
+import javax.persistence.Entity;
+
+public class Scan {
+ private int scanId;
+ private String productId;
+ private String eventId;
+ private String isManagedService;
+ private String componentList;
+
+ public int getScanId() {
+ return scanId;
+ }
+ public void setScanId(int scanId) {
+ this.scanId = scanId;
+ }
+ public String getProductId() {
+ return productId;
+ }
+ public void setProductId(String productId) {
+ this.productId = productId;
+ }
+ public String getEventId() {
+ return eventId;
+ }
+ public void setEventId(String eventId) {
+ this.eventId = eventId;
+ }
+ public String getIsManagedService(){
+ return isManagedService;
+ }
+ public void setIsManagedService(String isManagedService){
+ this.isManagedService = isManagedService;
+ }
+ public String getComponentList(){
+ return componentList;
+ }
+ public void setComponentList(String componentList){
+ this.componentList = componentList;
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/rest/StoreData.java b/src/main/java/rest/StoreData.java
new file mode 100644
index 0000000..ae2925e
--- /dev/null
+++ b/src/main/java/rest/StoreData.java
@@ -0,0 +1,124 @@
+package rest;
+
+
+import java.util.Collections;
+import java.util.LinkedHashMap;
+import java.util.Set;
+import dto.ScanObj;
+// import dto.ConnectDB;
+// import dto.Scan;
+
+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.Session;
+import org.hibernate.SessionFactory;
+import org.hibernate.Transaction;
+import org.hibernate.boot.Metadata;
+import org.hibernate.boot.MetadataSources;
+import org.hibernate.boot.registry.StandardServiceRegistry;
+import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
+ // 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;
+
+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("/storeData")
+public class StoreData {
+
+ //all of these need cleaning up to be a more sensible soution
+ // @RestClient
+ // CreateScanService createScanService;
+
+ @GET
+ public void Store() {
+ System.out.println("hmm");
+
+ //Create typesafe ServiceRegistry object
+ StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();
+
+ Metadata meta = new MetadataSources(ssr).getMetadataBuilder().build();
+
+ SessionFactory factory = meta.getSessionFactoryBuilder().build();
+ Session session = factory.openSession();
+ Transaction t = session.beginTransaction();
+ System.out.println("i assume we fail before here?");
+ Scan e1=new Scan();
+ e1.setScanId(2);
+ e1.setProductId("1");
+ e1.setEventId("Chawla");
+ e1.setIsManagedService("aa");
+ e1.setComponentList("aaa");
+
+ session.save(e1);
+ t.commit();
+ System.out.println("successfully saved");
+ factory.close();
+ session.close();
+
+ }
+}
\ No newline at end of file
diff --git a/src/main/resources/Scan.hbm.xml b/src/main/resources/Scan.hbm.xml
new file mode 100644
index 0000000..73cd545
--- /dev/null
+++ b/src/main/resources/Scan.hbm.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 30b269f..eca88b0 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -2,4 +2,6 @@
# quarkus.rest-client."rest.CreateScanService".scope=javax.inject.Singleton
# couchdb.name=scan-results
-# couchdb.url=https://localhost:5984
\ No newline at end of file
+# couchdb.url=https://localhost:5984
+
+# quarkus.hibernate-orm.database.generation=drop-and-create
\ No newline at end of file
diff --git a/src/main/resources/hibernate.cfg.xml b/src/main/resources/hibernate.cfg.xml
new file mode 100644
index 0000000..f3621dc
--- /dev/null
+++ b/src/main/resources/hibernate.cfg.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ update
+ org.hibernate.dialect.PostgreSQLDialect
+ org.postgresql.Driver
+ jdbc:postgresql://localhost:5432/mydb
+ postgres
+ password
+
+ true
+ true
+
+
+
+
\ No newline at end of file