Examples of NewsCounter


Examples of org.rssowl.core.persist.NewsCounter

    }
  }

  static void removeFeedsAfterNewsBinUpdate(ObjectContainer db, Set<FeedLinkReference> removedFeedRefs) {

    NewsCounter newsCounter = DynamicDAO.getDAO(INewsCounterDAO.class).load();
    boolean changed = false;
    for (FeedLinkReference feedRef : removedFeedRefs) {
      if ((countBookMarkReference(db, feedRef) == 0) && !feedHasNewsWithCopies(db, feedRef)) {
        db.delete(feedRef.resolve());
        changed = true;
View Full Code Here

Examples of org.rssowl.core.persist.NewsCounter

   */
  @Test
  public void testSetNewsStateOnPlanet() throws Exception {
    NewsListener newsListener = null;
    try {
      NewsCounter newsCounter = DynamicDAO.getDAO(INewsCounterDAO.class).load();

      IFeed feed1 = fFactory.createFeed(null, new URI("http://www.feed.com"));
      IFeed feed2 = fFactory.createFeed(null, new URI("http://www.feed2.com"));

      INews news1 = fFactory.createNews(null, feed1, new Date());
      news1.setLink(new URI("www.link.com"));

      INews news2 = fFactory.createNews(null, feed2, new Date());
      news2.setLink(new URI("www.link.com"));

      fFactory.createNews(null, feed1, new Date());
      fFactory.createNews(null, feed2, new Date());

      feed1 = DynamicDAO.save(feed1);
      feed2 = DynamicDAO.save(feed2);

      assertEquals(2, newsCounter.getUnreadCount(news1.getFeedLinkAsText()));
      assertEquals(2, newsCounter.getNewCount(news1.getFeedLinkAsText()));
      assertEquals(2, newsCounter.getUnreadCount(news2.getFeedLinkAsText()));
      assertEquals(2, newsCounter.getNewCount(news2.getFeedLinkAsText()));

      final long feed1ID = feed1.getId();
      final long feed2ID = feed2.getId();
      final long news1ID = feed1.getNews().get(0).getId();
      final long news2ID = feed2.getNews().get(0).getId();

      newsListener = new NewsListener() {
        public void entitiesAdded(Set<NewsEvent> events) {
          fail("Unexpected Event!");
        }

        public void entitiesDeleted(Set<NewsEvent> events) {
          fail("Unexpected Event!");
        }

        public void entitiesUpdated(Set<NewsEvent> events) {
          assertEquals(2, events.size());
          for (NewsEvent event : events) {
            INews news = event.getEntity();
            IFeed parent = news.getFeedReference().resolve();

            if (news.getId() == news1ID)
              assertEquals(feed1ID, parent.getId().longValue());
            else if (news.getId() == news2ID)
              assertEquals(feed2ID, parent.getId().longValue());
            else
              fail("Unexpected Reference in Event!");
          }
        }
      };
      DynamicDAO.addEntityListener(INews.class, newsListener);

      Owl.getPersistenceService().getDAOService().getNewsDAO().setState(Arrays.asList(new INews[] { new NewsReference(news1ID).resolve() }), INews.State.READ, true, false);

      assertEquals(1, newsCounter.getUnreadCount(news1.getFeedLinkAsText()));
      assertEquals(1, newsCounter.getNewCount(news1.getFeedLinkAsText()));
      assertEquals(1, newsCounter.getUnreadCount(news2.getFeedLinkAsText()));
      assertEquals(1, newsCounter.getNewCount(news2.getFeedLinkAsText()));
    } finally {
      if (newsListener != null)
        DynamicDAO.removeEntityListener(INews.class, newsListener);
    }
  }
View Full Code Here

Examples of org.rssowl.core.persist.NewsCounter

      return;

    /* Feeds */
    available = DEFRAG_SUB_WORK_FEEDS;
    int feedCounter = 0;
    NewsCounter newsCounter = new NewsCounter();
    ObjectSet<Feed> allFeeds = sourceDb.query(Feed.class);
    if (!allFeeds.isEmpty()) {
      int allFeedsSize = allFeeds.size();
      int chunk = available / allFeedsSize;

View Full Code Here

Examples of org.rssowl.core.persist.NewsCounter

   * (org.rssowl.core.internal.persist.service.DatabaseEvent)
   */
  @Override
  protected void onDatabaseOpened(DatabaseEvent event) {
    super.onDatabaseOpened(event);
    NewsCounter newsCounter = doLoad();
    if (newsCounter == null) {
      newsCounter = doCountAll();
      save(newsCounter);
    }
    fNewsCounter = newsCounter;
View Full Code Here

Examples of org.rssowl.core.persist.NewsCounter

  protected void preCommit() {
    //Do nothing
  }

  private NewsCounter doCountAll() {
    NewsCounter newsCounter = new NewsCounter();
    Collection<IFeed> feeds = DBHelper.loadAllFeeds(fDb);

    for (IFeed feed : feeds)
      newsCounter.put(feed.getLink().toString(), doCount(feed));

    return newsCounter;
  }
View Full Code Here

Examples of org.rssowl.core.persist.NewsCounter

      }
    }
  }

  static void removeFeedsAfterNewsBinUpdate(ObjectContainer db, Set<FeedLinkReference> removedFeedRefs) {
    NewsCounter newsCounter = DynamicDAO.getDAO(INewsCounterDAO.class).load();
    boolean changed = false;
    for (FeedLinkReference feedRef : removedFeedRefs) {
      if ((countBookMarkReference(db, feedRef) == 0) && !feedHasNewsWithCopies(db, feedRef)) {
        db.delete(feedRef.resolve());
        changed = true;
View Full Code Here

Examples of org.rssowl.core.persist.NewsCounter

    input.add(searchmark5);

    INewsBin bin = fFactory.createNewsBin(null, root, "Bin");
    input.add(bin);

    NewsCounter count = new NewsCounter();
    NewsCounterItem item = new NewsCounterItem(1, 0, 0);
    count.put(feed1.getLink().toString(), item);
    ((BookMark) bookmark1).setNewsCounter(count);

    count = new NewsCounter();
    item = new NewsCounterItem(0, 1, 0);
    count.put(feed2.getLink().toString(), item);
    ((BookMark) bookmark2).setNewsCounter(count);

    count = new NewsCounter();
    item = new NewsCounterItem(0, 0, 1);
    count.put(feed3.getLink().toString(), item);
    ((BookMark) bookmark3).setNewsCounter(count);

    INews news = fFactory.createNews(null, fFactory.createFeed(null, new URI("feed4")), new Date());
    news.setState(INews.State.NEW);
    news.setId(System.currentTimeMillis());
View Full Code Here

Examples of org.rssowl.core.persist.NewsCounter

      assertNotNull(eventType);
      assertNotNull(otherEventType);
      assertEquals(eventType, otherEventType);

      /* Assert NewsCounter / NewsCounterItem */
      NewsCounter newsCounter = db.query(NewsCounter.class).get(0);
      db.activate(newsCounter, Integer.MAX_VALUE);
      NewsCounter otherNewsCounter = defragmentedDb.query(NewsCounter.class).get(0);
      defragmentedDb.activate(otherNewsCounter, Integer.MAX_VALUE);
      assertNotNull(newsCounter);
      assertNotNull(otherNewsCounter);

      NewsCounterItem item = otherNewsCounter.get("http://www.rssowl.org");
      assertEquals(1, item.getNewCounter());
      assertEquals(2, item.getUnreadCounter());
      assertEquals(3, item.getStickyCounter());
    } finally {
      db.close();
View Full Code Here

Examples of org.rssowl.core.persist.NewsCounter

   */
  @Test
  public void testSetNewsStateOnPlanet() throws Exception {
    NewsListener newsListener = null;
    try {
      NewsCounter newsCounter = DynamicDAO.getDAO(INewsCounterDAO.class).load();

      IFeed feed1 = fFactory.createFeed(null, new URI("http://www.feed.com"));
      IFeed feed2 = fFactory.createFeed(null, new URI("http://www.feed2.com"));

      INews news1 = fFactory.createNews(null, feed1, new Date());
      news1.setLink(new URI("www.link.com"));

      INews news2 = fFactory.createNews(null, feed2, new Date());
      news2.setLink(new URI("www.link.com"));

      fFactory.createNews(null, feed1, new Date());
      fFactory.createNews(null, feed2, new Date());

      feed1 = DynamicDAO.save(feed1);
      feed2 = DynamicDAO.save(feed2);

      assertEquals(2, newsCounter.getUnreadCount(news1.getFeedLinkAsText()));
      assertEquals(2, newsCounter.getNewCount(news1.getFeedLinkAsText()));
      assertEquals(2, newsCounter.getUnreadCount(news2.getFeedLinkAsText()));
      assertEquals(2, newsCounter.getNewCount(news2.getFeedLinkAsText()));

      final long feed1ID = feed1.getId();
      final long feed2ID = feed2.getId();
      final long news1ID = feed1.getNews().get(0).getId();
      final long news2ID = feed2.getNews().get(0).getId();

      newsListener = new NewsListener() {
        public void entitiesAdded(Set<NewsEvent> events) {
          fail("Unexpected Event!");
        }

        public void entitiesDeleted(Set<NewsEvent> events) {
          fail("Unexpected Event!");
        }

        public void entitiesUpdated(Set<NewsEvent> events) {
          assertEquals(2, events.size());
          for (NewsEvent event : events) {
            INews news = event.getEntity();
            IFeed parent = news.getFeedReference().resolve();

            if (news.getId() == news1ID)
              assertEquals(feed1ID, parent.getId().longValue());
            else if (news.getId() == news2ID)
              assertEquals(feed2ID, parent.getId().longValue());
            else
              fail("Unexpected Reference in Event!");
          }
        }
      };
      DynamicDAO.addEntityListener(INews.class, newsListener);

      Owl.getPersistenceService().getDAOService().getNewsDAO().setState(Arrays.asList(new INews[] { new NewsReference(news1ID).resolve() }), INews.State.READ, true, false);

      assertEquals(1, newsCounter.getUnreadCount(news1.getFeedLinkAsText()));
      assertEquals(1, newsCounter.getNewCount(news1.getFeedLinkAsText()));
      assertEquals(1, newsCounter.getUnreadCount(news2.getFeedLinkAsText()));
      assertEquals(1, newsCounter.getNewCount(news2.getFeedLinkAsText()));
    } finally {
      if (newsListener != null)
        DynamicDAO.removeEntityListener(INews.class, newsListener);
    }
  }
View Full Code Here

Examples of org.rssowl.core.persist.NewsCounter

    news7.setState(INews.State.HIDDEN);

    DynamicDAO.save(anotherFeed);

    bm = fFactory.createBookMark(null, folder, new FeedLinkReference(URI.create("http://www.rssowl.org")), "Other BookMark");
    NewsCounter counter = DynamicDAO.getDAO(INewsCounterDAO.class).load();
    NewsCounterItem item = new NewsCounterItem(1, 2, 3);
    counter.put(bm.getFeedLinkReference().getLinkAsText(), item);
    DynamicDAO.save(counter);
    ((BookMark) bm).setNewsCounter(counter);

    ISearchMark sm = fFactory.createSearchMark(null, folder, "SM");
    sm.setProperty("key", "value");
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.