You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2020/01/21 18:25:49 UTC

[isis] branch master updated: ISIS-2158: fix wicket components Brand*/Favicon (Serialization)

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 60161f9  ISIS-2158: fix wicket components Brand*/Favicon (Serialization)
60161f9 is described below

commit 60161f94642bf128fa394dacac15fa31350e2a8c
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Jan 21 19:25:39 2020 +0100

    ISIS-2158: fix wicket components Brand*/Favicon (Serialization)
---
 .../apache/isis/core/config/IsisConfiguration.java | 14 +++-------
 .../metamodel/MetaModelServiceDefault.java         |  6 +---
 .../specimpl/ObjectSpecificationAbstract.java      |  6 +---
 .../ui/components/widgets/favicon/Favicon.java     | 23 ++++++----------
 .../ui/components/widgets/navbar/BrandLogo.java    | 32 ++++++++--------------
 .../ui/components/widgets/navbar/BrandName.java    | 27 ++++++++----------
 6 files changed, 38 insertions(+), 70 deletions(-)

diff --git a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
index 781889d..ef437b9 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
@@ -18,10 +18,10 @@
  */
 package org.apache.isis.core.config;
 
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Locale;
@@ -31,7 +31,6 @@ import java.util.Optional;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
-import javax.activation.DataSource;
 import javax.inject.Inject;
 import javax.inject.Named;
 import javax.validation.constraints.NotEmpty;
@@ -42,22 +41,15 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.core.env.ConfigurableEnvironment;
 import org.springframework.validation.annotation.Validated;
 
-import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
-import org.apache.isis.applib.annotation.Collection;
-import org.apache.isis.applib.annotation.CollectionLayout;
 import org.apache.isis.applib.annotation.DomainObject;
-import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.LabelPosition;
-import org.apache.isis.applib.annotation.ParameterLayout;
 import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.applib.events.domain.ActionDomainEvent;
 import org.apache.isis.applib.services.command.CommandWithDto;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.applib.services.iactn.Interaction;
 import org.apache.isis.applib.services.publish.PublishedObjects;
-import org.apache.isis.core.commons.internal.base._Strings;
 import org.apache.isis.core.config.metamodel.facets.AuditObjectsConfiguration;
 import org.apache.isis.core.config.metamodel.facets.CommandActionsConfiguration;
 import org.apache.isis.core.config.metamodel.facets.CommandPropertiesConfiguration;
@@ -84,8 +76,10 @@ import lombok.Value;
 @ConfigurationProperties(IsisConfiguration.ROOT_PREFIX)
 @Data
 @Validated
