Package jp.ameba.mongo.protocol

Examples of jp.ameba.mongo.protocol.Response


            .append("binary", "test binary".getBytes())
    ));

    // find
    Query query = new Query("test", "insert", 0, 1, new BasicBSONObject("_id", 1), null);
    Response response = client.query(query);
    Assert.assertNotNull(response);
    Assert.assertEquals(1, response.getNumberReturned());
    Assert.assertEquals(0, response.getStartingFrom());
    Assert.assertEquals(query.getWaitingRequestId(), response.getHeader().getResponseTo());
   
    BSONObject resultObject = response.getDocuments().get(0);
    Assert.assertEquals(1, resultObject.get("_id"));
    Assert.assertEquals("test-name", resultObject.get("name"));
    Assert.assertEquals(100, resultObject.get("integer"));
    Assert.assertEquals(1000L, resultObject.get("long"));
    Assert.assertArrayEquals("test binary".getBytes(), (byte[]) resultObject.get("binary"));
View Full Code Here


 
  @Test
  public void testQuery() throws Exception {
   
    // normal query
    Response response = client.query(new Query("test", "testQuery", 0, 100, new BasicBSONObject()));
    Assert.assertEquals(100, response.getNumberReturned());
    Assert.assertEquals(100, response.getDocuments().size());
    for (BSONObject doc : response.getDocuments()) {
      int id = ((Number) doc.get("_id")).intValue();
      Assert.assertNotNull(doc);
      Assert.assertEquals(id, doc.get("_id"));
      Assert.assertEquals("name-" + id, doc.get("name"));
      Assert.assertEquals("value-" + (id*100), doc.get("value"));
    }
   
    List<BSONObject> first10 = response.getDocuments().subList(0, 10);
    List<BSONObject> next10 = response.getDocuments().subList(10, 20);
   
    // limited query
    response = client.query(new Query("test", "testQuery", 0, 10, new BasicBSONObject()));
    Assert.assertEquals(10, response.getNumberReturned());
    Assert.assertEquals(10, response.getDocuments().size());
    Assert.assertEquals(first10, response.getDocuments());
   
    // skipped query
    response = client.query(new Query("test", "testQuery", 10, 10, new BasicBSONObject()));
    Assert.assertEquals(10, response.getNumberReturned());
    Assert.assertEquals(10, response.getDocuments().size());
    Assert.assertEquals(next10, response.getDocuments());
   
    // over skipped query
    response = client.query(new Query("test", "testQuery", 10, 100, new BasicBSONObject()));
    Assert.assertEquals(90, response.getNumberReturned());
    Assert.assertEquals(90, response.getDocuments().size());
   
    // equals query
    response = client.query(new Query("test", "testQuery", 0, 1, new BasicBSONObject("_id", 50)));
    Assert.assertEquals(1, response.getNumberReturned());
    Assert.assertEquals(1, response.getDocuments().size());
    BSONObject doc = response.getDocuments().get(0);
    Assert.assertEquals(50, doc.get("_id"));
   
    // greater than query
    response = client.query(new Query("test", "testQuery", 0, 100,
        new BasicBSONObject("_id", new BasicBSONObject("$gt", 50))));
    Assert.assertEquals(49, response.getNumberReturned());
    Assert.assertEquals(49, response.getDocuments().size());
    response = client.query(new Query("test", "testQuery", 0, 100,
        new BasicBSONObject("_id", new BasicBSONObject("$gte", 50))));
    Assert.assertEquals(50, response.getNumberReturned());
    Assert.assertEquals(50, response.getDocuments().size());
 
    // lesser than query
    response = client.query(new Query("test", "testQuery", 0, 100,
        new BasicBSONObject("_id", new BasicBSONObject("$lt", 50))));
    Assert.assertEquals(50, response.getNumberReturned());
    Assert.assertEquals(50, response.getDocuments().size());
    response = client.query(new Query("test", "testQuery", 0, 100,
        new BasicBSONObject("_id", new BasicBSONObject("$lte", 50))));
    Assert.assertEquals(51, response.getNumberReturned());
    Assert.assertEquals(51, response.getDocuments().size());
   
    // combined query
    response = client.query(new Query("test", "testQuery", 0, 100,
        new BasicBSONObject("_id", new BasicBSONObject("$gt", 20).append("$lt", 80))));
    Assert.assertEquals(59, response.getNumberReturned());
    Assert.assertEquals(59, response.getDocuments().size());
   
  }
View Full Code Here

 
  @Test
  public void testSort() throws Exception {
   
    // order integer
    Response response = client.query(new Query("test", "testQuery", 0, 100,
        new BasicBSONObject("$query",new BasicBSONObject())
          .append("$orderby", new BasicBSONObject("_id", 1))));
    Assert.assertEquals(100, response.getNumberReturned());
    for (int i = 0; i < 100; i++) {
      BSONObject doc = response.getDocuments().get(i);
      Assert.assertEquals(i, doc.get("_id"));
    }
   
    // order integer (reversed)
    response = client.query(new Query("test", "testQuery", 0, 100,
        new BasicBSONObject("$query", new BasicBSONObject())
        .append("$orderby", new BasicBSONObject("_id", -1))));
    Assert.assertEquals(100, response.getNumberReturned());
    for (int i = 0; i < 100; i++) {
      BSONObject doc = response.getDocuments().get(i);
      Assert.assertEquals(99-i, doc.get("_id"));
    }
   
  }
