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/causeway.git
The following commit(s) were added to refs/heads/master by this push:
new 51c633beb1 CAUSEWAY-3697: purge filter SPI (from prev. commits)
51c633beb1 is described below
commit 51c633beb1e4c938924273bbd7e240b30cd4cf10
Author: Andi Huber <[email protected]>
AuthorDate: Thu Mar 14 13:21:54 2024 +0100
CAUSEWAY-3697: purge filter SPI (from prev. commits)
---
api/applib/src/main/java/module-info.java | 1 -
.../scope/ActionContributionFilterService.java | 45 -----------------
core/metamodel/src/main/java/module-info.java | 1 -
.../metamodel/context/HasMetaModelContext.java | 11 ----
.../object/domainservice/DomainServiceFacet.java | 54 --------------------
.../domainservice/DomainServiceFacetAbstract.java | 59 ----------------------
.../DomainServiceFacetAnnotationFactory.java | 35 +------------
.../DomainServiceFacetForAnnotation.java | 57 ---------------------
.../causeway/core/metamodel/util/Facets.java | 5 --
.../DomainServiceFacetAnnotationFactoryTest.java | 10 ++--
.../bootstrap/MenuBarsServiceBootstrap.java | 2 +-
.../services/menu/MenuUiServiceDefault.java | 2 +-
.../swagger/internal/_OpenApiModelFactory.java | 7 +--
.../viewer/context/ResourceContext.java | 7 ---
.../resources/DomainServiceResourceServerside.java | 2 +-
.../resources/DomainServicesListReprRenderer.java | 2 +-
.../viewer/resources/HomePageReprRenderer.java | 2 +-
17 files changed, 11 insertions(+), 291 deletions(-)
diff --git a/api/applib/src/main/java/module-info.java
b/api/applib/src/main/java/module-info.java
index b4a89c800f..bfd4bca708 100644
--- a/api/applib/src/main/java/module-info.java
+++ b/api/applib/src/main/java/module-info.java
@@ -97,7 +97,6 @@ module org.apache.causeway.applib {
exports org.apache.causeway.applib.services.repository;
exports org.apache.causeway.applib.services.routing;
exports org.apache.causeway.applib.services.scratchpad;
- exports org.apache.causeway.applib.services.scope;
exports org.apache.causeway.applib.services.session;
exports org.apache.causeway.applib.services.sitemap;
exports org.apache.causeway.applib.services.sudo;
diff --git
a/api/applib/src/main/java/org/apache/causeway/applib/services/scope/ActionContributionFilterService.java
b/api/applib/src/main/java/org/apache/causeway/applib/services/scope/ActionContributionFilterService.java
deleted file mode 100644
index 7167d1fade..0000000000
---
a/api/applib/src/main/java/org/apache/causeway/applib/services/scope/ActionContributionFilterService.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.causeway.applib.services.scope;
-
-import org.springframework.lang.Nullable;
-
-import org.apache.causeway.applib.annotation.DomainService;
-import org.apache.causeway.applib.id.LogicalType;
-
-/**
- * Optional SPI to limit the scope of {@link DomainService} actions that
contribute to UI or Web-API(s).
- *
- * @since 2.0.0 {index}
- */
-public interface ActionContributionFilterService {
-
- /**
- * Whether {@link LogicalType} represents a domain-service
- * that contributes actions to the UI.
- */
- boolean isContributingToUi(final @Nullable LogicalType logicalType);
-
- /**
- * Whether {@link LogicalType} represents a domain-service
- * that contributes actions to the Web API(s).
- */
- boolean isContributingToWebApi(final @Nullable LogicalType logicalType);
-
-}
diff --git a/core/metamodel/src/main/java/module-info.java
b/core/metamodel/src/main/java/module-info.java
index 1a13c1ce55..084d238751 100644
--- a/core/metamodel/src/main/java/module-info.java
+++ b/core/metamodel/src/main/java/module-info.java
@@ -46,7 +46,6 @@ open module org.apache.causeway.core.metamodel {
exports org.apache.causeway.core.metamodel.facets.object.bookmarkpolicy;
exports org.apache.causeway.core.metamodel.facets.object.callbacks;
exports org.apache.causeway.core.metamodel.facets.object.domainobject;
- exports org.apache.causeway.core.metamodel.facets.object.domainservice;
exports
org.apache.causeway.core.metamodel.facets.object.domainservicelayout;
exports org.apache.causeway.core.metamodel.facets.object.entity;
exports org.apache.causeway.core.metamodel.facets.object.grid;
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/context/HasMetaModelContext.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/context/HasMetaModelContext.java
index ed7893779a..0149cfac46 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/context/HasMetaModelContext.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/context/HasMetaModelContext.java
@@ -43,7 +43,6 @@ import org.apache.causeway.core.config.CausewayConfiguration;
import org.apache.causeway.core.config.environment.CausewaySystemEnvironment;
import org.apache.causeway.core.config.viewer.web.WebAppContextPath;
import org.apache.causeway.core.metamodel.execution.MemberExecutorService;
-import
org.apache.causeway.core.metamodel.facets.object.domainservice.DomainServiceFacet;
import org.apache.causeway.core.metamodel.facets.object.icon.ObjectIconService;
import org.apache.causeway.core.metamodel.object.ManagedObject;
import org.apache.causeway.core.metamodel.objectmanager.ObjectManager;
@@ -210,14 +209,4 @@ public interface HasMetaModelContext {
return getMetaModelContext().streamServiceAdapters();
}
- default Stream<ManagedObject> streamServicesContributingToWebApi() {
- return streamServiceAdapters()
-
.filter(object->DomainServiceFacet.contributingToWebApi().test(object.getSpecification()));
- }
-
- default Stream<ManagedObject> streamServicesContributingToUi() {
- return streamServiceAdapters()
-
.filter(object->DomainServiceFacet.contributingToUi().test(object.getSpecification()));
- }
-
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainservice/DomainServiceFacet.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainservice/DomainServiceFacet.java
deleted file mode 100644
index 79d02c8bdf..0000000000
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainservice/DomainServiceFacet.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.causeway.core.metamodel.facets.object.domainservice;
-
-import java.util.function.Predicate;
-
-import org.apache.causeway.core.metamodel.facetapi.Facet;
-import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
-
-public interface DomainServiceFacet extends Facet {
-
- /**
- * Whether facetHolder represents a service that contributes actions to
the UI.
- * May or may not also contribute to the Web API(s).
- */
- boolean isContributingToUi();
-
- /**
- * Whether facetHolder represents a service that contributes actions the
Web API(s).
- * May or may not also contribute to the UI.
- */
- boolean isContributingToWebApi();
-
- // -- PREDICATES
-
- static Predicate<ObjectSpecification> contributingToUi() {
- return spec-> spec.lookupFacet(DomainServiceFacet.class)
- .map(DomainServiceFacet::isContributingToUi)
- .orElse(false);
- }
-
- static Predicate<ObjectSpecification> contributingToWebApi() {
- return spec-> spec.lookupFacet(DomainServiceFacet.class)
- .map(DomainServiceFacet::isContributingToWebApi)
- .orElse(false);
- }
-
-}
\ No newline at end of file
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainservice/DomainServiceFacetAbstract.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainservice/DomainServiceFacetAbstract.java
deleted file mode 100644
index e546cb9e86..0000000000
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainservice/DomainServiceFacetAbstract.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.causeway.core.metamodel.facets.object.domainservice;
-
-import java.util.function.BiConsumer;
-
-import org.apache.causeway.core.metamodel.facetapi.Facet;
-import org.apache.causeway.core.metamodel.facetapi.FacetAbstract;
-import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-
-import lombok.Getter;
-import lombok.NonNull;
-
-public abstract class DomainServiceFacetAbstract
-extends FacetAbstract
-implements DomainServiceFacet {
-
- private static final Class<? extends Facet> type() {
- return DomainServiceFacet.class;
- }
-
- @Getter(onMethod_={@Override})
- private final boolean contributingToUi;
-
- @Getter(onMethod_={@Override})
- private final boolean contributingToWebApi;
-
- public DomainServiceFacetAbstract(
- final boolean contributingToUi,
- final boolean contributingToWebApi,
- final @NonNull FacetHolder facetHolder) {
- super(DomainServiceFacetAbstract.type(), facetHolder);
- this.contributingToUi = contributingToUi;
- this.contributingToWebApi = contributingToWebApi;
- }
-
- @Override
- public void visitAttributes(final BiConsumer<String, Object> visitor) {
- super.visitAttributes(visitor);
- visitor.accept("isContributingToUi", isContributingToUi());
- visitor.accept("isContributingToWebApi", isContributingToWebApi());
- }
-}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java
index 38af74c7f0..1464b8f992 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactory.java
@@ -18,24 +18,14 @@
*/
package
org.apache.causeway.core.metamodel.facets.object.domainservice.annotation;
-import java.util.List;
import java.util.stream.Collectors;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
import org.apache.causeway.applib.annotation.DomainService;
-import org.apache.causeway.applib.id.LogicalType;
-import
org.apache.causeway.applib.services.scope.ActionContributionFilterService;
-import org.apache.causeway.commons.collections.Can;
-import org.apache.causeway.commons.internal.base._Casts;
import org.apache.causeway.core.metamodel.context.MetaModelContext;
import org.apache.causeway.core.metamodel.facetapi.FeatureType;
import org.apache.causeway.core.metamodel.facetapi.MetaModelRefiner;
import org.apache.causeway.core.metamodel.facets.FacetFactoryAbstract;
-import
org.apache.causeway.core.metamodel.facets.object.domainservice.DomainServiceFacet;
import org.apache.causeway.core.metamodel.progmodel.ProgrammingModel;
-import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
import org.apache.causeway.core.metamodel.spec.feature.MixedIn;
import org.apache.causeway.core.metamodel.spec.feature.ObjectAssociation;
import
org.apache.causeway.core.metamodel.specloader.validator.ValidationFailure;
@@ -46,20 +36,8 @@ public class DomainServiceFacetAnnotationFactory
extends FacetFactoryAbstract
implements MetaModelRefiner {
- private final Can<ActionContributionFilterService>
actionContributionFilterServices;
-
- @Component
- public static class FilterHolder {
- @Autowired(required = false)
- List<ActionContributionFilterService> actionContributionFilterServices;
- Can<ActionContributionFilterService> toCan() {
- return Can.ofCollection(actionContributionFilterServices);
- }
- }
-
public DomainServiceFacetAnnotationFactory(final MetaModelContext mmc) {
super(mmc, FeatureType.OBJECTS_ONLY);
- this.actionContributionFilterServices =
mmc.getServiceInjector().injectServicesInto(new FilterHolder()).toCan();
}
@Override
@@ -68,19 +46,8 @@ implements MetaModelRefiner {
if (!domainServiceIfAny.isPresent()) {
return;
}
-
val facetHolder = processClassContext.getFacetHolder();
- val logicalType = _Casts.castTo(ObjectSpecification.class, facetHolder)
- .map(ObjectSpecification::getLogicalType)
-
.orElseGet(()->LogicalType.fqcn(processClassContext.getCls())); // JUnit support
-
- addFacet(
- new DomainServiceFacetForAnnotation(
- logicalType,
- actionContributionFilterServices,
- facetHolder));
-
addFacetIfPresent(
AliasedFacetForDomainServiceAnnotation
.create(domainServiceIfAny, processClassContext.getCls(),
facetHolder));
@@ -91,7 +58,7 @@ implements MetaModelRefiner {
programmingModel.addValidatorSkipManagedBeans(spec->{
- if(!spec.containsFacet(DomainServiceFacet.class)) {
+ if(!spec.isDomainService()) {
return;
}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetForAnnotation.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetForAnnotation.java
deleted file mode 100644
index 671d05a5fc..0000000000
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetForAnnotation.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package
org.apache.causeway.core.metamodel.facets.object.domainservice.annotation;
-
-import org.apache.causeway.applib.id.LogicalType;
-import
org.apache.causeway.applib.services.scope.ActionContributionFilterService;
-import org.apache.causeway.commons.collections.Can;
-import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
-import
org.apache.causeway.core.metamodel.facets.object.domainservice.DomainServiceFacetAbstract;
-
-public class DomainServiceFacetForAnnotation
-extends DomainServiceFacetAbstract {
-
- public DomainServiceFacetForAnnotation(
- final LogicalType logicalType,
- final Can<ActionContributionFilterService> filterServices,
- final FacetHolder holder) {
- super(evaluateIsContributingToUi(logicalType, filterServices),
- evaluateIsContributingToWebApi(logicalType, filterServices),
- holder);
- }
-
- // -- HELPER
-
- private static boolean evaluateIsContributingToUi(
- final LogicalType logicalType,
- final Can<ActionContributionFilterService> filterServices) {
- var veto = filterServices.stream()
- .anyMatch(spi->!spi.isContributingToUi(logicalType));
- return !veto;
- }
-
- private static boolean evaluateIsContributingToWebApi(
- final LogicalType logicalType,
- final Can<ActionContributionFilterService> filterServices) {
- var veto = filterServices.stream()
- .anyMatch(spi->!spi.isContributingToWebApi(logicalType));
- return !veto;
- }
-
-}
diff --git
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/util/Facets.java
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/util/Facets.java
index 54e61e7b29..1bc3fd0149 100644
---
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/util/Facets.java
+++
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/util/Facets.java
@@ -54,7 +54,6 @@ import
org.apache.causeway.core.metamodel.facets.collections.collection.defaultv
import
org.apache.causeway.core.metamodel.facets.members.cssclass.CssClassFacet;
import
org.apache.causeway.core.metamodel.facets.object.autocomplete.AutoCompleteFacet;
import
org.apache.causeway.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet;
-import
org.apache.causeway.core.metamodel.facets.object.domainservice.DomainServiceFacet;
import
org.apache.causeway.core.metamodel.facets.object.domainservicelayout.DomainServiceLayoutFacet;
import org.apache.causeway.core.metamodel.facets.object.grid.GridFacet;
import org.apache.causeway.core.metamodel.facets.object.icon.IconFacet;
@@ -183,10 +182,6 @@ public final class Facets {
.orElseGet(ParameterConfigOptions.PrecedingParametersPolicy::defaultsIfNotSpecifiedOtherwise);
}
- public boolean domainServiceIsPresent(final ObjectSpecification
objectSpec) {
- return objectSpec.containsFacet(DomainServiceFacet.class);
- }
-
public Optional<MenuBar> domainServiceLayoutMenuBar(final
ObjectSpecification objectSpec) {
return objectSpec.lookupFacet(DomainServiceLayoutFacet.class)
.map(DomainServiceLayoutFacet::getMenuBar);
diff --git
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
index 87a2192950..fbad9b2ae0 100644
---
a/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
+++
b/core/metamodel/src/test/java/org/apache/causeway/core/metamodel/facets/object/domainservice/annotation/DomainServiceFacetAnnotationFactoryTest.java
@@ -27,7 +27,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import org.apache.causeway.applib.annotation.DomainService;
import org.apache.causeway.core.metamodel.facets.FacetFactoryTestAbstract;
-import
org.apache.causeway.core.metamodel.facets.object.domainservice.DomainServiceFacet;
+import
org.apache.causeway.core.metamodel.facets.object.logicaltype.AliasedFacet;
class DomainServiceFacetAnnotationFactoryTest
extends FacetFactoryTestAbstract {
@@ -47,7 +47,7 @@ extends FacetFactoryTestAbstract {
@Test
void aggregatedAnnotationPickedUpOnClass() {
- @DomainService
+ @DomainService(aliased = "Test")
class Customers {
}
@@ -55,11 +55,9 @@ extends FacetFactoryTestAbstract {
//when
facetFactory.process(processClassContext);
//then
- var facet = facetHolder.getFacet(DomainServiceFacet.class);
+ var facet = facetHolder.getFacet(AliasedFacet.class);
assertNotNull(facet);
- assertTrue(facet instanceof DomainServiceFacetForAnnotation);
- DomainServiceFacetForAnnotation domainServiceFacet =
(DomainServiceFacetForAnnotation) facet;
- assertNotNull(domainServiceFacet);
+ assertTrue(facet instanceof
AliasedFacetForDomainServiceAnnotation);
assertNoMethodsRemoved();
});
diff --git
a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/menubars/bootstrap/MenuBarsServiceBootstrap.java
b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/menubars/bootstrap/MenuBarsServiceBootstrap.java
index e3a757d4d1..9f59a51e71 100644
---
a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/menubars/bootstrap/MenuBarsServiceBootstrap.java
+++
b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/menubars/bootstrap/MenuBarsServiceBootstrap.java
@@ -263,7 +263,7 @@ implements MenuBarsService {
private BSMenuBars menuBarsFromAnnotationsOnly() {
final BSMenuBars menuBars = new BSMenuBars();
- val visibleServiceAdapters =
metaModelContext.streamServicesContributingToUi()
+ val visibleServiceAdapters = metaModelContext.streamServiceAdapters()
.filter(this::isVisibleAdapterForMenu)
.collect(Can.toCan());
diff --git
a/viewers/commons/services/src/main/java/org/apache/causeway/viewer/commons/services/menu/MenuUiServiceDefault.java
b/viewers/commons/services/src/main/java/org/apache/causeway/viewer/commons/services/menu/MenuUiServiceDefault.java
index 358c6351a5..7b34e4499c 100644
---
a/viewers/commons/services/src/main/java/org/apache/causeway/viewer/commons/services/menu/MenuUiServiceDefault.java
+++
b/viewers/commons/services/src/main/java/org/apache/causeway/viewer/commons/services/menu/MenuUiServiceDefault.java
@@ -79,7 +79,7 @@ implements MenuUiService {
// -- HELPER
private List<String> select(final DomainServiceLayout.MenuBar
menuBarSelect) {
- return metaModelContext.streamServicesContributingToUi()
+ return metaModelContext.streamServiceAdapters()
.filter(with(menuBarSelect))
.map(ManagedObject::getSpecification)
.map(ObjectSpecification::getLogicalTypeName)
diff --git
a/viewers/restfulobjects/rendering/src/main/java/org/apache/causeway/viewer/restfulobjects/rendering/service/swagger/internal/_OpenApiModelFactory.java
b/viewers/restfulobjects/rendering/src/main/java/org/apache/causeway/viewer/restfulobjects/rendering/service/swagger/internal/_OpenApiModelFactory.java
index 9c6d966b76..d5dbbb2171 100644
---
a/viewers/restfulobjects/rendering/src/main/java/org/apache/causeway/viewer/restfulobjects/rendering/service/swagger/internal/_OpenApiModelFactory.java
+++
b/viewers/restfulobjects/rendering/src/main/java/org/apache/causeway/viewer/restfulobjects/rendering/service/swagger/internal/_OpenApiModelFactory.java
@@ -36,7 +36,6 @@ import org.apache.causeway.applib.services.swagger.Visibility;
import org.apache.causeway.commons.internal.base._Refs;
import org.apache.causeway.commons.internal.collections._Lists;
import org.apache.causeway.commons.internal.collections._Sets;
-import
org.apache.causeway.core.metamodel.facets.object.domainservice.DomainServiceFacet;
import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
import org.apache.causeway.core.metamodel.spec.feature.MixedIn;
import org.apache.causeway.core.metamodel.spec.feature.ObjectAction;
@@ -160,10 +159,6 @@ class _OpenApiModelFactory {
for (val spec : specificationLoader.snapshotSpecifications()) {
- if(!DomainServiceFacet.contributingToWebApi().test(spec)) {
- continue;
- }
-
val serviceActions = _Util.actionsOf(spec, visibility,
classExcluder);
if(serviceActions.isEmpty()) {
continue;
@@ -193,7 +188,7 @@ class _OpenApiModelFactory {
// but this is now done by SpecificationLoader itself)
for (final ObjectSpecification objectSpec :
specificationLoader.snapshotSpecifications()) {
- if(Facets.domainServiceIsPresent(objectSpec)
+ if(objectSpec.isDomainService()
|| Facets.mixinIsPresent(objectSpec)) {
continue;
}
diff --git
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/context/ResourceContext.java
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/context/ResourceContext.java
index 45b89f4f92..5c01c04389 100644
---
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/context/ResourceContext.java
+++
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/context/ResourceContext.java
@@ -23,7 +23,6 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
-import java.util.stream.Stream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -40,7 +39,6 @@ import org.apache.causeway.commons.internal.collections._Sets;
import org.apache.causeway.commons.internal.primitives._Ints;
import org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
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.core.metamodel.object.ManagedObjects;
import org.apache.causeway.viewer.restfulobjects.applib.JsonRepresentation;
@@ -255,9 +253,4 @@ implements IResourceContext {
@Setter //(onMethod = @__(@Override))
private ObjectAdapterLinkTo objectAdapterLinkTo;
- public final Stream<ManagedObject> streamServicesEnabledForWebApi() {
- return metaModelContext.streamServiceAdapters()
-
.filter(object->DomainServiceFacet.contributingToWebApi().test(object.getSpecification()));
- }
-
}
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 64b048feb4..a9c869cf5f 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
@@ -78,7 +78,7 @@ implements DomainServiceResource {
val resourceContext = createResourceContext(
RepresentationType.LIST, Where.STANDALONE_TABLES,
RepresentationService.Intent.NOT_APPLICABLE);
- final Stream<ManagedObject> serviceAdapters =
resourceContext.streamServicesContributingToWebApi();
+ final Stream<ManagedObject> serviceAdapters =
resourceContext.streamServiceAdapters();
final DomainServicesListReprRenderer renderer = new
DomainServicesListReprRenderer(
resourceContext, null, JsonRepresentation.newMap());
diff --git
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/DomainServicesListReprRenderer.java
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/DomainServicesListReprRenderer.java
index 5c6525cae6..213fb15dc6 100644
---
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/DomainServicesListReprRenderer.java
+++
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/DomainServicesListReprRenderer.java
@@ -54,7 +54,7 @@ public class DomainServicesListReprRenderer extends
ListReprRenderer {
final LinkFollowSpecs linkFollower =
getLinkFollowSpecs().follow("links");
if (linkFollower.matches(link)) {
final DomainServicesListReprRenderer renderer = new
DomainServicesListReprRenderer(getResourceContext(), linkFollower,
JsonRepresentation.newMap());
-
renderer.with(resourceContext.streamServicesContributingToWebApi());
+ renderer.with(resourceContext.streamServiceAdapters());
link.mapPutJsonRepresentation("value", renderer.render());
}
getLinks().arrayAdd(link);
diff --git
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/HomePageReprRenderer.java
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/HomePageReprRenderer.java
index fb769ea784..58f584f0cb 100644
---
a/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/HomePageReprRenderer.java
+++
b/viewers/restfulobjects/viewer/src/main/java/org/apache/causeway/viewer/restfulobjects/viewer/resources/HomePageReprRenderer.java
@@ -72,7 +72,7 @@ extends ReprRendererAbstract<Void> {
addLinkToUser(getResourceContext().getInteractionService().currentInteractionContextElseFail());
addLinksToApplicationLogos();
addLinkToMenuBars();
-
addLinkToServices(metaModelContext.streamServicesContributingToWebApi());
+ addLinkToServices(metaModelContext.streamServiceAdapters());
addLinkToVersion();
addLinkToDomainTypes(getResourceContext().getMetaModelContext().getSpecificationLoader().snapshotSpecifications());