Example usage for org.hibernate Criteria createCriteria

List of usage examples for org.hibernate Criteria createCriteria

Introduction

In this page you can find the example usage for org.hibernate Criteria createCriteria.

Prototype

public Criteria createCriteria(String associationPath) throws HibernateException;

Source Link

Document

Create a new Criteria, "rooted" at the associated entity.

Usage

From source file:com.lm.lic.manager.hibernate.LicenseDAO.java

License:Open Source License

public Integer findNumInUseLicenses(String isvId, String prodId, String prodDefId, String storeId,
        String platformId, Date startDate, Date endDate) {
    Integer numLics = 0;/* ww  w  .  ja  va  2 s.  co m*/
    try {

        Long lisvid = null;
        if (StringUtils.hasText(isvId))
            lisvid = Long.parseLong(isvId);

        Long lpid = null;
        if (StringUtils.hasText(prodId))
            lpid = Long.parseLong(prodId);

        Long lppid = null;
        if (StringUtils.hasText(prodDefId))
            lppid = Long.parseLong(prodDefId);

        Long lsid = null;
        if (StringUtils.hasText(storeId))
            lsid = Long.parseLong(storeId);

        Long lfid = null;
        if (StringUtils.hasText(platformId))
            lfid = Long.parseLong(platformId);

        Criteria criteria = getSession().createCriteria(License.class);

        criteria.add(Restrictions.eq("isv.id", lisvid));

        Criteria prodCriteria = criteria.createCriteria("product");

        // If the child product is specified, this supercedes the wider selection of the product
        // definition.
        // Only check for htye product definition if the child product was not selected.
        if (lpid != null)
            criteria.add(Restrictions.eq("product.id", lpid));
        else if (lppid != null)
            prodCriteria.add(Restrictions.eq("productDef.id", lppid));

        if (lsid != null)
            prodCriteria.add(Restrictions.eq("listingStore.id", lsid));

        if (lfid != null)
            prodCriteria.add(Restrictions.eq("platform.id", lfid));

        criteria.add(Restrictions.eq("inUse", true));
        criteria.add(Restrictions.eq("decom", false));

        if (startDate != null && endDate != null)
            criteria.add(Restrictions.between(TIME_ACTIVATED, startDate, endDate));
        else {
            if (startDate != null)
                criteria.add(Restrictions.gt(TIME_ACTIVATED, startDate));
            if (endDate != null)
                criteria.add(Restrictions.lt(TIME_ACTIVATED, endDate));
        }

        criteria.setProjection(Projections.rowCount());
        numLics = (Integer) criteria.list().get(0);
    } catch (RuntimeException re) {
        log.error("find by property name failed", re);
        throw re;
    }
    return numLics;
}

From source file:com.lm.lic.manager.hibernate.LicenseDAO.java

License:Open Source License

public Integer findNumIssuedLicenses(String isvId, String prodId, String prodDefId, String storeId,
        String platformId, Date startDate, Date endDate) {
    Integer numLics = 0;/*from  ww w .  ja  v  a 2 s  .c o m*/
    try {

        Long lisvid = null;
        if (StringUtils.hasText(isvId))
            lisvid = Long.parseLong(isvId);

        Long lpid = null;
        if (StringUtils.hasText(prodId))
            lpid = Long.parseLong(prodId);

        Long lppid = null;
        if (StringUtils.hasText(prodDefId))
            lppid = Long.parseLong(prodDefId);

        Long lsid = null;
        if (StringUtils.hasText(storeId))
            lsid = Long.parseLong(storeId);

        Long lfid = null;
        if (StringUtils.hasText(platformId))
            lfid = Long.parseLong(platformId);

        Criteria criteria = getSession().createCriteria(License.class);

        criteria.add(Restrictions.eq("isv.id", lisvid));

        Criteria prodCriteria = criteria.createCriteria("product");

        // If the child product is specified, this supercedes the wider selection of the product
        // definition.
        // Only check for htye product definition if the child product was not selected.
        if (lpid != null)
            criteria.add(Restrictions.eq("product.id", lpid));
        else if (lppid != null)
            prodCriteria.add(Restrictions.eq("productDef.id", lppid));

        if (lsid != null)
            prodCriteria.add(Restrictions.eq("listingStore.id", lsid));

        if (lfid != null)
            prodCriteria.add(Restrictions.eq("platform.id", lfid));

        criteria.add(Restrictions.eq("inUse", true));
        // criteria.add(Restrictions.eq("decom", false));

        if (startDate != null && endDate != null)
            criteria.add(Restrictions.between(TIME_ACTIVATED, startDate, endDate));
        else {
            if (startDate != null)
                criteria.add(Restrictions.gt(TIME_ACTIVATED, startDate));
            if (endDate != null)
                criteria.add(Restrictions.lt(TIME_ACTIVATED, endDate));
        }

        criteria.setProjection(Projections.rowCount());
        numLics = (Integer) criteria.list().get(0);
    } catch (RuntimeException re) {
        log.error("find by property name failed", re);
        throw re;
    }
    return numLics;
}

