From be2f54c9c08a4fb56f1f9d0171a5deced94dab67 Mon Sep 17 00:00:00 2001 From: Jonathan Christison Date: Sun, 2 Jul 2023 12:23:09 +0100 Subject: [PATCH] Set some fields to be public for json return --- .../com/redhat/pctsec/model/BuildType.java | 2 +- .../java/com/redhat/pctsec/model/Git.java | 4 +-- .../java/com/redhat/pctsec/model/Scan.java | 6 ++-- .../com/redhat/pctsec/model/ScanRequest.java | 6 ++-- .../pctsec/model/jpa/ScanRepository.java | 4 --- .../redhat/pctsec/model/jpa/UriConverter.java | 22 +++++++++++++ .../pctsec/rest/v1alpha1/ScanResource.java | 32 ++++++++++++------- 7 files changed, 52 insertions(+), 24 deletions(-) create mode 100644 src/main/java/com/redhat/pctsec/model/jpa/UriConverter.java diff --git a/src/main/java/com/redhat/pctsec/model/BuildType.java b/src/main/java/com/redhat/pctsec/model/BuildType.java index b056b16..1b542fb 100644 --- a/src/main/java/com/redhat/pctsec/model/BuildType.java +++ b/src/main/java/com/redhat/pctsec/model/BuildType.java @@ -16,7 +16,7 @@ abstract public class BuildType { @JsonProperty() @Column(name="buildref") - private String buildRef; + public String buildRef; public BuildType(String buildRef) { diff --git a/src/main/java/com/redhat/pctsec/model/Git.java b/src/main/java/com/redhat/pctsec/model/Git.java index 4a271fd..00f1fb5 100644 --- a/src/main/java/com/redhat/pctsec/model/Git.java +++ b/src/main/java/com/redhat/pctsec/model/Git.java @@ -18,8 +18,8 @@ public class Git { @GeneratedValue(strategy = GenerationType.AUTO) private UUID id; - private URI repo; - private String ref; + public URI repo; + public String ref; public Git(String repo, String ref) { this.repo = URI.create(repo); diff --git a/src/main/java/com/redhat/pctsec/model/Scan.java b/src/main/java/com/redhat/pctsec/model/Scan.java index 1e21e98..f4cbcdc 100644 --- a/src/main/java/com/redhat/pctsec/model/Scan.java +++ b/src/main/java/com/redhat/pctsec/model/Scan.java @@ -69,7 +69,7 @@ public class Scan { @Id @GeneratedValue(strategy = GenerationType.AUTO) - private UUID id; + public UUID id; /* @@ -105,7 +105,7 @@ public class Scan { @Email private String email; - @OneToOne(cascade = CascadeType.ALL) + @OneToOne(cascade = CascadeType.ALL, fetch=FetchType.EAGER) @JoinColumn(name = "scan_requests_id", referencedColumnName = "id") - private ScanRequests scanRequests; + public ScanRequests scanRequests; } diff --git a/src/main/java/com/redhat/pctsec/model/ScanRequest.java b/src/main/java/com/redhat/pctsec/model/ScanRequest.java index 3678db4..16533db 100644 --- a/src/main/java/com/redhat/pctsec/model/ScanRequest.java +++ b/src/main/java/com/redhat/pctsec/model/ScanRequest.java @@ -32,13 +32,13 @@ public class ScanRequest { @OneToOne @JoinColumn(name = "brew_build_id", referencedColumnName = "id") - BrewBuild brewBuild; + public BrewBuild brewBuild; @OneToOne @JoinColumn(name = "pnc_build_id", referencedColumnName = "id") - PNCBuild pncBuild; + public PNCBuild pncBuild; @OneToOne(fetch=FetchType.EAGER, cascade = CascadeType.ALL) @JoinColumn(name = "git_id", referencedColumnName = "id") - Git git; + public Git git; public ScanRequest() { } diff --git a/src/main/java/com/redhat/pctsec/model/jpa/ScanRepository.java b/src/main/java/com/redhat/pctsec/model/jpa/ScanRepository.java index afa3095..1be51a3 100644 --- a/src/main/java/com/redhat/pctsec/model/jpa/ScanRepository.java +++ b/src/main/java/com/redhat/pctsec/model/jpa/ScanRepository.java @@ -9,12 +9,8 @@ import java.util.UUID; @ApplicationScoped public class ScanRepository implements PanacheRepositoryBase { - - - public Uni findByProduct(String product) { return find("product", product).firstResult(); } - } diff --git a/src/main/java/com/redhat/pctsec/model/jpa/UriConverter.java b/src/main/java/com/redhat/pctsec/model/jpa/UriConverter.java new file mode 100644 index 0000000..c96d21f --- /dev/null +++ b/src/main/java/com/redhat/pctsec/model/jpa/UriConverter.java @@ -0,0 +1,22 @@ +package com.redhat.pctsec.model.jpa; + +import jakarta.persistence.AttributeConverter; +import jakarta.persistence.Converter; + + +import java.net.URI; + +@Converter(autoApply = true) +public class UriConverter implements AttributeConverter +{ + + @Override + public String convertToDatabaseColumn(URI uri) { + return (uri == null) ? null : uri.toString(); + } + + @Override + public URI convertToEntityAttribute(String s) { + return ((s.length() > 0) ? URI.create(s.trim()) : null); + } +} diff --git a/src/main/java/com/redhat/pctsec/rest/v1alpha1/ScanResource.java b/src/main/java/com/redhat/pctsec/rest/v1alpha1/ScanResource.java index 565e95a..4889806 100644 --- a/src/main/java/com/redhat/pctsec/rest/v1alpha1/ScanResource.java +++ b/src/main/java/com/redhat/pctsec/rest/v1alpha1/ScanResource.java @@ -47,8 +47,10 @@ public class ScanResource { @GET @Path("{id}") @Produces({"application/json"}) - public Scan scanRequest(String id){ - return sr.findById(UUID.fromString(id)); + public Scan scanRequest(String id) + { + Scan s = sr.findById(UUID.fromString(id)); + return s; } @GET @@ -57,23 +59,16 @@ public class ScanResource { return "We'd normally have a json payload here, with pipeline UID"; } + @GET @Path("single/git") @Produces({"application/json"}) @Transactional public Scan singleGit(@RestQuery String repo, @RestQuery String ref) { - - //ScanRequest scanRequest = new ScanRequest(new Git(repo, ref)); - - //sr.persist(scanRequests); Scan s = new Scan(); - //s.setScanRequests(new ScanRequests().setScanRequests((Set) new Git(repo, ref))); - //ScanRequests scanRequests = new ScanRequests(); - //scanRequests.addGit(repo,ref); s.setRequestor("jochrist"); s.getScanRequests().addGit(repo,ref); - //s.setScanRequests( sr.persist(s); return s; } @@ -83,6 +78,21 @@ public class ScanResource { @Produces({"application/json"}) public Scan singleGit(@RestQuery String brewId) { - return null; + Scan s = new Scan(); + s.setRequestor("jochrist"); + s.getScanRequests().addBrewBuild(brewId); + sr.persist(s); + return s; + } + @GET + @Path("single/pnc") + @Produces({"application/json"}) + public Scan singlePNC(@RestQuery String pncId) + { + Scan s = new Scan(); + s.setRequestor("jochrist"); + s.getScanRequests().addPNCBuild(pncId); + sr.persist(s); + return s; } }