List of usage examples for com.mongodb.client.model Filters eq
public static <TItem> Bson eq(final String fieldName, @Nullable final TItem value)
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"); } }