コード例 #1
0
ファイル: ClientMessage_Test.java プロジェクト: oaperez/rap
  @Test
  public void testConstructor_Message_createsIndex() {
    TestMessage testMessage = new TestMessage();
    testMessage.getOperations().add(new SetOperation("w3", new JsonObject().add("foo", 23)));

    ClientMessage message = new ClientMessage(testMessage);

    assertFalse(message.getAllOperationsFor("w3").isEmpty());
  }
コード例 #2
0
ファイル: ClientMessage_Test.java プロジェクト: oaperez/rap
  @Test
  public void testGetAllOperationsFor_withEmtpyMessage() {
    String json = "{ \"head\" : {}, \"operations\" : [] }";
    ClientMessage message = new ClientMessage(JsonObject.readFrom(json));

    List<Operation> operations = message.getAllOperationsFor("w5");

    assertTrue(operations.isEmpty());
  }
コード例 #3
0
ファイル: ClientMessage_Test.java プロジェクト: oaperez/rap
  @Test
  public void testConstructor_JsonObject_createsIndex() {
    String json =
        "{ \"head\" : {}, \"operations\" : [" + "[ \"set\", \"w3\", { \"foo\" : 23 } ]" + "] }";
    ClientMessage message = new ClientMessage(JsonObject.readFrom(json));

    List<Operation> operations = message.getAllOperationsFor("w3");

    assertFalse(operations.isEmpty());
  }
コード例 #4
0
 @Test(timeout = 2000)
 public void testSerDeser1() {
   ClientMessage cm = new ClientMessage();
   cm.setType(ClientMessage.Type.CREATE)
       .setAuthor("AdnanAziz1968")
       .setSubject("Hello World")
       .setBody("My first posting!");
   String cmJson = cm.toJson();
   ClientMessage cmobj = ClientMessage.fromJson(cmJson);
   assertEquals(cm, cmobj);
   score += 5;
 }
コード例 #5
0
ファイル: ClientMessage_Test.java プロジェクト: oaperez/rap
  @Test
  public void testGetAllOperationsFor_withoutMatchingOperations() {
    String json =
        "{ \"head\" : {}, \"operations\" : ["
            + "[ \"set\", \"w3\", { \"p1\" : \"foo\" } ],"
            + "[ \"set\", \"w4\", { \"p2\" : \"bar\" } ],"
            + "[ \"notify\", \"w3\", \"widgetSelected\", {} ]"
            + "] }";
    ClientMessage message = new ClientMessage(JsonObject.readFrom(json));

    List<Operation> operations = message.getAllOperationsFor("w5");

    assertTrue(operations.isEmpty());
  }
コード例 #6
0
ファイル: ClientMessage_Test.java プロジェクト: oaperez/rap
  @Test
  public void testGetLastNotifyOperation_withNullTarget() {
    String json =
        "{ \"head\" : {}, \"operations\" : ["
            + "[ \"notify\", \"w3\", \"foo\", {} ],"
            + "[ \"notify\", \"w4\", \"foo\", {} ]," // <---
            + "[ \"notify\", \"w5\", \"bar\", {} ]"
            + "] }";
    ClientMessage message = new ClientMessage(JsonObject.readFrom(json));

    NotifyOperation operation = message.getLastNotifyOperationFor(null, "foo");

    assertEquals("w4", operation.getTarget());
  }
コード例 #7
0
ファイル: ClientMessage_Test.java プロジェクト: oaperez/rap
  @Test
  public void testGetAllOperationsFor_selectsMatchingOperations() {
    String json =
        "{ \"head\" : {}, \"operations\" : ["
            + "[ \"set\", \"w3\", { \"foo\" : 23 } ],"
            + "[ \"set\", \"w4\", { \"foo\" : 42 } ],"
            + "[ \"notify\", \"w3\", \"event\", {} ]"
            + "] }";
    ClientMessage message = new ClientMessage(JsonObject.readFrom(json));

    List<Operation> operations = message.getAllOperationsFor("w3");

    assertEquals(2, operations.size());
    assertTrue(operations.get(0) instanceof SetOperation);
    assertTrue(operations.get(1) instanceof NotifyOperation);
  }
コード例 #8
0
ファイル: ClientMessage_Test.java プロジェクト: oaperez/rap
  @Test
  public void testGetAllCallOperations_withoutTargetAndMethodName() {
    String json =
        "{ \"head\" : {}, \"operations\" : ["
            + "[ \"set\", \"w3\", { \"count\" : 1 } ],"
            + "[ \"call\", \"w3\", \"foo\", { \"count\" : 2 } ]," // <---
            + "[ \"call\", \"w4\", \"bar\", { \"count\" : 3 } ]" // <---
            + "] }";
    ClientMessage message = new ClientMessage(JsonObject.readFrom(json));

    List<CallOperation> operations = message.getAllCallOperationsFor(null, null);

    assertEquals(2, operations.size());
    assertEquals(2, operations.get(0).getParameters().get("count").asInt());
    assertEquals(3, operations.get(1).getParameters().get("count").asInt());
  }
