package com.weecode.plugin.comics.model; import javax.persistence.EntityManager; import javax.persistence.EntityTransaction; import org.eclipse.persistence.internal.jpa.EntityManagerImpl; import org.eclipse.persistence.sessions.UnitOfWork; import com.weecode.plugin.comics.model.emf.ComicsEntityManagerFactory; /** * * @author Jason Kusnier and Tim Hollosy * */ public class ComicsEditorModel { protected EntityManager em; protected EntityTransaction transaction; public ComicsEditorModel() { em = ComicsEntityManagerFactory.createEntityManager(); transaction = em.getTransaction(); transaction.begin(); } public void close() { em.close(); } public void persistEntity(Object entity) { em.persist(entity); } public void removeEntity(Object entity) { em.remove(entity); } public void save() { transaction.commit(); transaction.begin(); } public boolean isDirty() { UnitOfWork uow = ((EntityManagerImpl)em).getUnitOfWork(); return uow.hasChanges(); } }