package de.twenty11.skysail.server.ext.bookmarks.repository;
import javax.persistence.EntityManagerFactory;
import com.mysema.query.Tuple;
import com.mysema.query.jpa.impl.JPAQuery;
import de.twenty11.skysail.server.core.SkysailRepository;
import de.twenty11.skysail.server.ext.bookmarks.domain.*;
import java.util.ArrayList;
import java.util.List;
public class BookmarkRepository extends SkysailRepository<Bookmark> {
public BookmarkRepository(EntityManagerFactory emf) {
super(emf);
}
@Override
protected Class<Bookmark> getEntityClass() {
return Bookmark.class;
}
public List<BookmarkOrFolder> getAll(Folder parent) {
JPAQuery query = new JPAQuery (getEntityManager());
QBookmark bookmark = QBookmark.bookmark;
QFolder folder = QFolder.folder;
JPAQuery from = query.from(bookmark, folder);
List<Tuple> list = from.list();
//JPAQuery query = new JPAQuery(em);
//List<T> resultList = getEntityManager().createQuery(getAllForFolderQuery()).getResultList();
//List<T> filteredResults = new ArrayList<T>();
//for (T details : resultList) {
// if (filterMatches(details)) {
// filteredResults.add(details);
// }
//}
return null;//filteredResults;
}
public String getAllForFolderQuery() {
return "SELECT c FROM Bookmark c, Folder WHERE c.name = :name";
}
}