Java 类com.mongodb.QueryBuilder 实例源码

项目:share-big-files    文件:ShareBigFilesServiceImpl.java   
@Override
public void updateDownloadLogs(final String id, final UserInfos user, final Handler<JsonObject> handler) {
    final QueryBuilder query = QueryBuilder.start("_id").is(id);

    final JsonObject logElem = new JsonObject().putString("userDisplayName", user.getUsername()).putObject("downloadDate", MongoDb.now());
    final MongoUpdateBuilder modifier = new MongoUpdateBuilder();
    modifier.addToSet("downloadLogs", logElem);
    mongo.update(ShareBigFiles.SHARE_BIG_FILE_COLLECTION, MongoQueryBuilder.build(query),
            modifier.build(), new Handler<Message<JsonObject>>() {
                @Override
                public void handle(Message<JsonObject> event) {
                    if ("ok".equals(event.body().getString("status"))) {
                        handler.handle(new JsonObject().putString("status", "ok"));
                    } else {
                        handler.handle(new JsonObject().putString("status", "error")
                                .putString("message", event.body().getString("message")));
                    }
                }
            });
}
项目:share-big-files    文件:MassJsonShareAndOwner.java   
@Override
public void authorize(final HttpServerRequest request, final Binding binding, final UserInfos user, final Handler<Boolean> handler) {
    RequestUtils.bodyToJson(request, Server.getPathPrefix(Config.getInstance().getConfig()) + "deletes", new Handler<JsonObject>() {
        public void handle(JsonObject data) {
            final List<String> ids = data.getArray("ids").toList();
            if (ids != null && !ids.isEmpty()) {
                List<DBObject> groups = new ArrayList<>();
                String sharedMethod = binding.getServiceMethod().replaceAll("\\.", "-");
                groups.add(QueryBuilder.start("userId").is(user.getUserId())
                        .put(sharedMethod).is(true).get());
                for (String gpId: user.getGroupsIds()) {
                    groups.add(QueryBuilder.start("groupId").is(gpId)
                            .put(sharedMethod).is(true).get());
                }
                QueryBuilder query = QueryBuilder.start("_id").in(new HashSet<String>(ids)).or(
                        QueryBuilder.start("owner.userId").is(user.getUserId()).get(),
                        QueryBuilder.start("shared").elemMatch(
                                new QueryBuilder().or(groups.toArray(new DBObject[groups.size()])).get()).get()
                );
                MongoAppFilter.executeCountQuery(request, conf.getCollection(), MongoQueryBuilder.build(query), ids.size(), handler);
            } else {
                handler.handle(false);
            }
        }
    });
}
项目:gora-boot    文件:DefaultFactory.java   
protected DBObject transformFieldFilter(
    final SingleFieldValueFilter<K, T> fieldFilter,
    final MongoStore<K, T> store) {
  MongoMapping mapping = store.getMapping();
  String dbFieldName = mapping.getDocumentField(fieldFilter.getFieldName());

  FilterOp filterOp = fieldFilter.getFilterOp();
  List<Object> operands = fieldFilter.getOperands();

  QueryBuilder builder = QueryBuilder.start(dbFieldName);
  builder = appendToBuilder(builder, filterOp, operands);
  if (!fieldFilter.isFilterIfMissing()) {
    // If false, the find query will pass if the column is not found.
    DBObject notExist = QueryBuilder.start(dbFieldName).exists(false).get();
    builder = QueryBuilder.start().or(notExist, builder.get());
  }
  return builder.get();
}
项目:gora-boot    文件:DefaultFactory.java   
protected DBObject transformMapFilter(
    final MapFieldValueFilter<K, T> mapFilter, final MongoStore<K, T> store) {
  MongoMapping mapping = store.getMapping();
  String dbFieldName = mapping.getDocumentField(mapFilter.getFieldName())
      + "." + store.encodeFieldKey(mapFilter.getMapKey().toString());

  FilterOp filterOp = mapFilter.getFilterOp();
  List<Object> operands = mapFilter.getOperands();

  QueryBuilder builder = QueryBuilder.start(dbFieldName);
  builder = appendToBuilder(builder, filterOp, operands);
  if (!mapFilter.isFilterIfMissing()) {
    // If false, the find query will pass if the column is not found.
    DBObject notExist = QueryBuilder.start(dbFieldName).exists(false).get();
    builder = QueryBuilder.start().or(notExist, builder.get());
  }
  return builder.get();
}
项目:hawkcd    文件:PipelineService.java   
@Override
@Authorization( scope = PermissionScope.PIPELINE, type = PermissionType.VIEWER )
public ServiceResult getAllByDefinitionId(String pipelineDefinitionId) {
    ServiceResult result = null;

    switch (super.DATABASE_TYPE) {
        case REDIS:
            result = this.getAll();
            List<Pipeline> pipelines = (List<Pipeline>) result.getEntity();

            List<Pipeline> filteredPipelines = pipelines
                    .stream()
                    .filter(p -> p.getPipelineDefinitionId().equals(pipelineDefinitionId))
                    .collect(Collectors.toList());

            result.setEntity(filteredPipelines);
            break;
        case MONGODB:
            BasicDBObject query = (BasicDBObject) QueryBuilder.start().put("pipelineDefinitionId").is(pipelineDefinitionId).get();
            result = this.getPipelineMongoService().QueryExecutor(query);
            break;
    }

    return result;
}
项目:community    文件:DefaultCommunityService.java   
@Override
public void updateShare(String pageId, String userId, JsonObject value, Handler<Either<String, JsonObject>> handler) {
    JsonArray shared = new JsonArray();
    shared.add(new JsonObject().putString("groupId", value.getString("read")).
            putBoolean("net-atos-entng-community-controllers-PagesController|get", true));
    shared.add(new JsonObject().putString("groupId", value.getString("contrib")).
            putBoolean("net-atos-entng-community-controllers-PagesController|get", true).
            putBoolean("net-atos-entng-community-controllers-PagesController|update", true));
    shared.add(new JsonObject().putString("groupId", value.getString("manager")).
            putBoolean("net-atos-entng-community-controllers-PagesController|get", true).
            putBoolean("net-atos-entng-community-controllers-PagesController|update", true).
            putBoolean("net-atos-entng-community-controllers-PagesController|delete", true));

    MongoUpdateBuilder updateQuery = new MongoUpdateBuilder().set("shared", shared);
    QueryBuilder query = QueryBuilder.start("_id").is(pageId);
    mongo.update(conf.getCollection(), MongoQueryBuilder.build(query), updateQuery.build(), MongoDbResult.validActionResultHandler(handler));
}
项目:community    文件:PageReadFilter.java   
@Override
public void authorize(HttpServerRequest request, Binding binding, UserInfos user, Handler<Boolean> handler) {
    String sharedMethod = binding.getServiceMethod().replaceAll("\\.", "-");
    String id = request.params().get(conf.getResourceIdLabel());
    if (id != null && !id.trim().isEmpty()) {
        List<DBObject> groups = new ArrayList<>();
        groups.add(QueryBuilder.start("userId").is(user.getUserId())
                .put(sharedMethod).is(true).get());
        for (String gpId: user.getGroupsIds()) {
            groups.add(QueryBuilder.start("groupId").is(gpId)
                    .put(sharedMethod).is(true).get());
        }
        QueryBuilder query = QueryBuilder.start("_id").is(id).or(
                QueryBuilder.start("owner.userId").is(user.getUserId()).get(),
                QueryBuilder.start("visibility").is(VisibilityFilter.PUBLIC.name()).get(),
                QueryBuilder.start("visibility").is(VisibilityFilter.PROTECTED.name()).get(),
                QueryBuilder.start("shared").elemMatch(
                        new QueryBuilder().or(groups.toArray(new DBObject[groups.size()])).get()).get()
        );
        MongoAppFilter.executeCountQuery(request, conf.getCollection(),
                MongoQueryBuilder.build(query), 1, handler);
    } else {
        handler.handle(false);
    }
}
项目:incubator-rya    文件:IndexingMongoDBStorageStrategy.java   
public DBObject getQuery(final StatementConstraints contraints) {
    final QueryBuilder queryBuilder = QueryBuilder.start();
    if (contraints.hasSubject()){
        queryBuilder.and(new BasicDBObject(SUBJECT, contraints.getSubject().toString()));
    }

    if (contraints.hasPredicates()){
        final Set<URI> predicates = contraints.getPredicates();
        if (predicates.size() > 1){
            for (final URI pred : predicates){
                final DBObject currentPred = new BasicDBObject(PREDICATE, pred.toString());
                queryBuilder.or(currentPred);
            }
        }
        else if (!predicates.isEmpty()){
            queryBuilder.and(new BasicDBObject(PREDICATE, predicates.iterator().next().toString()));
        }
    }
    if (contraints.hasContext()){
        queryBuilder.and(new BasicDBObject(CONTEXT, contraints.getContext().toString()));
    }
    return queryBuilder.get();
}
项目:incubator-rya    文件:GeoTemporalMongoDBStorageStrategy.java   
private DBObject getTemporalObject(final TemporalInstant instant, final TemporalPolicy policy) {
    final DBObject temporalObj;
    switch(policy) {
        case INSTANT_AFTER_INSTANT:
            temporalObj = QueryBuilder.start(INSTANT)
                   .greaterThan(instant.getAsDateTime().toDate())
                   .get();
            break;
        case INSTANT_BEFORE_INSTANT:
            temporalObj = QueryBuilder.start(INSTANT)
                   .lessThan(instant.getAsDateTime().toDate())
                   .get();
            break;
        case INSTANT_EQUALS_INSTANT:
            temporalObj = QueryBuilder.start(INSTANT)
                   .is(instant.getAsDateTime().toDate())
                   .get();
            break;
         default:
             temporalObj = new BasicDBObject();
    }
    return temporalObj;
}
项目:teiid    文件:TestMongoDBDirectQueryExecution.java   
@Test
public void testShellDirect() throws Exception {
    Command cmd = this.utility.parseCommand("SELECT * FROM Customers");
    MongoDBConnection connection = Mockito.mock(MongoDBConnection.class);
    ExecutionContext context = Mockito.mock(ExecutionContext.class);
    DBCollection dbCollection = Mockito.mock(DBCollection.class);
    DB db = Mockito.mock(DB.class);
    Mockito.stub(db.getCollection("MyTable")).toReturn(dbCollection);

    Mockito.stub(db.collectionExists(Mockito.anyString())).toReturn(true);
    Mockito.stub(connection.getDatabase()).toReturn(db);

    Argument arg = new Argument(Direction.IN, null, String.class, null);
    arg.setArgumentValue(new Literal("$ShellCmd;MyTable;remove;{ qty: { $gt: 20 }}", String.class));

    ResultSetExecution execution = this.translator.createDirectExecution(Arrays.asList(arg), cmd, context, this.utility.createRuntimeMetadata(), connection);
    execution.execute();
    Mockito.verify(dbCollection).remove(QueryBuilder.start("qty").greaterThan(20).get());
}
项目:jackrabbit-dynamodb-store    文件:MongoBlobStore.java   
@Override
public boolean deleteChunks(List<String> chunkIds, long maxLastModifiedTime) throws Exception {
    DBCollection collection = getBlobCollection();
    QueryBuilder queryBuilder = new QueryBuilder();
    if (chunkIds != null) {
        queryBuilder = queryBuilder.and(MongoBlob.KEY_ID).in(chunkIds.toArray(new String[0]));
        if (maxLastModifiedTime > 0) {
            queryBuilder = queryBuilder.and(MongoBlob.KEY_LAST_MOD)
                                .lessThan(maxLastModifiedTime);
        }
    }

    WriteResult result = collection.remove(queryBuilder.get());
    if (result.getN() == chunkIds.size()) {
        return true;
    }

    return false;
}
项目:jackrabbit-dynamodb-store    文件:MongoMissingLastRevSeeker.java   
@Override
public boolean acquireRecoveryLock(int clusterId) {
    QueryBuilder query =
            start().and(
                    start(Document.ID).is(Integer.toString(clusterId)).get(),
                    start(ClusterNodeInfo.REV_RECOVERY_LOCK).notEquals(RecoverLockState.ACQUIRED.name()).get()
            );

    DBObject returnFields = new BasicDBObject();
    returnFields.put("_id", 1);

    BasicDBObject setUpdates = new BasicDBObject();
    setUpdates.append(ClusterNodeInfo.REV_RECOVERY_LOCK, RecoverLockState.ACQUIRED.name());

    BasicDBObject update = new BasicDBObject();
    update.append("$set", setUpdates);

    DBObject oldNode = getClusterNodeCollection().findAndModify(query.get(), returnFields,
            null /*sort*/, false /*remove*/, update, false /*returnNew*/,
            false /*upsert*/);

    return oldNode != null;
}
项目:jackrabbit-dynamodb-store    文件:MongoDocumentStore.java   
@Nonnull
private static QueryBuilder createQueryForUpdate(UpdateOp updateOp,
                                          boolean checkConditions) {
    QueryBuilder query = getByKeyQuery(updateOp.getId());

    for (Entry<Key, Operation> entry : updateOp.getChanges().entrySet()) {
        Key k = entry.getKey();
        Operation op = entry.getValue();
        switch (op.type) {
            case CONTAINS_MAP_ENTRY: {
                if (checkConditions) {
                    query.and(k.toString()).exists(op.value);
                }
                break;
            }
        }
    }
    return query;
}
项目:deep-spark    文件:MongoReader.java   
/**
 * Create query partition.
 *
 * @param partition the partition
 * @return the dB object
 */
