Example usage for org.hibernate.criterion Restrictions isNull

List of usage examples for org.hibernate.criterion Restrictions isNull

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions isNull.

Prototype

public static Criterion isNull(String propertyName) 

Source Link

Document

Apply an "is null" constraint to the named property

Usage

From source file:GCTestClient.java

License:BSD License

/**
 * @throws Exception/*from   w  w w.j a v  a2s.  co  m*/
 */
static void querybyNodeTraversal() throws Exception {
    /*Detached Criteria for GenomicIdentifier Set object*/
    DetachedCriteria genomicIdSetCriteria = DetachedCriteria.forClass(GenomicIdentifierSet.class);

    /**
     * Create criteria for ONT where Set should contain a ONT as 
     * EnsemblGene ---Direct---> Entrez Gene ---Direct---> UniGene
     * and optionally can also specify link type between each data source pair.
     */

    /**
     * Create criteria for ONT as:
     * EnsemblGene ---Direct
     */
    DetachedCriteria ontCrit = genomicIdSetCriteria.createCriteria("orderOfNodeTraversalCollection");
    DetachedCriteria ontCritF = ontCrit.createCriteria("sourceDataSource")
            .add(Restrictions.eq("name", "Ensembl Gene"));
    ontCrit.createCriteria("linkType").add(Restrictions.eq("type", "DIRECT"));

    /**
     * Create criteria for ONT as:
     * EnsemblGene ---Direct---> Entrez Gene ---Direct
     */
    DetachedCriteria ontCritF1 = ontCrit.createCriteria("childOrderOfNodeTraversal");

    ontCritF1.createCriteria("sourceDataSource").add(Restrictions.eq("name", "Entrez Gene"));
    ontCritF1.createCriteria("linkType").add(Restrictions.eq("type", "DIRECT"));

    /**
     * Create criteria for ONT as:
     * EnsemblGene ---Direct---> Entrez Gene ---Direct---> UniGene
     */
    DetachedCriteria ontCritF2 = ontCritF1.createCriteria("childOrderOfNodeTraversal");
    DetachedCriteria ontCritF3 = ontCritF2.createCriteria("sourceDataSource");
    ontCritF3.add(Restrictions.eq("name", "UniGene"));
    ontCritF2.add(Restrictions.isNull("childOrderOfNodeTraversal"));

    /**
     * Create Critria for ensemblTranscriptId = ENST1 AND
     * ensemblGeneAsOutput = true AND ensemblPeptideAsOutput = true
     */
    DetachedCriteria mrnaCriteria = genomicIdSetCriteria.createCriteria("messengerRNA");
    mrnaCriteria.add(Restrictions.eq("ensemblTranscriptId", "ENST1"));

    DetachedCriteria geneCriteria = genomicIdSetCriteria.createCriteria("gene");
    geneCriteria.add(Restrictions.eq("ensemblGeneAsOutput", new Boolean(true)));

    DetachedCriteria proteinCriteria = genomicIdSetCriteria.createCriteria("protein");
    proteinCriteria.add(Restrictions.eq("ensemblPeptideAsOutput", new Boolean(true)));

    // load all GenomicIdentifierSet objects with Gene.entrezgeneID = A1 and ONT A->C->D->B

    List resultList = appService.query(genomicIdSetCriteria,
            "edu.wustl.geneconnect.domain.GenomicIdentifierSet");

    System.out.println("Result Size: " + resultList.size());
    for (Iterator iter = resultList.iterator(); iter.hasNext();) {
        GenomicIdentifierSet gset = (GenomicIdentifierSet) iter.next();
        System.out.println("**************************************************************");
        System.out.println("Set id: " + gset.getId() + "  Confidence Score: " + gset.getConfidenceScore());
        //         System.out.println("Gid: " + gset.getGene().getEntrezgeneID());
        Collection coll = gset.getOrderOfNodeTraversalCollection();

        /*Get and Print the Order of Node Traveersal associated with this GenomicIdentifierSet*/
        System.out.println("________________________________________________________");
        for (Iterator iter1 = coll.iterator(); iter1.hasNext();) {
            System.out.println("ONT Id----DataSource-------LinkType");
            OrderOfNodeTraversal ont = (OrderOfNodeTraversal) iter1.next();

            OrderOfNodeTraversal tempont = ont;
            while (tempont != null) {
                LinkType ltype = tempont.getLinkType();
                String linkType = null;
                if (ltype != null)
                    linkType = ltype.getType();
                System.out.println(tempont.getId() + "----" + tempont.getSourceDataSource().getName() + "------"
                        + linkType);
                OrderOfNodeTraversal nextont = tempont.getChildOrderOfNodeTraversal();
                tempont = nextont;
            }
            System.out.println("________________________________________________________");
        }
        System.out.println("**************************************************************");
    }
}

