use of com.eightkdata.mongowp.bson.BsonDocument.Entry in project torodb by torodb.
the class MemberConfig method fromDocument.
public static MemberConfig fromDocument(BsonDocument bson) throws TypesMismatchException, NoSuchKeyException, BadValueException {
int id = BsonReaderTool.getNumeric(bson, "_id").intValue();
HostAndPort host = BsonReaderTool.getHostAndPort(bson, "host");
Builder builder = new Builder(id, host).setVotes(BsonReaderTool.getInteger(bson, "votes", DEFAULT_VOTES)).setPriority(BsonReaderTool.getDouble(bson, "priority", DEFAULT_PRIORITY)).setArbiterOnly(BsonReaderTool.getBooleanOrNumeric(bson, "arbiterOnly", DEFAULT_ARBITER_ONLY)).setSlaveDelay(BsonReaderTool.getNumeric(bson, "slaveDelay", DEFAULT_SLAVE_DELAY).longValue()).setHidden(BsonReaderTool.getBooleanOrNumeric(bson, "hidden", DEFAULT_HIDDEN)).setBuildIndexes(BsonReaderTool.getBooleanOrNumeric(bson, "buildIndexes", DEFAULT_BUILD_INDEXES));
BsonDocument castedTags = BsonReaderTool.getDocument(bson, "tags");
for (Entry entry : castedTags) {
BsonValue value = entry.getValue();
if (value.isString()) {
throw new TypesMismatchException(entry.getKey(), "string", value.getType());
}
String castedValue = value.asString().getValue();
builder.putTag(entry.getKey(), castedValue);
}
return builder.build();
}
Aggregations