From source file:com.lm.lic.manager.hibernate.LicenseDAO.java

License:Open Source License

public Integer findNumInUseIsvLicenses(String isvId, String storeId, String platformId, Date startDate,
        Date endDate) {//from w w  w  .ja va2 s . c  om
    Integer numLics = 0;
    try {
        Long lisvid = Long.parseLong(isvId);

        Criteria criteria = getSession().createCriteria(License.class);
        criteria.add(Restrictions.eq("isv.id", lisvid));
        criteria.add(Restrictions.eq("inUse", true));
        criteria.add(Restrictions.eq("decom", false));

        Criteria prodCriteria = null;
        if (StringUtils.hasText(storeId)) {
            Long lsid = Long.parseLong(storeId);
            prodCriteria = criteria.createCriteria("product");
            prodCriteria.add(Restrictions.eq("listingStore.id", lsid));
        }

        if (StringUtils.hasText(platformId)) {
            Long lfid = Long.parseLong(platformId);
            if (prodCriteria == null)
                prodCriteria = criteria.createCriteria("product");
            prodCriteria.add(Restrictions.eq("platform.id", lfid));
        }

        if (startDate != null && endDate != null)
            criteria.add(Restrictions.between(TIME_ACTIVATED, startDate, endDate));
        else {
            if (startDate != null)
                criteria.add(Restrictions.gt(TIME_ACTIVATED, startDate));
            if (endDate != null)
                criteria.add(Restrictions.lt(TIME_ACTIVATED, endDate));
        }

        criteria.setProjection(Projections.rowCount());
        numLics = (Integer) criteria.list().get(0);
    } catch (RuntimeException re) {
        log.error("find by property name failed", re);
        throw re;
    }
    return numLics;
}

From source file:com.lm.lic.manager.hibernate.LicenseDAO.java

License:Open Source License

/**
 * Add the product definition key restriction if supplied. The prodDefKey is a new parameter introduced for extra security.
 * Prior to this, it was not required. To accomodate applications running on phones that don't pass this argument, try to not
 * add the restriction unless it is physically supplied. If it is supplied, then simply add the restriction as is. NOTE THAT
 * THIS IS ONLY TEMPORARY AND SHOULD ALWAYS ADD THE RESATRICTION REGARDLESS OF THE PARAMETER BEING PRESENT OR NOT.
 * //from www  . ja va  2 s  .  c o  m
 * @param prodDefKey
 * @param prodCrit
 */
private void addProdDefCritIfProdDefKeyAvailable(String prodDefKey, Criteria prodCrit) {
    Criteria prodDefCrit = prodCrit.createCriteria("productDef");
    prodDefCrit.add(Restrictions.eq("deleted", false));
    prodDefCrit.add(Restrictions.eq("locked", false));
    prodDefCrit.add(Restrictions.eq("enabled", true));
    prodDefCrit.add(Restrictions.eq("productKey", prodDefKey));
}

From source file:com.lm.lic.manager.hibernate.LicenseDAO.java

License:Open Source License

/**
 * Find license by device ID and prodDefKey. Note that the license is searched for by prodDefKey. If more than one license exist
 * per deviceId (in such a case, the user got the trial then paid for the application)the list returned is in descending order
 * according to the life of the license. The higher life license is at lower index in the list - highest life is at index 0.
 * Lowest life is at index siz - 1.//from   w w  w. j  ava2  s.c  om
 */
