This commit is contained in:
JW
2024-03-01 02:42:23 +01:00
parent dad4048bc0
commit 713c90a271
2 changed files with 8 additions and 19 deletions

View File

@@ -25,24 +25,19 @@ package io.github.jwdeveloper.tiktok;
import io.github.jwdeveloper.tiktok.extension.collector.TikTokLiveCollector; import io.github.jwdeveloper.tiktok.extension.collector.TikTokLiveCollector;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
public class CollectorExample { public class CollectorExample {
private static String mongoUser;
private static String mongoPassword;
private static String mongoDatabase;
public static void main(String[] args) throws IOException { public static void main(String[] args) throws IOException {
var collector = TikTokLiveCollector.useMongo(settings -> var path = "C:\\Users\\ja\\IdeaProjects\\TikTokLiveJava\\Examples\\src\\main\\resources";
var collector = TikTokLiveCollector.useFile(settings ->
{ {
settings.setConnectionUrl("mongodb+srv://" + mongoUser + ":" + mongoPassword + "@" + mongoDatabase + "/?retryWrites=true&w=majority"); settings.setParentFile(new File(path));
}); });
collector.connect(); collector.connect();
@@ -58,14 +53,7 @@ public class CollectorExample {
{ {
event.getException().printStackTrace(); event.getException().printStackTrace();
}) })
.addListener(collector.newListener(additionalDataFields, document -> .addListener(collector.newListener(additionalDataFields))
{
//filtering document data before it is inserted to database
if (document.get("dataType") == "message") {
return false;
}
return true;
}))
.buildAndConnectAsync(); .buildAndConnectAsync();
} }

View File

@@ -3,6 +3,7 @@ package io.github.jwdeveloper.tiktok.extension.collector.impl.storages;
import io.github.jwdeveloper.tiktok.extension.collector.api.Storage; import io.github.jwdeveloper.tiktok.extension.collector.api.Storage;
import io.github.jwdeveloper.tiktok.extension.collector.api.settings.FileDataCollectorSettings; import io.github.jwdeveloper.tiktok.extension.collector.api.settings.FileDataCollectorSettings;
import org.bson.Document; import org.bson.Document;
import org.bson.json.JsonWriterSettings;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
@@ -29,11 +30,11 @@ public class FileStorage implements Storage {
@Override @Override
public void insert(Document document) { public void insert(Document document) {
var fileName = document.get("dataType") + ":" + document.get("dataTypeName") + ".json"; var fileName = document.get("dataType") + "_" + document.get("dataTypeName") + ".json";
try { try {
var file = new File(settings.getParentFile(), fileName); var file = new File(settings.getParentFile(), fileName);
file.createNewFile(); file.createNewFile();
Files.writeString(file.toPath(), document.toJson(), StandardOpenOption.APPEND); Files.writeString(file.toPath(), document.toJson(JsonWriterSettings.builder().indent(true).build()), StandardOpenOption.APPEND);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }