/** * Deserialize ByteBuffer to String. * @param byteBuffer input ByteBuffer * @return deserialized string */ public static String deserializeString(ByteBuffer byteBuffer) { if (byteBuffer.hasArray()) { int base = byteBuffer.arrayOffset(); return new String(byteBuffer.array(), base + byteBuffer.position(), byteBuffer.remaining(), StandardCharsets.UTF_8); } else { return new String(Utils.toByteArray(byteBuffer), StandardCharsets.UTF_8); } }
@Override public List<Object> deserialize(ByteBuffer ser) { String data = new String(Utils.toByteArray(ser), StandardCharsets.UTF_8); List<String> parts = org.apache.storm.sql.runtime.utils.Utils.split(data, delimiter); Preconditions.checkArgument(parts.size() == fieldNames.size(), "Invalid schema"); ArrayList<Object> list = new ArrayList<>(fieldNames.size()); list.addAll(parts); return list; }
@Override public List<Object> deserialize(ByteBuffer ser) { ObjectMapper mapper = new ObjectMapper(); try { @SuppressWarnings("unchecked") HashMap<String, Object> map = mapper.readValue(Utils.toByteArray(ser), HashMap.class); ArrayList<Object> list = new ArrayList<>(fields.size()); for (String f : fields) { list.add(map.get(f)); } return list; } catch (IOException e) { throw new RuntimeException(e); } }
public List<Object> deserialize(ByteBuffer ser) { // Maintain backward compatibility for 0.10 byte[] b = Utils.toByteArray(ser); return Utils.tuple(new Object[]{ b }); }
@Override public Iterable<List<Object>> deserialize(ByteBuffer ser) { return asList(Utils.tuple(Utils.toByteArray(ser))); }
@Override public List<Object> deserialize(ByteBuffer ser) { try { Schema schema = schemas.getSchema(schemaString); DatumReader<GenericRecord> reader = new GenericDatumReader<>(schema); BinaryDecoder decoder = DecoderFactory.get().binaryDecoder(Utils.toByteArray(ser), null); GenericRecord record = reader.read(null, decoder); ArrayList<Object> list = new ArrayList<>(fieldNames.size()); for (String field : fieldNames) { Object value = record.get(field); // Avro strings are stored using a special Avro Utf8 type instead of using Java primitives list.add(SerdeUtils.convertAvroUtf8(value)); } return list; } catch (IOException e) { throw new RuntimeException(e); } }
private List<IWorkerHook> deserializeWorkerHooks() { List<IWorkerHook> myHookList = new ArrayList<>(); if (topology.is_set_worker_hooks()) { for (ByteBuffer hook : topology.get_worker_hooks()) { byte[] hookBytes = Utils.toByteArray(hook); IWorkerHook hookObject = Utils.javaDeserialize(hookBytes, IWorkerHook.class); myHookList.add(hookObject); } } return myHookList; }
@Override public List<Object> deserialize(ByteBuffer ser) { try { String data = new String(Utils.toByteArray(ser), StandardCharsets.UTF_8); CSVParser parser = CSVParser.parse(data, CSVFormat.RFC4180); CSVRecord record = parser.getRecords().get(0); Preconditions.checkArgument(record.size() == fieldNames.size(), "Invalid schema"); ArrayList<Object> list = new ArrayList<>(fieldNames.size()); for (int i = 0; i < record.size(); i++) { list.add(record.get(i)); } return list; } catch (IOException e) { throw new RuntimeException(e); } }
@Test public void testJsonSerializer() { final List<String> fields = Lists.newArrayList("ID", "val"); List<Object> o = Lists.<Object> newArrayList(1, "2"); JsonSerializer s = new JsonSerializer(fields); ByteBuffer buf = s.write(o, null); byte[] b = Utils.toByteArray(buf); assertEquals("{\"ID\":1,\"val\":\"2\"}", new String(b)); } }
@Override public byte[] serialize(String s, ByteBuffer b) { return Utils.toByteArray(b); } }
public static String deserializeString(ByteBuffer string) { if (string.hasArray()) { int base = string.arrayOffset(); return new String(string.array(), base + string.position(), string.remaining(), UTF8_CHARSET); } else { return new String(Utils.toByteArray(string), UTF8_CHARSET); } }
public List<Object> deserialize(ByteBuffer ser) { // Maintain backward compatibility for 0.10 byte[] b = Utils.toByteArray(ser); return tuple(new Object[]{b}); }
@Override public List<Object> deserialize(ByteBuffer ser) { String data = new String(Utils.toByteArray(ser), StandardCharsets.UTF_8); List<String> parts = org.apache.storm.sql.runtime.utils.Utils.split(data, delimiter); Preconditions.checkArgument(parts.size() == fieldNames.size(), "Invalid schema"); ArrayList<Object> list = new ArrayList<>(fieldNames.size()); list.addAll(parts); return list; }
@Override public List<Object> deserialize(ByteBuffer ser) { ObjectMapper mapper = new ObjectMapper(); try { @SuppressWarnings("unchecked") HashMap<String, Object> map = mapper.readValue(Utils.toByteArray(ser), HashMap.class); ArrayList<Object> list = new ArrayList<>(fields.size()); for (String f : fields) { list.add(map.get(f)); } return list; } catch (IOException e) { throw new RuntimeException(e); } }
@Override public Iterable<List<Object>> deserialize(ByteBuffer ser) { return asList(tuple(Utils.toByteArray(ser))); }
@Override public List<Object> deserialize(ByteBuffer ser) { try { Schema schema = schemas.getSchema(schemaString); DatumReader<GenericRecord> reader = new GenericDatumReader<>(schema); BinaryDecoder decoder = DecoderFactory.get().binaryDecoder(Utils.toByteArray(ser), null); GenericRecord record = reader.read(null, decoder); ArrayList<Object> list = new ArrayList<>(fieldNames.size()); for (String field : fieldNames) { Object value = record.get(field); // Avro strings are stored using a special Avro Utf8 type instead of using Java primitives list.add(SerdeUtils.convertAvroUtf8(value)); } return list; } catch (IOException e) { throw new RuntimeException(e); } }
@Override public List<Object> deserialize(ByteBuffer ser) { try { String data = new String(Utils.toByteArray(ser), StandardCharsets.UTF_8); CSVParser parser = CSVParser.parse(data, CSVFormat.RFC4180); CSVRecord record = parser.getRecords().get(0); Preconditions.checkArgument(record.size() == fieldNames.size(), "Invalid schema"); ArrayList<Object> list = new ArrayList<>(fieldNames.size()); for (int i = 0; i < record.size(); i++) { list.add(record.get(i)); } return list; } catch (IOException e) { throw new RuntimeException(e); } }
@Override public List<Object> deserialize(ByteBuffer ser) { String jsonStr = null; if (ser.hasArray()) { int base = ser.arrayOffset(); jsonStr = new String(ser.array(), base + ser.position(), ser.remaining()); } else { jsonStr = new String(Utils.toByteArray(ser), UTF8_CHARSET); } JSONObject jsonObject = JSONObject.fromObject(jsonStr); Values values = new Values(); for (String outputField : outputFields) { if("jsonBody".equals(outputField)) { values.add(jsonStr); } else { if(!jsonObject.containsKey(outputField)) { JSONObject rcMsgpara = JSONObject.fromObject(jsonObject.get("rc_msg_para")); values.add(rcMsgpara.get(outputField)); } else { values.add(jsonObject.get(outputField)); } } } return values; }