Examples of INewsMark


Examples of org.rssowl.core.persist.INewsMark

   * @see org.rssowl.ui.internal.editors.feed.IFeedViewSite#getInputPreferences()
   */
  public IPreferenceScope getInputPreferences() {
    FeedViewInput input = (FeedViewInput) fFeedView.getEditorInput();
    if (input != null) {
      INewsMark mark = input.getMark();
      if (mark != null) {
        if (mark instanceof FolderNewsMark)
          return Owl.getPreferenceService().getEntityScope(((FolderNewsMark) mark).getFolder());

        return Owl.getPreferenceService().getEntityScope(mark);
View Full Code Here

Examples of org.rssowl.core.persist.INewsMark

      else {
        try {
          Class<?> klass = Class.forName(inputClass, true, Thread.currentThread().getContextClassLoader());
          if (INewsMark.class.isAssignableFrom(klass)) {
            Class<? extends INewsMark> markClass = klass.asSubclass(INewsMark.class);
            INewsMark mark = DynamicDAO.load(markClass, Long.valueOf(inputId));
            if (mark != null)
              return new FeedViewInput(mark);
          } else
            throw new IllegalStateException(FeedViewInput.MARK_INPUT_CLASS + " does not implement IMark: " + inputClass); //$NON-NLS-1$
        } catch (ClassNotFoundException e) {
View Full Code Here

Examples of org.rssowl.core.persist.INewsMark

  public static WebBrowserContext createFrom(ISelection selection, FeedView feedview) {
    if (selection == null || feedview == null)
      return new WebBrowserContext();

    INews news = getNews(selection);
    INewsMark mark = ((FeedViewInput) feedview.getEditorInput()).getMark();
    return createFrom(news, mark);
  }
View Full Code Here

Examples of org.rssowl.core.persist.INewsMark

            /* Return on Cancelation or shutdown or deletion */
            if (otherMonitor.isCanceled() || !shouldProceedReloading(monitor, bookmark))
              return Status.CANCEL_STATUS;

            /* Find out if retention required or not */
            INewsMark activeFeedViewNewsMark = OwlUI.getActiveFeedViewNewsMark();
            boolean runRetention = true;
            if (activeFeedViewNewsMark != null) {
              if (activeFeedViewNewsMark.equals(bookmark))
                runRetention = false; //Avoid clean up on feed the user is reading on
              else if (activeFeedViewNewsMark instanceof FolderNewsMark && ((FolderNewsMark) activeFeedViewNewsMark).contains(bookmark))
                runRetention = false; //Avoid clean up on folder the user is reading on if feed contained
            }

View Full Code Here

Examples of org.rssowl.core.persist.INewsMark

    EntityGroup gOther = new EntityGroup(Group.OTHER.ordinal(), GROUP_CATEGORY_ID, Group.OTHER.getName());

    /* Group Input */
    for (Object object : input) {
      if (object instanceof INewsMark) {
        INewsMark mark = (INewsMark) object;

        /* Early exclude saved searches (buggy) */
        if (mark instanceof ISearchMark)
          new EntityGroupItem(gOther, mark);

        /* Contains Sticky */
        else if (mark instanceof IBookMark && ((IBookMark) mark).getStickyNewsCount() > 0)
          new EntityGroupItem(gSticky, mark);

        /* Contains New */
        else if (mark.getNewsCount(EnumSet.of(INews.State.NEW)) > 0)
          new EntityGroupItem(gNew, mark);

        /* Contains Unread */
        else if (mark.getNewsCount(EnumSet.of(INews.State.NEW, INews.State.UNREAD, INews.State.UPDATED)) > 0)
          new EntityGroupItem(gUnread, mark);

        /* Other */
        else
          new EntityGroupItem(gOther, mark);
View Full Code Here

Examples of org.rssowl.core.persist.INewsMark

   */
  protected boolean isLeafMatch(Viewer viewer, Object element) {

    /* Element is a News Mark */
    if (element instanceof INewsMark) {
      INewsMark newsmark = (INewsMark) element;
      boolean isMatch = false;

      /* Look at Type */
      switch (fType) {

        case SHOW_ALL:
          isMatch = true;
          break;

        /* Show: Feeds with New News */
        case SHOW_NEW:
          isMatch = newsmark.getNewsCount(EnumSet.of(INews.State.NEW)) > 0;
          break;

        /* Show: Unread Marks */
        case SHOW_UNREAD:
          isMatch = newsmark.getNewsCount(EnumSet.of(INews.State.NEW, INews.State.UNREAD, INews.State.UPDATED)) > 0;
          break;

        /* Show: Sticky Marks */
        case SHOW_STICKY:
          if (newsmark instanceof IBookMark) {
            IBookMark bookmark = (IBookMark) newsmark;
            isMatch = bookmark.getStickyNewsCount() > 0;
          }
          break;

        /* Show: Feeds that had an Error while loading */
        case SHOW_ERRONEOUS:
          if (newsmark instanceof IBookMark)
            isMatch = ((IBookMark) newsmark).isErrorLoading();
          break;

        /* Show: Never visited Marks */
        case SHOW_NEVER_VISITED:
          isMatch = newsmark.getPopularity() <= 0;
          break;
      }

      /* Finally check the Pattern */
      if (isMatch && fMatcher != null) {
        if (!wordMatches(newsmark) && !wordMatches(newsmark.getParent()))
          return false;
      }

      return isMatch;
    }
View Full Code Here

Examples of org.rssowl.core.persist.INewsMark

    /* Create generic Label for instances of INewsMark */
    else if (element instanceof INewsMark) {
      boolean hasNew = false;
      int stickyNewsCount = 0;
      INewsMark newsmark = (INewsMark) element;

      if (fIndicateState) {
        unreadNewsCount = newsmark.getNewsCount(EnumSet.of(INews.State.NEW, INews.State.UNREAD, INews.State.UPDATED));
        hasNew = newsmark.getNewsCount(EnumSet.of(INews.State.NEW)) != 0;
      }

      /* Font */
      if (unreadNewsCount > 0)
        cell.setFont(fBoldFont);
      else
        cell.setFont(fDefaultFont);

      /* Text */
      if (unreadNewsCount > 0)
        cell.setText(NLS.bind(Messages.BookMarkLabelProvider_NAME_UNREAD, newsmark.getName(), unreadNewsCount));
      else
        cell.setText(newsmark.getName());

      /* Background for IBookMark (TODO Support All News Marks) */
      if (newsmark instanceof IBookMark && fIndicateState)
        stickyNewsCount = ((IBookMark) newsmark).getStickyNewsCount();

View Full Code Here

Examples of org.rssowl.core.persist.INewsMark

    List<IFolderChild> children = folder.getChildren();
    for (IFolderChild child : children) {

      /* News Mark */
      if (child instanceof INewsMark) {
        INewsMark newsMark = (INewsMark) child;
        helper.fUnreadCount += getUnreadNewsCount(newsMark);
        helper.fNewCount += newsMark.getNewsCount(EnumSet.of(INews.State.NEW));

        if (!helper.fHasSticky && newsMark instanceof IBookMark && ((IBookMark) newsMark).getStickyNewsCount() > 0)
          helper.fHasSticky = true;
      }

View Full Code Here

Examples of org.rssowl.core.persist.INewsMark

      /* Check Current Active FeedView */
      FeedView activeFeedView = OwlUI.getActiveFeedView();
      if (activeFeedView != null) {
        IEditorInput input = activeFeedView.getEditorInput();
        if (input != null && input instanceof FeedViewInput) {
          INewsMark mark = ((FeedViewInput) input).getMark();
          if (mark != null)
            startingNodes.add(mark instanceof FolderNewsMark ? ((FolderNewsMark) mark).getFolder() : mark);
        }
      }

      /* Add all Root Folders */
      startingNodes.addAll(CoreUtils.loadRootFolders());

      /* Select from all available Starting Nodes */
      ITreeNode targetNode = null;
      for (IFolderChild startingNode : startingNodes) {
        TreeTraversal traversal = new TreeTraversal(startingNode instanceof IFolder ? new ModelTreeNode((IFolder) startingNode) : new ModelTreeNode((IMark) startingNode)) {

          @Override
          public boolean select(ITreeNode node) {
            Object data = node.getData();

            /* Check for Unread news if required */
            if (data instanceof INewsMark) {
              INewsMark newsmark = (INewsMark) data;
              if (fType.isUnread() && newsmark.getNewsCount(EnumSet.of(INews.State.NEW, INews.State.UNREAD, INews.State.UPDATED)) == 0)
                return false;
            }

            /* Folders are no valid navigation nodes */
            else if (data instanceof IFolder)
              return false;

            return true;
          }
        };

        targetNode = fType.isNext() ? traversal.nextNode() : traversal.previousNode();
        if (targetNode != null)
          break;
      }

      /* Open Node if present */
      if (targetNode != null) {
        INewsMark mark = (INewsMark) targetNode.getData();

        /* Open in FeedView */
        PerformAfterInputSet perform = null;
        if (fType.isNewsScoped() && fType.isUnread())
          perform = PerformAfterInputSet.SELECT_UNREAD_NEWS;
View Full Code Here

Examples of org.rssowl.core.persist.INewsMark

    for (INews newsItem : news) {
      newsItem.setState(INews.State.READ);
    }

    /* See if Retention is required for each BookMark */
    final INewsMark activeFeedViewNewsMark = OwlUI.getActiveFeedViewNewsMark();
    Set<Entry<IBookMark, Collection<INews>>> entries = retentionHelperMap.entrySet();
    for (Entry<IBookMark, Collection<INews>> entry : entries) {
      IBookMark bookmark = entry.getKey();

      /* Check if retention should run or not */
      if (activeFeedViewNewsMark != null) {
        if (activeFeedViewNewsMark.equals(bookmark))
          continue; //Avoid clean up on feed the user is reading on
        else if (activeFeedViewNewsMark instanceof FolderNewsMark && ((FolderNewsMark) activeFeedViewNewsMark).contains(bookmark))
          continue; //Avoid clean up on folder the user is reading on if feed contained
      }

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.