List of usage examples for com.mongodb BasicDBList BasicDBList
BasicDBList
From source file:com.jagornet.dhcp.db.MongoLeaseManager.java
License:Open Source License
@Override public List<IaPrefix> findUnusedIaPrefixes(final InetAddress startAddr, final InetAddress endAddr) { long offerExpireMillis = DhcpServerPolicies.globalPolicyAsLong(Property.BINDING_MANAGER_OFFER_EXPIRATION); final Date offerExpiration = new Date(new Date().getTime() - offerExpireMillis); BasicDBList ipAdvBetw = new BasicDBList(); ipAdvBetw.add(new BasicDBObject("state", IaPrefix.ADVERTISED)); ipAdvBetw.add(new BasicDBObject("startTime", new BasicDBObject("$lte", offerExpiration))); ipAdvBetw.add(new BasicDBObject("ipAddress", new BasicDBObject("$gte", startAddr.getAddress()))); ipAdvBetw.add(new BasicDBObject("ipAddress", new BasicDBObject("$lte", endAddr.getAddress()))); BasicDBList ipExpRel = new BasicDBList(); ipExpRel.add(IaPrefix.EXPIRED);/* w w w. j ava2s . com*/ ipExpRel.add(IaPrefix.RELEASED); BasicDBList ipExpRelBetw = new BasicDBList(); ipExpRelBetw.add(new BasicDBObject("state", new BasicDBObject("$in", ipExpRel))); ipExpRelBetw.add(new BasicDBObject("ipAddress", new BasicDBObject("$gte", startAddr.getAddress()))); ipExpRelBetw.add(new BasicDBObject("ipAddress", new BasicDBObject("$lte", endAddr.getAddress()))); BasicDBList ipBetw = new BasicDBList(); ipBetw.add(new BasicDBObject("$and", ipAdvBetw)); ipBetw.add(new BasicDBObject("$and", ipExpRelBetw)); DBObject query = new BasicDBObject("$or", ipBetw); DBCursor cursor = dhcpLeases.find(query).sort(new BasicDBObject("state", 1)) .sort(new BasicDBObject("validEndTime", 1)).sort(new BasicDBObject("ipAddress", 1)); try { if (cursor.count() > 0) { List<DhcpLease> leases = new ArrayList<DhcpLease>(); while (cursor.hasNext()) { leases.add(convertDBObject(cursor.next())); } return toIaPrefixes(leases); } } finally { cursor.close(); } return null; }
From source file:com.jagornet.dhcp.db.MongoLeaseManager.java
License:Open Source License
@Override public void reconcileIaAddresses(List<Range> ranges) { BasicDBList ipBetwList = new BasicDBList(); for (Range range : ranges) { BasicDBList ipBetw = new BasicDBList(); ipBetw.add(/*from www . j a v a 2 s . c om*/ new BasicDBObject("ipAddress", new BasicDBObject("$lt", range.getStartAddress().getAddress()))); ipBetw.add( new BasicDBObject("ipAddress", new BasicDBObject("$gt", range.getEndAddress().getAddress()))); ipBetwList.add(new BasicDBObject("$or", ipBetw)); } dhcpLeases.remove(new BasicDBObject("$and", ipBetwList)); }
From source file:com.jhkt.playgroundArena.db.nosql.mongodb.beans.AbstractDocument.java
License:Apache License
public final BasicDBObject resolveToBasicDBObject() { BasicDBObject bDBObject = new BasicDBObject(); try {//from ww w . ja v a2 s . c om Class<? extends AbstractDocument> currClass = getClass(); while (currClass != null) { for (Method method : currClass.getMethods()) { IDocumentKeyValue dkv = method.getAnnotation(IDocumentKeyValue.class); String mName = method.getName(); if (dkv != null && mName.startsWith(JPAConstants.GETTER_PREFIX)) { try { Object returnValue = method.invoke(this, JPAConstants.EMPTY_OBJECT_ARGUMENT_LIST); char[] propertyChars = mName.substring(3).toCharArray(); String property = String.valueOf(propertyChars[0]).toLowerCase() + String.valueOf(propertyChars, 1, propertyChars.length - 1); if (returnValue == null) { continue; } if (returnValue instanceof AbstractDocument) { Object subReturnValue = RESOLVE_TO_BASIC_DB_OBJECT_METHOD.invoke(returnValue, JPAConstants.EMPTY_OBJECT_ARGUMENT_LIST); bDBObject.put(property, subReturnValue); } else if (returnValue instanceof Enum) { Enum<?> enumClass = Enum.class.cast(returnValue); BasicDBObject enumObject = new BasicDBObject(); enumObject.put(JPAConstants.CONVERTER_CLASS.CLASS.name(), enumClass.getClass().getName()); enumObject.put(JPAConstants.CONVERTER_CLASS.CONTENT.name(), enumClass.name()); bDBObject.put(property, enumObject); } else if (returnValue instanceof Collection) { Collection<?> collectionContent = (Collection<?>) returnValue; BasicDBObject collectionObject = new BasicDBObject(); collectionObject.put(JPAConstants.CONVERTER_CLASS.CLASS.name(), collectionContent.getClass().getName()); BasicDBList bDBList = new BasicDBList(); if (collectionContent.iterator().next() instanceof AbstractDocument) { for (Object content : collectionContent) { if (content instanceof AbstractDocument) { Object subReturnValue = RESOLVE_TO_BASIC_DB_OBJECT_METHOD .invoke(returnValue, JPAConstants.EMPTY_OBJECT_ARGUMENT_LIST); bDBList.add(subReturnValue); } } } else { bDBList.addAll(collectionContent); } collectionObject.put(JPAConstants.CONVERTER_CLASS.CONTENT.name(), bDBList); bDBObject.put(property, collectionObject); } else if (returnValue instanceof Map) { Map<?, ?> mapContent = (Map<?, ?>) returnValue; BasicDBObject mapObject = new BasicDBObject(); mapObject.put(JPAConstants.CONVERTER_CLASS.CLASS.name(), mapContent.getClass().getName()); Set<?> keys = mapContent.keySet(); if (keys.iterator().next() instanceof AbstractDocument) { Map<Object, Object> convertedMap = new HashMap<Object, Object>(); for (Object key : keys) { Object value = mapContent.get(key); Object subReturnValue = RESOLVE_TO_BASIC_DB_OBJECT_METHOD.invoke(value, JPAConstants.EMPTY_OBJECT_ARGUMENT_LIST); convertedMap.put(key, subReturnValue); } mapContent = convertedMap; } mapObject.put(JPAConstants.CONVERTER_CLASS.CONTENT.name(), mapContent); bDBObject.put(property, mapObject); } else { bDBObject.put(property, returnValue); } } catch (Exception e) { } } } currClass = currClass.getSuperclass().asSubclass(AbstractDocument.class); } } catch (ClassCastException castException) { } bDBObject.put(JPAConstants.CONVERTER_CLASS.CLASS.name(), getClass().getName()); _log.info("BdBObject " + bDBObject); return bDBObject; }
From source file:com.jive.myco.seyren.mongo.MongoMapper.java
License:Apache License
private BasicDBList getBasicDBList(DBObject dbo, String key) { BasicDBList result = (BasicDBList) dbo.get(key); if (result == null) { result = new BasicDBList(); }// w ww. j a v a 2 s .co m return result; }
From source file:com.joyfulmongo.db.javadriver.JFDBUtil.java
License:Apache License
public static DBObject toDBObject(JSONArray a) { BasicDBList result = new BasicDBList(); try {// w ww.ja v a 2 s. c om for (int i = 0; i < a.length(); ++i) { Object o = a.get(i); if (o instanceof JSONObject) { result.add(toDBObject((JSONObject) o)); } else if (o instanceof JSONArray) { result.add(toDBObject((JSONArray) o)); } else { result.add(o); } } return result; } catch (JSONException je) { throw new IllegalArgumentException("Failed to pass the income JSONArray to DBObject" + a, je); } }
From source file:com.linuxbox.enkive.message.search.mongodb.MongoMessageSearchService.java
License:Open Source License
protected DBObject buildQueryObject(Map<String, String> fields) throws MessageSearchException, EmptySearchResultsException { BasicDBList conjunctionList = new BasicDBList(); for (MongoMessageQueryBuilder queryBuilder : queryBuilders) { DBObject query = queryBuilder.buildQueryPortion(fields); if (null != query) { conjunctionList.add(query);// w ww.j av a2 s . com } } DBObject result; if (conjunctionList.isEmpty()) { throw new EmptySearchResultsException("No understandable search terms specified."); } else if (conjunctionList.size() == 1) { result = (DBObject) conjunctionList.get(0); } else { result = new BasicDBObject(); result.put("$and", conjunctionList); } if (LOGGER.isTraceEnabled()) { LOGGER.trace("MongoDB message search query is: " + result); } return result; }
From source file:com.linuxbox.enkive.permissions.message.MongoMessagePermissionsService.java
License:Open Source License
@Override public boolean canReadAttachment(Collection<String> addresses, String attachmentId) { BasicDBObject query = new BasicDBObject(); // Needs to match MAIL_FROM OR FROM BasicDBList addressQuery = new BasicDBList(); for (String address : addresses) { addressQuery.add(new BasicDBObject(MAIL_FROM, address)); addressQuery.add(new BasicDBObject(FROM, address)); addressQuery.add(new BasicDBObject(RCPT_TO, address)); addressQuery.add(new BasicDBObject(TO, address)); addressQuery.add(new BasicDBObject(CC, address)); }//from www. j a va 2 s. c o m query.put("$or", addressQuery); query.put(ATTACHMENT_ID_LIST, attachmentId); DBCursor results = messageCollection.find(query); if (results.size() > 0) return true; else return false; }
From source file:com.linuxbox.enkive.workspace.mongo.MongoSearchResultBuilder.java
License:Open Source License
@Override public Collection<SearchResult> getSearchResults(Collection<String> searchResultUUIDs) { Collection<SearchResult> results = new HashSet<SearchResult>(); BasicDBObject query = new BasicDBObject(); BasicDBList idList = new BasicDBList(); for (String searchResultUUID : searchResultUUIDs) idList.add(ObjectId.massageToObjectId(searchResultUUID)); query.put("$in", idList); DBCursor searchResult = searchResultsColl.find(new BasicDBObject(UUID, query)); while (searchResult.hasNext()) { MongoSearchResult result = new MongoSearchResult(searchResultsColl, queryBuilder); DBObject searchResultObject = searchResult.next(); result.setId(((ObjectId) searchResultObject.get(UUID)).toString()); result.setTimestamp((Date) searchResultObject.get(EXECUTIONTIMESTAMP)); result.setExecutedBy((String) searchResultObject.get(EXECUTEDBY)); BasicDBList searchResults = (BasicDBList) searchResultObject.get(SEARCHRESULTS); Set<String> searchResultMessageUUIDs = new HashSet<String>(); Iterator<Object> searchResultsIterator = searchResults.iterator(); while (searchResultsIterator.hasNext()) searchResultMessageUUIDs.add((String) searchResultsIterator.next()); result.setMessageIds(searchResultMessageUUIDs); result.setStatus(SearchResult.Status.valueOf((String) searchResultObject.get(SEARCHSTATUS))); result.setSearchQueryId((String) searchResultObject.get(SEARCHQUERYID)); if (searchResultObject.get(SEARCHISSAVED) != null) result.setSaved((Boolean) searchResultObject.get(SEARCHISSAVED)); result.setSearchResultUtils(searchResultUtils); results.add(result);// w w w . java 2 s . co m } return results; }
From source file:com.linuxbox.enkive.workspace.mongo.MongoSearchResultUtils.java
License:Open Source License
protected LinkedHashSet<String> sortMessages(Set<String> messageIds, String sortField, int sortDirection) { LinkedHashSet<String> sortedIds = new LinkedHashSet<String>(); // Only want to return the ids BasicDBObject keys = new BasicDBObject(); keys.put("_id", 1); keys.put(sortField, 1);//from ww w .j a v a 2 s . co m BasicDBObject query = new BasicDBObject(); // Build object with IDs BasicDBList idList = new BasicDBList(); idList.addAll(messageIds); BasicDBObject idQuery = new BasicDBObject(); idQuery.put("$in", idList); query.put("_id", idQuery); // Add sort query DBCursor results = messageColl.find(query, keys); BasicDBObject orderBy = new BasicDBObject(); orderBy.put(sortField, sortDirection); results = results.sort(orderBy); for (DBObject result : results.toArray()) sortedIds.add((String) result.get("_id")); return sortedIds; }
From source file:com.linuxbox.enkive.workspace.mongo.MongoSearchResultUtils.java
License:Open Source License
public List<String> sortSearchResults(Collection<String> searchResultIds, String sortField, int sortDirection) { ArrayList<String> sortedIds = new ArrayList<String>(); // Only want to return the ids BasicDBObject keys = new BasicDBObject(); keys.put("_id", 1); keys.put(sortField, 1);//from ww w. j a v a 2 s . co m BasicDBObject query = new BasicDBObject(); // Build object with IDs BasicDBList idList = new BasicDBList(); for (String Id : searchResultIds) idList.add(ObjectId.massageToObjectId(Id)); BasicDBObject idQuery = new BasicDBObject(); idQuery.put("$in", idList); query.put("_id", idQuery); // Add sort query DBCursor results = searchResultColl.find(query, keys); BasicDBObject orderBy = new BasicDBObject(); orderBy.put(sortField, sortDirection); results = results.sort(orderBy); for (DBObject result : results.toArray()) sortedIds.add(((ObjectId) result.get("_id")).toString()); return sortedIds; }