From source file:apm.common.service.DataService.java

License:Open Source License

/**
 * ?/*  ww  w  . j  a  v a 2 s. c o  m*/
 * @param dc Hibernate
 * @param user ?UserUtils.getUser()??
 * @param officeAlias ??dc.createAlias("office", "office");
 * @param userAlias ???
 * @return ?
 */
protected static Junction dataScopeFilter(User user, String officeAlias, String userAlias) {

    // ????
    List<String> dataScope = Lists.newArrayList();
    Junction junction = Restrictions.disjunction();

    // ???
    if (!user.isAdmin()) {
        for (Role r : user.getRoleList()) {
            String DATA_SCOPE = r.getDataScope();
            if (!dataScope.contains(DATA_SCOPE) && StringUtils.isNotBlank(officeAlias)) {
                boolean isDataScopeAll = false;
                if (Role.DATA_SCOPE_ALL.equals(DATA_SCOPE)) {
                    isDataScopeAll = true;
                } else if (Role.DATA_SCOPE_COMPANY_AND_CHILD.equals(DATA_SCOPE)) { //(?)??
                    junction.add(Restrictions.eq(officeAlias + ".id", user.getCompany().getId()));
                    junction.add(Restrictions.like(officeAlias + ".parentIds",
                            user.getCompany().getParentIds() + user.getCompany().getId() + ",%"));
                } else if (Role.DATA_SCOPE_COMPANY.equals(DATA_SCOPE)) {
                    junction.add(Restrictions.eq(officeAlias + ".id", user.getCompany().getId()));
                    junction.add(Restrictions.and(
                            Restrictions.eq(officeAlias + ".parent.id", user.getCompany().getId()),
                            Restrictions.eq(officeAlias + ".type", "2"))); // ?
                } else if (Role.DATA_SCOPE_OFFICE_AND_CHILD.equals(DATA_SCOPE)) {
                    junction.add(Restrictions.eq(officeAlias + ".id", user.getOffice().getId()));
                    junction.add(Restrictions.like(officeAlias + ".parentIds",
                            user.getOffice().getParentIds() + user.getOffice().getId() + ",%"));
                } else if (Role.DATA_SCOPE_OFFICE.equals(DATA_SCOPE)) {
                    junction.add(Restrictions.eq(officeAlias + ".id", user.getOffice().getId()));
                } else if (Role.DATA_SCOPE_CUSTOM.equals(DATA_SCOPE)) {
                    junction.add(Restrictions.in(officeAlias + ".id", r.getOfficeIdList()));
                }
                //else if (Role.DATA_SCOPE_SELF.equals(DATA_SCOPE)){
                if (!isDataScopeAll) {
                    if (StringUtils.isNotBlank(userAlias)) {
                        junction.add(Restrictions.eq(userAlias + ".id", user.getId()));
                    } else {
                        junction.add(Restrictions.isNull(officeAlias + ".id"));
                    }
                } else {
                    // ?????
                    junction = Restrictions.disjunction();
                    break;
                }
                dataScope.add(DATA_SCOPE);
            }
        }
    }
    return junction;
}

From source file:ar.com.zauber.commons.repository.query.visitor.CriteriaFilterVisitor.java

License:Apache License

/** @see FilterVisitor#visitIsNullPropertyFilter(IsNullPropertyFilter) */
public final void visitIsNullPropertyFilter(final IsNullPropertyFilter isNullPropertyFilter) {
    String fieldName = getFieldName(isNullPropertyFilter.getProperty());
    criterion = Restrictions.isNull(fieldName);
    negateIfNeeded(isNullPropertyFilter);
}

From source file:au.edu.uts.eng.remotelabs.schedserver.bookings.intf.BookingsService.java

License:Open Source License

@Override
public GetBookingsResponse getBookings(GetBookings getBookings) {
    BookingsRequestType request = getBookings.getGetBookings();
    String debug = "Received " + this.getClass().getSimpleName() + "#getBookings with params:";
    if (request.getUserID() != null)
        debug += " user ID=" + request.getUserID().getUserID() + ", user name="
                + request.getUserID().getUserName() + ", user namespace="
                + request.getUserID().getUserNamespace() + " user QName=" + request.getUserID().getUserQName();
    if (request.getPermissionID() != null)
        debug += " permission ID=" + request.getPermissionID().getPermissionID();
    if (request.getResourceID() != null)
        debug += "resource type=" + request.getResourceID().getType() + ", resource ID="
                + request.getResourceID().getResourceID() + ", resource name="
                + request.getResourceID().getResourceName();
    debug += " show cancelled=" + request.showCancelled() + " show finished=" + request.showFinished();
    this.logger.debug(debug);

    GetBookingsResponse response = new GetBookingsResponse();
    BookingListType bookings = new BookingListType();
    response.setGetBookingsResponse(bookings);

    BookingsDao dao = new BookingsDao();
    try {//from   w w w  .  j  a v  a  2  s. c  o  m
        Session ses = dao.getSession();
        Criteria cri = ses.createCriteria(Bookings.class);

        /* If user specificed, add that to query. */
        User user = null;
        if (request.getUserID() != null && (user = this.getUserFromUserID(request.getUserID(), ses)) != null) {
            cri.add(Restrictions.eq("user", user));
        }

        /* If permission was specified, add that to query. */
        if (request.getPermissionID() != null) {
            cri.add(Restrictions.eq("resourcePermission.id",
                    Long.valueOf(request.getPermissionID().getPermissionID())));
        }

        /* If resource was specified, add that to query. */
        ResourceIDType rid = request.getResourceID();
        if (rid != null) {
            if (ResourcePermission.RIG_PERMISSION.equals(rid.getType())) {
                cri.add(Restrictions.eq("resourceType", ResourcePermission.RIG_PERMISSION));
                if (rid.getResourceID() > 0)
                    cri.add(Restrictions.eq("rig.id", Long.valueOf(rid.getResourceID())));
                if (rid.getResourceName() != null) {
                    cri.createCriteria("rig").add(Restrictions.eq("name", rid.getResourceName()));
                }
            } else if (ResourcePermission.TYPE_PERMISSION.equals(rid.getType())) {
                cri.add(Restrictions.eq("resourceType", ResourcePermission.TYPE_PERMISSION));
                if (rid.getResourceID() > 0)
                    cri.add(Restrictions.eq("rigType.id", Long.valueOf(rid.getResourceID())));
                if (rid.getResourceName() != null) {
                    cri.createCriteria("rigType").add(Restrictions.eq("name", rid.getResourceName()));
                }
            } else if (ResourcePermission.CAPS_PERMISSION.equals(rid.getType())) {
                cri.add(Restrictions.eq("resourceType", ResourcePermission.CAPS_PERMISSION));
                if (rid.getResourceID() > 0) {
                    cri.add(Restrictions.eq("requestCapabilities.id", Long.valueOf(rid.getResourceID())));
                }
                if (rid.getResourceName() != null) {
                    cri.createCriteria("requestCapabilities")
                            .add(Restrictions.eq("capabilities", rid.getResourceName()));
                }
            } else {
                this.logger.warn("Not added a resource restriction to existing booking search because the "
                        + "resourece type '" + rid.getType() + "' is not one of '"
                        + ResourcePermission.RIG_PERMISSION + "' '" + ResourcePermission.TYPE_PERMISSION + "' '"
                        + ResourcePermission.CAPS_PERMISSION + "'.");
            }
        }

        /* Other constraints specified. */
        if (!request.showCancelled() && !request.showFinished()) {
            cri.add(Restrictions.eq("active", Boolean.TRUE));
        } else if (!request.showFinished()) {
            cri.add(Restrictions.or(Restrictions.isNotNull("cancelReason"),
                    Restrictions.eq("active", Boolean.TRUE)));
        } else if (!request.showCancelled()) {
            cri.add(Restrictions.isNull("cancelReason"));
        }

        /* Order the results be booking start time. */
        cri.addOrder(Order.asc("startTime"));

        @SuppressWarnings("unchecked")
        List<Bookings> list = cri.list();
        for (Bookings booking : list) {
            bookings.addBookings(this.populateBookingType(new BookingType(), booking));
        }
    } finally {
        dao.closeSession();
    }

    return response;
}

