com.datastax.driver.core.utils.Bytes.fromHexString()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(11.5k)|赞(0)|评价(0)|浏览(105)

本文整理了Java中com.datastax.driver.core.utils.Bytes.fromHexString()方法的一些代码示例,展示了Bytes.fromHexString()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Bytes.fromHexString()方法的具体详情如下:
包路径:com.datastax.driver.core.utils.Bytes
类名称:Bytes
方法名:fromHexString

Bytes.fromHexString介绍

[英]Parse an hex string representing a CQL blob.

The input should be a valid representation of a CQL blob, i.e. it must start by "0x" followed by the hexadecimal representation of the blob bytes.
[中]解析表示CQL blob的十六进制字符串。
输入应该是CQL blob的有效表示形式,即它必须以“0x”开头,后跟blob字节的十六进制表示形式。

代码示例

代码示例来源:origin: kaaproject/kaa

/**
  * This method convert string representation of endpoint key hash to ByteBuffer object
  * if id eq null, than return null.
  *
  * @return the ByteBuffer object
  */
 public static ByteBuffer convertStringToKeyHash(String id) {
  ByteBuffer endpointKeyHash = null;
  if (id != null && id.length() != 0) {
   endpointKeyHash = Bytes.fromHexString(id);
  }
  return endpointKeyHash;
 }
}

代码示例来源:origin: kaaproject/kaa

/**
 * Id consist of endpoint key hash and last modify time, we get these data and assign values on
 * fields <code>endpointKeyHash</code> and <code>lastModifyTime</code>.
 *
 * @param id is id to parsing
 */
public void parseStringId(String id) {
 String[] ids = parseId(id);
 if (ids != null && ids.length == 2) {
  endpointKeyHash = Bytes.fromHexString(ids[0]);
  lastModifyTime = new Date(Long.valueOf(ids[1]));
 }
}

代码示例来源:origin: prestodb/presto

@Test(groups = CASSANDRA)
public void testAllDataTypes()
{
  // NOTE: DECIMAL is treated like DOUBLE
  QueryResult query = query(format(
      "SELECT a, b, bl, bo, d, do, f, fr, i, integer, l, m, s, t, ti, tu, u, v, vari FROM %s.%s.%s",
      CONNECTOR_NAME, KEY_SPACE, CASSANDRA_ALL_TYPES.getName()));
  assertThat(query)
      .hasColumns(VARCHAR, BIGINT, VARBINARY, BOOLEAN, DOUBLE, DOUBLE, REAL, VARCHAR, VARCHAR,
          INTEGER, VARCHAR, VARCHAR, VARCHAR, VARCHAR, TIMESTAMP, VARCHAR, VARCHAR,
          VARCHAR, VARCHAR)
      .containsOnly(
          row("\0", Long.MIN_VALUE, Bytes.fromHexString("0x00").array(), false, 0f, Double.MIN_VALUE,
              Float.MIN_VALUE, "[0]", "0.0.0.0", Integer.MIN_VALUE, "[0]", "{\"\\u0000\":-2147483648,\"a\":0}",
              "[0]", "\0", Timestamp.valueOf(LocalDateTime.of(1970, 1, 1, 0, 0)),
              "d2177dd0-eaa2-11de-a572-001b779c76e3", "01234567-0123-0123-0123-0123456789ab",
              "\0", String.valueOf(Long.MIN_VALUE)),
          row("the quick brown fox jumped over the lazy dog", 9223372036854775807L, "01234".getBytes(),
              true, new Double("99999999999999999999999999999999999999"), Double.MAX_VALUE,
              Float.MAX_VALUE, "[4,5,6,7]", "255.255.255.255", Integer.MAX_VALUE, "[4,5,6]",
              "{\"a\":1,\"b\":2}", "[4,5,6]", "this is a text value", Timestamp.valueOf(LocalDateTime.of(9999, 12, 31, 23, 59, 59)),
              "d2177dd0-eaa2-11de-a572-001b779c76e3", "01234567-0123-0123-0123-0123456789ab",
              "abc", String.valueOf(Long.MAX_VALUE)),
          row("def", null, null, null, null, null, null, null, null, null, null, null,
              null, null, null, null, null, null, null));
}

代码示例来源:origin: prestodb/presto

