diff options
Diffstat (limited to 'src')
81 files changed, 587 insertions, 582 deletions
| diff --git a/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKey.java b/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKey.java index 05e4bb5..c794b14 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKey.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKey.java @@ -2,15 +2,15 @@ package eu.mulk.mulkcms2.benki.accesscontrol;  import eu.mulk.mulkcms2.benki.users.User;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.IdClass; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  import java.math.BigInteger; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table;  @Entity  @Table(name = "page_keys", schema = "benki") diff --git a/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKeyPK.java b/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKeyPK.java index f79686f..71393a2 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKeyPK.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/PageKeyPK.java @@ -1,10 +1,10 @@  package eu.mulk.mulkcms2.benki.accesscontrol; +import jakarta.persistence.Column; +import jakarta.persistence.Id;  import java.io.Serializable;  import java.math.BigInteger;  import java.util.Objects; -import javax.persistence.Column; -import javax.persistence.Id;  public class PageKeyPK implements Serializable { diff --git a/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/Role.java b/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/Role.java index 1d66939..e07765a 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/Role.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/accesscontrol/Role.java @@ -4,24 +4,24 @@ import eu.mulk.mulkcms2.benki.posts.PostTarget;  import eu.mulk.mulkcms2.benki.users.User;  import eu.mulk.mulkcms2.benki.users.UserRole;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.CollectionTable; +import jakarta.persistence.Column; +import jakarta.persistence.ElementCollection; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinTable; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.OneToMany; +import jakarta.persistence.OneToOne; +import jakarta.persistence.Table;  import java.util.Collection;  import java.util.Objects;  import java.util.Set;  import javax.annotation.CheckForNull; -import javax.persistence.CollectionTable; -import javax.persistence.Column; -import javax.persistence.ElementCollection; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.ManyToMany; -import javax.persistence.OneToMany; -import javax.persistence.OneToOne; -import javax.persistence.Table;  import org.hibernate.annotations.LazyToOne;  import org.hibernate.annotations.LazyToOneOption; diff --git a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/Bookmark.java b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/Bookmark.java index 256c988..25fe683 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/Bookmark.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/Bookmark.java @@ -1,15 +1,15 @@  package eu.mulk.mulkcms2.benki.bookmarks;  import eu.mulk.mulkcms2.benki.posts.Post; +import jakarta.persistence.CollectionTable; +import jakarta.persistence.Column; +import jakarta.persistence.ElementCollection; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.Table;  import java.util.Set;  import javax.annotation.CheckForNull; -import javax.persistence.CollectionTable; -import javax.persistence.Column; -import javax.persistence.ElementCollection; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.JoinColumn; -import javax.persistence.Table;  @Entity  @Table(name = "bookmarks", schema = "benki") @@ -60,6 +60,7 @@ public class Bookmark extends Post<BookmarkText> {      if (text == null) {        text = new BookmarkText();        text.post = this; +      text.postId = id;        text.language = "";        texts.put(text.language, text);      } @@ -72,6 +73,7 @@ public class Bookmark extends Post<BookmarkText> {      if (text == null) {        text = new BookmarkText();        text.post = this; +      text.postId = id;        text.language = "";        texts.put(text.language, text);      } diff --git a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java index a2d8831..4d08298 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkResource.java @@ -1,10 +1,10 @@  package eu.mulk.mulkcms2.benki.bookmarks; -import static javax.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED; -import static javax.ws.rs.core.MediaType.APPLICATION_JSON; -import static javax.ws.rs.core.MediaType.MULTIPART_FORM_DATA; -import static javax.ws.rs.core.MediaType.TEXT_HTML; -import static javax.ws.rs.core.MediaType.WILDCARD; +import static jakarta.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED; +import static jakarta.ws.rs.core.MediaType.APPLICATION_JSON; +import static jakarta.ws.rs.core.MediaType.MULTIPART_FORM_DATA; +import static jakarta.ws.rs.core.MediaType.TEXT_HTML; +import static jakarta.ws.rs.core.MediaType.WILDCARD;  import eu.mulk.mulkcms2.benki.posts.Post;  import eu.mulk.mulkcms2.benki.posts.PostFilter; @@ -12,6 +12,21 @@ import eu.mulk.mulkcms2.benki.posts.PostResource;  import io.quarkus.qute.CheckedTemplate;  import io.quarkus.qute.TemplateInstance;  import io.quarkus.security.Authenticated; +import jakarta.json.JsonObject; +import jakarta.transaction.Transactional; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.ForbiddenException; +import jakarta.ws.rs.FormParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.NotFoundException; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Response;  import java.io.IOException;  import java.net.URI;  import java.net.URISyntaxException; @@ -20,21 +35,6 @@ import java.time.OffsetDateTime;  import java.util.Objects;  import java.util.Set;  import javax.annotation.CheckForNull; -import javax.json.JsonObject; -import javax.transaction.Transactional; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import javax.ws.rs.Consumes; -import javax.ws.rs.ForbiddenException; -import javax.ws.rs.FormParam; -import javax.ws.rs.GET; -import javax.ws.rs.NotFoundException; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Response;  import org.jsoup.Jsoup;  @Path("/bookmarks") @@ -68,14 +68,15 @@ public class BookmarkResource extends PostResource {      var bookmark = new Bookmark();      bookmark.uri = uri.toString();      bookmark.tags = Set.of(); -    bookmark.setTitle(title); -    bookmark.setDescription(description);      bookmark.owner = user;      bookmark.date = OffsetDateTime.now(); -    assignPostTargets(visibility, user, bookmark); +    bookmark.persist(); -    bookmark.persistAndFlush(); +    bookmark.setTitle(title); +    bookmark.setDescription(description); + +    assignPostTargets(visibility, user, bookmark);      return Response.seeOther(new URI("/bookmarks")).build();    } diff --git a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkText.java b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkText.java index 06ea299..019dce5 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkText.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkText.java @@ -1,11 +1,11 @@  package eu.mulk.mulkcms2.benki.bookmarks;  import eu.mulk.mulkcms2.benki.posts.PostText; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import jakarta.persistence.Transient;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table; -import javax.persistence.Transient;  @Entity  @Table(name = "bookmark_texts", schema = "benki") diff --git a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkTextPK.java b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkTextPK.java index 92bda99..d6f529e 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkTextPK.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/bookmarks/BookmarkTextPK.java @@ -1,12 +1,12 @@  package eu.mulk.mulkcms2.benki.bookmarks; +import jakarta.persistence.Column; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne;  import java.io.Serializable;  import java.util.Objects; -import javax.persistence.Column; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne;  public class BookmarkTextPK implements Serializable { diff --git a/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessage.java b/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessage.java index 7f6ed3b..40788d5 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessage.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessage.java @@ -1,14 +1,14 @@  package eu.mulk.mulkcms2.benki.lazychat;  import eu.mulk.mulkcms2.benki.posts.Post; +import jakarta.json.bind.annotation.JsonbTransient; +import jakarta.persistence.Entity; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinTable; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.Table;  import java.util.Collection;  import javax.annotation.CheckForNull; -import javax.json.bind.annotation.JsonbTransient; -import javax.persistence.Entity; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.ManyToMany; -import javax.persistence.Table;  @Entity  @Table(name = "lazychat_messages", schema = "benki") @@ -50,6 +50,7 @@ public class LazychatMessage extends Post<LazychatMessageText> {      if (text == null) {        text = new LazychatMessageText();        text.post = this; +      text.postId = id;        text.language = "";        texts.put(text.language, text);      } diff --git a/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageText.java b/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageText.java index 72bb983..1a84909 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageText.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageText.java @@ -1,11 +1,11 @@  package eu.mulk.mulkcms2.benki.lazychat;  import eu.mulk.mulkcms2.benki.posts.PostText; +import jakarta.json.bind.annotation.JsonbTransient; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Table;  import javax.annotation.CheckForNull; -import javax.json.bind.annotation.JsonbTransient; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Table;  @Entity  @Table(name = "lazychat_message_texts", schema = "benki") diff --git a/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageTextPK.java b/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageTextPK.java index 33063b1..b9861e1 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageTextPK.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatMessageTextPK.java @@ -1,12 +1,12 @@  package eu.mulk.mulkcms2.benki.lazychat; +import jakarta.persistence.Column; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne;  import java.io.Serializable;  import java.util.Objects; -import javax.persistence.Column; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne;  public class LazychatMessageTextPK implements Serializable { diff --git a/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatResource.java b/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatResource.java index 270a3d0..e93f7de 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatResource.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/lazychat/LazychatResource.java @@ -1,29 +1,29 @@  package eu.mulk.mulkcms2.benki.lazychat; -import static javax.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED; -import static javax.ws.rs.core.MediaType.MULTIPART_FORM_DATA; -import static javax.ws.rs.core.MediaType.WILDCARD; +import static jakarta.ws.rs.core.MediaType.APPLICATION_FORM_URLENCODED; +import static jakarta.ws.rs.core.MediaType.MULTIPART_FORM_DATA; +import static jakarta.ws.rs.core.MediaType.WILDCARD;  import eu.mulk.mulkcms2.benki.posts.Post;  import eu.mulk.mulkcms2.benki.posts.PostFilter;  import eu.mulk.mulkcms2.benki.posts.PostResource;  import io.quarkus.security.Authenticated; +import jakarta.transaction.Transactional; +import jakarta.validation.constraints.NotNull; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.ForbiddenException; +import jakarta.ws.rs.FormParam; +import jakarta.ws.rs.NotFoundException; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.Response;  import java.net.URI;  import java.net.URISyntaxException;  import java.security.NoSuchAlgorithmException;  import java.time.OffsetDateTime;  import java.util.Objects; -import javax.transaction.Transactional; -import javax.validation.constraints.NotNull; -import javax.ws.rs.Consumes; -import javax.ws.rs.ForbiddenException; -import javax.ws.rs.FormParam; -import javax.ws.rs.NotFoundException; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Response;  @Path("/lazychat")  public class LazychatResource extends PostResource { @@ -45,13 +45,13 @@ public class LazychatResource extends PostResource {      var user = Objects.requireNonNull(getCurrentUser());      var message = new LazychatMessage(); -    message.setContent(text);      message.owner = user;      message.date = OffsetDateTime.now(); -    assignPostTargets(visibility, user, message); +    message.persist(); +    message.setContent(text); -    message.persistAndFlush(); +    assignPostTargets(visibility, user, message);      return Response.seeOther(new URI("/lazychat")).build();    } diff --git a/src/main/java/eu/mulk/mulkcms2/benki/login/LoginResource.java b/src/main/java/eu/mulk/mulkcms2/benki/login/LoginResource.java index 6ab9c70..d51e77c 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/login/LoginResource.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/login/LoginResource.java @@ -1,13 +1,13 @@  package eu.mulk.mulkcms2.benki.login;  import io.quarkus.security.Authenticated; +import jakarta.ws.rs.DefaultValue; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.HeaderParam; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.core.Response;  import java.net.URI;  import java.net.URISyntaxException; -import javax.ws.rs.DefaultValue; -import javax.ws.rs.GET; -import javax.ws.rs.HeaderParam; -import javax.ws.rs.Path; -import javax.ws.rs.core.Response;  @Path("/login")  public class LoginResource { diff --git a/src/main/java/eu/mulk/mulkcms2/benki/login/LoginStatus.java b/src/main/java/eu/mulk/mulkcms2/benki/login/LoginStatus.java index a217dba..da3bed7 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/login/LoginStatus.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/login/LoginStatus.java @@ -2,9 +2,9 @@ package eu.mulk.mulkcms2.benki.login;  import io.quarkus.qute.TemplateData;  import io.quarkus.security.identity.SecurityIdentity; -import javax.enterprise.context.RequestScoped; -import javax.inject.Inject; -import javax.inject.Named; +import jakarta.enterprise.context.RequestScoped; +import jakarta.inject.Inject; +import jakarta.inject.Named;  @Named("LoginStatus")  @RequestScoped diff --git a/src/main/java/eu/mulk/mulkcms2/benki/login/RoleAugmentor.java b/src/main/java/eu/mulk/mulkcms2/benki/login/RoleAugmentor.java index 37d865f..2557306 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/login/RoleAugmentor.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/login/RoleAugmentor.java @@ -8,11 +8,11 @@ import io.quarkus.security.identity.SecurityIdentity;  import io.quarkus.security.identity.SecurityIdentityAugmentor;  import io.quarkus.security.runtime.QuarkusSecurityIdentity;  import io.smallrye.mutiny.Uni; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.transaction.Transactional;  import java.util.Set;  import java.util.stream.Collectors;  import java.util.stream.Stream; -import javax.enterprise.context.ApplicationScoped; -import javax.transaction.Transactional;  @ApplicationScoped  public class RoleAugmentor implements SecurityIdentityAugmentor { diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/MailRouter.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/MailRouter.java index 1d6ea5c..3084115 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/MailRouter.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/MailRouter.java @@ -1,7 +1,7 @@  package eu.mulk.mulkcms2.benki.newsletter; -import javax.enterprise.context.Dependent; -import javax.inject.Inject; +import jakarta.enterprise.context.Dependent; +import jakarta.inject.Inject;  import org.apache.camel.builder.RouteBuilder;  import org.eclipse.microprofile.config.inject.ConfigProperty; diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/Newsletter.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/Newsletter.java index 3d9a3fe..aaac084 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/Newsletter.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/Newsletter.java @@ -2,15 +2,15 @@ package eu.mulk.mulkcms2.benki.newsletter;  import eu.mulk.mulkcms2.benki.posts.Post;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; +import jakarta.persistence.OrderBy; +import jakarta.persistence.Table;  import java.time.OffsetDateTime;  import java.util.Collection; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.OneToMany; -import javax.persistence.OrderBy; -import javax.persistence.Table;  @Entity  @Table(name = "newsletters", schema = "benki") @@ -23,7 +23,7 @@ public class Newsletter extends PanacheEntityBase {    @Column(name = "date", nullable = false)    public OffsetDateTime date = OffsetDateTime.now(); -  @OneToMany(mappedBy = "owner", fetch = FetchType.LAZY) +  @OneToMany(mappedBy = "newsletter", fetch = FetchType.LAZY)    @OrderBy("date")    public Collection<Post<?>> posts;  } diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterResource.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterResource.java index 3ad24af..cceddb1 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterResource.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterResource.java @@ -1,19 +1,19 @@  package eu.mulk.mulkcms2.benki.newsletter; -import static javax.ws.rs.core.MediaType.TEXT_HTML; +import static jakarta.ws.rs.core.MediaType.TEXT_HTML;  import io.quarkus.mailer.MailTemplate.MailTemplateInstance;  import io.quarkus.qute.CheckedTemplate;  import io.quarkus.qute.TemplateInstance; +import jakarta.transaction.Transactional; +import jakarta.ws.rs.FormParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam;  import java.util.concurrent.CompletableFuture;  import java.util.concurrent.CompletionStage; -import javax.transaction.Transactional; -import javax.ws.rs.FormParam; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam;  @Path("/newsletter")  @Produces(TEXT_HTML) diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSender.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSender.java index 949d127..ae1ef9e 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSender.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSender.java @@ -11,6 +11,10 @@ import io.quarkus.panache.common.Sort;  import io.quarkus.qute.CheckedTemplate;  import io.quarkus.qute.TemplateExtension;  import io.quarkus.scheduler.Scheduled; +import jakarta.enterprise.context.Dependent; +import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceContext; +import jakarta.transaction.Transactional;  import java.time.LocalDate;  import java.time.OffsetDateTime;  import java.time.ZoneId; @@ -21,13 +25,8 @@ import java.util.concurrent.ExecutionException;  import java.util.concurrent.TimeUnit;  import java.util.concurrent.TimeoutException;  import javax.annotation.CheckForNull; -import javax.enterprise.context.Dependent; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; -import javax.transaction.Transactional;  import org.eclipse.microprofile.config.inject.ConfigProperty;  import org.hibernate.Session; -import org.hibernate.annotations.QueryHints;  @Dependent  public class NewsletterSender { @@ -65,7 +64,6 @@ public class NewsletterSender {                     AND tag = 'world'                  """,                  Sort.ascending("date")) -            .withHint(QueryHints.PASS_DISTINCT_THROUGH, false)              .list();      Post.fetchTexts(posts); diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscription.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscription.java index cd50b2e..911a445 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscription.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscription.java @@ -1,16 +1,16 @@  package eu.mulk.mulkcms2.benki.newsletter;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import jakarta.validation.constraints.Email;  import java.math.BigInteger;  import java.security.SecureRandom;  import java.time.OffsetDateTime; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; -import javax.validation.constraints.Email;  import org.hibernate.annotations.NaturalId;  @Entity diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscriptionExpirer.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscriptionExpirer.java index 6bc54b8..4d29c25 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscriptionExpirer.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterSubscriptionExpirer.java @@ -2,9 +2,9 @@ package eu.mulk.mulkcms2.benki.newsletter;  import eu.mulk.mulkcms2.common.logging.Messages;  import io.quarkus.scheduler.Scheduled; +import jakarta.enterprise.context.Dependent; +import jakarta.transaction.Transactional;  import java.time.OffsetDateTime; -import javax.enterprise.context.Dependent; -import javax.transaction.Transactional;  @Dependent  public class NewsletterSubscriptionExpirer { diff --git a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterUnsubscriber.java b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterUnsubscriber.java index 294127f..c4139d8 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterUnsubscriber.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/newsletter/NewsletterUnsubscriber.java @@ -3,12 +3,12 @@ package eu.mulk.mulkcms2.benki.newsletter;  import eu.mulk.mulkcms2.common.logging.Messages;  import io.quarkus.mailer.MailTemplate.MailTemplateInstance;  import io.quarkus.qute.CheckedTemplate; +import jakarta.enterprise.context.Dependent; +import jakarta.mail.internet.InternetAddress; +import jakarta.transaction.Transactional;  import java.util.concurrent.ExecutionException;  import java.util.concurrent.TimeUnit;  import java.util.concurrent.TimeoutException; -import javax.enterprise.context.Dependent; -import javax.mail.internet.InternetAddress; -import javax.transaction.Transactional;  import org.apache.camel.Exchange;  import org.apache.camel.Processor;  import org.apache.camel.component.mail.MailMessage; diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/AllPostsResource.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/AllPostsResource.java index 4047b9e..b934408 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/posts/AllPostsResource.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/AllPostsResource.java @@ -1,7 +1,7 @@  package eu.mulk.mulkcms2.benki.posts; +import jakarta.ws.rs.Path;  import java.security.NoSuchAlgorithmException; -import javax.ws.rs.Path;  @Path("/posts")  public class AllPostsResource extends PostResource { diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java index c2f3dbc..b0aa615 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java @@ -4,13 +4,36 @@ import static java.util.stream.Collectors.toList;  import com.blazebit.persistence.CriteriaBuilder;  import com.blazebit.persistence.CriteriaBuilderFactory; -import com.vladmihalcea.hibernate.type.basic.PostgreSQLEnumType;  import eu.mulk.mulkcms2.benki.accesscontrol.Role;  import eu.mulk.mulkcms2.benki.bookmarks.Bookmark;  import eu.mulk.mulkcms2.benki.lazychat.LazychatMessage;  import eu.mulk.mulkcms2.benki.newsletter.Newsletter;  import eu.mulk.mulkcms2.benki.users.User; +import io.hypersistence.utils.hibernate.type.basic.PostgreSQLEnumType;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.annotation.Nullable; +import jakarta.json.bind.annotation.JsonbTransient; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.EntityManager; +import jakarta.persistence.EnumType; +import jakarta.persistence.Enumerated; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Inheritance; +import jakarta.persistence.InheritanceType; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinTable; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.MapKey; +import jakarta.persistence.OneToMany; +import jakarta.persistence.OrderBy; +import jakarta.persistence.SequenceGenerator; +import jakarta.persistence.Table;  import java.time.LocalDate;  import java.time.OffsetDateTime;  import java.util.ArrayList; @@ -24,37 +47,12 @@ import java.util.Set;  import java.util.TimeZone;  import java.util.stream.Collectors;  import javax.annotation.CheckForNull; -import javax.annotation.Nullable; -import javax.json.bind.annotation.JsonbTransient; -import javax.persistence.CascadeType; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.EntityManager; -import javax.persistence.EnumType; -import javax.persistence.Enumerated; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Inheritance; -import javax.persistence.InheritanceType; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.ManyToMany; -import javax.persistence.ManyToOne; -import javax.persistence.MapKey; -import javax.persistence.OneToMany; -import javax.persistence.OrderBy; -import javax.persistence.SequenceGenerator; -import javax.persistence.Table;  import org.hibernate.annotations.Type; -import org.hibernate.annotations.TypeDef;  import org.hibernate.annotations.Where;  @Entity  @Table(name = "posts", schema = "benki")  @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) -@TypeDef(name = "pg_enum", typeClass = PostgreSQLEnumType.class)  public abstract class Post<Text extends PostText<?>> extends PanacheEntityBase {    public enum Scope { @@ -76,9 +74,9 @@ public abstract class Post<Text extends PostText<?>> extends PanacheEntityBase {    @CheckForNull    public OffsetDateTime date; -  @Column(nullable = false) +  @Column(nullable = false, columnDefinition = "benki.post_scope")    @Enumerated(EnumType.STRING) -  @Type(type = "pg_enum") +  @Type(PostgreSQLEnumType.class)    public Scope scope = Scope.top_level;    @ManyToOne(fetch = FetchType.LAZY) @@ -155,7 +153,7 @@ public abstract class Post<Text extends PostText<?>> extends PanacheEntityBase {      }    } -  protected static <T extends Post> CriteriaBuilder<T> queryViewable( +  protected static <T extends Post<?>> CriteriaBuilder<T> queryViewable(        Class<T> entityClass,        @CheckForNull User reader,        @CheckForNull User owner, diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostResource.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostResource.java index c8d7657..0be31d7 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostResource.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostResource.java @@ -1,10 +1,10 @@  package eu.mulk.mulkcms2.benki.posts; +import static jakarta.ws.rs.core.MediaType.APPLICATION_ATOM_XML; +import static jakarta.ws.rs.core.MediaType.APPLICATION_JSON; +import static jakarta.ws.rs.core.MediaType.TEXT_HTML; +import static jakarta.ws.rs.core.MediaType.TEXT_PLAIN;  import static java.nio.charset.StandardCharsets.UTF_8; -import static javax.ws.rs.core.MediaType.APPLICATION_ATOM_XML; -import static javax.ws.rs.core.MediaType.APPLICATION_JSON; -import static javax.ws.rs.core.MediaType.TEXT_HTML; -import static javax.ws.rs.core.MediaType.TEXT_PLAIN;  import com.blazebit.persistence.CriteriaBuilderFactory;  import com.rometools.rome.feed.atom.Content; @@ -26,6 +26,27 @@ import io.quarkus.qute.CheckedTemplate;  import io.quarkus.qute.TemplateInstance;  import io.quarkus.security.identity.SecurityIdentity;  import io.smallrye.mutiny.Uni; +import jakarta.annotation.Nullable; +import jakarta.inject.Inject; +import jakarta.json.spi.JsonProvider; +import jakarta.persistence.EntityManager; +import jakarta.persistence.PersistenceContext; +import jakarta.transaction.Transactional; +import jakarta.validation.constraints.NotEmpty; +import jakarta.ws.rs.BadRequestException; +import jakarta.ws.rs.ForbiddenException; +import jakarta.ws.rs.FormParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.Context; +import jakarta.ws.rs.core.Response; +import jakarta.ws.rs.core.Response.Status; +import jakarta.ws.rs.core.UriBuilder; +import jakarta.ws.rs.core.UriInfo;  import java.math.BigInteger;  import java.net.URI;  import java.net.URLEncoder; @@ -47,27 +68,6 @@ import java.util.concurrent.ExecutionException;  import java.util.concurrent.TimeoutException;  import java.util.stream.Collectors;  import javax.annotation.CheckForNull; -import javax.annotation.Nullable; -import javax.inject.Inject; -import javax.json.spi.JsonProvider; -import javax.persistence.EntityManager; -import javax.persistence.PersistenceContext; -import javax.transaction.Transactional; -import javax.validation.constraints.NotEmpty; -import javax.ws.rs.BadRequestException; -import javax.ws.rs.ForbiddenException; -import javax.ws.rs.FormParam; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.QueryParam; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.Response; -import javax.ws.rs.core.Response.Status; -import javax.ws.rs.core.UriBuilder; -import javax.ws.rs.core.UriInfo;  import org.eclipse.microprofile.config.inject.ConfigProperty;  import org.hibernate.Session;  import org.jsoup.Jsoup; @@ -325,9 +325,11 @@ public abstract class PostResource {      comment.date = OffsetDateTime.now();      comment.scope = Scope.comment;      comment.referees = List.of(post); + +    comment.persist(); +      comment.setContent(message);      assignPostTargets(post.getVisibility(), post.owner, comment); -    comment.persist();      var currentUser = getCurrentUser();      if (currentUser != null) { diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTarget.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTarget.java index c3e58c5..0f73f1a 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTarget.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTarget.java @@ -2,14 +2,14 @@ package eu.mulk.mulkcms2.benki.posts;  import eu.mulk.mulkcms2.benki.accesscontrol.Role;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.IdClass; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  @Entity  @Table(name = "post_targets", schema = "benki") diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTargetPK.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTargetPK.java index f6347b2..ff9f509 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTargetPK.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTargetPK.java @@ -1,8 +1,8 @@  package eu.mulk.mulkcms2.benki.posts; +import jakarta.persistence.Column; +import jakarta.persistence.Id;  import java.io.Serializable; -import javax.persistence.Column; -import javax.persistence.Id;  public class PostTargetPK implements Serializable { diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostText.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostText.java index 80971b1..5e8dd29 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostText.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostText.java @@ -1,39 +1,40 @@  package eu.mulk.mulkcms2.benki.posts; -import com.vladmihalcea.hibernate.type.search.PostgreSQLTSVectorType; +import static org.hibernate.generator.EventType.INSERT; +import static org.hibernate.generator.EventType.UPDATE; +  import eu.mulk.mulkcms2.benki.posts.Post.Scope;  import eu.mulk.mulkcms2.common.markdown.MarkdownConverter;  import eu.mulk.mulkcms2.common.markdown.MarkdownConverter.Mode; +import io.hypersistence.utils.hibernate.type.search.PostgreSQLTSVectorType;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.json.bind.annotation.JsonbTransient; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.IdClass; +import jakarta.persistence.Inheritance; +import jakarta.persistence.InheritanceType; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.MapsId; +import jakarta.persistence.Table;  import javax.annotation.CheckForNull; -import javax.json.bind.annotation.JsonbTransient; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.Inheritance; -import javax.persistence.InheritanceType; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table;  import org.hibernate.annotations.Generated; -import org.hibernate.annotations.GenerationTime;  import org.hibernate.annotations.Type; -import org.hibernate.annotations.TypeDef;  @Entity  @Table(name = "post_texts", schema = "benki")  @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)  @IdClass(PostTextPK.class) -@TypeDef(name = "tsvector", typeClass = PostgreSQLTSVectorType.class)  public abstract class PostText<OwningPost extends Post<?>> extends PanacheEntityBase {    private static final int DESCRIPTION_CACHE_VERSION = 1;    @Id -  @Column(name = "post", nullable = false, insertable = false, updatable = false) -  public int postId; +  @Column(name = "post", nullable = false) +  public Integer postId;    @Id    @Column(name = "language", nullable = false, length = -1) @@ -47,13 +48,14 @@ public abstract class PostText<OwningPost extends Post<?>> extends PanacheEntity    @CheckForNull    public String cachedDescriptionHtml; -  @Column(name = "search_terms") -  @Generated(GenerationTime.ALWAYS) -  @Type(type = "tsvector") +  @Column(name = "search_terms", columnDefinition = "tsvector") +  @Generated(event = {INSERT, UPDATE}) +  @Type(value = PostgreSQLTSVectorType.class)    public String searchTerms;    @ManyToOne(fetch = FetchType.LAZY, targetEntity = Post.class)    @JoinColumn(name = "post", referencedColumnName = "id", nullable = false) +  @MapsId("postId")    @JsonbTransient    public OwningPost post; diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTextPK.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTextPK.java index 0a945dd..6526526 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTextPK.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTextPK.java @@ -1,31 +1,26 @@  package eu.mulk.mulkcms2.benki.posts; +import jakarta.persistence.Column; +import jakarta.persistence.Id;  import java.io.Serializable;  import java.util.Objects; -import javax.persistence.Column; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; - -@IdClass(PostTextPK.class) +  public class PostTextPK implements Serializable { -  @ManyToOne(fetch = FetchType.LAZY) -  @JoinColumn(name = "post", referencedColumnName = "id", nullable = false) -  public Post<?> post; +  @Id +  @Column(name = "post", nullable = false) +  private Integer postId;    @Id    @Column(name = "language", nullable = false, length = -1)    private String language; -  public Post<?> getPost() { -    return post; +  public Integer getPostId() { +    return postId;    } -  public void setPost(Post post) { -    this.post = post; +  public void setPostId(Integer postId) { +    this.postId = postId;    }    public String getLanguage() { @@ -45,11 +40,12 @@ public class PostTextPK implements Serializable {        return false;      }      PostTextPK that = (PostTextPK) o; -    return Objects.equals(getPost(), that.getPost()) && getLanguage().equals(that.getLanguage()); +    return Objects.equals(getPostId(), that.getPostId()) +        && getLanguage().equals(that.getLanguage());    }    @Override    public int hashCode() { -    return Objects.hash(getPost(), getLanguage()); +    return Objects.hash(getPostId(), getLanguage());    }  } diff --git a/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKey.java b/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKey.java index d03597b..0828cab 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKey.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKey.java @@ -1,16 +1,16 @@  package eu.mulk.mulkcms2.benki.users;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.IdClass; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinTable; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  import java.math.BigInteger; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.ManyToOne; -import javax.persistence.Table;  @Entity  @Table(name = "rsa_keys", schema = "benki") diff --git a/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKeyPK.java b/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKeyPK.java index 83f4ced..d38d3fd 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKeyPK.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/users/RsaKeyPK.java @@ -1,10 +1,10 @@  package eu.mulk.mulkcms2.benki.users; +import jakarta.persistence.Column; +import jakarta.persistence.Id;  import java.io.Serializable;  import java.math.BigInteger;  import java.util.Objects; -import javax.persistence.Column; -import javax.persistence.Id;  public class RsaKeyPK implements Serializable { diff --git a/src/main/java/eu/mulk/mulkcms2/benki/users/User.java b/src/main/java/eu/mulk/mulkcms2/benki/users/User.java index 99ab91f..9f2cd5c 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/users/User.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/users/User.java @@ -7,26 +7,26 @@ import eu.mulk.mulkcms2.benki.lazychat.LazychatMessage;  import eu.mulk.mulkcms2.benki.posts.Post;  import eu.mulk.mulkcms2.benki.wiki.WikiPageRevision;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.CollectionTable; +import jakarta.persistence.Column; +import jakarta.persistence.ElementCollection; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinTable; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.OneToMany; +import jakarta.persistence.OneToOne; +import jakarta.persistence.Table; +import jakarta.persistence.Transient;  import java.util.Collection;  import java.util.List;  import java.util.Objects;  import java.util.Set;  import javax.annotation.CheckForNull; -import javax.persistence.CollectionTable; -import javax.persistence.Column; -import javax.persistence.ElementCollection; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.ManyToMany; -import javax.persistence.OneToMany; -import javax.persistence.OneToOne; -import javax.persistence.Table; -import javax.persistence.Transient;  @Entity(name = "BenkiUser")  @Table(name = "users", schema = "benki") diff --git a/src/main/java/eu/mulk/mulkcms2/benki/users/UserRole.java b/src/main/java/eu/mulk/mulkcms2/benki/users/UserRole.java index 7d2c2ea..a12377a 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/users/UserRole.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/users/UserRole.java @@ -2,14 +2,14 @@ package eu.mulk.mulkcms2.benki.users;  import eu.mulk.mulkcms2.benki.accesscontrol.Role;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.IdClass; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  @Entity  @Table(name = "user_roles", schema = "benki") diff --git a/src/main/java/eu/mulk/mulkcms2/benki/users/UserRolePK.java b/src/main/java/eu/mulk/mulkcms2/benki/users/UserRolePK.java index aca126d..b84e02b 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/users/UserRolePK.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/users/UserRolePK.java @@ -1,8 +1,8 @@  package eu.mulk.mulkcms2.benki.users; +import jakarta.persistence.Column; +import jakarta.persistence.Id;  import java.io.Serializable; -import javax.persistence.Column; -import javax.persistence.Id;  public class UserRolePK implements Serializable { diff --git a/src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKey.java b/src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKey.java index 7e99791..d48a064 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKey.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKey.java @@ -1,16 +1,16 @@  package eu.mulk.mulkcms2.benki.users;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.IdClass; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinColumns; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  import java.math.BigInteger; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.JoinColumn; -import javax.persistence.JoinColumns; -import javax.persistence.ManyToOne; -import javax.persistence.Table;  @Entity  @Table(name = "user_rsa_keys", schema = "benki") diff --git a/src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKeyPK.java b/src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKeyPK.java index ef48c9a..872251a 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKeyPK.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/users/UserRsaKeyPK.java @@ -1,10 +1,10 @@  package eu.mulk.mulkcms2.benki.users; +import jakarta.persistence.Column; +import jakarta.persistence.Id;  import java.io.Serializable;  import java.math.BigInteger;  import java.util.Objects; -import javax.persistence.Column; -import javax.persistence.Id;  public class UserRsaKeyPK implements Serializable { diff --git a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPage.java b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPage.java index b627f9a..56778fe 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPage.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPage.java @@ -1,16 +1,16 @@  package eu.mulk.mulkcms2.benki.wiki;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; +import jakarta.persistence.OrderBy; +import jakarta.persistence.Table;  import java.util.List; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.OneToMany; -import javax.persistence.OrderBy; -import javax.persistence.Table;  @Entity  @Table(name = "wiki_pages", schema = "benki") diff --git a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPageRevision.java b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPageRevision.java index 161f371..c27fa45 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPageRevision.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiPageRevision.java @@ -2,20 +2,20 @@ package eu.mulk.mulkcms2.benki.wiki;  import eu.mulk.mulkcms2.benki.users.User;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  import java.time.OffsetDateTime;  import java.util.function.Function;  import java.util.regex.Pattern;  import java.util.stream.Collectors;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table;  import org.jsoup.Jsoup;  import org.jsoup.nodes.Document;  import org.jsoup.nodes.Element; diff --git a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java index 6351aab..1ca77ca 100644 --- a/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java +++ b/src/main/java/eu/mulk/mulkcms2/benki/wiki/WikiResource.java @@ -1,7 +1,7 @@  package eu.mulk.mulkcms2.benki.wiki; -import static javax.ws.rs.core.MediaType.APPLICATION_JSON; -import static javax.ws.rs.core.MediaType.TEXT_HTML; +import static jakarta.ws.rs.core.MediaType.APPLICATION_JSON; +import static jakarta.ws.rs.core.MediaType.TEXT_HTML;  import eu.mulk.mulkcms2.benki.users.User;  import io.quarkus.panache.common.Sort; @@ -9,25 +9,25 @@ import io.quarkus.qute.CheckedTemplate;  import io.quarkus.qute.TemplateInstance;  import io.quarkus.security.Authenticated;  import io.quarkus.security.identity.SecurityIdentity; +import jakarta.inject.Inject; +import jakarta.json.JsonObject; +import jakarta.json.spi.JsonProvider; +import jakarta.transaction.Transactional; +import jakarta.ws.rs.BadRequestException; +import jakarta.ws.rs.FormParam; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.NotFoundException; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.Response;  import java.net.URI;  import java.net.URISyntaxException;  import java.time.OffsetDateTime;  import java.time.ZoneOffset;  import java.util.Optional;  import javax.annotation.CheckForNull; -import javax.inject.Inject; -import javax.json.JsonObject; -import javax.json.spi.JsonProvider; -import javax.transaction.Transactional; -import javax.ws.rs.BadRequestException; -import javax.ws.rs.FormParam; -import javax.ws.rs.GET; -import javax.ws.rs.NotFoundException; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Response;  import org.jsoup.Jsoup;  import org.jsoup.safety.Safelist; diff --git a/src/main/java/eu/mulk/mulkcms2/cms/about/AboutResource.java b/src/main/java/eu/mulk/mulkcms2/cms/about/AboutResource.java index c112773..1928801 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/about/AboutResource.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/about/AboutResource.java @@ -2,10 +2,10 @@ package eu.mulk.mulkcms2.cms.about;  import io.quarkus.qute.CheckedTemplate;  import io.quarkus.qute.TemplateInstance; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType;  @Path("/about")  public class AboutResource { diff --git a/src/main/java/eu/mulk/mulkcms2/cms/comments/Comment.java b/src/main/java/eu/mulk/mulkcms2/cms/comments/Comment.java index 9f91c6b..0b3adfb 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/comments/Comment.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/comments/Comment.java @@ -2,18 +2,18 @@ package eu.mulk.mulkcms2.cms.comments;  import eu.mulk.mulkcms2.cms.pages.Article;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table;  import java.util.Collection;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.OneToMany; -import javax.persistence.Table;  @Entity  @Table(name = "comments", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/comments/CommentRevision.java b/src/main/java/eu/mulk/mulkcms2/cms/comments/CommentRevision.java index 2835345..038141e 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/comments/CommentRevision.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/comments/CommentRevision.java @@ -1,25 +1,24 @@  package eu.mulk.mulkcms2.cms.comments; -import com.vladmihalcea.hibernate.type.basic.Inet; -import com.vladmihalcea.hibernate.type.basic.PostgreSQLInetType;  import eu.mulk.mulkcms2.cms.users.User; +import io.hypersistence.utils.hibernate.type.basic.Inet; +import io.hypersistence.utils.hibernate.type.basic.PostgreSQLInetType;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  import java.sql.Timestamp;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table; -import org.hibernate.annotations.TypeDef; +import org.hibernate.annotations.Type;  @Entity  @Table(name = "comment_revisions", schema = "public") -@TypeDef(name = "inet", typeClass = PostgreSQLInetType.class, defaultForType = Inet.class)  public class CommentRevision extends PanacheEntityBase {    @Id @@ -45,6 +44,7 @@ public class CommentRevision extends PanacheEntityBase {    public Integer articleRevision;    @Column(name = "submitter_ip", nullable = true, columnDefinition = "inet") +  @Type(PostgreSQLInetType.class)    @CheckForNull    public Inet submitterIp; diff --git a/src/main/java/eu/mulk/mulkcms2/cms/comments/UsedTransactionKey.java b/src/main/java/eu/mulk/mulkcms2/cms/comments/UsedTransactionKey.java index 6565946..bf4eb74 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/comments/UsedTransactionKey.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/comments/UsedTransactionKey.java @@ -1,10 +1,10 @@  package eu.mulk.mulkcms2.cms.comments;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table;  @Entity  @Table(name = "used_transaction_keys", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/journal/Journal.java b/src/main/java/eu/mulk/mulkcms2/cms/journal/Journal.java index a33ba4f..48d8de9 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/journal/Journal.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/journal/Journal.java @@ -1,16 +1,16 @@  package eu.mulk.mulkcms2.cms.journal;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table;  import java.util.Collection;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.OneToMany; -import javax.persistence.Table;  @Entity  @Table(name = "journals", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntry.java b/src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntry.java index 92ccf45..2cfb423 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntry.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntry.java @@ -2,14 +2,14 @@ package eu.mulk.mulkcms2.cms.journal;  import eu.mulk.mulkcms2.cms.pages.Article;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.IdClass; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  @Entity  @Table(name = "journal_entries", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntryPK.java b/src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntryPK.java index 88eb083..7003afd 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntryPK.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/journal/JournalEntryPK.java @@ -1,9 +1,9 @@  package eu.mulk.mulkcms2.cms.journal; +import jakarta.persistence.Column; +import jakarta.persistence.Id;  import java.io.Serializable;  import java.util.Objects; -import javax.persistence.Column; -import javax.persistence.Id;  public class JournalEntryPK implements Serializable { diff --git a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalCategory.java b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalCategory.java index 31a968e..4647d87 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalCategory.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalCategory.java @@ -1,12 +1,12 @@  package eu.mulk.mulkcms2.cms.legacyjournal;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table;  @Entity  @Table(name = "journal_category", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalComment.java b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalComment.java index 186d343..2bbf3dd 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalComment.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalComment.java @@ -1,16 +1,16 @@  package eu.mulk.mulkcms2.cms.legacyjournal;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table;  @Entity  @Table(name = "journal_comment", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalEntry.java b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalEntry.java index ad95270..613e4c6 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalEntry.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalEntry.java @@ -1,16 +1,16 @@  package eu.mulk.mulkcms2.cms.legacyjournal;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table;  import java.util.Collection;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.OneToMany; -import javax.persistence.Table;  @Entity  @Table(name = "journal_entry", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalPingback.java b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalPingback.java index f31e44e..451d6f5 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalPingback.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalPingback.java @@ -1,16 +1,16 @@  package eu.mulk.mulkcms2.cms.legacyjournal;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table;  @Entity  @Table(name = "journal_pingback", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalTrackback.java b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalTrackback.java index f86f95f..fb72242 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalTrackback.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/legacyjournal/LegacyJournalTrackback.java @@ -1,16 +1,16 @@  package eu.mulk.mulkcms2.cms.legacyjournal;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table;  @Entity  @Table(name = "journal_trackback", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/Article.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/Article.java index c3772f0..868f1c8 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/pages/Article.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/Article.java @@ -3,20 +3,20 @@ package eu.mulk.mulkcms2.cms.pages;  import eu.mulk.mulkcms2.cms.comments.Comment;  import eu.mulk.mulkcms2.cms.journal.JournalEntry;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinTable; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table;  import java.util.Collection;  import java.util.Set; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.ManyToMany; -import javax.persistence.ManyToOne; -import javax.persistence.OneToMany; -import javax.persistence.Table;  @Entity  @Table(name = "articles", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleAlias.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleAlias.java index 6896aa7..e29c53b 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleAlias.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleAlias.java @@ -1,13 +1,13 @@  package eu.mulk.mulkcms2.cms.pages;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  @Entity  @Table(name = "article_aliases", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTip.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTip.java index 5b45216..db988d3 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTip.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTip.java @@ -1,12 +1,12 @@  package eu.mulk.mulkcms2.cms.pages;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.IdClass; +import jakarta.persistence.Table;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.Table;  import org.hibernate.annotations.Immutable;  @Entity diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTipPK.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTipPK.java index 2d93b54..0e1106c 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTipPK.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleBranchTipPK.java @@ -1,9 +1,9 @@  package eu.mulk.mulkcms2.cms.pages; +import jakarta.persistence.Column; +import jakarta.persistence.Id;  import java.io.Serializable;  import java.util.Objects; -import javax.persistence.Column; -import javax.persistence.Id;  public class ArticleBranchTipPK implements Serializable { diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleCommentCount.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleCommentCount.java index f7993f1..437c523 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleCommentCount.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleCommentCount.java @@ -1,10 +1,10 @@  package eu.mulk.mulkcms2.cms.pages;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table;  import org.hibernate.annotations.Immutable;  @Entity diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticlePublishingDate.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticlePublishingDate.java index 1fe92f3..45b8854 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticlePublishingDate.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticlePublishingDate.java @@ -1,12 +1,12 @@  package eu.mulk.mulkcms2.cms.pages;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table;  import java.sql.Timestamp;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table;  import org.hibernate.annotations.Immutable;  @Entity diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevision.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevision.java index cf45142..5abdf48 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevision.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevision.java @@ -2,22 +2,22 @@ package eu.mulk.mulkcms2.cms.pages;  import eu.mulk.mulkcms2.cms.users.User;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinTable; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table;  import java.sql.Timestamp;  import java.util.Collection;  import java.util.Set;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.ManyToMany; -import javax.persistence.ManyToOne; -import javax.persistence.OneToMany; -import javax.persistence.Table;  @Entity  @Table(name = "article_revisions", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristic.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristic.java index 0ac7ae5..ebda4a2 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristic.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristic.java @@ -1,15 +1,15 @@  package eu.mulk.mulkcms2.cms.pages;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.IdClass; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table;  @Entity  @Table(name = "article_revision_characteristics", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristicPK.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristicPK.java index 7f9b61a..045642e 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristicPK.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleRevisionCharacteristicPK.java @@ -1,8 +1,8 @@  package eu.mulk.mulkcms2.cms.pages; +import jakarta.persistence.Id;  import java.io.Serializable;  import java.util.Objects; -import javax.persistence.Id;  public class ArticleRevisionCharacteristicPK implements Serializable {    private String characteristic; diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleType.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleType.java index c2c50bb..5f903e1 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleType.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/ArticleType.java @@ -1,16 +1,16 @@  package eu.mulk.mulkcms2.cms.pages;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table;  import java.util.Collection;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.OneToMany; -import javax.persistence.Table;  @Entity  @Table(name = "article_types", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPage.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPage.java index db92afa..7240218 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPage.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPage.java @@ -1,12 +1,12 @@  package eu.mulk.mulkcms2.cms.pages;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.IdClass; +import jakarta.persistence.Table;  import java.sql.Timestamp; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.Table;  @Entity  @Table(name = "cached_pages", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPagePK.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPagePK.java index 1a72aea..7eb213a 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPagePK.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/CachedPagePK.java @@ -1,9 +1,9 @@  package eu.mulk.mulkcms2.cms.pages; +import jakarta.persistence.Column; +import jakarta.persistence.Id;  import java.io.Serializable;  import java.util.Objects; -import javax.persistence.Column; -import javax.persistence.Id;  public class CachedPagePK implements Serializable { diff --git a/src/main/java/eu/mulk/mulkcms2/cms/pages/Category.java b/src/main/java/eu/mulk/mulkcms2/cms/pages/Category.java index 2801c98..b51d094 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/pages/Category.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/pages/Category.java @@ -1,17 +1,17 @@  package eu.mulk.mulkcms2.cms.pages;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinTable; +import jakarta.persistence.ManyToMany; +import jakarta.persistence.Table;  import java.util.Set; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.JoinTable; -import javax.persistence.ManyToMany; -import javax.persistence.Table;  @Entity  @Table(name = "categories", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/privacy/about/PrivacyPolicyResource.java b/src/main/java/eu/mulk/mulkcms2/cms/privacy/about/PrivacyPolicyResource.java index 5255ee2..9f7ffb9 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/privacy/about/PrivacyPolicyResource.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/privacy/about/PrivacyPolicyResource.java @@ -2,10 +2,10 @@ package eu.mulk.mulkcms2.cms.privacy.about;  import io.quarkus.qute.CheckedTemplate;  import io.quarkus.qute.TemplateInstance; -import javax.ws.rs.GET; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType;  @Path("/privacy")  public class PrivacyPolicyResource { diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificate.java b/src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificate.java index 8fec250..724c958 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificate.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificate.java @@ -1,14 +1,14 @@  package eu.mulk.mulkcms2.cms.users;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.IdClass; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  @Entity  @Table(name = "login_certificates", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificatePK.java b/src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificatePK.java index 8bb5f44..eb5f569 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificatePK.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/users/LoginCertificatePK.java @@ -1,10 +1,10 @@  package eu.mulk.mulkcms2.cms.users; +import jakarta.persistence.Column; +import jakarta.persistence.Id;  import java.io.Serializable;  import java.util.Arrays;  import java.util.Objects; -import javax.persistence.Column; -import javax.persistence.Id;  public class LoginCertificatePK implements Serializable { diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/OpenId.java b/src/main/java/eu/mulk/mulkcms2/cms/users/OpenId.java index c73f079..d1039a3 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/users/OpenId.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/users/OpenId.java @@ -1,14 +1,14 @@  package eu.mulk.mulkcms2.cms.users;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.IdClass; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  @Entity(name = "CmsOpenId")  @Table(name = "openids", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/OpenIdPK.java b/src/main/java/eu/mulk/mulkcms2/cms/users/OpenIdPK.java index e80fb25..16c2b10 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/users/OpenIdPK.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/users/OpenIdPK.java @@ -1,9 +1,9 @@  package eu.mulk.mulkcms2.cms.users; +import jakarta.persistence.Column; +import jakarta.persistence.Id;  import java.io.Serializable;  import java.util.Objects; -import javax.persistence.Column; -import javax.persistence.Id;  public class OpenIdPK implements Serializable { diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/Password.java b/src/main/java/eu/mulk/mulkcms2/cms/users/Password.java index 3745bfb..ce1b4c3 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/users/Password.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/users/Password.java @@ -1,14 +1,14 @@  package eu.mulk.mulkcms2.cms.users;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.IdClass; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  @Entity  @Table(name = "passwords", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/PasswordPK.java b/src/main/java/eu/mulk/mulkcms2/cms/users/PasswordPK.java index c43cd5e..e553b5d 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/users/PasswordPK.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/users/PasswordPK.java @@ -1,9 +1,9 @@  package eu.mulk.mulkcms2.cms.users; +import jakarta.persistence.Column; +import jakarta.persistence.Id;  import java.io.Serializable;  import java.util.Objects; -import javax.persistence.Column; -import javax.persistence.Id;  public class PasswordPK implements Serializable { diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/User.java b/src/main/java/eu/mulk/mulkcms2/cms/users/User.java index 5ba5ff4..fe9e589 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/users/User.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/users/User.java @@ -3,16 +3,16 @@ package eu.mulk.mulkcms2.cms.users;  import eu.mulk.mulkcms2.cms.comments.CommentRevision;  import eu.mulk.mulkcms2.cms.pages.ArticleRevision;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.OneToMany; +import jakarta.persistence.Table;  import java.util.Collection;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.OneToMany; -import javax.persistence.Table;  @Entity(name = "CmsUser")  @Table(name = "users", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/UserPermission.java b/src/main/java/eu/mulk/mulkcms2/cms/users/UserPermission.java index 76e3734..aa6dd40 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/users/UserPermission.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/users/UserPermission.java @@ -1,15 +1,15 @@  package eu.mulk.mulkcms2.cms.users;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.IdClass; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table;  @Entity  @Table(name = "user_permissions", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/UserPermissionPK.java b/src/main/java/eu/mulk/mulkcms2/cms/users/UserPermissionPK.java index 406178e..e3634b5 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/users/UserPermissionPK.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/users/UserPermissionPK.java @@ -1,9 +1,9 @@  package eu.mulk.mulkcms2.cms.users; +import jakarta.persistence.Column; +import jakarta.persistence.Id;  import java.io.Serializable;  import java.util.Objects; -import javax.persistence.Column; -import javax.persistence.Id;  public class UserPermissionPK implements Serializable { diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/UserSetting.java b/src/main/java/eu/mulk/mulkcms2/cms/users/UserSetting.java index 43c61b2..8b49d74 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/users/UserSetting.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/users/UserSetting.java @@ -1,15 +1,15 @@  package eu.mulk.mulkcms2.cms.users;  import io.quarkus.hibernate.orm.panache.PanacheEntityBase; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.Id; +import jakarta.persistence.IdClass; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table;  import javax.annotation.CheckForNull; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.Id; -import javax.persistence.IdClass; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.Table;  @Entity  @Table(name = "user_settings", schema = "public") diff --git a/src/main/java/eu/mulk/mulkcms2/cms/users/UserSettingPK.java b/src/main/java/eu/mulk/mulkcms2/cms/users/UserSettingPK.java index b7c28ea..f8c268d 100644 --- a/src/main/java/eu/mulk/mulkcms2/cms/users/UserSettingPK.java +++ b/src/main/java/eu/mulk/mulkcms2/cms/users/UserSettingPK.java @@ -1,9 +1,9 @@  package eu.mulk.mulkcms2.cms.users; +import jakarta.persistence.Column; +import jakarta.persistence.Id;  import java.io.Serializable;  import java.util.Objects; -import javax.persistence.Column; -import javax.persistence.Id;  public class UserSettingPK implements Serializable { diff --git a/src/main/java/eu/mulk/mulkcms2/common/hibernate/HibernateFunctionContributor.java b/src/main/java/eu/mulk/mulkcms2/common/hibernate/HibernateFunctionContributor.java new file mode 100644 index 0000000..2bbb812 --- /dev/null +++ b/src/main/java/eu/mulk/mulkcms2/common/hibernate/HibernateFunctionContributor.java @@ -0,0 +1,28 @@ +package eu.mulk.mulkcms2.common.hibernate; + +import static org.hibernate.query.sqm.produce.function.FunctionParameterType.STRING; +import static org.hibernate.sql.ast.SqlAstNodeRenderingMode.DEFAULT; +import static org.hibernate.type.StandardBasicTypes.BOOLEAN; + +import org.hibernate.boot.model.FunctionContributions; +import org.hibernate.boot.model.FunctionContributor; + +public final class HibernateFunctionContributor implements FunctionContributor { + +  @Override +  public void contributeFunctions(FunctionContributions functionContributions) { +    var typeConfiguration = functionContributions.getTypeConfiguration(); +    var typeRegistry = typeConfiguration.getBasicTypeRegistry(); +    var functionRegistry = functionContributions.getFunctionRegistry(); + +    functionRegistry +        .patternDescriptorBuilder( +            "post_matches_websearch", "(?1 @@ websearch_to_tsquery(language_regconfig(?2), ?3))") +        .setInvariantType(typeRegistry.resolve(BOOLEAN)) +        .setExactArgumentCount(3) +        .setArgumentListSignature("(STRING searchTerms, STRING language, STRING queryText)") +        .setArgumentRenderingMode(DEFAULT) +        .setParameterTypes(STRING, STRING, STRING) +        .register(); +  } +} diff --git a/src/main/java/eu/mulk/mulkcms2/common/hibernate/HibernateMetadataBuilderContributor.java b/src/main/java/eu/mulk/mulkcms2/common/hibernate/HibernateMetadataBuilderContributor.java deleted file mode 100644 index 31f99b2..0000000 --- a/src/main/java/eu/mulk/mulkcms2/common/hibernate/HibernateMetadataBuilderContributor.java +++ /dev/null @@ -1,12 +0,0 @@ -package eu.mulk.mulkcms2.common.hibernate; - -import org.hibernate.boot.MetadataBuilder; -import org.hibernate.boot.spi.MetadataBuilderContributor; - -public final class HibernateMetadataBuilderContributor implements MetadataBuilderContributor { - -  @Override -  public void contribute(MetadataBuilder metadataBuilder) { -    metadataBuilder.applySqlFunction("post_matches_websearch", new PostMatchesWebsearchFunction()); -  } -} diff --git a/src/main/java/eu/mulk/mulkcms2/common/hibernate/PostMatchesWebsearchFunction.java b/src/main/java/eu/mulk/mulkcms2/common/hibernate/PostMatchesWebsearchFunction.java deleted file mode 100644 index 9c10615..0000000 --- a/src/main/java/eu/mulk/mulkcms2/common/hibernate/PostMatchesWebsearchFunction.java +++ /dev/null @@ -1,11 +0,0 @@ -package eu.mulk.mulkcms2.common.hibernate; - -import org.hibernate.dialect.function.SQLFunctionTemplate; -import org.hibernate.type.BooleanType; - -public final class PostMatchesWebsearchFunction extends SQLFunctionTemplate { - -  public PostMatchesWebsearchFunction() { -    super(BooleanType.INSTANCE, "(?1 @@ websearch_to_tsquery(language_regconfig(?2), ?3))"); -  } -} diff --git a/src/main/java/eu/mulk/mulkcms2/common/logging/Messages.java b/src/main/java/eu/mulk/mulkcms2/common/logging/Messages.java index 8a2d3b1..1446352 100644 --- a/src/main/java/eu/mulk/mulkcms2/common/logging/Messages.java +++ b/src/main/java/eu/mulk/mulkcms2/common/logging/Messages.java @@ -1,6 +1,6 @@  package eu.mulk.mulkcms2.common.logging; -import javax.mail.Address; +import jakarta.mail.Address;  import org.jboss.logging.BasicLogger;  import org.jboss.logging.Logger;  import org.jboss.logging.Logger.Level; diff --git a/src/main/resources/META-INF/services/ org.hibernate.boot.model.FunctionContributor b/src/main/resources/META-INF/services/ org.hibernate.boot.model.FunctionContributor new file mode 100644 index 0000000..0c3be1e --- /dev/null +++ b/src/main/resources/META-INF/services/ org.hibernate.boot.model.FunctionContributor @@ -0,0 +1 @@ +eu.mulk.mulkcms2.common.hibernate.HibernateFunctionContributor diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index bd9db97..e576172 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -14,7 +14,6 @@ quarkus.datasource.jdbc.driver = org.postgresql.Driver  quarkus.datasource.jdbc.max-size = 8  quarkus.datasource.jdbc.min-size = 0 -quarkus.hibernate-orm.metadata-builder-contributor = eu.mulk.mulkcms2.common.hibernate.HibernateMetadataBuilderContributor  quarkus.hibernate-orm.validate-in-dev-mode = false  quarkus.liquibase.migrate-at-start = true | 
