diff --git a/0-Plugin/src/main/java/cli/Subcommand.java b/0-Plugin/src/main/java/cli/Subcommand.java index ecf187b..c8ae3df 100644 --- a/0-Plugin/src/main/java/cli/Subcommand.java +++ b/0-Plugin/src/main/java/cli/Subcommand.java @@ -18,7 +18,7 @@ abstract public class Subcommand { public String executeSubcommand(String[] args) { try { - commandExits(args[0]); + commandExists(args[0]); return commands.get(args[0]).apply(args); } catch (IndexOutOfBoundsException e) { @@ -26,7 +26,7 @@ abstract public class Subcommand { } } - private void commandExits(String command) { + private void commandExists(String command) { if (commands.get(command) == null) { throw new CliError("Subcommand " + command + " does not exist! " + getUsage()); } diff --git a/0-Plugin/src/main/java/main/Main.java b/0-Plugin/src/main/java/main/Main.java index 3fab6c5..6eb467c 100644 --- a/0-Plugin/src/main/java/main/Main.java +++ b/0-Plugin/src/main/java/main/Main.java @@ -1,20 +1,24 @@ package main; -import persistence.GenericCSVDAO; -import persistence.category.CSVCategoryPersistenceAdapter; -import persistence.category.CategoryEntity; -import tag.TagName; - -import java.io.File; +import persistence.PersistenceError; public class Main { public static void main(String[] args) { - CommandHandler commandHandler = new CommandHandler(); - commandHandler.executeCommand(args); + try { + commandHandler.executeCommand(args); + } + catch (PersistenceError persistenceError) { + + System.out.println("There was a Error with loading or saving the persistence data."); + System.out.println(persistenceError.getMessage()); + } + catch (RuntimeException runtimeException) { + System.out.println(runtimeException.getMessage()); + } } } diff --git a/0-Plugin/src/test/java/persistence/GenericCSVDAOTest.java b/0-Plugin/src/test/java/persistence/GenericCSVDAOTest.java index 80e7676..4ed35ff 100644 --- a/0-Plugin/src/test/java/persistence/GenericCSVDAOTest.java +++ b/0-Plugin/src/test/java/persistence/GenericCSVDAOTest.java @@ -13,7 +13,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals; class GenericCSVDAOTest { GenericCSVDAO sut; - File file = new File("test.csv"); + File file = File.createTempFile("test","link-ditch"); + + GenericCSVDAOTest() throws IOException { + } @BeforeEach public void beforeEach() throws IOException { @@ -35,8 +38,7 @@ class GenericCSVDAOTest { public void addWorks() throws IOException { assertEquals(0, sut.getALl().size()); - var entityToAdd = new CategoryEntity("categoryName", 99); - sut.add(entityToAdd); + CategoryEntity entityToAdd = addDummyEntity("categoryName", 99); var foundEntity = sut.getALl().stream().findFirst().orElseThrow(); assertEquals(entityToAdd, foundEntity); @@ -44,23 +46,27 @@ class GenericCSVDAOTest { @Test public void removeWorks() throws IOException { - var entityToAdd = new CategoryEntity("categoryName", 99); - sut.add(entityToAdd); + CategoryEntity entityToAdd = addDummyEntity("categoryName", 99); sut.remove(entityToAdd); assertEquals(0, sut.getALl().size()); } + @Test public void removeAllWorks() throws IOException { - var entityToAdd1 = new CategoryEntity("categoryName1", 101); - sut.add(entityToAdd1); - var entityToAdd2 = new CategoryEntity("categoryName2", 102); - sut.add(entityToAdd2); + addDummyEntity("categoryName1", 101); + addDummyEntity("categoryName2", 102); assertEquals(2, sut.getALl().size()); sut.removeAll(); assertEquals(0, sut.getALl().size()); } + + private CategoryEntity addDummyEntity(String categoryName, int id) { + var entityToAdd = new CategoryEntity(categoryName, id); + sut.add(entityToAdd); + return entityToAdd; + } } diff --git a/2-Application/src/main/java/link/LinkUseCase.java b/2-Application/src/main/java/link/LinkUseCase.java index 282c3cf..ec4bcdf 100644 --- a/2-Application/src/main/java/link/LinkUseCase.java +++ b/2-Application/src/main/java/link/LinkUseCase.java @@ -18,12 +18,12 @@ public class LinkUseCase { private final LinkRepository linkRepository; private final CategoryRepository categoryRepository; private final TaggingUseCase taggingUseCase; - private final LinkIdGenerator linkIdGenerator; + private final RandomLinkIdGenerator linkIdGenerator; public LinkUseCase(LinkRepository linkRepository, CategoryRepository categoryRepository, TaggingUseCase taggingUseCase, - LinkIdGenerator linkIdGenerator) { + RandomLinkIdGenerator linkIdGenerator) { this.linkRepository = linkRepository; this.categoryRepository = categoryRepository; this.taggingUseCase = taggingUseCase; diff --git a/2-Application/src/main/java/tag/TaggingUseCase.java b/2-Application/src/main/java/tag/TaggingUseCase.java index eaa18d0..40637ed 100644 --- a/2-Application/src/main/java/tag/TaggingUseCase.java +++ b/2-Application/src/main/java/tag/TaggingUseCase.java @@ -19,5 +19,4 @@ public class TaggingUseCase { tagMatcherRepository.getTagMatchers().forEach(tagMatcher -> tagMatcher.ifMatches(url).addTo(result)); return result; } - }