From 58af31fa1515084f79eb57284f285f117243a3c8 Mon Sep 17 00:00:00 2001 From: Anders Swanson Date: Mon, 23 Jun 2025 08:55:31 -0700 Subject: [PATCH] De-Lombok Signed-off-by: Anders Swanson --- .../pom.xml | 6 -- .../com/oracle/spring/json/test/Student.java | 57 +++++++++-- .../spring/json/test/StudentDetails.java | 56 +++++++++-- .../pom.xml | 6 -- .../spring/json/duality/model/book/Book.java | 20 +++- .../spring/json/duality/model/book/Loan.java | 28 +++++- .../json/duality/model/book/Member.java | 28 +++++- .../json/duality/model/employee/Employee.java | 36 ++++++- .../model/employee/SimpleEmployee.java | 21 +++- .../json/duality/model/movie/Actor.java | 36 ++++++- .../json/duality/model/movie/Director.java | 40 +++++++- .../json/duality/model/movie/DirectorBio.java | 28 +++++- .../json/duality/model/movie/Movie.java | 52 +++++++++- .../json/duality/model/products/Order.java | 36 ++++++- .../json/duality/model/products/Product.java | 28 +++++- .../json/duality/model/student/Student.java | 83 ++++++++++++++-- database/starters/pom.xml | 7 -- spring-cloud-oci/pom.xml | 7 -- .../spring-cloud-oci-core/pom.xml | 4 - .../core/util/OCIObjectMapperTests.java | 51 ++++++++-- .../spring-cloud-oci-gen-ai/pom.xml | 5 - .../cloud/spring/genai/ChatModelImpl.java | 97 ++++++++++++++++++- .../spring/genai/EmbeddingModelImpl.java | 43 +++++++- .../spring/genai/InferenceRequestType.java | 6 +- .../spring-cloud-oci-vault/pom.xml | 5 - 25 files changed, 662 insertions(+), 124 deletions(-) diff --git a/database/starters/oracle-spring-boot-json-data-tools/pom.xml b/database/starters/oracle-spring-boot-json-data-tools/pom.xml index cce491da..18a32b13 100644 --- a/database/starters/oracle-spring-boot-json-data-tools/pom.xml +++ b/database/starters/oracle-spring-boot-json-data-tools/pom.xml @@ -121,11 +121,5 @@ spring-boot-starter-data-jdbc test - - - org.projectlombok - lombok - test - diff --git a/database/starters/oracle-spring-boot-json-data-tools/src/test/java/com/oracle/spring/json/test/Student.java b/database/starters/oracle-spring-boot-json-data-tools/src/test/java/com/oracle/spring/json/test/Student.java index 53ff2612..72bd3939 100644 --- a/database/starters/oracle-spring-boot-json-data-tools/src/test/java/com/oracle/spring/json/test/Student.java +++ b/database/starters/oracle-spring-boot-json-data-tools/src/test/java/com/oracle/spring/json/test/Student.java @@ -1,16 +1,10 @@ -// Copyright (c) 2024, Oracle and/or its affiliates. +// Copyright (c) 2024, 2025, Oracle and/or its affiliates. // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. package com.oracle.spring.json.test; +import java.util.Objects; import java.util.UUID; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -@Data -@AllArgsConstructor -@NoArgsConstructor public class Student { String id; String name; @@ -19,4 +13,51 @@ public class Student { public static String newId() { return UUID.randomUUID().toString(); } + + public Student() {} + + public Student(String id, String name, StudentDetails details) { + this.id = id; + this.name = name; + this.details = details; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public StudentDetails getDetails() { + return details; + } + + public void setDetails(StudentDetails details) { + this.details = details; + } + + @Override + public final boolean equals(Object o) { + if (!(o instanceof Student student)) return false; + + return Objects.equals(getId(), student.getId()) && Objects.equals(getName(), student.getName()) && Objects.equals(getDetails(), student.getDetails()); + } + + @Override + public int hashCode() { + int result = Objects.hashCode(getId()); + result = 31 * result + Objects.hashCode(getName()); + result = 31 * result + Objects.hashCode(getDetails()); + return result; + } } diff --git a/database/starters/oracle-spring-boot-json-data-tools/src/test/java/com/oracle/spring/json/test/StudentDetails.java b/database/starters/oracle-spring-boot-json-data-tools/src/test/java/com/oracle/spring/json/test/StudentDetails.java index 546aaaff..59bec469 100644 --- a/database/starters/oracle-spring-boot-json-data-tools/src/test/java/com/oracle/spring/json/test/StudentDetails.java +++ b/database/starters/oracle-spring-boot-json-data-tools/src/test/java/com/oracle/spring/json/test/StudentDetails.java @@ -1,16 +1,58 @@ -// Copyright (c) 2024, Oracle and/or its affiliates. +// Copyright (c) 2024, 2025, Oracle and/or its affiliates. // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. package com.oracle.spring.json.test; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; +import java.util.Objects; -@Data -@AllArgsConstructor -@NoArgsConstructor public class StudentDetails { String major; double gpa; double credits; + + public StudentDetails() {} + + public StudentDetails(String major, double gpa, double credits) { + this.major = major; + this.gpa = gpa; + this.credits = credits; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public double getGpa() { + return gpa; + } + + public void setGpa(double gpa) { + this.gpa = gpa; + } + + public double getCredits() { + return credits; + } + + public void setCredits(double credits) { + this.credits = credits; + } + + @Override + public final boolean equals(Object o) { + if (!(o instanceof StudentDetails that)) return false; + + return Double.compare(getGpa(), that.getGpa()) == 0 && Double.compare(getCredits(), that.getCredits()) == 0 && Objects.equals(getMajor(), that.getMajor()); + } + + @Override + public int hashCode() { + int result = Objects.hashCode(getMajor()); + result = 31 * result + Double.hashCode(getGpa()); + result = 31 * result + Double.hashCode(getCredits()); + return result; + } } diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/pom.xml b/database/starters/oracle-spring-boot-json-relational-duality-views/pom.xml index 19ee3e68..e6e78248 100644 --- a/database/starters/oracle-spring-boot-json-relational-duality-views/pom.xml +++ b/database/starters/oracle-spring-boot-json-relational-duality-views/pom.xml @@ -88,11 +88,5 @@ spring-boot-testcontainers test - - - org.projectlombok - lombok - test - diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Book.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Book.java index 1b3213eb..da758bff 100644 --- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Book.java +++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Book.java @@ -13,8 +13,6 @@ import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Table; -import lombok.Getter; -import lombok.Setter; import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD; @@ -24,8 +22,6 @@ insert = true, update = true )) -@Getter -@Setter public class Book { @Id @@ -50,4 +46,20 @@ public int hashCode() { result = 31 * result + Objects.hashCode(title); return result; } + + public Long getBookId() { + return bookId; + } + + public void setBookId(Long bookId) { + this.bookId = bookId; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } } \ No newline at end of file diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Loan.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Loan.java index 8dca9076..bb75c13c 100644 --- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Loan.java +++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Loan.java @@ -17,15 +17,11 @@ import jakarta.persistence.JoinColumn; import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; -import lombok.Getter; -import lombok.Setter; import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD; @Entity @Table(name = "loans") -@Getter -@Setter @JsonRelationalDualityView(name = "loan_dv", accessMode = @AccessMode( insert = true, update = true @@ -62,4 +58,28 @@ public final boolean equals(Object o) { public int hashCode() { return Objects.hashCode(getLoanId()); } + + public Long getLoanId() { + return loanId; + } + + public void setLoanId(Long loanId) { + this.loanId = loanId; + } + + public Member getMember() { + return member; + } + + public void setMember(Member member) { + this.member = member; + } + + public Book getBook() { + return book; + } + + public void setBook(Book book) { + this.book = book; + } } diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Member.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Member.java index 7ae50eed..7d344a7b 100644 --- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Member.java +++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/book/Member.java @@ -15,8 +15,6 @@ import jakarta.persistence.Id; import jakarta.persistence.OneToMany; import jakarta.persistence.Table; -import lombok.Getter; -import lombok.Setter; import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD; @@ -27,8 +25,6 @@ update = true, delete = true )) -@Getter -@Setter public class Member { @Id @@ -46,4 +42,28 @@ public class Member { )) @OneToMany(mappedBy = "member", cascade = CascadeType.ALL) private List loans; + + public Long getMemberId() { + return memberId; + } + + public void setMemberId(Long memberId) { + this.memberId = memberId; + } + + public String getFullName() { + return fullName; + } + + public void setFullName(String fullName) { + this.fullName = fullName; + } + + public List getLoans() { + return loans; + } + + public void setLoans(List loans) { + this.loans = loans; + } } diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/employee/Employee.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/employee/Employee.java index 421b23d8..6917036c 100644 --- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/employee/Employee.java +++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/employee/Employee.java @@ -17,8 +17,6 @@ import jakarta.persistence.ManyToOne; import jakarta.persistence.OneToMany; import jakarta.persistence.Table; -import lombok.Getter; -import lombok.Setter; import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD; @@ -29,8 +27,6 @@ update = true, delete = true )) -@Getter -@Setter public class Employee { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @@ -67,4 +63,36 @@ public final boolean equals(Object o) { public int hashCode() { return Objects.hashCode(getId()); } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Employee getManager() { + return manager; + } + + public void setManager(Employee manager) { + this.manager = manager; + } + + public List getReports() { + return reports; + } + + public void setReports(List reports) { + this.reports = reports; + } } diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/employee/SimpleEmployee.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/employee/SimpleEmployee.java index b9324593..30a44436 100644 --- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/employee/SimpleEmployee.java +++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/employee/SimpleEmployee.java @@ -2,12 +2,23 @@ // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. package com.oracle.spring.json.duality.model.employee; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter public class SimpleEmployee { private Long _id; private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Long get_id() { + return _id; + } + + public void set_id(Long _id) { + this._id = _id; + } } diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Actor.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Actor.java index 33ef62ec..e9cc71d6 100644 --- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Actor.java +++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Actor.java @@ -15,15 +15,11 @@ import jakarta.persistence.Id; import jakarta.persistence.ManyToMany; import jakarta.persistence.Table; -import lombok.Getter; -import lombok.Setter; import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD; @Entity @Table(name = "actor") -@Getter -@Setter @JsonRelationalDualityView(accessMode = @AccessMode(insert = true)) public class Actor { @JsonbProperty(_ID_FIELD) @@ -64,4 +60,36 @@ public final boolean equals(Object o) { public int hashCode() { return Objects.hashCode(getActorId()); } + + public String getActorId() { + return actorId; + } + + public void setActorId(String actorId) { + this.actorId = actorId; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public Set getMovies() { + return movies; + } + + public void setMovies(Set movies) { + this.movies = movies; + } } diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Director.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Director.java index 9f00169b..ca146f41 100644 --- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Director.java +++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Director.java @@ -16,15 +16,11 @@ import jakarta.persistence.OneToOne; import jakarta.persistence.PrimaryKeyJoinColumn; import jakarta.persistence.Table; -import lombok.Getter; -import lombok.Setter; import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD; @Entity @Table(name = "director") -@Getter -@Setter public class Director { @JsonbProperty(_ID_FIELD) @Id @@ -70,4 +66,40 @@ public final boolean equals(Object o) { public int hashCode() { return Objects.hashCode(getDirectorId()); } + + public String getDirectorId() { + return directorId; + } + + public void setDirectorId(String directorId) { + this.directorId = directorId; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public Set getMovies() { + return movies; + } + + public void setMovies(Set movies) { + this.movies = movies; + } + + public DirectorBio getDirectorBio() { + return directorBio; + } } diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/DirectorBio.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/DirectorBio.java index 38ac1757..66ca1530 100644 --- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/DirectorBio.java +++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/DirectorBio.java @@ -15,15 +15,11 @@ import jakarta.persistence.MapsId; import jakarta.persistence.OneToOne; import jakarta.persistence.Table; -import lombok.Getter; -import lombok.Setter; import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD; @Entity @Table(name = "director_bio") -@Getter -@Setter public class DirectorBio { @JsonbProperty(_ID_FIELD) @Id @@ -50,4 +46,28 @@ public final boolean equals(Object o) { public int hashCode() { return Objects.hashCode(getDirectorId()); } + + public String getDirectorId() { + return directorId; + } + + public void setDirectorId(String directorId) { + this.directorId = directorId; + } + + public Director getDirector() { + return director; + } + + public void setDirector(Director director) { + this.director = director; + } + + public String getBiography() { + return biography; + } + + public void setBiography(String biography) { + this.biography = biography; + } } diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Movie.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Movie.java index 9148ec1a..c92f2c77 100644 --- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Movie.java +++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/movie/Movie.java @@ -18,13 +18,9 @@ import jakarta.persistence.ManyToMany; import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; -import lombok.Getter; -import lombok.Setter; @Entity @Table(name = "movie") -@Getter -@Setter @JsonRelationalDualityView(name = "movie_dv", accessMode = @AccessMode( insert = true )) @@ -69,4 +65,52 @@ public final boolean equals(Object o) { public int hashCode() { return Objects.hashCode(movieId); } + + public String getMovieId() { + return movieId; + } + + public void setMovieId(String movieId) { + this.movieId = movieId; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public Integer getReleaseYear() { + return releaseYear; + } + + public void setReleaseYear(Integer releaseYear) { + this.releaseYear = releaseYear; + } + + public String getGenre() { + return genre; + } + + public void setGenre(String genre) { + this.genre = genre; + } + + public Director getDirector() { + return director; + } + + public void setDirector(Director director) { + this.director = director; + } + + public Set getActors() { + return actors; + } + + public void setActors(Set actors) { + this.actors = actors; + } } diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/products/Order.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/products/Order.java index 950082c2..9e7c169e 100644 --- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/products/Order.java +++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/products/Order.java @@ -8,16 +8,12 @@ import jakarta.json.bind.annotation.JsonbProperty; import jakarta.persistence.Column; import jakarta.persistence.Table; -import lombok.Getter; -import lombok.Setter; import java.util.Date; import java.util.Objects; import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD; -@Getter -@Setter @JsonRelationalDualityView(accessMode = @AccessMode(insert = true)) @Table(name = "orders") public class Order { @@ -45,4 +41,36 @@ public int hashCode() { result = 31 * result + Objects.hashCode(getOrderDate()); return result; } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Product getProduct() { + return product; + } + + public void setProduct(Product product) { + this.product = product; + } + + public Integer getQuantity() { + return quantity; + } + + public void setQuantity(Integer quantity) { + this.quantity = quantity; + } + + public Date getOrderDate() { + return orderDate; + } + + public void setOrderDate(Date orderDate) { + this.orderDate = orderDate; + } } \ No newline at end of file diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/products/Product.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/products/Product.java index 51d3b6e4..b7efe787 100644 --- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/products/Product.java +++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/products/Product.java @@ -10,13 +10,9 @@ import jakarta.json.bind.annotation.JsonbProperty; import jakarta.persistence.Column; import jakarta.persistence.Table; -import lombok.Getter; -import lombok.Setter; import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD; -@Getter -@Setter @Table(name = "products") @JsonRelationalDualityView( name = "product_dv", @@ -43,4 +39,28 @@ public int hashCode() { result = 31 * result + Objects.hashCode(getPrice()); return result; } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Double getPrice() { + return price; + } + + public void setPrice(Double price) { + this.price = price; + } } diff --git a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/student/Student.java b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/student/Student.java index 20f235f6..2e0b067e 100644 --- a/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/student/Student.java +++ b/database/starters/oracle-spring-boot-json-relational-duality-views/src/test/java/com/oracle/spring/json/duality/model/student/Student.java @@ -3,6 +3,8 @@ package com.oracle.spring.json.duality.model.student; +import java.util.Objects; + import com.oracle.spring.json.duality.annotation.JsonRelationalDualityView; import com.oracle.spring.json.duality.annotation.AccessMode; import jakarta.json.bind.annotation.JsonbProperty; @@ -12,9 +14,6 @@ import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.persistence.Table; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.Setter; import static com.oracle.spring.json.duality.builder.Annotations._ID_FIELD; @@ -27,9 +26,6 @@ delete = true ) ) -@EqualsAndHashCode -@Getter -@Setter public class Student { @JsonbProperty(_ID_FIELD) @Id @@ -45,4 +41,79 @@ public class Student { private double gpa; public Student() {} + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getMajor() { + return major; + } + + public void setMajor(String major) { + this.major = major; + } + + public double getCredits() { + return credits; + } + + public void setCredits(double credits) { + this.credits = credits; + } + + public double getGpa() { + return gpa; + } + + public void setGpa(double gpa) { + this.gpa = gpa; + } + + @Override + public final boolean equals(Object o) { + if (!(o instanceof Student student)) return false; + + return Double.compare(getCredits(), student.getCredits()) == 0 && Double.compare(getGpa(), student.getGpa()) == 0 && Objects.equals(getId(), student.getId()) && Objects.equals(getFirstName(), student.getFirstName()) && Objects.equals(getLastName(), student.getLastName()) && Objects.equals(getEmail(), student.getEmail()) && Objects.equals(getMajor(), student.getMajor()); + } + + @Override + public int hashCode() { + int result = Objects.hashCode(getId()); + result = 31 * result + Objects.hashCode(getFirstName()); + result = 31 * result + Objects.hashCode(getLastName()); + result = 31 * result + Objects.hashCode(getEmail()); + result = 31 * result + Objects.hashCode(getMajor()); + result = 31 * result + Double.hashCode(getCredits()); + result = 31 * result + Double.hashCode(getGpa()); + return result; + } } diff --git a/database/starters/pom.xml b/database/starters/pom.xml index bda17076..3ba4ec0f 100644 --- a/database/starters/pom.xml +++ b/database/starters/pom.xml @@ -319,13 +319,6 @@ ${spring-boot-dependencies.version} test - - - org.projectlombok - lombok - ${lombok.version} - provided - diff --git a/spring-cloud-oci/pom.xml b/spring-cloud-oci/pom.xml index 3f71e8e5..e741ca3e 100644 --- a/spring-cloud-oci/pom.xml +++ b/spring-cloud-oci/pom.xml @@ -91,7 +91,6 @@ Licensed under the Universal Permissive License v 1.0 as shown at https://oss.or 3.5.3 2.6.0 3.14.0 - 1.18.34 6.1.0 1.6.0 1.11 @@ -142,12 +141,6 @@ Licensed under the Universal Permissive License v 1.0 as shown at https://oss.or commons-lang3 ${commons-lang3.version} - - org.projectlombok - lombok - ${lombok.version} - test - jakarta.servlet jakarta.servlet-api diff --git a/spring-cloud-oci/spring-cloud-oci-core/pom.xml b/spring-cloud-oci/spring-cloud-oci-core/pom.xml index a7e740f2..cc9c0e84 100644 --- a/spring-cloud-oci/spring-cloud-oci-core/pom.xml +++ b/spring-cloud-oci/spring-cloud-oci-core/pom.xml @@ -80,9 +80,5 @@ Licensed under the Universal Permissive License v 1.0 as shown at https://oss.or com.fasterxml.jackson.core jackson-core - - org.projectlombok - lombok - diff --git a/spring-cloud-oci/spring-cloud-oci-core/src/test/java/com/oracle/cloud/spring/core/util/OCIObjectMapperTests.java b/spring-cloud-oci/spring-cloud-oci-core/src/test/java/com/oracle/cloud/spring/core/util/OCIObjectMapperTests.java index efb05b3b..19f1e636 100644 --- a/spring-cloud-oci/spring-cloud-oci-core/src/test/java/com/oracle/cloud/spring/core/util/OCIObjectMapperTests.java +++ b/spring-cloud-oci/spring-cloud-oci-core/src/test/java/com/oracle/cloud/spring/core/util/OCIObjectMapperTests.java @@ -1,14 +1,10 @@ /* - ** Copyright (c) 2023, Oracle and/or its affiliates. + ** Copyright (c) 2023, 2025, Oracle and/or its affiliates. ** Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/ */ package com.oracle.cloud.spring.core.util; -import lombok.AllArgsConstructor; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.ToString; import org.json.JSONException; import org.json.JSONObject; import org.junit.jupiter.api.Test; @@ -29,13 +25,50 @@ void testObjectMapper() throws JSONException { assertEquals(strToJson.getString("lastName"), inputJson.getLastName()); } - @Getter - @NoArgsConstructor - @AllArgsConstructor - @ToString static final class TestJsonObject { + public TestJsonObject() {} + + public TestJsonObject(int id, String firstName, String lastName) { + this.id = id; + this.firstName = firstName; + this.lastName = lastName; + } + private int id; private String firstName; private String lastName; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getFirstName() { + return firstName; + } + + public void setFirstName(String firstName) { + this.firstName = firstName; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + @Override + public String toString() { + return "TestJsonObject{" + + "id=" + id + + ", firstName='" + firstName + '\'' + + ", lastName='" + lastName + '\'' + + '}'; + } } } diff --git a/spring-cloud-oci/spring-cloud-oci-gen-ai/pom.xml b/spring-cloud-oci/spring-cloud-oci-gen-ai/pom.xml index 262c5e3c..b9b82e18 100644 --- a/spring-cloud-oci/spring-cloud-oci-gen-ai/pom.xml +++ b/spring-cloud-oci/spring-cloud-oci-gen-ai/pom.xml @@ -59,10 +59,5 @@ Licensed under the Universal Permissive License v 1.0 as shown at https://oss.or com.oracle.oci.sdk oci-java-sdk-generativeaiinference - - org.projectlombok - lombok - provided - diff --git a/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/ChatModelImpl.java b/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/ChatModelImpl.java index 13e4250c..16776dbd 100644 --- a/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/ChatModelImpl.java +++ b/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/ChatModelImpl.java @@ -1,5 +1,5 @@ /* - ** Copyright (c) 2024, Oracle and/or its affiliates. + ** Copyright (c) 2024, 2025, Oracle and/or its affiliates. ** Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/ */ @@ -27,7 +27,6 @@ import com.oracle.bmc.generativeaiinference.model.UserMessage; import com.oracle.bmc.generativeaiinference.requests.ChatRequest; import com.oracle.bmc.generativeaiinference.responses.ChatResponse; -import lombok.Builder; import org.springframework.util.Assert; /** @@ -48,7 +47,97 @@ public class ChatModelImpl implements ChatModel { private List cohereChatMessages; private List genericChatMessages; - @Builder + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private GenerativeAiInference client; + private ServingMode servingMode; + private String compartment; + private String preambleOverride; + private Double temperature; + private Double frequencyPenalty; + private Integer maxTokens; + private Double presencePenalty; + private Double topP; + private Integer topK; + private InferenceRequestType inferenceRequestType; + + public Builder client(GenerativeAiInference client) { + this.client = client; + return this; + } + + public Builder servingMode(ServingMode servingMode) { + this.servingMode = servingMode; + return this; + } + + public Builder compartment(String compartment) { + this.compartment = compartment; + return this; + } + + public Builder preambleOverride(String preambleOverride) { + this.preambleOverride = preambleOverride; + return this; + } + + public Builder temperature(Double temperature) { + this.temperature = temperature; + return this; + } + + public Builder frequencyPenalty(Double frequencyPenalty) { + this.frequencyPenalty = frequencyPenalty; + return this; + } + + public Builder maxTokens(Integer maxTokens) { + this.maxTokens = maxTokens; + return this; + } + + public Builder presencePenalty(Double presencePenalty) { + this.presencePenalty = presencePenalty; + return this; + } + + public Builder topP(Double topP) { + this.topP = topP; + return this; + } + + public Builder topK(Integer topK) { + this.topK = topK; + return this; + } + + public Builder inferenceRequestType(InferenceRequestType inferenceRequestType) { + this.inferenceRequestType = inferenceRequestType; + return this; + } + + public ChatModelImpl build() { + return new ChatModelImpl(this); + } + } + + public ChatModelImpl(Builder builder) { + this(builder.client, + builder.servingMode, + builder.compartment, + builder.preambleOverride, + builder.temperature, + builder.frequencyPenalty, + builder.maxTokens, + builder.presencePenalty, + builder.topP, + builder.topK, + builder.inferenceRequestType); + } + public ChatModelImpl(GenerativeAiInference client, ServingMode servingMode, String compartment, @@ -82,6 +171,8 @@ public ChatModelImpl(GenerativeAiInference client, }); } + + /** * Chat using OCI GenAI. * @param prompt Prompt text sent to OCI GenAI chat model. diff --git a/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/EmbeddingModelImpl.java b/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/EmbeddingModelImpl.java index 48c1f266..e16f812d 100644 --- a/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/EmbeddingModelImpl.java +++ b/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/EmbeddingModelImpl.java @@ -1,5 +1,5 @@ /* - ** Copyright (c) 2024, Oracle and/or its affiliates. + ** Copyright (c) 2024, 2025, Oracle and/or its affiliates. ** Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/ */ @@ -14,7 +14,6 @@ import com.oracle.bmc.generativeaiinference.model.ServingMode; import com.oracle.bmc.generativeaiinference.requests.EmbedTextRequest; import com.oracle.bmc.generativeaiinference.responses.EmbedTextResponse; -import lombok.Builder; import org.springframework.util.Assert; /** @@ -33,7 +32,45 @@ public class EmbeddingModelImpl implements EmbeddingModel { private final EmbedTextDetails.Truncate truncate; private final String compartment; - @Builder + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private GenerativeAiInference client; + private ServingMode servingMode; + private EmbedTextDetails.Truncate truncate; + private String compartment; + + public Builder client(GenerativeAiInference client) { + this.client = client; + return this; + } + + public Builder servingMode(ServingMode servingMode) { + this.servingMode = servingMode; + return this; + } + + public Builder truncate(EmbedTextDetails.Truncate truncate) { + this.truncate = truncate; + return this; + } + + public Builder compartment(String compartment) { + this.compartment = compartment; + return this; + } + + public EmbeddingModelImpl build() { + return new EmbeddingModelImpl(this); + } + } + + private EmbeddingModelImpl(Builder builder) { + this(builder.client, builder.servingMode, builder.truncate, builder.compartment); + } + public EmbeddingModelImpl(GenerativeAiInference client, ServingMode servingMode, EmbedTextDetails.Truncate truncate, String compartment) { Assert.notNull(client, "client must not be null"); Assert.notNull(servingMode, "servingMode must not be null"); diff --git a/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/InferenceRequestType.java b/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/InferenceRequestType.java index f44773cb..1b2ab0ed 100644 --- a/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/InferenceRequestType.java +++ b/spring-cloud-oci/spring-cloud-oci-gen-ai/src/main/java/com/oracle/cloud/spring/genai/InferenceRequestType.java @@ -5,12 +5,9 @@ package com.oracle.cloud.spring.genai; -import lombok.Getter; - /** * Supported OCI Inference model request types. */ -@Getter public enum InferenceRequestType { COHERE("COHERE"), LLAMA("LLAMA"); @@ -21,4 +18,7 @@ public enum InferenceRequestType { this.type = type; } + public String getType() { + return type; + } } diff --git a/spring-cloud-oci/spring-cloud-oci-vault/pom.xml b/spring-cloud-oci/spring-cloud-oci-vault/pom.xml index 01da547a..4cfd616f 100644 --- a/spring-cloud-oci/spring-cloud-oci-vault/pom.xml +++ b/spring-cloud-oci/spring-cloud-oci-vault/pom.xml @@ -63,10 +63,5 @@ Licensed under the Universal Permissive License v 1.0 as shown at https://oss.or com.oracle.oci.sdk oci-java-sdk-secrets - - org.projectlombok - lombok - provided -