// @EJB // private UserAccountBeanRemote useracc; @Override public SocioResearchDTO getResearch(long id) { SocioResearch res = em.find(SocioResearch.class, id); return res.toDTO(); // throw new UnsupportedOperationException("Not supported yet."); }
@Override public ResearchFilesDTO getResearchFiles(long research_id) { SocioResearch dsResearch; ResearchFilesDTO dto; try { dsResearch = em.find(SocioResearch.class, research_id); dto = dsResearch.toFilesDTO(em); } finally { } return dto; }
@Override public SocioResearchFilesDTO getResearchFilesInCategory(long research_id, String category) { // WTF???????????// SocioResearch dsResearch, detached; ResearchFilesDTO dto; SocioResearchFilesDTO dto2; try { dsResearch = em.find(SocioResearch.class, research_id); // dsResearch.addFile(id_file, desc); dto = dsResearch.toFilesDTO(em); dto2 = new SocioResearchFilesDTO(); dto2.setFiles_ids(dto.getFileIds(category)); dto2.setFiles_descs(dto.getFileNames(category)); } finally { } return dto2; }
public ArrayList<Long> getSubFiltered(ArrayList<Long> processed, FilterBaseDTO next_filter) { // TODO just rewritten from appengine variant. Here we can optimize on multiple filters in one // sql statement!!!! ArrayList<Long> ids = processed; // if(next_filter instanceof FilterDiapasonDTO) // { // for(FilterBaseDTO dto_sub:((FilterDiapasonDTO) // next_filter).getMulti_dto_proxy().getFilters()) // { // //here we suppose that multifilter is AND-filter (for diapa) // ids = getSubFiltered(processed, dto_sub); // } // }else if (next_filter instanceof FilterMultiDTO) { ArrayList<Long> or_ids = new ArrayList<Long>(); for (FilterBaseDTO dto_sub : ((FilterMultiDTO) next_filter).getFilters()) { // here we suppose that multifilter is OR-filter ArrayList<Long> curr_ids = getSubFiltered(processed, dto_sub); or_ids = union(or_ids, curr_ids); } if (((FilterMultiDTO) next_filter).getFilters().size() > 0) ids = or_ids; } else { String filt = next_filter.getFilter(); if (filt != null && !filt.equals("")) { // Query q = pm.newQuery(SocioResearch.class); String q_str = "SELECT x FROM SocioResearch AS x WHERE "; if (next_filter.getTarget_class_name().equals("SocioResearch")) { q_str += filt; // q.setFilter(filt); } TypedQuery<SocioResearch> tq = em.createQuery(q_str, SocioResearch.class); ArrayList<Long> current_ids = new ArrayList<Long>(); List<SocioResearch> res = tq.getResultList(); for (SocioResearch research : res) { current_ids.add(research.getID()); } ids = intersection(ids, current_ids); } } return ids; }
@Override public ArrayList<SocioResearchDTO_Light> getResearchDTOs(ArrayList<Long> ids) { // ArrayList<SocioResearchDTO> arr = new ArrayList<SocioResearchDTO>(); // if (ids != null) // for(Long key:ids) // { // SocioResearchDTO dto = getResearch(key); // arr.add(dto); // } return SocioResearch.getResearchsLightDTOs(em, ids); }
@Override public ArrayList<SocioResearchDTO_Light> getResearchSummaries() { // ArrayList<SocioResearchDTO_Light> list = new ArrayList<SocioResearchDTO_Light>(); // SocioResearch dsResearch, detached; // try { // TypedQuery<SocioResearch> q = em.createQuery("SELECT x FROM SocioResearch x", // SocioResearch.class); // List<SocioResearch> res = (List<SocioResearch>)q.getResultList(); // for(SocioResearch research:res) // { // list.add(research.toLightDTO()); // } // } finally { // } return SocioResearch.getResearchsLight(em); // throw new UnsupportedOperationException("Not supported yet."); }