@SuppressWarnings("unchecked")
public List<License> findLicsByDevIdAndProdDefKey(String deviceId, String prodDefKey, Boolean decomStatus,
        Boolean inUse) {
    List<License> licenses = null;
    Criteria criteria = getSession().createCriteria(License.class);
    addLicenseStatucCrit(decomStatus, inUse, criteria);
    criteria.add(Restrictions.eq("endUserPin", deviceId));

    Criteria prodCrit = addValidProductStateRestrictions(criteria);
    Criteria prodDefCrit = prodCrit.createCriteria("productDef");
    prodDefCrit.add(Restrictions.eq("deleted", false));
    prodDefCrit.add(Restrictions.eq("locked", false));
    prodDefCrit.add(Restrictions.eq("enabled", true));

    prodDefCrit.add(Restrictions.eq("productKey", prodDefKey));
    criteria.addOrder(Order.desc("lifeInDays"));
    licenses = criteria.list();

    return licenses;
}

From source file:com.lm.lic.manager.hibernate.LicenseVerifIncidentDAO.java

License:Open Source License

private Criteria addEnabledUnDeletedProductCriteria(Criteria mainCriteria) {
    Criteria prodCriteria = mainCriteria.createCriteria("product");
    prodCriteria.add(Restrictions.eq("enabled", true));
    prodCriteria.add(Restrictions.eq("deleted", false));
    return prodCriteria;
}

From source file:com.lm.lic.manager.hibernate.LicenseVerifIncidentDAO.java

License:Open Source License

public Integer findNumIsvVerifs(String isvId, String licType, String respType, Date startDate, Date endDate) {
    Integer numVerifs = 0;/*from   ww  w. j  a v a 2  s  .c o m*/
    try {
        Long lisvid = Long.parseLong(isvId);
        Criteria mainCriteria = getSession().createCriteria(LicenseVerifIncident.class);
        mainCriteria.add(Restrictions.eq("isv.id", lisvid));
        Criteria prodCriteria = mainCriteria.createCriteria("product");
        prodCriteria.add(Restrictions.eq("deleted", false));

        addLicTypeRespTypeCrit(licType, respType, mainCriteria, prodCriteria);

        if (startDate != null && endDate != null)
            mainCriteria.add(Restrictions.between(TIME_REQUESTED, startDate, endDate));
        else {
            if (startDate != null)
                mainCriteria.add(Restrictions.gt(TIME_REQUESTED, startDate));
            if (endDate != null)
                mainCriteria.add(Restrictions.lt(TIME_REQUESTED, endDate));
        }

        mainCriteria.setProjection(Projections.rowCount());
        numVerifs = (Integer) mainCriteria.list().get(0);
    } catch (RuntimeException re) {
        log.error("find by property name failed", re);
        throw re;
    }
    return numVerifs;
}

From source file:com.lm.lic.manager.hibernate.LicenseVerifIncidentDAO.java

License:Open Source License

public Integer findNumProdVerifs(String prodId, String licType, String respType, Date startDate, Date endDate) {
    Integer numLics = 0;//  ww  w .j  a  va 2s  .  c o  m
    try {
        Long lpid = Long.parseLong(prodId);
        Criteria mainCriteria = getSession().createCriteria(LicenseVerifIncident.class);
        mainCriteria.add(Restrictions.eq("product.id", lpid));
        Criteria prodCriteria = mainCriteria.createCriteria("product");
        prodCriteria.add(Restrictions.eq("deleted", false));

        addLicTypeRespTypeCrit(licType, respType, mainCriteria, prodCriteria);

        if (startDate != null && endDate != null)
            mainCriteria.add(Restrictions.between(TIME_REQUESTED, startDate, endDate));
        else {
            if (startDate != null)
                mainCriteria.add(Restrictions.gt(TIME_REQUESTED, startDate));
            if (endDate != null)
                mainCriteria.add(Restrictions.lt(TIME_REQUESTED, endDate));
        }

        mainCriteria.setProjection(Projections.rowCount());
        numLics = (Integer) mainCriteria.list().get(0);
    } catch (RuntimeException re) {
        log.error("find by property name failed", re);
        throw re;
    }
    return numLics;
}

