Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 9aa175a

Browse files
implement findBookById and refactoring regarding code repetition
1 parent 415f159 commit 9aa175a

File tree

3 files changed

+19
-12
lines changed

3 files changed

+19
-12
lines changed

‎api-first-development-service/src/main/java/com/csaba79coder/apifirstdevelopment/controller/BookController.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,9 @@ public ResponseEntity<Void> deleteBook(UUID bookId) {
3131
return ResponseEntity.status(204).build();
3232
}
3333

34-
35-
3634
@Override
3735
public ResponseEntity<BookModel> getBookById(UUID bookId) {
38-
return null;
36+
return ResponseEntity.status(200).body(bookService.getBookById(bookId));
3937
}
4038

4139
@Override

‎api-first-development-service/src/main/java/com/csaba79coder/apifirstdevelopment/persistence/LogRepository.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@
44
import org.springframework.data.jpa.repository.JpaRepository;
55
import org.springframework.stereotype.Repository;
66

7+
import java.time.LocalDateTime;
8+
import java.util.Optional;
79
import java.util.UUID;
810

911
@Repository
1012
public interface LogRepository extends JpaRepository<Log, UUID> {
13+
// Optional<Log> findLogsByLoggedAtStartingWith(LocalDateTime localDateTime);
1114
}

‎api-first-development-service/src/main/java/com/csaba79coder/apifirstdevelopment/service/BookService.java

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class BookService {
2828
private Log systemLog;
2929

3030
public BookModel addNewBook(NewBookModel newModel) {
31-
if (newModel.getIsbn() == null || !ISBN13Validator.isValidISBN(newModel.getIsbn())
31+
if (!ISBN13Validator.isValidISBN(newModel.getIsbn())
3232
|| newModel.getTitle().isEmpty() || newModel.getTitle().isBlank()
3333
|| newModel.getGenre() == null) {
3434
String message = String.format("Please represent a valid isbn input, isbn: %s is not valid!", newModel.getIsbn());
@@ -42,18 +42,13 @@ public BookModel addNewBook(NewBookModel newModel) {
4242
}
4343

4444
public void deleteAnExistingBookById(UUID id) {
45-
Book book = bookRepository.findBookById(id)
46-
.orElseThrow(() -> {
47-
String message = String.format("Book with id: %s was not found", id);
48-
systemLog = new Log(message);
49-
logRepository.save(systemLog);
50-
log.info(message);
51-
return new NoSuchElementException(message);
52-
});
45+
Book book = findById(id);
5346
bookRepository.delete(book);
5447
}
5548

5649
public BookModel getBookById(UUID id) {
50+
Book book = findById(id);
51+
bookRepository.delete(book);
5752
return null;
5853
}
5954

@@ -64,4 +59,15 @@ public List<BookModel> renderAllBooks() {
6459
public BookModel updateAnExistingBook(UUID id, ModifiedBookModel modifyBook) {
6560
return null;
6661
}
62+
63+
private Book findById(UUID id) {
64+
return bookRepository.findBookById(id)
65+
.orElseThrow(() -> {
66+
String message = String.format("Book with id: %s was not found", id);
67+
systemLog = new Log(message);
68+
logRepository.save(systemLog);
69+
log.info(message);
70+
return new NoSuchElementException(message);
71+
});
72+
}
6773
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /