コード例 #1
0
  private Criteria buildNegativeJpaCriteria(Class clazz, Map negativeFieldValues) {
    Criteria criteria = new Criteria(clazz.getName());
    for (Iterator i = negativeFieldValues.entrySet().iterator(); i.hasNext(); ) {
      Map.Entry e = (Map.Entry) i.next();

      String key = (String) e.getKey();
      Object value = e.getValue();
      if (value instanceof Collection) {
        criteria.notIn(key, (List) value);
      } else {
        criteria.ne(key, value);
      }
    }

    return criteria;
  }
コード例 #2
0
  /**
   * @see org.kuali.rice.krad.dao.MaintenanceDocumentDao#getLockingDocumentNumber(java.lang.String,
   *     java.lang.String)
   */
  public String getLockingDocumentNumber(String lockingRepresentation, String documentNumber) {
    String lockingDocNumber = "";

    // build the query criteria
    Criteria criteria = new Criteria(MaintenanceLock.class.getName());
    criteria.eq("lockingRepresentation", lockingRepresentation);

    // if a docHeaderId is specified, then it will be excluded from the
    // locking representation test.
    if (StringUtils.isNotBlank(documentNumber)) {
      criteria.ne(KRADPropertyConstants.DOCUMENT_NUMBER, documentNumber);
    }

    // attempt to retrieve a document based off this criteria
    MaintenanceLock maintenanceLock =
        (MaintenanceLock) new QueryByCriteria(entityManager, criteria).toQuery().getSingleResult();

    // if a document was found, then there's already one out there pending,
    // and we consider it 'locked' and we return the docnumber.
    if (maintenanceLock != null) {
      lockingDocNumber = maintenanceLock.getDocumentNumber();
    }
    return lockingDocNumber;
  }