diff --git a/src/main/java/de/fabianonline/telegram_backup/Database.java b/src/main/java/de/fabianonline/telegram_backup/Database.java index c4ce372..d09d466 100644 --- a/src/main/java/de/fabianonline/telegram_backup/Database.java +++ b/src/main/java/de/fabianonline/telegram_backup/Database.java @@ -47,6 +47,7 @@ import java.text.SimpleDateFormat; import de.fabianonline.telegram_backup.mediafilemanager.AbstractMediaFileManager; import de.fabianonline.telegram_backup.mediafilemanager.FileManagerFactory; +import de.fabianonline.telegram_backup.models.Message; public class Database { private Connection conn; @@ -396,12 +397,12 @@ public class Database { } } - public LinkedList getMessagesWithMedia() { + public LinkedList getMessagesWithMedia() { try { - LinkedList list = new LinkedList(); - ResultSet rs = stmt.executeQuery("SELECT data FROM messages WHERE has_media=1"); + LinkedList list = new LinkedList(); + ResultSet rs = stmt.executeQuery("SELECT json FROM messages WHERE has_media=1"); while (rs.next()) { - list.add(bytesToTLMessage(rs.getBytes(1))); + list.add(new Message(rs.getString(1))); } rs.close(); return list; diff --git a/src/main/java/de/fabianonline/telegram_backup/TelegramUpdateHandler.java b/src/main/java/de/fabianonline/telegram_backup/TelegramUpdateHandler.java index b06fa4e..b9cd280 100644 --- a/src/main/java/de/fabianonline/telegram_backup/TelegramUpdateHandler.java +++ b/src/main/java/de/fabianonline/telegram_backup/TelegramUpdateHandler.java @@ -137,7 +137,7 @@ class TelegramUpdateHandler implements UpdateCallback { private void processUpdate(TLAbsUpdate update, TelegramClient client) { if (update instanceof TLUpdateNewMessage) { TLAbsMessage abs_msg = ((TLUpdateNewMessage)update).getMessage(); - Message msg = new Message(abs_msg); + Message msg = Message.fromObject(abs_msg); msg.save(); System.out.print('.'); AbstractMediaFileManager fm = FileManagerFactory.getFileManager(msg); diff --git a/src/main/java/de/fabianonline/telegram_backup/models/Message.java b/src/main/java/de/fabianonline/telegram_backup/models/Message.java index b238526..ccda4d7 100644 --- a/src/main/java/de/fabianonline/telegram_backup/models/Message.java +++ b/src/main/java/de/fabianonline/telegram_backup/models/Message.java @@ -1,6 +1,7 @@ package de.fabianonline.telegram_backup.models; import de.fabianonline.telegram_backup.Database; +import de.fabianonline.telegram_backup.Utils; import com.google.gson.JsonParser; import com.google.gson.JsonObject; @@ -14,6 +15,10 @@ public class Message { public Message(String json) { this.json = new JsonParser().parse(json).getAsJsonObject(); } + + public static Message fromObject(TLAbsMessage msg) { + return new Message(Utils.getGson().fromObject(msg)); + } public static Message get(int id) { String json = Database.getInstance().queryString("SELECT json FROM " + tableName + " WHERE id=" + id);