Package org.rssowl.core.model.types

Examples of org.rssowl.core.model.types.IFeed


      assertEquals(true, folder.getProperty("Boolean"));
      assertEquals(2.2D, folder.getProperty("Double"));
      assertEquals(3.3F, folder.getProperty("Float"));

      /* Add Properties to a Feed */
      IFeed feed = fFactory.createFeed(null, new URL("http://www.myfeed.com"));
      feed.setProperty("String", "Foo");
      feed.setProperty("Integer", 1);
      feed.setProperty("Boolean", true);
      feed.setProperty("Double", 2.2D);
      feed.setProperty("Float", 3.3F);
      FeedReference feedRef = new FeedReference(fDao.saveFeed(feed).getId());
      feed = feedRef.resolve();
      assertEquals("Foo", feed.getProperty("String"));
      assertEquals(1, feed.getProperty("Integer"));
      assertEquals(true, feed.getProperty("Boolean"));
      assertEquals(2.2D, feed.getProperty("Double"));
      assertEquals(3.3F, feed.getProperty("Float"));

      /* Add Properties to a BookMark */
      IBookMark bookMark = fFactory.createBookMark(null, folderRef.resolve(),
          feed.getLink(), feedRef, "BookMark");
      bookMark.setProperty("String", "Foo");
      bookMark.setProperty("Integer", 1);
      bookMark.setProperty("Boolean", true);
      bookMark.setProperty("Double", 2.2D);
      bookMark.setProperty("Float", 3.3F);
