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>");
     }
 

Reply via email to