Examples of AtomicBoolean


Examples of java.util.concurrent.atomic.AtomicBoolean

      /* Return early on cancellation */
      if (monitor.isCanceled() || Owl.isShuttingDown())
        return;

      /* Run News Filters */
      final AtomicBoolean someNewsFiltered = new AtomicBoolean(false);
      SafeRunner.run(new LoggingSafeRunnable() {
        public void run() throws Exception {
          newNewsAdded.removeAll(deletedNews);
          boolean result = runNewsFilters(newNewsAdded, monitor);
          someNewsFiltered.set(result);
        }
      });

      /* Return early on cancellation and if no filter was running */
      if ((monitor.isCanceled() || Owl.isShuttingDown()) && !someNewsFiltered.get())
        return;

      try {
        lockNewsObjects(mergeResult);
        saveFeed(mergeResult);
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

  /**
   * @throws Exception
   */
  @Test
  public void testEntityReadWriteFromAdded() throws Exception {
    final AtomicBoolean listenerHit= new AtomicBoolean(false);

    IFeed feed = fFactory.createFeed(null, new URI("feed"));
    fFactory.createNews(null, feed, new Date());

    NewsListener listener = new NewsListener() {
      public void entitiesAdded(Set<NewsEvent> events) {
        listenerHit.set(true);

        for (NewsEvent event : events) {
          event.getEntity().getState();
          event.getEntity().setState(INews.State.READ);
        }
      }

      public void entitiesUpdated(Set<NewsEvent> events) {}

      public void entitiesDeleted(Set<NewsEvent> events) {}
    };
    DynamicDAO.addEntityListener(INews.class, listener);

    try {
      DynamicDAO.save(feed);
      assertTrue(listenerHit.get());
    } finally {
      DynamicDAO.removeEntityListener(INews.class, listener);
    }
  }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

   * thread as the read lock (Bug 1279)
   */
  @Test
  @Ignore
  public void testEntityReadWriteFromUpdated() throws Exception {
    final AtomicBoolean listenerHit = new AtomicBoolean(false);

    IFeed feed = fFactory.createFeed(null, new URI("feed"));
    final INews news = fFactory.createNews(null, feed, new Date());

    DynamicDAO.save(feed);

    NewsListener listener = new NewsListener() {
      public void entitiesUpdated(Set<NewsEvent> events) {
        listenerHit.set(true);

        for (NewsEvent event : events) {
          event.getEntity().getState();
          event.getEntity().setState(INews.State.READ);
        }
      }

      public void entitiesDeleted(Set<NewsEvent> events) {}

      public void entitiesAdded(Set<NewsEvent> events) {}
    };
    DynamicDAO.addEntityListener(INews.class, listener);

    news.setFlagged(true);

    try {
      DynamicDAO.save(news);
      assertTrue(listenerHit.get());
    } finally {
      DynamicDAO.removeEntityListener(INews.class, listener);
    }
  }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

  /**
   * @throws Exception
   */
  @Test
  public void testEntityReadWriteFromDeleted() throws Exception {
    final AtomicBoolean listenerHit= new AtomicBoolean(false);

    IFeed feed = fFactory.createFeed(null, new URI("feed"));
    final INews news = fFactory.createNews(null, feed, new Date());

    DynamicDAO.save(feed);

    NewsListener listener = new NewsListener() {
      public void entitiesDeleted(Set<NewsEvent> events) {
        listenerHit.set(true);

        for (NewsEvent event : events) {
          event.getEntity().getState();
          event.getEntity().setState(INews.State.READ);
        }
      }

      public void entitiesUpdated(Set<NewsEvent> events) {}

      public void entitiesAdded(Set<NewsEvent> events) {}
    };
    DynamicDAO.addEntityListener(INews.class, listener);

    try {
      DynamicDAO.delete(news);
      assertTrue(listenerHit.get());
    } finally {
      DynamicDAO.removeEntityListener(INews.class, listener);
    }
  }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

    return composite;
  }

  /* Create a temporary file in the install location to check if write permissions are qualified */
  private boolean canUpdate() {
    final AtomicBoolean canUpdate = new AtomicBoolean(true);

    SafeRunnable.run(new LoggingSafeRunnable() {
      public void run() throws Exception {
        Location installLocation = Platform.getInstallLocation();
        if (installLocation != null && installLocation.getURL() != null) {
          File installDirectory = toFile(installLocation.getURL());
          if (!installDirectory.isFile()) {
            File pluginsDir = new File(installDirectory, PLUGINS);
            File featuresDir = new File(installDirectory, FEATURES);
            if (pluginsDir.isDirectory() && featuresDir.isDirectory()) {
              try {

                /* Check Write Permission in Plugins Directory */
                writeTempFile(canUpdate, pluginsDir);

                /* Check Write Permission in Features Directory */
                if (canUpdate.get())
                  writeTempFile(canUpdate, featuresDir);
              } catch (IOException e) {
                canUpdate.set(false);
              } catch (SecurityException e) {
                canUpdate.set(false);
              }
            }
          }
        }
      }

      private void writeTempFile(AtomicBoolean canUpdate, File dir) throws IOException {
        File tmpFile = File.createTempFile("permcheck", ".tmp", dir); //$NON-NLS-1$ //$NON-NLS-2$
        tmpFile.deleteOnExit();
        canUpdate.set(tmpFile.exists() && tmpFile.canWrite());
        tmpFile.delete();
      }
    });

    return canUpdate.get();
  }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

     * receving news items would show them in the notifier (although they might have been read
     * before already). The fix is to check in the UI thread whether the application window
     * is minimized or not.
     */
    if (fGlobalPreferences.getBoolean(DefaultPreferences.SHOW_NOTIFICATION_POPUP_ONLY_WHEN_MINIMIZED)) {
      final AtomicBoolean sendNewsToBuffer = new AtomicBoolean(true);
      Shell primaryShell = OwlUI.getPrimaryShell();
      if (primaryShell != null) {
        JobRunner.runSyncedInUIThread(primaryShell, new Runnable() {
          public void run() {
            if (Controller.getDefault().isShuttingDown())
              return;

            ApplicationWorkbenchWindowAdvisor advisor = ApplicationWorkbenchAdvisor.fgPrimaryApplicationWorkbenchWindowAdvisor;
            if (advisor != null && !advisor.isMinimizedToTray() && !advisor.isMinimized())
              sendNewsToBuffer.set(false);
          }
        });
      }

      if (!sendNewsToBuffer.get())
        return;
    }

    /* Filter Events if user decided to show Notifier only for selected Elements */
    if (fGlobalPreferences.getBoolean(DefaultPreferences.LIMIT_NOTIFIER_TO_SELECTION)) {
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

        assertEquals("Element state not set correctly", State.PLAYING, state);
        element.stop();
    }
    @Test public void postMessage() {
        final TestPipe pipe = new TestPipe();
        final AtomicBoolean signalFired = new AtomicBoolean(false);
        //
        // Use a TagMessage, since it is the only type that doesn't get intercepted
        // by the pipeline
        //
        final Message message = new TagMessage(pipe.src, new TagList());
        pipe.getBus().connect(new Bus.MESSAGE() {

            public void busMessage(Bus bus, Message msg) {
                if (msg.equals(message)) {
                    signalFired.set(true);
                    pipe.quit();
                }
            }
        });
        pipe.sink.postMessage(message);
        pipe.run();
        assertTrue("Message not posted", signalFired.get());
    }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

   */
  @Override
  public boolean performFinish() {
    final INewsDAO newsDao = DynamicDAO.getDAO(INewsDAO.class);
    final CleanUpOperations operations = fCleanUpOptionsPage.getOperations();
    final AtomicBoolean askForRestart= new AtomicBoolean(false);

    /* Receive Tasks */
    final List<CleanUpTask> tasks = fCleanUpSummaryPage.getTasks();

    /* Show final confirmation prompt */
    int bmCounter = 0;
    int newsCounter = 0;
    for (CleanUpTask task : tasks) {
      if (task instanceof BookMarkTask)
        bmCounter++;
      else if (task instanceof NewsTask)
        newsCounter += ((NewsTask) task).getNews().size();
    }

    if (bmCounter != 0 || newsCounter != 0) {
      String msg;
      if (bmCounter != 0 && newsCounter != 0) {
        if (bmCounter > 1)
          msg = NLS.bind(Messages.CleanUpWizard_CONFIRM_BOOKMARKS_NEWS, bmCounter, newsCounter);
        else
          msg = NLS.bind(Messages.CleanUpWizard_CONFIRM_BOOKMARK_NEWS, bmCounter, newsCounter);
      } else if (bmCounter != 0) {
        if (bmCounter > 1)
          msg = NLS.bind(Messages.CleanUpWizard_CONFIRM_BOOKMARKS, bmCounter);
        else
          msg = NLS.bind(Messages.CleanUpWizard_CONFIRM_BOOKMARK, bmCounter);
      } else
        msg = NLS.bind(Messages.CleanUpWizard_CONFIRM_NEWS, newsCounter);

      ConfirmDialog dialog = new ConfirmDialog(getShell(), Messages.CleanUpWizard_CONFIRM_DELETE, Messages.CleanUpWizard_NO_UNDO, msg, null);
      if (dialog.open() != Window.OK)
        return false;
    }

    /* Restore Editors if Bookmarks are to be deleted */
    if (bmCounter > 0)
      OwlUI.getFeedViews();

    /* Runnable that performs the tasks */
    IRunnableWithProgress runnable = new IRunnableWithProgress() {
      public void run(IProgressMonitor monitor) {
        boolean optimizeSearch = false;
        monitor.beginTask(Messages.CleanUpWizard_WAIT_CLEANUP, IProgressMonitor.UNKNOWN);

        /* Perform Tasks */
        List<IBookMark> bookmarks = new ArrayList<IBookMark>();
        for (CleanUpTask task : tasks) {

          /* Delete Bookmark Task */
          if (task instanceof BookMarkTask)
            bookmarks.add(((BookMarkTask) task).getMark());

          /* Delete News Task */
          else if (task instanceof NewsTask) {
            Collection<NewsReference> news = ((NewsTask) task).getNews();
            List<INews> resolvedNews = new ArrayList<INews>(news.size());
            for (NewsReference newsRef : news) {
              INews resolvedNewsItem = newsRef.resolve();
              if (resolvedNewsItem != null)
                resolvedNews.add(resolvedNewsItem);
            }

            newsDao.setState(resolvedNews, INews.State.DELETED, false, false);
          }

          /* Optimize Lucene */
          else if (task instanceof OptimizeSearchTask)
            optimizeSearch = true;

          /* Defrag Database */
          else if (task instanceof DefragDatabaseTask) {
            Owl.getPersistenceService().optimizeOnNextStartup();
            askForRestart.set(true);
          }
        }

        /* Delete BookMarks */
        Controller.getDefault().getSavedSearchService().forceQuickUpdate();
        DynamicDAO.deleteAll(bookmarks);

        /* Optimize Search */
        if (optimizeSearch)
          Owl.getPersistenceService().getModelSearch().optimize();

        /* Save Operations */
        IPreferenceScope preferences = Owl.getPreferenceService().getGlobalScope();

        preferences.putBoolean(DefaultPreferences.CLEAN_UP_BM_BY_LAST_VISIT_STATE, operations.deleteFeedByLastVisit());
        preferences.putInteger(DefaultPreferences.CLEAN_UP_BM_BY_LAST_VISIT_VALUE, operations.getLastVisitDays());

        preferences.putBoolean(DefaultPreferences.CLEAN_UP_BM_BY_LAST_UPDATE_STATE, operations.deleteFeedByLastUpdate());
        preferences.putInteger(DefaultPreferences.CLEAN_UP_BM_BY_LAST_UPDATE_VALUE, operations.getLastUpdateDays());

        preferences.putBoolean(DefaultPreferences.CLEAN_UP_BM_BY_CON_ERROR, operations.deleteFeedsByConError());
        preferences.putBoolean(DefaultPreferences.CLEAN_UP_BM_BY_DUPLICATES, operations.deleteFeedsByDuplicates());

        preferences.putBoolean(DefaultPreferences.CLEAN_UP_NEWS_BY_AGE_STATE, operations.deleteNewsByAge());
        preferences.putInteger(DefaultPreferences.CLEAN_UP_NEWS_BY_AGE_VALUE, operations.getMaxNewsAge());

        preferences.putBoolean(DefaultPreferences.CLEAN_UP_NEWS_BY_COUNT_STATE, operations.deleteNewsByCount());
        preferences.putInteger(DefaultPreferences.CLEAN_UP_NEWS_BY_COUNT_VALUE, operations.getMaxNewsCountPerFeed());

        preferences.putBoolean(DefaultPreferences.CLEAN_UP_READ_NEWS_STATE, operations.deleteReadNews());
        preferences.putBoolean(DefaultPreferences.CLEAN_UP_NEVER_DEL_UNREAD_NEWS_STATE, operations.keepUnreadNews());
        preferences.putBoolean(DefaultPreferences.CLEAN_UP_NEVER_DEL_LABELED_NEWS_STATE, operations.keepLabeledNews());

        monitor.done();
      }
    };

    /* Perform Runnable in separate Thread and show progress */
    try {
      getContainer().run(true, false, runnable);
    } catch (InvocationTargetException e) {
      Activator.getDefault().logError(e.getMessage(), e);
    } catch (InterruptedException e) {
      Activator.getDefault().logError(e.getMessage(), e);
    }

    /* Ask to restart if Task was used */
    if (askForRestart.get()) {
      boolean restart = MessageDialog.openQuestion(getShell(), Messages.CleanUpWizard_RESTART_RSSOWL, Messages.CleanUpWizard_RESTART_TO_CLEANUP);
      if (restart)
        Controller.getDefault().restart();
    }

View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

    }
    @Test
    public void endOfStream() {
        final TestPipe pipe  = new TestPipe("endOfStream");
       
        final AtomicBoolean signalFired = new AtomicBoolean(false);
        final AtomicReference<GstObject> signalSource = new AtomicReference<GstObject>();
        Bus.EOS eosSignal = new Bus.EOS() {

            public void endOfStream(GstObject source) {
                signalFired.set(true);
                signalSource.set(source);
                pipe.quit();
            }
           
        };
        pipe.getBus().connect(eosSignal);
        //
        // For the pipeline to post an EOS message, all sink elements must post it
        //
        for (Element elem : pipe.pipe.getSinks()) {
            gst.gst_element_post_message(elem, gst.gst_message_new_eos(elem));
        }
        pipe.run();
        pipe.getBus().disconnect(eosSignal);

        assertTrue("EOS signal not received", signalFired.get());
        pipe.dispose();
    }
View Full Code Here

Examples of java.util.concurrent.atomic.AtomicBoolean

        pipe.dispose();
    }
    @Test
    public void stateChanged() {
        final TestPipe pipe = new TestPipe("stateChanged");
        final AtomicBoolean signalFired = new AtomicBoolean(false);
       
        Bus.STATE_CHANGED stateChanged = new Bus.STATE_CHANGED() {
          
            public void stateChanged(GstObject source, State old, State current, State pending) {
                if (pending == State.PLAYING || current == State.PLAYING) {
                    signalFired.set(true);
                    pipe.quit();
                }
            }
           
        };
        pipe.getBus().connect(stateChanged);
        gst.gst_element_post_message(pipe.pipe,
                new StateChangedMessage(pipe.pipe, State.READY, State.PLAYING, State.VOID_PENDING));
        pipe.run();
        pipe.getBus().disconnect(stateChanged);
        assertTrue("STATE_CHANGED signal not received", signalFired.get());
        pipe.dispose();
    }
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.