Search in sources :

Example 1 with BookView

use of com.orgzly.android.db.entity.BookView in project orgzly-android by orgzly.

the class BookNamesake method getAll.

/**
 * Create links between each local book and each remote book with the same name.
 */
public static Map<String, BookNamesake> getAll(Context context, List<BookView> books, List<VersionedRook> versionedRooks) {
    Map<String, BookNamesake> namesakes = new HashMap<>();
    /* Create links from all local books first. */
    for (BookView book : books) {
        BookNamesake pair = new BookNamesake(book.getBook().getName());
        namesakes.put(book.getBook().getName(), pair);
        pair.setBook(book);
    }
    /* Set repo books. */
    for (VersionedRook book : versionedRooks) {
        String fileName = BookName.getFileName(context, book.getUri());
        String name = BookName.fromFileName(fileName).getName();
        BookNamesake pair = namesakes.get(name);
        if (pair == null) {
            /* Local file doesn't exists, create new pair. */
            pair = new BookNamesake(name);
            namesakes.put(name, pair);
        }
        /* Add remote book. */
        pair.addRook(book);
    }
    return namesakes;
}
Also used : VersionedRook(com.orgzly.android.repos.VersionedRook) HashMap(java.util.HashMap) BookView(com.orgzly.android.db.entity.BookView)

Example 2 with BookView

use of com.orgzly.android.db.entity.BookView in project orgzly-android by orgzly.

the class TestUtils method setupBook.

public BookView setupBook(String name, String content, Repo link) {
    BookView bookView = null;
    try {
        bookView = loadBookFromContent(name, BookFormat.ORG, content, null);
    } catch (IOException e) {
        e.printStackTrace();
        fail(e.toString());
    }
    dataRepository.setLink(bookView.getBook().getId(), link);
    return bookView;
}
Also used : BookView(com.orgzly.android.db.entity.BookView) IOException(java.io.IOException)

Example 3 with BookView

use of com.orgzly.android.db.entity.BookView in project orgzly-android by orgzly.

the class DirectoryRepoTest method testRenameBook.

// TODO: Do the same for dropbox repo
@Test
public void testRenameBook() {
    BookView bookView;
    testUtils.setupRepo(RepoType.DIRECTORY, repoUriString);
    testUtils.setupBook("booky", "");
    testUtils.sync();
    bookView = dataRepository.getBookView("booky");
    assertEquals(repoUriString, bookView.getLinkRepo().getUrl());
    assertEquals(repoUriString, bookView.getSyncedTo().getRepoUri().toString());
    assertEquals(repoUriString + "/booky.org", bookView.getSyncedTo().getUri().toString());
    dataRepository.renameBook(bookView, "booky-renamed");
    bookView = dataRepository.getBookView("booky-renamed");
    assertEquals(repoUriString, bookView.getLinkRepo().getUrl());
    assertEquals(repoUriString, bookView.getSyncedTo().getRepoUri().toString());
    assertEquals(repoUriString + "/booky-renamed.org", bookView.getSyncedTo().getUri().toString());
}
Also used : BookView(com.orgzly.android.db.entity.BookView) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 4 with BookView

use of com.orgzly.android.db.entity.BookView in project orgzly-android by orgzly.

the class SyncTest method testMtimeOfLoadedBook.

@Test
public void testMtimeOfLoadedBook() {
    Repo repo = testUtils.setupRepo(RepoType.MOCK, "mock://repo-a");
    testUtils.setupRook(repo, "mock://repo-a/book.org", "Content", "rev", 1234567890000L);
    testUtils.sync();
    BookView book = dataRepository.getBooks().get(0);
    assertEquals(BookSyncStatus.DUMMY_WITHOUT_LINK_AND_ONE_ROOK.toString(), book.getBook().getSyncStatus());
    assertEquals(1234567890000L, book.getBook().getMtime().longValue());
}
Also used : Repo(com.orgzly.android.db.entity.Repo) BookView(com.orgzly.android.db.entity.BookView) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Example 5 with BookView

use of com.orgzly.android.db.entity.BookView in project orgzly-android by orgzly.

the class SyncTest method testRenameSyncedBook.

@Test
public void testRenameSyncedBook() {
    testUtils.setupRepo(RepoType.MOCK, "mock://repo-a");
    testUtils.setupBook("Booky", "1 2 3");
    testUtils.sync();
    BookView book = dataRepository.getBookView("Booky");
    assertEquals("mock://repo-a/Booky.org", book.getSyncedTo().getUri().toString());
    dataRepository.renameBook(book, "BookyRenamed");
    BookView renamedBook = dataRepository.getBookView("BookyRenamed");
    assertNotNull(renamedBook);
    assertEquals("mock://repo-a", renamedBook.getLinkRepo().getUrl());
    assertEquals("mock://repo-a", renamedBook.getSyncedTo().getRepoUri().toString());
    assertEquals("mock://repo-a/BookyRenamed.org", renamedBook.getSyncedTo().getUri().toString());
}
Also used : BookView(com.orgzly.android.db.entity.BookView) OrgzlyTest(com.orgzly.android.OrgzlyTest) Test(org.junit.Test)

Aggregations

BookView (com.orgzly.android.db.entity.BookView)19 OrgzlyTest (com.orgzly.android.OrgzlyTest)16 Test (org.junit.Test)16 Repo (com.orgzly.android.db.entity.Repo)11 BookNamesake (com.orgzly.android.sync.BookNamesake)2 NotificationManager (android.app.NotificationManager)1 PendingIntent (android.app.PendingIntent)1 Intent (android.content.Intent)1 NotificationCompat (androidx.core.app.NotificationCompat)1 BookAction (com.orgzly.android.db.entity.BookAction)1 Note (com.orgzly.android.db.entity.Note)1 VersionedRook (com.orgzly.android.repos.VersionedRook)1 MainActivity (com.orgzly.android.ui.main.MainActivity)1 IOException (java.io.IOException)1 HashMap (java.util.HashMap)1