View Full Code Here

  }
 
  @Test
  public void testReturnFields() throws Exception {
   
    Response response = client.query(new Query(
        "test", "testQuery", 0, 100, new BasicBSONObject(), new BasicBSONObject("name", 1)
    ));
   
    Assert.assertEquals(100, response.getNumberReturned());
    Assert.assertEquals(100, response.getDocuments().size());
   
    for (int i = 0; i < 100; i++) {
      BSONObject doc = response.getDocuments().get(i);
      Assert.assertTrue(doc.containsField("_id"));
      Assert.assertTrue(doc.containsField("name"));
      Assert.assertFalse(doc.containsField("value"));
    }
  }
View Full Code Here

  /**
   * データ準備
   */
  private void prepareData() {
   
    Response response = client.query(new Query("test", "testQuery", 0, 100, new BasicBSONObject(), null));
    client.delete(new Delete("test", "testQuery", new BasicBSONObject()));
    response = client.query(new Query("test", "$cmd", 0, 1, new BasicBSONObject("count", "testQuery"), null));
   
    Assert.assertEquals(1, response.getNumberReturned());
    BSONObject result = response.getDocuments().get(0);
    Assert.assertEquals(0.0, result.get("n"));
   
    // prepare data
    for (int i = 0; i < 100; i++) {
      BSONObject doc = createObject(i);
View Full Code Here

    // Test null update
    client.update(new Update("test", "update",
        new BasicBSONObject("_id", "updateId"),
        new BasicBSONObject("name", "abcdefg")
    ));
    Response response = client.query(new Query("test", "update", 0, 1, new BasicBSONObject("_id", "updateId"), null));
    Assert.assertEquals(response.getNumberReturned(), 0);

    client.insert(new Insert("test", "update", new BasicBSONObject("_id", "updateId").append("name", "testname")));
    response = client.query(new Query("test", "update", 0, 1, new BasicBSONObject("_id", "updateId"), null));
    Assert.assertEquals(1, response.getNumberReturned());
   
    client.update(new Update("test", "update", new BasicBSONObject("_id", "updateId"), new BasicBSONObject("_id", "updateId").append("name", "testname updated")));
    response = client.query(new Query("test", "update", 0, 1, new BasicBSONObject("_id", "updateId"), null));
    Assert.assertEquals(1, response.getNumberReturned());
    BSONObject result = response.getDocuments().get(0);
   
    Assert.assertEquals("updateId", result.get("_id"));
    Assert.assertEquals("testname updated", result.get("name"));
   
  }
View Full Code Here

          .append("num", 100)
    ).upsert();
    client.update(update);
   
    Query query = new Query("test", "update", 0, 1, new BasicBSONObject("_id", "updateId"), null);
    Response response = client.query(query);
    Assert.assertNotNull(response);
    Assert.assertEquals(1, response.getNumberReturned());
    Assert.assertEquals(0, response.getStartingFrom());
    Assert.assertEquals(query.getWaitingRequestId(), response.getHeader().getResponseTo());
   
    BSONObject resultObject = response.getDocuments().get(0);
    Assert.assertEquals("updateId", resultObject.get("_id"));
    Assert.assertEquals("test-name", resultObject.get("name"));
    Assert.assertEquals(100, resultObject.get("num"));
   
  }
View Full Code Here

 
  @Override
  public void messageReceived(ChannelHandlerContext ctx, MessageEvent e)
      throws Exception {
   
    Response response = (Response) e.getMessage();
    if (response != null) {
      Request request = requestMap.remove(response.getHeader().getResponseTo());
      if (request != null) {
        RequestFuture future = request.getFuture();
        if (future != null) {
          future.setResponse(response)
          future.setDone(true);
View Full Code Here

    if (header.getOpCode() != OperationCode.OP_REPLY) {
      throw new MongoException("OP_CODE is not available in server response.");
    }
   
    // ボディ部分の読み取り
    Response response = new Response(header);
    response.readBuffer(buffer);
    context.setAttachment(null);
    return response;
  }
View Full Code Here

    return count(new BasicBSONObject());
  }

  @Override
  public long count(BSONObject selector) {
    Response response = client.getConnection().query(
        new Query(databaseName, "$cmd", 0, 1, new BasicBSONObject()
          .append("count", collectionName)
          .append("query", selector)
        ));
    BSONObject obj = response.getDocument();
    long count = ((Number) obj.get("n")).longValue();
    return count;
  }
View Full Code Here

TOP

Related Classes of jp.ameba.mongo.protocol.Response

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.