From source file:com.lp.server.anfrage.ejbfac.AnfrageFacBean.java

License:Open Source License

/**
 * Die Liste der Bestellvorschlaege holen, die den Kriterien des Benutzers
 * entsprechen.//  w w w  .j  a  va 2  s  .  co  m
 * 
 * @param kritDtoI
 *            die Kriterien des Benutzers
 * @param theClientDto
 *            der aktuelle Benutzer
 * @return BestellvorschlagDto[] die Bestellvorschlaege
 * @throws EJBExceptionLP
 *             Ausnahme
 */
private BestellvorschlagDto[] getListeBestellvorschlaege(BestellvorschlagUeberleitungKriterienDto kritDtoI,
        TheClientDto theClientDto) throws EJBExceptionLP {

    BestellvorschlagDto[] aBestellvorschlagDto = null;

    Session session = null;

    try {
        SessionFactory factory = FLRSessionFactory.getFactory();
        session = factory.openSession();

        // Criteria duerfen keine Texts oder Blobs enthalten!

        // Criteria anlegen fuer flrbestellvorschlag
        Criteria crit = session.createCriteria(FLRBestellvorschlag.class);
        Criteria critArtikel = crit.createCriteria("flrartikel"); // UW->JE
        // Konstante

        // Einschraenken nach Mandant
        crit.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant()));

        // der Lieferant muss gesetzt sein
        crit.add(Restrictions.isNotNull("lieferant_i_id"));

        if (kritDtoI.getBBelegeinlieferant()) {
            // alle Bestellvorschlaege zu einem bestimmten Lieferanten
            crit.add(Restrictions.eq("lieferant_i_id", kritDtoI.getBelegeinlieferantLieferantIId())); // UW->JE
            // Kosntante

            critArtikel.addOrder(Property.forName("c_nr").asc());
        } else if (kritDtoI.getBBelegeinlieferanteintermin()) {
            // alle Bestellvorschlaege zu einem bestimmten Lieferanten und
            // einem bestimmten Termin
            crit.add(Restrictions.eq("lieferant_i_id", kritDtoI.getBelegeinlieferanteinterminLieferantIId())); // UW->JE
            // Konstante
            crit.add(Restrictions.eq(BestellvorschlagFac.FLR_BESTELLVORSCHLAG_T_LIEFERTERMIN,
                    kritDtoI.getTBelegeinlieferanteinterminTermin())); // UW
            // -
            // >
            // JE
            // Konstante

            critArtikel.addOrder(Property.forName("c_nr").asc());
        } else if (kritDtoI.getBBelegprolieferant()) {
            // fuer jeden Lieferanten alle seine Bestellvorschlaege
            crit.addOrder(Property.forName("lieferant_i_id").asc()); // UW->JE
            // Konstante
            critArtikel.addOrder(Property.forName("c_nr").asc());
        } else if (kritDtoI.getBBelegprolieferantprotermin()) {
            // fuer jeden Lieferanten alle seine Bestellvorschlaege zu einem
            // bestimmten Termin
            crit.addOrder(Property.forName("lieferant_i_id").asc()); // UW->JE
            // Konstante
            crit.addOrder(Property.forName(BestellvorschlagFac.FLR_BESTELLVORSCHLAG_T_LIEFERTERMIN).asc()); // UW->JE Konstante
            critArtikel.addOrder(Property.forName("c_nr").asc());
        }

        List<?> list = crit.list();

        aBestellvorschlagDto = new BestellvorschlagDto[list.size()];
        int iIndex = 0;
        Iterator<?> it = list.iterator();
        BestellvorschlagDto bestellvorschlagDto = null;

        while (it.hasNext()) {
            FLRBestellvorschlag flrbestellvorschlag = (FLRBestellvorschlag) it.next();

            bestellvorschlagDto = new BestellvorschlagDto();

            bestellvorschlagDto.setIId(flrbestellvorschlag.getI_id());
            bestellvorschlagDto.setCMandantCNr(flrbestellvorschlag.getMandant_c_nr());
            bestellvorschlagDto.setIArtikelId(flrbestellvorschlag.getArtikel_i_id());
            bestellvorschlagDto.setNZubestellendeMenge(flrbestellvorschlag.getN_zubestellendemenge());
            bestellvorschlagDto.setTLiefertermin((Timestamp) flrbestellvorschlag.getT_liefertermin());
            bestellvorschlagDto.setCBelegartCNr(flrbestellvorschlag.getBelegart_c_nr());
            bestellvorschlagDto.setIBelegartId(flrbestellvorschlag.getI_belegartid());
            bestellvorschlagDto.setILieferantId(flrbestellvorschlag.getLieferant_i_id());
            bestellvorschlagDto.setNNettoeinzelpreis(flrbestellvorschlag.getN_nettoeinzelpreis());
            // bestellvorschlagDto.setDRabattsatz(flrbestellvorschlag.
            // getFRabattsatz()); UW->JE
            bestellvorschlagDto.setNRabattbetrag(flrbestellvorschlag.getN_rabattbetrag());

            bestellvorschlagDto.setNNettogesamtpreis(flrbestellvorschlag.getN_nettogesamtpreis());

            aBestellvorschlagDto[iIndex] = bestellvorschlagDto;
            iIndex++;
        }
    } catch (Throwable t) {
        throw new EJBExceptionLP(EJBExceptionLP.FEHLER_FLR, new Exception(t));
    } finally {
        try {
            session.close();
        } catch (HibernateException he) {
            throw new EJBExceptionLP(EJBExceptionLP.FEHLER_HIBERNATE, he);
        }
    }

    return aBestellvorschlagDto;
}

