This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/master by this push:
new c31024df92 ISIS-2297: RO: backports simplified ResourceAbstract from
Spring6 branch
c31024df92 is described below
commit c31024df92835931960c488014c8ea73a8d9d3ae
Author: Andi Huber <[email protected]>
AuthorDate: Mon Nov 28 08:11:48 2022 +0100
ISIS-2297: RO: backports simplified ResourceAbstract from Spring6 branch
---
.../resources/DomainObjectResourceServerside.java | 12 ++-----
.../resources/DomainServiceResourceServerside.java | 12 ++-----
.../resources/DomainTypeResourceServerside.java | 12 ++-----
.../resources/HomePageResourceServerside.java | 12 ++-----
.../viewer/resources/ImageResourceServerside.java | 12 ++-----
.../resources/MenuBarsResourceServerside.java | 15 +++------
.../viewer/resources/ResourceAbstract.java | 37 +++++++---------------
.../viewer/resources/UserResourceServerside.java | 13 +++-----
.../resources/VersionResourceServerside.java | 12 ++-----
9 files changed, 34 insertions(+), 103 deletions(-)
diff --git
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/DomainObjectResourceServerside.java
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/DomainObjectResourceServerside.java
index c97789e2b1..24d53bec54 100644
---
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/DomainObjectResourceServerside.java
+++
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/DomainObjectResourceServerside.java
@@ -21,7 +21,6 @@ package
org.apache.causeway.viewer.restfulobjects.viewer.resources;
import java.io.InputStream;
import java.util.Optional;
-import javax.inject.Inject;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
@@ -44,12 +43,9 @@ import
org.apache.causeway.applib.layout.component.DomainObjectLayoutData;
import org.apache.causeway.applib.layout.component.PropertyLayoutData;
import org.apache.causeway.applib.layout.grid.Grid;
import org.apache.causeway.applib.layout.links.Link;
-import org.apache.causeway.applib.services.iactnlayer.InteractionLayerTracker;
import org.apache.causeway.commons.internal.codec._UrlDecoderUtil;
-import org.apache.causeway.core.config.CausewayConfiguration;
import org.apache.causeway.core.metamodel.consent.Consent;
import org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
-import org.apache.causeway.core.metamodel.context.MetaModelContext;
import org.apache.causeway.core.metamodel.facets.object.icon.ObjectIcon;
import org.apache.causeway.core.metamodel.interactions.managed.ManagedMember;
import
org.apache.causeway.core.metamodel.interactions.managed.MemberInteraction.AccessIntent;
@@ -81,12 +77,8 @@ public class DomainObjectResourceServerside
extends ResourceAbstract
implements DomainObjectResource {
- @Inject
- public DomainObjectResourceServerside(
- final MetaModelContext metaModelContext,
- final CausewayConfiguration causewayConfiguration,
- final InteractionLayerTracker iInteractionLayerTracker) {
- super(metaModelContext, causewayConfiguration,
iInteractionLayerTracker);
+ public DomainObjectResourceServerside() {
+ super();
log.debug("<init>");
}
diff --git
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/DomainServiceResourceServerside.java
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/DomainServiceResourceServerside.java
index 857f250e1a..03159affc1 100644
---
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/DomainServiceResourceServerside.java
+++
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/DomainServiceResourceServerside.java
@@ -22,7 +22,6 @@ import java.io.InputStream;
import java.util.function.Predicate;
import java.util.stream.Stream;
-import javax.inject.Inject;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
@@ -38,10 +37,7 @@ import javax.ws.rs.core.Response;
import org.springframework.stereotype.Component;
import org.apache.causeway.applib.annotation.Where;
-import org.apache.causeway.applib.services.iactnlayer.InteractionLayerTracker;
import org.apache.causeway.commons.internal.codec._UrlDecoderUtil;
-import org.apache.causeway.core.config.CausewayConfiguration;
-import org.apache.causeway.core.metamodel.context.MetaModelContext;
import
org.apache.causeway.core.metamodel.facets.object.domainservice.DomainServiceFacet;
import org.apache.causeway.core.metamodel.object.ManagedObject;
import org.apache.causeway.viewer.restfulobjects.applib.JsonRepresentation;
@@ -70,12 +66,8 @@ implements DomainServiceResource {
return DomainServiceFacet.isContributing(input.getSpecification());
};
- @Inject
- public DomainServiceResourceServerside(
- final MetaModelContext metaModelContext,
- final CausewayConfiguration causewayConfiguration,
- final InteractionLayerTracker iInteractionLayerTracker) {
- super(metaModelContext, causewayConfiguration,
iInteractionLayerTracker);
+ public DomainServiceResourceServerside() {
+ super();
log.debug("<init>");
}
diff --git
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/DomainTypeResourceServerside.java
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/DomainTypeResourceServerside.java
index 658a2f80c3..b984707942 100644
---
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/DomainTypeResourceServerside.java
+++
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/DomainTypeResourceServerside.java
@@ -20,7 +20,6 @@ package
org.apache.causeway.viewer.restfulobjects.viewer.resources;
import java.util.function.UnaryOperator;
-import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
@@ -32,10 +31,7 @@ import javax.ws.rs.core.Response;
import org.springframework.stereotype.Component;
import org.apache.causeway.applib.annotation.Where;
-import org.apache.causeway.applib.services.iactnlayer.InteractionLayerTracker;
import org.apache.causeway.commons.internal.base._Strings;
-import org.apache.causeway.core.config.CausewayConfiguration;
-import org.apache.causeway.core.metamodel.context.MetaModelContext;
import org.apache.causeway.core.metamodel.spec.feature.ObjectActionParameter;
import org.apache.causeway.core.metamodel.spec.feature.OneToManyAssociation;
import org.apache.causeway.core.metamodel.spec.feature.OneToOneAssociation;
@@ -82,12 +78,8 @@ public class DomainTypeResourceServerside
extends ResourceAbstract
implements DomainTypeResource {
- @Inject
- public DomainTypeResourceServerside(
- final MetaModelContext metaModelContext,
- final CausewayConfiguration causewayConfiguration,
- final InteractionLayerTracker iInteractionLayerTracker) {
- super(metaModelContext, causewayConfiguration,
iInteractionLayerTracker);
+ public DomainTypeResourceServerside() {
+ super();
log.debug("<init>");
}
diff --git
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/HomePageResourceServerside.java
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/HomePageResourceServerside.java
index 07672d99af..dcf6369121 100644
---
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/HomePageResourceServerside.java
+++
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/HomePageResourceServerside.java
@@ -18,7 +18,6 @@
*/
package org.apache.causeway.viewer.restfulobjects.viewer.resources;
-import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@@ -28,9 +27,6 @@ import javax.ws.rs.core.Response;
import org.springframework.stereotype.Component;
import org.apache.causeway.applib.annotation.Where;
-import org.apache.causeway.applib.services.iactnlayer.InteractionLayerTracker;
-import org.apache.causeway.core.config.CausewayConfiguration;
-import org.apache.causeway.core.metamodel.context.MetaModelContext;
import org.apache.causeway.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.causeway.viewer.restfulobjects.applib.RepresentationType;
import org.apache.causeway.viewer.restfulobjects.applib.RestfulMediaType;
@@ -51,12 +47,8 @@ public class HomePageResourceServerside
extends ResourceAbstract
implements HomePageResource {
- @Inject
- public HomePageResourceServerside(
- final MetaModelContext metaModelContext,
- final CausewayConfiguration causewayConfiguration,
- final InteractionLayerTracker iInteractionLayerTracker) {
- super(metaModelContext, causewayConfiguration,
iInteractionLayerTracker);
+ public HomePageResourceServerside() {
+ super();
log.debug("<init>");
}
diff --git
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/ImageResourceServerside.java
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/ImageResourceServerside.java
index 97006c02bf..005fb36f64 100644
---
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/ImageResourceServerside.java
+++
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/ImageResourceServerside.java
@@ -21,7 +21,6 @@ package
org.apache.causeway.viewer.restfulobjects.viewer.resources;
import java.io.IOException;
import java.io.InputStream;
-import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@@ -29,11 +28,8 @@ import javax.ws.rs.core.Response;
import org.springframework.stereotype.Component;
-import org.apache.causeway.applib.services.iactnlayer.InteractionLayerTracker;
import org.apache.causeway.commons.internal.base._Bytes;
import org.apache.causeway.commons.internal.resources._Resources;
-import org.apache.causeway.core.config.CausewayConfiguration;
-import org.apache.causeway.core.metamodel.context.MetaModelContext;
import lombok.extern.log4j.Log4j2;
@@ -42,12 +38,8 @@ import lombok.extern.log4j.Log4j2;
@Log4j2
public class ImageResourceServerside extends ResourceAbstract {
- @Inject
- public ImageResourceServerside(
- final MetaModelContext metaModelContext,
- final CausewayConfiguration causewayConfiguration,
- final InteractionLayerTracker iInteractionLayerTracker) {
- super(metaModelContext, causewayConfiguration,
iInteractionLayerTracker);
+ public ImageResourceServerside() {
+ super();
log.debug("<init>");
}
diff --git
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/MenuBarsResourceServerside.java
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/MenuBarsResourceServerside.java
index ac55baa586..528c472560 100644
---
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/MenuBarsResourceServerside.java
+++
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/MenuBarsResourceServerside.java
@@ -20,7 +20,6 @@ package
org.apache.causeway.viewer.restfulobjects.viewer.resources;
import java.util.function.Consumer;
-import javax.inject.Inject;
import javax.ws.rs.HttpMethod;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@@ -32,10 +31,7 @@ import org.apache.causeway.applib.annotation.Where;
import org.apache.causeway.applib.layout.component.ServiceActionLayoutData;
import org.apache.causeway.applib.layout.links.Link;
import org.apache.causeway.applib.layout.menubars.MenuBars;
-import org.apache.causeway.applib.services.iactnlayer.InteractionLayerTracker;
import org.apache.causeway.applib.services.menu.MenuBarsService;
-import org.apache.causeway.core.config.CausewayConfiguration;
-import org.apache.causeway.core.metamodel.context.MetaModelContext;
import org.apache.causeway.viewer.restfulobjects.applib.Rel;
import org.apache.causeway.viewer.restfulobjects.applib.RepresentationType;
import org.apache.causeway.viewer.restfulobjects.applib.RestfulMediaType;
@@ -46,18 +42,17 @@ import
org.apache.causeway.viewer.restfulobjects.rendering.service.Representatio
import
org.apache.causeway.viewer.restfulobjects.viewer.context.ResourceContext;
import lombok.val;
+import lombok.extern.log4j.Log4j2;
@Component
+@Log4j2
public class MenuBarsResourceServerside extends ResourceAbstract implements
MenuBarsResource {
public static final String SERVICE_IDENTIFIER = "1";
- @Inject
- public MenuBarsResourceServerside(
- final MetaModelContext metaModelContext,
- final CausewayConfiguration causewayConfiguration,
- final InteractionLayerTracker iInteractionLayerTracker) {
- super(metaModelContext, causewayConfiguration,
iInteractionLayerTracker);
+ public MenuBarsResourceServerside() {
+ super();
+ log.debug("<init>");
}
@Override
diff --git
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/ResourceAbstract.java
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/ResourceAbstract.java
index 99b59631e1..3154cbe0ce 100644
---
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/ResourceAbstract.java
+++
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/ResourceAbstract.java
@@ -22,7 +22,6 @@ import java.io.InputStream;
import java.util.Map;
import java.util.function.UnaryOperator;
-import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.core.Context;
@@ -32,18 +31,18 @@ import javax.ws.rs.core.SecurityContext;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.ext.Providers;
+import org.springframework.beans.factory.annotation.Autowired;
+
import org.apache.causeway.applib.annotation.Where;
import org.apache.causeway.applib.services.bookmark.Bookmark;
-import org.apache.causeway.applib.services.iactnlayer.InteractionLayerTracker;
import org.apache.causeway.commons.internal.base._Refs;
import org.apache.causeway.commons.internal.base._Strings;
import org.apache.causeway.commons.internal.codec._UrlDecoderUtil;
-import org.apache.causeway.core.config.CausewayConfiguration;
import org.apache.causeway.core.config.viewer.web.WebAppContextPath;
import org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
+import org.apache.causeway.core.metamodel.context.HasMetaModelContext;
import org.apache.causeway.core.metamodel.context.MetaModelContext;
import org.apache.causeway.core.metamodel.object.ManagedObject;
-import org.apache.causeway.core.metamodel.specloader.SpecificationLoader;
import org.apache.causeway.viewer.restfulobjects.applib.RepresentationType;
import
org.apache.causeway.viewer.restfulobjects.applib.RestfulResponse.HttpStatusCode;
import
org.apache.causeway.viewer.restfulobjects.rendering.RestfulObjectsApplicationException;
@@ -52,14 +51,16 @@ import
org.apache.causeway.viewer.restfulobjects.rendering.service.Representatio
import org.apache.causeway.viewer.restfulobjects.rendering.util.Util;
import
org.apache.causeway.viewer.restfulobjects.viewer.context.ResourceContext;
+import lombok.Getter;
import lombok.NonNull;
import lombok.val;
-public abstract class ResourceAbstract {
+public abstract class ResourceAbstract
+implements HasMetaModelContext {
- protected final MetaModelContext metaModelContext;
- protected final CausewayConfiguration causewayConfiguration;
- protected final InteractionLayerTracker iInteractionLayerTracker;
+ @Getter(onMethod_={@Override})
+ @Autowired protected MetaModelContext metaModelContext;
+ @Autowired protected WebAppContextPath webAppContextPath;
@Context HttpHeaders httpHeaders;
@Context UriInfo uriInfo;
@@ -69,17 +70,7 @@ public abstract class ResourceAbstract {
@Context SecurityContext securityContext;
@Context Providers providers;
- @Inject WebAppContextPath webAppContextPath;
-
- @Inject
- protected ResourceAbstract(
- final MetaModelContext metaModelContext,
- final CausewayConfiguration causewayConfiguration,
- final InteractionLayerTracker iInteractionLayerTracker) {
-
- this.metaModelContext = metaModelContext;
- this.causewayConfiguration = causewayConfiguration;
- this.iInteractionLayerTracker = iInteractionLayerTracker;
+ protected ResourceAbstract() {
}
// -- FACTORIES
@@ -109,12 +100,12 @@ public abstract class ResourceAbstract {
final ResourceDescriptor resourceDescriptor,
final String urlUnencodedQueryString) {
- if (!iInteractionLayerTracker.isInInteraction()) {
+ if (!getInteractionService().isInInteraction()) {
throw
RestfulObjectsApplicationException.create(HttpStatusCode.UNAUTHORIZED);
}
// eg. http://localhost:8080/ctx/restful/
- final String restfulAbsoluteBase =
causewayConfiguration.getViewer().getRestfulobjects().getBaseUri()
+ final String restfulAbsoluteBase =
getConfiguration().getViewer().getRestfulobjects().getBaseUri()
.orElseGet(()->uriInfo.getBaseUri().toString());
// eg. /ctx/restful/
@@ -165,10 +156,6 @@ public abstract class ResourceAbstract {
bookmark)));
}
- protected SpecificationLoader getSpecificationLoader() {
- return metaModelContext.getSpecificationLoader();
- }
-
// -- HELPER
private String getUrlDecodedQueryStringIfAny() {
diff --git
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/UserResourceServerside.java
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/UserResourceServerside.java
index 6440bd923f..7d0c01bfb8 100644
---
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/UserResourceServerside.java
+++
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/UserResourceServerside.java
@@ -29,9 +29,6 @@ import javax.ws.rs.core.Response;
import org.springframework.stereotype.Component;
import org.apache.causeway.applib.annotation.Where;
-import org.apache.causeway.applib.services.iactnlayer.InteractionLayerTracker;
-import org.apache.causeway.core.config.CausewayConfiguration;
-import org.apache.causeway.core.metamodel.context.MetaModelContext;
import org.apache.causeway.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.causeway.viewer.restfulobjects.applib.RepresentationType;
import org.apache.causeway.viewer.restfulobjects.applib.RestfulMediaType;
@@ -45,16 +42,16 @@ import
org.apache.causeway.viewer.restfulobjects.viewer.context.ResourceContext;
import
org.apache.causeway.viewer.restfulobjects.viewer.webmodule.CausewayRestfulObjectsInteractionFilter;
import lombok.val;
+import lombok.extern.log4j.Log4j2;
@Component
+@Log4j2
public class UserResourceServerside extends ResourceAbstract implements
UserResource {
@Inject
- public UserResourceServerside(
- final MetaModelContext metaModelContext,
- final CausewayConfiguration causewayConfiguration,
- final InteractionLayerTracker iInteractionLayerTracker) {
- super(metaModelContext, causewayConfiguration,
iInteractionLayerTracker);
+ public UserResourceServerside() {
+ super();
+ log.debug("<init>");
}
@Override
diff --git
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/VersionResourceServerside.java
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/VersionResourceServerside.java
index 74cf526e2f..542e93324d 100644
---
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/VersionResourceServerside.java
+++
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/VersionResourceServerside.java
@@ -20,7 +20,6 @@ package
org.apache.causeway.viewer.restfulobjects.viewer.resources;
import java.util.List;
-import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@@ -31,9 +30,6 @@ import javax.ws.rs.core.Response;
import org.springframework.stereotype.Component;
import org.apache.causeway.applib.annotation.Where;
-import org.apache.causeway.applib.services.iactnlayer.InteractionLayerTracker;
-import org.apache.causeway.core.config.CausewayConfiguration;
-import org.apache.causeway.core.metamodel.context.MetaModelContext;
import org.apache.causeway.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.causeway.viewer.restfulobjects.applib.RepresentationType;
import org.apache.causeway.viewer.restfulobjects.applib.RestfulMediaType;
@@ -61,12 +57,8 @@ public class VersionResourceServerside
extends ResourceAbstract
implements VersionResource {
- @Inject
- public VersionResourceServerside(
- final MetaModelContext metaModelContext,
- final CausewayConfiguration causewayConfiguration,
- final InteractionLayerTracker iInteractionLayerTracker) {
- super(metaModelContext, causewayConfiguration,
iInteractionLayerTracker);
+ public VersionResourceServerside() {
+ super();
log.debug("<init>");
}