private DBObject createQueryPartition(MongoPartition partition) {

    QueryBuilder queryBuilderMin = QueryBuilder.start(partition.getKey());
    DBObject bsonObjectMin = queryBuilderMin.greaterThanEquals(partition.splitWrapper().getStartToken()).get();

    QueryBuilder queryBuilderMax = QueryBuilder.start(partition.getKey());
    DBObject bsonObjectMax = queryBuilderMax.lessThan(partition.splitWrapper().getEndToken()).get();

    QueryBuilder queryBuilder = QueryBuilder.start();
    if (partition.splitWrapper().getStartToken() != null) {
        queryBuilder.and(bsonObjectMin);
    }

    if (partition.splitWrapper().getEndToken() != null) {
        queryBuilder.and(bsonObjectMax);
    }

    LOG.debug("mongodb query "+queryBuilder.get());

    return queryBuilder.get();
}
项目:mTracker    文件:Connector.java   
public static DBObject getLastRecord(DBCollection collection, Date startDate, Date endDate) {
    DBObject lastone = null;
    try {
        BasicDBObject searchQuery = new BasicDBObject();
        QueryBuilder qb = new QueryBuilder();
        qb.put("Date").greaterThanEquals(startDate).lessThanEquals(endDate);
        searchQuery.putAll(qb.get());
        DBCursor cursor = collection.find(searchQuery);

        while (cursor.hasNext()) {

            lastone = cursor.next();
        }


    } catch (MongoException e) {
        e.printStackTrace();

    }
    return lastone;
}
项目:gora    文件:DefaultFactory.java   
protected DBObject transformFieldFilter(
    final SingleFieldValueFilter<K, T> fieldFilter,
    final MongoStore<K, T> store) {
  MongoMapping mapping = store.getMapping();
  String dbFieldName = mapping.getDocumentField(fieldFilter.getFieldName());

  FilterOp filterOp = fieldFilter.getFilterOp();
  List<Object> operands = fieldFilter.getOperands();

  QueryBuilder builder = QueryBuilder.start(dbFieldName);
  builder = appendToBuilder(builder, filterOp, operands);
  if (!fieldFilter.isFilterIfMissing()) {
    // If false, the find query will pass if the column is not found.
    DBObject notExist = QueryBuilder.start(dbFieldName).exists(false).get();
    builder = QueryBuilder.start().or(notExist, builder.get());
  }
  return builder.get();
}
项目:gora    文件:DefaultFactory.java   
protected DBObject transformMapFilter(
    final MapFieldValueFilter<K, T> mapFilter, final MongoStore<K, T> store) {
  MongoMapping mapping = store.getMapping();
  String dbFieldName = mapping.getDocumentField(mapFilter.getFieldName())
      + "." + store.encodeFieldKey(mapFilter.getMapKey().toString());

  FilterOp filterOp = mapFilter.getFilterOp();
  List<Object> operands = mapFilter.getOperands();

  QueryBuilder builder = QueryBuilder.start(dbFieldName);
  builder = appendToBuilder(builder, filterOp, operands);
  if (!mapFilter.isFilterIfMissing()) {
    // If false, the find query will pass if the column is not found.
    DBObject notExist = QueryBuilder.start(dbFieldName).exists(false).get();
    builder = QueryBuilder.start().or(notExist, builder.get());
  }
  return builder.get();
}
项目:alfresco-benchmark    文件:MongoResultService.java   
@Override
public long countResultsByEventName(String name)
{
    DBObject queryObj = QueryBuilder
            .start()
            .and(EventRecord.FIELD_EVENT_NAME).is(name)
            .get();

    long count = collection.count(queryObj);

    // Done
    if(logger.isDebugEnabled())
    {
        logger.debug("Counted " + count + " results for event name: " + name);
    }
    return count;
}
项目:alfresco-benchmark    文件:MongoResultService.java   
@Override
public long countResultsBySuccess()
{
    DBObject queryObj = QueryBuilder
            .start()
            .and(EventRecord.FIELD_SUCCESS).is(true)
            .get();

    long count = collection.count(queryObj);

    // Done
    if(logger.isDebugEnabled())
    {
        logger.debug("Counted " + count + " results for success: " + true);
    }
    return count;
}
项目:alfresco-benchmark    文件:MongoResultService.java   
@Override
public long countResultsByFailure()
{
    DBObject queryObj = QueryBuilder
            .start()
            .and(EventRecord.FIELD_SUCCESS).is(false)
            .get();

    long count = collection.count(queryObj);

    // Done
    if(logger.isDebugEnabled())
    {
        logger.debug("Counted " + count + " results for success: " + false);
    }
    return count;
}
项目:alfresco-benchmark    文件:MongoTestDAO.java   
/**
 * Refresh the expiry time of a driver
 * 
 * @param id
 *        the driver id
 * @param expiryTime
 *        the new expiry time
 */
