Exemplo n.º 1
0
  @Test
  public void testStartsWith() {
    Criteria criteria = new Criteria("field_1").startsWith("start");

    Assert.assertEquals("field_1", criteria.getField().getName());
    assertCriteriaEntry(criteria.getCriteriaEntries(), 0, OperationKey.STARTS_WITH, "start");
  }
Exemplo n.º 2
0
  @Test
  public void testContains() {
    Criteria criteria = new Criteria("field_1").contains("contains");

    Assert.assertEquals("field_1", criteria.getField().getName());
    assertCriteriaEntry(criteria.getCriteriaEntries(), 0, OperationKey.CONTAINS, "contains");
  }
 public static LocationRequest createFromDeprecatedCriteria(
     Criteria criteria, long minTime, float minDistance, boolean singleShot) {
   int quality;
   if (minTime < 0) {
     minTime = 0;
   }
   if (minDistance < 0.0f) {
     minDistance = 0.0f;
   }
   switch (criteria.getAccuracy()) {
     case GL10.GL_TRUE /*1*/:
       quality = ACCURACY_FINE;
       break;
     case GL10.GL_LINE_LOOP /*2*/:
       quality = ACCURACY_BLOCK;
       break;
     default:
       switch (criteria.getPowerRequirement()) {
         case GL10.GL_LINE_STRIP /*3*/:
           break;
       }
       quality = POWER_LOW;
       break;
   }
   LocationRequest request =
       new LocationRequest()
           .setQuality(quality)
           .setInterval(minTime)
           .setFastestInterval(minTime)
           .setSmallestDisplacement(minDistance);
   if (singleShot) {
     request.setNumUpdates(1);
   }
   return request;
 }
Exemplo n.º 4
0
 public List<T> findAll(Integer number, Integer offset, String orderByPropertyName, boolean asc) {
   Session session = openSession(true);
   List<T> results = Lists.newArrayList();
   try {
     Criteria criteria = criteria().setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
     if (number != 1) {
       criteria.setFirstResult(number - 1);
     }
     if (offset != 0) {
       criteria.setMaxResults(offset);
     }
     if (asc) {
       criteria.addOrder(Order.asc(orderByPropertyName));
     } else {
       criteria.addOrder(Order.desc(orderByPropertyName));
     }
     results = list(criteria);
     for (T result : results) {
       result.init();
     }
     commitTransaction(session, true);
   } catch (Exception e) {
     rollbackTransaction(session, true);
   } finally {
     closeSession(session);
   }
   return results;
 }
Exemplo n.º 5
0
 /**
  * 根据Criterion条件创建Criteria.
  *
  * <p>本类封装的find()函数全部默认返回对象类型为T,当不为T时使用本函数.
  *
  * @param criterions 数量可变的Criterion.
  */
 protected Criteria createCriteria(final Criterion... criterions) {
   Criteria criteria = getSession().createCriteria(entityClass);
   for (Criterion c : criterions) {
     criteria.add(c);
   }
   return criteria;
 }
 /** Add order directly to criteria. */
 private static void addOrder(Criteria c, String sort, String order, boolean ignoreCase) {
   if (ORDER_DESC.equals(order)) {
     c.addOrder(ignoreCase ? Order.desc(sort).ignoreCase() : Order.desc(sort));
   } else {
     c.addOrder(ignoreCase ? Order.asc(sort).ignoreCase() : Order.asc(sort));
   }
 }
Exemplo n.º 7
0
  @Test
  public void testEndsWith() {
    Criteria criteria = new Criteria("field_1").endsWith("end");

    Assert.assertEquals("field_1", criteria.getField().getName());
    assertCriteriaEntry(criteria.getCriteriaEntries(), 0, OperationKey.ENDS_WITH, "end");
  }
