package com.androidrocks.bex.server.manager;
import com.androidrocks.bex.server.persistent.TradeBook;
import com.androidrocks.bex.server.persistent.WishBook;
import javax.jdo.PersistenceManager;
import javax.jdo.Transaction;
import java.util.List;
import java.util.logging.Logger;
public final class BookManager {
private static final Logger log = Logger.getLogger(BookManager.class
.getName());
private BookManager() {
}
public static void saveWishBookWithCustomKey(WishBook book) {
PersistenceManager pm = PMF.get().getPersistenceManager();
pm.setDetachAllOnCommit(true);
Transaction tx = pm.currentTransaction();
try {
tx.begin();
book.setKey(TypeFactory.createWishBookKeyWithPrefix(book.getId()));
pm.makePersistent(book);
log.info("#saveBookWithCustomKey: " + book);
tx.commit();
} finally {
if (tx.isActive()) {
tx.rollback();
}
pm.close();
}
}
public static void saveTradeBookWithCustomKey(TradeBook book) {
PersistenceManager pm = PMF.get().getPersistenceManager();
Transaction tx = pm.currentTransaction();
try {
tx.begin();
book.setKey(TypeFactory.createTradeBookKeyWithPrefix(book.getId()));
pm.makePersistent(book);
log.info("#saveBookWithCustomKey: " + book);
tx.commit();
} finally {
if (tx.isActive()) {
tx.rollback();
}
pm.close();
}
}
public static void saveWishList(List<WishBook> books) {
for (WishBook book : books) {
saveWishBookWithCustomKey(book);
}
}
public static void saveTradeList(List<TradeBook> books) {
for (TradeBook book : books) {
saveTradeBookWithCustomKey(book);
}
}
}