diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..b9d18bf --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml index c6a834d..6116051 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,8 +1,6 @@ - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index 0b6b7df..7863940 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,9 +2,9 @@ - - - + + + \ No newline at end of file diff --git a/.idea/modules/flashy.iml b/.idea/modules/flashy.iml deleted file mode 100644 index 2f6b1cf..0000000 --- a/.idea/modules/flashy.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules/flashy_main.iml b/.idea/modules/flashy_main.iml deleted file mode 100644 index 3d7e5d1..0000000 --- a/.idea/modules/flashy_main.iml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules/flashy_test.iml b/.idea/modules/flashy_test.iml deleted file mode 100644 index 3c5b73a..0000000 --- a/.idea/modules/flashy_test.iml +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/java/com/teamtreehouse/flashy/App.java b/src/main/java/com/teamtreehouse/flashy/App.java index bae1077..44c9d98 100644 --- a/src/main/java/com/teamtreehouse/flashy/App.java +++ b/src/main/java/com/teamtreehouse/flashy/App.java @@ -9,5 +9,5 @@ public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } - + } diff --git a/src/main/java/com/teamtreehouse/flashy/bootstrap/DatabaseLoader.java b/src/main/java/com/teamtreehouse/flashy/bootstrap/DatabaseLoader.java index 239bb00..480bd9d 100644 --- a/src/main/java/com/teamtreehouse/flashy/bootstrap/DatabaseLoader.java +++ b/src/main/java/com/teamtreehouse/flashy/bootstrap/DatabaseLoader.java @@ -13,6 +13,7 @@ @Component public class DatabaseLoader implements ApplicationRunner { + @Autowired private FlashCardRepository flashCardRepository; diff --git a/src/main/java/com/teamtreehouse/flashy/controllers/BootstrapController.java b/src/main/java/com/teamtreehouse/flashy/controllers/BootstrapController.java index 6968402..731db0c 100644 --- a/src/main/java/com/teamtreehouse/flashy/controllers/BootstrapController.java +++ b/src/main/java/com/teamtreehouse/flashy/controllers/BootstrapController.java @@ -25,10 +25,12 @@ @Controller public class BootstrapController { + private final String GITHUB_MASTER_REPO_OWNER = "treehouse-projects"; private final String GITHUB_MASTER_REPO_NAME = "java-debugging-flashy"; public static class WorkLog { + private List actions; public WorkLog() { @@ -72,7 +74,7 @@ public String forkIt(@ModelAttribute BootstrapOptions options, Model model) { return "bootstrap_github"; } - public String getGitHubUserName() throws IOException{ + public String getGitHubUserName() throws IOException { GitHubClient client = new GitHubClient(); client.setOAuth2Token(oauthToken); UserService userService = new UserService(client); @@ -90,21 +92,23 @@ public void bootstrapRepo(WorkLog workLog, String gitHubUserName) throws IOExcep repo = repositoryService.getRepository(gitHubUserName, GITHUB_MASTER_REPO_NAME); } catch (RequestException re) { Repository masterRepo = repositoryService.getRepository(GITHUB_MASTER_REPO_OWNER, - GITHUB_MASTER_REPO_NAME); + GITHUB_MASTER_REPO_NAME); repo = repositoryService.forkRepository(masterRepo); workLog.track("Forked repository %s/%s", GITHUB_MASTER_REPO_OWNER, GITHUB_MASTER_REPO_NAME); } List existingIssueTitles = new ArrayList<>(); - for (Collection existingIssues : issueService.pageIssues(gitHubUserName, repo.getName())) { + for (Collection existingIssues : issueService + .pageIssues(gitHubUserName, repo.getName())) { existingIssueTitles.addAll(existingIssues.stream() - .map(Issue::getTitle) - .collect(toList())); + .map(Issue::getTitle) + .collect(toList())); } repo.setHasIssues(true); repositoryService.editRepository(repo); workLog.track("Enabled issues for your repository %s", GITHUB_MASTER_REPO_NAME); int issueCount = 0; - for (Collection issues : issueService.pageIssues(GITHUB_MASTER_REPO_OWNER, GITHUB_MASTER_REPO_NAME)) { + for (Collection issues : issueService + .pageIssues(GITHUB_MASTER_REPO_OWNER, GITHUB_MASTER_REPO_NAME)) { for (Issue issue : issues) { if (!existingIssueTitles.contains(issue.getTitle())) { issueService.createIssue(gitHubUserName, GITHUB_MASTER_REPO_NAME, issue); diff --git a/src/main/java/com/teamtreehouse/flashy/controllers/FlashCardController.java b/src/main/java/com/teamtreehouse/flashy/controllers/FlashCardController.java index 44766a0..6706ecb 100644 --- a/src/main/java/com/teamtreehouse/flashy/controllers/FlashCardController.java +++ b/src/main/java/com/teamtreehouse/flashy/controllers/FlashCardController.java @@ -16,6 +16,7 @@ @Controller public class FlashCardController { + private FlashCardService flashCardService; @Autowired diff --git a/src/main/java/com/teamtreehouse/flashy/controllers/IndexController.java b/src/main/java/com/teamtreehouse/flashy/controllers/IndexController.java index f127754..5977b13 100644 --- a/src/main/java/com/teamtreehouse/flashy/controllers/IndexController.java +++ b/src/main/java/com/teamtreehouse/flashy/controllers/IndexController.java @@ -12,6 +12,8 @@ @Controller public class IndexController { + + public static final int AMOUNT_TO_SHOW = 3; private FlashCardService flashCardService; @Autowired @@ -22,7 +24,7 @@ public void setFlashCardService(FlashCardService flashCardService) { @RequestMapping("/") public String index(Model model) { StringBuilder ctaBuilder = new StringBuilder(); - List cards = flashCardService.getRandomFlashCards(5); + List cards = flashCardService.getRandomFlashCards(AMOUNT_TO_SHOW); ctaBuilder.append("Refresh your memory about "); for (FlashCard card : cards) { ctaBuilder.append(card.getTerm()); @@ -30,10 +32,12 @@ public String index(Model model) { ctaBuilder.append(", "); } } - ctaBuilder.append(" and "); Long totalCount = flashCardService.getCurrentCount(); - ctaBuilder.append(totalCount); - ctaBuilder.append(" more"); + if (totalCount > AMOUNT_TO_SHOW) { + ctaBuilder.append(" and "); + ctaBuilder.append(totalCount - AMOUNT_TO_SHOW); + ctaBuilder.append(" more"); + } model.addAttribute("cta", ctaBuilder.toString()); model.addAttribute("flashCardCount", totalCount); return "index"; diff --git a/src/main/java/com/teamtreehouse/flashy/domain/BootstrapOptions.java b/src/main/java/com/teamtreehouse/flashy/domain/BootstrapOptions.java index d6154df..d6628be 100644 --- a/src/main/java/com/teamtreehouse/flashy/domain/BootstrapOptions.java +++ b/src/main/java/com/teamtreehouse/flashy/domain/BootstrapOptions.java @@ -1,6 +1,7 @@ package com.teamtreehouse.flashy.domain; public class BootstrapOptions { + private boolean shouldFork; private String githubOauth; diff --git a/src/main/java/com/teamtreehouse/flashy/domain/FlashCard.java b/src/main/java/com/teamtreehouse/flashy/domain/FlashCard.java index 8592a63..f2de82d 100644 --- a/src/main/java/com/teamtreehouse/flashy/domain/FlashCard.java +++ b/src/main/java/com/teamtreehouse/flashy/domain/FlashCard.java @@ -8,6 +8,7 @@ @Entity public class FlashCard { + @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; diff --git a/src/main/java/com/teamtreehouse/flashy/repositories/FlashCardRepository.java b/src/main/java/com/teamtreehouse/flashy/repositories/FlashCardRepository.java index b8acc56..054338f 100644 --- a/src/main/java/com/teamtreehouse/flashy/repositories/FlashCardRepository.java +++ b/src/main/java/com/teamtreehouse/flashy/repositories/FlashCardRepository.java @@ -8,6 +8,8 @@ import java.util.List; public interface FlashCardRepository extends CrudRepository { + List findByIdNotIn(Collection ids); + List findAll(); } diff --git a/src/main/java/com/teamtreehouse/flashy/services/FlashCardService.java b/src/main/java/com/teamtreehouse/flashy/services/FlashCardService.java index 62e6b5e..78a5335 100644 --- a/src/main/java/com/teamtreehouse/flashy/services/FlashCardService.java +++ b/src/main/java/com/teamtreehouse/flashy/services/FlashCardService.java @@ -7,9 +7,14 @@ import java.util.Map; public interface FlashCardService { + Long getCurrentCount(); + FlashCard getFlashCardById(Long id); + FlashCard getNextUnseenFlashCard(Collection seenIds); + FlashCard getNextFlashCardBasedOnViews(Map idToViewCounts); + List getRandomFlashCards(int i); } diff --git a/src/main/java/com/teamtreehouse/flashy/services/FlashCardServiceImpl.java b/src/main/java/com/teamtreehouse/flashy/services/FlashCardServiceImpl.java index 5b660e9..61a4925 100644 --- a/src/main/java/com/teamtreehouse/flashy/services/FlashCardServiceImpl.java +++ b/src/main/java/com/teamtreehouse/flashy/services/FlashCardServiceImpl.java @@ -16,6 +16,7 @@ @Service public class FlashCardServiceImpl implements FlashCardService { + private FlashCardRepository flashCardRepository; @Autowired @@ -75,7 +76,7 @@ public List getRandomFlashCards(int amount) { List cards = flashCardRepository.findAll(); Collections.shuffle(cards); return cards.stream() - .limit(amount) - .collect(toList()); + .limit(amount) + .collect(toList()); } }