Skip to content

Commit

Permalink
Correct annotation processing, fix #368
Browse files Browse the repository at this point in the history
  • Loading branch information
julgus committed Aug 29, 2023
1 parent 86a7492 commit 4f7edd9
Show file tree
Hide file tree
Showing 7 changed files with 33 additions and 26 deletions.
19 changes: 9 additions & 10 deletions integration-tests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,35 +39,34 @@
<version>6.0.2.Final</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.13.Final</version>
<version>8.0.1.Final</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.2</version>
<scope>test</scope>
<groupId>jakarta.el</groupId>
<artifactId>jakarta.el-api</artifactId>
<version>5.0.1</version>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<version>5.0.0-M1</version>
</dependency>

<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>1.12.12</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>com.speedment.jpastreamer</groupId>
<artifactId>jpastreamer-core</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,10 @@
import com.speedment.jpastreamer.integration.test.standard.model.groups.GroupA;
import com.speedment.jpastreamer.integration.test.standard.model.groups.GroupB;
import jakarta.persistence.*;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Size;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.ArrayList;
Expand Down Expand Up @@ -45,11 +46,11 @@ public Film(Integer filmId, String title) {
private Integer filmId;

@Column(name = "title", nullable = false, columnDefinition = "varchar(255)")
//@NotEmpty(message = "Title may not be empty", groups = {GroupA.class, GroupB.class})
@NotNull(message = "Title may not be null", groups = {GroupA.class, GroupB.class})
@NotEmpty(message = "Title may not be empty", groups = {GroupA.class, GroupB.class})
private String title;

@Column(name = "description", nullable = false, columnDefinition = "text")
@NotBlank
private String description;

@ManyToOne
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -385,18 +385,19 @@ private String trimAnnotations(Element field) {
final String fieldType = field.asType().toString();
final List<String> annotations = field.getAnnotationMirrors().stream()
.map(Object::toString)
.filter(s -> !(s.contains("jakarta")))
.collect(Collectors.toList());
if (annotations.isEmpty() && !fieldType.contains("@")) {
final int index = fieldType.lastIndexOf(' ');
return index < 0 ? fieldType : fieldType.substring(index + 1);
}
String result = fieldType;
for (String annotation : annotations) {
result = result.replace(annotation, "");
// ensure that trailing commas are removed
result = result.contains(annotation + ',') ?
result.replace(annotation + ',', "") :
result.replace(annotation, "");
}
result = result.replace(" ", "");
result = result.replace(",", "");
return result;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@
</dependency>

<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>8.0.1.Final</version>
</dependency>

</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,11 @@
package com.speedment.jpastreamer.fieldgenerator.test;

import jakarta.persistence.*;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.sql.Time;
import java.time.LocalDateTime;
import java.util.*;
Expand All @@ -37,6 +39,7 @@ public class Film {
private String title;

@Column(name = "description", nullable = false, columnDefinition = "text")
@NotBlank
private String description;

@Column(name = "audienceScore", nullable = true, columnDefinition = "decimal(4,2)")
Expand Down Expand Up @@ -73,6 +76,9 @@ public class Film {
private Language originalLanguage;

@Column(name = "complex_column")
@NotBlank
@NotEmpty
@NotNull
private Map<Map<List<Set<Double>>, Integer>, Long> complexColumn;

@Column(name = "rental_duration", columnDefinition = "smallint(5)")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,21 @@
package com.speedment.jpastreamer.fieldgenerator.test;

import jakarta.persistence.*;
import javax.validation.constraints.NotEmpty;

import java.io.Serializable;

import jakarta.validation.constraints.NotEmpty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Entity
@Table(name="user")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor

public class User2 implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_shared")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
requires jpastreamer.fieldgenerator.standard;
requires jakarta.persistence;
requires lombok;
requires java.validation;
requires jakarta.validation;
requires transitive java.sql;
requires transitive jpastreamer.field;

Expand Down

0 comments on commit 4f7edd9

Please sign in to comment.