in inlong-agent/agent-plugins/src/main/java/org/apache/inlong/agent/plugin/sources/RedisSource.java [541:662]
private void initGson() {
this.gson =
new GsonBuilder().registerTypeAdapter(KeyStringValueHash.class, new TypeAdapter<KeyStringValueHash>() {
@Override
public void write(JsonWriter out, KeyStringValueHash kv) throws IOException {
out.beginObject();
out.name("DB").beginObject();
out.name("dbNumber").value(kv.getDb().getDbNumber());
out.name("dbSize").value(kv.getDb().getDbsize());
out.name("expires").value(kv.getDb().getExpires());
out.endObject();
out.name("valueRdbType").value(kv.getValueRdbType());
out.name("key").value(new String(kv.getKey()));
out.name("value").beginObject();
for (byte[] b : kv.getValue().keySet()) {
out.name(new String(b)).value(new String(kv.getValue().get(b)));
}
out.endObject();
out.endObject();
}
@Override
public KeyStringValueHash read(JsonReader in) throws IOException {
return null;
}
}).registerTypeAdapter(DefaultCommand.class, new TypeAdapter<DefaultCommand>() {
@Override
public void write(JsonWriter out, DefaultCommand dc) throws IOException {
out.beginObject();
out.name("key").value(new String(dc.getCommand()));
out.name("value").beginArray();
for (byte[] bytes : dc.getArgs()) {
out.value(new String(bytes));
}
out.endArray();
out.endObject();
}
@Override
public DefaultCommand read(JsonReader in) throws IOException {
return null;
}
})
.registerTypeAdapter(KeyStringValueList.class, new TypeAdapter<KeyStringValueList>() {
@Override
public void write(JsonWriter out, KeyStringValueList kv) throws IOException {
out.beginObject();
out.name("key").value(new String(kv.getKey()));
out.name("value").beginArray();
for (byte[] bytes : kv.getValue()) {
out.value(new String(bytes));
}
out.endArray();
out.endObject();
}
@Override
public KeyStringValueList read(JsonReader in) throws IOException {
return null;
}
})
.registerTypeAdapter(KeyStringValueSet.class, new TypeAdapter<KeyStringValueSet>() {
@Override
public void write(JsonWriter out, KeyStringValueSet kv) throws IOException {
out.beginObject();
out.name("key").value(new String(kv.getKey()));
out.name("value").beginArray();
for (byte[] bytes : kv.getValue()) {
out.value(new String(bytes));
}
out.endArray();
out.endObject();
}
@Override
public KeyStringValueSet read(JsonReader in) throws IOException {
return null;
}
})
.registerTypeAdapter(KeyStringValueString.class, new TypeAdapter<KeyStringValueString>() {
@Override
public void write(JsonWriter out, KeyStringValueString kv) throws IOException {
out.beginObject();
out.name("key").value(new String(kv.getKey()));
out.name("value").value(new String(kv.getValue()));
out.endObject();
}
@Override
public KeyStringValueString read(JsonReader in) throws IOException {
return null;
}
})
.registerTypeAdapter(KeyStringValueZSet.class, new TypeAdapter<KeyStringValueZSet>() {
@Override
public void write(JsonWriter out, KeyStringValueZSet kv) throws IOException {
out.beginObject();
out.name("key").value(new String(kv.getKey()));
out.name("value").beginArray();
for (ZSetEntry entry : kv.getValue()) {
out.beginObject();
out.name("element").value(new String(entry.getElement()));
out.name("score").value(entry.getScore());
out.endObject();
}
out.endArray();
out.endObject();
}
@Override
public KeyStringValueZSet read(JsonReader in) throws IOException {
return null;
}
})
.create();
}