package de.twenty11.skysail.server.ext.jgit.internal; import java.util.ArrayList; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.TypedQuery; import de.twenty11.skysail.server.ext.jgit.LocalRepositoryDescriptor; public class Repository implements DbRepository { private EntityManager entitiyManager; public Repository(EntityManagerFactory emf) { this.entitiyManager = emf.createEntityManager(); } @Override public List<LocalRepositoryDescriptor> getLocalRepositoryDescriptors() { // EntityManager em = ((MyApplication) getApplication()).getEntityManager(); List<LocalRepositoryDescriptor> resultList = entitiyManager.createQuery( "SELECT c FROM LocalRepositoryDescriptor c").getResultList(); List<LocalRepositoryDescriptor> filteredResults = new ArrayList<LocalRepositoryDescriptor>(); for (LocalRepositoryDescriptor details : resultList) { // if (filterMatches(details)) { filteredResults.add(details); // } } return filteredResults; } @Override public LocalRepositoryDescriptor getLocalRepositoryDescriptor(String id) { TypedQuery<LocalRepositoryDescriptor> query = entitiyManager.createQuery( "SELECT c FROM LocalRepositoryDescriptor c WHERE c.name = :name", LocalRepositoryDescriptor.class); query.setParameter("name", id); LocalRepositoryDescriptor result = (LocalRepositoryDescriptor) query.getSingleResult(); return result; } @Override public void addLocalRepositoryDescriptor(LocalRepositoryDescriptor entity) { entitiyManager.getTransaction().begin(); entitiyManager.persist(entity); entitiyManager.getTransaction().commit(); // entitiyManager.close(); } }