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 2021/05/05 17:29:04 UTC

[isis] branch master updated: ISIS-2641: fixes namespace of abstract ApplicationFeatureViewModel

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 453a9fd  ISIS-2641: fixes namespace of abstract ApplicationFeatureViewModel
453a9fd is described below

commit 453a9fd03a29ad2252dc197e392f9dd530d55ff4
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed May 5 19:28:44 2021 +0200

    ISIS-2641: fixes namespace of abstract ApplicationFeatureViewModel
    
    such that we are actually in the realm of preconfigured permissions to
    actually see the properties/columns of this VM
---
 .../isis/applib/services/tablecol/TableColumnVisibilityService.java  | 2 --
 .../secman/model/dom/feature/ApplicationFeatureViewModel.java        | 4 ++++
 .../extensions/secman/model/spiimpl/TableColumnHidingService.java    | 5 -----
 .../ajaxtable/CollectionContentsAsAjaxTablePanel.java                | 4 ++--
 4 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnVisibilityService.java b/api/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnVisibilityService.java
index 4c5d7cc..788784d 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnVisibilityService.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/tablecol/TableColumnVisibilityService.java
@@ -18,8 +18,6 @@
  */
 package org.apache.isis.applib.services.tablecol;
 
-import java.util.List;
-
 /**
  * Provides the ability to suppress columns in tables.
  *
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/feature/ApplicationFeatureViewModel.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/feature/ApplicationFeatureViewModel.java
index 697e4f1..669fa84 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/feature/ApplicationFeatureViewModel.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/feature/ApplicationFeatureViewModel.java
@@ -27,6 +27,7 @@ import javax.inject.Inject;
 import org.apache.isis.applib.ViewModel;
 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.Navigable;
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.annotation.Property;
@@ -53,6 +54,9 @@ import lombok.val;
 /**
  * View model identified by {@link ApplicationFeatureId} and backed by an {@link ApplicationFeature}.
  */
+@DomainObject(
+        objectType = "isis.ext.secman.ApplicationFeatureViewModel"
+        )
 public abstract class ApplicationFeatureViewModel implements ViewModel {
 
     public static abstract class PropertyDomainEvent<S extends ApplicationFeatureViewModel,T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<S, T> {}
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/spiimpl/TableColumnHidingService.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/spiimpl/TableColumnHidingService.java
index e374948..4ae275a 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/spiimpl/TableColumnHidingService.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/spiimpl/TableColumnHidingService.java
@@ -1,20 +1,15 @@
 package org.apache.isis.extensions.secman.model.spiimpl;
 
-import java.util.List;
-import java.util.stream.Collectors;
-
 import javax.inject.Inject;
 import javax.inject.Named;
 
 import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.context.annotation.Primary;
 import org.springframework.core.annotation.Order;
 import org.springframework.stereotype.Service;
 
 import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
 import org.apache.isis.applib.services.metamodel.MetaModelService;
-import org.apache.isis.applib.services.tablecol.TableColumnOrderService;
 import org.apache.isis.applib.services.tablecol.TableColumnVisibilityService;
 import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionMode;
 import org.apache.isis.extensions.secman.model.dom.user.MeService;
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
index 67dd8ee..70fe1e4 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
@@ -152,6 +152,7 @@ implements CollectionCountProvider {
             return;
         }
 
+        // the type that has the properties that make up this table's columns
         val elementType = typeOfSpec.getCorrespondingClass();
 
         // same code also appears in EntityPage.
@@ -200,8 +201,7 @@ implements CollectionCountProvider {
                     .map(WhereValueFacet::where)
                     .noneMatch(where -> !where.includes(whereContext)))
         .filter(associationDoesNotReferenceParent(parentSpecIfAny))
-        //FIXME is broken
-        //.filter(property->filterColumnsUsingSpi(property, elementType)) // optional SPI to filter
+        .filter(property->filterColumnsUsingSpi(property, elementType)) // optional SPI to filter columns
         .forEach(property->propertyById.put(property.getId(), property));
 
         val propertyIdsInOrder = _Lists.<String>newArrayList(propertyById.keySet());