You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2022/01/23 11:16:05 UTC
[isis] branch ISIS-2947 updated: ISIS-2947: springboot graphql now called from demo app (and so fails, as no schemas defined).
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-2947
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/ISIS-2947 by this push:
new 23accbb ISIS-2947: springboot graphql now called from demo app (and so fails, as no schemas defined).
23accbb is described below
commit 23accbb5f81ecaa9c88aae51dd7b467b7c7671f0
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Sun Jan 23 11:15:36 2022 +0000
ISIS-2947: springboot graphql now called from demo app (and so fails, as no schemas defined).
---
core/pom.xml | 25 ++++++++++++++++----
examples/demo/web/pom.xml | 1 +
.../java/demoapp/web/DemoAppManifestCommon.java | 4 ++++
.../adoc/modules/graphql/pages/devnotes.adoc | 2 ++
.../viewer/IsisModuleIncViewerGraphqlViewer.java | 11 +++++----
.../GraphQlAutoConfiguration.java | 6 ++---
.../GraphQlCorsProperties.java | 2 +-
.../{webmodule => spring}/GraphQlProperties.java | 2 +-
.../GraphQlSourceBuilderCustomizer.java | 2 +-
.../GraphQlWebMvcAutoConfiguration.java | 2 +-
.../InvalidSchemaLocationsException.java | 2 +-
.../graphql/viewer/webmodule/MyGraphQlSource.java | 27 ----------------------
.../graphql/viewer/webmodule/MyWebInterceptor.java | 23 ------------------
mavendeps/webapp/pom.xml | 7 +++++-
14 files changed, 47 insertions(+), 69 deletions(-)
diff --git a/core/pom.xml b/core/pom.xml
index fbe73f5..07884ba 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -90,7 +90,7 @@
<assertj-guava.version>3.4.0</assertj-guava.version>
<camel.version>3.14.0</camel.version>
-
+
<commons-email.version>1.5</commons-email.version>
<commons-httpclient.version>4.5.12</commons-httpclient.version>
<commons-io.version>2.11.0</commons-io.version>
@@ -836,6 +836,21 @@
<version>2.0.0-SNAPSHOT</version>
</dependency>
<dependency>
+ <groupId>org.apache.isis.incubator.viewer</groupId>
+ <artifactId>isis-viewer-graphql-applib</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.incubator.viewer</groupId>
+ <artifactId>isis-viewer-graphql-model</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.isis.incubator.viewer</groupId>
+ <artifactId>isis-viewer-graphql-viewer</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.isis.mavendeps</groupId>
<artifactId>isis-mavendeps-unittests</artifactId>
<version>2.0.0-SNAPSHOT</version>
@@ -855,13 +870,13 @@
</dependency>
<!-- THIRD PARTY DEPENDENCIES -->
-
+
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>${asm.version}</version>
</dependency>
-
+
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-util</artifactId>
@@ -1050,7 +1065,7 @@
<version>${javax-servlet.version}</version>
</dependency>
- <!-- 3.2 not available yet, instead use org.datanucleus:javax.jdo
+ <!-- 3.2 not available yet, instead use org.datanucleus:javax.jdo
<dependency>
<groupId>javax.jdo</groupId>
<artifactId>jdo-api</artifactId>
@@ -1407,7 +1422,7 @@
<artifactId>objenesis</artifactId>
<version>${objenesis.version}</version>
</dependency>
-
+
<dependency>
<groupId>org.osgi</groupId>
<artifactId>osgi.core</artifactId>
diff --git a/examples/demo/web/pom.xml b/examples/demo/web/pom.xml
index 2837c30..251ef75 100644
--- a/examples/demo/web/pom.xml
+++ b/examples/demo/web/pom.xml
@@ -87,6 +87,7 @@
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
+
</dependencies>
</project>
diff --git a/examples/demo/web/src/main/java/demoapp/web/DemoAppManifestCommon.java b/examples/demo/web/src/main/java/demoapp/web/DemoAppManifestCommon.java
index a674afc..3f3f5af 100644
--- a/examples/demo/web/src/main/java/demoapp/web/DemoAppManifestCommon.java
+++ b/examples/demo/web/src/main/java/demoapp/web/DemoAppManifestCommon.java
@@ -33,6 +33,7 @@ import org.apache.isis.extensions.secman.encryption.spring.IsisModuleExtSecmanEn
import org.apache.isis.extensions.secman.integration.IsisModuleExtSecmanIntegration;
import org.apache.isis.extensions.viewer.wicket.exceldownload.ui.IsisModuleExtExcelDownloadUi;
import org.apache.isis.testing.h2console.ui.IsisModuleTestingH2ConsoleUi;
+import org.apache.isis.viewer.graphql.viewer.IsisModuleIncViewerGraphqlViewer;
import org.apache.isis.viewer.restfulobjects.jaxrsresteasy4.IsisModuleViewerRestfulObjectsJaxrsResteasy4;
import org.apache.isis.viewer.restfulobjects.viewer.IsisModuleViewerRestfulObjectsViewer;
@@ -62,6 +63,9 @@ import demoapp.web.security.PrototypeActionsVisibilityAdvisor;
IsisModuleViewerRestfulObjectsViewer.class,
IsisModuleViewerRestfulObjectsJaxrsResteasy4.class,
+ // GraphQL
+ IsisModuleIncViewerGraphqlViewer.class,
+
// CORS
IsisModuleExtCors.class,
diff --git a/incubator/viewers/graphql/adoc/modules/graphql/pages/devnotes.adoc b/incubator/viewers/graphql/adoc/modules/graphql/pages/devnotes.adoc
index 035e9a0..fa31e36 100644
--- a/incubator/viewers/graphql/adoc/modules/graphql/pages/devnotes.adoc
+++ b/incubator/viewers/graphql/adoc/modules/graphql/pages/devnotes.adoc
@@ -33,6 +33,8 @@ I find that IntelliJ can mess up with compiling applib as it depends on DTO clas
* include `isis-parent`
+* include `mavendeps/webapp`
+
* include `commons`
* include all of `core`
diff --git a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/IsisModuleIncViewerGraphqlViewer.java b/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/IsisModuleIncViewerGraphqlViewer.java
index db5a71f..df0b9e2 100644
--- a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/IsisModuleIncViewerGraphqlViewer.java
+++ b/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/IsisModuleIncViewerGraphqlViewer.java
@@ -1,15 +1,15 @@
package org.apache.isis.viewer.graphql.viewer;
-import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.apache.isis.viewer.graphql.model.IsisModuleIncViewerGraphqlModel;
-import org.apache.isis.viewer.graphql.viewer.webmodule.GraphQlAutoConfiguration;
-import org.apache.isis.viewer.graphql.viewer.webmodule.GraphQlCorsProperties;
-import org.apache.isis.viewer.graphql.viewer.webmodule.GraphQlProperties;
+import org.apache.isis.viewer.graphql.viewer.spring.GraphQlAutoConfiguration;
+import org.apache.isis.viewer.graphql.viewer.spring.GraphQlCorsProperties;
+import org.apache.isis.viewer.graphql.viewer.spring.GraphQlProperties;
+import org.apache.isis.viewer.graphql.viewer.spring.GraphQlWebMvcAutoConfiguration;
import org.apache.isis.viewer.graphql.viewer.webmodule.WebModuleGraphql;
@Configuration
@@ -21,7 +21,8 @@ import org.apache.isis.viewer.graphql.viewer.webmodule.WebModuleGraphql;
IsisModuleIncViewerGraphqlModel.class,
// autoconfigurations
- GraphQlAutoConfiguration.class
+ GraphQlAutoConfiguration.class,
+ GraphQlWebMvcAutoConfiguration.class
})
@EnableConfigurationProperties({
GraphQlProperties.class, GraphQlCorsProperties.class
diff --git a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/GraphQlAutoConfiguration.java b/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/GraphQlAutoConfiguration.java
similarity index 97%
rename from incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/GraphQlAutoConfiguration.java
rename to incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/GraphQlAutoConfiguration.java
index 9f43703..e070078 100644
--- a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/GraphQlAutoConfiguration.java
+++ b/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/GraphQlAutoConfiguration.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.apache.isis.viewer.graphql.viewer.webmodule;
+package org.apache.isis.viewer.graphql.viewer.spring;
import java.io.IOException;
import java.util.ArrayList;
@@ -56,7 +56,7 @@ import org.springframework.graphql.execution.RuntimeWiringConfigurer;
* @since 2.7.0
*/
@Configuration(proxyBeanMethods = false)
-@ConditionalOnClass({ GraphQL.class, GraphQlSource.class })
+ @ConditionalOnClass({ GraphQL.class, GraphQlSource.class })
@EnableConfigurationProperties(GraphQlProperties.class)
public class GraphQlAutoConfiguration {
@@ -65,7 +65,7 @@ public class GraphQlAutoConfiguration {
private final BatchLoaderRegistry batchLoaderRegistry = new DefaultBatchLoaderRegistry();
@Bean
- @ConditionalOnMissingBean
+ @ConditionalOnMissingBean
public GraphQlSource graphQlSource(ResourcePatternResolver resourcePatternResolver, GraphQlProperties properties,
ObjectProvider<DataFetcherExceptionResolver> exceptionResolversProvider,
ObjectProvider<Instrumentation> instrumentationsProvider,
diff --git a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/GraphQlCorsProperties.java b/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/GraphQlCorsProperties.java
similarity index 98%
rename from incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/GraphQlCorsProperties.java
rename to incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/GraphQlCorsProperties.java
index 5213a8e..6c34d3e 100644
--- a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/GraphQlCorsProperties.java
+++ b/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/GraphQlCorsProperties.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.apache.isis.viewer.graphql.viewer.webmodule;
+package org.apache.isis.viewer.graphql.viewer.spring;
import java.time.Duration;
import java.time.temporal.ChronoUnit;
diff --git a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/GraphQlProperties.java b/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/GraphQlProperties.java
similarity index 98%
rename from incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/GraphQlProperties.java
rename to incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/GraphQlProperties.java
index 6634aea..04cb92d 100644
--- a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/GraphQlProperties.java
+++ b/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/GraphQlProperties.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.apache.isis.viewer.graphql.viewer.webmodule;
+package org.apache.isis.viewer.graphql.viewer.spring;
import java.time.Duration;
import java.util.Arrays;
diff --git a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/GraphQlSourceBuilderCustomizer.java b/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/GraphQlSourceBuilderCustomizer.java
similarity index 95%
rename from incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/GraphQlSourceBuilderCustomizer.java
rename to incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/GraphQlSourceBuilderCustomizer.java
index fb5e206..0c5f3e6 100644
--- a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/GraphQlSourceBuilderCustomizer.java
+++ b/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/GraphQlSourceBuilderCustomizer.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.apache.isis.viewer.graphql.viewer.webmodule;
+package org.apache.isis.viewer.graphql.viewer.spring;
import org.springframework.graphql.execution.GraphQlSource;
diff --git a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/GraphQlWebMvcAutoConfiguration.java b/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/GraphQlWebMvcAutoConfiguration.java
similarity index 99%
rename from incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/GraphQlWebMvcAutoConfiguration.java
rename to incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/GraphQlWebMvcAutoConfiguration.java
index 828fdf4..da1a348 100644
--- a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/GraphQlWebMvcAutoConfiguration.java
+++ b/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/GraphQlWebMvcAutoConfiguration.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.apache.isis.viewer.graphql.viewer.webmodule;
+package org.apache.isis.viewer.graphql.viewer.spring;
import java.util.Collections;
import java.util.Map;
diff --git a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/InvalidSchemaLocationsException.java b/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/InvalidSchemaLocationsException.java
similarity index 98%
rename from incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/InvalidSchemaLocationsException.java
rename to incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/InvalidSchemaLocationsException.java
index 0e87606..182c282 100644
--- a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/InvalidSchemaLocationsException.java
+++ b/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/spring/InvalidSchemaLocationsException.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.apache.isis.viewer.graphql.viewer.webmodule;
+package org.apache.isis.viewer.graphql.viewer.spring;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/MyGraphQlSource.java b/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/MyGraphQlSource.java
deleted file mode 100644
index 1051c18..0000000
--- a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/MyGraphQlSource.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.apache.isis.viewer.graphql.viewer.webmodule;
-
-import org.springframework.graphql.execution.GraphQlSource;
-import org.springframework.graphql.web.WebInput;
-import org.springframework.graphql.web.WebInterceptor;
-import org.springframework.graphql.web.WebInterceptorChain;
-import org.springframework.graphql.web.WebOutput;
-import org.springframework.stereotype.Service;
-
-import graphql.GraphQL;
-import graphql.schema.GraphQLSchema;
-import reactor.core.publisher.Mono;
-
-@Service
-public class MyGraphQlSource implements GraphQlSource {
-
- @Override
- public GraphQL graphQl() {
- return GraphQL.newGraphQL(schema()).build();
- }
-
- @Override
- public GraphQLSchema schema() {
- return GraphQLSchema.newSchema()
- .build();
- }
-}
diff --git a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/MyWebInterceptor.java b/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/MyWebInterceptor.java
deleted file mode 100644
index 4bc0bf9..0000000
--- a/incubator/viewers/graphql/viewer/src/main/java/org/apache/isis/viewer/graphql/viewer/webmodule/MyWebInterceptor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.apache.isis.viewer.graphql.viewer.webmodule;
-
-import org.springframework.graphql.web.WebInput;
-import org.springframework.graphql.web.WebInterceptor;
-import org.springframework.graphql.web.WebInterceptorChain;
-import org.springframework.graphql.web.WebOutput;
-import org.springframework.stereotype.Service;
-
-import reactor.core.publisher.Mono;
-
-@Service
-public class MyWebInterceptor implements WebInterceptor {
-
- @Override
- public Mono<WebOutput> intercept(WebInput webInput, WebInterceptorChain chain) {
- return null;
- }
-
- @Override
- public WebInterceptor andThen(WebInterceptor interceptor) {
- return WebInterceptor.super.andThen(interceptor);
- }
-}
diff --git a/mavendeps/webapp/pom.xml b/mavendeps/webapp/pom.xml
index 14ce0cb..6b3706c 100644
--- a/mavendeps/webapp/pom.xml
+++ b/mavendeps/webapp/pom.xml
@@ -28,7 +28,7 @@
<name>Apache Isis Maven Deps - Webapp</name>
<description>
Defines a module that can be almost used as a single dependency for running
- an Apache Isis webapp (Wicket, Restful Objects and Shiro security).
+ an Apache Isis webapp (Wicket, Restful Objects, GraphQL and Shiro security).
Note: Also requires a persistence provider.
</description>
@@ -83,6 +83,11 @@
</dependency>
<dependency>
+ <groupId>org.apache.isis.incubator.viewer</groupId>
+ <artifactId>isis-viewer-graphql-viewer</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-security</artifactId>
</dependency>