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/05 13:03:12 UTC
[isis] branch master updated: ISIS-2183: removes some plugins
(ServiceLoader)
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 3f28867 ISIS-2183: removes some plugins (ServiceLoader)
3f28867 is described below
commit 3f28867219f35b36515c306a3795038635a3d4c4
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Jan 5 14:03:02 2020 +0100
ISIS-2183: removes some plugins (ServiceLoader)
- UriBuilderPlugin ... obsolete since UriBuilder provides the same
functionality
- IsisJaxrsServerPlugin ... converted to a managed bean (service)
---
.../applib/client/ClientExecutor.java | 3 +-
.../applib/client/ClientRequestConfigurer.java | 10 +++--
.../applib/client/UriBuilderPlugin.java | 43 ----------------------
....java => IsisJaxrsUtilityServiceResteasy4.java} | 19 ++++------
.../IsisModuleRestfulObjectsJaxrsResteasy4.java | 1 +
...wer.restfulobjects.viewer.IsisJaxrsServerPlugin | 1 -
...verPlugin.java => IsisJaxrsUtilityService.java} | 25 ++++---------
.../viewer/IsisModuleRestfulObjectsViewer.java | 2 +-
.../viewer/mappers/ExceptionMapperAbstract.java | 6 ++-
.../mappers/ExceptionMapperForObjectNotFound.java | 9 ++++-
...xceptionMapperForRestfulObjectsApplication.java | 14 +++++--
.../ExceptionMapperForRuntimeException.java | 9 +++++
...tsApplicationExceptionMapper_Test_Contract.java | 7 ++++
.../demo/src/main/java/demoapp/webapp/DemoApp.java | 4 ++
14 files changed, 67 insertions(+), 86 deletions(-)
diff --git a/core/viewers/restfulobjects/applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/ClientExecutor.java b/core/viewers/restfulobjects/applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/ClientExecutor.java
index dbcc870..b61bef8 100644
--- a/core/viewers/restfulobjects/applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/ClientExecutor.java
+++ b/core/viewers/restfulobjects/applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/ClientExecutor.java
@@ -39,6 +39,7 @@ public interface ClientExecutor {
WebTarget webTarget(URI baseUri);
static ClientExecutor of(final Client client) {
+
return new ClientExecutor() {
@Override
@@ -55,7 +56,7 @@ public interface ClientExecutor {
// TODO [andi-huber] just a wild guess
private String method = "get";
-
+
@Override
public String getHttpMethod() {
return method;
diff --git a/core/viewers/restfulobjects/applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/ClientRequestConfigurer.java b/core/viewers/restfulobjects/applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/ClientRequestConfigurer.java
index 96b8779..d9262ce 100644
--- a/core/viewers/restfulobjects/applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/ClientRequestConfigurer.java
+++ b/core/viewers/restfulobjects/applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/ClientRequestConfigurer.java
@@ -28,6 +28,8 @@ import org.apache.isis.viewer.restfulobjects.applib.RestfulHttpMethod;
import org.apache.isis.viewer.restfulobjects.applib.client.RestfulRequest.RequestParameter;
import org.apache.isis.viewer.restfulobjects.applib.util.UrlEncodingUtils;
+import lombok.val;
+
/**
* Configures the body, query string etc of a {@link ClientRequest}.
*
@@ -42,10 +44,10 @@ public class ClientRequestConfigurer {
public static ClientRequestConfigurer create(
final ClientExecutor executor,
- final String uriTemplate)
- {
- final UriBuilder uriBuilder = UriBuilderPlugin.get().uriTemplate(uriTemplate);
- final ClientRequest clientRequest = executor.createRequest(uriBuilder);
+ final String uriTemplate) {
+
+ val uriBuilder = UriBuilder.fromUri(uriTemplate);
+ val clientRequest = executor.createRequest(uriBuilder);
return new ClientRequestConfigurer(clientRequest, uriBuilder);
}
diff --git a/core/viewers/restfulobjects/applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/UriBuilderPlugin.java b/core/viewers/restfulobjects/applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/UriBuilderPlugin.java
deleted file mode 100644
index 2b5863b..0000000
--- a/core/viewers/restfulobjects/applib/src/main/java/org/apache/isis/viewer/restfulobjects/applib/client/UriBuilderPlugin.java
+++ /dev/null
@@ -1,43 +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.viewer.restfulobjects.applib.client;
-
-import javax.ws.rs.core.UriBuilder;
-
-import org.apache.isis.commons.internal.context._Plugin;
-
-public interface UriBuilderPlugin {
-
- // -- INTERFACE
-
- public UriBuilder uriTemplate(String uriTemplate);
-
- // -- LOOKUP
-
- public static UriBuilderPlugin get() {
- return _Plugin.getOrElse(UriBuilderPlugin.class,
- ambiguousPlugins->{
- throw _Plugin.ambiguityNonRecoverable(UriBuilderPlugin.class, ambiguousPlugins);
- },
- ()->{
- throw _Plugin.absenceNonRecoverable(UriBuilderPlugin.class);
- });
- }
-
-}
diff --git a/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisResteasy4Plugin.java b/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisJaxrsUtilityServiceResteasy4.java
similarity index 73%
rename from core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisResteasy4Plugin.java
rename to core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisJaxrsUtilityServiceResteasy4.java
index fefffe1..13d8c98 100644
--- a/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisResteasy4Plugin.java
+++ b/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisJaxrsUtilityServiceResteasy4.java
@@ -18,23 +18,18 @@
*/
package org.apache.isis.viewer.restfulobjects.jaxrsresteasy4;
-import javax.ws.rs.core.UriBuilder;
-
-import org.jboss.resteasy.specimpl.ResteasyUriBuilderImpl;
import org.jboss.resteasy.spi.Failure;
+import org.springframework.stereotype.Service;
import org.apache.isis.viewer.restfulobjects.applib.client.RestfulResponse;
import org.apache.isis.viewer.restfulobjects.applib.client.RestfulResponse.HttpStatusCode;
-import org.apache.isis.viewer.restfulobjects.applib.client.UriBuilderPlugin;
-import org.apache.isis.viewer.restfulobjects.viewer.IsisJaxrsServerPlugin;
-
-public class IsisResteasy4Plugin implements UriBuilderPlugin, IsisJaxrsServerPlugin {
-
- @Override
- public UriBuilder uriTemplate(String uriTemplate) {
- return new ResteasyUriBuilderImpl().uriTemplate(uriTemplate);
- }
+import org.apache.isis.viewer.restfulobjects.viewer.IsisJaxrsUtilityService;
+/**
+ * @since 2.0
+ */
+@Service
+public class IsisJaxrsUtilityServiceResteasy4 implements IsisJaxrsUtilityService {
@Override
public HttpStatusCode getFailureStatusCodeIfAny(Throwable ex) {
diff --git a/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisModuleRestfulObjectsJaxrsResteasy4.java b/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisModuleRestfulObjectsJaxrsResteasy4.java
index c254076..5920701 100644
--- a/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisModuleRestfulObjectsJaxrsResteasy4.java
+++ b/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/java/org/apache/isis/viewer/restfulobjects/jaxrsresteasy4/IsisModuleRestfulObjectsJaxrsResteasy4.java
@@ -13,6 +13,7 @@ import org.apache.isis.viewer.restfulobjects.viewer.IsisModuleRestfulObjectsView
IsisModuleRestfulObjectsViewer.class,
// @Service's
+ IsisJaxrsUtilityServiceResteasy4.class,
WebModuleJaxrsResteasy4.class,
// @Component's
diff --git a/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/resources/META-INF/services/org.apache.isis.viewer.restfulobjects.viewer.IsisJaxrsServerPlugin b/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/resources/META-INF/services/org.apache.isis.viewer.restfulobjects.viewer.IsisJaxrsServerPlugin
deleted file mode 100644
index 1dffdb1..0000000
--- a/core/viewers/restfulobjects/jaxrs-resteasy-4/src/main/resources/META-INF/services/org.apache.isis.viewer.restfulobjects.viewer.IsisJaxrsServerPlugin
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.isis.viewer.restfulobjects.jaxrsresteasy4.IsisResteasy4Plugin
\ No newline at end of file
diff --git a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisJaxrsServerPlugin.java b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisJaxrsUtilityService.java
similarity index 60%
rename from core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisJaxrsServerPlugin.java
rename to core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisJaxrsUtilityService.java
index e889150..50b06f8 100644
--- a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisJaxrsServerPlugin.java
+++ b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisJaxrsUtilityService.java
@@ -18,26 +18,15 @@
*/
package org.apache.isis.viewer.restfulobjects.viewer;
-import org.apache.isis.commons.internal.context._Plugin;
import org.apache.isis.viewer.restfulobjects.applib.client.RestfulResponse.HttpStatusCode;
-// TODO: v2: to remove.
-public interface IsisJaxrsServerPlugin {
-
- // -- INTERFACE
-
- public HttpStatusCode getFailureStatusCodeIfAny(Throwable ex);
-
- // -- LOOKUP
+/**
+ * Replaces the former 'IsisJaxrsServerPlugin'.
+ *
+ * @since 2.0
+ */
+public interface IsisJaxrsUtilityService {
- public static IsisJaxrsServerPlugin get() {
- return _Plugin.getOrElse(IsisJaxrsServerPlugin.class,
- ambiguousPlugins->{
- throw _Plugin.ambiguityNonRecoverable(IsisJaxrsServerPlugin.class, ambiguousPlugins);
- },
- ()->{
- throw _Plugin.absenceNonRecoverable(IsisJaxrsServerPlugin.class);
- });
- }
+ HttpStatusCode getFailureStatusCodeIfAny(Throwable ex);
}
diff --git a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisModuleRestfulObjectsViewer.java b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisModuleRestfulObjectsViewer.java
index 6af208a..e030782 100644
--- a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisModuleRestfulObjectsViewer.java
+++ b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/IsisModuleRestfulObjectsViewer.java
@@ -47,7 +47,7 @@ import org.apache.isis.webapp.IsisModuleWebapp;
// modules
IsisModuleWebapp.class,
IsisModuleRestfulObjectsRendering.class,
-
+
// @Component's
HomePageResourceServerside.class,
DomainTypeResourceServerside.class,
diff --git a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/ExceptionMapperAbstract.java b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/ExceptionMapperAbstract.java
index 696fb7e..61f34d0 100644
--- a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/ExceptionMapperAbstract.java
+++ b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/ExceptionMapperAbstract.java
@@ -35,7 +35,7 @@ import org.apache.isis.viewer.restfulobjects.applib.RepresentationType;
import org.apache.isis.viewer.restfulobjects.applib.client.RestfulResponse;
import org.apache.isis.viewer.restfulobjects.rendering.ExceptionWithBody;
import org.apache.isis.viewer.restfulobjects.rendering.ExceptionWithHttpStatusCode;
-import org.apache.isis.viewer.restfulobjects.viewer.IsisJaxrsServerPlugin;
+import org.apache.isis.viewer.restfulobjects.viewer.IsisJaxrsUtilityService;
import org.apache.isis.viewer.restfulobjects.viewer.mappers.entity.ExceptionDetail;
import org.apache.isis.viewer.restfulobjects.viewer.mappers.entity.ExceptionPojo;
import org.apache.isis.viewer.restfulobjects.viewer.resources.serialization.SerializationStrategy;
@@ -86,11 +86,13 @@ public abstract class ExceptionMapperAbstract<T extends Throwable> implements Ex
return builder.build();
}
+ protected abstract IsisJaxrsUtilityService getIsisJaxrsUtilityService();
+
private RestfulResponse.HttpStatusCode determineStatusCode(final T ex) {
RestfulResponse.HttpStatusCode statusCode;
- statusCode = IsisJaxrsServerPlugin.get().getFailureStatusCodeIfAny(ex);
+ statusCode = getIsisJaxrsUtilityService().getFailureStatusCodeIfAny(ex);
if(statusCode!=null) {
return statusCode;
}
diff --git a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/ExceptionMapperForObjectNotFound.java b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/ExceptionMapperForObjectNotFound.java
index 2678a14..389d8dd 100644
--- a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/ExceptionMapperForObjectNotFound.java
+++ b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/ExceptionMapperForObjectNotFound.java
@@ -18,20 +18,27 @@
*/
package org.apache.isis.viewer.restfulobjects.viewer.mappers;
+import javax.inject.Inject;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.Provider;
import org.springframework.stereotype.Component;
import org.apache.isis.metamodel.exceptions.persistence.ObjectNotFoundException;
+import org.apache.isis.viewer.restfulobjects.viewer.IsisJaxrsUtilityService;
+
+import lombok.AccessLevel;
+import lombok.Getter;
@Component
@Provider
public class ExceptionMapperForObjectNotFound extends ExceptionMapperAbstract<ObjectNotFoundException> {
+ @Inject @Getter(onMethod = @__(@Override), value = AccessLevel.PROTECTED)
+ IsisJaxrsUtilityService isisJaxrsUtilityService;
+
@Override
public Response toResponse(final ObjectNotFoundException ex) {
-
return buildResponse(ex);
}
diff --git a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/ExceptionMapperForRestfulObjectsApplication.java b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/ExceptionMapperForRestfulObjectsApplication.java
index f2b7fb8..7841ada 100644
--- a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/ExceptionMapperForRestfulObjectsApplication.java
+++ b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/ExceptionMapperForRestfulObjectsApplication.java
@@ -18,22 +18,30 @@
*/
package org.apache.isis.viewer.restfulobjects.viewer.mappers;
+import javax.inject.Inject;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.Provider;
import org.springframework.stereotype.Component;
-import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.rendering.RestfulObjectsApplicationException;
+import org.apache.isis.viewer.restfulobjects.viewer.IsisJaxrsUtilityService;
+
+import lombok.AccessLevel;
+import lombok.Getter;
@Component
@Provider
public class ExceptionMapperForRestfulObjectsApplication extends ExceptionMapperAbstract<RestfulObjectsApplicationException> {
+ @Inject @Getter(onMethod = @__(@Override), value = AccessLevel.PROTECTED)
+ IsisJaxrsUtilityService isisJaxrsUtilityService;
+
@Override
public Response toResponse(final RestfulObjectsApplicationException ex) {
- final JsonRepresentation body = ex.getBody();
- final String bodyStr = body != null ? body.toString() : null;
+ //XXX code not used, so commented out
+ //final JsonRepresentation body = ex.getBody();
+ //final String bodyStr = body != null ? body.toString() : null;
return buildResponse(ex);
}
diff --git a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/ExceptionMapperForRuntimeException.java b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/ExceptionMapperForRuntimeException.java
index 7aff4b2..ebc7ba2 100644
--- a/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/ExceptionMapperForRuntimeException.java
+++ b/core/viewers/restfulobjects/viewer/src/main/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/ExceptionMapperForRuntimeException.java
@@ -18,15 +18,24 @@
*/
package org.apache.isis.viewer.restfulobjects.viewer.mappers;
+import javax.inject.Inject;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.Provider;
import org.springframework.stereotype.Component;
+import org.apache.isis.viewer.restfulobjects.viewer.IsisJaxrsUtilityService;
+
+import lombok.AccessLevel;
+import lombok.Getter;
+
@Component
@Provider
public class ExceptionMapperForRuntimeException extends ExceptionMapperAbstract<RuntimeException> {
+ @Inject @Getter(onMethod = @__(@Override), value = AccessLevel.PROTECTED)
+ IsisJaxrsUtilityService isisJaxrsUtilityService;
+
@Override
public Response toResponse(final RuntimeException ex) {
diff --git a/core/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/RestfulObjectsApplicationExceptionMapper_Test_Contract.java b/core/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/RestfulObjectsApplicationExceptionMapper_Test_Contract.java
index 6476c01..caf3e5e 100644
--- a/core/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/RestfulObjectsApplicationExceptionMapper_Test_Contract.java
+++ b/core/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/mappers/RestfulObjectsApplicationExceptionMapper_Test_Contract.java
@@ -36,6 +36,7 @@ import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
import org.apache.isis.viewer.restfulobjects.applib.client.RestfulResponse.HttpStatusCode;
import org.apache.isis.viewer.restfulobjects.applib.util.JsonMapper;
import org.apache.isis.viewer.restfulobjects.rendering.RestfulObjectsApplicationException;
+import org.apache.isis.viewer.restfulobjects.viewer.IsisJaxrsUtilityService;
/**
* contract test.
@@ -54,6 +55,12 @@ public abstract class RestfulObjectsApplicationExceptionMapper_Test_Contract {
public void setUp() throws Exception {
exceptionMapper = new ExceptionMapperForRestfulObjectsApplication();
exceptionMapper.httpHeaders = mockHttpHeaders;
+ exceptionMapper.isisJaxrsUtilityService = new IsisJaxrsUtilityService() {
+ @Override
+ public HttpStatusCode getFailureStatusCodeIfAny(Throwable ex) {
+ return null;
+ }
+ };
}
@Test
diff --git a/examples/demo/src/main/java/demoapp/webapp/DemoApp.java b/examples/demo/src/main/java/demoapp/webapp/DemoApp.java
index 25c8afb..b7bd88e 100644
--- a/examples/demo/src/main/java/demoapp/webapp/DemoApp.java
+++ b/examples/demo/src/main/java/demoapp/webapp/DemoApp.java
@@ -43,6 +43,7 @@ import org.apache.isis.extensions.sse.IsisModuleExtSse;
import org.apache.isis.incubator.model.metamodel.IsisModuleIncModelMetaModel;
import org.apache.isis.persistence.jdo.datanucleus5.IsisModuleJdoDataNucleus5;
import org.apache.isis.security.shiro.IsisModuleSecurityShiro;
+import org.apache.isis.viewer.restfulobjects.jaxrsresteasy4.IsisModuleRestfulObjectsJaxrsResteasy4;
import org.apache.isis.viewer.restfulobjects.viewer.IsisModuleRestfulObjectsViewer;
import org.apache.isis.viewer.wicket.viewer.IsisModuleWicketViewer;
import org.apache.isis.webboot.springboot.IsisModuleSpringBoot;
@@ -91,7 +92,10 @@ public class DemoApp extends SpringBootServletInitializer {
IsisModuleJdoDataNucleus5.class,
IsisModuleWicketViewer.class,
IsisModuleExtSse.class, // server sent events
+
+ // REST
IsisModuleRestfulObjectsViewer.class,
+ IsisModuleRestfulObjectsJaxrsResteasy4.class,
// Security Manager Extension (secman)
IsisModuleSecmanModel.class,