Skip to content

pull change #7

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 44 commits into from
Oct 8, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
257a92d
fix(versions): update Spring Boot to 2.1.7 (#159)
igdianov Aug 6, 2019
a3f7877
Add LocalDate/LocalDateTime/OffsetDateTime/ZonedDateTime/Instant supp…
SinaiNIN Aug 10, 2019
4bf7596
feat: add conditional property to disable GraphQLController (#161)
igdianov Aug 17, 2019
8028d12
Add METHOD to the @GraphQLIgnore annotation target (#165)
anotender Aug 24, 2019
5385a41
feat: add support for variable where criteria expressions (#162)
igdianov Aug 24, 2019
81a6a19
feat: support transient field modifier with class hierarchy introspec…
igdianov Aug 24, 2019
32334a5
[maven-release-plugin] Update CHANGELOG.md
igdianov Aug 24, 2019
6e4ae2b
[maven-release-plugin] prepare release 0.3.28
igdianov Aug 24, 2019
6202a86
[maven-release-plugin] Update CHANGELOG.md
igdianov Aug 24, 2019
5a4ddad
[maven-release-plugin] prepare for next development iteration
igdianov Aug 24, 2019
a5f72bc
Add java arrays basic support (#171)
anotender Aug 28, 2019
82be5d5
fix: Description is not inherited from the parent class (#169)
igdianov Aug 28, 2019
50df533
fix: Error querying entity with @IdClass #176 (#179)
igdianov Aug 31, 2019
6552cb8
fix: add query support for entities with `@EmbeddedId` attribute (#180)
igdianov Aug 31, 2019
798b30d
fix: support uppercase attribute names introspection (#173)
igdianov Sep 8, 2019
8284cbd
fix: Javadoc errors
igdianov Sep 8, 2019
f666c9c
[maven-release-plugin] Update CHANGELOG.md
igdianov Sep 8, 2019
e7a70ec
[maven-release-plugin] prepare release 0.3.29
igdianov Sep 8, 2019
a2c16b4
[maven-release-plugin] Update CHANGELOG.md
igdianov Sep 8, 2019
833bdfe
[maven-release-plugin] prepare for next development iteration
igdianov Sep 8, 2019
f2d4756
fix: coerce Zoned and Offset time to UTC
igdianov Sep 8, 2019
9445f89
fix: switch off lower(COLUMN_NAME) decoration on String equality chec…
igdianov Sep 11, 2019
ae9ce62
chore: remove obsolete JpaQueryBuilder class (#190)
igdianov Sep 11, 2019
c8c00b0
[maven-release-plugin] Update CHANGELOG.md
igdianov Sep 11, 2019
a78ac96
[maven-release-plugin] prepare release 0.3.30
igdianov Sep 11, 2019
7b678ae
[maven-release-plugin] Update CHANGELOG.md
igdianov Sep 11, 2019
7ce947d
[maven-release-plugin] prepare for next development iteration
igdianov Sep 11, 2019
ae25aba
fix: removed EntityManager.clear() from GraphQLJpaQueryDataFetcher (#…
igdianov Sep 21, 2019
4e3716d
[maven-release-plugin] Update CHANGELOG.md
igdianov Sep 21, 2019
6893a6c
[maven-release-plugin] prepare release 0.3.31
igdianov Sep 21, 2019
6cd518e
[maven-release-plugin] Update CHANGELOG.md
igdianov Sep 21, 2019
33da4bb
[maven-release-plugin] prepare for next development iteration
igdianov Sep 21, 2019
2a01382
fix: Added support for binding orderBy argument as a variable (#195)
anotender Sep 26, 2019
c3fc348
[maven-release-plugin] Update CHANGELOG.md
igdianov Sep 28, 2019
66960f9
[maven-release-plugin] prepare release 0.3.32
igdianov Sep 28, 2019
a675c39
[maven-release-plugin] Update CHANGELOG.md
igdianov Sep 28, 2019
9854252
[maven-release-plugin] prepare for next development iteration
igdianov Sep 28, 2019
5d99c3b
fix(GH-198): adedd support for fetching optional element collections …
igdianov Oct 5, 2019
40a0e2d
fix(GH-193): Fixed error in GQL Queries when `total` or `pages` is in…
igdianov Oct 6, 2019
39bd100
[maven-release-plugin] Update CHANGELOG.md
igdianov Oct 6, 2019
0d89a34
[maven-release-plugin] prepare release 0.3.33
igdianov Oct 6, 2019
f2085eb
[maven-release-plugin] Update CHANGELOG.md
igdianov Oct 6, 2019
258256d
[maven-release-plugin] prepare for next development iteration
igdianov Oct 6, 2019
4ad2ad2
docs(README): polish description [skip travis]
igdianov Oct 6, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 20 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,25 @@
# Change Log

## 0.3.28-SNAPSHOT
## 0.3.34-SNAPSHOT
* fix(GH-193): Fixed error in GQL Queries when `total` or `pages` is included with condition `where: NOT_EXISTS` or `EXISTS` (#201) [40a0e2d](https://github.com/introproventures/graphql-jpa-query/commit/40a0e2d844854f8888e3502d1d6434db9cb1dd7e)
* fix(GH-198): adedd support for fetching optional element collections elements (#200) [5d99c3b](https://github.com/introproventures/graphql-jpa-query/commit/5d99c3b4629521ebee2788c6b877250c279c8bf2)
* fix: Added support for binding orderBy argument as a variable (#195) [2a01382](https://github.com/introproventures/graphql-jpa-query/commit/2a0138237cb639427f169b18f6b6f159c430afac)
* fix: removed EntityManager.clear() from GraphQLJpaQueryDataFetcher (#192) [ae25aba](https://github.com/introproventures/graphql-jpa-query/commit/ae25aba8cbcf4397f2f0fb2c79fa2a23d9697cb6)
* chore: remove obsolete JpaQueryBuilder class (#190) [ae9ce62](https://github.com/introproventures/graphql-jpa-query/commit/ae9ce6203c6d1f3c9448dddfa2405c61057f0035)
* fix: switch off lower(COLUMN_NAME) decoration on String equality check (#186) [9445f89](https://github.com/introproventures/graphql-jpa-query/commit/9445f8965cb9e23665f4dc4f6ecc88833157bd5f)
* fix: coerce Zoned and Offset time to UTC [f2d4756](https://github.com/introproventures/graphql-jpa-query/commit/f2d475640aa36ecbb6592fa4e216aa645772e832)
* fix: Javadoc errors [8284cbd](https://github.com/introproventures/graphql-jpa-query/commit/8284cbd84c80092b4e506fbffc5706d0bed8133d)
* fix: support uppercase attribute names introspection (#173) [798b30d](https://github.com/introproventures/graphql-jpa-query/commit/798b30d7fd8978f2cf8819d2e52d8c355f689b8b)
* fix: add query support for entities with `@EmbeddedId` attribute (#180) [6552cb8](https://github.com/introproventures/graphql-jpa-query/commit/6552cb8b749ab5e1254b614375ad44badbc43b9d)
* fix: Error querying entity with @IdClass #176 (#179) [50df533](https://github.com/introproventures/graphql-jpa-query/commit/50df533b87cd174f3eeb45266e23adf7172327ce)
* fix: Description is not inherited from the parent class (#169) [82be5d5](https://github.com/introproventures/graphql-jpa-query/commit/82be5d5e3773923119cc549052875e6f9e3ee050)
* Add java arrays basic support (#171) [a5f72bc](https://github.com/introproventures/graphql-jpa-query/commit/a5f72bc2c359c72cf7b91d6098286a2c3a903b68)
* feat: support transient field modifier with class hierarchy introspection (#168) [81a6a19](https://github.com/introproventures/graphql-jpa-query/commit/81a6a198a1eecafb6056ed8ea9752482d26ba589)
* feat: add support for variable where criteria expressions (#162) [5385a41](https://github.com/introproventures/graphql-jpa-query/commit/5385a4147cba654b4f57f3c6fc7cb4d40009ca3a)
* Add METHOD to the @GraphQLIgnore annotation target (#165) [8028d12](https://github.com/introproventures/graphql-jpa-query/commit/8028d129f70f497e38463ad18fe2900072129877)
* feat: add conditional property to disable GraphQLController (#161) [4bf7596](https://github.com/introproventures/graphql-jpa-query/commit/4bf75966b31e9a7d7e931ad9fbd300fec109d02d)
* Add LocalDate/LocalDateTime/OffsetDateTime/ZonedDateTime/Instant support for query and filter (#158) [a3f7877](https://github.com/introproventures/graphql-jpa-query/commit/a3f7877b1b80fc074c4677c67511c55413172ef1)
* fix(versions): update Spring Boot to 2.1.7 (#159) [257a92d](https://github.com/introproventures/graphql-jpa-query/commit/257a92d58cd12ef67ec4134c0277967c72d8eb9e)
* feat: add EXISTS/NOT_EXISTS subquery logical where criteria expressions (#151) [85d2f3a](https://github.com/introproventures/graphql-jpa-query/commit/85d2f3a7b64db6d54300f6979f872b38d1738364)
* fix: correct element collection fetch sort order (#149) [5327a22](https://github.com/introproventures/graphql-jpa-query/commit/5327a226b6e86418612fbaeaf6fedc7cd3c51576)
* fix: add support for nested where criteria expressions (#148) [2065101](https://github.com/introproventures/graphql-jpa-query/commit/206510146783dde2446e21f9a2c06cf61dcedf69)
Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@ GraphQL Query Api for JPA Entity Models [![Try in PWD](https://cdn.rawgit.com/pl
[![Maven Central](https://img.shields.io/maven-central/v/com.introproventures/graphql-jpa-query.svg)](https://mvnrepository.com/artifact/com.introproventures/graphql-jpa-query)
[![Jitpack.io](https://jitpack.io/v/introproventures/graphql-jpa-query.svg)](https://jitpack.io/#introproventures/graphql-jpa-query)

GraphQL is a query language for Web APIs implemented by GraphQL Java [graphql-java 11.0](https://github.com/andimarek/graphql-java) runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.

JPA 2.1 (Java Persistence Annotation) is Java's standard solution to bridge the gap between object-oriented domain models and relational database systems.

GraphQL JPA Query library uses JPA 2.1 specification to derive and build GraphQL Apis using GraphQL Java for your JPA Entity Java Classes. It provides a powerfull JPA Query Schema Builder to generate GraphQL Schema using JPA EntityManager Api and instruments GraphQL Schema with JPA Query Data Fetchers that transform GraphQL queries into JPA queries on the fly.

Your applications can now use GraphQL queries that smoothly follow references between JPA resources 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.
GraphQL is a query language for Web APIs implemented by GraphQL Java [graphql-java 11.0](https://github.com/andimarek/graphql-java) runtime for fulfilling those queries with your existing data. GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools.

Your applications can now use GraphQL queries that smoothly follow references between JPA entities 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.

While typical REST APIs require loading from multiple URLs, GraphQL APIs get all the data your app needs in a single request. Apps using GraphQL can be quick even on slow mobile network connections.

JPA 2.1 (Java Persistence Annotation) is Java's standard solution to bridge the gap between object-oriented domain models and relational database systems.

GraphQL JPA Query creates a uniform query API across for your applications without being limited by a single data source. You can use it with multiple JPA compliant databases by instrumenting separate EntityManager for each DataSource and expose a single GraphQL Query Apis for your Web application domain using Spring Boot Auto Configuration magic.

Tested using JDK Versions
Expand Down
2 changes: 1 addition & 1 deletion graphql-jpa-query-annotations/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>com.introproventures</groupId>
<artifactId>graphql-jpa-query-dependencies</artifactId>
<version>0.3.28-SNAPSHOT</version>
<version>0.3.34-SNAPSHOT</version>
<relativePath>../graphql-jpa-query-dependencies</relativePath>
</parent>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
package com.introproventures.graphql.jpa.query.annotation;

import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

Expand All @@ -28,7 +29,7 @@
* @author Igor Dianov
*
*/
@Target( { TYPE, FIELD })
@Target( { TYPE, FIELD, METHOD })
@Retention(RUNTIME)
public @interface GraphQLIgnore {
}
2 changes: 1 addition & 1 deletion graphql-jpa-query-autoconfigure/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>com.introproventures</groupId>
<artifactId>graphql-jpa-query-build</artifactId>
<version>0.3.28-SNAPSHOT</version>
<version>0.3.34-SNAPSHOT</version>
<relativePath>../graphql-jpa-query-build</relativePath>
</parent>
<artifactId>graphql-jpa-query-autoconfigure</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion graphql-jpa-query-boot-starter/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>com.introproventures</groupId>
<artifactId>graphql-jpa-query-build</artifactId>
<version>0.3.28-SNAPSHOT</version>
<version>0.3.34-SNAPSHOT</version>
<relativePath>../graphql-jpa-query-build</relativePath>
</parent>

Expand Down
4 changes: 2 additions & 2 deletions graphql-jpa-query-build/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>com.introproventures</groupId>
<artifactId>graphql-jpa-query-dependencies</artifactId>
<version>0.3.28-SNAPSHOT</version>
<version>0.3.34-SNAPSHOT</version>
<relativePath>../graphql-jpa-query-dependencies</relativePath>
</parent>
<artifactId>graphql-jpa-query-build</artifactId>
Expand All @@ -15,7 +15,7 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.3.RELEASE</version>
<version>2.1.7.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand Down
2 changes: 1 addition & 1 deletion graphql-jpa-query-dependencies/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>com.introproventures</groupId>
<artifactId>graphql-jpa-query</artifactId>
<version>0.3.28-SNAPSHOT</version>
<version>0.3.34-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<artifactId>graphql-jpa-query-dependencies</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion graphql-jpa-query-example-merge/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>com.introproventures</groupId>
<artifactId>graphql-jpa-query-build</artifactId>
<version>0.3.28-SNAPSHOT</version>
<version>0.3.34-SNAPSHOT</version>
<relativePath>../graphql-jpa-query-build</relativePath>
</parent>

Expand Down
13 changes: 13 additions & 0 deletions graphql-jpa-query-example-merge/src/main/resources/books.sql
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,16 @@ insert into book (id, title, author_id, genre) values (5, 'The Cherry Orchard',
insert into book (id, title, author_id, genre) values (6, 'The Seagull', 4, 'PLAY');
insert into book (id, title, author_id, genre) values (7, 'Three Sisters', 4, 'PLAY');
insert into author (id, name, genre) values (8, 'Igor Dianov', 'JAVA');

insert into book_tags (book_id, tags) values (2, 'war'), (2, 'piece');
insert into book_tags (book_id, tags) values (3, 'anna'), (3, 'karenina');
insert into book_tags (book_id, tags) values (5, 'cherry'), (5, 'orchard');
insert into book_tags (book_id, tags) values (6, 'seagull');
insert into book_tags (book_id, tags) values (7, 'three'), (7, 'sisters');

insert into author_phone_numbers(phone_number, author_id) values
('1-123-1234', 1),
('1-123-5678', 1),
('4-123-1234', 4),
('4-123-5678', 4);

2 changes: 1 addition & 1 deletion graphql-jpa-query-example-model-books/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>com.introproventures</groupId>
<artifactId>graphql-jpa-query-build</artifactId>
<version>0.3.28-SNAPSHOT</version>
<version>0.3.34-SNAPSHOT</version>
<relativePath>../graphql-jpa-query-build</relativePath>
</parent>
<artifactId>graphql-jpa-query-example-model-books</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,29 @@
package com.introproventures.graphql.jpa.query.schema.model.book;

import java.util.Date;
import java.util.LinkedHashSet;
import java.util.Set;

import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Transient;

import com.introproventures.graphql.jpa.query.annotation.GraphQLDescription;
import com.introproventures.graphql.jpa.query.annotation.GraphQLIgnore;
import com.introproventures.graphql.jpa.query.annotation.GraphQLIgnoreFilter;
import com.introproventures.graphql.jpa.query.annotation.GraphQLIgnoreOrder;

import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@Entity
@EqualsAndHashCode(exclude="author")
@EqualsAndHashCode(exclude= {"author", "tags"})
public class Book {
@Id
Long id;
Expand All @@ -42,12 +49,22 @@ public class Book {
@GraphQLIgnoreOrder
@GraphQLIgnoreFilter
String description;

@ElementCollection(fetch = FetchType.LAZY)
@GraphQLDescription("A set of user-defined tags")
private Set<String> tags = new LinkedHashSet<>();

@ManyToOne(fetch=FetchType.LAZY, optional = false)
Author author;

@Enumerated(EnumType.STRING)
Genre genre;

Date publicationDate;
Date publicationDate;

@Transient
@GraphQLIgnore
public String getAuthorName(){
return author.getName();
}
}
2 changes: 1 addition & 1 deletion graphql-jpa-query-example-model-starwars/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>com.introproventures</groupId>
<artifactId>graphql-jpa-query-build</artifactId>
<version>0.3.28-SNAPSHOT</version>
<version>0.3.34-SNAPSHOT</version>
<relativePath>../graphql-jpa-query-build</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion graphql-jpa-query-example-simple/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>com.introproventures</groupId>
<artifactId>graphql-jpa-query-build</artifactId>
<version>0.3.28-SNAPSHOT</version>
<version>0.3.34-SNAPSHOT</version>
<relativePath>../graphql-jpa-query-build</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion graphql-jpa-query-graphiql/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>com.introproventures</groupId>
<artifactId>graphql-jpa-query</artifactId>
<version>0.3.28-SNAPSHOT</version>
<version>0.3.34-SNAPSHOT</version>
</parent>
<artifactId>graphql-jpa-query-graphiql</artifactId>
</project>
2 changes: 1 addition & 1 deletion graphql-jpa-query-schema/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>com.introproventures</groupId>
<artifactId>graphql-jpa-query-build</artifactId>
<version>0.3.28-SNAPSHOT</version>
<version>0.3.34-SNAPSHOT</version>
<relativePath>../graphql-jpa-query-build</relativePath>
</parent>

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
package com.introproventures.graphql.jpa.query.introspection;


import java.lang.annotation.Annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.Arrays;
import java.util.Objects;

public class AnnotationDescriptor {

private final Annotation annotation;

private final Class<? extends Annotation> annotationType;

private final ElementType[] elementTypes;

private final RetentionPolicy policy;

private final boolean isDocumented;

private final boolean isInherited;

public <A extends Annotation> AnnotationDescriptor(A annotation) {
this.annotation = annotation;
annotationType = annotation.annotationType();

Target target = annotationType.getAnnotation(Target.class);
elementTypes = (target == null) ? ElementType.values() : target.value();

Retention retention = annotationType.getAnnotation(Retention.class);
policy = (retention == null) ? RetentionPolicy.CLASS : retention.value();

Documented documented = annotationType.getAnnotation(Documented.class);
isDocumented = (documented != null);

Inherited inherited = annotationType.getAnnotation(Inherited.class);
isInherited = (inherited != null);
}

@SuppressWarnings("unchecked")
public <A extends Annotation> A getAnnotation() {
return (A) annotation;
}

public Class<? extends Annotation> getAnnotationType() {
return annotationType;
}

public ElementType[] getElementTypes() {
return elementTypes;
}

public RetentionPolicy getPolicy() {
return policy;
}

public boolean isDocumented() {
return isDocumented;
}

public boolean isInherited() {
return isInherited;
}

@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("AnnotationDescriptor [annotation=")
.append(annotation)
.append(", annotationType=")
.append(annotationType)
.append(", elementTypes=")
.append(Arrays.toString(elementTypes))
.append(", policy=")
.append(policy)
.append(", isDocumented=")
.append(isDocumented)
.append(", isInherited=")
.append(isInherited)
.append("]");
return builder.toString();
}

@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + Arrays.hashCode(elementTypes);
result = prime * result + Objects.hash(annotation, annotationType, isDocumented, isInherited, policy);
return result;
}

@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
AnnotationDescriptor other = (AnnotationDescriptor) obj;
return Objects.equals(annotation, other.annotation)
&& Objects.equals(annotationType, other.annotationType)
&& Arrays.equals(elementTypes, other.elementTypes)
&& isDocumented == other.isDocumented
&& isInherited == other.isInherited
&& policy == other.policy;
}

}
Loading