@Override public long getTime() { return ts.getTime() * 1000L; }
@Override public int hashCode() { int prime = 31; int result = 1; result = prime * result + inc; result = prime * result + getTime(); return result; }
@Override public void serialize(final Object obj, final StringBuilder buf) { BSONTimestamp t = (BSONTimestamp) obj; BasicDBObject temp = new BasicDBObject(); temp.put("$ts", Integer.valueOf(t.getTime())); temp.put("$inc", Integer.valueOf(t.getInc())); serializer.serialize(temp, buf); }
@Override public void serialize(final Object obj, final StringBuilder buf) { BSONTimestamp t = (BSONTimestamp) obj; BasicDBObject temp = new BasicDBObject(); temp.put("t", Integer.valueOf(t.getTime())); temp.put("i", Integer.valueOf(t.getInc())); BasicDBObject timestampObj = new BasicDBObject(); timestampObj.put("$timestamp", temp); serializer.serialize(timestampObj, buf); }
@Override public void encode(final BsonWriter writer, final BSONTimestamp value, final EncoderContext encoderContext) { writer.writeTimestamp(new BsonTimestamp(value.getTime(), value.getInc())); }
/** * Encodes a BSON timestamp * * @param name the field name * @param timestamp the timestamp to encode * @see org.bson.BsonType#TIMESTAMP */ protected void putTimestamp(final String name, final BSONTimestamp timestamp) { putName(name); bsonWriter.writeTimestamp(new BsonTimestamp(timestamp.getTime(), timestamp.getInc())); }
/** * @return Date of time and inc in milliseconds since epoch. */ public Date toDate() { return new Date(getTime() * 1000L + getInc() / 1000L); }
@Override public Object extractLastVal(DBObject o, String increasingField) { Object temp = o.get(increasingField); return ((BSONTimestamp) temp).getTime(); }
/** * @return Timestamp of time in milliseconds and inc in nanoseconds since epoch */ public Timestamp toTimestamp() { Timestamp ts = new Timestamp(getTime() * 1000L); ts.setNanos(getInc() * 1000); return ts; }
@Override protected void serialize(Object obj, Writer writer, OutputStream out) throws IOException { BSONTimestamp t = (BSONTimestamp) obj; BasicDBObject temp = new BasicDBObject(); temp.put("$ts", Integer.valueOf(t.getTime())); temp.put("$inc", Integer.valueOf(t.getInc())); JSON.serialize(serializer, temp, writer, out); } }
private void updateOptime(BasicDBObject doc) { BSONTimestamp ts = (BSONTimestamp) doc.get("ts"); int optime = ts.getTime(), inc = ts.getInc(); // only checkpoint every 60 seconds if (!_optimeSet || (optime - _optime) >= 60) { _optime = optime; _inc = inc; _optimeSet = true; log.info("optime: " + _optime); saveOptime(); } }
@Override public void serialize(final Object obj, final StringBuilder buf) { BSONTimestamp t = (BSONTimestamp) obj; BasicDBObject temp = new BasicDBObject(); temp.put("$ts", Integer.valueOf(t.getTime())); temp.put("$inc", Integer.valueOf(t.getInc())); serializer.serialize(temp, buf); }
@Override public void serialize(final Object obj, final StringBuilder buf) { BSONTimestamp t = (BSONTimestamp) obj; BasicDBObject temp = new BasicDBObject(); temp.put("t", Integer.valueOf(t.getTime())); temp.put("i", Integer.valueOf(t.getInc())); BasicDBObject timestampObj = new BasicDBObject(); timestampObj.put("$timestamp", temp); serializer.serialize(timestampObj, buf); }
protected void putTimestamp(String name, BSONTimestamp ts) { _put(TIMESTAMP, name); _buf.writeInt(ts.getInc()); _buf.writeInt(ts.getTime()); }
protected void putTimestamp(String name, BSONTimestamp ts) { this._put(17, name); this._buf.writeInt(ts.getInc()); this._buf.writeInt(ts.getTime()); }
/** * Tests {@link BsonTimestampSerializer} * @throws Exception if something goes wrong */ @Test public void timestamp() throws Exception { Timestamp ts = new Timestamp(1, 2); org.bson.types.BSONTimestamp rts = (org.bson.types.BSONTimestamp)generateAndParse(ts); assertEquals(ts.getTime(), rts.getTime()); assertEquals(ts.getInc(), rts.getInc()); }
/** * Tests if {@code Timestamp} objects can be deserialized * @throws Exception if something goes wrong */ @Test public void timestamp() throws Exception { org.bson.types.BSONTimestamp ts = new org.bson.types.BSONTimestamp(1, 2); TC.T obj = generateAndParse(ts, TC.T.class); assertEquals(ts.getTime(), obj.obj.getTime()); assertEquals(ts.getInc(), obj.obj.getInc()); }