@Test public void testGetBinary() { byte[] bytes = TestUtils.randomByteArray(10); jsonArray.add(bytes); assertArrayEquals(bytes, jsonArray.getBinary(0)); assertEquals(Base64.getEncoder().encodeToString(bytes), jsonArray.getValue(0)); assertArrayEquals(bytes, Base64.getDecoder().decode(jsonArray.getString(0))); try { jsonArray.getBinary(-1); fail(); } catch (IndexOutOfBoundsException e) { // OK } try { jsonArray.getBinary(1); fail(); } catch (IndexOutOfBoundsException e) { // OK } jsonArray.add(123); try { jsonArray.getBinary(1); fail(); } catch (ClassCastException e) { // OK } jsonArray.addNull(); assertNull(jsonArray.getBinary(2)); }
@Test public void testToJsonArray() { List<Object> list = new ArrayList<>(); list.add("the_string"); list.add(4); list.add(true); list.add(new AsciiString("the_charsequence")); list.add(new BigInteger("1234567")); list.add(Buffer.buffer("hello")); list.add(Collections.singletonMap("nested", 4)); list.add(Arrays.asList(1, 2, 3)); JsonArray json = (JsonArray) ConversionHelper.toObject(list); assertEquals(8, json.size()); assertEquals("the_string", json.getString(0)); assertEquals(4, (int)json.getInteger(1)); assertEquals(true, json.getBoolean(2)); assertEquals("the_charsequence", json.getString(3)); assertEquals(1234567, (int)json.getInteger(4)); assertEquals("hello", new String(json.getBinary(5))); assertEquals(new JsonObject().put("nested", 4), json.getJsonObject(6)); assertEquals(new JsonArray().add(1).add(2).add(3), json.getJsonArray(7)); }
@Test public void testAddBinary() { byte[] bytes = TestUtils.randomByteArray(10); assertSame(jsonArray, jsonArray.add(bytes)); assertArrayEquals(bytes, jsonArray.getBinary(0)); assertEquals(Base64.getEncoder().encodeToString(bytes), jsonArray.getValue(0)); try { jsonArray.add((byte[])null); fail(); } catch (NullPointerException e) { // OK } }
@Test public void testDecode() { byte[] bytes = TestUtils.randomByteArray(10); String strBytes = Base64.getEncoder().encodeToString(bytes); Instant now = Instant.now(); String strInstant = ISO_INSTANT.format(now); String json = "[\"foo\",123,1234,1.23,2.34,true,\"" + strBytes + "\",\"" + strInstant + "\",null,{\"foo\":\"bar\"},[\"foo\",123]]"; JsonArray arr = new JsonArray(json); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertEquals(Long.valueOf(1234l), arr.getLong(2)); assertEquals(Float.valueOf(1.23f), arr.getFloat(3)); assertEquals(Double.valueOf(2.34d), arr.getDouble(4)); assertEquals(true, arr.getBoolean(5)); assertArrayEquals(bytes, arr.getBinary(6)); assertEquals(Base64.getEncoder().encodeToString(bytes), arr.getValue(6)); assertEquals(now, arr.getInstant(7)); assertEquals(now.toString(), arr.getValue(7)); assertTrue(arr.hasNull(8)); JsonObject obj = arr.getJsonObject(9); assertEquals("bar", obj.getString("foo")); JsonArray arr2 = arr.getJsonArray(10); assertEquals("foo", arr2.getString(0)); assertEquals(Integer.valueOf(123), arr2.getInteger(1)); }
assertEquals(Double.valueOf(1.23d), jsonArray.getDouble(4)); assertEquals(true, jsonArray.getBoolean(5)); assertArrayEquals(bytes, jsonArray.getBinary(6)); assertEquals(Base64.getEncoder().encodeToString(bytes), jsonArray.getValue(6)); assertEquals(now, jsonArray.getInstant(7));
@Test public void testGetBinary() { byte[] bytes = TestUtils.randomByteArray(10); jsonArray.add(bytes); assertArrayEquals(bytes, jsonArray.getBinary(0)); assertEquals(Base64.getEncoder().encodeToString(bytes), jsonArray.getValue(0)); assertArrayEquals(bytes, Base64.getDecoder().decode(jsonArray.getString(0))); try { jsonArray.getBinary(-1); fail(); } catch (IndexOutOfBoundsException e) { // OK } try { jsonArray.getBinary(1); fail(); } catch (IndexOutOfBoundsException e) { // OK } jsonArray.add(123); try { jsonArray.getBinary(1); fail(); } catch (ClassCastException e) { // OK } jsonArray.addNull(); assertNull(jsonArray.getBinary(2)); }
@Override public byte[] getBytes(final int columnIndex) { return keys.getBinary(columnIndex); }
@Test public void testToJsonArray() { List<Object> list = new ArrayList<>(); list.add("the_string"); list.add(4); list.add(true); list.add(new AsciiString("the_charsequence")); list.add(new BigInteger("1234567")); list.add(Buffer.buffer("hello")); list.add(Collections.singletonMap("nested", 4)); list.add(Arrays.asList(1, 2, 3)); JsonArray json = (JsonArray) ConversionHelper.toObject(list); assertEquals(8, json.size()); assertEquals("the_string", json.getString(0)); assertEquals(4, (int)json.getInteger(1)); assertEquals(true, json.getBoolean(2)); assertEquals("the_charsequence", json.getString(3)); assertEquals(1234567, (int)json.getInteger(4)); assertEquals("hello", new String(json.getBinary(5))); assertEquals(new JsonObject().put("nested", 4), json.getJsonObject(6)); assertEquals(new JsonArray().add(1).add(2).add(3), json.getJsonArray(7)); }
@Test public void testAddBinary() { byte[] bytes = TestUtils.randomByteArray(10); assertSame(jsonArray, jsonArray.add(bytes)); assertArrayEquals(bytes, jsonArray.getBinary(0)); assertEquals(Base64.getEncoder().encodeToString(bytes), jsonArray.getValue(0)); try { jsonArray.add((byte[])null); fail(); } catch (NullPointerException e) { // OK } }
@Test public void testDecode() { byte[] bytes = TestUtils.randomByteArray(10); String strBytes = Base64.getEncoder().encodeToString(bytes); Instant now = Instant.now(); String strInstant = ISO_INSTANT.format(now); String json = "[\"foo\",123,1234,1.23,2.34,true,\"" + strBytes + "\",\"" + strInstant + "\",null,{\"foo\":\"bar\"},[\"foo\",123]]"; JsonArray arr = new JsonArray(json); assertEquals("foo", arr.getString(0)); assertEquals(Integer.valueOf(123), arr.getInteger(1)); assertEquals(Long.valueOf(1234l), arr.getLong(2)); assertEquals(Float.valueOf(1.23f), arr.getFloat(3)); assertEquals(Double.valueOf(2.34d), arr.getDouble(4)); assertEquals(true, arr.getBoolean(5)); assertArrayEquals(bytes, arr.getBinary(6)); assertEquals(Base64.getEncoder().encodeToString(bytes), arr.getValue(6)); assertEquals(now, arr.getInstant(7)); assertEquals(now.toString(), arr.getValue(7)); assertTrue(arr.hasNull(8)); JsonObject obj = arr.getJsonObject(9); assertEquals("bar", obj.getString("foo")); JsonArray arr2 = arr.getJsonArray(10); assertEquals("foo", arr2.getString(0)); assertEquals(Integer.valueOf(123), arr2.getInteger(1)); }
assertEquals(Double.valueOf(1.23d), jsonArray.getDouble(4)); assertEquals(true, jsonArray.getBoolean(5)); assertArrayEquals(bytes, jsonArray.getBinary(6)); assertEquals(Base64.getEncoder().encodeToString(bytes), jsonArray.getValue(6)); assertEquals(now, jsonArray.getInstant(7));
@Override public byte[] getBytes(final int columnIndex) { return resultSet.getResults().get(position).getBinary(columnIndex); }
public DataObjectWithNestedBuffer(JsonObject json) { byte[] buffer = json.getBinary("buffer"); this.buffer = buffer != null ? Buffer.buffer(buffer) : null; JsonObject nested = json.getJsonObject("nested"); this.nested = nested != null ? new DataObjectWithBuffer(nested) : null; JsonArray buffers_ = json.getJsonArray("buffers"); if (buffers_ != null) { this.buffers = new ArrayList<>(); for (int i = 0;i < buffers_.size();i++) { buffers.add(Buffer.buffer(buffers_.getBinary(i))); } } }
public DataObjectWithNestedBuffer(JsonObject json) { byte[] buffer = json.getBinary("buffer"); this.buffer = buffer != null ? Buffer.buffer(buffer) : null; JsonObject nested = json.getJsonObject("nested"); this.nested = nested != null ? new DataObjectWithBuffer(nested) : null; JsonArray buffers_ = json.getJsonArray("buffers"); if (buffers_ != null) { this.buffers = new ArrayList<>(); for (int i = 0;i < buffers_.size();i++) { buffers.add(Buffer.buffer(buffers_.getBinary(i))); } } }
public DataObjectWithNestedBuffer(JsonObject json) { byte[] buffer = json.getBinary("buffer"); this.buffer = buffer != null ? Buffer.buffer(buffer) : null; JsonObject nested = json.getJsonObject("nested"); this.nested = nested != null ? new DataObjectWithBuffer(nested) : null; JsonArray buffers_ = json.getJsonArray("buffers"); if (buffers_ != null) { this.buffers = new ArrayList<>(); for (int i = 0;i < buffers_.size();i++) { buffers.add(Buffer.buffer(buffers_.getBinary(i))); } } }
public DataObjectWithNestedBuffer(JsonObject json) { byte[] buffer = json.getBinary("buffer"); this.buffer = buffer != null ? Buffer.buffer(buffer) : null; JsonObject nested = json.getJsonObject("nested"); this.nested = nested != null ? new DataObjectWithBuffer(nested) : null; JsonArray buffers_ = json.getJsonArray("buffers"); if (buffers_ != null) { this.buffers = new ArrayList<>(); for (int i = 0;i < buffers_.size();i++) { buffers.add(Buffer.buffer(buffers_.getBinary(i))); } } }
public DataObjectWithNestedBuffer(JsonObject json) { byte[] buffer = json.getBinary("buffer"); this.buffer = buffer != null ? Buffer.buffer(buffer) : null; JsonObject nested = json.getJsonObject("nested"); this.nested = nested != null ? new DataObjectWithBuffer(nested) : null; JsonArray buffers_ = json.getJsonArray("buffers"); if (buffers_ != null) { this.buffers = new ArrayList<>(); for (int i = 0;i < buffers_.size();i++) { buffers.add(Buffer.buffer(buffers_.getBinary(i))); } } }
@Test public void testBlob() { String sql = "SELECT b FROM blob_table"; connection().query(sql, onSuccess(resultSet -> { assertNotNull(resultSet); assertEquals(1, resultSet.getResults().size()); assertNotNull(resultSet.getResults().get(0).getBinary(0)); testComplete(); })); await(); }
@Test public void testAMQP_to_JSON_VerifyBodyWithAmqpSequence() { String testContent = "myTestContent"; List<Object> elements = new ArrayList<>(); elements.add(new Binary(testContent.getBytes(StandardCharsets.UTF_8))); Message protonMsg = Proton.message(); protonMsg.setBody(new AmqpSequence(elements)); JsonObject jsonObject = translator.convertToJsonObject(protonMsg); assertNotNull("expected converted msg", jsonObject); assertTrue("expected body element key to be present", jsonObject.containsKey(AmqpConstants.BODY)); assertNotNull("expected body element value to be non-null", jsonObject.getValue(AmqpConstants.BODY)); assertTrue("expected body_type element key to be present", jsonObject.containsKey(AmqpConstants.BODY_TYPE)); assertEquals("unexpected body_type value", AmqpConstants.BODY_TYPE_SEQUENCE, jsonObject.getValue(AmqpConstants.BODY_TYPE)); JsonArray jsonSequence = jsonObject.getJsonArray(AmqpConstants.BODY); assertArrayEquals("sequence element value not as expected", testContent.getBytes(StandardCharsets.UTF_8), jsonSequence.getBinary(0)); assertTrue("expected body_type element key to be present", jsonObject.containsKey(AmqpConstants.BODY_TYPE)); }
JsonArray nestedListJson = jsonMsgAnn.getJsonArray(testAnnListKeyName); assertArrayEquals("expected nested value to be equal", binaryValueSource.getBytes(StandardCharsets.UTF_8), nestedListJson.getBinary(0));