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 2022/09/15 05:41:13 UTC

[isis] branch master updated: ISIS-3198: cleaning up some class-path inconsistencies

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 5aef4f90ae ISIS-3198: cleaning up some class-path inconsistencies
5aef4f90ae is described below

commit 5aef4f90ae545358f66e122fb1bb886164dae043
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Sep 15 07:41:07 2022 +0200

    ISIS-3198: cleaning up some class-path inconsistencies
---
 core/jdk-supplemental/pom.xml                      |  8 ++--
 core/metamodel/src/main/java/module-info.java      | 15 +++---
 .../commandlog/applib/app/CommandLogMenu.java      |  3 +-
 .../audittrail/applib/app/AuditTrailMenu.java      |  3 +-
 .../sessionlog/applib/app/SessionLogMenu.java      |  3 +-
 .../graphql/applib/src/main/java/module-info.java  |  5 ++
 incubator/viewers/graphql/model/pom.xml            | 12 +++++
 .../graphql/model/src/main/java/module-info.java   |  7 +++
 incubator/viewers/graphql/pom.xml                  | 25 ++--------
 incubator/viewers/graphql/viewer/pom.xml           | 26 ++++------
 .../graphql/viewer/source/GQLSchema_IntegTest.java | 55 +++++++++++-----------
 .../source/TestDomainModuleIntegTestAbstract.java  | 17 +++----
 .../source/gqltestdomain/TestEntityRepository.java | 12 +++--
 13 files changed, 99 insertions(+), 92 deletions(-)

diff --git a/core/jdk-supplemental/pom.xml b/core/jdk-supplemental/pom.xml
index 4dc77cf990..6fb520dd67 100644
--- a/core/jdk-supplemental/pom.xml
+++ b/core/jdk-supplemental/pom.xml
@@ -244,10 +244,10 @@
         </dependency>
 		
 		<!-- provides @Nullable that's required by Spring 5.x -->
-		<dependency>
-			<groupId>com.google.code.findbugs</groupId>
-			<artifactId>jsr305</artifactId>
-		</dependency>
+<!-- 		<dependency> -->
+<!-- 			<groupId>com.google.code.findbugs</groupId> -->
+<!-- 			<artifactId>jsr305</artifactId> -->
+<!-- 		</dependency> -->
 		
 	</dependencies>
 
