本文整理汇总了Java中com.allanbank.mongodb.bson.Element类的典型用法代码示例。如果您正苦于以下问题:Java Element类的具体用法?Java Element怎么用?Java Element使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Element类属于com.allanbank.mongodb.bson包,在下文中一共展示了Element类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testCompareTo
import com.allanbank.mongodb.bson.Element; //导入依赖的package包/类
/**
* Test method for {@link MongoTimestampElement#compareTo(Element)}.
*/
@Test
public void testCompareTo() {
final MongoTimestampElement a1 = new MongoTimestampElement("a", 1);
final MongoTimestampElement a11 = new MongoTimestampElement("a", 11);
final MongoTimestampElement b1 = new MongoTimestampElement("b", 1);
final TimestampElement i = new TimestampElement("a", 2);
final Element other = new MaxKeyElement("a");
assertEquals(0, a1.compareTo(a1));
assertTrue(a1.compareTo(a11) < 0);
assertTrue(a11.compareTo(a1) > 0);
assertTrue(a1.compareTo(b1) < 0);
assertTrue(b1.compareTo(a1) > 0);
assertTrue(a1.compareTo(i) < 0);
assertTrue(i.compareTo(a1) > 0);
assertTrue(a1.compareTo(other) < 0);
assertTrue(other.compareTo(a1) > 0);
}
示例2: failedDurability
import com.allanbank.mongodb.bson.Element; //导入依赖的package包/类
/**
* Checks for a failure in the durability requirements (e.g., did not
* replicate to sufficient servers within the timeout) and updates the
* failed operations map if any are found.
*
* @param bundle
* The bundle for the reply.
* @param reply
* The reply from the server.
* @return True if there are failed writes and we should not send any
* additional requests.
*/
private boolean failedDurability(final Bundle bundle, final Reply reply) {
final List<Document> results = reply.getResults();
if (results.size() == 1) {
final Document doc = results.get(0);
final DocumentElement error = doc.get(DocumentElement.class,
"writeConcernError");
if (error != null) {
final int code = toInt(error.get(NumericElement.class, "code"));
final String errmsg = asString(error.get(Element.class,
"errmsg"));
final MongoDbException exception = asError(reply, 0, code,
true, errmsg, null);
for (final WriteOperation op : bundle.getWrites()) {
myFailedOperations.put(op, exception);
}
}
}
return (myWrite.getMode() == BatchedWriteMode.SERIALIZE_AND_STOP)
&& !myFailedOperations.isEmpty();
}
示例3: testNearDocumentAssignableDouble
import com.allanbank.mongodb.bson.Element; //导入依赖的package包/类
/**
* Test method for {@link ConditionBuilder#near(DocumentAssignable,double)}.
*/
@Test
public void testNearDocumentAssignableDouble() {
final ConditionBuilder b = QueryBuilder.where("foo");
final double v1 = myRandom.nextDouble();
final double v2 = myRandom.nextDouble();
b.equals(false); // Make sure equals is removed.
b.near(GeoJson.point(GeoJson.p(v1, v2)), 42.1);
final Element e = b.buildFieldCondition();
assertThat(e, instanceOf(DocumentElement.class));
final DocumentBuilder db = BuilderFactory.start();
db.push(GeospatialOperator.NEAR.getToken())
.add(GeospatialOperator.GEOMETRY,
GeoJson.point(GeoJson.p(v1, v2)))
.add(GeospatialOperator.MAX_DISTANCE_MODIFIER.getToken(), 42.1);
assertEquals(new DocumentElement("foo", db.build()), e);
}
示例4: convert
import com.allanbank.mongodb.bson.Element; //导入依赖的package包/类
/**
* {@inheritDoc}
* <p>
* Overridden to return the reply document.
* </p>
*
* @see AbstractReplyCallback#convert(Reply)
*/
@Override
protected MongoIterator<Element> convert(final Reply reply)
throws MongoDbException {
final List<Document> results = reply.getResults();
if (results.size() == 1) {
List<Element> entries = Collections.emptyList();
final Document document = results.get(0);
final ArrayElement array = document.findFirst(ArrayElement.class,
myName);
if (array != null) {
entries = array.getEntries();
}
return new SimpleMongoIteratorImpl<Element>(entries);
}
return null;
}
示例5: testEqualsDocument
import com.allanbank.mongodb.bson.Element; //导入依赖的package包/类
/**
* Test method for {@link ConditionBuilder#equals(DocumentAssignable)}.
*/
@Test
public void testEqualsDocument() {
final ConditionBuilder b = QueryBuilder.where("foo");
final Document value = BuilderFactory
.start()
.addInteger(String.valueOf(myRandom.nextInt()),
myRandom.nextInt()).build();
b.greaterThan(23); // Make sure non-equals is removed.
b.equals(value);
final Element e = b.buildFieldCondition();
assertThat(e, instanceOf(DocumentElement.class));
assertEquals(e, new DocumentElement("foo", value));
}
示例6: testNearIntIntInt
import com.allanbank.mongodb.bson.Element; //导入依赖的package包/类
/**
* Test method for {@link ConditionBuilder#near(int, int, int)}.
*/
@Test
public void testNearIntIntInt() {
final ConditionBuilder b = QueryBuilder.where("foo");
final int v1 = myRandom.nextInt();
final int v2 = myRandom.nextInt();
final int v3 = myRandom.nextInt();
b.equals(false); // Make sure equals is removed.
b.near(v1, v2, v3);
final Element e = b.buildFieldCondition();
assertThat(e, instanceOf(DocumentElement.class));
final DocumentBuilder db = BuilderFactory.start();
db.pushArray(GeospatialOperator.NEAR.getToken()).addInteger(v1)
.addInteger(v2);
db.addInteger(GeospatialOperator.MAX_DISTANCE_MODIFIER.getToken(), v3);
assertEquals(new DocumentElement("foo", db.build()), e);
}
示例7: testNearSphereIntIntInt
import com.allanbank.mongodb.bson.Element; //导入依赖的package包/类
/**
* Test method for {@link ConditionBuilder#nearSphere(int, int, int)}.
*/
@Test
public void testNearSphereIntIntInt() {
final ConditionBuilder b = QueryBuilder.where("foo");
final int v1 = myRandom.nextInt();
final int v2 = myRandom.nextInt();
final int v3 = myRandom.nextInt();
b.equals(false); // Make sure equals is removed.
b.nearSphere(v1, v2, v3);
final Element e = b.buildFieldCondition();
assertThat(e, instanceOf(DocumentElement.class));
final DocumentBuilder db = BuilderFactory.start();
db.pushArray(GeospatialOperator.NEAR_SPHERE.getToken()).addInteger(v1)
.addInteger(v2);
db.addInteger(GeospatialOperator.MAX_DISTANCE_MODIFIER.getToken(), v3);
assertEquals(new DocumentElement("foo", db.build()), e);
}
示例8: doVerifyFileMd5
import com.allanbank.mongodb.bson.Element; //导入依赖的package包/类
/**
* Verifies the MD5 result for the filemd5 command.
*
* @param faults
* The faults for to update if the verify fails.
* @param fileDoc
* The document representing the file.
* @param cmdResult
* The document returned from the 'filemd5' command.
* @return True if the file was successful.
*/
protected boolean doVerifyFileMd5(final Map<Object, List<String>> faults,
final Document fileDoc, final Document cmdResult) {
boolean ok = false;
final Element idElement = fileDoc.get(ID_FIELD);
final Element md5 = fileDoc.get(MD5_FIELD);
final Element commandMd5 = cmdResult.findFirst(MD5_FIELD);
ok = (md5 != null) && md5.equals(commandMd5);
if (!ok) {
doAddFault(faults, idElement,
"MD5 sums do not match. File document contains '" + md5
+ "' and the filemd5 command produced '"
+ commandMd5 + "'.");
}
return ok;
}
示例9: testEqualsLegacyUUID
import com.allanbank.mongodb.bson.Element; //导入依赖的package包/类
/**
* Test method for {@link ConditionBuilder#equalsLegacy(UUID)}.
*/
@Test
public void testEqualsLegacyUUID() {
final ConditionBuilder b = QueryBuilder.where("foo");
final UUID value = UUID.randomUUID();
b.greaterThan(23); // Make sure non-equals is removed.
b.equalsLegacy(value);
final Element e = b.buildFieldCondition();
assertThat(e, instanceOf(UuidElement.class));
assertEquals(e, new UuidElement("foo",
UuidElement.LEGACY_UUID_SUBTTYPE, value));
}
示例10: readDBPointerElement
import com.allanbank.mongodb.bson.Element; //导入依赖的package包/类
/**
* Reads a {@code DBPointerElement} from the stream.
*
* @return The {@code DBPointerElement}.
* @throws IOException
* On a failure to read the contents of the
* {@code DBPointerElement}.
* @deprecated Per the BSON specification.
*/
@Deprecated
protected Element readDBPointerElement() throws IOException {
final long start = getBytesRead() - 1; // Token already read.
final String name = readCString();
final String dbDotCollection = readString();
final int timestamp = EndianUtils.swap(readInt());
final long machineId = EndianUtils.swap(readLong());
final long size = getBytesRead() - start;
String db = dbDotCollection;
String collection = "";
final int firstDot = dbDotCollection.indexOf('.');
if (0 <= firstDot) {
db = dbDotCollection.substring(0, firstDot);
collection = dbDotCollection.substring(firstDot + 1);
}
return new com.allanbank.mongodb.bson.element.DBPointerElement(name,
db, collection, new ObjectId(timestamp, machineId), size);
}
示例11: compareTo
import com.allanbank.mongodb.bson.Element; //导入依赖的package包/类
/**
* {@inheritDoc}
* <p>
* Overridden to compare the values if the base class comparison is equals.
* False is less than true.
* </p>
*/
@Override
public int compareTo(final Element otherElement) {
int result = super.compareTo(otherElement);
if (result == 0) {
final BooleanElement other = (BooleanElement) otherElement;
final int value = myValue ? 1 : 0;
final int otherValue = other.myValue ? 1 : 0;
result = value - otherValue;
}
return result;
}
示例12: testCompareTo
import com.allanbank.mongodb.bson.Element; //导入依赖的package包/类
/**
* Test method for {@link ArrayElement#compareTo(Element)}.
*/
@Test
public void testCompareTo() {
final ArrayElement a1 = new ArrayElement("a", new StringElement("a",
"1"));
final ArrayElement a11 = new ArrayElement("a", new StringElement("a",
"1"), new StringElement("a", "1"));
final ArrayElement a2 = new ArrayElement("a", new StringElement("a",
"2"));
final ArrayElement b1 = new ArrayElement("b", new StringElement("a",
"1"));
final Element other = new MaxKeyElement("a");
assertEquals(0, a1.compareTo(a1));
assertTrue(a1.compareTo(a11) < 0);
assertTrue(a11.compareTo(a1) > 0);
assertTrue(a1.compareTo(a2) < 0);
assertTrue(a2.compareTo(a1) > 0);
assertTrue(a1.compareTo(b1) < 0);
assertTrue(b1.compareTo(a1) > 0);
assertTrue(a1.compareTo(other) < 0);
assertTrue(other.compareTo(a1) > 0);
}
示例13: compareTo
import com.allanbank.mongodb.bson.Element; //导入依赖的package包/类
/**
* {@inheritDoc}
* <p>
* Overridden to compare the values if the base class comparison is equals.
* </p>
* <p>
* Note that for MongoDB integers, longs, and doubles will return equal
* based on the type. Care is taken here to make sure that double, integer,
* and long values return the same value regardless of comparison order by
* using the lowest resolution representation of the value.
* </p>
*/
@Override
public int compareTo(final Element otherElement) {
int result = super.compareTo(otherElement);
if (result == 0) {
// Might be a IntegerElement, LongElement, or DoubleElement.
// Compare as integer or long.
final NumericElement other = (NumericElement) otherElement;
final ElementType otherType = other.getType();
if (otherType == ElementType.DOUBLE) {
result = Double.compare(getDoubleValue(),
other.getDoubleValue());
}
else {
result = compare(getLongValue(), other.getLongValue());
}
}
return result;
}
示例14: testWithinDocumentAssignable
import com.allanbank.mongodb.bson.Element; //导入依赖的package包/类
/**
* Test method for {@link ConditionBuilder#within(DocumentAssignable)}.
*/
@Test
public void testWithinDocumentAssignable() {
final ConditionBuilder b = QueryBuilder.where("foo");
final double x1 = myRandom.nextInt(1024);
final double y1 = myRandom.nextInt(1024);
final double x2 = x1 + myRandom.nextInt(1024);
final double y2 = y1 + myRandom.nextInt(1024);
b.equals(false); // Make sure equals is removed.
b.within(GeoJson.polygon(Arrays.asList(GeoJson.p(x1, y1),
GeoJson.p(x1, y2), GeoJson.p(x2, y2), GeoJson.p(x2, y1),
GeoJson.p(x1, y1))));
final Element e = b.buildFieldCondition();
assertThat(e, instanceOf(DocumentElement.class));
final DocumentBuilder db = BuilderFactory.start();
final DocumentBuilder wb = db
.push(GeospatialOperator.WITHIN.getToken());
wb.add(GeospatialOperator.GEOMETRY, GeoJson.polygon(Arrays.asList(
GeoJson.p(x1, y1), GeoJson.p(x1, y2), GeoJson.p(x2, y2),
GeoJson.p(x2, y1), GeoJson.p(x1, y1))));
assertEquals(new DocumentElement("foo", db.build()), e);
}
示例15: getOperationName
import com.allanbank.mongodb.bson.Element; //导入依赖的package包/类
/**
* {@inheritDoc}
* <p>
* Overridden to return the command name.
* </p>
*/
@Override
public String getOperationName() {
// Return the value for the first element in the document.
final Iterator<Element> iter = myCommand.iterator();
if (iter.hasNext()) {
return iter.next().getName();
}
// Not expected. Command documents should have atleast one element. Just
// return a generic name here.
return "command";
}