Skip to content

Commit 9c4473d

Browse files
timis1timis1
andauthored
JAVA-20166 Migrating spring-date-eclipselink (eugenp#13959)
* JAVA-20166 Migrating spring-date-eclipselink * JAVA-20166 Fix failed tests address already bind * JAVA-20166 Migrating spring-date-couchbase-2 * JAVA-20166 Replace with optional instead of returning null --------- Co-authored-by: timis1 <[email protected]>
1 parent e49e57e commit 9c4473d

File tree

40 files changed

+266
-220
lines changed

40 files changed

+266
-220
lines changed

persistence-modules/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@
7171
<module>spring-data-cassandra-test</module>
7272
<!-- <module>spring-data-cassandra-reactive</module> FAILED -->
7373
<module>spring-data-cosmosdb</module>
74-
<!-- <module>spring-data-couchbase-2</module> FAILED -->
74+
<module>spring-data-couchbase-2</module>
7575
<module>spring-data-dynamodb</module>
76-
<!-- <module>spring-data-eclipselink</module> FAILED -->
76+
<module>spring-data-eclipselink</module>
7777
<module>spring-data-elasticsearch</module>
7878
<!-- <module>spring-data-gemfire</module> Won't Fix in JAVA-14499, The dependencies used are -->
7979
<!-- no longer available or maintained. Ref: https://spring.io/projects/spring-data-gemfire#overview -->

persistence-modules/spring-data-couchbase-2/pom.xml

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -57,23 +57,22 @@
5757
<scope>test</scope>
5858
</dependency>
5959
<dependency>
60-
<groupId>javax.el</groupId>
61-
<artifactId>javax.el-api</artifactId>
62-
<version>${javax.el.version}</version>
60+
<groupId>org.glassfish.expressly</groupId>
61+
<artifactId>expressly</artifactId>
62+
<version>5.0.0</version>
6363
</dependency>
6464
<dependency>
65-
<groupId>org.glassfish</groupId>
66-
<artifactId>javax.el</artifactId>
67-
<version>${javax.el.version}</version>
65+
<groupId>jakarta.annotation</groupId>
66+
<artifactId>jakarta.annotation-api</artifactId>
67+
<version>2.1.1</version>
6868
</dependency>
6969
</dependencies>
7070

7171
<properties>
72-
<spring-framework.version>4.3.4.RELEASE</spring-framework.version>
73-
<spring-data-couchbase.version>2.1.5.RELEASE</spring-data-couchbase.version>
74-
<hibernate-validator.version>5.3.3.Final</hibernate-validator.version>
75-
<joda-time.version>2.9.6</joda-time.version>
76-
<javax.el.version>3.0.0</javax.el.version>
72+
<spring-framework.version>6.0.6</spring-framework.version>
73+
<spring-data-couchbase.version>5.0.3</spring-data-couchbase.version>
74+
<hibernate-validator.version>8.0.0.Final</hibernate-validator.version>
75+
<joda-time.version>2.12.2</joda-time.version>
7776
</properties>
7877

7978
</project>

persistence-modules/spring-data-couchbase-2/src/main/java/com/baeldung/spring/data/couchbase/model/Campus.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
package com.baeldung.spring.data.couchbase.model;
22

3-
import javax.validation.constraints.NotNull;
3+
import jakarta.validation.constraints.NotNull;
44

55
import org.springframework.data.annotation.Id;
66
import org.springframework.data.couchbase.core.mapping.Document;
7+
import org.springframework.data.couchbase.core.mapping.Field;
78
import org.springframework.data.geo.Point;
89

9-
import com.couchbase.client.java.repository.annotation.Field;
10-
1110
@Document
1211
public class Campus {
1312

persistence-modules/spring-data-couchbase-2/src/main/java/com/baeldung/spring/data/couchbase/model/Person.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
package com.baeldung.spring.data.couchbase.model;
22

3-
import javax.validation.constraints.NotNull;
3+
import jakarta.validation.constraints.NotNull;
44

55
import org.joda.time.DateTime;
66
import org.springframework.data.annotation.Id;
77
import org.springframework.data.couchbase.core.mapping.Document;
8-
9-
import com.couchbase.client.java.repository.annotation.Field;
8+
import org.springframework.data.couchbase.core.mapping.Field;
109

1110
@Document
1211
public class Person {

persistence-modules/spring-data-couchbase-2/src/main/java/com/baeldung/spring/data/couchbase/model/Student.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
package com.baeldung.spring.data.couchbase.model;
22

3-
import javax.validation.constraints.NotNull;
4-
import javax.validation.constraints.Past;
5-
import javax.validation.constraints.Pattern;
6-
import javax.validation.constraints.Size;
3+
import jakarta.validation.constraints.NotNull;
4+
import jakarta.validation.constraints.Past;
5+
import jakarta.validation.constraints.Pattern;
6+
import jakarta.validation.constraints.Size;
77

88
import org.joda.time.DateTime;
99
import org.springframework.data.annotation.Id;
1010
import org.springframework.data.annotation.Version;
1111
import org.springframework.data.couchbase.core.mapping.Document;
12-
13-
import com.couchbase.client.java.repository.annotation.Field;
12+
import org.springframework.data.couchbase.core.mapping.Field;
1413

1514
@Document
1615
public class Student {

persistence-modules/spring-data-couchbase-2/src/main/java/com/baeldung/spring/data/couchbase/repos/CustomStudentRepositoryImpl.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55
import com.baeldung.spring.data.couchbase.model.Student;
66
import org.springframework.beans.factory.annotation.Autowired;
77
import org.springframework.data.couchbase.core.CouchbaseTemplate;
8-
9-
import com.couchbase.client.java.view.Stale;
10-
import com.couchbase.client.java.view.ViewQuery;
8+
import org.springframework.data.couchbase.core.query.QueryCriteria;
119

1210
public class CustomStudentRepositoryImpl implements CustomStudentRepository {
1311

@@ -17,6 +15,6 @@ public class CustomStudentRepositoryImpl implements CustomStudentRepository {
1715
private CouchbaseTemplate template;
1816

1917
public List<Student> findByFirstNameStartsWith(String s) {
20-
return template.findByView(ViewQuery.from(DESIGN_DOC, "byFirstName").startKey(s).stale(Stale.FALSE), Student.class);
18+
return template.findByQuery(Student.class).matching(QueryCriteria.where("firstName").startingWith(s)).all();
2119
}
2220
}

persistence-modules/spring-data-couchbase-2/src/main/java/com/baeldung/spring/data/couchbase/service/PersonRepositoryService.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.ArrayList;
44
import java.util.Iterator;
55
import java.util.List;
6+
import java.util.Optional;
67

78
import com.baeldung.spring.data.couchbase.model.Person;
89
import com.baeldung.spring.data.couchbase.repos.PersonRepository;
@@ -22,12 +23,12 @@ public void setPersonRepository(PersonRepository repo) {
2223
this.repo = repo;
2324
}
2425

25-
public Person findOne(String id) {
26-
return repo.findOne(id);
26+
public Optional<Person> findOne(String id) {
27+
return repo.findById(id);
2728
}
2829

2930
public List<Person> findAll() {
30-
List<Person> people = new ArrayList<Person>();
31+
List<Person> people = new ArrayList<>();
3132
Iterator<Person> it = repo.findAll().iterator();
3233
while (it.hasNext()) {
3334
people.add(it.next());

persistence-modules/spring-data-couchbase-2/src/main/java/com/baeldung/spring/data/couchbase/service/PersonService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package com.baeldung.spring.data.couchbase.service;
22

33
import java.util.List;
4+
import java.util.Optional;
45

56
import com.baeldung.spring.data.couchbase.model.Person;
67

78
public interface PersonService {
89

9-
Person findOne(String id);
10+
Optional<Person> findOne(String id);
1011

1112
List<Person> findAll();
1213

Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package com.baeldung.spring.data.couchbase.service;
22

3+
import static org.springframework.data.couchbase.core.query.QueryCriteria.where;
4+
35
import java.util.List;
6+
import java.util.Optional;
47

58
import com.baeldung.spring.data.couchbase.model.Person;
69
import org.joda.time.DateTime;
@@ -9,8 +12,6 @@
912
import org.springframework.data.couchbase.core.CouchbaseTemplate;
1013
import org.springframework.stereotype.Service;
1114

12-
import com.couchbase.client.java.view.ViewQuery;
13-
1415
@Service
1516
@Qualifier("PersonTemplateService")
1617
public class PersonTemplateService implements PersonService {
@@ -24,33 +25,33 @@ public void setCouchbaseTemplate(CouchbaseTemplate template) {
2425
this.template = template;
2526
}
2627

27-
public Person findOne(String id) {
28-
return template.findById(id, Person.class);
28+
public Optional<Person> findOne(String id) {
29+
return Optional.of(template.findById(Person.class).one(id));
2930
}
3031

3132
public List<Person> findAll() {
32-
return template.findByView(ViewQuery.from(DESIGN_DOC, "all"), Person.class);
33+
return template.findByQuery(Person.class).all();
3334
}
3435

3536
public List<Person> findByFirstName(String firstName) {
36-
return template.findByView(ViewQuery.from(DESIGN_DOC, "byFirstName"), Person.class);
37+
return template.findByQuery(Person.class).matching(where("firstName").is(firstName)).all();
3738
}
3839

3940
public List<Person> findByLastName(String lastName) {
40-
return template.findByView(ViewQuery.from(DESIGN_DOC, "byLastName"), Person.class);
41+
return template.findByQuery(Person.class).matching(where("lastName").is(lastName)).all();
4142
}
4243

4344
public void create(Person person) {
4445
person.setCreated(DateTime.now());
45-
template.insert(person);
46+
template.insertById(Person.class).one(person);
4647
}
4748

4849
public void update(Person person) {
4950
person.setUpdated(DateTime.now());
50-
template.update(person);
51+
template.removeById(Person.class).oneEntity(person);
5152
}
5253

5354
public void delete(Person person) {
54-
template.remove(person);
55+
template.removeById(Person.class).oneEntity(person);
5556
}
5657
}

persistence-modules/spring-data-couchbase-2/src/main/java/com/baeldung/spring/data/couchbase/service/StudentRepositoryService.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.ArrayList;
44
import java.util.Iterator;
55
import java.util.List;
6+
import java.util.Optional;
67

78
import com.baeldung.spring.data.couchbase.model.Student;
89
import com.baeldung.spring.data.couchbase.repos.StudentRepository;
@@ -22,12 +23,12 @@ public void setStudentRepository(StudentRepository repo) {
2223
this.repo = repo;
2324
}
2425

25-
public Student findOne(String id) {
26-
return repo.findOne(id);
26+
public Optional<Student> findOne(String id) {
27+
return repo.findById(id);
2728
}
2829

2930
public List<Student> findAll() {
30-
List<Student> people = new ArrayList<Student>();
31+
List<Student> people = new ArrayList<>();
3132
Iterator<Student> it = repo.findAll().iterator();
3233
while (it.hasNext()) {
3334
people.add(it.next());

0 commit comments

Comments
 (0)