Exemplo n.º 8
0
  public String buildGetObjectValuePairsByJoinStatement(
      List<Criteria> alCriterias,
      int nAxisId,
      JoinStatement joinStatementAllPositions,
      String todayFormatted,
      boolean visibilitySensitive) {
    StringBuilder sSQLStatement = new StringBuilder(1000);
    sSQLStatement
        .append("SELECT CMC.internalContentId")
        .append(", CEC.")
        .append(AXIS_COLUMN)
        .append(nAxisId)
        .append(", CMI.componentId");
    sSQLStatement
        .append(" FROM ")
        .append(CLASSIFICATION_TABLE)
        .append(" CEC, ")
        .append(joinStatementAllPositions.getTable(0))
        .append(" CML, SB_ContentManager_Content CMC, SB_ContentManager_Instance CMI ");
    sSQLStatement
        .append(" WHERE CEC.")
        .append(POSITION_ID_COLUMN)
        .append(" = CML.")
        .append(joinStatementAllPositions.getJoinKey(0));
    sSQLStatement
        .append(" AND CEC.")
        .append(SILVEROBJECT_ID_COLUMN)
        .append(" = CMC.silverContentId ");
    sSQLStatement.append(" AND CMC.contentInstanceId").append(" = CMI.instanceId ");
    String whereClause = joinStatementAllPositions.getWhere();
    if (isDefined(whereClause)) {
      sSQLStatement.append(" AND ").append(whereClause);
    }

    for (Criteria criteria : alCriterias) {
      if (criteria.getValue() != null) {
        sSQLStatement
            .append(" AND (CEC.")
            .append(AXIS_COLUMN)
            .append(criteria.getAxisId())
            .append(" LIKE '")
            .append(criteria.getValue())
            .append("%')");
      }
    }

    // Set the pertinent axiom
    sSQLStatement.append(" AND (CEC.").append(AXIS_COLUMN).append(nAxisId).append(" IS NOT NULL)");

    // Set the visibility constraints --> en faire une fonction
    sSQLStatement
        .append(" AND ('")
        .append(todayFormatted)
        .append("' between CMC.beginDate AND CMC.endDate)");
    if (visibilitySensitive) {
      sSQLStatement.append(" AND (CMC.isVisible = 1 )");
    }

    return sSQLStatement.toString();
  }
Exemplo n.º 9
0
  @Test
  public void testMultipleIs() {
    Criteria criteria = new Criteria("field_1").is("is").is("another is");
    Assert.assertEquals("field_1", criteria.getField().getName());

    assertCriteriaEntry(criteria.getCriteriaEntries(), 0, OperationKey.EQUALS, "is");
    assertCriteriaEntry(criteria.getCriteriaEntries(), 1, OperationKey.EQUALS, "another is");
  }
Exemplo n.º 10
0
 public List<T> findByMap(String hql, final Map<String, Object> params) {
   //        Query query = getSession().createQuery(hql);
   //        for(String field:params.keySet())
   //            query.setParameter(field,params.get(field));
   Criteria criteria = getSession().createCriteria(clazz);
   criteria.add(Restrictions.allEq(params));
   return criteria.list();
 }
Exemplo n.º 11
0
 @Test
 public void testOrWithCriteria() {
   Criteria criteria = new Criteria("field_1").startsWith("start");
   Criteria orCriteria = new Criteria("field_2").endsWith("end").startsWith("start2");
   criteria = criteria.or(orCriteria);
   Assert.assertEquals(" OR ", criteria.getConjunctionOperator());
   Assert.assertEquals(2, criteria.getCriteriaChain().size());
 }
 protected final Criteria<?> findCriterion(final String property) {
   for (final Criteria<?> criterion : this.criteria) {
     if (criterion.getPrefix().equals(property)) {
       return criterion;
     }
   }
   return null;
 }
 /** Use this inside subclasses as a convenience method. */
 @SuppressWarnings("unchecked")
 protected List<T> findByCriteria(Criterion... criterion) {
   Criteria crit = getSession().createCriteria(getEntityClass());
   for (Criterion c : criterion) {
     crit.add(c);
   }
   return crit.list();
 }
