Example usage for com.mongodb.client.model Filters eq

List of usage examples for com.mongodb.client.model Filters eq

Introduction

In this page you can find the example usage for com.mongodb.client.model Filters eq.

Prototype

public static <TItem> Bson eq(final String fieldName, @Nullable final TItem value) 

Source Link

Document

Creates a filter that matches all documents where the value of the field name equals the specified value.

Usage

From source file:org.fixtrading.timpani.securitydef.datastore.MongoDBSecurityDefinitionStore.java

License:Apache License

@Override
public CompletableFuture<Integer> select(SecurityDefinitionRequest securityDefinitionRequest,
        Consumer<? extends SecurityDefinition> consumer) {

    CompletableFuture<Integer> future = new CompletableFuture<>();

    Bson filter = null;/*from   w w  w.  j av a2s.c o m*/
    SecurityRequestType securityRequestType = securityDefinitionRequest.getSecurityRequestType();
    switch (securityRequestType) {
    case RequestSecurityIdentityAndSpecifications:
        break;
    case RequestListSecurities:
        break;
    case Symbol:
        filter = eq("symbol", securityDefinitionRequest.getSymbol());
        break;
    case SecurityTypeAndOrCFICode: {
        String securityType = securityDefinitionRequest.getSecurityType();
        String cfiCode = securityDefinitionRequest.getCfiCode();
        if (securityType != null && cfiCode != null) {
            filter = Filters.or(eq("securityType", securityDefinitionRequest.getSecurityType()),
                    eq("cfiCode", securityDefinitionRequest.getCfiCode()));
        } else if (securityType != null) {
            filter = eq("securityType", securityDefinitionRequest.getSecurityType());
        } else if (cfiCode != null) {
            filter = eq("cfiCode", securityDefinitionRequest.getCfiCode());
        } else {
            throw new IllegalArgumentException("Missing security type or CFI code");
        }
    }
        break;
    case Product: {
        String product = securityDefinitionRequest.getProduct();
        String securityGroup = securityDefinitionRequest.getSecurityGroup();
        if (product != null) {
            filter = eq("product", product);
        } else if (securityGroup != null) {
            filter = eq("securityGroup", securityGroup);
        } else {
            throw new IllegalArgumentException("Missing product");
        }
    }
        break;
    case TradingSessionID:
        filter = eq("tradingSessionID", securityDefinitionRequest.getTradingSessionID());
        break;
    case AllSecurities:
        filter = exists("symbol");
        break;
    case MarketIDOrMarketID: {
        String marketId = securityDefinitionRequest.getMarketID();
        String marketSegmentID = securityDefinitionRequest.getMarketSegmentID();
        String securityExchange = securityDefinitionRequest.getSecurityExchange();
        if (marketId != null) {
            filter = elemMatch("marketSegmentGrp", Filters.eq("marketID", marketId));
        } else if (marketSegmentID != null) {
            filter = elemMatch("marketSegmentGrp", Filters.eq("marketSegmentID", marketSegmentID));
        } else if (securityExchange != null) {
            filter = eq("securityExchange", securityExchange);
        } else {
            throw new IllegalArgumentException("Missing market or market segment");
        }
    }
        break;
    default:
        throw new UnsupportedOperationException("Request type not supported");
    }

    @SuppressWarnings("unchecked")
    SecurityDefinitionBlock block = new SecurityDefinitionBlock((Consumer<SecurityDefinitionImpl>) consumer);

    SingleResultCallback<Void> callback = (result, t) -> {
        if (t == null) {
            future.complete(block.getCount());
        } else {
            future.completeExceptionally(t);
        }
    };

    collection.find(filter).forEach(block, callback);

    return future;
}

From source file:org.hibernate.ogm.datastore.mongodb.binarystorage.GridFSStorageManager.java

License:LGPL

private void deleteExistingContent(String fieldName, Object documentId, GridFSBucket gridFSFilesBucket) {
    GridFSFindIterable results = gridFSFilesBucket
            .find(Filters.and(Filters.eq("filename", fileName(fieldName, documentId))));
    try (MongoCursor<GridFSFile> iterator = results.iterator()) {
        while (iterator.hasNext()) {
            GridFSFile next = iterator.next();
            gridFSFilesBucket.delete(next.getId());
        }/*  www  .ja  v a2s  .  co m*/
    }
}

From source file:org.iotivity.cloud.rdserver.MongoDB.java

License:Open Source License

/**
 * API for storing information of published resources
 *
 * @param publishPayloadFormat/* ww w .  ja v a2  s  .c o  m*/
 *            information of published resources to store in collection
 * @param tablename
 *            collection name
 */
public void createResource(PublishPayloadFormat publishPayloadFormat, String tablename) {
    ArrayList<Document> docList = createDocuments(publishPayloadFormat);
    Iterator<Document> docIter = docList.iterator();

    MongoCollection<Document> collection = db.getCollection(tablename);

    while (docIter.hasNext()) {
        Document doc = docIter.next();

        if (collection.findOneAndReplace(
                Filters.and(Filters.eq(Constants.RS_DEVICE_ID, doc.get(Constants.RS_DEVICE_ID)),
                        Filters.eq(Constants.RS_INS, doc.get(Constants.RS_INS))),
                doc) == null) {

            collection.insertOne(doc);
        }
    }
}

From source file:org.iotivity.cloud.rdserver.MongoDB.java

License:Open Source License