View Full Code Here


   */
  @Test
  public void testAddDeleteFeedWithNoNews() throws Exception {
    NewsListener feedListener = null;
    try {
      IFeed feed = NewsModel.getDefault().getTypesFactory().createFeed(null, new URL("http://www.feed.com"));
      final boolean addedEvent[] = new boolean[1];
      final boolean deletedEvent[] = new boolean[1];

      feedListener = new NewsAdapter() {
        @Override
        public void newsAdded(Set<NewsEvent> events) {
          addedEvent[0] = true;
        }

        @Override
        public void newsDeleted(Set<NewsEvent> events) {
          deletedEvent[0] = true;
        }
      };
      NewsModel.getDefault().addNewsListener(feedListener);

      feed = NewsModel.getDefault().getPersistenceLayer().getModelDAO().saveFeed(feed);
      NewsModel.getDefault().getPersistenceLayer().getModelDAO().deleteFeed(new FeedReference(feed.getId()));

      if (addedEvent[0])
        fail("Unexpected newsAdded Event for Feed with 0 News");
      if (deletedEvent[0])
        fail("Unexpected newsDeleted Event for Feed with 0 News");
View Full Code Here

   * @throws Exception
   */
  @SuppressWarnings("nls")
  @Test
  public void testSetNewsState() throws Exception {
    IFeed feed = fModel.getTypesFactory().createFeed(null, new URL("http://www.feed.com"));

    fModel.getTypesFactory().createNews(null, feed, new Date());
    fModel.getTypesFactory().createNews(null, feed, new Date());
    fModel.getTypesFactory().createNews(null, feed, new Date());

View Full Code Here

   * @throws Exception
   */
  @SuppressWarnings("nls")
  @Test
  public void testLoadNewsStates() throws Exception {
    IFeed feed = fModel.getTypesFactory().createFeed(null, new URL("http://www.feed.com"));
    FeedReference feedRef = new FeedReference(fDao.saveFeed(feed).getId());

    for (int i = 0; i < 5; i++) {
      INews news = fModel.getTypesFactory().createNews(null, feed, new Date());
      fDao.saveNews(news);
      news.setState(INews.State.NEW);
      fDao.saveNews(news);
    }

    for (int i = 0; i < 4; i++) {
      INews news = fModel.getTypesFactory().createNews(null, feed, new Date());
      fDao.saveNews(news);
      news.setState(INews.State.UPDATED);
      fDao.saveNews(news);
    }

    for (int i = 0; i < 3; i++) {
      INews news = fModel.getTypesFactory().createNews(null, feed, new Date());
      fDao.saveNews(news);
      news.setState(INews.State.UNREAD);
      fDao.saveNews(news);
    }

    for (int i = 0; i < 2; i++) {
      INews news = fModel.getTypesFactory().createNews(null, feed, new Date());
      fDao.saveNews(news);
      news.setState(INews.State.READ);
      fDao.saveNews(news);
    }

    for (int i = 0; i < 1; i++) {
      INews news = fModel.getTypesFactory().createNews(null, feed, new Date());
      fDao.saveNews(news);
      news.setState(INews.State.HIDDEN);
      fDao.saveNews(news);
    }

    int newCount = 0, updatedCount = 0, unreadCount = 0, readCount = 0, hiddenCount = 0;

    List<State> states = new ArrayList<State>();

    feed = feedRef.resolve();
    List<INews> news = feed.getNews();

    for (INews newsitem : news) {
      states.add(newsitem.getState());
    }

View Full Code Here

  public void testMergeMarks() throws Exception {

    /* Merge BookMarks */
    {
      IFolder folder = fDao.saveFolder(fFactory.createFolder(null, null, "Root"));
      IFeed feed = fDao.saveFeed(fFactory.createFeed(null, new URL("http://www.link.de")));
      IBookMark bookmark = fDao.saveBookMark(fFactory.createBookMark(null, folder,
          feed.getLink(), new FeedReference(feed.getId()), "BookMark"));

      /* Create BookMark to merge into existing BookMark */
      IBookMark updatedBookMark1 = fFactory.createBookMark(bookmark.getId(), folder,
          feed.getLink(), new FeedReference(feed.getId()), "BookMark *updated*");

      IBookMark updatedBookMark2 = fFactory.createBookMark(bookmark.getId(), folder,
          feed.getLink(), new FeedReference(feed.getId()), "BookMark *updated*");
      updatedBookMark2.setCreationDate(new Date(System.currentTimeMillis() + 1000));
      updatedBookMark2.setErrorLoading(true);
      updatedBookMark2.setLastVisitDate(new Date(System.currentTimeMillis()));
      updatedBookMark2.setPopularity(100);
      updatedBookMark2.setProperty("Foo", "Bar");

      IFeed feed2 = fDao.saveFeed(fFactory.createFeed(null, new URL("http://www.link2.de")));
      IBookMark updatedBookMark3 = fFactory.createBookMark(bookmark.getId(), folder,
          feed2.getLink(), new FeedReference(feed2.getId()), "BookMark *updated*");

      /* Merge and Test */
      bookmark.merge(updatedBookMark1);
      assertTrue(((BookMark) bookmark).isIdentical(updatedBookMark1));

View Full Code Here

    /* Folder, BookMark, Feed, News (Folder Deleted) */
    {
      IFolder root = fFactory.createFolder(null, null, "Root");
      root = fDao.saveFolder(root);

      IFeed feed = fFactory.createFeed(null, new URL("http://www.feed.com"));
      fFactory.createNews(null, feed, new Date());
      FeedReference feedRef = new FeedReference(fDao.saveFeed(feed).getId());

      IBookMark mark = fFactory.createBookMark(null, root, feed.getLink(), feedRef, "BookMark");
      root = fDao.saveFolder(root);
      mark = (IBookMark) root.getMarks().get(0);

      assertEquals(1, new FeedReference(feed.getId()).resolve().getNews().size());

      NewsReference newsRef = new NewsReference(feedRef.resolve().getNews().get(0).getId());

      fDao.deleteFolder(new FolderReference(root.getId()));

      assertNull("Expected this Entity to be NULL", new FolderReference(root.getId()).resolve());
      assertNull("Expected this Entity to be NULL", new BookMarkReference(mark.getId()).resolve());
      assertNull("Expected this Entity to be NULL", feedRef.resolve());
      assertNull("Expected this Entity to be NULL", newsRef.resolve());
    }

    /* Root Folder, Folder, BookMark, Feed, News (Folder Deleted) */
    {
      IFolder root = fFactory.createFolder(null, null, "Root");
      root = fDao.saveFolder(root);

      IFolder folder = fFactory.createFolder(null, root, "Folder");
      folder = fDao.saveFolder(folder);

      IFeed feed = fFactory.createFeed(null, new URL("http://www.feed2.com"));
      fFactory.createNews(null, feed, new Date());
      FeedReference feedRef = new FeedReference(fDao.saveFeed(feed).getId());

      IBookMark mark = fFactory.createBookMark(null, folder, feed.getLink(),
          feedRef, "BookMark");
      folder = fDao.saveFolder(folder);
      mark = (IBookMark) folder.getMarks().get(0);

      assertEquals(1, new FeedReference(feed.getId()).resolve().getNews().size());

      NewsReference newsRef = new NewsReference(feedRef.resolve().getNews().get(0).getId());

      fDao.deleteFolder(new FolderReference(folder.getId()));

      assertNull("Expected this Entity to be NULL", new FolderReference(folder.getId()).resolve());
      assertNull("Expected this Entity to be NULL", new BookMarkReference(mark.getId()).resolve());
      assertNull("Expected this Entity to be NULL", feedRef.resolve());
      assertNull("Expected this Entity to be NULL", newsRef.resolve());
    }

    /* Root Folder, Folder, BookMark, Feed, News (Folder Deleted #2) */
    {
      IFolder root = fFactory.createFolder(null, null, "Root");
      root = fDao.saveFolder(root);

      IFolder folder = fFactory.createFolder(null, root, "Folder");
      folder = fDao.saveFolder(folder);

      IFeed feed = fFactory.createFeed(null, new URL("http://www.feed3.com"));
      fFactory.createNews(null, feed, new Date());
      FeedReference feedRef = new FeedReference(fDao.saveFeed(feed).getId());

      IBookMark mark = fFactory.createBookMark(null, folder, feed.getLink(),
          feedRef, "BookMark");
      folder = fDao.saveFolder(folder);
      mark = (IBookMark) folder.getMarks().get(0);

      assertEquals(1, new FeedReference(feed.getId()).resolve().getNews().size());

      NewsReference newsRef = new NewsReference(feedRef.resolve().getNews().get(0).getId());

      /* Delete by calling delete */
      fDao.deleteFolder(new FolderReference(folder.getId()));

      final long rootFolderId = root.getId();
      FolderListener folderListener = new FolderAdapter() {
        @Override
        public void folderUpdated(Set<FolderEvent> events) {
          for (FolderEvent event : events) {
            if (event.getEntity().getId() == rootFolderId)
              assertTrue(event.isRoot());
            else
              assertFalse(event.isRoot());
          }
        }
      };
      NewsModel.getDefault().addFolderListener(folderListener);
      try {
        fDao.saveFolder(root);
      } finally {
        NewsModel.getDefault().removeFolderListener(folderListener);
      }

      assertNull("Expected this Entity to be NULL", new FolderReference(folder.getId()).resolve());
      assertNull("Expected this Entity to be NULL", new BookMarkReference(mark.getId()).resolve());
      assertNull("Expected this Entity to be NULL", feedRef.resolve());
      assertNull("Expected this Entity to be NULL", newsRef.resolve());
    }

    /* Folder, BookMark, Feed, News (BookMark Deleted) */
    {
      IFolder root = fFactory.createFolder(null, null, "Root");
      root = fDao.saveFolder(root);

      IFeed feed = fFactory.createFeed(null, new URL("http://www.feed4.com"));
      fFactory.createNews(null, feed, new Date());
      FeedReference feedRef = new FeedReference(fDao.saveFeed(feed).getId());

      IBookMark mark = fFactory.createBookMark(null, root, feed.getLink(), feedRef, "BookMark");
      root = fDao.saveFolder(root);
      mark = (IBookMark) root.getMarks().get(0);

      assertEquals(1, new FeedReference(feed.getId()).resolve().getNews().size());

      NewsReference newsRef = new NewsReference(feedRef.resolve().getNews().get(0).getId());

      fDao.deleteBookMark(new BookMarkReference(mark.getId()));

      assertNull("Expected this Entity to be NULL", new BookMarkReference(mark.getId()).resolve());
      assertNull("Expected this Entity to be NULL", feedRef.resolve());
      assertNull("Expected this Entity to be NULL", newsRef.resolve());
    }

    /* Folder, BookMark, Feed, News (BookMark Deleted #2) */
    {
      IFolder root = fFactory.createFolder(null, null, "Root");
      root = fDao.saveFolder(root);

      IFeed feed = fFactory.createFeed(null, new URL("http://www.feed5.com"));
      fFactory.createNews(null, feed, new Date());
      FeedReference feedRef = new FeedReference(fDao.saveFeed(feed).getId());

      IBookMark mark = fFactory.createBookMark(null, root, feed.getLink(), feedRef, "BookMark");
      root = fDao.saveFolder(root);
      mark = (IBookMark) root.getMarks().get(0);

      assertEquals(1, new FeedReference(feed.getId()).resolve().getNews().size());

      NewsReference newsRef = new NewsReference(feedRef.resolve().getNews().get(0).getId());

      /* Delete by calling delete */
      fDao.deleteBookMark(new BookMarkReference(mark.getId()));

      assertNull("Expected this Entity to be NULL", new BookMarkReference(mark.getId()).resolve());
      assertNull("Expected this Entity to be NULL", feedRef.resolve());
      assertNull("Expected this Entity to be NULL", newsRef.resolve());
    }

    /* Feed, News (Feed Deleted) */
    {
      IFeed feed = fFactory.createFeed(null, new URL("http://www.feed6.com"));
      fFactory.createNews(null, feed, new Date());
      FeedReference feedRef = new FeedReference(fDao.saveFeed(feed).getId());

      assertEquals(1, new FeedReference(feed.getId()).resolve().getNews().size());

      NewsReference newsRef = new NewsReference(feedRef.resolve().getNews().get(0).getId());

      fDao.deleteFeed(feedRef);

View Full Code Here

     
      IFolder folder2 =fFactory.createFolder(null, root, "Folder #2");
      root = fDao.saveFolder(root);
      folder2 = root.getFolders().get(1);

      IFeed feed = fFactory.createFeed(null, new URL("http://www.feed.com"));
      fFactory.createNews(null, feed, new Date());
      FeedReference feedRef = new FeedReference(fDao.saveFeed(feed).getId());

      fFactory.createBookMark(null, folder1, feed.getLink(), feedRef, "BookMark");
      folder1 = fDao.saveFolder(folder1);

      assertEquals(1, new FeedReference(feed.getId()).resolve().getNews().size());

      folderListener= new FolderAdapter() {
        @Override
        public void folderUpdated(Set<FolderEvent> events) {
          for (FolderEvent folderEvent : events) {
View Full Code Here

  /**
   * @throws Exception
   */
  @Test
  public void testFolderMarkGrouping() throws Exception {
    IFeed feed = fFactory.createFeed(null, new URL("http://www.link.com"));
    FeedReference feedRef = new FeedReference(fDao.saveFeed(feed).getId());

    IFolder root = fFactory.createFolder(null, null, "Root");

    /* Today */
    IBookMark bookmark1 = fFactory.createBookMark(null, root, feed.getLink(), feedRef, "BookMark 1");
    bookmark1.setLastVisitDate(fToday);
    ISearchMark searchmark1 = fFactory.createSearchMark(null, root, "SearchMark 1");
    searchmark1.setLastVisitDate(fToday);

    /* Yesterday */
    IBookMark bookmark2 = fFactory.createBookMark(null, root, feed.getLink(), feedRef, "BookMark 2");
    bookmark2.setLastVisitDate(fYesterday);
    ISearchMark searchmark2 = fFactory.createSearchMark(null, root, "SearchMark 2");
    searchmark2.setLastVisitDate(fYesterday);

    /* Earlier this Week */
    IBookMark bookmark3 = fFactory.createBookMark(null, root, feed.getLink(), feedRef, "BookMark 3");
    bookmark3.setLastVisitDate(fEarlierThisWeek);
    ISearchMark searchmark3 = fFactory.createSearchMark(null, root, "SearchMark 3");
    searchmark3.setLastVisitDate(fEarlierThisWeek);

    /* Last Week */
    IBookMark bookmark4 = fFactory.createBookMark(null, root, feed.getLink(), feedRef, "BookMark 4");
    bookmark4.setLastVisitDate(fLastWeek);
    ISearchMark searchmark4 = fFactory.createSearchMark(null, root, "SearchMark 4");
    searchmark4.setLastVisitDate(fLastWeek);

    /* More than one Week ago */
    IBookMark bookmark5 = fFactory.createBookMark(null, root, feed.getLink(), feedRef, "BookMark 5");
    bookmark5.setLastVisitDate(new Date(0));

    /* Visited Never */
    ISearchMark searchmark5 = fFactory.createSearchMark(null, root, "SearchMark 5");

    /* Future */
    IBookMark bookmark6 = fFactory.createBookMark(null, root, feed.getLink(), feedRef, "BookMark 6");
    bookmark6.setLastVisitDate(new Date(fToday.getTime() + 10000000));

    List<IEntity> input = new ArrayList<IEntity>();
    input.add(bookmark1);
    input.add(bookmark2);
View Full Code Here

  /**
   * @throws Exception
   */
  @Test
  public void testFolderMarkFiltering() throws Exception {
    IFeed feed1 = fFactory.createFeed(null, new URL("http://www.foo.com"));
    feed1.setDescription("This is the bar.");
    fFactory.createNews(null, feed1, new Date());
    fFactory.createNews(null, feed1, new Date()).setState(INews.State.UNREAD);
    FeedReference feedRef1 = new FeedReference(fDao.saveFeed(feed1).getId());

    IFeed feed2 = fFactory.createFeed(null, new URL("http://www.bar.com"));
    feed2.setDescription("This is the foo.");
    FeedReference feedRef2 = new FeedReference(fDao.saveFeed(feed2).getId());

    IFolder root = fFactory.createFolder(null, null, "Root");

    IBookMark bm1 = fFactory.createBookMark(null, root, feed1.getLink(), feedRef1, "FookMark 1");
    bm1.setErrorLoading(true);
    bm1.setPopularity(1);

    ISearchMark sm1 = fFactory.createSearchMark(null, root, "SearchMark 1");
    sm1.setPopularity(1);

    IBookMark bm2 = fFactory.createBookMark(null, root, feed2.getLink(), feedRef2, "BookMark 2");
    bm2.setPopularity(1);

    ISearchMark sm2 = fFactory.createSearchMark(null, root, "SearchMark 2");
    sm2.setPopularity(1);

    IBookMark bm3 = fFactory.createBookMark(null, root, feed1.getLink(), feedRef1, "BookMark 3");
    bm3.setPopularity(1);

    ISearchMark sm3 = fFactory.createSearchMark(null, root, "SearchMark 3");
    sm3.setPopularity(1);

    IBookMark bm4 = fFactory.createBookMark(null, root, feed2.getLink(), feedRef2, "BookMark 4");
    bm4.setPopularity(1);

    ISearchMark sm4 = fFactory.createSearchMark(null, root, "SearchMark 4");
    sm4.setPopularity(1);

    IBookMark bm5 = fFactory.createBookMark(null, root, feed1.getLink(), feedRef1, "BookMark 5");
    bm5.setPopularity(1);

    ISearchMark sm5 = fFactory.createSearchMark(null, root, "SearchMark 5");

    IBookMark bm6 = fFactory.createBookMark(null, root, feed2.getLink(), feedRef2, "BookMark 6");

    /* Fill into Array */
    Object elements[] = new Object[] { bm1, bm2, bm3, bm4, bm5, bm6, sm1, sm2, sm3, sm4, sm5 };

    /* Filter: Show All */
 
View Full Code Here

  @SuppressWarnings("unchecked")
  public Object getAdapter(Object adaptableObject, Class adapterType) {

    /* IFeed supports Favicons */
    if (IFaviconSupport.class.equals(adapterType) && adaptableObject instanceof IFeed) {
      final IFeed feed = (IFeed) adaptableObject;
      return new IFaviconSupport() {
        public byte[] getFavicon() {
          Object property = feed.getProperty(KEY_FAVICON);
          if (property != null && property instanceof byte[])
            return (byte[]) property;

          return null;
        }

        public void setFavicon(byte[] favicon) {
          feed.setProperty(KEY_FAVICON, favicon);
        }

        public void markResolved(boolean resolved) {

          /* Resolved: Store special marker if required */
          if (resolved) {
            Object property = feed.getProperty(KEY_FAVICON);
            if (property != null && property instanceof byte[])
              return;

            feed.setProperty(KEY_FAVICON, NO_FAVICON);
          }

          /* Unresolved: Remove any saved Favicon */
          else {
            feed.setProperty(KEY_FAVICON, null);
          }
        }

        public boolean isResolved() {
          Object property = feed.getProperty(KEY_FAVICON);
          if (property != null && property instanceof byte[])
            return true;

          /* Check for special marker */
          return NO_FAVICON.equals(property);
View Full Code Here

TOP

Related Classes of org.rssowl.core.model.types.IFeed

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.