diff --git a/core/metamodel/src/main/java/module-info.java b/core/metamodel/src/main/java/module-info.java
index 40228eecf3..d38533e4a7 100644
--- a/core/metamodel/src/main/java/module-info.java
+++ b/core/metamodel/src/main/java/module-info.java
@@ -30,6 +30,8 @@ open module org.apache.isis.core.metamodel {
     exports org.apache.isis.core.metamodel.facets.actions.action.invocation;
     exports org.apache.isis.core.metamodel.facets.actions.layout;
     exports org.apache.isis.core.metamodel.facets.actions.notinservicemenu;
+    exports org.apache.isis.core.metamodel.facets.actions.semantics;
+    exports org.apache.isis.core.metamodel.facets.actcoll.typeof;
     exports org.apache.isis.core.metamodel.facets.all.described;
     exports org.apache.isis.core.metamodel.facets.all.i8n.imperative;
     exports org.apache.isis.core.metamodel.facets.all.i8n.staatic;
@@ -89,8 +91,9 @@ open module org.apache.isis.core.metamodel {
 
     exports org.apache.isis.core.metamodel.specloader
         to org.apache.isis.core.runtimeservices,
-        //TODO don't expose to viewers
-        org.apache.isis.viewer.wicket.model, org.apache.isis.viewer.wicket.ui;
+        //TODO probably don't expose SpecificationLoader to viewers
+        org.apache.isis.viewer.wicket.model, org.apache.isis.viewer.wicket.ui,
+        org.apache.isis.incubator.viewer.graphql.viewer;
 
     exports org.apache.isis.core.metamodel.specloader.validator;
 
@@ -113,10 +116,10 @@ open module org.apache.isis.core.metamodel {
     requires java.xml.bind;
     requires java.inject;
     requires lombok;
-    requires org.apache.isis.applib;
-    requires org.apache.isis.commons;
-    requires org.apache.isis.core.config;
-    requires org.apache.isis.schema;
+    requires transitive org.apache.isis.applib;
+    requires transitive org.apache.isis.commons;
+    requires transitive org.apache.isis.core.config;
+    requires transitive org.apache.isis.schema;
     requires org.apache.isis.security.api;
     requires org.apache.logging.log4j;
     requires org.joda.time;
diff --git a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/app/CommandLogMenu.java b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/app/CommandLogMenu.java
index eab63d1a53..4e1124c92b 100644
--- a/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/app/CommandLogMenu.java
+++ b/extensions/core/commandlog/applib/src/main/java/org/apache/isis/extensions/commandlog/applib/app/CommandLogMenu.java
@@ -23,10 +23,11 @@ import java.time.ZoneId;
 import java.util.List;
 import java.util.UUID;
 
-import javax.annotation.Nullable;
 import javax.inject.Inject;
 import javax.inject.Named;
 
+import org.springframework.lang.Nullable;
+
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.BookmarkPolicy;
diff --git a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/app/AuditTrailMenu.java b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/app/AuditTrailMenu.java
index a7c5f9ac80..c0d91bd39f 100644
--- a/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/app/AuditTrailMenu.java
+++ b/extensions/security/audittrail/applib/src/main/java/org/apache/isis/extensions/audittrail/applib/app/AuditTrailMenu.java
@@ -23,10 +23,11 @@ package org.apache.isis.extensions.audittrail.applib.app;
 import java.time.LocalDate;
 import java.util.List;
 
-import javax.annotation.Nullable;
 import javax.inject.Inject;
 import javax.inject.Named;
 
+import org.springframework.lang.Nullable;
+
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.DomainService;
diff --git a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/app/SessionLogMenu.java b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/app/SessionLogMenu.java
index a126a31655..5e60647667 100644
--- a/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/app/SessionLogMenu.java
+++ b/extensions/security/sessionlog/applib/src/main/java/org/apache/isis/extensions/sessionlog/applib/app/SessionLogMenu.java
@@ -23,10 +23,11 @@ package org.apache.isis.extensions.sessionlog.applib.app;
 import java.time.LocalDate;
 import java.util.List;
 
-import javax.annotation.Nullable;
 import javax.inject.Inject;
 import javax.inject.Named;
 
+import org.springframework.lang.Nullable;
+
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.BookmarkPolicy;
diff --git a/incubator/viewers/graphql/applib/src/main/java/module-info.java b/incubator/viewers/graphql/applib/src/main/java/module-info.java
new file mode 100644
index 0000000000..4459802303
--- /dev/null
+++ b/incubator/viewers/graphql/applib/src/main/java/module-info.java
@@ -0,0 +1,5 @@
+module org.apache.isis.incubator.viewer.graphql.applib {
+    exports org.apache.isis.viewer.graphql.applib;
+
+    requires spring.context;
+}
\ No newline at end of file
diff --git a/incubator/viewers/graphql/model/pom.xml b/incubator/viewers/graphql/model/pom.xml
index 156708b8ba..169bae690a 100644
--- a/incubator/viewers/graphql/model/pom.xml
+++ b/incubator/viewers/graphql/model/pom.xml
@@ -44,7 +44,19 @@
 		<dependency>
 			<groupId>org.springframework.graphql</groupId>
 			<artifactId>spring-graphql</artifactId>
+			<exclusions>
+				<exclusion>
+					<groupId>com.graphql-java</groupId>
+					<artifactId>graphql-java</artifactId>
+				</exclusion>
+			</exclusions>
 		</dependency>
+		<dependency>
+			<!-- override spring, for security and bug-fixes -->
+			<groupId>com.graphql-java</groupId>
+			<artifactId>graphql-java</artifactId>
+		</dependency>
+			
 
 		<!-- TEST DEPENDENCIES -->
 
diff --git a/incubator/viewers/graphql/model/src/main/java/module-info.java b/incubator/viewers/graphql/model/src/main/java/module-info.java
new file mode 100644
index 0000000000..efe1c6789e
--- /dev/null
+++ b/incubator/viewers/graphql/model/src/main/java/module-info.java
@@ -0,0 +1,7 @@
+module org.apache.isis.incubator.viewer.graphql.model {
+    exports org.apache.isis.viewer.graphql.model;
+
+    requires org.apache.isis.core.config;
+    requires org.apache.isis.incubator.viewer.graphql.applib;
+    requires spring.context;
+}
\ No newline at end of file
diff --git a/incubator/viewers/graphql/pom.xml b/incubator/viewers/graphql/pom.xml
index 87061e44c4..b610e469d9 100644
--- a/incubator/viewers/graphql/pom.xml
+++ b/incubator/viewers/graphql/pom.xml
@@ -43,6 +43,10 @@
 
 	<packaging>pom</packaging>
 
+	<properties>
+		<graphql-java.version>19.2</graphql-java.version>
+	</properties>
+
 	<dependencyManagement>
 		<dependencies>
 
@@ -91,25 +95,4 @@
 		<module>viewer</module>
 	</modules>
 
-	<repositories>
-		<repository>
-			<id>spring-milestones</id>
-			<name>Spring Milestones</name>
-			<url>https://repo.spring.io/milestone</url>
-			<snapshots>
-				<enabled>false</enabled>
-			</snapshots>
-		</repository>
-	</repositories>
-	<pluginRepositories>
-		<pluginRepository>
-			<id>spring-milestones</id>
-			<name>Spring Milestones</name>
-			<url>https://repo.spring.io/milestone</url>
-			<snapshots>
-				<enabled>false</enabled>
-			</snapshots>
-		</pluginRepository>
-	</pluginRepositories>
-
 </project>
diff --git a/incubator/viewers/graphql/viewer/pom.xml b/incubator/viewers/graphql/viewer/pom.xml
index 158e898c1a..e5daa9cf5e 100644
--- a/incubator/viewers/graphql/viewer/pom.xml
+++ b/incubator/viewers/graphql/viewer/pom.xml
@@ -63,24 +63,8 @@
 		<!-- TESTING -->
 
 		<dependency>
-			<groupId>org.apache.isis.testing</groupId>
-			<artifactId>isis-testing-unittestsupport-applib</artifactId>
-			<scope>test</scope>
-		</dependency>
-
-		<dependency>
-			<groupId>org.assertj</groupId>
-			<artifactId>assertj-core</artifactId>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.mockito</groupId>
-			<artifactId>mockito-core</artifactId>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework</groupId>
-			<artifactId>spring-test</artifactId>
+			<groupId>org.apache.isis.core</groupId>
+			<artifactId>isis-core-internaltestsupport</artifactId>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
@@ -112,6 +96,12 @@
 			<groupId>org.apache.isis.persistence</groupId>
 			<artifactId>isis-persistence-jpa-eclipselink</artifactId>
 			<scope>test</scope>
+			<exclusions>
+				<exclusion>
+					<groupId>org.eclipse.persistence</groupId>
+					<artifactId>jakarta.persistence</artifactId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 
 	</dependencies>
diff --git a/incubator/viewers/graphql/viewer/src/test/java/org/apache/isis/viewer/graphql/viewer/source/GQLSchema_IntegTest.java b/incubator/viewers/graphql/viewer/src/test/java/org/apache/isis/viewer/graphql/viewer/source/GQLSchema_IntegTest.java
index 914799fa32..b9a2c83a1b 100644
--- a/incubator/viewers/graphql/viewer/src/test/java/org/apache/isis/viewer/graphql/viewer/source/GQLSchema_IntegTest.java
+++ b/incubator/viewers/graphql/viewer/src/test/java/org/apache/isis/viewer/graphql/viewer/source/GQLSchema_IntegTest.java
@@ -18,42 +18,41 @@
  */
 package org.apache.isis.viewer.graphql.viewer.source;
 
-import graphql.GraphQL;
-import graphql.Scalars;
-import graphql.schema.*;
+import java.util.List;
+
+import javax.inject.Inject;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
+import org.junit.jupiter.api.Test;
+import org.springframework.transaction.annotation.Transactional;
+
 import org.apache.isis.core.config.environment.IsisSystemEnvironment;
-import org.apache.isis.core.config.presets.IsisPresets;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
-import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
-import org.apache.isis.persistence.jpa.eclipselink.IsisModulePersistenceJpaEclipselink;
-import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
-import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
-import org.apache.isis.viewer.graphql.viewer.IsisModuleIncViewerGraphqlViewer;
 import org.apache.isis.viewer.graphql.viewer.source.gqltestdomain.E1;
 import org.apache.isis.viewer.graphql.viewer.source.gqltestdomain.E2;
 import org.apache.isis.viewer.graphql.viewer.source.gqltestdomain.GQLTestDomainMenu;
-import org.apache.isis.viewer.graphql.viewer.source.gqltestdomain.TestDomainModule;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Disabled;
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.SpringBootConfiguration;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.context.annotation.Import;
-import org.springframework.context.annotation.PropertySource;
-import org.springframework.context.annotation.PropertySources;
-import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-import org.springframework.test.context.TestPropertySource;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.inject.Inject;
-import java.util.List;
 
-import static org.apache.isis.commons.internal.assertions._Assert.*;
 import static org.apache.isis.commons.internal.assertions._Assert.assertEquals;
+import static org.apache.isis.commons.internal.assertions._Assert.assertNotNull;
+import static org.apache.isis.commons.internal.assertions._Assert.assertTrue;
 
+import graphql.GraphQL;
+import graphql.Scalars;
+import graphql.schema.DataFetcher;
+import graphql.schema.FieldCoordinates;
+import graphql.schema.GraphQLArgument;
+import graphql.schema.GraphQLCodeRegistry;
+import graphql.schema.GraphQLFieldDefinition;
+import graphql.schema.GraphQLList;
+import graphql.schema.GraphQLObjectType;
+import graphql.schema.GraphQLOutputType;
+import graphql.schema.GraphQLScalarType;
+import graphql.schema.GraphQLSchema;
+import graphql.schema.GraphQLSchemaElement;
+import graphql.schema.GraphQLType;
+import graphql.schema.GraphQLTypeReference;
 
 @Transactional
 public class GQLSchema_IntegTest extends TestDomainModuleIntegTestAbstract{
@@ -78,6 +77,8 @@ public class GQLSchema_IntegTest extends TestDomainModuleIntegTestAbstract{
     @Disabled
     void assert_stuff_works() {
 
+        GraphQLSchema x;
+
 //        _IocContainer iocContainer = isisSystemEnvironment.getIocContainer();
 //        iocContainer.streamAllBeans().forEach(b->{
 //            System.out.println(b.getId());
diff --git a/incubator/viewers/graphql/viewer/src/test/java/org/apache/isis/viewer/graphql/viewer/source/TestDomainModuleIntegTestAbstract.java b/incubator/viewers/graphql/viewer/src/test/java/org/apache/isis/viewer/graphql/viewer/source/TestDomainModuleIntegTestAbstract.java
index bada0bf736..db3654b9dc 100644
--- a/incubator/viewers/graphql/viewer/src/test/java/org/apache/isis/viewer/graphql/viewer/source/TestDomainModuleIntegTestAbstract.java
+++ b/incubator/viewers/graphql/viewer/src/test/java/org/apache/isis/viewer/graphql/viewer/source/TestDomainModuleIntegTestAbstract.java
@@ -18,23 +18,24 @@
  */
 package org.apache.isis.viewer.graphql.viewer.source;
 
-import org.apache.isis.core.config.presets.IsisPresets;
-import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
-import org.apache.isis.persistence.jpa.eclipselink.IsisModulePersistenceJpaEclipselink;
-import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
-import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
-import org.apache.isis.viewer.graphql.viewer.IsisModuleIncViewerGraphqlViewer;
-import org.apache.isis.viewer.graphql.viewer.source.gqltestdomain.TestDomainModule;
 import org.springframework.boot.SpringBootConfiguration;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.web.server.LocalServerPort;
+import org.springframework.boot.test.web.server.LocalServerPort;
 import org.springframework.context.annotation.Import;
 import org.springframework.context.annotation.PropertySource;
 import org.springframework.context.annotation.PropertySources;
 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
 import org.springframework.test.context.ActiveProfiles;
 
+import org.apache.isis.core.config.presets.IsisPresets;
+import org.apache.isis.core.runtimeservices.IsisModuleCoreRuntimeServices;
+import org.apache.isis.persistence.jpa.eclipselink.IsisModulePersistenceJpaEclipselink;
+import org.apache.isis.security.bypass.IsisModuleSecurityBypass;
+import org.apache.isis.testing.fixtures.applib.IsisModuleTestingFixturesApplib;
+import org.apache.isis.viewer.graphql.viewer.IsisModuleIncViewerGraphqlViewer;
+import org.apache.isis.viewer.graphql.viewer.source.gqltestdomain.TestDomainModule;
+
 @SpringBootTest(
         classes = {
                 TestDomainModuleIntegTestAbstract.TestApp.class
diff --git a/incubator/viewers/graphql/viewer/src/test/java/org/apache/isis/viewer/graphql/viewer/source/gqltestdomain/TestEntityRepository.java b/incubator/viewers/graphql/viewer/src/test/java/org/apache/isis/viewer/graphql/viewer/source/gqltestdomain/TestEntityRepository.java
index f0ece35e20..980ecaedf5 100644
--- a/incubator/viewers/graphql/viewer/src/test/java/org/apache/isis/viewer/graphql/viewer/source/gqltestdomain/TestEntityRepository.java
+++ b/incubator/viewers/graphql/viewer/src/test/java/org/apache/isis/viewer/graphql/viewer/source/gqltestdomain/TestEntityRepository.java
@@ -18,14 +18,16 @@
  */
 package org.apache.isis.viewer.graphql.viewer.source.gqltestdomain;
 
-import org.apache.isis.applib.services.repository.RepositoryService;
-import org.springframework.stereotype.Repository;
-
-import javax.annotation.Nullable;
-import javax.inject.Inject;
 import java.util.ArrayList;
 import java.util.List;
 
+import javax.inject.Inject;
+
+import org.springframework.lang.Nullable;
+import org.springframework.stereotype.Repository;
+
+import org.apache.isis.applib.services.repository.RepositoryService;
+
 @Repository
 public class TestEntityRepository {