VARCHAR, VARCHAR)
.containsOnly(
    row("\0", Long.MIN_VALUE, Bytes.fromHexString("0x00").array(), false, 0f, Double.MIN_VALUE,
        Float.MIN_VALUE, "[0]", "0.0.0.0", Integer.MIN_VALUE, "[0]", "{\"\\u0000\":-2147483648,\"a\":0}",
        "[0]", "\0", Timestamp.valueOf(LocalDateTime.of(1970, 1, 1, 0, 0)),

代码示例来源:origin: kaaproject/kaa

@Test
public void testBytesToStringConversation() {
 byte[] array = new byte[]{-16, 7, 51, -98, -75, -19, -82, 119, -51, 122, -125, -14, 22, 44, -28, -56, 26, 111, 115, 2};
 String hash = Bytes.toHexString(array);
 LOG.info("---> hash is {}", hash);
 byte[] converted = Bytes.fromHexString(hash).array();
 Assert.assertArrayEquals(array, converted);
 Assert.assertEquals(hash, Bytes.toHexString(converted));
}

代码示例来源:origin: kaaproject/kaa

Long schemaId = parseLong(row.getString("schema_id"));
String[] ids = id.split("::");
ByteBuffer epKeyHash = Bytes.fromHexString(ids[0]);
Date lastModTime = new Date(Long.valueOf(ids[1]));

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Override
public ByteBuffer parse(String value) {
 return value == null || value.isEmpty() || value.equalsIgnoreCase("NULL")
   ? null
   : Bytes.fromHexString(value);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Override
public ByteBuffer parse(String value) {
 return value == null || value.isEmpty() || value.equalsIgnoreCase("NULL")
   ? null
   : Bytes.fromHexString(value);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Override
public OPPToken fromString(String tokenStr) {
 // This method must be able to parse the contents of system.peers.tokens, which do not have
 // the "0x" prefix.
 // On the other hand, OPPToken#toString has the "0x" because it should be usable in a CQL
 // query, and it's
 // nice to have fromString and toString symetrical.
 // So handle both cases:
 if (!tokenStr.startsWith("0x")) {
  String prefix = (tokenStr.length() % 2 == 0) ? "0x" : "0x0";
  tokenStr = prefix + tokenStr;
 }
 ByteBuffer value = Bytes.fromHexString(tokenStr);
 return new OPPToken(value);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "unit")
public void should_hash_consistently() {
 ByteBuffer byteBuffer = Bytes.fromHexString("0xCAFEBABE");
 Token tokenA = factory.hash(byteBuffer);
 Token tokenB = factory.hash(byteBuffer);
 assertThat(tokenA)
   .isEqualTo(factory.fromString("59959303159920881837560881824507314222"))
   .isEqualTo(tokenB);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

name =
   TypeCodec.varchar()
     .deserialize(Bytes.fromHexString("0x" + bbHex), ProtocolVersion.NEWEST_SUPPORTED);
} catch (NumberFormatException e) {
 throwSyntaxError(e.getMessage());

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

String typeName =
  TypeCodec.varchar()
    .deserialize(Bytes.fromHexString("0x" + parser.readOne()), protocolVersion);
parser.skipBlankAndComma();
Map<String, String> rawFields = parser.getNameAndTypeParameters();

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "short")
public void prepareStatementInheritPropertiesTest() {
 RegularStatement toPrepare = new SimpleStatement("SELECT * FROM test WHERE k=?");
 toPrepare.setConsistencyLevel(ConsistencyLevel.QUORUM);
 toPrepare.setSerialConsistencyLevel(ConsistencyLevel.LOCAL_SERIAL);
 toPrepare.setRetryPolicy(FallthroughRetryPolicy.INSTANCE);
 if (protocolVersion.compareTo(V4) >= 0)
  toPrepare.setOutgoingPayload(ImmutableMap.of("foo", Bytes.fromHexString("0xcafebabe")));
 toPrepare.setIdempotent(true);
 toPrepare.enableTracing();
 PreparedStatement prepared = session().prepare(toPrepare);
 assertThat(prepared.getConsistencyLevel()).isEqualTo(ConsistencyLevel.QUORUM);
 assertThat(prepared.getSerialConsistencyLevel()).isEqualTo(ConsistencyLevel.LOCAL_SERIAL);
 assertThat(prepared.getRetryPolicy()).isEqualTo(FallthroughRetryPolicy.INSTANCE);
 if (protocolVersion.compareTo(V4) >= 0)
  assertThat(prepared.getOutgoingPayload())
    .isEqualTo(ImmutableMap.of("foo", Bytes.fromHexString("0xcafebabe")));
 assertThat(prepared.isIdempotent()).isTrue();
 assertThat(prepared.isTracing()).isTrue();
 BoundStatement bs = prepared.bind("someValue");
 assertThat(bs.getConsistencyLevel()).isEqualTo(ConsistencyLevel.QUORUM);
 assertThat(bs.getSerialConsistencyLevel()).isEqualTo(ConsistencyLevel.LOCAL_SERIAL);
 assertThat(bs.getRetryPolicy()).isEqualTo(FallthroughRetryPolicy.INSTANCE);
 if (protocolVersion.compareTo(V4) >= 0)
  assertThat(bs.getOutgoingPayload())
    .isEqualTo(ImmutableMap.of("foo", Bytes.fromHexString("0xcafebabe")));
 assertThat(bs.isIdempotent()).isTrue();
 assertThat(bs.isTracing()).isTrue();
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

.put(DataType.ascii(), "ascii")
.put(DataType.bigint(), Long.MAX_VALUE)
.put(DataType.blob(), Bytes.fromHexString("0xCAFE"))
.put(DataType.cboolean(), Boolean.TRUE)
.put(DataType.decimal(), new BigDecimal("12.3E+7"))

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "short", dataProvider = "newKeyspaceName")
public void should_notify_of_keyspace_drop(String keyspace) throws InterruptedException {
 execute(CREATE_KEYSPACE, keyspace);
 for (SchemaChangeListener listener : listeners) {
  ArgumentCaptor<KeyspaceMetadata> added = ArgumentCaptor.forClass(KeyspaceMetadata.class);
  verify(listener, timeout(NOTIF_TIMEOUT_MS).times(1)).onKeyspaceAdded(added.capture());
  assertThat(added.getValue()).hasName(handleId(keyspace));
 }
 for (Metadata m : metadatas())
  assertThat(m.getReplicas(keyspace, Bytes.fromHexString("0xCAFEBABE"))).isNotEmpty();
 execute(CREATE_TABLE, keyspace); // to test table drop notifications
 execute(DROP_KEYSPACE, keyspace);
 for (SchemaChangeListener listener : listeners) {
  ArgumentCaptor<TableMetadata> table = ArgumentCaptor.forClass(TableMetadata.class);
  verify(listener, timeout(NOTIF_TIMEOUT_MS).times(1)).onTableRemoved(table.capture());
  assertThat(table.getValue()).hasName("table1").isInKeyspace(handleId(keyspace));
  ArgumentCaptor<KeyspaceMetadata> ks = ArgumentCaptor.forClass(KeyspaceMetadata.class);
  verify(listener, timeout(NOTIF_TIMEOUT_MS).times(1)).onKeyspaceRemoved(ks.capture());
  assertThat(ks.getValue()).hasName(handleId(keyspace));
 }
 for (Metadata m : metadatas()) {
  assertThat(m.getKeyspace(keyspace)).isNull();
  assertThat(m.getReplicas(keyspace, Bytes.fromHexString("0xCAFEBABE"))).isEmpty();
 }
}

代码示例来源:origin: zhicwu/cassandra-jdbc-driver

@Override
public byte[] parse(String value) {
  return value == null || value.isEmpty() || value.equalsIgnoreCase("NULL")
      ? null : Bytes.fromHexString(value).array();
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

/** JAVA-684: Empty TokenRange returned in a one token cluster */
 @Test(groups = "short")
 public void should_return_single_non_empty_range_when_cluster_has_one_single_token() {
  cluster().manager.controlConnection.refreshNodeListAndTokenMap();
  Metadata metadata = cluster().getMetadata();
  Set<TokenRange> tokenRanges = metadata.getTokenRanges();
  assertThat(tokenRanges).hasSize(1);
  TokenRange tokenRange = tokenRanges.iterator().next();
  assertThat(tokenRange)
    .startsWith(Token.M3PToken.FACTORY.minToken())
    .endsWith(Token.M3PToken.FACTORY.minToken())
    .isNotEmpty()
    .isNotWrappedAround();

  Set<Host> hostsForRange = metadata.getReplicas(keyspace, tokenRange);
  Host host1 = TestUtils.findHost(cluster(), 1);
  assertThat(hostsForRange).containsOnly(host1);

  ByteBuffer randomPartitionKey = Bytes.fromHexString("0xCAFEBABE");
  Set<Host> hostsForKey = metadata.getReplicas(keyspace, randomPartitionKey);
  assertThat(hostsForKey).containsOnly(host1);

  Set<TokenRange> rangesForHost = metadata.getTokenRanges(keyspace, host1);
  assertThat(rangesForHost).containsOnly(tokenRange);
 }
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

select = select().all().from("foo").where(eq("b", Bytes.fromHexString("0xCAFEBABE")));
assertEquals(select.toString(), query);

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

case BLOB:
 return new TestValue[] {
  new TestValue(Bytes.fromHexString("0x2450"), "0x2450", "0x2450"),
  new TestValue(ByteBuffer.allocate(0), "0x", "0x"),
  new TestValue(null, null, "NULL"),

代码示例来源:origin: com.datastax.dse/dse-java-driver-core

@Test(groups = "unit")
public void should_hash_consistently() {
 ByteBuffer byteBuffer = Bytes.fromHexString("0xCAFEBABE");
 Token tokenA = factory.hash(byteBuffer);
 Token tokenB = factory.hash(byteBuffer);
 assertThat(tokenA)
   .isEqualTo(factory.fromString("59959303159920881837560881824507314222"))
   .isEqualTo(tokenB);
}

相关文章