/**
 * API for finding resources matched filterValue of filterKey in collection
 *
 * @param filterKey//from  w  ww.j  a  v  a  2 s  . c  om
 *            field name in collection
 * @param filterValue
 *            field value about field name
 * @param tablename
 *            collection name
 * @return ArrayList<PublishPayloadFormat> - array list of resource
 *         information
 */
public ArrayList<PublishPayloadFormat> readResource(String filterKey, String filterValue, String tablename) {
    MongoCollection<Document> collection = db.getCollection(tablename);
    ArrayList<PublishPayloadFormat> resourceFormatList = new ArrayList<PublishPayloadFormat>();
    MongoCursor<Document> cursor = collection.find(Filters.eq(filterKey, filterValue)).iterator();
    try {
        while (cursor.hasNext()) {
            Document doc = cursor.next();
            resourceFormatList.add(convertDocumentToResourceFormat(doc));
        }
    } finally {
        cursor.close();
    }

    return resourceFormatList;
}

From source file:org.iotivity.cloud.rdserver.MongoDB.java

License:Open Source License

/**
 * API for finding resources matched filterValue of filterKey and a
 * particular device ID in collection//from  w ww  . j a  va2s. c  o  m
 *
 * @param di
 *            device id
 * @param filterKey
 *            field name in collection
 * @param filterValue
 *            field value about field name
 * @param tablename
 *            collection name
 * @return ArrayList<PublishPayloadFormat> - array list of resource
 *         information
 */
public ArrayList<PublishPayloadFormat> readResourceAboutDid(String di, String filterKey, String filterValue,
        String tablename) {
    MongoCollection<Document> collection = db.getCollection(tablename);
    ArrayList<PublishPayloadFormat> resourceFormatList = new ArrayList<PublishPayloadFormat>();
    MongoCursor<Document> cursor = collection
            .find(Filters.and(Filters.eq(Constants.RS_DEVICE_ID, di), Filters.eq(filterKey, filterValue)))
            .iterator();
    try {
        while (cursor.hasNext()) {
            Document doc = cursor.next();
            resourceFormatList.add(convertDocumentToResourceFormat(doc));
        }
    } finally {
        cursor.close();
    }

    return resourceFormatList;
}

From source file:org.iotivity.cloud.rdserver.MongoDB.java

License:Open Source License

/**
 * API for deleting resources about a particular device ID in collection
 *
 * @param di/*from   w w w  .  j a  v  a2  s  .com*/
 *            device id
 * @param tablename
 *            collection name
 */
public void deleteResourceAboutDid(String di, String tablename) {

    MongoCollection<Document> collection = db.getCollection(tablename);

    collection.findOneAndDelete(Filters.eq(Constants.RS_DEVICE_ID, di));
}

From source file:org.iotivity.cloud.rdserver.MongoDB.java

License:Open Source License

/**
 * API for deleting resources about a particular device ID and ins in
 * collection//from w ww .ja  v  a 2  s  . c o m
 *
 * @param di
 *            device id
 * @param ins
 *            ins
 * @param tablename
 *            collection name
 */
public void deleteResourceAboutDidAndIns(String di, String ins, String tablename) {

    MongoCollection<Document> collection = db.getCollection(tablename);

    collection.findOneAndDelete(
            Filters.and(Filters.eq(Constants.RS_DEVICE_ID, di), Filters.eq(Constants.RS_INS, ins)));

}

From source file:org.jboss.as.quickstarts.kitchensink.data.MemberRepository.java

License:Apache License

public Member findById(String id) {
    Document document = mongoCollection.find(Filters.eq(MemberMapper.ATTR_ID, new ObjectId(id))).first();
    return convert(document);
}

From source file:org.jboss.as.quickstarts.kitchensink.data.MemberRepository.java

License:Apache License

public Member findByEmail(String email) {
    FindIterable<Document> results = mongoCollection.find(Filters.eq(MemberMapper.ATTR_EMAIL, email));
    return results.iterator().hasNext() ? convert(results.iterator().next()) : null;
}

From source file:org.jnosql.diana.mongodb.document.DocumentQueryConversor.java

License:Open Source License

public static Bson convert(DocumentCondition condition) {
    Document document = condition.getDocument();
    Object value = document.getValue().get();
    switch (condition.getCondition()) {
    case EQUALS://from  w w  w .  jav a 2  s. co  m
        return Filters.eq(document.getName(), value);
    case GREATER_THAN:
        return Filters.gt(document.getName(), value);
    case GREATER_EQUALS_THAN:
        return Filters.gte(document.getName(), value);
    case LESSER_THAN:
        return Filters.lt(document.getName(), value);
    case LESSER_EQUALS_THAN:
        return Filters.lte(document.getName(), value);
    case IN:
        return Filters.in(document.getName(), value);
    case LIKE:
        return Filters.regex(document.getName(), value.toString());
    case AND:
        List<Document> andList = condition.getDocument().getValue().get(new TypeReference<List<Document>>() {
        });
        return Filters.and(andList.stream().map(d -> new BasicDBObject(d.getName(), d.getValue().get()))
                .toArray(BasicDBObject[]::new));
    case OR:
        List<Document> orList = condition.getDocument().getValue().get(new TypeReference<List<Document>>() {
        });
        return Filters.or(orList.stream().map(d -> new BasicDBObject(d.getName(), d.getValue().get()))
                .toArray(BasicDBObject[]::new));
    default:
        throw new UnsupportedOperationException(
                "The condition " + condition.getCondition() + " is not supported from mongoDB diana driver");
    }
}