List of usage examples for org.hibernate.criterion DetachedCriteria createCriteria
public DetachedCriteria createCriteria(String associationPath)
From source file:gov.nih.nci.ncicb.cadsr.service.impl.UMLBrowserQueryServiceImpl.java
License:BSD License
public List findUmlAttributes(UMLAttributeMetadata umlAttribute, SearchPreferences searchPreferences) throws Exception { List resultList = null;/*from w w w .j a va 2 s. c om*/ List subresultList = null; try { DetachedCriteria attributeCriteria = DetachedCriteria.forClass(UMLAttributeMetadata.class); DetachedCriteria projectCriteria = attributeCriteria.createCriteria("project"); DetachedCriteria classCriteria = null; DetachedCriteria contextCriteria = projectCriteria.createCriteria("classificationScheme") .createCriteria("context"); if (umlAttribute != null) { UMLClassMetadata umlClass = umlAttribute.getUMLClassMetadata(); if (umlAttribute.getName() != null) { attributeCriteria.add(Restrictions.ilike("name", umlAttribute.getName())); } if ((umlClass != null) && (umlClass.getName() != null)) { //Fix for GF 15450, When API is fixed this code can be removed to use DetachedCriteria String hqlQuery = ""; hqlQuery = "from gov.nih.nci.cadsr.umlproject.domain.UMLAttributeMetadata att where Lower(att.UMLClassMetadata.name) like Lower('" + umlClass.getName() + "')"; HQLCriteria attributeHQLCriteria = new HQLCriteria(hqlQuery); try { subresultList = getCaCoreAPIService().query(attributeHQLCriteria); } catch (Exception e) { log.error(e); throw e; } return subresultList; //End of GF15450 fix /* classCriteria = attributeCriteria.createCriteria("UMLClassMetadata"); classCriteria.add(Restrictions.ilike("name",umlClass.getName()));*/ } if ((umlClass != null) && (umlClass.getProject() != null)) { Project project = umlClass.getProject(); if (project.getId() != null) projectCriteria.add(Restrictions.eq("id", project.getId())); if (project.getVersion() != null) projectCriteria.add(Restrictions.eq("version", project.getVersion())); } if ((umlClass != null) && (umlClass.getUMLPackageMetadata() != null)) { UMLPackageMetadata umlPackage = umlClass.getUMLPackageMetadata(); if (classCriteria == null) { classCriteria = attributeCriteria.createCriteria("UMLClassMetadata"); } DetachedCriteria packageCriteria = classCriteria.createCriteria("UMLPackageMetadata"); if (umlPackage.getId() != null) packageCriteria.add(Restrictions.eq("id", umlPackage.getId())); if (umlPackage.getSubProject() != null) { DetachedCriteria subProjectCriteria = packageCriteria.createCriteria("subProject"); SubProject subProject = umlPackage.getSubProject(); if (subProject.getId() != null) subProjectCriteria.add(Restrictions.eq("id", subProject.getId())); } } } //umlAttribute != null applyContextSearchPreferences(searchPreferences, contextCriteria); resultList = getCaCoreAPIService().query(attributeCriteria); //getCaCoreAPIService().query(attributeCriteria, UMLAttributeMetadata.class.getName()); } catch (Exception e) { log.error(e); throw e; } return resultList; }
From source file:gov.nih.nci.security.authorization.instancelevel.InstanceLevelSecurityHelper.java
License:BSD License
private static void enableSelectedFilter(AuthorizationManager authorizationManager, Configuration configuration, String sqlString, String sqlParameterOne, String sqlParameterTwo, Hashtable<String, DetachedCriteria> criteriaHolderHash) { //search values for all filter attributes, which are set by associated ProtectionElement Hashtable<String, String> filterValueHash = new Hashtable<String, String>(); SessionFactory sf = configuration.buildSessionFactory(); Session session = sf.openSession();//from ww w . j a va 2 s . com Query query = session.createSQLQuery(sqlString); query.setParameter(0, sqlParameterOne, Hibernate.STRING); query.setParameter(1, sqlParameterTwo, Hibernate.STRING); List results = query.list(); for (Object peObj : results) { Object[] resultArray = (Object[]) peObj; filterValueHash.put((String) resultArray[0], (String) resultArray[1]); } //process all FilterClause and generate required DetachedCriteria List<FilterClause> filterClauseList = retriveAllCsmFilterClause(authorizationManager); for (FilterClause filterClause : filterClauseList) { String filterValue = filterValueHash.get(filterClause.getTargetClassName()); if (filterValue == null || filterValue.length() == 0) filterValue = filterValueHash.get(filterClause.getTargetClassAlias()); if (filterValue == null || filterValue.length() == 0) filterValue = filterValueHash.get(filterClause.getClassName()); if (filterValue == null || filterValue.length() == 0) continue; // this filter is not enabled DetachedCriteria filterQuery = (DetachedCriteria) criteriaHolderHash.get(filterClause.getClassName()); if (filterQuery == null) try { filterQuery = DetachedCriteria.forClass(Class.forName(filterClause.getClassName())); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } //if self filter //"gov.nih.nci.cacoresdk.domain.manytomany.bidirectional.Employee - self" if (filterClause.getFilterChain().contains(filterClause.getClassName())) filterQuery.add(Property.forName(filterClause.getTargetClassAttributeName()).eq(filterValue)); else { //filter on referred object //"gov.nih.nci.cacoresdk.domain.manytomany.bidirectional.Project - projectCollection" // String referredClassName=filterClause.getFilterChain().substring(0, filterClause.getTargetClassName().indexOf(" ")); String referenceName = filterClause.getFilterChain(); filterQuery.createCriteria(referenceName) .add(Property.forName(filterClause.getTargetClassAttributeName()).eq(filterValue)); } criteriaHolderHash.put(filterClause.getClassName(), filterQuery); } }
From source file:gr.abiss.calipso.domain.ItemSearch.java
License:Open Source License
/** * Get the item search criteria. This re-uses the count criteria by just adding * the order-by clauses./*from w ww . ja v a2s. com*/ */ public DetachedCriteria getCriteria() { DetachedCriteria criteria = getCriteriaForCount(); if (sortFieldName == null) { // can happen only for multi-space search sortFieldName = "id"; // effectively is a sort on created date } if (sortFieldName.equals("id") || sortFieldName.equals("space")) { if (showHistory) { // if showHistory: sort by item.id and then history.id if (space == null) { DetachedCriteria parentSpace = parent.createCriteria("space"); parentSpace.addOrder(Order.desc("name")); } criteria.addOrder(sortDescending ? Order.desc("parent.id") : Order.asc("parent.id")); criteria.addOrder(sortDescending ? Order.desc("id") : Order.asc("id")); } else { if (space == null) { DetachedCriteria parentSpace = criteria.createCriteria("space"); parentSpace.addOrder(Order.asc("name")); } criteria.addOrder(sortDescending ? Order.desc("id") : Order.asc("id")); } } else { if (sortDescending) { criteria.addOrder(Order.desc(sortFieldName)); } else { criteria.addOrder(Order.asc(sortFieldName)); } } return criteria; }
From source file:gr.abiss.calipso.domain.ItemSearch.java
License:Open Source License
public DetachedCriteria getCriteriaForCount() { DetachedCriteria criteria = null; // what spaces is this search about? Collection<Space> spaces; if (space != null) { spaces = new ArrayList<Space>(); spaces.add(space);// ww w . java 2s.c o m } else { spaces = getSelectedSpaces(); } if (showHistory) { criteria = DetachedCriteria.forClass(History.class); // apply restrictions to parent, this is an inner join ============= parent = criteria.createCriteria("parent"); // visibility criteria for item parent.add(getVisibilityCriteriaForItem(spaces)); // look for specific IDs? if (itemIds != null) { parent.add(Restrictions.in("id", itemIds)); } } else { criteria = DetachedCriteria.forClass(Item.class); // visibility criteria for item criteria.add(getVisibilityCriteriaForItem(spaces)); // look for specific IDs? if (itemIds != null) { criteria.add(Restrictions.in("id", itemIds)); } } for (ColumnHeading ch : columnHeadings) { if (ch.isDbField()) { ch.addRestrictions(criteria); } } return criteria; }
From source file:info.jtrac.domain.ItemSearch.java
License:Apache License
public DetachedCriteria getCriteria() { DetachedCriteria criteria = getCriteriaForCount(); if (sortFieldName == null) { // can happen only for multi-space search sortFieldName = "id"; // effectively is a sort on created date }//from w w w. j av a 2 s. c o m if (sortFieldName.equals("id") || sortFieldName.equals("space")) { if (showHistory) { // if showHistory: sort by item.id and then history.id if (sortDescending) { if (space == null) { DetachedCriteria parentSpace = parent.createCriteria("space"); parentSpace.addOrder(Order.desc("name")); } criteria.addOrder(Order.desc("parent.id")); criteria.addOrder(Order.desc("id")); } else { if (space == null) { DetachedCriteria parentSpace = parent.createCriteria("space"); parentSpace.addOrder(Order.asc("name")); } criteria.addOrder(Order.asc("parent.id")); criteria.addOrder(Order.asc("id")); } } else { if (sortDescending) { if (space == null) { DetachedCriteria parentSpace = criteria.createCriteria("space"); parentSpace.addOrder(Order.desc("name")); } criteria.addOrder(Order.desc("id")); } else { if (space == null) { DetachedCriteria parentSpace = criteria.createCriteria("space"); parentSpace.addOrder(Order.asc("name")); } criteria.addOrder(Order.asc("id")); } } } else { if (sortDescending) { criteria.addOrder(Order.desc(sortFieldName)); } else { criteria.addOrder(Order.asc(sortFieldName)); } } return criteria; }
From source file:info.jtrac.domain.ItemSearch.java
License:Apache License
public DetachedCriteria getCriteriaForCount() { DetachedCriteria criteria = null; if (showHistory) { criteria = DetachedCriteria.forClass(History.class); // apply restrictions to parent, this is an inner join ============= parent = criteria.createCriteria("parent"); if (space == null) { parent.add(Restrictions.in("space", getSelectedSpaces())); } else {//from ww w . j a va 2 s. com parent.add(Restrictions.eq("space", space)); } if (itemIds != null) { parent.add(Restrictions.in("id", itemIds)); } } else { criteria = DetachedCriteria.forClass(Item.class); if (space == null) { criteria.add(Restrictions.in("space", getSelectedSpaces())); } else { criteria.add(Restrictions.eq("space", space)); } if (itemIds != null) { criteria.add(Restrictions.in("id", itemIds)); } } for (ColumnHeading ch : columnHeadings) { ch.addRestrictions(criteria); } return criteria; }
From source file:info.jtrac.repository.HibernateJtracDao.java
License:Apache License
public SearchCriteria getCriteriaForCount(ItemSearch itemSearch) { Collection<Long> itemIds = itemSearch.getItemIds(); Space space = itemSearch.getSpace(); DetachedCriteria criteria = DetachedCriteria .forClass(itemSearch.isShowHistory() ? History.class : Item.class); DetachedCriteria parentCriteria = itemSearch.isShowHistory() ? criteria.createCriteria("parent") : null; DetachedCriteria criteriaToChange = parentCriteria == null ? criteria : parentCriteria; if (space == null) { criteriaToChange.add(Restrictions.in("space", itemSearch.getSelectedSpaces())); } else {/*from w ww . j a v a 2 s . co m*/ criteriaToChange.add(Restrictions.eq("space", space)); } if (itemIds != null) { criteriaToChange.add(Restrictions.in("id", itemIds)); } for (ColumnHeading columnHeading : itemSearch.getColumnHeadings()) { addRestrictions(columnHeading, criteria); } return new SearchCriteria(criteria, parentCriteria); }
From source file:info.jtrac.repository.HibernateJtracDao.java
License:Apache License
private DetachedCriteria getCriteria(ItemSearch itemSearch) { SearchCriteria searchCriteria = getCriteriaForCount(itemSearch); DetachedCriteria criteria = searchCriteria.criteria; DetachedCriteria parent = searchCriteria.parentCriteria; if (itemSearch.getSortFieldName() == null) { // can happen only for multi-space search itemSearch.setSortFieldName("id"); // effectively is a sort on created date }//from w w w . j a v a2 s . com String sortFieldName = itemSearch.getSortFieldName(); Space space = itemSearch.getSpace(); if (sortFieldName.equals("id") || sortFieldName.equals("space")) { if (itemSearch.isShowHistory()) { // if showHistory: sort by item.id and then history.id if (itemSearch.isSortDescending()) { if (space == null) { DetachedCriteria parentSpace = parent.createCriteria("space"); parentSpace.addOrder(Order.desc("name")); } criteria.addOrder(Order.desc("parent.id")); criteria.addOrder(Order.desc("id")); } else { if (space == null) { DetachedCriteria parentSpace = parent.createCriteria("space"); parentSpace.addOrder(Order.asc("name")); } criteria.addOrder(Order.asc("parent.id")); criteria.addOrder(Order.asc("id")); } } else { if (itemSearch.isSortDescending()) { if (space == null) { DetachedCriteria parentSpace = criteria.createCriteria("space"); parentSpace.addOrder(Order.desc("name")); } criteria.addOrder(Order.desc("id")); } else { if (space == null) { DetachedCriteria parentSpace = criteria.createCriteria("space"); parentSpace.addOrder(Order.asc("name")); } criteria.addOrder(Order.asc("id")); } } } else { if (itemSearch.isSortDescending()) { criteria.addOrder(Order.desc(sortFieldName)); } else { criteria.addOrder(Order.asc(sortFieldName)); } } return criteria; }
From source file:it.jugpadova.blo.EventBo.java
License:Apache License
public List<Event> search(EventSearch eventSearch) { List<Event> events = new LinkedList<Event>(); try {//from w w w .j a v a 2s . c o m DetachedCriteria eventCriteria = DetachedCriteria.forClass(Event.class); if (StringUtils.isNotBlank(eventSearch.getJugName()) || StringUtils.isNotBlank(eventSearch.getFriendlyName()) || StringUtils.isNotBlank(eventSearch.getCountry()) || StringUtils.isNotBlank(eventSearch.getContinent())) { DetachedCriteria ownerCriteria = eventCriteria.createCriteria("owner.jug"); if (StringUtils.isNotBlank(eventSearch.getJugName())) { ownerCriteria.add(Restrictions.ilike("name", eventSearch.getJugName(), MatchMode.ANYWHERE)); } if (StringUtils.isNotBlank(eventSearch.getFriendlyName())) { ownerCriteria.add(Restrictions.or(Restrictions.eq("name", eventSearch.getFriendlyName()), Restrictions.eq("internalFriendlyName", eventSearch.getFriendlyName()))); } if (StringUtils.isNotBlank(eventSearch.getCountry()) || StringUtils.isNotBlank(eventSearch.getContinent())) { DetachedCriteria countryCriteria = ownerCriteria.createCriteria("country"); if (StringUtils.isNotBlank(eventSearch.getCountry())) { countryCriteria.add(Restrictions.or( Restrictions.ilike("englishName", eventSearch.getCountry(), MatchMode.ANYWHERE), Restrictions.ilike("localName", eventSearch.getCountry(), MatchMode.ANYWHERE))); } if (StringUtils.isNotBlank(eventSearch.getContinent())) { DetachedCriteria continentCriteria = countryCriteria.createCriteria("continent"); continentCriteria .add(Restrictions.ilike("name", eventSearch.getContinent(), MatchMode.ANYWHERE)); } } } if (!eventSearch.isPastEvents()) { eventCriteria.add(Restrictions.ge("startDate", new Date())); } if (eventSearch.getStartDate() != null) { eventCriteria.add(Restrictions.ge("startDate", eventSearch.getStartDate())); } if (eventSearch.getEndDate() != null) { eventCriteria.add(Restrictions.le("endDate", eventSearch.getEndDate())); } if ("desc".equals(eventSearch.getOrderByDate())) { eventCriteria.addOrder(Order.desc("startDate")); eventCriteria.addOrder(Order.desc("creationDate")); } else { eventCriteria.addOrder(Order.asc("startDate")); eventCriteria.addOrder(Order.asc("creationDate")); } if (eventSearch.getMaxResults() == null) { events = eventDao.searchByCriteria(eventCriteria); } else { events = eventDao.searchByCriteria(eventCriteria, 0, eventSearch.getMaxResults().intValue()); } for (Event event : events) { event.getParticipants().size(); } } catch (Exception e) { logger.error("Error searching events", e); } return events; }
From source file:it.jugpadova.blo.JuggerBo.java
License:Apache License
public List<Jugger> searchJugger(JuggerSearch juggerSearch) { List<Jugger> juggers = new LinkedList<Jugger>(); try {//w w w . ja v a2s . c o m DetachedCriteria searchCriteria = DetachedCriteria.forClass(Jugger.class); if (StringUtils.isNotBlank(juggerSearch.getJUGName())) { DetachedCriteria jugCriteria = searchCriteria.createCriteria("jug"); jugCriteria.add(Restrictions.like("name", juggerSearch.getJUGName(), MatchMode.ANYWHERE)); } if (StringUtils.isNotBlank(juggerSearch.getUsername())) { DetachedCriteria usernameCriteria = searchCriteria.createCriteria("user"); usernameCriteria.add(Restrictions.like("username", juggerSearch.getUsername(), MatchMode.ANYWHERE)); } if (juggerSearch.getRRStatus() != JuggerSearch.INVALID_STATUS) { DetachedCriteria statusCriteria = searchCriteria.createCriteria("reliabilityRequest"); statusCriteria.add(Restrictions.eq("status", juggerSearch.getRRStatus())); } juggers = juggerDao.searchByCriteria(searchCriteria); } catch (Exception e) { logger.error("Error searching events", e); } return juggers; }