Example usage for org.apache.commons.collections CollectionUtils collect

List of usage examples for org.apache.commons.collections CollectionUtils collect

Introduction

In this page you can find the example usage for org.apache.commons.collections CollectionUtils collect.

Prototype

public static Collection collect(Iterator inputIterator, Transformer transformer) 

Source Link

Document

Transforms all elements from the inputIterator with the given transformer and adds them to the outputCollection.

Usage

From source file:edu.uci.ics.jung.graph.impl.HypergraphBPG.java

/**
 * @param realNeighbors/* w  w  w.  j  a v a2s.  c  o m*/
 * @return
 */
Set translateUnderlyingVertices(Set vertices) {
    Collection translated = CollectionUtils.collect(vertices, vertexToHyperVertex);
    return new HashSet(translated);
}

From source file:mondrian.olap.IdBatchResolver.java

/**
 * Filters the children list to those that contain identifiers
 * we think we can batch resolve, then transforms the Id list
 * to the corresponding NameSegment./* ww  w.  j a  v a 2 s  .  co m*/
 */
private List<Id.NameSegment> collectChildrenNameSegments(final Member parentMember, List<Id> children) {
    filter(children, new Predicate() {
        // remove children we can't support
        public boolean evaluate(Object theId) {
            Id id = (Id) theId;
            return !Util.matches(parentMember, id.getSegments()) && supportedIdentifier(id);
        }
    });
    return new ArrayList(CollectionUtils.collect(children, new Transformer() {
        // convert the collection to a list of NameSegments
        public Object transform(Object theId) {
            Id id = (Id) theId;
            return getLastSegment(id);
        }
    }));
}

From source file:edu.uci.ics.jung.graph.impl.HypergraphBPG.java

/**
 * @param set/*from w  ww .j  a va  2s  .  co m*/
 * @return
 */
Set translateUnderlyingEdges(Set vertices) {
    Collection translated = CollectionUtils.collect(vertices, vertexToHyperEdge);
    return new HashSet(translated);
}

From source file:com.square.core.dao.implementations.PersonnePhysiqueDaoImplementation.java

