Example usage for com.liferay.portal.kernel.dao.orm DynamicQueryFactoryUtil forClass

List of usage examples for com.liferay.portal.kernel.dao.orm DynamicQueryFactoryUtil forClass

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.dao.orm DynamicQueryFactoryUtil forClass.

Prototype

@Deprecated
public static DynamicQuery forClass(Class<?> clazz) 

Source Link

Usage

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\">&nbsp;</td><td class=\"rdc_coreinformation_organisation-table-images-bottomborder\">&nbsp;</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 />" + "&nbsp;&nbsp;&nbsp;&nbsp;"
                                            + 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;
}