Advertisement
Guest User

Untitled

a guest
May 19th, 2019
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.96 KB | None | 0 0
  1. package at.jku.se.healthmanager.service;
  2.  
  3. import at.jku.se.healthmanager.config.HealthManagerConfig;
  4. import at.jku.se.healthmanager.domain.BloodPressureData;
  5. import at.jku.se.healthmanager.domain.BloodPressureEntry;
  6. import at.jku.se.healthmanager.domain.UserStore;
  7. import at.jku.se.healthmanager.repository.BloodPressureDataRepository;
  8. import at.jku.se.healthmanager.repository.BloodPressureEntryRepository;
  9. import at.jku.se.healthmanager.web.rest.util.HealthUtils;
  10. import org.springframework.stereotype.Service;
  11. import java.util.HashSet;
  12. import java.util.Collections;
  13.  
  14. import java.util.Set;
  15.  
  16. @Service
  17. public class BloodPressureService {
  18.  
  19. private final BloodPressureEntryRepository bloodPressureEntryRepository;
  20.  
  21. private final BloodPressureDataRepository bloodPressureDataRepository;
  22.  
  23. private final UserStoreService userStoreService;
  24.  
  25. public BloodPressureService(BloodPressureEntryRepository bloodPressureEntryRepository,
  26. UserStoreService userStoreService, BloodPressureDataRepository bloodPressureDataRepository) {
  27. this.bloodPressureEntryRepository = bloodPressureEntryRepository;
  28. this.userStoreService = userStoreService;
  29. this.bloodPressureDataRepository = bloodPressureDataRepository;
  30. }
  31.  
  32. public Set<BloodPressureEntry> getInactiveBloodPressureEntriesForUser() {
  33. return getBloodPressureEntriesForUser(false, true);
  34. }
  35.  
  36. public Set<BloodPressureEntry> getActiveBloodPressureEntriesForUser() {
  37. return getBloodPressureEntriesForUser(true, false);
  38. }
  39.  
  40. public Set<BloodPressureEntry> getBloodPressureEntriesForUser(boolean active, boolean inactive) {
  41.  
  42. UserStore userStore = userStoreService.getUserStore();
  43. BloodPressureData bloodPressureData = userStore.getBloodPressureData();
  44.  
  45. // load ActiveDays value (user settings OR default)
  46. final Integer activeDays = HealthUtils.isPositive(bloodPressureData.getActiveDays())
  47. ? bloodPressureData.getActiveDays()
  48. : HealthManagerConfig.ACTIVE_DAYS_DEFAULT;
  49.  
  50. Set<BloodPressureEntry> entries = bloodPressureData.getBloodPressureEntries();
  51.  
  52. if (!active) {
  53. entries.removeIf(e -> HealthUtils.isActive(e.getCreate(), activeDays));
  54. }
  55.  
  56. if (!inactive) {
  57. entries.removeIf(e -> HealthUtils.isActive(e.getCreate(), activeDays) == false);
  58. }
  59.  
  60. return bloodPressureData.getBloodPressureEntries();
  61.  
  62. }
  63.  
  64. public BloodPressureEntry save(BloodPressureEntry bloodPressureEntry) {
  65.  
  66. BloodPressureData bloodPressureData = userStoreService.getUserStore().getBloodPressureData();
  67. bloodPressureEntry.setBloodPressureData(bloodPressureData);
  68. bloodPressureEntry = bloodPressureEntryRepository.save(bloodPressureEntry);
  69.  
  70. return bloodPressureEntry;
  71. }
  72.  
  73. public void setActiveDays(int days) {
  74. BloodPressureData bloodPressureData = userStoreService.getUserStore().getBloodPressureData();
  75. bloodPressureData.setActiveDays(days);
  76. bloodPressureDataRepository.save(bloodPressureData);
  77. }
  78.  
  79. public int getActiveDays() {
  80. BloodPressureData bloodPressureData = userStoreService.getUserStore().getBloodPressureData();
  81. Integer activeDays = bloodPressureData.getActiveDays();
  82.  
  83. if(activeDays == null)
  84. activeDays = HealthManagerConfig.ACTIVE_DAYS_DEFAULT;
  85.  
  86. return activeDays;
  87. }
  88.  
  89. public void setGoal(BloodPressureEntry goalEntry) {
  90. BloodPressureData bloodPressureData = userStoreService.getUserStore().getBloodPressureData();
  91.  
  92. BloodPressureEntry goal = bloodPressureData.getGoal();
  93. if(goal == null) {
  94. goal = goalEntry;
  95. goal = bloodPressureEntryRepository.save(goal);
  96. }else{
  97. goal.setSysBlood(goalEntry.getSysBlood());
  98. goal.setDiasBlood(goalEntry.getDiasBlood());
  99. }
  100.  
  101. bloodPressureData.setGoal(goal);
  102. bloodPressureDataRepository.save(bloodPressureData);
  103. }
  104.  
  105. public BloodPressureEntry getGoal() {
  106. BloodPressureData bloodPressureData = userStoreService.getUserStore().getBloodPressureData();
  107. return bloodPressureData.getGoal();
  108. }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement