List of usage examples for org.hibernate.criterion Restrictions isNull
public static Criterion isNull(String propertyName)
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*/ }