Skip to content

Commit 56cef8b

Browse files
authored
fix: (version) update graphql-java to 9.4 (#52)
* feat: add graphql-jpa-query-dependencies module * fix: (version) update graphql-java to 9.4 * chore: refactor Maven reactor build * Update README.md
1 parent 98dd04b commit 56cef8b

File tree

12 files changed

+541
-757
lines changed

12 files changed

+541
-757
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ GraphQL Query for JPA Entity Model
66
[![Maven Central](https://img.shields.io/maven-central/v/com.introproventures/graphql-jpa-query.svg)](https://mvnrepository.com/artifact/com.introproventures/graphql-jpa-query)
77
[![Jitpack.io](https://jitpack.io/v/introproventures/graphql-jpa-query.svg)](https://jitpack.io/#introproventures/graphql-jpa-query)
88

9-
This library uses [graphql-java 6.0](https://github.com/andimarek/graphql-java) to derive and build the GraphQL schema from JPA Entity Schema provided by entity classes.
9+
This library uses [graphql-java 9.4](https://github.com/andimarek/graphql-java) to derive and build the GraphQL schema from JPA Entity Schema provided by entity classes.
1010

1111
It implements a schema builder to generate GraphQL Schema using JPA EntityManager with JPA Query Data Fetchers that transform GraphQL queries into JPA queries with flexible type safe criteria expressions and user-friendly SQL query syntax semantics i.e. query by page, , where criteria expressions, select, order by etc.
1212

graphql-jpa-query-annotations/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55

66
<parent>
77
<groupId>com.introproventures</groupId>
8-
<artifactId>graphql-jpa-query</artifactId>
8+
<artifactId>graphql-jpa-query-dependencies</artifactId>
99
<version>0.3.8-SNAPSHOT</version>
10-
<relativePath>../pom.xml</relativePath>
10+
<relativePath>../graphql-jpa-query-dependencies</relativePath>
1111
</parent>
1212

1313
<modelVersion>4.0.0</modelVersion>

graphql-jpa-query-boot-starter/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66

77
<parent>
88
<groupId>com.introproventures</groupId>
9-
<artifactId>graphql-jpa-query</artifactId>
9+
<artifactId>graphql-jpa-query-build</artifactId>
1010
<version>0.3.8-SNAPSHOT</version>
11-
<relativePath>../pom.xml</relativePath>
11+
<relativePath>../graphql-jpa-query-build</relativePath>
1212
</parent>
1313

1414
<dependencies>

graphql-jpa-query-build/pom.xml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4+
<modelVersion>4.0.0</modelVersion>
5+
<parent>
6+
<groupId>com.introproventures</groupId>
7+
<artifactId>graphql-jpa-query-dependencies</artifactId>
8+
<version>0.3.8-SNAPSHOT</version>
9+
<relativePath>../graphql-jpa-query-dependencies</relativePath>
10+
</parent>
11+
<artifactId>graphql-jpa-query-build</artifactId>
12+
<packaging>pom</packaging>
13+
14+
<dependencyManagement>
15+
<dependencies>
16+
17+
<dependency>
18+
<groupId>io.spring.platform</groupId>
19+
<artifactId>platform-bom</artifactId>
20+
<version>Brussels-SR6</version>
21+
<type>pom</type>
22+
<scope>import</scope>
23+
</dependency>
24+
25+
</dependencies>
26+
27+
</dependencyManagement>
28+
29+
<dependencies>
30+
31+
<dependency>
32+
<groupId>org.springframework.boot</groupId>
33+
<artifactId>spring-boot-starter-test</artifactId>
34+
<scope>test</scope>
35+
</dependency>
36+
37+
<dependency>
38+
<groupId>org.projectlombok</groupId>
39+
<artifactId>lombok</artifactId>
40+
<scope>test</scope>
41+
</dependency>
42+
43+
<dependency>
44+
<groupId>com.h2database</groupId>
45+
<artifactId>h2</artifactId>
46+
<scope>test</scope>
47+
</dependency>
48+
49+
</dependencies>
50+
51+
</project>
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4+
<modelVersion>4.0.0</modelVersion>
5+
<parent>
6+
<groupId>com.introproventures</groupId>
7+
<artifactId>graphql-jpa-query</artifactId>
8+
<version>0.3.8-SNAPSHOT</version>
9+
<relativePath>..</relativePath>
10+
</parent>
11+
<artifactId>graphql-jpa-query-dependencies</artifactId>
12+
<packaging>pom</packaging>
13+
14+
<properties>
15+
<graphql-java.version>9.4</graphql-java.version>
16+
<hibernate-jpa-2.1-api.version>1.0.0.Final</hibernate-jpa-2.1-api.version>
17+
</properties>
18+
19+
<dependencyManagement>
20+
<dependencies>
21+
22+
<dependency>
23+
<groupId>com.graphql-java</groupId>
24+
<artifactId>graphql-java</artifactId>
25+
<version>${graphql-java.version}</version>
26+
</dependency>
27+
28+
<dependency>
29+
<groupId>org.hibernate.javax.persistence</groupId>
30+
<artifactId>hibernate-jpa-2.1-api</artifactId>
31+
<version>${hibernate-jpa-2.1-api.version}</version>
32+
</dependency>
33+
34+
<dependency>
35+
<groupId>com.introproventures</groupId>
36+
<artifactId>graphql-jpa-query-annotations</artifactId>
37+
<version>${project.version}</version>
38+
</dependency>
39+
40+
<dependency>
41+
<groupId>com.introproventures</groupId>
42+
<artifactId>graphql-jpa-query-schema</artifactId>
43+
<version>${project.version}</version>
44+
</dependency>
45+
46+
<dependency>
47+
<groupId>com.introproventures</groupId>
48+
<artifactId>graphql-jpa-query-boot-starter</artifactId>
49+
<version>${project.version}</version>
50+
</dependency>
51+
52+
</dependencies>
53+
54+
</dependencyManagement>
55+
56+
</project>

graphql-jpa-query-example/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66

77
<parent>
88
<groupId>com.introproventures</groupId>
9-
<artifactId>graphql-jpa-query</artifactId>
9+
<artifactId>graphql-jpa-query-build</artifactId>
1010
<version>0.3.8-SNAPSHOT</version>
11-
<relativePath>../pom.xml</relativePath>
11+
<relativePath>../graphql-jpa-query-build</relativePath>
1212
</parent>
1313

1414
<properties>

graphql-jpa-query-schema/pom.xml

Lines changed: 55 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,67 @@
1-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2-
<artifactId>graphql-jpa-query-schema</artifactId>
3-
<name>graphql-jpa-query-schema</name>
1+
<project xmlns="http://maven.apache.org/POM/4.0.0"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4+
<artifactId>graphql-jpa-query-schema</artifactId>
5+
<name>graphql-jpa-query-schema</name>
46

5-
<parent>
6-
<groupId>com.introproventures</groupId>
7-
<artifactId>graphql-jpa-query</artifactId>
8-
<version>0.3.8-SNAPSHOT</version>
9-
<relativePath>../pom.xml</relativePath>
10-
</parent>
11-
12-
<modelVersion>4.0.0</modelVersion>
13-
14-
<dependencies>
7+
<parent>
8+
<groupId>com.introproventures</groupId>
9+
<artifactId>graphql-jpa-query-build</artifactId>
10+
<version>0.3.8-SNAPSHOT</version>
11+
<relativePath>../graphql-jpa-query-build</relativePath>
12+
</parent>
1513

16-
<dependency>
17-
<groupId>com.introproventures</groupId>
18-
<artifactId>graphql-jpa-query-annotations</artifactId>
19-
</dependency>
14+
<modelVersion>4.0.0</modelVersion>
2015

21-
<dependency>
22-
<groupId>com.graphql-java</groupId>
23-
<artifactId>graphql-java</artifactId>
24-
</dependency>
16+
<dependencies>
2517

26-
<dependency>
27-
<groupId>org.atteo</groupId>
28-
<artifactId>evo-inflector</artifactId>
29-
</dependency>
18+
<dependency>
19+
<groupId>com.introproventures</groupId>
20+
<artifactId>graphql-jpa-query-annotations</artifactId>
21+
</dependency>
3022

31-
<dependency>
32-
<groupId>org.slf4j</groupId>
33-
<artifactId>slf4j-api</artifactId>
34-
</dependency>
23+
<dependency>
24+
<groupId>com.graphql-java</groupId>
25+
<artifactId>graphql-java</artifactId>
26+
</dependency>
3527

36-
<dependency>
37-
<groupId>joda-time</groupId>
38-
<artifactId>joda-time</artifactId>
39-
<optional>true</optional>
40-
</dependency>
28+
<dependency>
29+
<groupId>org.atteo</groupId>
30+
<artifactId>evo-inflector</artifactId>
31+
</dependency>
4132

42-
<dependency>
43-
<groupId>org.hibernate.javax.persistence</groupId>
44-
<artifactId>hibernate-jpa-2.1-api</artifactId>
45-
<version>1.0.0.Final</version>
46-
</dependency>
33+
<dependency>
34+
<groupId>org.slf4j</groupId>
35+
<artifactId>slf4j-api</artifactId>
36+
</dependency>
4737

48-
<dependency>
49-
<groupId>javax.transaction</groupId>
50-
<artifactId>javax.transaction-api</artifactId>
51-
</dependency>
38+
<dependency>
39+
<groupId>joda-time</groupId>
40+
<artifactId>joda-time</artifactId>
41+
<optional>true</optional>
42+
</dependency>
5243

53-
<dependency>
54-
<groupId>javax.interceptor</groupId>
55-
<artifactId>javax.interceptor-api</artifactId>
56-
</dependency>
44+
<dependency>
45+
<groupId>org.hibernate.javax.persistence</groupId>
46+
<artifactId>hibernate-jpa-2.1-api</artifactId>
47+
</dependency>
5748

58-
<dependency>
59-
<groupId>org.springframework.boot</groupId>
60-
<artifactId>spring-boot-starter-data-jpa</artifactId>
61-
<scope>test</scope>
62-
</dependency>
49+
<dependency>
50+
<groupId>javax.transaction</groupId>
51+
<artifactId>javax.transaction-api</artifactId>
52+
</dependency>
53+
54+
<dependency>
55+
<groupId>javax.interceptor</groupId>
56+
<artifactId>javax.interceptor-api</artifactId>
57+
</dependency>
58+
59+
<dependency>
60+
<groupId>org.springframework.boot</groupId>
61+
<artifactId>spring-boot-starter-data-jpa</artifactId>
62+
<scope>test</scope>
63+
</dependency>
64+
65+
</dependencies>
6366

64-
</dependencies>
65-
6667
</project>

graphql-jpa-query-schema/src/main/java/com/introproventures/graphql/jpa/query/schema/impl/GraphQLJpaQueryDataFetcher.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,8 @@ public Object get(DataFetchingEnvironment environment) {
9494
environment.getFragmentsByName(),
9595
environment.getExecutionId(),
9696
environment.getSelectionSet(),
97-
environment.getFieldTypeInfo()
97+
environment.getFieldTypeInfo(),
98+
environment.getExecutionContext()
9899
)).orElse(environment);
99100

100101
queryField = new Field(fieldName, field.getArguments(), recordsSelection.get().getSelectionSet());

graphql-jpa-query-schema/src/main/java/com/introproventures/graphql/jpa/query/schema/impl/GraphQLJpaSchemaBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,7 @@ private GraphQLFieldDefinition getObjectField(Attribute attribute) {
443443

444444
if (type instanceof GraphQLOutputType) {
445445
List<GraphQLArgument> arguments = new ArrayList<>();
446-
DataFetcher dataFetcher = new PropertyDataFetcher<>(attribute.getName());
446+
DataFetcher dataFetcher = PropertyDataFetcher.fetching(attribute.getName());
447447

448448
// Only add the orderBy argument for basic attribute types
449449
if (attribute instanceof SingularAttribute

graphql-jpa-query-schema/src/main/java/com/introproventures/graphql/jpa/query/schema/impl/QraphQLJpaBaseDataFetcher.java

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
import graphql.language.FloatValue;
6464
import graphql.language.IntValue;
6565
import graphql.language.Node;
66+
import graphql.language.NodeVisitor;
6667
import graphql.language.ObjectField;
6768
import graphql.language.ObjectValue;
6869
import graphql.language.SelectionSet;
@@ -78,6 +79,8 @@
7879
import graphql.schema.GraphQLObjectType;
7980
import graphql.schema.GraphQLSchema;
8081
import graphql.schema.GraphQLType;
82+
import graphql.util.TraversalControl;
83+
import graphql.util.TraverserContext;
8184

8285
/**
8386
* Provides base implemetation for GraphQL JPA Query Data Fetchers
@@ -318,7 +321,8 @@ protected Predicate getWherePredicate(CriteriaBuilder cb, Root<?> root, From<?,
318321
environment.getFragmentsByName(),
319322
environment.getExecutionId(),
320323
environment.getSelectionSet(),
321-
environment.getFieldTypeInfo()
324+
environment.getFieldTypeInfo(),
325+
environment.getExecutionContext()
322326
), new Argument(Logical.AND.name(), whereValue)
323327
);
324328
}
@@ -420,7 +424,8 @@ private PredicateFilter getPredicateFilter(ObjectField objectField, DataFetching
420424
environment.getFragmentsByName(),
421425
environment.getExecutionId(),
422426
environment.getSelectionSet(),
423-
environment.getFieldTypeInfo()
427+
environment.getFieldTypeInfo(),
428+
environment.getExecutionContext()
424429
),
425430
new Argument(objectField.getName(), argument.getValue()), argument.getValue() );
426431

@@ -444,7 +449,8 @@ public ArgumentEnvironment(DataFetchingEnvironment environment, String argumentN
444449
environment.getFragmentsByName(),
445450
environment.getExecutionId(),
446451
environment.getSelectionSet(),
447-
environment.getFieldTypeInfo()
452+
environment.getFieldTypeInfo(),
453+
environment.getExecutionContext()
448454
);
449455
}
450456
}
@@ -465,7 +471,8 @@ public WherePredicateEnvironment(DataFetchingEnvironment environment, GraphQLFie
465471
environment.getFragmentsByName(),
466472
environment.getExecutionId(),
467473
environment.getSelectionSet(),
468-
environment.getFieldTypeInfo()
474+
environment.getFieldTypeInfo(),
475+
environment.getExecutionContext()
469476
);
470477
}
471478
}
@@ -821,6 +828,18 @@ public List<Comment> getComments() {
821828
public boolean isEqualTo(Node node) {
822829
return node instanceof NullValue;
823830
}
831+
832+
@Override
833+
public TraversalControl accept(TraverserContext context, NodeVisitor visitor) {
834+
// TODO Auto-generated method stub
835+
return null;
836+
}
837+
838+
@Override
839+
public Value deepCopy() {
840+
// TODO Auto-generated method stub
841+
return null;
842+
}
824843
}
825844

826845

0 commit comments

Comments
 (0)