This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch v4
in repository https://gitbox.apache.org/repos/asf/causeway.git


The following commit(s) were added to refs/heads/v4 by this push:
     new bca432cc938 CAUSEWAY-3905: minor code quality
bca432cc938 is described below

commit bca432cc9389b9b4eba54e06a01366724f108ac1
Author: a.huber <[email protected]>
AuthorDate: Wed Sep 24 07:03:40 2025 +0200

    CAUSEWAY-3905: minor code quality
---
 .../causeway/applib/services/linking/DeepLinkService.java | 14 +++++---------
 .../valuesemantics/BufferedImageValueSemantics.java       |  1 +
 .../wicket/viewer/services/DeepLinkServiceWicket.java     | 15 +++++----------
 3 files changed, 11 insertions(+), 19 deletions(-)

diff --git 
a/api/applib/src/main/java/org/apache/causeway/applib/services/linking/DeepLinkService.java
 
b/api/applib/src/main/java/org/apache/causeway/applib/services/linking/DeepLinkService.java
index 14e0f90cfdf..ac1fb575bcc 100644
--- 
a/api/applib/src/main/java/org/apache/causeway/applib/services/linking/DeepLinkService.java
+++ 
b/api/applib/src/main/java/org/apache/causeway/applib/services/linking/DeepLinkService.java
@@ -24,17 +24,13 @@
  * A service that returns a web link (`java.net.URI`) to any domain object in
  * one of the framework's viewers.
  *
- * <p>
- *     A typical use case is to generate a clickable link for rendering in an
- *     email, PDF, tweet or other communication.
- * </p>
+ * <p>A typical use case is to generate a clickable link for rendering in an
+ * email, PDF, tweet or other communication.
  *
- * <p>
- *     Note that the implementation is specific to the viewer(s).  At the time
- *     of writing only one implementation is available, for the Wicket viewer.
- * </p>
+ * <p>Note that the implementation is specific to the viewer(s).  At the time
+ * of writing only one implementation is available, for the Wicket viewer.
  *
- * @since 1.x {@index}
+ * @since 1.x revised for 4.x {@index}
  */
 public interface DeepLinkService {
 
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/BufferedImageValueSemantics.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/BufferedImageValueSemantics.java
index 96a25a82117..b7e180cc63e 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/BufferedImageValueSemantics.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/valuesemantics/BufferedImageValueSemantics.java
@@ -138,6 +138,7 @@ public Renderer<BufferedImage> getRenderer() {
                 return "Image %dx%d".formatted(img.getWidth(), 
img.getHeight());
             }
             @Override public String htmlPresentation(Context context, 
BufferedImage img) {
+                if (img == null) return "no image";
                 return "<img src=\"%s\"/>".formatted(
                         DataUri.embeddedImage(ImageType.PNG, 
_Images.toBytes(img))
                         .toExternalForm());
diff --git 
a/viewers/wicket/viewer/src/main/java/org/apache/causeway/viewer/wicket/viewer/services/DeepLinkServiceWicket.java
 
b/viewers/wicket/viewer/src/main/java/org/apache/causeway/viewer/wicket/viewer/services/DeepLinkServiceWicket.java
index 1f73981b890..9d325fe74ea 100644
--- 
a/viewers/wicket/viewer/src/main/java/org/apache/causeway/viewer/wicket/viewer/services/DeepLinkServiceWicket.java
+++ 
b/viewers/wicket/viewer/src/main/java/org/apache/causeway/viewer/wicket/viewer/services/DeepLinkServiceWicket.java
@@ -22,16 +22,15 @@
 import java.net.URISyntaxException;
 import java.util.Optional;
 
-import jakarta.inject.Inject;
 import jakarta.inject.Named;
 
 import org.apache.wicket.Page;
 import org.apache.wicket.request.Url;
 import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.jspecify.annotations.Nullable;
 
 import org.springframework.beans.factory.annotation.Qualifier;
-import org.jspecify.annotations.Nullable;
 import org.springframework.stereotype.Service;
 
 import org.apache.causeway.applib.annotation.PriorityPrecedence;
@@ -44,8 +43,6 @@
 import org.apache.causeway.viewer.wicket.model.util.PageParameterUtils;
 import org.apache.causeway.viewer.wicket.ui.pages.PageClassRegistry;
 
-import lombok.RequiredArgsConstructor;
-
 /**
  * An implementation of {@link 
org.apache.causeway.applib.services.linking.DeepLinkService}
  * for Wicket Viewer.
@@ -56,12 +53,10 @@
 @Named("causeway.viewer.wicket.DeepLinkServiceWicket")
 @jakarta.annotation.Priority(PriorityPrecedence.EARLY)
 @Qualifier("Wicket")
-@RequiredArgsConstructor(onConstructor_ = {@Inject})
-public class DeepLinkServiceWicket implements DeepLinkService {
-
-    private final PageClassRegistry pageClassRegistry;
-    private final SpecificationLoader specificationLoader;
-    private final HomePageResolverService homePageResolverService;
+public record DeepLinkServiceWicket(
+        PageClassRegistry pageClassRegistry,
+        SpecificationLoader specificationLoader,
+        HomePageResolverService homePageResolverService) implements 
DeepLinkService {
 
     // also supports ManagedObject and Bookmark
     @Override

Reply via email to