Exemplo n.º 14
0
 /** Use this inside subclasses as a convenience method. */
 @SuppressWarnings("unchecked")
 protected List<T> findByCriteria(Criterion... criterion) {
   Criteria crit = getSession().createCriteria(getPersistentClass());
   for (Criterion c : criterion) {
     crit.add(c);
   }
   crit.setCacheable(queriesCached);
   return crit.list();
 }
Exemplo n.º 15
0
  /**
   * Returns true if a persisted record exsits for the given id.
   *
   * @param id primary key of entity
   * @return true if entity exists for id, false if entity does not exist
   */
  public boolean isIdPersisted(Serializable id) {
    Criteria criteria =
        getSession()
            .createCriteria(getPersistentClass())
            .add(Restrictions.idEq(id))
            .setProjection(Projections.rowCount());

    return (criteria.uniqueResult() != null && ((Long) criteria.uniqueResult()) > 0);
  }
Exemplo n.º 16
0
 public boolean isChangePersisted(PersistentChange change) {
   Criteria criteria =
       getSession()
           .createCriteria(PersistentChange.class)
           .add(Restrictions.eq("hash", change.getHash()))
           .add(Restrictions.eq("repositoryId", change.getRepositoryId()));
   Integer count = (Integer) criteria.setProjection(Projections.rowCount()).uniqueResult();
   return count > 0;
 }
Exemplo n.º 17
0
 @Override
 public boolean test(Object owner) {
   for (Criteria c : expressions) {
     if (c.test(owner)) {
       return true;
     }
   }
   return false;
 }
Exemplo n.º 18
0
  public List<BlacklistDTO> findByUser(Integer userId) {
    Criteria criteria =
        getSession()
            .createCriteria(BlacklistDTO.class)
            .createAlias("user", "u")
            .add(Restrictions.eq("u.id", userId));

    return criteria.list();
  }
 @Override
 public <T extends GettableById> Number count(Class<T> currentClass, Criterion... restrictions) {
   validateTransaction();
   Criteria criteria = getSession().createCriteria(currentClass);
   criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
   criteria.setProjection(Projections.rowCount());
   for (Criterion restriction : restrictions) criteria.add(restriction);
   return ((Number) criteria.uniqueResult());
 }
Exemplo n.º 20
0
 @Test
 public void testWithin() {
   GeoLocation location = new GeoLocation(48.303056, 14.290556);
   Criteria criteria = new Criteria("field_1").within(location, new Distance(5));
   CriteriaEntry entry = getCriteriaEntryByPosition(criteria.getCriteriaEntries(), 0);
   Assert.assertEquals(OperationKey.WITHIN.getKey(), entry.getKey());
   Assert.assertEquals(location, ((Object[]) entry.getValue())[0]);
   Assert.assertEquals(5, ((Distance) ((Object[]) entry.getValue())[1]).getValue(), 0);
 }
Exemplo n.º 21
0
 @SuppressWarnings("unchecked")
 protected T findByCriteriaSingle(Criterion... criterion) {
   Criteria crit = getSession().createCriteria(getPersistentClass());
   for (Criterion c : criterion) {
     crit.add(c);
   }
   crit.setCacheable(queriesCached);
   return (T) crit.uniqueResult();
 }
Exemplo n.º 22
0
  @Override
  public String build() {
    String ret = " AND ";

    if (left != null) ret = left.build() + ret;

    if (right != null) ret = ret + right.build();

    return "(" + ret.trim() + ")";
  }
Exemplo n.º 23
0
  @Override
  public List<Object> buildParameters() {
    List<Object> ret = new ArrayList<Object>();

    if (left != null) ret.addAll(left.buildParameters());

    if (right != null) ret.addAll(right.buildParameters());

    return ret;
  }
 @Override
 public <T extends GettableById> Collection<Integer> getIds(
     Class<T> currentClass, Criterion... restrictions) {
   validateTransaction();
   Criteria criteria = getSession().createCriteria(currentClass);
   criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
   criteria.setProjection(Projections.id());
   for (Criterion restriction : restrictions) criteria.add(restriction);
   return criteria.list();
 }
