Skip to content

Commit 6d40124

Browse files
committed
feat: update data structure
Signed-off-by: Otavio Santana <otaviopolianasantana@gmail.com>
1 parent e260484 commit 6d40124

3 files changed

Lines changed: 40 additions & 29 deletions

File tree

src/main/java/org/soujava/demos/jakarta/App.java

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,15 @@
1212
package org.soujava.demos.jakarta;
1313

1414

15-
import jakarta.data.Order;
16-
import jakarta.data.page.PageRequest;
15+
1716
import jakarta.enterprise.inject.se.SeContainer;
1817
import jakarta.enterprise.inject.se.SeContainerInitializer;
1918
import net.datafaker.Faker;
2019

2120
import java.util.logging.Logger;
2221

2322

24-
//define vehicle entity
25-
//basic operation with repository
26-
//find queries
27-
//bult in vs classic repositories
28-
//pagination (two types)
23+
2924

3025
public class App {
3126

@@ -34,20 +29,18 @@ public class App {
3429
public static void main(String[] args) {
3530
var faker = new Faker();
3631
try (SeContainer container = SeContainerInitializer.newInstance().initialize()) {
37-
var repository = container.select(Garage.class).get();
32+
var garage = container.select(Garage.class).get();
3833

3934
for (int index = 0; index < 10; index++) {
40-
var vehicle = Vehicle.of(faker);
41-
repository.parking(vehicle);
35+
var vehicle = garage.park(Vehicle.of(faker));
4236
}
4337

44-
PageRequest pageRequest = PageRequest.ofSize(2);
45-
var page = repository.findAll(pageRequest);
46-
LOGGER.info(() -> "Page: " + page.content());
47-
PageRequest page2 = page.nextPageRequest();
48-
var page2Result = repository.findAll(page2);
49-
LOGGER.info(() -> "Page2: " + page2Result.content());
38+
var vehicles = garage.findByTransmission(Transmission.AUTOMATIC,
39+
_Vehicle.model.asc());
5040

41+
System.out.println("The vehicles with" +
42+
" automatic transmission are: "
43+
+ vehicles);
5144
}
5245
}
5346

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
package org.soujava.demos.jakarta;
22

3-
import jakarta.data.Order;
43
import jakarta.data.Sort;
54
import jakarta.data.page.CursoredPage;
65
import jakarta.data.page.Page;
76
import jakarta.data.page.PageRequest;
8-
import jakarta.data.repository.BasicRepository;
97
import jakarta.data.repository.By;
108
import jakarta.data.repository.Find;
119
import jakarta.data.repository.OrderBy;
@@ -17,22 +15,27 @@
1715
import java.util.List;
1816
import java.util.stream.Stream;
1917

20-
2118
@Repository
22-
public interface Garage {
19+
public interface Garage {
20+
21+
@Save
22+
Vehicle park(Vehicle vehicle);
2323

24-
List<Vehicle> findByTransmission(Transmission transmission);
24+
List<Vehicle> findByTransmission(Transmission transmission,
25+
Sort<Vehicle> sort);
2526

2627
@Find
27-
List<Vehicle> findBy(@By("transmission") Transmission transmission, Sort<Vehicle> order);
28+
List<Vehicle> byType(@By("transmission") Transmission transmission);
2829

29-
@Query("from Vehicle where transmission = :transmission order by type asc")
30+
@Query("from Vehicle where transmission = :transmission")
3031
Stream<Vehicle> query(@Param("transmission") Transmission transmission);
3132

32-
@Save
33-
Vehicle parking(Vehicle vehicle);
33+
@Find
34+
@OrderBy(_Vehicle.MODEL)
35+
CursoredPage<Vehicle> cursor(PageRequest pageRequest);
36+
3437

3538
@Find
3639
@OrderBy(_Vehicle.MODEL)
37-
CursoredPage<Vehicle> findAll(PageRequest pageRequest);
40+
Page<Vehicle> offset(PageRequest pageRequest);
3841
}

src/main/java/org/soujava/demos/jakarta/Vehicle.java

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,30 @@ public class Vehicle {
1212

1313
@Id
1414
private String vin;
15-
@Column
15+
@Column
1616
private String model;
17-
1817
@Column
1918
private String type;
20-
2119
@Column
2220
private Transmission transmission;
2321

22+
23+
public String getVin() {
24+
return vin;
25+
}
26+
27+
public String getModel() {
28+
return model;
29+
}
30+
31+
public String getType() {
32+
return type;
33+
}
34+
35+
public Transmission getTransmission() {
36+
return transmission;
37+
}
38+
2439
public static Vehicle of(Faker faker) {
2540
var vehicle = faker.vehicle();
2641
Vehicle entity = new Vehicle();

0 commit comments

Comments
 (0)