From 513a91b41e0daa7e19c2029e2b747f1cff21f52b Mon Sep 17 00:00:00 2001 From: r-ca Date: Tue, 9 Jan 2024 17:04:42 +0900 Subject: [PATCH 1/4] =?UTF-8?q?throws=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/one/nem/lacerta/processor/DocumentProcessor.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/processor/src/main/java/one/nem/lacerta/processor/DocumentProcessor.java b/processor/src/main/java/one/nem/lacerta/processor/DocumentProcessor.java index abca8a84..d5584c24 100644 --- a/processor/src/main/java/one/nem/lacerta/processor/DocumentProcessor.java +++ b/processor/src/main/java/one/nem/lacerta/processor/DocumentProcessor.java @@ -7,9 +7,9 @@ public interface DocumentProcessor { // ページ操作 void addNewPageToLast(Bitmap bitmap) throws Exception; void addNewPagesToLast(Bitmap[] bitmaps) throws Exception; - void addNewPageAfterIndex(Bitmap bitmap, int index); - void addNewPageBeforeIndex(Bitmap bitmap, int index); - void removePageAtIndex(int index); + void addNewPageAfterIndex(Bitmap bitmap, int index) throws Exception; + void addNewPageBeforeIndex(Bitmap bitmap, int index) throws Exception; + void removePageAtIndex(int index) throws Exception; // 更新 void updatePageAtIndex(Bitmap bitmap, int index); From 1805cd7d732f8a957c2b525a10c523d42fd3066b Mon Sep 17 00:00:00 2001 From: r-ca Date: Tue, 9 Jan 2024 17:05:25 +0900 Subject: [PATCH 2/4] WIP --- .../processor/impl/DocumentProcessorImpl.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/processor/src/main/java/one/nem/lacerta/processor/impl/DocumentProcessorImpl.java b/processor/src/main/java/one/nem/lacerta/processor/impl/DocumentProcessorImpl.java index ad31fc6c..c4669c36 100644 --- a/processor/src/main/java/one/nem/lacerta/processor/impl/DocumentProcessorImpl.java +++ b/processor/src/main/java/one/nem/lacerta/processor/impl/DocumentProcessorImpl.java @@ -119,7 +119,17 @@ public class DocumentProcessorImpl implements DocumentProcessor{ } @Override - public void addNewPageAfterIndex(Bitmap bitmap, int index) { + public void addNewPageAfterIndex(Bitmap bitmap, int index) throws Exception { + logger.debug("addNewPageAfterIndex", "called"); + String filename = UUID.randomUUID().toString() + ".png"; // TODO-rca: 拡張子を動的にする + + this.fileManager.getNewInstance().createDirectoryIfNotExist(DEFAULT_SAVE_DIR).resolve(DEFAULT_SAVE_DIR).saveBitmap(bitmap, filename); + + XmlMetaPageModel xmlMetaPageModel = new XmlMetaPageModel(); + xmlMetaPageModel.setFilename(filename); + xmlMetaPageModel.setIndex(index + 1); + xmlMetaModel.getPages().add(index, xmlMetaPageModel); + } From e3a5dee36cf41f5f329f33f355d55812f9f44eb0 Mon Sep 17 00:00:00 2001 From: r-ca Date: Tue, 9 Jan 2024 17:07:37 +0900 Subject: [PATCH 3/4] =?UTF-8?q?addNewPageAfterIndex=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../processor/impl/DocumentProcessorImpl.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/processor/src/main/java/one/nem/lacerta/processor/impl/DocumentProcessorImpl.java b/processor/src/main/java/one/nem/lacerta/processor/impl/DocumentProcessorImpl.java index c4669c36..23efa144 100644 --- a/processor/src/main/java/one/nem/lacerta/processor/impl/DocumentProcessorImpl.java +++ b/processor/src/main/java/one/nem/lacerta/processor/impl/DocumentProcessorImpl.java @@ -118,6 +118,19 @@ public class DocumentProcessorImpl implements DocumentProcessor{ } // TODO-rca: 効率悪いので改善する } + // Internal + // Indexを振り直す + private ArrayList reIndexPages(ArrayList pages) { + logger.debug("reIndexPages", "called"); // TODO-rca: 効率化 + ArrayList newPages = new ArrayList<>(); + for (int i = 0; i < pages.size(); i++) { + XmlMetaPageModel xmlMetaPageModel = pages.get(i); + xmlMetaPageModel.setIndex(i + 1); + newPages.add(xmlMetaPageModel); + } + return newPages; + } + @Override public void addNewPageAfterIndex(Bitmap bitmap, int index) throws Exception { logger.debug("addNewPageAfterIndex", "called"); @@ -129,7 +142,7 @@ public class DocumentProcessorImpl implements DocumentProcessor{ xmlMetaPageModel.setFilename(filename); xmlMetaPageModel.setIndex(index + 1); xmlMetaModel.getPages().add(index, xmlMetaPageModel); - + xmlMetaModel.setPages(reIndexPages(xmlMetaModel.getPages())); } From 0c59c85b28fdc614cbff2ed81e189dcce2fed351 Mon Sep 17 00:00:00 2001 From: r-ca Date: Tue, 9 Jan 2024 17:12:13 +0900 Subject: [PATCH 4/4] =?UTF-8?q?addNewPageBeforeIndex=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../processor/impl/DocumentProcessorImpl.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/processor/src/main/java/one/nem/lacerta/processor/impl/DocumentProcessorImpl.java b/processor/src/main/java/one/nem/lacerta/processor/impl/DocumentProcessorImpl.java index 23efa144..1eada540 100644 --- a/processor/src/main/java/one/nem/lacerta/processor/impl/DocumentProcessorImpl.java +++ b/processor/src/main/java/one/nem/lacerta/processor/impl/DocumentProcessorImpl.java @@ -143,12 +143,20 @@ public class DocumentProcessorImpl implements DocumentProcessor{ xmlMetaPageModel.setIndex(index + 1); xmlMetaModel.getPages().add(index, xmlMetaPageModel); xmlMetaModel.setPages(reIndexPages(xmlMetaModel.getPages())); - } @Override - public void addNewPageBeforeIndex(Bitmap bitmap, int index) { + public void addNewPageBeforeIndex(Bitmap bitmap, int index) throws Exception { + logger.debug("addNewPageBeforeIndex", "called"); + String filename = UUID.randomUUID().toString() + ".png"; // TODO-rca: 拡張子を動的にする + this.fileManager.getNewInstance().createDirectoryIfNotExist(DEFAULT_SAVE_DIR).resolve(DEFAULT_SAVE_DIR).saveBitmap(bitmap, filename); + + XmlMetaPageModel xmlMetaPageModel = new XmlMetaPageModel(); + xmlMetaPageModel.setFilename(filename); + xmlMetaPageModel.setIndex(index); + xmlMetaModel.getPages().add(index - 1, xmlMetaPageModel); + xmlMetaModel.setPages(reIndexPages(xmlMetaModel.getPages())); } @Override