public void refreshDriver(String id, long expiryTime)
{
    DBObject queryObj = QueryBuilder
            .start()
            .and(FIELD_ID).is(new ObjectId(id))
            .get();
    DBObject updateObj = BasicDBObjectBuilder
            .start()
            .push("$set")
            .add(FIELD_PING + "." + FIELD_EXPIRES, new Date(expiryTime))
            .pop()
            .get();
    testDrivers.findAndModify(queryObj, null, null, false, updateObj, false, false);

    // Done
    if (logger.isDebugEnabled())
    {
        logger.debug(
                "Updated test driver expiry: \n" +
                        "   ID:  " + id + "\n" +
                        "   New: " + expiryTime);
    }
}
项目:alfresco-benchmark    文件:MongoTestDAO.java   
/**
 * Register a driver with a test run
 * 
 * @param runObjId
 *        the ID of the test run
 * @param driverId
 *        the ID of the driver to include
 */
public void addTestRunDriver(ObjectId runObjId, String driverId)
{
    // Find the test run
    DBObject queryObj = QueryBuilder
            .start()
            .and(FIELD_ID).is(runObjId)
            .get();
    DBObject updateObj = BasicDBObjectBuilder.start()
            .push("$addToSet")
            .add(FIELD_DRIVERS, driverId)
            .pop()
            .get();
    DBObject runObj = testRuns.findAndModify(queryObj, null, null, false, updateObj, true, false);

    // Done
    if (logger.isDebugEnabled())
    {
        logger.debug(
                "Added driver ID to run drivers: \n" +
                        "   Run ID:     " + runObjId + "\n" +
                        "   Driver:     " + driverId + "\n" +
                        "   Drivers:    " + runObj.get(FIELD_DRIVERS));
    }
}
项目:alfresco-benchmark    文件:MongoTestDAO.java   
/**
 * Derigister a driver from a test run
 * 
 * @param runObjId
 *        the ID of the test run
 * @param driverId
 *        the ID of the driver to remove
 */
