diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/BookmarksDao.java b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/BookmarksDao.java deleted file mode 100644 index d3e652546..000000000 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/BookmarksDao.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Kiwix Android - * Copyright (c) 2019 Kiwix - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - */ -package org.kiwix.kiwixmobile.core.data.local.dao; - -import com.yahoo.squidb.data.SquidCursor; -import com.yahoo.squidb.sql.Query; -import com.yahoo.squidb.sql.Update; -import java.util.ArrayList; -import java.util.List; -import javax.inject.Inject; -import org.kiwix.kiwixmobile.core.data.local.KiwixDatabase; -import org.kiwix.kiwixmobile.core.data.local.entity.Bookmark; - -/** - * Dao class for bookmarks. - */ - -@Deprecated -public class BookmarksDao { - private final KiwixDatabase kiwixDatabase; - - @Inject - public BookmarksDao(KiwixDatabase kiwixDatabase) { - this.kiwixDatabase = kiwixDatabase; - } - - public List getBookmarks() { - ArrayList bookmarks = new ArrayList<>(); - Query query = Query.select(); - try { - SquidCursor squidCursor = kiwixDatabase - .query(Bookmark.class, query.orderBy(Bookmark.BOOKMARK_TITLE.asc())); - while (squidCursor.moveToNext()) { - Bookmark bookmark = new Bookmark(); - bookmark.setZimId(squidCursor.get(Bookmark.ZIM_ID)); - bookmark.setZimName(squidCursor.get(Bookmark.ZIM_NAME)); - bookmark.setBookmarkTitle(squidCursor.get(Bookmark.BOOKMARK_TITLE)); - bookmark.setBookmarkUrl(squidCursor.get(Bookmark.BOOKMARK_URL)); - bookmarks.add(bookmark); - } - } catch (Exception exception) { - exception.printStackTrace(); - } - return bookmarks; - } - - public void processBookmark(StringOperation operation) { - try { - SquidCursor bookmarkCursor = kiwixDatabase.query(Bookmark.class, - Query.select(Bookmark.ROWID, Bookmark.BOOKMARK_URL)); - while (bookmarkCursor.moveToNext()) { - String url = bookmarkCursor.get(Bookmark.BOOKMARK_URL); - url = operation.apply(url); - if (url != null) { - kiwixDatabase.update(Update.table(Bookmark.TABLE) - .where(Bookmark.ROWID.eq(bookmarkCursor.get(Bookmark.ROWID))) - .set(Bookmark.BOOKMARK_URL, url)); - } - } - } catch (Exception exception) { - exception.printStackTrace(); - } - } - - public interface StringOperation { - String apply(String string); - } -} diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/BookmarksDao.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/BookmarksDao.kt new file mode 100644 index 000000000..34c7de0a6 --- /dev/null +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/BookmarksDao.kt @@ -0,0 +1,79 @@ +/* + * Kiwix Android + * Copyright (c) 2019 Kiwix + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ +package org.kiwix.kiwixmobile.core.data.local.dao + +import com.yahoo.squidb.sql.Query +import com.yahoo.squidb.sql.Update +import org.kiwix.kiwixmobile.core.data.local.KiwixDatabase +import org.kiwix.kiwixmobile.core.data.local.entity.Bookmark +import javax.inject.Inject + +/** + * Dao class for bookmarks. + */ +@Deprecated("") +class BookmarksDao @Inject constructor(private val kiwixDatabase: KiwixDatabase) { + val bookmarks: List + @Suppress("TooGenericExceptionCaught") + get() { + val bookmarks = ArrayList() + val query = Query.select() + try { + val squidCursor = kiwixDatabase + .query(Bookmark::class.java, query.orderBy(Bookmark.BOOKMARK_TITLE.asc())) + while (squidCursor.moveToNext()) { + val bookmark = Bookmark() + bookmark.zimId = squidCursor.get(Bookmark.ZIM_ID)!! + bookmark.zimName = squidCursor.get(Bookmark.ZIM_NAME)!! + bookmark.bookmarkTitle = squidCursor.get(Bookmark.BOOKMARK_TITLE)!! + bookmark.bookmarkUrl = squidCursor.get(Bookmark.BOOKMARK_URL)!! + bookmarks.add(bookmark) + } + } catch (exception: Exception) { + exception.printStackTrace() + } + return bookmarks + } + + @Suppress("TooGenericExceptionCaught") + fun processBookmark(operation: StringOperation) { + try { + val bookmarkCursor = kiwixDatabase.query( + Bookmark::class.java, + Query.select(Bookmark.ROWID, Bookmark.BOOKMARK_URL) + ) + while (bookmarkCursor.moveToNext()) { + var url = bookmarkCursor.get(Bookmark.BOOKMARK_URL) + url = operation.apply(url) + if (url != null) { + kiwixDatabase.update( + Update.table(Bookmark.TABLE) + .where(Bookmark.ROWID.eq(bookmarkCursor.get(Bookmark.ROWID))) + .set(Bookmark.BOOKMARK_URL, url) + ) + } + } + } catch (exception: Exception) { + exception.printStackTrace() + } + } + + interface StringOperation { + fun apply(string: String?): String? + } +}