List of usage examples for com.liferay.portal.kernel.dao.orm DynamicQueryFactoryUtil forClass
@Deprecated public static DynamicQuery forClass(Class<?> clazz)
From source file:at.graz.hmmc.liferay.portlet.puch.service.impl.TransaktionLocalServiceImpl.java
License:Open Source License
/** * /*from w w w. jav a2 s. com*/ */ public Transaktion getLastTransactionOfType(long puchmuseumsobjectId, String transactiontype) { try { DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(Transaktion.class); Criterion criterion = RestrictionsFactoryUtil.eq("puchmuseumsobjectId", puchmuseumsobjectId); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.eq("typ", transactiontype)); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.isNull("endDate")); dynamicQuery.add(criterion); Order order = OrderFactoryUtil.desc("startDate"); dynamicQuery.addOrder(order); List<Transaktion> transactions = TransaktionLocalServiceUtil.dynamicQuery(dynamicQuery); if (transactions != null) { if (transactions.size() != 0) { return transactions.get(0); } } } catch (Exception ex) { System.err.println("[" + date_format_apache_error.format(new Date()) + "] [error] [PuchMuseum-portlet::at.graz.hmmc.liferay.portlet.puch.service.impl.TransaktionLocalServiceImpl::getLastTransactionOfType] Error getting Transaktion."); ex.printStackTrace(); } return null; }
From source file:at.graz.meduni.liferay.portlet.bibbox.service.impl.OrganizationSearchIndexLocalServiceImpl.java
License:Open Source License
/** * //from ww w . j a va2 s .co m */ public List<Long> getOrganizationIdByKeywordAndValue(String key, String value) { value = value.trim(); List<Long> returnvalue = new ArrayList<Long>(); try { DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(OrganizationSearchIndex.class); Criterion criterion = RestrictionsFactoryUtil.ilike("searchvalue", StringPool.PERCENT + value + StringPool.PERCENT); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.ilike("key", key)); dynamicQuery.add(criterion); Order order_organisationid = OrderFactoryUtil.asc("organisationid"); dynamicQuery.addOrder(order_organisationid); List<OrganizationSearchIndex> serachresults = OrganizationSearchIndexLocalServiceUtil .dynamicQuery(dynamicQuery); for (OrganizationSearchIndex serachresult : serachresults) { if (!returnvalue.contains(serachresult.getOrganisationid())) { returnvalue.add(serachresult.getOrganisationid()); } } } catch (SystemException e) { // TODO Auto-generated catch block e.printStackTrace(); } return returnvalue; }
From source file:at.graz.meduni.liferay.portlet.bibbox.service.service.impl.InvitationOrganisationLocalServiceImpl.java
License:Open Source License
/** * @throws SystemException //from www. j a v a 2s. c o m */ public List<InvitationOrganisation> getInvitationOrganisationByStatus(boolean rejacted) throws SystemException { /*DynamicQuery subQuery = DynamicQueryFactoryUtil.forClass(Invitation.class, "subQuery", PortalClassLoaderUtil.getClassLoader()) .setProjection(ProjectionFactoryUtil.property("subQuery.invitationId")) .add(PropertyFactoryUtil.forName("subQuery.invitationId").eqProperty("answerdQuery.invitationId")) .add(PropertyFactoryUtil.forName("subQuery.invitationsend").isNotNull()); DynamicQuery answerdQuery = DynamicQueryFactoryUtil.forClass(InvitationOrganisation.class, "answerdQuery", PortalClassLoaderUtil.getClassLoader()) .add(PropertyFactoryUtil.forName("subQuery.invitationId").eq(subQuery));*/ DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(InvitationOrganisation.class); Criterion criterion = null; if (rejacted) { criterion = RestrictionsFactoryUtil.isNotNull("reactdate"); dynamicQuery.addOrder(OrderFactoryUtil.desc("reactdate")); } else { criterion = RestrictionsFactoryUtil.isNull("reactdate"); } dynamicQuery.addOrder(OrderFactoryUtil.desc("invitationOrganisationId")); //dynamicQuery.setProjection(ProjectionFactoryUtil.groupProperty("organisationId")); dynamicQuery.add(criterion); List<InvitationOrganisation> invitationorganisation = InvitationOrganisationLocalServiceUtil .dynamicQuery(dynamicQuery); return invitationorganisation; }
From source file:at.meduni.liferay.portlet.bbmrieric.service.impl.BioBankLocalServiceImpl.java
License:Open Source License
public String getBioBankFiltered(String keyword, String country, String materialtype, String diagnosisavailable, String biobanksize, String typeofbiobank) { String array = ""; try {// ww w. j a va2 s .c o m DynamicQuery dynamicQuery = BioBankLocalServiceUtil.dynamicQuery(); Criterion criterion = null; if (!keyword.equalsIgnoreCase("")) { DynamicQuery subQuery = DynamicQueryFactoryUtil.forClass(SearchIndex.class); subQuery.add(RestrictionsFactoryUtil.ilike("searchindexvalue", "%" + keyword + "%")); subQuery.setProjection(ProjectionFactoryUtil.property("organisationid")); if (criterion == null) { criterion = PropertyFactoryUtil.forName("organisationid").in(subQuery); } else { criterion = RestrictionsFactoryUtil.and(criterion, PropertyFactoryUtil.forName("organisationid").in(subQuery)); } } if (!country.equalsIgnoreCase("")) { DynamicQuery subQuery = DynamicQueryFactoryUtil.forClass(SearchIndex.class); subQuery.add(PropertyFactoryUtil.forName("searchindexvalue").eq(country)); subQuery.setProjection(ProjectionFactoryUtil.property("organisationid")); if (criterion == null) { criterion = PropertyFactoryUtil.forName("organisationid").in(subQuery); } else { criterion = RestrictionsFactoryUtil.and(criterion, PropertyFactoryUtil.forName("organisationid").in(subQuery)); } } if (!diagnosisavailable.equalsIgnoreCase("")) { Criterion criterion_sub = createSearchDiagnosisString(diagnosisavailable); DynamicQuery subQuery = DynamicQueryFactoryUtil.forClass(SearchIndex.class); subQuery.add(criterion_sub); subQuery.setProjection(ProjectionFactoryUtil.property("organisationid")); if (criterion == null) { criterion = PropertyFactoryUtil.forName("organisationid").in(subQuery); } else { criterion = RestrictionsFactoryUtil.and(criterion, PropertyFactoryUtil.forName("organisationid").in(subQuery)); } } if (!materialtype.equalsIgnoreCase("")) { DynamicQuery subQuery = DynamicQueryFactoryUtil.forClass(SearchIndex.class); Criterion criterion_sub = RestrictionsFactoryUtil.like("searchindexkey", materialtype); criterion_sub = RestrictionsFactoryUtil.and(criterion_sub, RestrictionsFactoryUtil.like("searchindexvalue", "TRUE")); subQuery.add(criterion_sub); subQuery.setProjection(ProjectionFactoryUtil.property("organisationid")); if (criterion == null) { criterion = PropertyFactoryUtil.forName("organisationid").in(subQuery); } else { criterion = RestrictionsFactoryUtil.and(criterion, PropertyFactoryUtil.forName("organisationid").in(subQuery)); } } if (!typeofbiobank.equalsIgnoreCase("")) { DynamicQuery subQuery = DynamicQueryFactoryUtil.forClass(SearchIndex.class); Criterion criterion_sub = RestrictionsFactoryUtil.like("searchindexkey", "objectClass"); criterion_sub = RestrictionsFactoryUtil.and(criterion_sub, RestrictionsFactoryUtil.like("searchindexvalue", "%" + typeofbiobank + "%")); subQuery.add(criterion_sub); subQuery.setProjection(ProjectionFactoryUtil.property("organisationid")); if (criterion == null) { criterion = PropertyFactoryUtil.forName("organisationid").in(subQuery); } else { criterion = RestrictionsFactoryUtil.and(criterion, PropertyFactoryUtil.forName("organisationid").in(subQuery)); } } if (!biobanksize.equalsIgnoreCase("")) { String bbsize = ""; if (biobanksize.equalsIgnoreCase("< 10 Samples")) { bbsize = "0"; } else if (biobanksize.equalsIgnoreCase("10 - 100 Samples")) { bbsize = "1"; } else if (biobanksize.equalsIgnoreCase("100 - 1.000 Samples")) { bbsize = "2"; } else if (biobanksize.equalsIgnoreCase("1.000 - 10.000 Samples")) { bbsize = "3"; } else if (biobanksize.equalsIgnoreCase("10.000 - 100.000 Samples")) { bbsize = "4"; } else if (biobanksize.equalsIgnoreCase("100.000 - 1.000.000 Samples")) { bbsize = "5"; } else if (biobanksize.equalsIgnoreCase("1.000.000 - 10.000.000 Samples")) { bbsize = "6"; } else if (biobanksize.equalsIgnoreCase("10.000.000 - 100.000.000 Samples")) { bbsize = "7"; } else if (biobanksize.equalsIgnoreCase("100.000.000 - 1.000.000.000 Samples")) { bbsize = "8"; } DynamicQuery subQuery = DynamicQueryFactoryUtil.forClass(SearchIndex.class); Criterion criterion_sub = RestrictionsFactoryUtil.like("searchindexkey", "biobankSize"); criterion_sub = RestrictionsFactoryUtil.and(criterion_sub, RestrictionsFactoryUtil.like("searchindexvalue", bbsize)); subQuery.add(criterion_sub); subQuery.setProjection(ProjectionFactoryUtil.property("organisationid")); if (criterion == null) { criterion = PropertyFactoryUtil.forName("organisationid").in(subQuery); } else { criterion = RestrictionsFactoryUtil.and(criterion, PropertyFactoryUtil.forName("organisationid").in(subQuery)); } } // Add Criterion to the Main Biobank Query if (criterion != null) { dynamicQuery.add(criterion); } List<BioBank> biobanks = BioBankLocalServiceUtil.dynamicQuery(dynamicQuery); String seperator = ""; for (BioBank biobank : biobanks) { String diagnosis_avialavble = ""; SearchIndex searchindex = SearchIndexLocalServiceUtil.getSearchIndex(biobank.getOrganisationid(), "diagnosisAvailable"); if (searchindex != null) { diagnosis_avialavble = searchindex.getSearchindexvalue().replaceAll("urn:miriam:", ""); } array += seperator + "{"; //Country array += "Country: '" + biobank.getBiobankcountry().replaceAll("'", "\\\\'") + "',"; //BB ID array += "'BB_ID': '" + biobank.getLdapbiobankID().replaceAll("'", "\\\\'") + "',"; //BB Diagnosis array += "'Diagnosis': '" + diagnosis_avialavble.replaceAll("'", "\\\\'") + "',"; //Name array += "Name: '" + biobank.getBiobankname().replaceAll("'", "\\\\'") + "',"; //Type array += "Type: '" + biobank.getBiobanktype().replaceAll("'", "\\\\'") + "',"; //Size array += "Size: '" + biobank.getBiobanksize().replaceAll("'", "\\\\'") + "',"; //Juristic Person array += "'Juristic Person': '" + biobank.getBiobankjuristicperson().replaceAll("'", "\\\\'") + "'"; array += "}"; seperator = ","; } } catch (Exception ex) { System.out.println("[" + date_format_apache_error.format(new Date()) + "] [info] [BBMRIERICDatabase-portlet::at.meduni.liferay.portlet.bbmrieric.service.impl.BioBankLocalServiceImpl::getBioBankFiltered] Could not get Biobank List filtered (" + keyword + ", " + country + ", " + materialtype + ", " + diagnosisavailable + ", " + biobanksize + ")."); ex.printStackTrace(); } return array; }
From source file:at.meduni.liferay.portlet.rdconnect.service.impl.CandidateLocalServiceImpl.java
License:Open Source License
public List<Candidate> getFilterdCandidates(String name, String country, String type, String source, String state) throws SystemException { if (country.equals("all")) { country = ""; }//www . j av a 2 s .c om if (type.equals("all")) { type = ""; } else { if (type.equals("Registry")) type = "Registr"; } if (source.equals("all")) { source = ""; } if (state.equals("all")) { state = ""; } // Dynamic Query for search DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(Candidate.class); Criterion criterion = null; Criterion criterion_subunit = RestrictionsFactoryUtil.isNull("subunitof"); criterion_subunit = RestrictionsFactoryUtil.or(criterion_subunit, RestrictionsFactoryUtil.eq("subunitof", "")); Criterion criterion_diseases = RestrictionsFactoryUtil.ilike("diseasesfreetext", StringPool.PERCENT + name + StringPool.PERCENT); criterion_diseases = RestrictionsFactoryUtil.or(criterion_diseases, RestrictionsFactoryUtil.ilike("diseasescodes", StringPool.PERCENT + name + StringPool.PERCENT)); criterion_diseases = RestrictionsFactoryUtil.or(criterion_diseases, RestrictionsFactoryUtil.ilike("name", StringPool.PERCENT + name + StringPool.PERCENT)); criterion_diseases = RestrictionsFactoryUtil.or(criterion_diseases, RestrictionsFactoryUtil.ilike("candidatesubtype", StringPool.PERCENT + name + StringPool.PERCENT)); try { long searchlong = Long.valueOf(name); criterion_diseases = RestrictionsFactoryUtil.or(criterion_diseases, RestrictionsFactoryUtil.eq("candidateId", searchlong)); } catch (Exception e) { } criterion = RestrictionsFactoryUtil.ilike("source", StringPool.PERCENT + source + StringPool.PERCENT); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.ilike("country", StringPool.PERCENT + country + StringPool.PERCENT)); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.ilike("candidatetype", StringPool.PERCENT + type + StringPool.PERCENT)); if (state.equalsIgnoreCase("")) { criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil .not(RestrictionsFactoryUtil.ilike("state", StringPool.PERCENT + "X" + StringPool.PERCENT))); } else { criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.ilike("state", StringPool.PERCENT + state + StringPool.PERCENT)); } criterion = RestrictionsFactoryUtil.and(criterion, criterion_diseases); criterion = RestrictionsFactoryUtil.and(criterion, criterion_subunit); dynamicQuery.add(criterion); Order countryOrder = OrderFactoryUtil.desc("country"); Order nameOrder = OrderFactoryUtil.desc("name"); //Order candidateidOrder = OrderFactoryUtil.asc("candidateId"); //Order masteridOrder = OrderFactoryUtil.desc("masterId"); dynamicQuery.addOrder(countryOrder); dynamicQuery.addOrder(nameOrder); List<Candidate> candidates = CandidateLocalServiceUtil.dynamicQuery(dynamicQuery); //List<Candidate> candidates = candidatePersistence.findByCNSTDD(country, name, source, type, diseases_freetext, diseases_code, ""); return candidates; }
From source file:at.meduni.liferay.portlet.rdconnect.service.impl.MasterCandidateLocalServiceImpl.java
License:Open Source License
public List<MasterCandidate> getFilterdCandidates(String searchstring, String country, String type, String state, String source) throws SystemException { if (country.equals("all")) { country = ""; }//from w w w . ja v a2 s . co m if (type.equals("all")) { type = ""; } else { if (type.equals("Registry")) type = "Registr"; } if (state.equals("all")) { state = ""; } if (source.equals("all")) { source = ""; } List<MasterCandidate> mastercandidate = null; try { // Dynamic Query for search DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(MasterCandidateImpl.class); Criterion criterion = null; Criterion criterion_stringsearch_grouped = null; String[] searchstringarray = searchstring.split(" "); for (String searchstringsplit : searchstringarray) { Criterion criterion_stringsearch = RestrictionsFactoryUtil.ilike("diseasesfreetext", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("diseasescodes", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("name", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("candidatesubtype", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("country", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("candidatetype", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("url", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("contactperson", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("comment", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("address", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("mail", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil .ilike("head", StringPool.PERCENT + searchstringsplit + StringPool.PERCENT)); try { long searchlong = Long.valueOf(searchstringsplit); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil.eq("masterCandidateId", searchlong)); criterion_stringsearch = RestrictionsFactoryUtil.or(criterion_stringsearch, RestrictionsFactoryUtil.eq("organisationid", searchlong)); } catch (Exception e) { } if (criterion_stringsearch_grouped == null) { criterion_stringsearch_grouped = criterion_stringsearch; } else { criterion_stringsearch_grouped = RestrictionsFactoryUtil.or(criterion_stringsearch_grouped, criterion_stringsearch); } } criterion = RestrictionsFactoryUtil.ilike("country", StringPool.PERCENT + country + StringPool.PERCENT); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.ilike("candidatetype", StringPool.PERCENT + type + StringPool.PERCENT)); criterion = RestrictionsFactoryUtil.and(criterion, criterion_stringsearch_grouped); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.ilike("state", StringPool.PERCENT + state + StringPool.PERCENT)); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.sqlRestriction("state_ NOT ILIKE 'x'")); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.sqlRestriction("state_ NOT ILIKE '0'")); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.ilike("source", StringPool.PERCENT + source + StringPool.PERCENT)); dynamicQuery.add(criterion); Order countryOrder = OrderFactoryUtil.asc("country"); Order joinIdOrder = OrderFactoryUtil.asc("joinId"); Order nameOrder = OrderFactoryUtil.asc("name"); dynamicQuery.addOrder(countryOrder); dynamicQuery.addOrder(joinIdOrder); dynamicQuery.addOrder(nameOrder); mastercandidate = MasterCandidateLocalServiceUtil.dynamicQuery(dynamicQuery); } catch (Exception e) { e.printStackTrace(); } return mastercandidate; }
From source file:at.meduni.liferay.portlet.rdconnect.service.impl.RDCRecommenderLocalServiceImpl.java
License:Open Source License
/** * Returns a number of Recommandations for a user * // w w w.j a v a 2s .c o m * @param userId * @return */ public List<RDCRecommender> getReconnandationsForUser(long userId) { try { List<Organization> organizations = OrganizationLocalServiceUtil.getUserOrganizations(userId); //System.out.println("Number of Organizations for user: " + organizations.size()); DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(RDCRecommender.class); Criterion criterion = null; for (Organization organization : organizations) { if (criterion == null) { criterion = RestrictionsFactoryUtil.eq("organisationId", organization.getOrganizationId()); //criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.eq("recommendedorganisationId", organization.getOrganizationId())); } else { criterion = RestrictionsFactoryUtil.or(criterion, RestrictionsFactoryUtil.eq("organisationId", organization.getOrganizationId())); //criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.eq("recommendedorganisationId", organization.getOrganizationId())); } } if (criterion == null) { return null; } //System.out.println("Criterion" + criterion.toString()); dynamicQuery.add(criterion); Order recommendervalueOrder = OrderFactoryUtil.desc("recommendervalue"); dynamicQuery.addOrder(recommendervalueOrder); List<RDCRecommender> rdcrecommenders = RDCRecommenderLocalServiceUtil.dynamicQuery(dynamicQuery); return rdcrecommenders; } catch (Exception ex) { System.out.println("ERROR: RDCRecommenderLocalServiceImpl::getReconnandationsForUser"); ex.printStackTrace(); } return null; }
From source file:at.meduni.liferay.portlet.rdconnect.service.impl.SearchIndexLocalServiceImpl.java
License:Open Source License
/** * // w w w . j a va 2 s .c o m */ public List<Long> getOrganizationIdByKeywordAndValue(String key, String value) { value = value.trim(); List<Long> returnvalue = new ArrayList<Long>(); //System.out.println("value for search: " + value); try { DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(SearchIndex.class); Criterion criterion = RestrictionsFactoryUtil.ilike("value", StringPool.PERCENT + value + StringPool.PERCENT); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.ilike("key", key)); dynamicQuery.add(criterion); Order order_organisationid = OrderFactoryUtil.asc("organisationid"); dynamicQuery.addOrder(order_organisationid); List<SearchIndex> serachresults = SearchIndexLocalServiceUtil.dynamicQuery(dynamicQuery); for (SearchIndex serachresult : serachresults) { if (!returnvalue.contains(serachresult.getOrganisationid())) { returnvalue.add(serachresult.getOrganisationid()); } } } catch (SystemException e) { // TODO Auto-generated catch block e.printStackTrace(); } return returnvalue; }
From source file:at.meduni.liferay.portlet.rdconnect.service.impl.SearchIndexLocalServiceImpl.java
License:Open Source License
/** * /*w w w. ja va 2 s .c o m*/ * @param organizationId * @param key * @param value * @return */ public List<SearchIndex> getSearchIndexByOrganizationKeyValue(long organizationId, String key, String value) { try { DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(SearchIndex.class); Criterion criterion = RestrictionsFactoryUtil.ilike("value", StringPool.PERCENT + value + StringPool.PERCENT); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.ilike("key", key)); criterion = RestrictionsFactoryUtil.and(criterion, RestrictionsFactoryUtil.eq("organisationid", organizationId)); dynamicQuery.add(criterion); Order order_organisationid = OrderFactoryUtil.asc("organisationid"); dynamicQuery.addOrder(order_organisationid); List<SearchIndex> serachresults = SearchIndexLocalServiceUtil.dynamicQuery(dynamicQuery); return serachresults; } catch (SystemException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; }
From source file:at.meduni.liferay.portlet.rdconnect.service.impl.SearchIndexLocalServiceImpl.java
License:Open Source License
/** * Search index for normal Search//from ww w . ja va 2s . c om */ public String getSearchIndexByKeyword(String keyword, ThemeDisplay themeDisplay, String contextpath) { keyword = keyword.trim(); String searchresultstring = ""; try { DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(SearchIndex.class); Criterion criterion = RestrictionsFactoryUtil.ilike("value", StringPool.PERCENT + keyword + StringPool.PERCENT); dynamicQuery.add(criterion); Order order_organisationid = OrderFactoryUtil.asc("organisationid"); Order order_location = OrderFactoryUtil.asc("location"); Order order_locationid = OrderFactoryUtil.asc("locationid"); dynamicQuery.addOrder(order_organisationid); dynamicQuery.addOrder(order_location); dynamicQuery.addOrder(order_locationid); List<SearchIndex> serachresults = SearchIndexLocalServiceUtil.dynamicQuery(dynamicQuery); // Format the result long oldorganizationid = 0; Organization organization = null; int regcount = 0; int bbcount = 0; SearchIndex oldsearchindex = null; String organizationline = ""; String maincontactline = ""; String organizationurl = ""; HashMap<String, String> hits = null; for (SearchIndex serachresult : serachresults) { try { if (oldorganizationid == 0 || oldorganizationid != serachresult.getOrganisationid()) { if (hits != null) { // Generate previous entry searchresultstring += "<table class=\"rdc_coreinformation_organisation-table-images\">"; searchresultstring += organizationline + maincontactline + organizationurl; for (String key : hits.keySet()) { searchresultstring += hits.get(key) + "</td></tr>"; } searchresultstring += "<tr><td class=\"rdc_coreinformation_organisation-table-images-bottomborder\"> </td><td class=\"rdc_coreinformation_organisation-table-images-bottomborder\"> </td></tr>"; searchresultstring += "</table><br />"; } // Reset all variables organizationline = ""; maincontactline = ""; organizationurl = ""; hits = new HashMap<String, String>(); // New Hit oldorganizationid = serachresult.getOrganisationid(); // Get Organization Data organization = OrganizationLocalServiceUtil .getOrganization(serachresult.getOrganisationid()); long organizationId = organization.getOrganizationId(); String organisationtype = ""; String imgPath = themeDisplay.getPathImage() + "/layout_set_logo?img_id=" + organization.getLogoId(); String orgPath = themeDisplay.getURLPortal() + "/web" + organization.getGroup().getFriendlyURL(); String orgPathdiseases = themeDisplay.getURLPortal() + "/web" + organization.getGroup().getFriendlyURL(); if (organization.getExpandoBridge().getAttribute("Organization Type").toString() .equals("Biobank")) { bbcount++; if (organization.getLogoId() == 0) { imgPath = contextpath + "/images/Biobank.png"; } orgPath = orgPath + "/bb_home"; orgPathdiseases = orgPathdiseases + "/bb_diseases"; organisationtype = "Biobank"; } if (organization.getExpandoBridge().getAttribute("Organization Type").toString() .equals("Registry")) { regcount++; if (organization.getLogoId() == 0) { imgPath = contextpath + "/images/Registry.png"; } orgPath = orgPath + "/reg_home"; orgPathdiseases = orgPathdiseases + "/reg_diseases"; organisationtype = "Registry"; } // Organization Line organizationline = "<tr><td rowspan=\"3\" width=\"80px\"><a href=\"" + orgPath + "\"><img alt=\"logo\" src=\"" + imgPath + "\" width=\"60px\" /></a></td>"; organizationline += "<td><a href=\"" + orgPath + "\">" + highlightResult(organization.getName(), keyword) + "</a></td></tr>"; // Organization Main Contact long maincontactrole = 13320; User maincontact = null; List<User> userlist = UserLocalServiceUtil .getOrganizationUsers(organization.getOrganizationId()); for (User usertmp : userlist) { List<UserGroupRole> usergrouprolles = UserGroupRoleLocalServiceUtil .getUserGroupRoles(usertmp.getUserId(), organization.getGroup().getGroupId()); for (UserGroupRole ugr : usergrouprolles) { if (ugr.getRoleId() == maincontactrole) { maincontact = usertmp; } } } if (maincontact != null) { maincontactline += "<tr><td><a href=\"mailto:" + maincontact.getEmailAddress() + "\">" + highlightResult(maincontact.getFullName(), keyword) + "</a></td></tr>"; } else { } // Organization URL organizationurl = "<tr><td>"; boolean first = true; for (com.liferay.portal.model.Website website : WebsiteLocalServiceUtil.getWebsites( organization.getCompanyId(), Organization.class.getName(), organization.getOrganizationId())) { if (!first) { organizationurl += "<br />"; first = false; } organizationurl += "<a href=\"" + website.getUrl() + "\">" + highlightResult(website.getUrl(), keyword) + "</a>"; } organizationurl += "</td></tr>"; // First Hit if (!serachresult.getLocation().equalsIgnoreCase("OrganizationName")) { if (serachresult.getLocation().equalsIgnoreCase("Diseases")) { DiseaseMatrix diseasematrix = DiseaseMatrixLocalServiceUtil .getDiseaseMatrix(serachresult.getLocationid()); hits.put(serachresult.getLocation() + serachresult.getLocationid(), "<tr><td>" + serachresult.getLocation() + "</td><td>" + highlightResult(diseasematrix.getDiseasename(), keyword) + ": Number of Patients, Donors " + highlightResult(diseasematrix.getPatientcount(), keyword) + "<br />" + highlightResult(serachresult.getKey(), keyword) + ": " + highlightResult(serachresult.getValue(), keyword)); } else { hits.put(serachresult.getLocation() + serachresult.getLocationid(), "<tr><td>" + serachresult.getLocation() + "</td><td>" + highlightResult(serachresult.getKey(), keyword) + ": " + highlightResult(serachresult.getValue(), keyword)); } } } else { if (hits.containsKey(serachresult.getLocation() + serachresult.getLocationid())) { if (serachresult.getLocation().equalsIgnoreCase("Diseases")) { hits.put(serachresult.getLocation() + serachresult.getLocationid(), hits.get(serachresult.getLocation() + serachresult.getLocationid()) + "<br />" + " " + highlightResult(serachresult.getKey(), keyword) + ": " + highlightResult(serachresult.getValue(), keyword)); } else { hits.put(serachresult.getLocation() + serachresult.getLocationid(), hits.get(serachresult.getLocation() + serachresult.getLocationid()) + "<br />" + highlightResult(serachresult.getKey(), keyword) + ": " + highlightResult(serachresult.getValue(), keyword)); } } else { if (serachresult.getLocation().equalsIgnoreCase("Diseases")) { DiseaseMatrix diseasematrix = DiseaseMatrixLocalServiceUtil .getDiseaseMatrix(serachresult.getLocationid()); hits.put(serachresult.getLocation() + serachresult.getLocationid(), "<tr><td>" + serachresult.getLocation() + "</td><td>" + highlightResult(diseasematrix.getDiseasename(), keyword) + ": Number of Patients, Donors " + highlightResult(diseasematrix.getPatientcount(), keyword) + "<br />" + highlightResult(serachresult.getKey(), keyword) + ": " + highlightResult(serachresult.getValue(), keyword)); } else { hits.put(serachresult.getLocation() + serachresult.getLocationid(), "<tr><td>" + serachresult.getLocation() + "</td><td>" + highlightResult(serachresult.getKey(), keyword) + ": " + highlightResult(serachresult.getValue(), keyword)); } } } } catch (Exception ex) { //TODO add msg System.err.println("TODO add msg"); ex.printStackTrace(); } } // Add the last entry searchresultstring += "<table class=\"rdc_coreinformation_organisation-table-images\">"; searchresultstring += organizationline + maincontactline + organizationurl; for (String key : hits.keySet()) { searchresultstring += hits.get(key) + "</td></tr>"; } searchresultstring += "</table>"; // Add the number of Results searchresultstring = "<h4>Search returned " + serachresults.size() + " hits (Registries:" + regcount + " /Biobanks:" + bbcount + ")</h4><br /><br />" + searchresultstring; } catch (Exception e) { e.printStackTrace(); } if (searchresultstring.length() == 0) { searchresultstring = "No Results for the query."; } return searchresultstring; }