From source file:au.edu.uts.eng.remotelabs.schedserver.permissions.pages.KeysPage.java

License:Open Source License

/**
 * Returns the list of keys for a user class. If the parameter 'historical'
 * is part of the request parameters and has a value of 'true', non-usable
 * keys are returned otherwise usable keys are returned. Usable keys are 
 * those that are 'active', have remaining uses and have not elapsed
 * their expiry time. //  w ww. j  ava 2s  .c  o  m
 * 
 * @param request request
 * @return list of permission keys
 * @throws JSONException 
 */
@SuppressWarnings("unchecked")
public JSONArray getList(HttpServletRequest request) throws JSONException {
    JSONArray arr = new JSONArray();

    String className = request.getParameter("name");
    if (className == null) {
        this.logger.warn("Unable to provide access key list because the user class name was not provided.");
        return arr;
    }

    Criteria qu = this.db.createCriteria(UserClassKey.class).add(Restrictions.eq("userTargeted", Boolean.FALSE))
            .addOrder(Order.asc("id"));

    if ("true".equals(request.getAttribute("historical"))) {
        qu.add(Restrictions.disjunction().add(Restrictions.eq("active", Boolean.FALSE))
                .add(Restrictions.eq("remaining", 0)))
                .add(Restrictions.or(Restrictions.isNull("expiry"), Restrictions.lt("expiry", new Date())));
    } else {
        qu.add(Restrictions.eq("active", Boolean.TRUE)).add(Restrictions.gt("remaining", 0))
                .add(Restrictions.or(Restrictions.isNull("expiry"), Restrictions.gt("expiry", new Date())));
    }

    qu = qu.createCriteria("userClass").add(Restrictions.eq("name", className));

    for (UserClassKey key : (List<UserClassKey>) qu.list()) {
        JSONObject keyObj = new JSONObject();
        keyObj.put("key", key.getRedeemKey());
        keyObj.put("active", key.isActive());
        keyObj.put("remaining", key.getRemaining());
        arr.put(keyObj);
    }

    return arr;
}

From source file:au.edu.uts.eng.remotelabs.schedserver.queuer.impl.QueueStaleSessionTask.java

License:Open Source License

@SuppressWarnings("unchecked")
@Override/*from   w  ww  .  ja v a  2  s  . c  o m*/
public void run() {
    org.hibernate.Session db = null;
    try {
        db = DataAccessActivator.getNewSession();
        Date now = new Date();

        Criteria query = db.createCriteria(Session.class);
        query.add(Restrictions.eq("active", Boolean.TRUE)) // Session must be active.
                .add(Restrictions.isNull("assignmentTime")) // Only sessions in the queue
                .add(Restrictions.isNull("codeReference")); // Only interactive sessions
        List<Session> sessions = query.list();

        /* For each of the sessions, if any of the sessions are stale, remove
         * them from queue. */
        for (Session s : sessions) {
            if ((System.currentTimeMillis() - s.getActivityLastUpdated().getTime()) / 1000 > s
                    .getResourcePermission().getQueueActivityTimeout()) {
                this.logger.warn("Removing stale queue session with id=" + s.getId() + ". Last activity at"
                        + s.getActivityLastUpdated().toString() + ", current time is " + now.toString() + ".");

                Queue.getInstance().removeEntry(s, db);
                s.setActive(false);
                s.setRemovalReason("Queue activity timeout.");
                s.setRemovalTime(now);
                db.beginTransaction();
                db.flush();
                db.getTransaction().commit();
            }
        }
    } catch (HibernateException hex) {
        this.logger.error("Failed to query database to check stale sessions (Exception: "
                + hex.getClass().getName() + ", Message:" + hex.getMessage() + ").");

        if (db != null && db.getTransaction() != null) {
            try {
                db.getTransaction().rollback();
            } catch (HibernateException ex) {
                this.logger.error("Exception rolling back up stale session transaction (Exception: "
                        + ex.getClass().getName() + "," + " Message: " + ex.getMessage() + ").");
            }
        }
    } finally {
        try {
            if (db != null)
                db.close();
        } catch (HibernateException ex) {
            this.logger.error("Exception cleaning up database session (Exception: " + ex.getClass().getName()
                    + "," + " Message: " + ex.getMessage() + ").");
        }
    }
}

