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 ad4c1ce

Browse files
update Log for saving log to repository!
1 parent 0e5d025 commit ad4c1ce

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import jdk.jfr.Timestamp;
77
import lombok.Getter;
88
import lombok.NoArgsConstructor;
9+
import lombok.NonNull;
910
import lombok.Setter;
1011
import lombok.ToString;
1112

@@ -25,4 +26,8 @@ public class Log extends BaseEntity {
2526

2627
@Column(name = "log_message")
2728
private String logMessage;
29+
30+
public Log(@NonNull String message) {
31+
logMessage = message;
32+
}
2833
}

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

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
package com.csaba79coder.apifirstdevelopment.service;
22

33
import com.csaba79coder.apifirstdevelopment.entity.Book;
4+
import com.csaba79coder.apifirstdevelopment.entity.Log;
45
import com.csaba79coder.apifirstdevelopment.persistence.BookRepository;
6+
import com.csaba79coder.apifirstdevelopment.persistence.LogRepository;
7+
import com.csaba79coder.apifirstdevelopment.util.ISBN13Validator;
8+
import com.csaba79coder.apifirstdevelopment.util.Mapper;
59
import com.csaba79coder.models.BookModel;
610
import com.csaba79coder.models.ModifiedBookModel;
711
import com.csaba79coder.models.NewBookModel;
812
import lombok.RequiredArgsConstructor;
913
import lombok.extern.slf4j.Slf4j;
1014
import org.springframework.stereotype.Service;
1115

16+
import java.util.InputMismatchException;
1217
import java.util.List;
1318
import java.util.NoSuchElementException;
1419
import java.util.UUID;
@@ -17,18 +22,31 @@
1722
@RequiredArgsConstructor
1823
@Slf4j
1924
public class BookService {
25+
private final LogRepository logRepository;
2026

2127
private final BookRepository bookRepository;
28+
private Log systemLog;
2229

2330
public BookModel addNewBook(NewBookModel newModel) {
24-
25-
return null;
31+
if (newModel.getIsbn() == null || !ISBN13Validator.isValidISBN(newModel.getIsbn())
32+
|| newModel.getTitle().isEmpty() || newModel.getTitle().isBlank()
33+
|| newModel.getGenre() == null) {
34+
String message = String.format("Please represent a valid isbn input, isbn: %s is not valid!", newModel.getIsbn());
35+
systemLog = new Log(message);
36+
logRepository.save(systemLog);
37+
log.info(message);
38+
throw new InputMismatchException(message);
39+
} else {
40+
return Mapper.mapBookEntityToBookModel(bookRepository.save(Mapper.mapNewBookModelToBookEntity(newModel)));
41+
}
2642
}
2743

2844
public void deleteAnExistingBookById(UUID id) {
2945
Book book = bookRepository.findBookById(id)
3046
.orElseThrow(() -> {
3147
String message = String.format("Book with id: %s was not found", id);
48+
systemLog = new Log(message);
49+
logRepository.save(systemLog);
3250
log.info(message);
3351
return new NoSuchElementException(message);
3452
});

0 commit comments

Comments
(0)

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