From source file:com.lp.server.anfrage.ejbfac.AnfrageReportFacBean.java

License:Open Source License

/**
 * Diese Methode liefert eine Liste von allen Anfragen zu einem bestimmten
 * Artikel, die nach den eingegebenen Kriterien des Benutzers
 * zusammengestellt wird. <br>//  w w  w. j a v a2 s  .com
 * Achtung: Hibernate verwendet lazy initialization, d.h. der Zugriff auf
 * Collections muss innerhalb der Session erfolgen.
 * 
 * @param reportAnfragestatistikKriterienDtoI
 *            die Kriterien des Benutzers
 * @param theClientDto
 *            der aktuelle Benutzer
 * @return ReportAnfragestatistikDto[] die Liste der Anfragen
 * @throws EJBExceptionLP
 *             Ausnahme
 */
private ReportAnfragestatistikDto[] getReportAnfragestatistik(
        ReportAnfragestatistikKriterienDto reportAnfragestatistikKriterienDtoI, TheClientDto theClientDto)
        throws EJBExceptionLP {
    ReportAnfragestatistikDto[] aResult = null;
    SessionFactory factory = FLRSessionFactory.getFactory();
    Session session = null;

    try {
        session = factory.openSession();

        // Hiberante Criteria fuer alle Tabellen ausgehend von meiner
        // Haupttabelle anlegen,
        // nach denen ich filtern und sortieren kann
        Criteria crit = session.createCriteria(FLRAnfragepositionlieferdatenReport.class);

        // flranfragepositionlieferdatenReport > flranfragepositionReport
        Criteria critAnfragepositionReport = crit.createCriteria(
                AnfragepositionFac.FLR_ANFRAGEPOSITIONLIEFERDATENREPORT_FLRANFRAGEPOSITIONREPORT);

        // flranfragepositionlieferdatenReport > flranfragepositionReport >
        // flrartikel
        Criteria critArtikel = critAnfragepositionReport
                .createCriteria(AnfragepositionFac.FLR_ANFRAGEPOSITION_FLRARTIKEL);

        // flranfragepositionReport > flranfrage
        Criteria critAnfrage = critAnfragepositionReport
                .createCriteria(AnfragepositionFac.FLR_ANFRAGEPOSITION_FLRANFRAGE);

        // Einschraenkung auf den gewaehlten Artikel
        if (reportAnfragestatistikKriterienDtoI.getArtikelIId() != null) {
            critArtikel.add(Restrictions.eq("i_id", reportAnfragestatistikKriterienDtoI.getArtikelIId()));
        }

        // Einschraenkung der Anfragen auf den aktuellen Mandanten
        critAnfrage.add(Restrictions.eq("mandant_c_nr", theClientDto.getMandant()));

        // Einschraenken nach Status
        critAnfrage.add(Restrictions.ne(AnfrageFac.FLR_ANFRAGE_ANFRAGESTATUS_C_NR,
                AnfrageServiceFac.ANFRAGESTATUS_ANGELEGT));
        critAnfrage.add(Restrictions.ne(AnfrageFac.FLR_ANFRAGE_ANFRAGESTATUS_C_NR,
                AnfrageServiceFac.ANFRAGESTATUS_STORNIERT));

        // Einschraenken nach Anfrageart
        critAnfrage.add(Restrictions.ne(AnfrageFac.FLR_ANFRAGE_ANFRAGEART_C_NR,
                AnfrageServiceFac.ANFRAGEART_LIEFERGRUPPE));

        // Einschraenkung nach Belegdatum von - bis
        if (reportAnfragestatistikKriterienDtoI.getDVon() != null) {
            critAnfrage.add(Restrictions.ge(AnfrageFac.FLR_ANFRAGE_T_BELEGDATUM,
                    reportAnfragestatistikKriterienDtoI.getDVon()));
        }

        if (reportAnfragestatistikKriterienDtoI.getDBis() != null) {
            critAnfrage.add(Restrictions.le(AnfrageFac.FLR_ANFRAGE_T_BELEGDATUM,
                    reportAnfragestatistikKriterienDtoI.getDBis()));
        }

        // es wird nach der Belegnummer sortiert
        critAnfrage.addOrder(Order.asc("c_nr"));

        List<?> list = crit.list();
        aResult = new ReportAnfragestatistikDto[list.size()];
        int iIndex = 0;
        Iterator<?> it = list.iterator();
        ReportAnfragestatistikDto reportDto = null;

        while (it.hasNext()) {
            FLRAnfragepositionlieferdatenReport flranfragepositionlieferdaten = (FLRAnfragepositionlieferdatenReport) it
                    .next();
            FLRAnfragepositionReport flranfrageposition = flranfragepositionlieferdaten
                    .getFlranfragepositionreport();
            FLRAnfrage flranfrage = flranfrageposition.getFlranfrage();

            reportDto = new ReportAnfragestatistikDto();

            reportDto.setAnfrageCNr(flranfrage.getC_nr());
            reportDto.setKundenname(
                    flranfrage.getFlrlieferant().getFlrpartner().getC_name1nachnamefirmazeile1());

            Date datBelegdatum = flranfrage.getT_belegdatum();
            reportDto.setBelegdatumCNr(Helper.formatDatum(datBelegdatum, theClientDto.getLocUi()));

            reportDto.setIIndex(new Integer(iIndex));
            reportDto.setNAngebotenemenge(flranfragepositionlieferdaten.getN_anliefermenge());

            reportDto.setILieferzeit(flranfragepositionlieferdaten.getI_anlieferzeit());

            // der Preis wird in Mandantenwaehrung angezeigt, es gilt der
            // hinterlegte Wechselkurs
            Double ddWechselkurs = flranfrage.getF_wechselkursmandantwaehrungzuanfragewaehrung();

            BigDecimal bdPreisinmandantenwaehrung = flranfragepositionlieferdaten
                    .getN_nettogesamtpreisminusrabatt().multiply(new BigDecimal(ddWechselkurs.doubleValue()));
            bdPreisinmandantenwaehrung = Helper.rundeKaufmaennisch(bdPreisinmandantenwaehrung, 4);
            checkNumberFormat(bdPreisinmandantenwaehrung);

            reportDto.setNAngebotenerpreis(bdPreisinmandantenwaehrung);

            reportDto.setNAngefragtemenge(flranfrageposition.getN_menge());

            aResult[iIndex] = reportDto;
            iIndex++;
        }
    } finally {
        closeSession(session);
    }
    return aResult;
}