@Override public Memory unconvert(Environment env, TraceInfo trace, BasicDBObject arg) throws Throwable { if (arg == null) return Memory.NULL; ArrayMemory result = ArrayMemory.createHashed(arg.size()); for (Entry<String, Object> entry : arg.entrySet()) { if (entry.getValue() instanceof BasicDBObject) { result.put(entry.getKey(), unconvert(env, trace, (BasicDBObject) entry.getValue())); } else { result.put(entry.getKey(), Memory.wrap(env, entry.getValue())); } } return null; }
private Object negate(BasicDBObject arg) { BasicDBList list = new BasicDBList(); for (Map.Entry<String, Object> entry : arg.entrySet()) { if (entry.getKey().equals("$or")) { list.add(asDBObject("$nor", entry.getValue())); } else if (entry.getKey().equals("$and")) { BasicDBList list2 = new BasicDBList(); for (Object o : ((BasicDBList) entry.getValue())) { list2.add(negate((BasicDBObject) o)); } list.add(asDBObject("$or", list2)); } else if (entry.getValue() instanceof Pattern) { list.add(asDBObject(entry.getKey(), asDBObject("$not", entry.getValue()))); } else if (entry.getValue() instanceof BasicDBObject) { list.add(negate(entry.getKey(), (BasicDBObject) entry.getValue())); } else { list.add(asDBObject(entry.getKey(), asDBObject("$ne", entry.getValue()))); } } return list.size() == 1 ? list.get(0) : asDBObject("$or", list); }
private Object negate(String key, BasicDBObject value) { if (value.size() == 1) { return asDBObject(key, asDBObject("$not", value)); } else { BasicDBList list2 = new BasicDBList(); for (Map.Entry<String, Object> entry2 : value.entrySet()) { list2.add(asDBObject(key, asDBObject("$not", asDBObject(entry2.getKey(), entry2.getValue())))); } return asDBObject("$or", list2); } }
@NotNull private Map<Revision, Object> convertMongoMap(@NotNull BasicDBObject obj) { Map<Revision, Object> map = new TreeMap<Revision, Object>(StableRevisionComparator.REVERSE); for (Map.Entry<String, Object> entry : obj.entrySet()) { map.put(Revision.fromString(entry.getKey()), entry.getValue()); } return map; }
@NotNull private Map<Revision, Object> convertMongoMap(@NotNull BasicDBObject obj) { Map<Revision, Object> map = new TreeMap<Revision, Object>(StableRevisionComparator.REVERSE); for (Map.Entry<String, Object> entry : obj.entrySet()) { map.put(Revision.fromString(entry.getKey()), entry.getValue()); } return map; }
/** * Removes the properties defined with @IgnorePropertyValue annotation. * * @param dataObject Object to filter. * @param propertiesToIgnore Properties to filter * @return Data object without the properties to be ignored. */ private static BasicDBObject filterProperties(BasicDBObject dataObject, Set<String> propertiesToIgnore) { BasicDBObject filteredDataObject = new BasicDBObject(); for (Map.Entry<String, Object> entry : dataObject.entrySet()) { if (propertiesToIgnore == null || !propertiesToIgnore.contains(entry.getKey())) { filteredDataObject.put(entry.getKey(), entry.getValue()); } } return filteredDataObject; }
/** * Count in queue, running true or false * * @param query query where top level fields do not contain operators. Lower level fields can however. eg: valid {a: {$gt: 1}, "b.c": 3}, * invalid {$and: [{...}, {...}]}. Should not be null * @return count */ public long count(final BasicDBObject query) { Objects.requireNonNull(query); final BasicDBObject completeQuery = new BasicDBObject(); for (final Entry<String, Object> field : query.entrySet()) { completeQuery.append("payload." + field.getKey(), field.getValue()); } return collection.count(completeQuery); }
/** * Count in queue * * @param query query where top level fields do not contain operators. Lower level fields can however. eg: valid {a: {$gt: 1}, "b.c": 3}, * invalid {$and: [{...}, {...}]}. Should not be null * @param running count running messages or not running * @return count */ public long count(final BasicDBObject query, final boolean running) { Objects.requireNonNull(query); final BasicDBObject completeQuery = new BasicDBObject("running", running); for (final Entry<String, Object> field : query.entrySet()) { completeQuery.append("payload." + field.getKey(), field.getValue()); } return collection.count(completeQuery); }
protected void setEmbedObjectValue(BasicDBObject embedObject){ for (Entry<String, Object> entry : entity.getNode().entrySet()) { embedObject.put(entry.getKey(), entry.getValue()); } }
protected void setEmbedObjectValue(BasicDBObject embedObject){ for (Entry<String, Object> entry : entity.getNode().entrySet()) { embedObject.put(entry.getKey(), entry.getValue()); } }
static JsonObject mapBasicDBObjectToJsonObject(final BasicDBObject basicDBObject, final Function<String, String> jsonKeyNameReviser) { return basicDBObject.entrySet() .stream() .map(e -> JsonFactory.newField(reviseKeyName(e.getKey(), jsonKeyNameReviser), mapJavaObjectToJsonValue(e.getValue(), jsonKeyNameReviser))) .collect(JsonCollectors.fieldsToObject()); }
protected void setEmbedObjectValue(BasicDBObject embedObject) { embedObject.clear(); for (Entry<String, Object> entry : entity.getNode().entrySet()) { embedObject.put(entry.getKey(), entry.getValue()); } }
protected void setEmbedObjectValue(BasicDBObject embedObject){ embedObject.clear(); for (Entry<String, Object> entry : entity.getNode().entrySet()) { embedObject.put(entry.getKey(), entry.getValue()); } } //
protected boolean indexFieldsMatch(Index index, DBObject existingIndex) { BasicDBObject keys = (BasicDBObject) existingIndex.get("key"); if (keys != null) { List<SortKey> fields = index.getFields(); if (keys.size() == fields.size()) { Iterator<SortKey> sortKeyItr = fields.iterator(); for (Map.Entry<String, Object> dbKeyEntry : keys.entrySet()) { SortKey sortKey = sortKeyItr.next(); if (!compareSortKeys(sortKey, dbKeyEntry.getKey(), dbKeyEntry.getValue())) { return false; } } return true; } } return false; }
protected boolean indexFieldsMatch(Index index, DBObject existingIndex) { BasicDBObject keys = (BasicDBObject) existingIndex.get("key"); if (keys != null) { List<IndexSortKey> fields = index.getFields(); if (keys.size() == fields.size()) { Iterator<IndexSortKey> sortKeyItr = fields.iterator(); for (Map.Entry<String, Object> dbKeyEntry : keys.entrySet()) { IndexSortKey sortKey = sortKeyItr.next(); if (!compareSortKeys(sortKey, dbKeyEntry.getKey(), dbKeyEntry.getValue())) { return false; } } return true; } } return false; }
private Object negate(BasicDBObject arg) { BasicDBList list = new BasicDBList(); for (Map.Entry<String, Object> entry : arg.entrySet()) { if (entry.getKey().equals("$or")) { list.add(asDBObject("$nor", entry.getValue())); } else if (entry.getKey().equals("$and")) { BasicDBList list2 = new BasicDBList(); for (Object o : ((BasicDBList)entry.getValue())) { list2.add(negate((BasicDBObject)o)); } list.add(asDBObject("$or", list2)); } else if (entry.getValue() instanceof Pattern) { list.add(asDBObject(entry.getKey(), asDBObject("$not", entry.getValue()))); } else if (entry.getValue() instanceof BasicDBObject) { list.add(negate(entry.getKey(), (BasicDBObject) entry.getValue())); } else { list.add(asDBObject(entry.getKey(), asDBObject("$ne", entry.getValue()))); } } return list.size() == 1 ? list.get(0) : asDBObject("$or", list); }
protected void setEmbedObjectValue(BasicDBObject embedObject){ for (Entry<String, Object> entry : entity.getNode().entrySet()) { embedObject.put(entry.getKey(), entry.getValue()); } }
private Object negate(String key, BasicDBObject value) { if (value.size() == 1) { return asDBObject(key, asDBObject("$not", value)); } else { BasicDBList list2 = new BasicDBList(); for (Map.Entry<String, Object> entry2 : value.entrySet()) { list2.add(asDBObject(key, asDBObject("$not", asDBObject(entry2.getKey(), entry2.getValue())))); } return asDBObject("$or", list2); } }
protected void setEmbedObjectValue(BasicDBObject embedObject){ embedObject.clear(); for (Entry<String, Object> entry : entity.getNode().entrySet()) { embedObject.put(entry.getKey(), entry.getValue()); } } //
/* pp */ Object fromMongoMap(final String docf, final Schema fieldSchema, final BSONDecorator easybson, final Field f) throws GoraException { BasicDBObject map = easybson.getDBObject(docf); Map<Utf8, Object> rmap = new HashMap<>(); if (map == null) { return new DirtyMapWrapper(rmap); } for (Entry<String, Object> e : map.entrySet()) { String mapKey = e.getKey(); String decodedMapKey = decodeFieldKey(mapKey); DocumentFieldType storeType = mapping.getDocumentFieldType(docf); Object o = fromDBObject(fieldSchema.getValueType(), storeType, f, mapKey, new BSONDecorator(map)); rmap.put(new Utf8(decodedMapKey), o); } return new DirtyMapWrapper<>(rmap); }