コード例 #9
0
ファイル: ClientMessage_Test.java プロジェクト: oaperez/rap
  @Test
  public void testGetLastNotifyOperation() {
    String json =
        "{ \"head\" : {}, \"operations\" : ["
            + "[ \"notify\", \"w3\", \"foo\", { \"count\" : 1 } ],"
            + "[ \"notify\", \"w3\", \"bar\", { \"count\" : 2 } ],"
            + "[ \"notify\", \"w3\", \"foo\", { \"count\" : 3 } ]," // <---
            + "[ \"notify\", \"w3\", \"bar\", { \"count\" : 4 } ],"
            + "[ \"notify\", \"w4\", \"foo\", { \"count\" : 5 } ],"
            + "[ \"notify\", \"w4\", \"bar\", { \"count\" : 6 } ]"
            + "] }";
    ClientMessage message = new ClientMessage(JsonObject.readFrom(json));

    NotifyOperation operation = message.getLastNotifyOperationFor("w3", "foo");

    assertEquals(3, operation.getProperties().get("count").asInt());
  }
コード例 #10
0
 /** Allow this dedicated thread to handle input from this client */
 public void run() {
   try {
     ClientMessage myMessage = (ClientMessage) clObj.getObIn().readObject();
     this.username = myMessage.getSender();
     clObj.setName(username);
     System.out.println("Server gets: " + myMessage.toString());
     clientList.userConnect(username, clObj);
   } catch (Exception e) {
     JOptionPane.showMessageDialog(panel, "Unrecoverablable error in input stream");
     e.printStackTrace();
     System.exit(1);
   }
   while (true) {
     try {
       ClientMessage myMessage = (ClientMessage) clObj.getObIn().readObject();
       System.out.println("Server gets: " + myMessage.toString());
       List<ObjectOutputStream> destinations =
           clientList.getUserOutStreams(myMessage.getDestinations());
       for (ObjectOutputStream s : destinations) {
         s.writeObject(new ServerMessage(this.username, myMessage.getMessage()));
       }
     } catch (SocketException e) {
       System.out.println("Disconnecting user: "******"Some other error in client handler (run)");
       JOptionPane.showMessageDialog(panel, "Unrecoverablable error in input stream");
       ex.printStackTrace();
       System.exit(1);
       break;
     }
   }
 }
コード例 #11
0
  @Test(timeout = 5000)
  public void testQuery1() {
    ClientMessage cmAdd1 =
        new ClientMessage()
            .setType(ClientMessage.Type.CREATE)
            .setAuthor("AdnanAziz1968")
            .setSubject("Hello World")
            .setBody("My first posting!");

    ClientMessage cmAdd2 =
        new ClientMessage()
            .setType(ClientMessage.Type.CREATE)
            .setAuthor("Don Bradman")
            .setSubject("29")
            .setBody("Still the greatest!");

    ClientMessage cmAdd3 =
        new ClientMessage()
            .setType(ClientMessage.Type.CREATE)
            .setAuthor("AdnanAziz1968")
            .setSubject("Random musings")
            .setBody("My second posting!");

    ClientMessage cmQuery =
        new ClientMessage().setType(ClientMessage.Type.QUERY).setAuthor("AdnanAziz1968");

    ServerMessage result = doTxRx(cmAdd1, cmAdd2, cmAdd3, cmQuery);

    assertEquals(result.getPostings().size(), 2);
    for (Posting p : result.getPostings()) {
      assert (p.getAuthor().equals(cmQuery.getAuthor()));
    }

    ClientMessage cmBodyQuery =
        new ClientMessage().setType(ClientMessage.Type.QUERY).setBody("posting My");
    assertEquals(2, result.getPostings().size());
    for (Posting p : result.getPostings()) {
      assertTrue(p.getBody().contains("My"));
      assertTrue(p.getBody().contains("posting"));
    }
    score += 15;
  }
コード例 #12
0
ファイル: SendStressTest.java プロジェクト: nebnagrom/hornetq
  public void doTestStressSend(final boolean netty) throws Exception {
    HornetQServer server = createServer(false, netty);
    server.start();
    ServerLocator locator = createNonHALocator(netty);
    ClientSessionFactory sf = createSessionFactory(locator);

    ClientSession session = null;

    final int batchSize = 2000;

    final int numberOfMessages = 100000;

    try {
      server.start();

      session = sf.createSession(false, false);

      session.createQueue("address", "queue");

      ClientProducer producer = session.createProducer("address");

      ClientMessage message = session.createMessage(false);

      message.getBodyBuffer().writeBytes(new byte[1024]);

      for (int i = 0; i < numberOfMessages; i++) {
        producer.send(message);
        if (i % batchSize == 0) {
          System.out.println("Sent " + i);
          session.commit();
        }
      }

      session.commit();

      session.close();

      session = sf.createSession(false, false);

      ClientConsumer consumer = session.createConsumer("queue");

      session.start();

      for (int i = 0; i < numberOfMessages; i++) {
        ClientMessage msg = consumer.receive(5000);
        Assert.assertNotNull(msg);
        msg.acknowledge();

        if (i % batchSize == 0) {
          System.out.println("Consumed " + i);
          session.commit();
        }
      }

      session.commit();
    } finally {
      if (session != null) {
        try {
          sf.close();
          session.close();
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
      locator.close();
      server.stop();
    }
  }