public void removeTestRunDriver(ObjectId runObjId, String driverId)
{
    // Find the test run
    DBObject queryObj = QueryBuilder
            .start()
            .and(FIELD_ID).is(runObjId)
            .get();
    DBObject updateObj = BasicDBObjectBuilder.start()
            .push("$pull")
            .add(FIELD_DRIVERS, driverId)
            .pop()
            .get();
    DBObject runObj = testRuns.findAndModify(queryObj, null, null, false, updateObj, true, false);

    // Done
    if (logger.isDebugEnabled())
    {
        logger.debug(
                "Removed driver ID from run drivers: \n" +
                        "   Run ID:     " + runObjId + "\n" +
                        "   Driver:     " + driverId + "\n" +
                        "   Drivers:    " + runObj.get(FIELD_DRIVERS));
    }
}
项目:alfresco-benchmark    文件:MongoTestDAO.java   
/**
 * Fetch masked property names (passwords) by test name.
 * 
 * @param testName
 *        (String, mandatory) test name
 * 
 * @return (Set<String>) or exception
 * 
 * @throws ObjectNotFoundException
 * @since 2.1.2
 */
public Set<String> getMaskedProperyNames(String testName) throws ObjectNotFoundException
{
    ArgumentCheck.checkMandatoryString(testName, "testName");

    DBObject queryObj = QueryBuilder
            .start()
            .and(FIELD_NAME).is(testName)
            .get();

    BasicDBObjectBuilder fieldsObjBuilder = BasicDBObjectBuilder
            .start(FIELD_RELEASE, true)
            .add(FIELD_SCHEMA, true);

    DBObject testObj = tests.findOne(queryObj, fieldsObjBuilder.get());
    ObjectNotFoundException.checkObject(testObj, testName);

    return getMaskedProperyNames((String) testObj.get(FIELD_RELEASE), (Integer) testObj.get(FIELD_SCHEMA));
}
项目:stalactite    文件:BlogActionAchieve.java   
@Override
public List<Blog> findTitleList() {
    BasicDBObject basicDBObject = new BasicDBObject();
    basicDBObject.put("id", 1);
    basicDBObject.put("title", 1);
    basicDBObject.put("type", 1);
    basicDBObject.put("currentDate", 1);
    QueryBuilder builder = new QueryBuilder();
    return mongoTemplate.find(new BasicQuery(builder.get(), basicDBObject), Blog.class);
}
项目:share-big-files    文件:ShareBigFilesServiceImpl.java   
@Override
public void getQuotaData(final String userId, final Handler<JsonObject> handler) {
    final QueryBuilder query = QueryBuilder.start("owner.userId").is(userId).put("fileMetadata.size").exists(true);

    mongo.find(ShareBigFiles.SHARE_BIG_FILE_COLLECTION, MongoQueryBuilder.build(query), new Handler<Message<JsonObject>>() {
        @Override
        public void handle(Message<JsonObject> event) {
            final JsonArray res = event.body().getArray("results");
            final String status = event.body().getString("status");
            final JsonObject j = new JsonObject();

            if ("ok".equals(status) && res != null) {
                Long totalUser = 0L;
                for (Object object : res) {
                    if (!(object instanceof JsonObject)) continue;
                    totalUser += ((JsonObject) object).getObject("fileMetadata").getLong("size");
                }
                final Long residualUser = ShareBigFilesServiceImpl.this.maxQuota - totalUser;
                final Long residualUserSize = (residualUser < 0) ? 0L : residualUser;

                handler.handle(j.putNumber("residualQuota", residualUserSize).putString("status", "ok"));
            } else {
                handler.handle(j.putString("status", status));
            }
        }
    });
}
项目:share-big-files    文件:ShareBigFilesServiceImpl.java   
public void retrieves(List<String> ids, final JsonObject projection, UserInfos user, Handler<Either<String, JsonArray>> handler) {
    QueryBuilder builder = QueryBuilder.start("_id").in(new HashSet<String>(ids));
    if (user == null) {
        builder.put("visibility").is(VisibilityFilter.PUBLIC.name());
    }
    mongo.find(ShareBigFiles.SHARE_BIG_FILE_COLLECTION, MongoQueryBuilder.build(builder),
            null, projection, validResultsHandler(handler));
}
项目:gora-boot    文件:DefaultFactory.java   
protected QueryBuilder appendToBuilder(final QueryBuilder builder,
    final FilterOp filterOp, final List<Object> rawOperands) {
  List<String> operands = convertOperandsToString(rawOperands);
  switch (filterOp) {
  case EQUALS:
    if (operands.size() == 1) {
      builder.is(operands.iterator().next());
    } else {
      builder.in(operands);
    }
    break;
  case NOT_EQUALS:
    if (operands.size() == 1) {
      builder.notEquals(operands.iterator().next());
    } else {
      builder.notIn(operands);
    }
    break;
  case LESS:
    builder.lessThan(operands);
    break;
  case LESS_OR_EQUAL:
    builder.lessThanEquals(operands);
    break;
  case GREATER:
    builder.greaterThan(operands);
    break;
  case GREATER_OR_EQUAL:
    builder.greaterThanEquals(operands);
    break;
  default:
    throw new IllegalArgumentException(filterOp
        + " no MongoDB equivalent yet");
  }
  return builder;
}
项目:hawkcd    文件:PipelineService.java   
@Override
@Authorization( scope = PermissionScope.PIPELINE, type = PermissionType.VIEWER )
public ServiceResult getAllNonupdatedPipelines() {
    ServiceResult result = null;

    switch (super.DATABASE_TYPE) {
        case REDIS:
            result = this.getAll();
            List<Pipeline> pipelines = (List<Pipeline>) result.getEntity();

            List<Pipeline> updatedPipelines = pipelines
                    .stream()
                    .filter(p -> !p.areMaterialsUpdated())
                    .sorted((p1, p2) -> p1.getStartTime().compareTo(p2.getStartTime()))
                    .collect(Collectors.toList());

            result.setEntity(updatedPipelines);
            break;
        case MONGODB:
            BasicDBObject query = (BasicDBObject) QueryBuilder.start().put("areMaterialsUpdated").is(false).get();
            BasicDBObject sortingFiler = new BasicDBObject("startTime", 1);
            result = this.getPipelineMongoService().QueryExecutor(query, sortingFiler);
            break;
    }

    return result;
}
项目:hawkcd    文件:PipelineService.java   
@Override
@Authorization( scope = PermissionScope.PIPELINE, type = PermissionType.VIEWER )
public ServiceResult getAllUpdatedUnpreparedPipelinesInProgress() {
    ServiceResult result = null;

    switch (super.DATABASE_TYPE) {
        case REDIS:
            result = this.getAll();
            List<Pipeline> pipelines = (List<Pipeline>) result.getEntity();

            List<Pipeline> updatedPipelines = pipelines
                    .stream()
                    .filter(p -> p.areMaterialsUpdated() && !p.isPrepared() && (p.getStatus() == PipelineStatus.IN_PROGRESS))
                    .sorted((p1, p2) -> p1.getStartTime().compareTo(p2.getStartTime()))
                    .collect(Collectors.toList());

            result.setEntity(updatedPipelines);

            return result;
        case MONGODB:
            List<DBObject> queriesArray = new ArrayList<>();
            queriesArray.add((new QueryBuilder().start().put("areMaterialsUpdated").is(true).get()));
            queriesArray.add((new QueryBuilder().start().put("isPrepared").is(false).get()));
            queriesArray.add((new QueryBuilder().start().put("status").is(PipelineStatus.IN_PROGRESS.toString()).get()));

            BasicDBObject query = (BasicDBObject) new QueryBuilder().start().and(
                                new QueryBuilder().start().and(queriesArray.get(0), queriesArray.get(1)).get(),
                                queriesArray.get(2)
                            ).get();
            BasicDBObject sortingFiler = new BasicDBObject("startTime", 1);
            result = this.getPipelineMongoService().QueryExecutor(query, sortingFiler);
    }

    return result;
}
项目:hawkcd    文件:PipelineService.java   
@Override
@Authorization( scope = PermissionScope.PIPELINE, type = PermissionType.VIEWER )
public ServiceResult getAllPreparedPipelinesInProgress() {
    ServiceResult result = null;

    switch (super.DATABASE_TYPE) {
        case REDIS:
            result = this.getAll();
            List<Pipeline> pipelines = (List<Pipeline>) result.getEntity();

            List<Pipeline> updatedPipelines = pipelines
                    .stream()
                    .filter(p -> p.isPrepared() && (p.getStatus() == PipelineStatus.IN_PROGRESS))
                    .sorted((p1, p2) -> p1.getStartTime().compareTo(p2.getStartTime()))
                    .collect(Collectors.toList());

            result.setEntity(updatedPipelines);
            break;
        case MONGODB:
            List<DBObject> queriesArray = new ArrayList<>();
            queriesArray.add((new QueryBuilder().start().put("isPrepared").is(true).get()));
            queriesArray.add((new QueryBuilder().start().put("status").is(PipelineStatus.IN_PROGRESS.toString()).get()));

            BasicDBObject query = (BasicDBObject) new QueryBuilder().start().and(queriesArray.get(0), queriesArray.get(1)).get();
            BasicDBObject sortingFiler = new BasicDBObject("startTime", 1);

            result = this.getPipelineMongoService().QueryExecutor(query, sortingFiler);
            break;
    }

    return result;
}
项目:hawkcd    文件:PipelineService.java   
@Override
@Authorization( scope = PermissionScope.PIPELINE, type = PermissionType.VIEWER )
public ServiceResult getAllPreparedAwaitingPipelines() {
    ServiceResult result = null;

    switch (super.DATABASE_TYPE) {
        case REDIS:
            result = this.getAll();
            List<Pipeline> pipelines = (List<Pipeline>) result.getEntity();

            List<Pipeline> updatedPipelines = pipelines
                    .stream()
                    .filter(p -> p.isPrepared() && (p.getStatus() == PipelineStatus.AWAITING))
                    .sorted((p1, p2) -> p1.getStartTime().compareTo(p2.getStartTime()))
                    .collect(Collectors.toList());

            result.setEntity(updatedPipelines);
            break;
        case MONGODB:
            List<DBObject> queriesArray = new ArrayList<>();
            queriesArray.add((new QueryBuilder().start().put("isPrepared").is(true).get()));
            queriesArray.add((new QueryBuilder().start().put("status").is(PipelineStatus.AWAITING.toString()).get()));

            BasicDBObject query = (BasicDBObject) new QueryBuilder().start().and(queriesArray.get(0), queriesArray.get(1)).get();
            BasicDBObject sortingFiler = new BasicDBObject("startTime", 1);

            result = this.getPipelineMongoService().QueryExecutor(query, sortingFiler);
            break;
    }

    return result;
}
项目:hawkcd    文件:PipelineService.java   
@Override
@Authorization( scope = PermissionScope.PIPELINE, type = PermissionType.VIEWER )
public ServiceResult getLastRun(String pipelineDefinitionId) {
    ServiceResult result = null;

    switch (super.DATABASE_TYPE) {
        case REDIS:
            result = this.getAllByDefinitionId(pipelineDefinitionId);
            List<Pipeline> pipelines = (List<Pipeline>) result.getEntity();

            Pipeline lastRun = null;
            int lastExecutionId = 0;
            for (Pipeline pipeline : pipelines) {
                if (pipeline.getExecutionId() > lastExecutionId) {
                    lastRun = pipeline;
                    lastExecutionId = pipeline.getExecutionId();
                }
            }

            result.setEntity(lastRun);
            break;
        case MONGODB:
            BasicDBObject query = (BasicDBObject) QueryBuilder.start().put("pipelineDefinitionId").is(pipelineDefinitionId).get();
            BasicDBObject sortingFiler = new BasicDBObject("executionId", -1);

            result = this.getPipelineMongoService().QueryExecutor(query, sortingFiler, 0, 1);
            result.setEntity((Pipeline)((ArrayList) this.getPipelineMongoService().QueryExecutor(query, sortingFiler, 0, 1).getEntity()).get(0));
            break;
    }

    return result;
}
项目:jim    文件:OfflineMessageRepo.java   
public List<ImMessage> findByTopicNameIn(Collection<String> topics, ObjectId lastMsgId) {
    DBObject queryCondition = QueryBuilder.start("topicName")
                                            .in(topics)
                                            .and("_id")
                                            .greaterThanEquals(lastMsgId)
                                            .get();
    Iterator<DBObject> result = messageCollection.find(queryCondition).limit(100).iterator();
    return MessageConverter.convert(result);
}
项目:geeCommerce-Java-Shop-Software-and-PIM    文件:DefaultAttributeOptions.java   
@SuppressWarnings("unchecked")
@Override
public List<String> findOptionTags(Id attributeId) {
    QueryBuilder query = new QueryBuilder();
    query.put(AttributeOption.Col.ATTRIBUTE_ID).is(attributeId);
    query.put(AttributeOption.Col.TAGS).not().size(0);

    return (List<String>) distinct(AttributeOption.class, query.get().toMap(), AttributeOption.Col.TAGS);
}
项目:geeCommerce-Java-Shop-Software-and-PIM    文件:DefaultRequestContexts.java   
@SuppressWarnings("unchecked")
@Override
public List<RequestContext> forScopes(List<Id> scopeIds) {
    QueryBuilder query = new QueryBuilder().or(QueryBuilder.start(RequestContext.Col.ID).in(scopeIds).get(),
        QueryBuilder.start(RequestContext.Col.STORE_ID).in(scopeIds).get(),
        QueryBuilder.start(RequestContext.Col.MERCHANT_ID).in(scopeIds).get());

    return find(RequestContext.class, query.get().toMap());
}
项目:EDDI    文件:ResourceFilter.java   
private Document createQuery(QueryFilters[] allQueryFilters) {
    QueryBuilder retQuery = new QueryBuilder();

    for (QueryFilters queryFilters : allQueryFilters) {
        List<DBObject> dbObjects = new LinkedList<>();
        for (QueryFilter queryFilter : queryFilters.getQueryFilters()) {
            if (queryFilter.getFilter() instanceof String) {
                Pattern resourcePattern = getPatternForRegex((String) queryFilter.getFilter());
                dbObjects.add(new QueryBuilder().put(queryFilter.getField()).regex(resourcePattern).get());
            } else {
                dbObjects.add(new QueryBuilder().put(queryFilter.getField()).is(queryFilter.getFilter()).get());
            }
        }

        DBObject[] dbObjectArray = dbObjects.toArray(new DBObject[dbObjects.size()]);

        DBObject filterQuery;
        if (dbObjectArray.length > 0) {
            if (queryFilters.getConnectingType() == QueryFilters.ConnectingType.AND) {
                filterQuery = new QueryBuilder().and(dbObjectArray).get();
            } else {
                filterQuery = new QueryBuilder().or(dbObjectArray).get();
            }

            retQuery.and(filterQuery);
        }

    }

    return new Document(retQuery.get().toMap());
}
项目:incubator-rya    文件:MongoTemporalIndexer.java   
@Override
public CloseableIteration<Statement, QueryEvaluationException> queryInstantEqualsInstant(
        final TemporalInstant queryInstant, final StatementConstraints constraints) throws QueryEvaluationException {
    final QueryBuilder qb = QueryBuilder.start(INSTANT)
        .is(queryInstant.getAsDateTime().toDate());
    return withConstraints(constraints, qb.get());
}
项目:incubator-rya    文件:MongoTemporalIndexer.java   
@Override
public CloseableIteration<Statement, QueryEvaluationException> queryInstantBeforeInstant(
        final TemporalInstant queryInstant, final StatementConstraints constraints) throws QueryEvaluationException {
    final QueryBuilder qb = QueryBuilder.start(INSTANT)
        .lessThan(queryInstant.getAsDateTime().toDate());
    return withConstraints(constraints, qb.get());
}
项目:incubator-rya    文件:MongoTemporalIndexer.java   
@Override
public CloseableIteration<Statement, QueryEvaluationException> queryInstantAfterInstant(
        final TemporalInstant queryInstant, final StatementConstraints constraints) throws QueryEvaluationException {
    final QueryBuilder qb = QueryBuilder.start(INSTANT)
        .greaterThan(queryInstant.getAsDateTime().toDate());
    return withConstraints(constraints, qb.get());
}