Merge pull request #230 from nitta-lab-2024/RefactorAccountDelete
FavoriteとTodoでインタフェースを使うように変更しました
commit e3359b4c1035e73a703a6981b1fe465aa0d45ca2
2 parents f8a603d + 5b87ee9
渡辺智裕 authored on 6 Jun
Showing 4 changed files
View
27
src/main/java/org/ntlab/citrusserver/repositories/FavoriteManager.java
package org.ntlab.citrusserver.repositories;
import org.ntlab.citrusserver.entities.Account;
import org.ntlab.citrusserver.entities.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
 
import java.util.HashMap;
import java.util.HashSet;
 
@Repository
public class FavoriteManager {
public class FavoriteManager implements IAccountListener, IBookListener {
private final AccountManager accountManager;
 
@Autowired
public FavoriteManager(AccountManager accountManager) {
public FavoriteManager(AccountManager accountManager, BookManager bookManager) {
this.accountManager = accountManager;
this.accountManager.addListener(this);
bookManager.addListener(this);
 
}
 
//favorited
private final
favoritesMap.get(otherAccountId).get(accountId).remove(bookId); // tesのbookId を削除
}
favoritedMap.get(accountId).remove(bookId); // tedのbookIdを消したいとき
}
 
@Override
public void accountDeleted(Account account) {
removeFavoriteById(account.getId());
}
 
 
@Override
public void bookChanged(Account account, Book book) {
 
}
 
@Override
public void bookDeleted(Account account, Book book) {
removeFavoriteByBookID(account.getId(), book.getBookId());
}
 
 
}
 
 
View
13
src/main/java/org/ntlab/citrusserver/repositories/TodoManager.java
package org.ntlab.citrusserver.repositories;
 
import org.ntlab.citrusserver.entities.Account;
import org.ntlab.citrusserver.entities.Book;
import org.ntlab.citrusserver.entities.Todo;
import org.springframework.stereotype.Repository;
 
import java.util.HashMap;
 
 
@Repository
public class TodoManager implements IAccountListener {
public class TodoManager implements IAccountListener, IBookListener {
 
/**
* todoをすべて管理します
*/
 
public TodoManager(AccountManager accountManager, BookManager bookManager) {
this.bookManager = bookManager;
accountManager.addListener(this);
this.bookManager.addListener(this);
String[][] accounts = {{"fish", "abc", "def"}, {"bird", "abc", "xyz"}};
createTodo(accounts[0][0], 1, 2024, 5, 28, "ダミーtodo1");
createTodo(accounts[1][0], 1, 2024, 5, 28, "ダミーtodo2");
 
public void accountDeleted(Account account) {
deleteAllTodosByAccountId(account.getId());
}
 
@Override
public void bookChanged(Account account, Book book) {
 
}
@Override
public void bookDeleted(Account accountIn, Book book) {
deleteAllTodosByBookId(accountIn.getId(), book.getBookId());
}
 
}
View
src/main/java/org/ntlab/citrusserver/resources/AccountsRest.java
View
src/main/java/org/ntlab/citrusserver/resources/BooksRest.java