-public class IsisConfiguration {
+public class IsisConfiguration implements Serializable {
 
+    private static final long serialVersionUID = 1L;
+    
     public static final String ROOT_PREFIX = "isis";
     @Autowired private ConfigurableEnvironment environment;
     
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefault.java
index 92a9283..193942b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefault.java
@@ -42,7 +42,6 @@ import org.apache.isis.applib.services.metamodel.MetaModelService;
 import org.apache.isis.core.commons.internal.collections._Lists;
 import org.apache.isis.core.commons.internal.ioc.BeanSort;
 import org.apache.isis.core.metamodel.facets.actions.command.CommandFacet;
-import org.apache.isis.core.metamodel.facets.object.domainservice.DomainServiceFacet;
 import org.apache.isis.core.metamodel.facets.object.objectspecid.ObjectSpecIdFacet;
 import org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureId;
 import org.apache.isis.core.metamodel.services.appfeat.ApplicationFeatureType;
@@ -187,10 +186,7 @@ public class MetaModelServiceDefault implements MetaModelService {
         }
         final ObjectSpecification objectSpec = specificationLoader.loadSpecification(domainType);
         if(objectSpec.isManagedBean()) {
-            if(objectSpec.getFacet(DomainServiceFacet.class)!=null) {
-                return BeanSort.MANAGED_BEAN_CONTRIBUTING;    
-            }
-            return BeanSort.MANAGED_BEAN_NOT_CONTRIBUTING;
+            return BeanSort.MANAGED_BEAN_CONTRIBUTING;
         }
         if(objectSpec.isViewModel()) {
             return BeanSort.VIEW_MODEL;
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
index c8a549c..995d7b4 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
@@ -59,7 +59,6 @@ import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
 import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
 import org.apache.isis.core.metamodel.facets.collections.CollectionFacet;
 import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import org.apache.isis.core.metamodel.facets.object.domainservice.DomainServiceFacet;
 import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
 import org.apache.isis.core.metamodel.facets.object.entity.EntityFacet;
 import org.apache.isis.core.metamodel.facets.object.icon.IconFacet;
@@ -1094,10 +1093,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
     protected BeanSort sortOf(ObjectSpecification spec) {
 
         if(isManagedBean()) { // <-- not a facet, because we get this information earlier (during class scanning)
-            if(spec.getFacet(DomainServiceFacet.class)!=null) {
-                return BeanSort.MANAGED_BEAN_CONTRIBUTING;    
-            }
-            return BeanSort.MANAGED_BEAN_NOT_CONTRIBUTING;
+            return BeanSort.MANAGED_BEAN_CONTRIBUTING;
         }
         if(containsFacet(ValueFacet.class)) {
             return BeanSort.VALUE;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/favicon/Favicon.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/favicon/Favicon.java
index 7315336..200abc8 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/favicon/Favicon.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/favicon/Favicon.java
@@ -18,8 +18,6 @@
  */
 package org.apache.isis.viewer.wicket.ui.components.widgets.favicon;
 
-import java.util.Optional;
-
 import javax.inject.Inject;
 
 import org.apache.wicket.markup.ComponentTag;
@@ -36,8 +34,8 @@ public class Favicon extends WebComponent {
 
     private static final long serialVersionUID = 1L;
 
-    @Inject private transient IsisConfiguration isisConfiguration;
-    @Inject private transient WebAppContextPath webAppContextPath;
+    @Inject private IsisConfiguration isisConfiguration; // serializable
+    @Inject private WebAppContextPath webAppContextPath; // serializable
 
     private String url = null;
     private String contentType = null;
@@ -50,17 +48,14 @@ public class Favicon extends WebComponent {
     protected void onConfigure() {
         super.onConfigure();
 
-        if(webAppContextPath != null && isisConfiguration != null) {
-
-            url = isisConfiguration.getViewer().getWicket().getApplication().getFaviconUrl()
-                    .filter(x -> !Strings.isEmpty(x))
-                    .map(webAppContextPath::prependContextPathIfLocal)
-                    .orElse(null);
+        url = isisConfiguration.getViewer().getWicket().getApplication().getFaviconUrl()
+                .filter(x -> !Strings.isEmpty(x))
+                .map(webAppContextPath::prependContextPathIfLocal)
+                .orElse(null);
 
-            contentType = isisConfiguration.getViewer().getWicket().getApplication().getFaviconContentType()
-                    .filter(x -> !Strings.isEmpty(x))
-                    .orElse(null);;
-        }
+        contentType = isisConfiguration.getViewer().getWicket().getApplication().getFaviconContentType()
+                .filter(x -> !Strings.isEmpty(x))
+                .orElse(null);;
 
         setVisible(url != null);
     }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/navbar/BrandLogo.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/navbar/BrandLogo.java
index e71c839..de82097 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/navbar/BrandLogo.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/navbar/BrandLogo.java
@@ -18,8 +18,6 @@
  */
 package org.apache.isis.viewer.wicket.ui.components.widgets.navbar;
 
-import java.util.Optional;
-
 import javax.inject.Inject;
 
 import org.apache.wicket.markup.ComponentTag;
@@ -37,8 +35,8 @@ public class BrandLogo extends WebComponent {
 
     private final Placement placement;
 
-    @Inject private transient IsisConfiguration isisConfiguration;
-    @Inject private transient WebAppContextPath webAppContextPath;
+    @Inject private IsisConfiguration isisConfiguration; // serializable
+    @Inject private WebAppContextPath webAppContextPath; // serializable
 
     /**
      * Constructor.
@@ -65,23 +63,17 @@ public class BrandLogo extends WebComponent {
     }
 
     private String url() {
+        final String logoHeaderUrl =
+                isisConfiguration.getViewer().getWicket().getApplication().getBrandLogoHeader()
+                    .map(webAppContextPath::prependContextPathIfLocal)
+                    .orElse(null);
+
+        String logoSigninUrl =
+                isisConfiguration.getViewer().getWicket().getApplication().getBrandLogoSignin()
+                    .map(webAppContextPath::prependContextPathIfLocal)
+                    .orElse(null);
 
-        // TODO: sort this out, need to look up from service locator
-        //  see also BrandName
-        if(webAppContextPath != null && isisConfiguration != null) {
-            final String logoHeaderUrl =
-                    isisConfiguration.getViewer().getWicket().getApplication().getBrandLogoHeader()
-                            .map(webAppContextPath::prependContextPathIfLocal)
-                            .orElse(null);
-
-            String logoSigninUrl =
-                    isisConfiguration.getViewer().getWicket().getApplication().getBrandLogoSignin()
-                            .map(webAppContextPath::prependContextPathIfLocal)
-                            .orElse(null);
-
-            return placement.urlFor(logoHeaderUrl, logoSigninUrl);
-        }
-        return null;
+        return placement.urlFor(logoHeaderUrl, logoSigninUrl);
     }
 
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/navbar/BrandName.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/navbar/BrandName.java
index 26d32c6..3638d04 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/navbar/BrandName.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/navbar/BrandName.java
@@ -35,8 +35,8 @@ public class BrandName extends Label {
 
     private final Placement placement;
 
-    @Inject private transient IsisConfiguration isisConfiguration;
-    @Inject private transient WebAppContextPath webAppContextPath;
+    @Inject private IsisConfiguration isisConfiguration; // serializable
+    @Inject private WebAppContextPath webAppContextPath; // serializable
 
     private String logoHeaderUrl;
     private String logoSigninUrl;
@@ -59,20 +59,15 @@ public class BrandName extends Label {
     protected void onConfigure() {
         super.onConfigure();
 
-        // TODO: sort this out, need to look up from service locator
-        //  see also BrandLogo
-        if(webAppContextPath != null && isisConfiguration != null) {
-
-            applicationName = isisConfiguration.getViewer().getWicket().getApplication().getName();
-            logoHeaderUrl =
-                    isisConfiguration.getViewer().getWicket().getApplication().getBrandLogoHeader()
-                        .map(webAppContextPath::prependContextPathIfLocal)
-                        .orElse(null);
-            logoSigninUrl =
-                    isisConfiguration.getViewer().getWicket().getApplication().getBrandLogoSignin()
-                        .map(webAppContextPath::prependContextPathIfLocal)
-                        .orElse(null);
-        }
+        applicationName = isisConfiguration.getViewer().getWicket().getApplication().getName();
+        logoHeaderUrl =
+                isisConfiguration.getViewer().getWicket().getApplication().getBrandLogoHeader()
+                    .map(webAppContextPath::prependContextPathIfLocal)
+                    .orElse(null);
+        logoSigninUrl =
+                isisConfiguration.getViewer().getWicket().getApplication().getBrandLogoSignin()
+                    .map(webAppContextPath::prependContextPathIfLocal)
+                    .orElse(null);
 
         setVisible(placement.urlFor(logoHeaderUrl, logoSigninUrl) == null);
     }