Exemplo n.º 25
0
 @Test
 public void testGreaterThanEqual() {
   Criteria criteria = new Criteria("field_1").greaterThanEqual(100);
   CriteriaEntry entry = getCriteriaEntryByPosition(criteria.getCriteriaEntries(), 0);
   Assert.assertEquals(OperationKey.BETWEEN.getKey(), entry.getKey());
   Assert.assertEquals(100, ((Object[]) entry.getValue())[0]);
   Assert.assertEquals(null, ((Object[]) entry.getValue())[1]);
   Assert.assertTrue(((Boolean) ((Object[]) entry.getValue())[2]).booleanValue());
   Assert.assertTrue(((Boolean) ((Object[]) entry.getValue())[3]).booleanValue());
 }
Exemplo n.º 26
0
 @Test
 public void testBetweenExcludingUpperBound() {
   Criteria criteria = new Criteria("field_1").between(100, 200, true, false);
   CriteriaEntry entry = getCriteriaEntryByPosition(criteria.getCriteriaEntries(), 0);
   Assert.assertEquals(OperationKey.BETWEEN.getKey(), entry.getKey());
   Assert.assertEquals(100, ((Object[]) entry.getValue())[0]);
   Assert.assertEquals(200, ((Object[]) entry.getValue())[1]);
   Assert.assertTrue(((Boolean) ((Object[]) entry.getValue())[2]).booleanValue());
   Assert.assertFalse(((Boolean) ((Object[]) entry.getValue())[3]).booleanValue());
 }
Exemplo n.º 27
0
 @Test
 public void testExpression() {
   Criteria criteria =
       new Criteria("field_1").expression("(have fun using +solr && expressions*)");
   assertCriteriaEntry(
       criteria.getCriteriaEntries(),
       0,
       OperationKey.EXPRESSION,
       "(have fun using +solr && expressions*)");
 }
Exemplo n.º 28
0
 @Test
 public void testCriteriaChain() {
   Criteria criteria =
       new Criteria("field_1").startsWith("start").endsWith("end").contains("contains").is("is");
   Assert.assertEquals("field_1", criteria.getField().getName());
   assertCriteriaEntry(criteria.getCriteriaEntries(), 0, OperationKey.STARTS_WITH, "start");
   assertCriteriaEntry(criteria.getCriteriaEntries(), 1, OperationKey.ENDS_WITH, "end");
   assertCriteriaEntry(criteria.getCriteriaEntries(), 2, OperationKey.CONTAINS, "contains");
   assertCriteriaEntry(criteria.getCriteriaEntries(), 3, OperationKey.EQUALS, "is");
 }
Exemplo n.º 29
0
 /**
  * Checks whether the given Criteria is satisfied at a given interval, until either the criteria
  * is satisfied, or the specified maxTimeoutMs number of ms has elapsed.
  *
  * @param criteria The Criteria that will be checked.
  * @param maxTimeoutMs The maximum number of ms that this check will be performed for before
  *     timeout.
  * @param checkIntervalMs The number of ms between checks.
  * @return true iff checking has ended with the criteria being satisfied.
  * @throws InterruptedException
  */
 public static boolean pollForCriteria(Criteria criteria, long maxTimeoutMs, long checkIntervalMs)
     throws InterruptedException {
   boolean isSatisfied = criteria.isSatisfied();
   long startTime = SystemClock.uptimeMillis();
   while (!isSatisfied && SystemClock.uptimeMillis() - startTime < maxTimeoutMs) {
     Thread.sleep(checkIntervalMs);
     isSatisfied = criteria.isSatisfied();
   }
   return isSatisfied;
 }
Exemplo n.º 30
0
  private <P> Criteria buildProjectionCriteria(
      Class<P> projectClass, Criteria criteria, Projection projections, boolean distinctResult) {
    if (distinctResult) {
      criteria.setProjection(Projections.distinct(projections));
    } else {
      criteria.setProjection(projections);
    }

    return criteria.setResultTransformer(Transformers.aliasToBean(projectClass));
  }