Skip to content

Commit

Permalink
feat: store chapters
Browse files Browse the repository at this point in the history
  • Loading branch information
Angular2Guy committed Sep 7, 2024
1 parent 3909bde commit 72afdc9
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import java.util.List;
import java.util.stream.Stream;

import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
Expand All @@ -26,7 +25,6 @@
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import ch.xxx.aidoclibchat.domain.common.MetaData.DocumentType;
import ch.xxx.aidoclibchat.domain.model.dto.ChapterPages;
import ch.xxx.aidoclibchat.domain.model.dto.DocumentDto;
import ch.xxx.aidoclibchat.domain.model.dto.DocumentSearchDto;
Expand Down Expand Up @@ -56,8 +54,8 @@ public long handleDocumentUpload(@RequestParam("file") MultipartFile document) {
}

@PostMapping("/upload-book")
public String handleBookUpload(@RequestParam("file") MultipartFile document, @RequestParam("chapters") List<ChapterPages> chapters) {
var result = this.documentService.summarizeBook(this.bookMapper.toEntity(document), chapters);
public String handleBookUpload(@RequestParam("file") MultipartFile bookFile, @RequestParam("chapters") List<ChapterPages> chapters) {
var result = this.documentService.summarizeBook(this.bookMapper.toEntity(bookFile), chapters);
return result;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import java.util.Map;
import java.util.Optional;
import java.util.StringTokenizer;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;

import org.slf4j.Logger;
Expand All @@ -42,6 +43,7 @@
import ch.xxx.aidoclibchat.domain.model.dto.SearchDto;
import ch.xxx.aidoclibchat.domain.model.entity.Book;
import ch.xxx.aidoclibchat.domain.model.entity.BookRepository;
import ch.xxx.aidoclibchat.domain.model.entity.Chapter;
import ch.xxx.aidoclibchat.domain.model.entity.Document;
import ch.xxx.aidoclibchat.domain.model.entity.DocumentRepository;
import ch.xxx.aidoclibchat.domain.model.entity.DocumentVsRepository;
Expand Down Expand Up @@ -89,10 +91,18 @@ public void init() {
}

public String summarizeBook(Book book, List<ChapterPages> chapters) {
var tikaDocuments = new TikaDocumentReader(new ByteArrayResource(book.getBookFile())).get();
var tikaDocuments = new TikaDocumentReader(new ByteArrayResource(book.getBookFile())).get();
var atomicInt = new AtomicInteger(0);
var myChapters = chapters.stream()
.flatMap(myChapter -> tikaDocuments.stream().skip(myChapter.startPage()).limit(myChapter.endPage())).toList();
LOGGER.info(myChapters.getLast().getContent());
.flatMap(myChapter -> tikaDocuments.stream().skip(myChapter.startPage()).limit(myChapter.endPage())).map(myDoc -> {
var result = new Chapter();
result.setBook(book);
result.setChapterText(myDoc.getContent());
result.setTitle("Chapter "+atomicInt.addAndGet(1));
return result;
}) .toList();
book.getChapters().addAll(myChapters);
LOGGER.info(myChapters.getLast().getChapterText());

//book.setSummary("");
this.bookRepository.save(book);
Expand Down

0 comments on commit 72afdc9

Please sign in to comment.