Package org.bson.io

Examples of org.bson.io.BasicOutputBuffer


    public BSONEncoder(){

    }

    public byte[] encode( BSONObject o ){
        BasicOutputBuffer buf = new BasicOutputBuffer();
        set( buf );
        putObject( o );
        done();
        return buf.toByteArray();
    }
View Full Code Here


    request.setFuture(future);
   
    // チャネルを通して送信
    try {
      // バッファを確保
      OutputBuffer outputBuffer = new BasicOutputBuffer();
      BSONEncoder encoder = new BSONEncoder();
      encoder.set(outputBuffer);
      // リクエスト内容を出力
      writeRequest(request, encoder, outputBuffer);
     
      // Safeリクエストの場合は、 getLastError クエリを付加
      Request getLastError = null;
      BSONObject query = request.getConsistency().getLastErrorQuery();
      if (query != null) {
        getLastError = new Query(
            request.getDatabaseName(),
            "$cmd",
            0,
            1,
            query,
            null
        );
        getLastError.setFuture(future);
        writeRequest(getLastError, encoder, outputBuffer);
      }
     
      // ChannelBuffer を生成
      ChannelBuffer channelBuffer = ChannelBuffers.buffer(outputBuffer.size());
      outputBuffer.pipe(new ChannelBufferOutputStream(channelBuffer));
     
      // ChannelFuture を取得し RequestFuture に設定
      ChannelFuture channelFuture = e.getFuture();
      future.setChannelFuture(channelFuture);
     
View Full Code Here

     *
     * @see Writable#write(DataOutput)
     */
    public void write(final DataOutput out) throws IOException {
        BSONEncoder enc = new BasicBSONEncoder();
        BasicOutputBuffer buf = new BasicOutputBuffer();
        enc.set(buf);
        enc.putObject(doc);
        enc.done();
        buf.pipe(out);
    }
View Full Code Here

        private byte[] encode(DBEncoderFactory factory, DBObject dbo) {
            Object id = dbo.get("_id");
            _checkKeys(dbo);
            DBEncoder encoder = factory.create();
            OutputBuffer buffer = new BasicOutputBuffer();
            encoder.writeObject(buffer, dbo);
            return buffer.toByteArray();
        }
View Full Code Here

    @Test
    public void shouldPipeLazyDbObject() throws Exception {

        DBEncoder encoder = BsonDBEncoder.FACTORY.create();
        BasicOutputBuffer buffer = new BasicOutputBuffer();

        encoder.writeObject(buffer, new LazyDBObject(new byte[]{5, 0, 0, 0, 0}, null));

        assertThat(buffer.toByteArray()).isEqualTo(new byte[]{5, 0, 0, 0, 0});

    }
View Full Code Here

    }

    @Test
    public void shouldEncodeDBObject() throws Exception {
        DBEncoder encoder = BsonDBEncoder.FACTORY.create();
        BasicOutputBuffer buffer = new BasicOutputBuffer();

        encoder.writeObject(buffer, new BasicDBObject());

        assertThat(buffer.size()).isGreaterThan(0);
    }
View Full Code Here

    private final OutputBuffer buffer;
    private final DBObject dbo;

    BufferedBsonDocument(DBObject dbo) {
        this.buffer = new BasicOutputBuffer();
        this.dbo = dbo;
        encode(this.dbo);
    }
View Full Code Here

    DefaultDBDecoder defaultDBDecoder;

    @Before
    public void beforeMethod() {
        e = new BasicBSONEncoder();
        buf = new BasicOutputBuffer();
        e.set(buf);
        bios = new ByteArrayOutputStream();
        lazyDBDecoder = new LazyDBDecoder();
        defaultDBDecoder = new DefaultDBDecoder();
    }
View Full Code Here

        LazyDBObject lazyDBObj = (LazyDBObject) lazyDBDecoder.decode(
                new ByteArrayInputStream(bios.toByteArray()), (DBCollection) null);

        // now to the actual test
        LazyDBEncoder encoder = new LazyDBEncoder();
        BasicOutputBuffer outputBuffer = new BasicOutputBuffer();
        int size = encoder.writeObject(outputBuffer, lazyDBObj);
        assertEquals(lazyDBObj.getBSONSize(), size);
        assertEquals(lazyDBObj.getBSONSize(), outputBuffer.size());

        // this is just asserting that the encoder actually piped the correct bytes
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        lazyDBObj.pipe(baos);
        assertArrayEquals(baos.toByteArray(), outputBuffer.toByteArray());
    }
View Full Code Here

   
    static final boolean DEBUG = false;

    @Override
    public byte[] encode( BSONObject o ){
        BasicOutputBuffer buf = new BasicOutputBuffer();
        set( buf );
        putObject( o );
        done();
        return buf.toByteArray();
    }
View Full Code Here

TOP

Related Classes of org.bson.io.BasicOutputBuffer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.