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 2019/11/04 18:26:53 UTC
[isis] branch v2 updated: ISIS-2158: work towards removal of
ObjectAdpaterProvider
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/v2 by this push:
new 787cf43 ISIS-2158: work towards removal of ObjectAdpaterProvider
787cf43 is described below
commit 787cf436cb3dfb5a83b8ade56f754030a1a1c6f7
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Nov 4 19:26:38 2019 +0100
ISIS-2158: work towards removal of ObjectAdpaterProvider
- removes responsibility of service-adapter-lookup from
ObjectAdpaterProvider
---
.../apache/isis/metamodel/MetaModelContext.java | 18 ++---
.../isis/metamodel/MetaModelContext_usingIoc.java | 45 +++++--------
.../metamodel/adapter/ObjectAdapterProvider.java | 35 +---------
...ObjectFacetDeclarativeInitializingAbstract.java | 4 +-
.../metamodel/objectmanager/ObjectManager.java | 17 +++--
.../metamodel/MetaModelContext_forTesting.java | 8 +--
...ObjectAdapterContext_ObjectAdapterProvider.java | 50 --------------
.../rendering/ReprRendererAbstract.java | 2 +-
.../rendering/domainobjects/ListReprRenderer.java | 7 +-
.../resources/DomainServiceResourceServerside.java | 2 +-
.../server/resources/HomePageReprRenderer.java | 76 ++++++++++++++++++----
.../wicket/model/models/ServiceActionsModel.java | 4 +-
12 files changed, 115 insertions(+), 153 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContext.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContext.java
index 3853853..4fda9f9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContext.java
@@ -29,7 +29,6 @@ import org.apache.isis.applib.services.xactn.TransactionService;
import org.apache.isis.applib.services.xactn.TransactionState;
import org.apache.isis.commons.internal.environment.IsisSystemEnvironment;
import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.objectmanager.ObjectManager;
import org.apache.isis.metamodel.services.homepage.HomePageAction;
import org.apache.isis.metamodel.spec.ManagedObject;
@@ -87,14 +86,9 @@ public interface MetaModelContext {
HomePageAction getHomePageAction();
- @Deprecated
- Stream<ObjectAdapter> streamServiceAdapters();
-
- default Stream<ManagedObject> streamServiceAdapters2() {
- return streamServiceAdapters().map(ManagedObject.class::cast);
- }
+ Stream<ManagedObject> streamServiceAdapters();
- ObjectAdapter lookupServiceAdapterById(String serviceId);
+ ManagedObject lookupServiceAdapterById(String serviceId);
<T> T getSingletonElseFail(Class<T> type);
@@ -189,13 +183,13 @@ public interface MetaModelContext {
return getMetaModelContext().getTransactionService();
}
- @Override @Deprecated
- public default Stream<ObjectAdapter> streamServiceAdapters() {
+ @Override
+ public default Stream<ManagedObject> streamServiceAdapters() {
return getMetaModelContext().streamServiceAdapters();
}
- @Override @Deprecated
- default ObjectAdapter lookupServiceAdapterById(String serviceId) {
+ @Override
+ default ManagedObject lookupServiceAdapterById(String serviceId) {
return getMetaModelContext().lookupServiceAdapterById(serviceId);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContext_usingIoc.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContext_usingIoc.java
index 8335849..3d2eeb5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContext_usingIoc.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/MetaModelContext_usingIoc.java
@@ -34,14 +34,13 @@ import org.apache.isis.commons.internal.base._Lazy;
import org.apache.isis.commons.internal.environment.IsisSystemEnvironment;
import org.apache.isis.commons.internal.exceptions._Exceptions;
import org.apache.isis.commons.internal.ioc.IocContainer;
+import org.apache.isis.commons.internal.ioc.ManagedBeanAdapter;
import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.metamodel.adapter.ObjectAdapterProvider;
import org.apache.isis.metamodel.objectmanager.ObjectManager;
import org.apache.isis.metamodel.services.ServiceUtil;
import org.apache.isis.metamodel.services.homepage.HomePageAction;
import org.apache.isis.metamodel.services.homepage.HomePageResolverService;
-import org.apache.isis.metamodel.services.persistsession.PersistenceSessionServiceInternal;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.specloader.SpecificationLoader;
import org.apache.isis.security.authentication.AuthenticationSessionProvider;
@@ -59,10 +58,6 @@ class MetaModelContext_usingIoc implements MetaModelContext {
this.iocContainer = iocContainer;
}
-// @Getter(lazy=true)
-// private final IsisConfigurationLegacy configurationLegacy =
-// _Config.getConfiguration();
-
@Getter(lazy=true)
private final IsisSystemEnvironment systemEnvironment =
getSingletonElseFail(IsisSystemEnvironment.class);
@@ -72,10 +67,6 @@ class MetaModelContext_usingIoc implements MetaModelContext {
getSingletonElseFail(IsisConfiguration.class);
@Getter(lazy=true)
- private final ObjectAdapterProvider objectAdapterProvider =
- getSingletonElseFail(PersistenceSessionServiceInternal.class);
-
- @Getter(lazy=true)
private final ServiceInjector serviceInjector =
getSingletonElseFail(ServiceInjector.class);
@@ -138,12 +129,12 @@ class MetaModelContext_usingIoc implements MetaModelContext {
// -- SERVICE SUPPORT
@Override
- public Stream<ObjectAdapter> streamServiceAdapters() {
+ public Stream<ManagedObject> streamServiceAdapters() {
return objectAdaptersForBeansOfKnownSort.get().values().stream();
}
@Override
- public ObjectAdapter lookupServiceAdapterById(final String serviceId) {
+ public ManagedObject lookupServiceAdapterById(final String serviceId) {
return objectAdaptersForBeansOfKnownSort.get().get(serviceId);
}
@@ -162,29 +153,27 @@ class MetaModelContext_usingIoc implements MetaModelContext {
// -- HELPER
- private final _Lazy<Map<String, ObjectAdapter>> objectAdaptersForBeansOfKnownSort =
+ private final _Lazy<Map<String, ManagedObject>> objectAdaptersForBeansOfKnownSort =
_Lazy.threadSafe(this::collectBeansOfKnownSort);
- private Map<String, ObjectAdapter> collectBeansOfKnownSort() {
-
- val objectAdapterProvider = getObjectAdapterProvider();
+ private Map<String, ManagedObject> collectBeansOfKnownSort() {
return getServiceRegistry()
.streamRegisteredBeans()
- .map(objectAdapterProvider::adapterForBean)
- .peek(this::guardAgainsTransient)
+ .map(this::toManagedObject)
.collect(Collectors.toMap(ServiceUtil::idOfAdapter, v->v, (o,n)->n, LinkedHashMap::new));
}
-
- private void guardAgainsTransient(ObjectAdapter objectAdapter) {
- val oid = objectAdapter.getOid();
- if(oid.isTransient()) {
- val msg = "ObjectAdapter for 'Bean' is expected not to be 'transient' " + oid;
- throw _Exceptions.unrecoverable(msg);
- }
+
+ private ManagedObject toManagedObject(ManagedBeanAdapter managedBeanAdapter) {
+
+ val servicePojo = managedBeanAdapter.getInstance().getFirst()
+ .orElseThrow(()->_Exceptions.unrecoverableFormatted(
+ "Cannot get service instance of type '%s'",
+ managedBeanAdapter.getBeanClass()));
+
+ return ManagedObject.of(getSpecificationLoader()::loadSpecification, servicePojo);
+
}
-
-
}
\ No newline at end of file
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/ObjectAdapterProvider.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/ObjectAdapterProvider.java
index 413a88c..1249822 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/ObjectAdapterProvider.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/adapter/ObjectAdapterProvider.java
@@ -18,11 +18,8 @@
*/
package org.apache.isis.metamodel.adapter;
-import java.util.stream.Stream;
-
import javax.annotation.Nullable;
-import org.apache.isis.commons.internal.ioc.ManagedBeanAdapter;
import org.apache.isis.metamodel.adapter.oid.Oid;
import org.apache.isis.metamodel.adapter.oid.RootOid;
import org.apache.isis.metamodel.spec.ManagedObject;
@@ -53,7 +50,7 @@ public interface ObjectAdapterProvider {
*/
@Nullable ObjectAdapter adapterFor(@Nullable Object pojo);
- @Nullable ObjectAdapter adapterForBean(@Nullable ManagedBeanAdapter beanAdapter);
+ //@Nullable ObjectAdapter adapterForBean(@Nullable ManagedBeanAdapter beanAdapter);
/**
* @return collection adapter.
@@ -98,14 +95,6 @@ public interface ObjectAdapterProvider {
*/
ObjectAdapter newTransientInstance(ObjectSpecification objectSpec);
- // @Nullable ObjectAdapter recreateViewModelInstance(ObjectSpecification objectSpec, @Nullable final String memento);
-
- // -- SERVICE LOOKUP
-
- Stream<ObjectAdapter> streamServices();
- ObjectAdapter lookupService(String serviceId);
-
-
// -- FOR THOSE THAT IMPLEMENT THROUGH DELEGATION
public static interface Delegating extends ObjectAdapterProvider {
@@ -118,11 +107,6 @@ public interface ObjectAdapterProvider {
}
@Override
- default ObjectAdapter adapterForBean(ManagedBeanAdapter bean) {
- return getObjectAdapterProvider().adapterForBean(bean);
- }
-
- @Override
default ObjectAdapter adapterForCollection(
final Object pojo,
final RootOid parentOid,
@@ -151,23 +135,6 @@ public interface ObjectAdapterProvider {
return getObjectAdapterProvider().newTransientInstance(objectSpec);
}
-
- // default ObjectAdapter recreateViewModelInstance(ObjectSpecification objectSpec, final String memento) {
- // return getObjectAdapterProvider().recreateViewModelInstance(objectSpec, memento);
- // }
-
-
- @Override
- default Stream<ObjectAdapter> streamServices() {
- return getObjectAdapterProvider().streamServices();
- }
-
- @Override
- default ObjectAdapter lookupService(String serviceId) {
- return getObjectAdapterProvider().lookupService(serviceId);
- }
-
-
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/recreatable/RecreatableObjectFacetDeclarativeInitializingAbstract.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/recreatable/RecreatableObjectFacetDeclarativeInitializingAbstract.java
index cd3ab74..42785bc 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/recreatable/RecreatableObjectFacetDeclarativeInitializingAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/recreatable/RecreatableObjectFacetDeclarativeInitializingAbstract.java
@@ -61,7 +61,7 @@ extends RecreatableObjectFacetAbstract {
}
val objectManager = super.getObjectManager();
- val spec = objectManager.loadSpec(viewModelPojo);
+ val spec = objectManager.loadSpecification(viewModelPojo);
val viewModelAdapter = ManagedObject.of(spec, viewModelPojo);
super.getServiceInjector().injectServicesInto(viewModelPojo);
@@ -88,7 +88,7 @@ extends RecreatableObjectFacetAbstract {
final _Mementos.Memento memento = newMemento();
val objectManager = super.getObjectManager();
- val spec = objectManager.loadSpec(viewModelPojo);
+ val spec = objectManager.loadSpecification(viewModelPojo);
/*
* ManagedObject that holds the ObjectSpecification used for
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/ObjectManager.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/ObjectManager.java
index 6da6947..c91c1d0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/ObjectManager.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/objectmanager/ObjectManager.java
@@ -18,6 +18,8 @@
*/
package org.apache.isis.metamodel.objectmanager;
+import javax.annotation.Nullable;
+
import org.apache.isis.metamodel.MetaModelContext;
import org.apache.isis.metamodel.objectmanager.ObjectLoader.ObjectLoadRequest;
import org.apache.isis.metamodel.spec.ManagedObject;
@@ -45,18 +47,25 @@ public interface ObjectManager {
return getObjectLoader().loadObject(objectLoadRequest);
}
- public default ManagedObject adapt(Object pojo) {
+ @Nullable
+ public default ManagedObject adapt(@Nullable Object pojo) {
if(pojo==null) {
return null; // don't propagate null into ManagedObject, null has no type
}
- return ManagedObject.of(getMetaModelContext().getSpecificationLoader()::loadSpecification, pojo);
+ return ManagedObject.of(this::loadSpecification, pojo);
}
- public default ObjectSpecification loadSpec(Object pojo) {
+ @Nullable
+ public default ObjectSpecification loadSpecification(@Nullable Object pojo) {
if(pojo==null) {
return null;
}
- return getMetaModelContext().getSpecificationLoader().loadSpecification(pojo.getClass());
+ return loadSpecification(pojo.getClass());
+ }
+
+ @Nullable
+ default ObjectSpecification loadSpecification(@Nullable final Class<?> domainType) {
+ return getMetaModelContext().getSpecificationLoader().loadSpecification(domainType);
}
}
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/MetaModelContext_forTesting.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/MetaModelContext_forTesting.java
index 753975f..ca09363 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/MetaModelContext_forTesting.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/MetaModelContext_forTesting.java
@@ -37,11 +37,11 @@ import org.apache.isis.commons.internal.environment.IsisSystemEnvironment;
import org.apache.isis.config.IsisConfiguration;
import org.apache.isis.config.beans.IsisBeanTypeRegistryHolder;
import org.apache.isis.config.registry.types.IsisBeanTypeRegistry;
-import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.objectmanager.ObjectManager;
import org.apache.isis.metamodel.progmodel.ProgrammingModel;
import org.apache.isis.metamodel.services.events.MetamodelEventService;
import org.apache.isis.metamodel.services.homepage.HomePageAction;
+import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.specloader.SpecificationLoader;
import org.apache.isis.metamodel.specloader.SpecificationLoaderDefault;
@@ -110,7 +110,7 @@ public final class MetaModelContext_forTesting implements MetaModelContext {
private IsisBeanTypeRegistryHolder isisBeanTypeRegistryHolder;
- private Map<String, ObjectAdapter> serviceAdaptersById;
+ private Map<String, ManagedObject> serviceAdaptersById;
@Singular
private List<Object> singletons;
@@ -126,7 +126,7 @@ public final class MetaModelContext_forTesting implements MetaModelContext {
}
@Override
- public Stream<ObjectAdapter> streamServiceAdapters() {
+ public Stream<ManagedObject> streamServiceAdapters() {
if(serviceAdaptersById==null) {
return Stream.empty();
@@ -135,7 +135,7 @@ public final class MetaModelContext_forTesting implements MetaModelContext {
}
@Override
- public ObjectAdapter lookupServiceAdapterById(String serviceId) {
+ public ManagedObject lookupServiceAdapterById(String serviceId) {
if(serviceAdaptersById==null) {
return null;
}
diff --git a/core/plugins/jdo/common/src/main/java/org/apache/isis/jdo/objectadapter/ObjectAdapterContext_ObjectAdapterProvider.java b/core/plugins/jdo/common/src/main/java/org/apache/isis/jdo/objectadapter/ObjectAdapterContext_ObjectAdapterProvider.java
index 43cce2d..2e7d56e 100644
--- a/core/plugins/jdo/common/src/main/java/org/apache/isis/jdo/objectadapter/ObjectAdapterContext_ObjectAdapterProvider.java
+++ b/core/plugins/jdo/common/src/main/java/org/apache/isis/jdo/objectadapter/ObjectAdapterContext_ObjectAdapterProvider.java
@@ -18,24 +18,14 @@
*/
package org.apache.isis.jdo.objectadapter;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import org.apache.isis.commons.internal.assertions._Assert;
-import org.apache.isis.commons.internal.base._Lazy;
-import org.apache.isis.commons.internal.ioc.ManagedBeanAdapter;
import org.apache.isis.metamodel.adapter.ObjectAdapter;
import org.apache.isis.metamodel.adapter.ObjectAdapterProvider;
import org.apache.isis.metamodel.adapter.oid.RootOid;
import org.apache.isis.metamodel.adapter.oid.factory.OidFactory;
-import org.apache.isis.metamodel.services.ServiceUtil;
import org.apache.isis.metamodel.spec.ManagedObject;
import org.apache.isis.metamodel.spec.ObjectSpecification;
import org.apache.isis.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.metamodel.specloader.SpecificationLoader;
-import org.apache.isis.runtime.persistence.adapter.ObjectAdapterForBean;
import org.apache.isis.runtime.system.context.session.RuntimeContext;
import org.apache.isis.runtime.system.persistence.PersistenceSession;
@@ -53,7 +43,6 @@ import lombok.val;
class ObjectAdapterContext_ObjectAdapterProvider implements ObjectAdapterProvider {
private final ObjectAdapterContext objectAdapterContext;
- private final RuntimeContext runtimeContext;
private final SpecificationLoader specificationLoader;
private final OidFactory oidFactory;
@@ -63,7 +52,6 @@ class ObjectAdapterContext_ObjectAdapterProvider implements ObjectAdapterProvide
RuntimeContext runtimeContext) {
this.objectAdapterContext = objectAdapterContext;
- this.runtimeContext = runtimeContext;
this.specificationLoader = runtimeContext.getSpecificationLoader();
this.oidFactory = OidFactory.buildDefault();
}
@@ -81,12 +69,6 @@ class ObjectAdapterContext_ObjectAdapterProvider implements ObjectAdapterProvide
}
@Override
- public ObjectAdapter adapterForBean(ManagedBeanAdapter bean) {
- return ObjectAdapterForBean.of(bean, specificationLoader);
- }
-
-
- @Override
public ObjectAdapter adapterForCollection(Object pojo, RootOid parentOid, OneToManyAssociation collection) {
requires(parentOid, "parentOid");
@@ -123,37 +105,5 @@ class ObjectAdapterContext_ObjectAdapterProvider implements ObjectAdapterProvide
return objectAdapterContext.objectCreationMixin.newInstance(objectSpec);
}
- // @Override
- // public ObjectAdapter recreateViewModelInstance(ObjectSpecification objectSpec, final String memento) {
- // return objectAdapterContext.objectCreationMixin.recreateInstance(objectSpec, memento);
- // }
-
- // -- SERVICE SUPPORT
-
- @Override
- public Stream<ObjectAdapter> streamServices() {
- return serviceAdapters.get().values().stream();
- }
-
- @Override
- public ObjectAdapter lookupService(final String serviceId) {
- return serviceAdapters.get().get(serviceId);
- }
-
-
- // -- HELPER
-
- private final _Lazy<Map<String, ObjectAdapter>> serviceAdapters = _Lazy.of(this::initServiceAdapters);
-
- private Map<String, ObjectAdapter> initServiceAdapters() {
-
- return runtimeContext.getServiceRegistry().streamRegisteredBeans()
- .map(this::adapterForBean)
- .peek(serviceAdapter->{
- _Assert.assertFalse("expected to not be 'transient'", serviceAdapter.getOid().isTransient());
- })
- .collect(Collectors.toMap(ServiceUtil::idOfAdapter, v->v, (o,n)->n, LinkedHashMap::new));
- }
-
}
\ No newline at end of file
diff --git a/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java b/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java
index 4b5fcbc..ea4e606 100644
--- a/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java
+++ b/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/ReprRendererAbstract.java
@@ -209,7 +209,7 @@ implements ReprRenderer<R, T> {
protected Stream<ManagedObject> streamServiceAdapters() {
val metaModelContext = resourceContext.getMetaModelContext();
- return metaModelContext.streamServiceAdapters2();
+ return metaModelContext.streamServiceAdapters();
}
}
diff --git a/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ListReprRenderer.java b/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ListReprRenderer.java
index ef24b3c..cffeb3f 100644
--- a/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ListReprRenderer.java
+++ b/core/viewer-restfulobjects/rendering/src/main/java/org/apache/isis/viewer/restfulobjects/rendering/domainobjects/ListReprRenderer.java
@@ -105,8 +105,11 @@ public class ListReprRenderer extends ReprRendererAbstract<ListReprRenderer, Str
final LinkFollowSpecs linkFollower = getLinkFollowSpecs().follow("value");
if (linkFollower.matches(linkToObject)) {
- final DomainObjectReprRenderer renderer = new DomainObjectReprRenderer(getResourceContext(), linkFollower, JsonRepresentation.newMap()
- );
+ final DomainObjectReprRenderer renderer =
+ new DomainObjectReprRenderer(
+ getResourceContext(),
+ linkFollower,
+ JsonRepresentation.newMap());
final JsonRepresentation domainObject = renderer.with(adapter).render();
linkToObject.mapPut("value", domainObject);
}
diff --git a/core/viewer-restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainServiceResourceServerside.java b/core/viewer-restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainServiceResourceServerside.java
index 95469ad..988f6d3 100644
--- a/core/viewer-restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainServiceResourceServerside.java
+++ b/core/viewer-restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/DomainServiceResourceServerside.java
@@ -76,7 +76,7 @@ public class DomainServiceResourceServerside extends ResourceAbstract implements
val metaModelContext = super.getResourceContext().getMetaModelContext();
- final Stream<ManagedObject> serviceAdapters = metaModelContext.streamServiceAdapters2()
+ final Stream<ManagedObject> serviceAdapters = metaModelContext.streamServiceAdapters()
.filter(NATURE_REST_ALSO);
final DomainServicesListReprRenderer renderer = new DomainServicesListReprRenderer(getResourceContext(), null, JsonRepresentation.newMap());
diff --git a/core/viewer-restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/HomePageReprRenderer.java b/core/viewer-restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/HomePageReprRenderer.java
index 1e5bec5..1690b5c 100644
--- a/core/viewer-restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/HomePageReprRenderer.java
+++ b/core/viewer-restfulobjects/server/src/main/java/org/apache/isis/viewer/restfulobjects/server/resources/HomePageReprRenderer.java
@@ -60,7 +60,7 @@ public class HomePageReprRenderer extends ReprRendererAbstract<HomePageReprRende
addLinkToUser(getResourceContext().getAuthenticationSession());
addLinkToMenuBars();
- addLinkToServices(metaModelContext.streamServiceAdapters2());
+ addLinkToServices(metaModelContext.streamServiceAdapters());
addLinkToVersion();
addLinkToDomainTypes(getResourceContext().getSpecificationLoader().snapshotSpecifications());
@@ -71,18 +71,32 @@ public class HomePageReprRenderer extends ReprRendererAbstract<HomePageReprRende
}
private void addLinkToSelf() {
- final JsonRepresentation link = LinkBuilder.newBuilder(resourceContext, Rel.SELF.getName(), RepresentationType.HOME_PAGE, "").build();
+ final JsonRepresentation link = LinkBuilder.newBuilder(
+ resourceContext,
+ Rel.SELF.getName(),
+ RepresentationType.HOME_PAGE,
+ "")
+ .build();
final LinkFollowSpecs linkFollower = getLinkFollowSpecs().follow("links");
if (linkFollower.matches(link)) {
- final HomePageReprRenderer renderer = new HomePageReprRenderer(getResourceContext(), linkFollower, JsonRepresentation.newMap());
+ final HomePageReprRenderer renderer = new HomePageReprRenderer(
+ getResourceContext(),
+ linkFollower,
+ JsonRepresentation.newMap());
+
link.mapPut("value", renderer.render());
}
getLinks().arrayAdd(link);
}
private void addLinkToVersion() {
- final JsonRepresentation link = LinkBuilder.newBuilder(getResourceContext(), Rel.VERSION.getName(), RepresentationType.VERSION, "version").build();
+ final JsonRepresentation link = LinkBuilder.newBuilder(
+ getResourceContext(),
+ Rel.VERSION.getName(),
+ RepresentationType.VERSION,
+ "version")
+ .build();
final LinkFollowSpecs linkFollower = getLinkFollowSpecs().follow("links");
if (linkFollower.matches(link)) {
@@ -95,13 +109,25 @@ public class HomePageReprRenderer extends ReprRendererAbstract<HomePageReprRende
private void addLinkToServices(Stream<ManagedObject> serviceAdapters) {
- final JsonRepresentation link = LinkBuilder.newBuilder(getResourceContext(), Rel.SERVICES.getName(), RepresentationType.LIST, "services").build();
+ final JsonRepresentation link = LinkBuilder.newBuilder(
+ getResourceContext(),
+ Rel.SERVICES.getName(),
+ RepresentationType.LIST,
+ "services")
+ .build();
final LinkFollowSpecs linkFollowSpecs = getLinkFollowSpecs().follow("links");
if (linkFollowSpecs.matches(link)) {
- final ListReprRenderer renderer = new ListReprRenderer(getResourceContext(), linkFollowSpecs, JsonRepresentation.newMap());
- renderer.usingLinkToBuilder(new DomainServiceLinkTo()).withLink(Rel.SELF, "services").with(serviceAdapters);
+ final ListReprRenderer renderer =
+ new ListReprRenderer(
+ getResourceContext(),
+ linkFollowSpecs,
+ JsonRepresentation.newMap());
+
+ renderer.usingLinkToBuilder(new DomainServiceLinkTo())
+ .withLink(Rel.SELF, "services")
+ .with(serviceAdapters);
link.mapPut("value", renderer.render());
}
@@ -110,11 +136,20 @@ public class HomePageReprRenderer extends ReprRendererAbstract<HomePageReprRende
}
private void addLinkToUser(AuthenticationSession authenticationSession) {
- final JsonRepresentation link = LinkBuilder.newBuilder(getResourceContext(), Rel.USER.getName(), RepresentationType.USER, "user").build();
+ final JsonRepresentation link = LinkBuilder.newBuilder(
+ getResourceContext(),
+ Rel.USER.getName(),
+ RepresentationType.USER,
+ "user")
+ .build();
final LinkFollowSpecs linkFollower = getLinkFollowSpecs().follow("links");
if (linkFollower.matches(link)) {
- final UserReprRenderer renderer = new UserReprRenderer(getResourceContext(), linkFollower, JsonRepresentation.newMap());
+ final UserReprRenderer renderer = new UserReprRenderer(
+ getResourceContext(),
+ linkFollower,
+ JsonRepresentation.newMap());
+
renderer.with(authenticationSession);
link.mapPut("value", renderer.render());
}
@@ -123,18 +158,33 @@ public class HomePageReprRenderer extends ReprRendererAbstract<HomePageReprRende
}
private void addLinkToMenuBars() {
- final JsonRepresentation link = LinkBuilder
- .newBuilder(getResourceContext(), Rel.MENUBARS.getName(), RepresentationType.MENUBARS, "menuBars").build();
+ final JsonRepresentation link = LinkBuilder.newBuilder(
+ getResourceContext(),
+ Rel.MENUBARS.getName(),
+ RepresentationType.MENUBARS,
+ "menuBars")
+ .build();
+
getLinks().arrayAdd(link);
}
private void addLinkToDomainTypes(final Collection<ObjectSpecification> specifications) {
- final JsonRepresentation link = LinkBuilder.newBuilder(getResourceContext(), Rel.DOMAIN_TYPES.getName(), RepresentationType.TYPE_LIST, "domain-types").build();
+ final JsonRepresentation link =
+ LinkBuilder.newBuilder(
+ getResourceContext(),
+ Rel.DOMAIN_TYPES.getName(),
+ RepresentationType.TYPE_LIST,
+ "domain-types")
+ .build();
final LinkFollowSpecs linkFollower = getLinkFollowSpecs().follow("links");
if (linkFollower.matches(link)) {
- final TypeListReprRenderer renderer = new TypeListReprRenderer(getResourceContext(), linkFollower, JsonRepresentation.newMap());
+ final TypeListReprRenderer renderer = new TypeListReprRenderer(
+ getResourceContext(),
+ linkFollower,
+ JsonRepresentation.newMap());
+
renderer.withLink(Rel.SELF, "domain-types").with(specifications);
link.mapPut("value", renderer.render());
}
diff --git a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ServiceActionsModel.java b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ServiceActionsModel.java
index 56b78c3..db0dc74 100644
--- a/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ServiceActionsModel.java
+++ b/core/viewer-wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ServiceActionsModel.java
@@ -63,8 +63,8 @@ public class ServiceActionsModel extends ModelAbstract<List<ManagedObject>> {
private static Predicate<ManagedObject> with(final DomainServiceLayout.MenuBar menuBar) {
return (ManagedObject adapter) -> {
- val domainServiceLayoutFacet = adapter.getSpecification().getFacet
- (DomainServiceLayoutFacet.class);
+ val domainServiceLayoutFacet = adapter.getSpecification()
+ .getFacet(DomainServiceLayoutFacet.class);
return (domainServiceLayoutFacet != null && domainServiceLayoutFacet.getMenuBar() == menuBar) ||
(domainServiceLayoutFacet == null && menuBar == DomainServiceLayout.MenuBar.PRIMARY);
};