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