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 83a1e5ad7c ISIS-3198: refactoring: purge RuntimeContextBase
83a1e5ad7c is described below
commit 83a1e5ad7cb81dd831cd6377a9199674dfeb0ddd
Author: Andi Huber <[email protected]>
AuthorDate: Wed Sep 14 17:11:26 2022 +0200
ISIS-3198: refactoring: purge RuntimeContextBase
---
core/runtime/src/main/java/module-info.java | 1 -
.../core/runtime/context/RuntimeContextBase.java | 72 ----------------------
.../restfulobjects/rendering/IResourceContext.java | 46 +++++++++++---
.../viewer/context/ResourceContext.java | 51 ++-------------
.../viewer/resources/UserResourceServerside.java | 11 +---
5 files changed, 44 insertions(+), 137 deletions(-)
diff --git a/core/runtime/src/main/java/module-info.java
b/core/runtime/src/main/java/module-info.java
index 76908dc22f..baa948bb04 100644
--- a/core/runtime/src/main/java/module-info.java
+++ b/core/runtime/src/main/java/module-info.java
@@ -18,7 +18,6 @@
*/
module org.apache.isis.core.runtime {
exports org.apache.isis.core.runtime;
- exports org.apache.isis.core.runtime.context;
exports org.apache.isis.core.runtime.events;
requires java.annotation;
diff --git
a/core/runtime/src/main/java/org/apache/isis/core/runtime/context/RuntimeContextBase.java
b/core/runtime/src/main/java/org/apache/isis/core/runtime/context/RuntimeContextBase.java
deleted file mode 100644
index 3d6a8b19e4..0000000000
---
a/core/runtime/src/main/java/org/apache/isis/core/runtime/context/RuntimeContextBase.java
+++ /dev/null
@@ -1,72 +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.isis.core.runtime.context;
-
-import java.util.function.Supplier;
-
-import org.apache.isis.applib.services.iactn.InteractionProvider;
-import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
-import org.apache.isis.applib.services.iactnlayer.InteractionService;
-import org.apache.isis.applib.services.xactn.TransactionService;
-import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.object.ManagedObject;
-import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
-import
org.apache.isis.core.security.authentication.manager.AuthenticationManager;
-
-import lombok.Getter;
-import lombok.val;
-
-/**
- *
- * @since 2.0
- *
- */
-public abstract class RuntimeContextBase {
-
- // -- FINAL FIELDS
-
- @Getter protected final MetaModelContext metaModelContext;
-
- @Getter protected final InteractionLayerTracker interactionLayerTracker;
- @Getter protected final InteractionService interactionService;
- @Getter protected final AuthenticationManager authenticationManager;
- @Getter protected final TransactionService transactionService;
- @Getter protected final Supplier<ManagedObject> homePageSupplier;
- @Getter protected final ObjectManager objectManager;
-
- // -- SINGLE ARG CONSTRUCTOR
-
- protected RuntimeContextBase(MetaModelContext mmc) {
- this.metaModelContext= mmc;
- val serviceRegistry = mmc.getServiceRegistry();
- this.objectManager = mmc.getObjectManager();
- this.transactionService = mmc.getTransactionService();
- this.homePageSupplier = mmc::getHomePageAdapter;
- this.interactionService =
serviceRegistry.lookupServiceElseFail(InteractionService.class);
- this.authenticationManager =
serviceRegistry.lookupServiceElseFail(AuthenticationManager.class);
- this.interactionLayerTracker =
serviceRegistry.lookupServiceElseFail(InteractionLayerTracker.class);
- }
-
- // -- AUTH
-
- public InteractionProvider getInteractionProvider() {
- return interactionLayerTracker;
- }
-
-}
diff --git
a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IResourceContext.java
b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IResourceContext.java
index de1605d15c..735ff059ce 100644
---
a/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IResourceContext.java
+++
b/viewers/restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/IResourceContext.java
@@ -28,6 +28,7 @@ import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.iactn.InteractionProvider;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
+import org.apache.isis.core.metamodel.context.HasMetaModelContext;
import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.object.ManagedObject;
import
org.apache.isis.viewer.restfulobjects.rendering.domainobjects.DomainObjectReprRenderer;
@@ -41,7 +42,7 @@ import
org.apache.isis.viewer.restfulobjects.rendering.service.RepresentationSer
*
* @since 1.x {@index}
*/
-public interface IResourceContext {
+public interface IResourceContext extends HasMetaModelContext {
/**
* Prepends with the servlet's base URI
@@ -74,16 +75,37 @@ public interface IResourceContext {
List<List<String>> getFollowLinks();
boolean isValidateOnly();
- boolean honorUiHints();
+ default boolean honorUiHints() {
+ return
getMetaModelContext().getConfiguration().getViewer().getRestfulobjects().isHonorUiHints();
+ }
+
+ default boolean objectPropertyValuesOnly() {
+ return
getMetaModelContext().getConfiguration().getViewer().getRestfulobjects().isObjectPropertyValuesOnly();
+ }
+
+ default boolean suppressDescribedByLinks() {
+ return
getMetaModelContext().getConfiguration().getViewer().getRestfulobjects().isSuppressDescribedByLinks();
+ }
- boolean objectPropertyValuesOnly();
+ default boolean suppressUpdateLink() {
+ return
getMetaModelContext().getConfiguration().getViewer().getRestfulobjects().isSuppressUpdateLink();
+ }
- boolean suppressDescribedByLinks();
- boolean suppressUpdateLink();
- boolean suppressMemberId();
- boolean suppressMemberLinks();
- boolean suppressMemberExtensions();
- boolean suppressMemberDisabledReason();
+ default boolean suppressMemberId() {
+ return
getMetaModelContext().getConfiguration().getViewer().getRestfulobjects().isSuppressMemberId();
+ }
+
+ default boolean suppressMemberLinks() {
+ return
getMetaModelContext().getConfiguration().getViewer().getRestfulobjects().isSuppressMemberLinks();
+ }
+
+ default boolean suppressMemberExtensions() {
+ return
getMetaModelContext().getConfiguration().getViewer().getRestfulobjects().isSuppressMemberExtensions();
+ }
+
+ default boolean suppressMemberDisabledReason() {
+ return
getMetaModelContext().getConfiguration().getViewer().getRestfulobjects().isSuppressMemberDisabledReason();
+ }
/**
* To avoid infinite loops when eagerly rendering graphs
@@ -100,7 +122,11 @@ public interface IResourceContext {
*/
RepresentationService.Intent getIntent();
- InteractionProvider getInteractionProvider();
+ @Deprecated // use directly
+ default InteractionProvider getInteractionProvider() {
+ return getInteractionService();
+ }
+
MetaModelContext getMetaModelContext();
// -- UTILITY
diff --git
a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext.java
b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext.java
index 14d0474b0a..6ac8b0707b 100644
---
a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext.java
+++
b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext.java
@@ -40,7 +40,6 @@ import
org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.object.ManagedObject;
import org.apache.isis.core.metamodel.object.ManagedObjects;
-import org.apache.isis.core.runtime.context.RuntimeContextBase;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.RepresentationType;
import org.apache.isis.viewer.restfulobjects.applib.RestfulRequest.DomainModel;
@@ -60,9 +59,11 @@ import lombok.Setter;
import lombok.val;
public class ResourceContext
-extends RuntimeContextBase
implements IResourceContext {
+ @Getter(onMethod_={@Override})
+ private MetaModelContext metaModelContext;
+
@Getter private final HttpHeaders httpHeaders;
@Getter private final Request request;
@Getter private final HttpServletRequest httpServletRequest;
@@ -97,7 +98,7 @@ implements IResourceContext {
final InteractionInitiatedBy interactionInitiatedBy,
final Map<String, String[]> requestParams) {
- super(metaModelContext);
+ this.metaModelContext = metaModelContext;
this.httpHeaders = httpHeaders;
//not used ... this.providers = providers;
@@ -222,6 +223,7 @@ implements IResourceContext {
// -- canEagerlyRender
private Set<Bookmark> rendered = _Sets.newHashSet();
+
@Override
public boolean canEagerlyRender(final ManagedObject objectAdapter) {
return ManagedObjects.bookmark(objectAdapter)
@@ -229,48 +231,6 @@ implements IResourceContext {
.orElse(true);
}
- // -- configuration settings
-
- @Override
- public boolean honorUiHints() {
- return
getMetaModelContext().getConfiguration().getViewer().getRestfulobjects().isHonorUiHints();
- }
-
- @Override
- public boolean objectPropertyValuesOnly() {
- return
getMetaModelContext().getConfiguration().getViewer().getRestfulobjects().isObjectPropertyValuesOnly();
- }
-
- @Override
- public boolean suppressDescribedByLinks() {
- return
getMetaModelContext().getConfiguration().getViewer().getRestfulobjects().isSuppressDescribedByLinks();
- }
-
- @Override
- public boolean suppressUpdateLink() {
- return
getMetaModelContext().getConfiguration().getViewer().getRestfulobjects().isSuppressUpdateLink();
- }
-
- @Override
- public boolean suppressMemberId() {
- return
getMetaModelContext().getConfiguration().getViewer().getRestfulobjects().isSuppressMemberId();
- }
-
- @Override
- public boolean suppressMemberLinks() {
- return
getMetaModelContext().getConfiguration().getViewer().getRestfulobjects().isSuppressMemberLinks();
- }
-
- @Override
- public boolean suppressMemberExtensions() {
- return
getMetaModelContext().getConfiguration().getViewer().getRestfulobjects().isSuppressMemberExtensions();
- }
-
- @Override
- public boolean suppressMemberDisabledReason() {
- return
getMetaModelContext().getConfiguration().getViewer().getRestfulobjects().isSuppressMemberDisabledReason();
- }
-
@Override
public String restfulUrlFor(final @NonNull String url) {
return restfulAbsoluteBase + url;
@@ -294,5 +254,4 @@ implements IResourceContext {
@Setter //(onMethod = @__(@Override))
private ObjectAdapterLinkTo objectAdapterLinkTo;
-
}
diff --git
a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/UserResourceServerside.java
b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/UserResourceServerside.java
index 647ac0bc08..be36841fb5 100644
---
a/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/UserResourceServerside.java
+++
b/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/resources/UserResourceServerside.java
@@ -32,7 +32,6 @@ import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.services.iactnlayer.InteractionLayerTracker;
import org.apache.isis.core.config.IsisConfiguration;
import org.apache.isis.core.metamodel.context.MetaModelContext;
-import
org.apache.isis.core.security.authentication.manager.AuthenticationManager;
import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.RepresentationType;
import org.apache.isis.viewer.restfulobjects.applib.RestfulMediaType;
@@ -113,19 +112,15 @@ public class UserResourceServerside extends
ResourceAbstract implements UserReso
}
}
- private void logout(ResourceContext resourceContext) {
-
+ private void logout(final ResourceContext resourceContext) {
val interactionService = resourceContext.getInteractionService();
- val interactionLayerTracker =
resourceContext.getInteractionLayerTracker();
- val authenticationManager =
resourceContext.getMetaModelContext().getServiceRegistry().lookupServiceElseFail(AuthenticationManager.class);
+ val authenticationManager = resourceContext.getAuthenticationManager();
- interactionLayerTracker
+ interactionService
.currentInteractionContext()
.ifPresent(interactionContext->{
-
authenticationManager.closeSession(interactionContext);
interactionService.closeInteractionLayers();
-
});
}