diff --git a/src/main/java/org/ntlab/citrusserver/repositories/FavoriteManager.java b/src/main/java/org/ntlab/citrusserver/repositories/FavoriteManager.java index 0a507d3..b7a9e18 100644 --- a/src/main/java/org/ntlab/citrusserver/repositories/FavoriteManager.java +++ b/src/main/java/org/ntlab/citrusserver/repositories/FavoriteManager.java @@ -8,12 +8,10 @@ @Repository public class FavoriteManager implements IAccountListener { - private final AccountManager accountManager; @Autowired - public FavoriteManager(AccountManager accountManager, BookManager bookManager) { - this.accountManager = accountManager; - this.accountManager.addListener(this); + public FavoriteManager(AccountManager accountManager) { + accountManager.addListener(this); // bookManager.addListener(this); } @@ -42,8 +40,8 @@ //get //本をいいねしたアカウントをリストとして返す: accountIdの本(bookId)にいいねした人(otherAccount)を返す public HashSet getFavorited(String accountId, int bookId) { //このHashSetはotherAccountId(string)の集合 - if (accountManager.getAccount(accountId) == null) return null; //アカウントが存在しない - if (favoritedMap.get(accountId).get(bookId) == null) return null; //bookIdが存在しない + if (!favoritedMap.containsKey(accountId)) return null; //アカウントが存在しない + if (!favoritedMap.get(accountId).containsKey(bookId)) return null; //bookIdが存在しない return favoritedMap.get(accountId).get(bookId);//accountIdをgetして、bookIdまでgetしたら次otherAccount } @@ -72,14 +70,14 @@ //get //いいねした人の一覧を返す: accountIdの本(bookId)にいいねしたotherAccountIdとその本の一覧 public HashMap> getFavorites(String accountId) { //otherAccountIDといいねしたbookIdの集合(本はaccountIdのもの限定) - if (accountManager.getAccount(accountId) == null) return null; + if (!favoritesMap.containsKey(accountId)) return null; return favoritesMap.get(accountId); //accountIdをgetすればそれ以降のotherAccountIDとbookIdが返ってくる } //get //取得したotherAccountIdのいいねした本を返す: otherAccountIdがいいねしたAccountIdの本(bookId)の一覧 public HashSet getFavoritesByID(String accountId, String otherAccountId) { //このHashSetはbookId(int型)の集合 - if (accountManager.getAccount(accountId) == null) return null; //accountIdがなかったらnull + if (!favoritesMap.containsKey(accountId)) return null; //accountIdがなかったらnull if (!favoritesMap.get(accountId).containsKey(otherAccountId)) return null; // //otherAccountIdがなかったらnull return favoritesMap.get(accountId).get(otherAccountId);//otherAccountIdまでgetすればbookIdの集合が得られる