@SuppressWarnings("unchecked")
@Override/*w  w  w .j a v a 2s .  c  o m*/
public ResultatPaginationFullText<PersonnePhysique> rechercheFullTextPersonne(
        RemotePagingCriteriasDto<PersonneCriteresRechercheDto> criteres) throws ParseException {

    final PersonneCriteresRechercheDto criteresRecherche = criteres.getCriterias();

    // Si des critres ont t fournis on traite ces critres
    final BooleanQuery bq = new BooleanQuery();

    if (criteresRecherche.getNumeroClient() != null && !("".equals(criteresRecherche.getNumeroClient()))) {
        final AnalysingCustomQueryParser parser = new AnalysingCustomQueryParser(getMatchingVersion(), "num",
                getAnalyser(PersonnePhysique.class));
        parser.setAllowLeadingWildcard(true);
        String numeroClient = criteresRecherche.getNumeroClient().replaceAll(POURCENT, ETOILE);
        if (!criteres.getCriterias().isRechercheStricte()) {
            numeroClient = numeroClient.lastIndexOf(ETOILE) == numeroClient.length() - 1 ? numeroClient
                    : numeroClient + ETOILE;
        }
        final org.apache.lucene.search.Query requeteLucene = parser.parse(numeroClient);
        bq.add(requeteLucene, BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getNom() != null && !("".equals(criteresRecherche.getNom()))) {
        final AnalysingCustomQueryParser parser = new AnalysingCustomQueryParser(getMatchingVersion(), "nom",
                getAnalyser(PersonnePhysique.class));
        parser.setAllowLeadingWildcard(true);
        String nom = criteresRecherche.getNom().replaceAll(POURCENT, ETOILE);
        if (!criteres.getCriterias().isRechercheStricte()) {
            nom = nom.lastIndexOf(ETOILE) == nom.length() - 1 ? nom : nom + ETOILE;
        }
        final org.apache.lucene.search.Query requeteLucene = parser.parse(nom);
        bq.add(requeteLucene, BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getNomJeuneFille() != null && !("".equals(criteresRecherche.getNomJeuneFille()))) {
        final AnalysingCustomQueryParser parser = new AnalysingCustomQueryParser(getMatchingVersion(),
                "nomJeuneFille", getAnalyser(PersonnePhysique.class));
        parser.setAllowLeadingWildcard(true);
        String nomJeuneFille = criteresRecherche.getNomJeuneFille().replaceAll(POURCENT, ETOILE);
        if (!criteres.getCriterias().isRechercheStricte()) {
            nomJeuneFille = nomJeuneFille.lastIndexOf(ETOILE) == nomJeuneFille.length() - 1 ? nomJeuneFille
                    : nomJeuneFille + ETOILE;
        }
        final org.apache.lucene.search.Query requeteLucene = parser.parse(nomJeuneFille);
        bq.add(requeteLucene, BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getPrenom() != null && !("".equals(criteresRecherche.getPrenom()))) {
        final AnalysingCustomQueryParser parser = new AnalysingCustomQueryParser(getMatchingVersion(), "prenom",
                getAnalyser(PersonnePhysique.class));
        parser.setAllowLeadingWildcard(true);
        String prenom = criteresRecherche.getPrenom().replaceAll(POURCENT, ETOILE);
        if (!criteres.getCriterias().isRechercheStricte()) {
            prenom = prenom.lastIndexOf(ETOILE) == prenom.length() - 1 ? prenom : prenom + ETOILE;
        }
        final org.apache.lucene.search.Query requeteLucene = parser.parse(prenom);
        bq.add(requeteLucene, BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getNro() != null && !("".equals(criteresRecherche.getNro()))) {
        if (criteresRecherche.getNro().length() == 15) {
            final NumeroRoDto numeroRo = squareMappingService.convertirNroVersNss(criteresRecherche.getNro());

            AnalysingCustomQueryParser parser = new AnalysingCustomQueryParser(getMatchingVersion(),
                    "infoSante.numSecuriteSocial", getAnalyser(PersonnePhysique.class));
            parser.setAllowLeadingWildcard(true);
            String numeroSs = numeroRo.getNumeroSS().replaceAll(POURCENT, ETOILE);
            if (!criteres.getCriterias().isRechercheStricte()) {
                numeroSs = numeroSs.lastIndexOf(ETOILE) == numeroSs.length() - 1 ? numeroSs : numeroSs + ETOILE;
            }
            org.apache.lucene.search.Query requeteLucene = parser.parse(numeroSs);
            bq.add(requeteLucene, BooleanClause.Occur.MUST);

            parser = new AnalysingCustomQueryParser(getMatchingVersion(), "infoSante.cleSecuriteSocial",
                    getAnalyser(PersonnePhysique.class));
            parser.setAllowLeadingWildcard(true);
            String cleSs = numeroRo.getCleSS().replaceAll(POURCENT, ETOILE);
            if (!criteres.getCriterias().isRechercheStricte()) {
                cleSs = cleSs.lastIndexOf(ETOILE) == cleSs.length() - 1 ? cleSs : cleSs + ETOILE;
            }
            requeteLucene = parser.parse(cleSs);
            bq.add(requeteLucene, BooleanClause.Occur.MUST);
        } else {
            final AnalysingCustomQueryParser parser = new AnalysingCustomQueryParser(getMatchingVersion(),
                    "infoSante.numSecuriteSocial", getAnalyser(PersonnePhysique.class));
            parser.setAllowLeadingWildcard(true);
            String numeroSs = criteresRecherche.getNro().replaceAll(POURCENT, ETOILE);
            if (!criteres.getCriterias().isRechercheStricte()) {
                numeroSs = numeroSs.lastIndexOf(ETOILE) == numeroSs.length() - 1 ? numeroSs : numeroSs + ETOILE;
            }
            final org.apache.lucene.search.Query requeteLucene = parser.parse(numeroSs);
            bq.add(requeteLucene, BooleanClause.Occur.MUST);
        }
    }

    if (criteresRecherche.getDateNaissance() != null) {
        final DateNaissanceBridge dateBridge = new DateNaissanceBridge();

        final AnalysingCustomQueryParser parser = new AnalysingCustomQueryParser(getMatchingVersion(),
                "dateNaissance", getAnalyser(PersonnePhysique.class));
        final org.apache.lucene.search.Query requeteLucene = parser
                .parse(dateBridge.objectToString(criteresRecherche.getDateNaissance()));
        bq.add(requeteLucene, BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getListeNatures() != null && !criteresRecherche.getListeNatures().isEmpty()) {
        final List<String> listeValeurs = (List<String>) CollectionUtils
                .collect(criteresRecherche.getListeNatures(), StringValueTransformer.getInstance());
        bq.add((Query) getInQuery("nature.id", listeValeurs), BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getTelephone() != null && !("".equals(criteresRecherche.getTelephone()))) {
        final AnalysingCustomQueryParser parser = new AnalysingCustomQueryParser(getMatchingVersion(),
                "telephones.numTelephone", getAnalyser(PersonnePhysique.class));
        parser.setAllowLeadingWildcard(true);
        String telephone = criteresRecherche.getTelephone().replaceAll(POURCENT, ETOILE);
        if (!criteres.getCriterias().isRechercheStricte()) {
            telephone = telephone.lastIndexOf(ETOILE) == telephone.length() - 1 ? telephone
                    : telephone + ETOILE;
        }
        final org.apache.lucene.search.Query requeteLucene = parser.parse(telephone);
        bq.add(requeteLucene, BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getEmail() != null && !("".equals(criteresRecherche.getEmail()))) {
        final AnalysingCustomQueryParser parser = new AnalysingCustomQueryParser(getMatchingVersion(),
                "emails.adresse", getAnalyser(PersonnePhysique.class));
        parser.setAllowLeadingWildcard(true);
        String email = criteresRecherche.getEmail().replaceAll(POURCENT, ETOILE);
        if (!criteres.getCriterias().isRechercheStricte()) {
            email = email.lastIndexOf(ETOILE) == email.length() - 1 ? email : email + ETOILE;
        }
        final org.apache.lucene.search.Query requeteLucene = parser.parse(email);
        bq.add(requeteLucene, BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getNumVoie() != null && !("".equals(criteresRecherche.getNumVoie()))) {
        final AnalysingCustomQueryParser parser = new AnalysingCustomQueryParser(getMatchingVersion(),
                "adresses.numeroVoie", getAnalyser(PersonnePhysique.class));
        parser.setAllowLeadingWildcard(true);
        String numVoie = criteresRecherche.getNumVoie().replaceAll(POURCENT, ETOILE);
        if (!criteres.getCriterias().isRechercheStricte()) {
            numVoie = numVoie.lastIndexOf(ETOILE) == numVoie.length() - 1 ? numVoie : numVoie + ETOILE;
        }
        final org.apache.lucene.search.Query requeteLucene = parser.parse(numVoie);
        bq.add(requeteLucene, BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getListeNaturesVoie() != null && !criteresRecherche.getListeNaturesVoie().isEmpty()) {
        final List<String> listeValeurs = (List<String>) CollectionUtils
                .collect(criteresRecherche.getListeNaturesVoie(), StringValueTransformer.getInstance());
        bq.add((Query) getInQuery("adresses.typeVoie.id", listeValeurs), BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getListeNaturesTelephones() != null
            && !criteresRecherche.getListeNaturesTelephones().isEmpty()) {
        final List<String> listeValeurs = (List<String>) CollectionUtils
                .collect(criteresRecherche.getListeNaturesTelephones(), StringValueTransformer.getInstance());
        bq.add((Query) getInQuery("telephones.natureTelephone.id", listeValeurs), BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getAdresse() != null && !("".equals(criteresRecherche.getAdresse()))) {
        final AnalysingCustomQueryParser parser = new AnalysingCustomQueryParser(getMatchingVersion(),
                "adresses.nomVoie", getAnalyser(PersonnePhysique.class));
        parser.setAllowLeadingWildcard(true);
        String adresse = criteresRecherche.getAdresse().replaceAll(POURCENT, ETOILE);
        if (!criteres.getCriterias().isRechercheStricte()) {
            adresse = adresse.lastIndexOf(ETOILE) == adresse.length() - 1 ? adresse : adresse + ETOILE;
        }
        final org.apache.lucene.search.Query requeteLucene = parser.parse(adresse);
        bq.add(requeteLucene, BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getListeCodesPostaux() != null
            && !criteresRecherche.getListeCodesPostaux().isEmpty()) {
        final List<String> listeValeurs = (List<String>) CollectionUtils
                .collect(criteresRecherche.getListeCodesPostaux(), StringValueTransformer.getInstance());
        bq.add((Query) getInQuery("adresses.codePostalCommune.codePostal.id", listeValeurs),
                BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getListeVilles() != null && !criteresRecherche.getListeVilles().isEmpty()) {
        final List<String> listeValeurs = (List<String>) CollectionUtils
                .collect(criteresRecherche.getListeVilles(), StringValueTransformer.getInstance());
        bq.add((Query) getInQuery("adresses.codePostalCommune.commune.id", listeValeurs),
                BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getIdCommerciaux() != null && !criteresRecherche.getIdCommerciaux().isEmpty()) {
        final List<String> listeValeurs = (List<String>) CollectionUtils
                .collect(criteresRecherche.getIdCommerciaux(), StringValueTransformer.getInstance());
        bq.add((Query) getInQuery("attribution.ressource.id", listeValeurs), BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getIdAgences() != null && !criteresRecherche.getIdAgences().isEmpty()) {
        final List<String> listeValeurs = (List<String>) CollectionUtils
                .collect(criteresRecherche.getIdAgences(), StringValueTransformer.getInstance());
        bq.add((Query) getInQuery("attribution.agence.id", listeValeurs), BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getIdPersonnesAIgnorer() != null
            && !criteresRecherche.getIdPersonnesAIgnorer().isEmpty()) {
        final List<String> listeValeurs = (List<String>) CollectionUtils
                .collect(criteresRecherche.getIdPersonnesAIgnorer(), StringValueTransformer.getInstance());
        bq.add((Query) getInQuery("id", listeValeurs), BooleanClause.Occur.MUST_NOT);
    }
    if (criteresRecherche.getListeReseaux() != null && !criteresRecherche.getListeReseaux().isEmpty()) {
        final List<String> listeValeurs = (List<String>) CollectionUtils
                .collect(criteresRecherche.getListeReseaux(), StringValueTransformer.getInstance());
        bq.add((Query) getInQuery("reseau.id", listeValeurs), BooleanClause.Occur.MUST);
    }
    final List<Long> idPersonnes = criteresRecherche.getIdPersonnes();
    if (idPersonnes != null && !idPersonnes.isEmpty()) {
        final List<String> listeValeurs = (List<String>) CollectionUtils.collect(idPersonnes,
                StringValueTransformer.getInstance());
        bq.add((Query) getInQuery("id", listeValeurs), BooleanClause.Occur.MUST);
    }

    // On ne recherche que les personnes non supprimes
    if (criteresRecherche.getSupprime() != null) {
        bq.add(new TermQuery(new Term("supprime", criteresRecherche.getSupprime().toString())),
                BooleanClause.Occur.MUST);
    }

    // CONSTRUCTION DE LA REQUETE
    final FullTextQuery fullTextQuery = createFullTextQuery(bq, PersonnePhysique.class);
    logger.debug("Requte full text : " + fullTextQuery.getQueryString());

    // AJOUT DES INFORMATION DE TRI
    if (criteres.getListeSorts().size() > 0) {
        final SortField[] listeChamp = new SortField[criteres.getListeSorts().size()];
        for (int index = 0; index < criteres.getListeSorts().size(); index++) {
            listeChamp[index] = new SortField(criteres.getListeSorts().get(index).getSortField(),
                    SortField.STRING, criteres.getListeSorts().get(index)
                            .getSortAsc() == RemotePagingSort.REMOTE_PAGING_SORT_DESC);
        }
        final Sort sort = new Sort(listeChamp);
        fullTextQuery.setSort(sort);

    }

    // AJOUT DES INFORMATIONS DE PAGINATION
    final int nbMaxDocs = fullTextQuery.getResultSize();
    fullTextQuery.setFirstResult(criteres.getFirstResult());
    fullTextQuery.setMaxResults((criteres.getFirstResult() + criteres.getMaxResult()) > nbMaxDocs
            ? (nbMaxDocs == 0 ? nbMaxDocs + 1 : nbMaxDocs)
            : criteres.getMaxResult());

    // RETOURNE LA LISTE DES RESULTATS ET LE NOMBRE TOTAL DE RESULTAT (non affct par la pagination)
    return new ResultatPaginationFullText<PersonnePhysique>(fullTextQuery.list(), nbMaxDocs);
}

From source file:com.square.core.dao.implementations.RessourceDaoImplementation.java

@SuppressWarnings("unchecked")
@Override//from  w w w.  j  ava  2  s.co  m
public ResultatPaginationFullText<Ressource> rechercherFullTextRessource(
        RemotePagingCriteriasDto<RessourceCriteresRechercheDto> criteres) throws ParseException {

    final RessourceCriteresRechercheDto criteresRecherche = criteres.getCriterias();

    // Si des critres ont t fournis on traite ces critres
    final BooleanQuery bq = new BooleanQuery();

    if (criteresRecherche.getNom() != null && !("".equals(criteresRecherche.getNom()))) {
        final AnalysingCustomQueryParser parser = new AnalysingCustomQueryParser(getMatchingVersion(),
                FIELD_NOM, getAnalyser(Ressource.class));
        parser.setAllowLeadingWildcard(true);
        final String nom = criteresRecherche.getNom().replaceAll(POURCENT, ETOILE);
        final org.apache.lucene.search.Query requeteLucene = parser
                .parse(nom.lastIndexOf(ETOILE) == nom.length() - 1 ? nom : nom + ETOILE);
        bq.add(requeteLucene, BooleanClause.Occur.MUST);
    }
    if (criteresRecherche.getPrenom() != null && !("".equals(criteresRecherche.getPrenom()))) {
        final AnalysingCustomQueryParser parser = new AnalysingCustomQueryParser(getMatchingVersion(), "prenom",
                getAnalyser(Ressource.class));
        parser.setAllowLeadingWildcard(true);
        final String prenom = criteresRecherche.getPrenom().replaceAll(POURCENT, ETOILE);
        final org.apache.lucene.search.Query requeteLucene = parser
                .parse(prenom.lastIndexOf(ETOILE) == prenom.length() - 1 ? prenom : prenom + ETOILE);
        bq.add(requeteLucene, BooleanClause.Occur.MUST);
    }
    // Critre sur la liste des services
    if (criteresRecherche.getIdServices() != null && !criteresRecherche.getIdServices().isEmpty()) {
        final List<String> listeValeurs = (List<String>) CollectionUtils
                .collect(criteresRecherche.getIdServices(), StringValueTransformer.getInstance());
        bq.add((Query) getInQuery("service.id", listeValeurs), BooleanClause.Occur.MUST);
    }
    // Critre sur la liste des fonctions
    if (criteresRecherche.getIdFonctions() != null && !criteresRecherche.getIdFonctions().isEmpty()) {
        final List<String> listeValeurs = (List<String>) CollectionUtils
                .collect(criteresRecherche.getIdFonctions(), StringValueTransformer.getInstance());
        bq.add((Query) getInQuery("fonction.id", listeValeurs), BooleanClause.Occur.MUST);
    }
    // Critre sur la liste des etats
    if (criteresRecherche.getIdEtats() != null && !criteresRecherche.getIdEtats().isEmpty()) {
        final List<String> listeValeurs = (List<String>) CollectionUtils.collect(criteresRecherche.getIdEtats(),
                StringValueTransformer.getInstance());
        bq.add((Query) getInQuery("etat.id", listeValeurs), BooleanClause.Occur.MUST);
    }
    // Critre sur la liste des agences
    if (criteresRecherche.getIdAgences() != null && !criteresRecherche.getIdAgences().isEmpty()) {
        final List<String> listeValeurs = (List<String>) CollectionUtils
                .collect(criteresRecherche.getIdAgences(), StringValueTransformer.getInstance());
        bq.add((Query) getInQuery("agence.id", listeValeurs), BooleanClause.Occur.MUST);
    }
    // Critre sur la liste des identifiants extrieurs des fonctions
    if (criteresRecherche.getListeIdsExtsFonctions() != null
            && !criteresRecherche.getListeIdsExtsFonctions().isEmpty()) {
        final List<String> listeValeurs = (List<String>) CollectionUtils
                .collect(criteresRecherche.getListeIdsExtsFonctions(), StringValueTransformer.getInstance());
        bq.add((Query) getInQuery("fonction.identifiantExterieur", listeValeurs), BooleanClause.Occur.SHOULD);
    }

    // PARAMETRE TOUJOURS VRAI POUR RECHERCHER SANS CRITERE
    if (criteresRecherche.getNom() == null || "".equals(criteresRecherche.getNom())) {
        final QueryParser parser = new QueryParser(getMatchingVersion(), FIELD_NOM,
                getAnalyser(PersonnePhysique.class));
        parser.setAllowLeadingWildcard(true);
        final org.apache.lucene.search.Query requeteLucene = parser.parse("*");
        bq.add(requeteLucene, BooleanClause.Occur.MUST);
    }

    // CONSTRUCTION DE LA REQUETE
    final FullTextQuery fullTextQuery = createFullTextQuery(bq, Ressource.class);

    // AJOUT DES INFORMATION DE TRI
    if (criteres.getListeSorts().size() > 0) {
        final SortField[] listeChamp = new SortField[criteres.getListeSorts().size()];
        for (int index = 0; index < criteres.getListeSorts().size(); index++) {
            listeChamp[index] = new SortField(criteres.getListeSorts().get(index).getSortField(),
                    SortField.STRING, criteres.getListeSorts().get(index)
                            .getSortAsc() == RemotePagingSort.REMOTE_PAGING_SORT_DESC);
        }
        final Sort sort = new Sort(listeChamp);
        fullTextQuery.setSort(sort);

    }

    // AJOUT DES INFORMATIONS DE PAGINATION
    fullTextQuery.setFirstResult(criteres.getFirstResult());
    fullTextQuery.setMaxResults(criteres.getMaxResult());

    // RETOURNE LA LISTE DES RESULTATS ET LE NOMBRE TOTAL DE RESULTAT (non affct par la pagination)
    return new ResultatPaginationFullText<Ressource>(fullTextQuery.list(), fullTextQuery.getResultSize());
}

From source file:edu.northwestern.bioinformatics.studycalendar.service.StudySiteService.java

@SuppressWarnings({ "unchecked" })
public List<List<StudySite>> refreshStudySitesForSites(final List<Site> sites) {
    if (sites == null) {
        throw new IllegalArgumentException(SITE_IS_NULL);
    }//from   w w  w .  j  a  v  a 2 s. c  om

    List<List<StudySite>> refreshed = new ArrayList<List<StudySite>>();

    final Map<String, List<Study>> studies = buildProvidedStudyMap();
    final List<List<StudySite>> allProvided = studySiteConsumer.refreshStudies(sites);

    for (int i = 0; i < sites.size(); i++) {
        final Site site = sites.get(i);
        List<StudySite> provided = allProvided.get(i);
        if (provided == null) {
            provided = EMPTY_LIST;
        }

        Collection<StudySite> qualifying = CollectionUtils.select(provided, new Predicate() {
            public boolean evaluate(Object o) {
                StudySite potential = (StudySite) o;

                // Verify Provider for existing Site is equal to StudySite Provider
                if (site.getProvider() == null || !site.getProvider().equals(potential.getProvider())) {
                    return false;
                }

                // Verify Provider for existing Study is equal to StudySite Provider (And Study Exists)
                List<Study> providerSpecific = studies.get(potential.getProvider());
                if (providerSpecific == null || CollectionUtilsPlus.matching(asList(potential.getStudy()),
                        providerSpecific, StudySecondaryIdentifierMatcher.instance()).size() == 0) {
                    return false;
                }

                // Verify new study site
                Study study = (Study) CollectionUtilsPlus.matching(asList(potential.getStudy()),
                        providerSpecific, StudySecondaryIdentifierMatcher.instance()).iterator().next();
                if (StudySite.findStudySite(study, site) != null) {
                    return false;
                }

                return true;
            }
        });

        logger.debug("Found " + qualifying.size() + " new study sites from the provider.");
        for (StudySite u : qualifying) {
            logger.debug("- " + u);
        }

        // StudySites returned from provider are proxied by CGLIB.  This causes problems when saving,
        // so we want to create a fresh StudySite instance. Also, we want to populate the site with a
        // valid Site from SiteService.
        Collection<StudySite> enhanced = CollectionUtils.collect(qualifying, new Transformer() {
            public Object transform(Object o) {
                StudySite s = (StudySite) o;

                List<Study> providerSpecific = studies.get(s.getProvider());
                Study study = (Study) CollectionUtilsPlus.matching(asList(s.getStudy()), providerSpecific,
                        StudySecondaryIdentifierMatcher.instance()).iterator().next();

                StudySite e = new StudySite(study, site);
                e.getStudy().addStudySite(e);
                e.getSite().addStudySite(e);
                e.setProvider(s.getProvider());
                e.setLastRefresh(s.getLastRefresh());
                return e;
            }
        });

        for (StudySite s : enhanced) {
            studySiteDao.save(s);
        }

        refreshed.add(site.getStudySites());
    }

    return refreshed;
}

From source file:mondrian.olap.IdBatchResolver.java

/**
 * Returns a collection of strings corresponding to the name
 * or uniqueName of each OlapElement in olapElements, based on the
 * flag uniqueName.//from   ww w. ja  va  2 s .c o  m
 */
private Collection<String> getOlapElementNames(OlapElement[] olapElements, final boolean uniqueName) {
    return CollectionUtils.collect(Arrays.asList(olapElements), new Transformer() {
        public Object transform(Object o) {
            return uniqueName ? ((OlapElement) o).getUniqueName() : ((OlapElement) o).getName();
        }
    });
}

From source file:net.sourceforge.fenixedu.presentationTier.Action.coordinator.DegreeCurricularPlanManagementDispatchAction.java

private List<InfoCurricularCourseScope> getInfoCurricularCourseScopes(
        InfoCurricularCourse infoCurricularCourse) {
    CurricularCourse curricularCourse = (CurricularCourse) FenixFramework
            .getDomainObject(infoCurricularCourse.getExternalId());
    List<InfoCurricularCourseScope> infoScopes = (List) CollectionUtils.collect(curricularCourse.getScopesSet(),
            new Transformer() {

                @Override//  w  w  w.  j  a  v a2 s  .co  m
                public Object transform(Object arg0) {
                    CurricularCourseScope curricularCourseScope = (CurricularCourseScope) arg0;
                    return InfoCurricularCourseScope.newInfoFromDomain(curricularCourseScope);
                }

            });
    return infoScopes;
}

From source file:gov.nih.nci.caintegrator.studyQueryService.germline.ObjectQueryHandler.java

public Collection<Integer> getAgeLowerLimitValues(StudyCriteria studyCrit) {
    if (studyCrit == null || studyCrit.getId() == null)
        return new ArrayList<Integer>();
    Long studyId = studyCrit.getId();
    ageLowerLimits = new HashSet<Integer>();
    Session session = getSessionFactory().getCurrentSession();
    HashMap params = new HashMap();
    String sql = " SELECT AGE_AT_ENROLL_MIN FROM ENROLL_AGE_LU WHERE STUDY_ID = :studyId ";
    params.put("studyId", studyId);
    SQLQuery q = session.createSQLQuery(sql);
    q.addScalar("AGE_AT_ENROLL_MIN", Hibernate.INTEGER);
    HQLHelper.setParamsOnQuery(params, q);
    Collection<BigDecimal> minValues = q.list();
    Collection<Integer> intValues = CollectionUtils.collect(minValues, new IntegerTransformer());
    ageLowerLimits.addAll(intValues);/*from  www  .ja  va 2 s  .  co m*/
    return ageLowerLimits;
}

From source file:com.topsec.tsm.sim.report.web.ReportController.java

/**
 * //from w w  w  .j a va2 s.  c o m
 */
@RequestMapping("reportQuery")
@SuppressWarnings("unchecked")
public String reportQuery(SID sid, HttpServletRequest request, HttpServletResponse response) throws Exception {
    boolean fromRest = false;
    if (request.getParameter("fromRest") != null) {
        fromRest = Boolean.parseBoolean(request.getParameter("fromRest"));
    }
    JSONObject json = new JSONObject();
    ReportBean bean = new ReportBean();
    bean = ReportUiUtil.tidyFormBean(bean, request);
    String onlyByDvctype = request.getParameter("onlyByDvctype");
    String[] talCategory = bean.getTalCategory();
    ReportModel.setBeanPropery(bean);
    RptMasterTbService rptMasterTbImp = (RptMasterTbService) SpringContextServlet.springCtx
            .getBean(ReportUiConfig.MstBean);
    List<Map<String, Object>> subResult = rptMasterTbImp.queryTmpList(ReportUiConfig.MstSubSql,
            new Object[] { StringUtil.toInt(bean.getMstrptid(), StringUtil.toInt(bean.getTalTop(), 5)) });
    StringBuffer layout = new StringBuffer();
    Map<Integer, Integer> rowColumns = ReportModel.getRowColumns(subResult);
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("dvcType", bean.getDvctype());
    params.put("talTop", bean.getTalTop());
    params.put("mstId", bean.getMstrptid());
    params.put("eTime", bean.getTalEndTime());
    if ("Esm/Topsec/SimEvent".equals(bean.getDvctype()) || "Esm/Topsec/SystemLog".equals(bean.getDvctype())
            || "Esm/Topsec/SystemRunLog".equals(bean.getDvctype())
            || "Log/Global/Detail".equals(bean.getDvctype())) {
        onlyByDvctype = "onlyByDvctype";
    }
    String sUrl = null;
    List<SimDatasource> simDatasources = dataSourceService.getDataSourceByDvcType(bean.getDvctype());
    removeRepeatDs(simDatasources);
    Set<AuthUserDevice> devices = ObjectUtils.nvl(sid.getUserDevice(), Collections.<AuthUserDevice>emptySet());
    List<SimDatasource> dslist = new ArrayList<SimDatasource>();
    if (sid.isOperator()) {
        SimDatasource dsource = new SimDatasource();
        dsource.setDeviceIp("");
        dsource.setSecurityObjectType(bean.getDvctype());
        dsource.setAuditorNodeId("");
        dslist.add(0, dsource);
        dslist.addAll(simDatasources);
    } else {
        BeanToPropertyValueTransformer trans = new BeanToPropertyValueTransformer("ip");
        Collection<String> userDeviceIPs = (Collection<String>) CollectionUtils.collect(devices, trans);
        for (SimDatasource simDatasource : simDatasources) {
            if (userDeviceIPs.contains(simDatasource.getDeviceIp())) {
                dslist.add(simDatasource);
            }
        }
    }

    int screenWidth = StringUtil.toInt(request.getParameter("screenWidth"), 1280) - 25 - 200;

    boolean flag = "onlyByDvctype".equals(onlyByDvctype);
    SimDatasource selectDataSource = getSelectDataSource(dslist, bean, flag, request);
    AssetObject assetObject = null == selectDataSource ? null
            : AssetFacade.getInstance().getAssetByIp(selectDataSource.getDeviceIp());
    if (fromRest) {
        json.put("selectDataSourceId", selectDataSource == null ? 0 : selectDataSource.getResourceId());
        json.put("selectDataSourceName", selectDataSource == null ? "" : assetObject.getName());
    }
    request.setAttribute("selectDataSourceId", selectDataSource == null ? 0 : selectDataSource.getResourceId());
    request.setAttribute("selectDataSourceName", selectDataSource == null ? "" : assetObject.getName());
    StringBuffer subUrl = new StringBuffer();
    Map layoutValue = new HashMap();
    for (int i = 0, len = subResult.size(); i < len; i++) {
        params.remove("sTime");
        Map subMap = subResult.get(i);
        if (i == 0) {
            bean.setViewItem(StringUtil.toString(subMap.get("viewItem"), ""));
        }
        Integer row = (Integer) subMap.get("subRow");
        layout.append(row + ":" + subMap.get("subColumn") + ",");
        if (GlobalUtil.isNullOrEmpty(subMap)) {
            continue;
        }
        boolean qushi = StringUtil.booleanVal(subMap.get("chartProperty"));
        String tableSql = StringUtil.nvl((String) subMap.get("tableSql"));
        String subName = StringUtil.nvl((String) subMap.get("subName"));
        String mstName = StringUtil.nvl((String) subMap.get("mstName"));
        String pageSql = StringUtil.nvl((String) subMap.get("pagesql"));
        String chartSql = StringUtil.nvl((String) subMap.get("chartSql"));
        String nowTime = ReportUiUtil.getNowTime(ReportUiConfig.dFormat1);
        String talEndTime = bean.getTalEndTime();
        if (qushi && (subName.contains("") || subName.contains("")
                || subName.contains("") || subName.contains("")
                || mstName.contains("") || mstName.contains("")
                || mstName.contains("") || mstName.contains(""))) {
            bean.setTalEndTime(nowTime);
            params.put("eTime", bean.getTalEndTime());
            if (tableSql.indexOf("Hour") > 20 || tableSql.indexOf("_hour") > 20) {
                params.put("sTime", ReportUiUtil.toStartTime("hour", bean.getTalEndTime()));
            } else if (tableSql.indexOf("Day") > 20 || tableSql.indexOf("_day") > 20) {
                params.put("sTime", ReportUiUtil.toStartTime("day", bean.getTalEndTime()));
            } else if (tableSql.indexOf("Month") > 20 || tableSql.indexOf("_month") > 20) {
                params.put("sTime", ReportUiUtil.toStartTime("month", bean.getTalEndTime()));
            } else if (pageSql.indexOf("Hour") > 20 || pageSql.indexOf("_hour") > 20
                    || chartSql.indexOf("Hour") > 20) {
                params.put("sTime", ReportUiUtil.toStartTime("hour", bean.getTalEndTime()));
            } else if (pageSql.indexOf("Day") > 20 || pageSql.indexOf("_day") > 20
                    || chartSql.indexOf("Day") > 20) {
                params.put("sTime", ReportUiUtil.toStartTime("day", bean.getTalEndTime()));
            } else if (pageSql.indexOf("Month") > 20 || pageSql.indexOf("_month") > 20
                    || chartSql.indexOf("Month") > 20) {
                params.put("sTime", ReportUiUtil.toStartTime("month", bean.getTalEndTime()));
            } else {
                params.put("sTime", bean.getTalStartTime());
            }
        } else if (subName.indexOf("") > 1) {
            bean.setTalEndTime(nowTime);
            params.put("eTime", bean.getTalEndTime());
            if (tableSql.indexOf("Hour") > 20 || tableSql.indexOf("_hour") > 20) {
                params.put("sTime", ReportUiUtil.toStartTime("undefined", bean.getTalEndTime()));
            } else {
                params.put("sTime", bean.getTalStartTime());
            }
            String startTime = params.get("sTime").toString();
            String endTime = params.get("eTime").toString();
            subName = subName + " " + startTime.substring(5) + " - "
                    + endTime.substring(10) + "";//endTime.substring(10,endTime.length()-4)+"0:00";
            subMap.put("subName", subName);
        } else {
            params.put("sTime", bean.getTalStartTime());
        }
        bean.setTalEndTime(talEndTime);
        sUrl = getUrl(ReportUiConfig.subUrl, request, params, bean.getTalCategory()).toString();
        subUrl.replace(0, subUrl.length(), sUrl);
        subUrl.append("&").append(ReportUiConfig.subrptid).append("=").append(subMap.get("subId"));
        subUrl.substring(0, subUrl.length());
        int column = rowColumns.get(row);
        String width = String.valueOf((screenWidth - 10 * column) / column);
        String _column = subMap.get("subColumn").toString();
        layoutValue.put(row + _column, ReportUiUtil.createSubTitle(subMap, width, subUrl.toString(),
                bean.getTalCategory(), StringUtil.toInt(bean.getTalTop(), 5)));
    }
    if (talCategory != null) {
        if (fromRest)
            json.put("superiorUrl", getSuperiorUrl(request, params, bean.getTalCategory()).toString());
        request.setAttribute("superiorUrl", getSuperiorUrl(request, params, bean.getTalCategory()).toString());
    }

    if (!GlobalUtil.isNullOrEmpty(subResult) && subResult.size() > 0) {
        if (!GlobalUtil.isNullOrEmpty(subResult.get(0).get("mstName"))) {
            if (fromRest) {
                json.put("title", subResult.get(0).get("mstName"));
            }
            request.setAttribute("title", subResult.get(0).get("mstName"));
        }
    }
    String htmlLayout = ReportModel.createMstTable(layout.toString(), layoutValue);
    StringBuffer sb = getExportUrl(request, params, talCategory);
    request.setAttribute("expUrl", sb.toString());
    request.setAttribute("layout", htmlLayout);
    request.setAttribute("bean", bean);
    request.setAttribute("dslist", dslist);
    if (fromRest) {
        json.put("expUrl", sb.toString());
        json.put("layout", htmlLayout);
        json.put("bean", JSONObject.toJSON(bean));
        json.put("dslist", JSONObject.toJSON(dslist));
        return json.toString();
    }

    return "/page/report/base_report_detail";
}