From source file:au.org.theark.core.dao.ArkAuthorisationDao.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<Study> getParentStudyList() {
    List<Study> studyList = new ArrayList<Study>(0);

    // Restrict on study criteria (by default, NOT 'Archive' status)
    Criteria studyCriteria = getSession().createCriteria(Study.class);
    StudyStatus status;/*ww  w .  j a  va 2  s.com*/
    try {
        status = getStudyStatus("Archive");
        studyCriteria.add(Restrictions.ne("studyStatus", status));
    } catch (StatusNotAvailableException e) {
        log.error(e.getMessage(), e);
    }

    // Can only select studies with null parent, or where the study is a parent
    studyCriteria.add(Restrictions.disjunction().add(Restrictions.isNull("parentStudy"))
            .add(Restrictions.eqProperty("parentStudy.id", "id")));
    studyCriteria.addOrder(Order.asc("name"));
    studyList = studyCriteria.list();
    return studyList;
}

From source file:au.org.theark.core.dao.AuditDao.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<ConsentHistory> getConsentHistoryList(Consent consent) {
    Criteria criteria = getSession().createCriteria(ConsentHistory.class);
    criteria.add(Restrictions.eq("linkSubjectStudy", consent.getLinkSubjectStudy()));

    if (consent.getStudyComp() != null) {
        criteria.add(Restrictions.eq("studyComp", consent.getStudyComp()));
    } else {//from   w  ww.j a va  2 s.  co  m
        criteria.add(Restrictions.isNull("studyComp"));
    }
    criteria.addOrder(Order.desc("id"));
    return criteria.list();
}

From source file:au.org.theark.lims.model.dao.BiospecimenDao.java

License:Open Source License

protected Criteria buildBiospecimenCriteria(Biospecimen biospecimen) {
    Criteria criteria = getSession().createCriteria(Biospecimen.class);

    if (biospecimen.getId() != null)
        criteria.add(Restrictions.eq("id", biospecimen.getId()));

    if (biospecimen.getBiospecimenUid() != null)
        criteria.add(Restrictions.ilike("biospecimenUid", biospecimen.getBiospecimenUid(), MatchMode.ANYWHERE));

    if (biospecimen.getLinkSubjectStudy() != null)
        criteria.add(Restrictions.eq("linkSubjectStudy", biospecimen.getLinkSubjectStudy()));

    if (biospecimen.getStudy() != null)
        criteria.add(Restrictions.eq("study", biospecimen.getStudy()));

    if (biospecimen.getSampleType() != null)
        criteria.add(Restrictions.eq("sampleType", biospecimen.getSampleType()));

    if (biospecimen.getSampleDate() != null)
        criteria.add(Restrictions.eq("sampleDate", biospecimen.getSampleDate()));

    if (biospecimen.getQtyCollected() != null)
        criteria.add(Restrictions.eq("qtyCollected", biospecimen.getQtyCollected()));

    if (biospecimen.getParent() != null) {
        criteria.add(Restrictions.eq("parent", biospecimen.getParent()));
    } else {/*  ww w. j av  a2s .  c  om*/
        criteria.add(Restrictions.isNull("parent"));
    }

    return criteria;
}

From source file:au.org.theark.lims.model.dao.BiospecimenDao.java

License:Open Source License

public List<Biospecimen> getRootBiospecimensForBiocollection(BioCollection bc) {
    Criteria criteria = getSession().createCriteria(Biospecimen.class);
    criteria.add(Restrictions.eq("bioCollection", bc));
    criteria.add(Restrictions.isNull("parent"));
    //criteria.setFetchMode("invBlah", FetchMode.JOIN);
    List<Biospecimen> list = criteria.list();
    return list;/*www  .j av  a  2s.c o  m*/
}