Skip to content
This repository was archived by the owner on Apr 23, 2019. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
22 changes: 8 additions & 14 deletions app/repository/ComputerRepository.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package repository;

import io.ebean.Ebean;
import io.ebean.EbeanServer;
import io.ebean.PagedList;
import io.ebean.Transaction;
import io.ebean.*;
import models.Computer;
import play.db.ebean.EbeanConfig;

Expand Down Expand Up @@ -38,29 +35,26 @@ public ComputerRepository(EbeanConfig ebeanConfig, DatabaseExecutionContext exec
* @param filter Filter applied on the name column
*/
public CompletionStage<PagedList<Computer>> page(int page, int pageSize, String sortBy, String order, String filter) {
return supplyAsync(() -> {
return ebeanServer.find(Computer.class).where()
return supplyAsync(() ->
ebeanServer.find(Computer.class).where()
.ilike("name", "%" + filter + "%")
.orderBy(sortBy + " " + order)
.fetch("company")
.setFirstRow(page * pageSize)
.setMaxRows(pageSize)
.findPagedList();
} , executionContext);
.findPagedList(), executionContext);
}

public CompletionStage<Optional<Computer>> lookup(Long id) {
return supplyAsync(() -> {
return Optional.ofNullable(ebeanServer.find(Computer.class).setId(id).findUnique());
}, executionContext);
return supplyAsync(() -> Optional.ofNullable(ebeanServer.find(Computer.class).setId(id).findOne()), executionContext);
}

public CompletionStage<Optional<Long>> update(Long id, Computer newComputerData) {
return supplyAsync(() -> {
Transaction txn = ebeanServer.beginTransaction();
Optional<Long> value = Optional.empty();
try {
Computer savedComputer = ebeanServer.find(Computer.class).setId(id).findUnique();
Computer savedComputer = ebeanServer.find(Computer.class).setId(id).findOne();
if (savedComputer != null) {
savedComputer.company = newComputerData.company;
savedComputer.discontinued = newComputerData.discontinued;
Expand All @@ -81,8 +75,8 @@ public CompletionStage<Optional<Long>> update(Long id, Computer newComputerData)
public CompletionStage<Optional<Long>> delete(Long id) {
return supplyAsync(() -> {
try {
final Optional<Computer> computerOptional = Optional.ofNullable(ebeanServer.find(Computer.class).setId(id).findUnique());
computerOptional.ifPresent(c -> c.delete());
final Optional<Computer> computerOptional = Optional.ofNullable(ebeanServer.find(Computer.class).setId(id).findOne());
computerOptional.ifPresent(Model::delete);
return computerOptional.map(c -> c.id);
} catch (Exception e) {
return Optional.empty();
Expand Down
2 changes: 1 addition & 1 deletion project/build.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.0.2
sbt.version=1.0.4
4 changes: 2 additions & 2 deletions project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"

// The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.6.9")
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.6.10")

addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "4.0.6")
addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "4.1.0")