There are 80 code examples for org.eclipse.core.runtime.IProgressMonitor.
The API names are highlighted below.
You can use
button
to vote the code example(s) you like. The best code example will be ranked first next time. Thanks a lot for your feedback.
Project Name: CodeAnalyzer Package: de.fzi.cloneanalyzer.core
Source Code: MonitorCancelDispatcher.java (Click to view .java file)
Method Code:
public boolean isCanceled(){
return monitor.isCanceled();
}
Project Name: OpenII Package: org.mitre.openii.editors
Source Code: OpenIIEditor.java (Click to view .java file)
Method Code:
public void doSave(IProgressMonitor arg0){
}
Project Name: OpenII Package: org.mitre.openii.editors.help
Source Code: AboutOpenIIEditor.java (Click to view .java file)
Method Code:
public void doSave(IProgressMonitor arg0){
}
Project Name: OpenII Package: org.mitre.openii.editors.search
Source Code: SearchView.java (Click to view .java file)
Method Code:
public void doSave(IProgressMonitor arg0){
}
Project Name: OpenII Package: org.mitre.openii.editors.vocabulary
Source Code: ManifestView.java (Click to view .java file)
Method Code:
public void doSave(IProgressMonitor arg0){
}
Project Name: codecover Package: org.codecover.eclipse.builder
Source Code: CodeCoverDebugListener.java (Click to view .java file)
Method Code:
public void run(ActiveTSContainerInfo activeTSCInfo,IProgressMonitor monitor) throws CancelException {
TestSessionContainer activeTSC=activeTSCInfo.getTestSessionContainer();
MASTBuilder builder=new MASTBuilder(logger);
TestSession testSession=activeTSC.createTestSession(testSessionName,testSessionComment,new Date());
try {
monitor.beginTask(this.getDescription(),3);
try {
CoverageLogParser logParser=new CoverageLogParser(coverageLogFile,coverageLogCharset);
monitor.worked(1);
CoverageResultLogReader coverageResultLogReader=new CoverageResultLogReader(testSession,builder);
monitor.worked(1);
logParser.CompilationUnit(coverageResultLogReader,activeTSC.getId());
monitor.worked(1);
coverageLogFile.delete();
}
catch ( IOException e) {
logger.fatal("Error accessing the coverage" + " log file",e);
}
catch ( WrongUIDException e) {
logger.error("The coverage log file does" + " not fit to the session" + " container! Process aborted.",e);
}
catch ( ParseException e) {
logger.fatal("Error parsing the coverage log",e);
}
}
finally {
monitor.done();
}
}
Project Name: codecover Package: org.codecover.eclipse.exportWizards
Source Code: ReportExportWizard.java (Click to view .java file)
Method Code:
@Override protected IStatus run(IProgressMonitor monitor){
List<TestSession> sessionList=ReportExportWizard.this.sessionList;
File destinationFile=ReportExportWizard.this.destinationFile;
if (sessionList.isEmpty()) {
return Status.CANCEL_STATUS;
}
TestSessionContainer tsc=sessionList.get(0).getTestSessionContainer();
TestSessionContainer destinationContainer=new TestSessionContainer(tsc.getCode(),tsc.getLogger(),tsc.getFiles(),tsc.getCriteria(),tsc.getId(),tsc.getDate());
for ( TestSession sourceTestSession : sessionList) {
String testSessionName=sourceTestSession.getName();
String testSessionComment=sourceTestSession.getComment();
Date testSessionDate=sourceTestSession.getDate();
TestSession destinationTestSession=destinationContainer.createTestSession(testSessionName,testSessionComment,testSessionDate);
for ( TestCase sourceTestCase : sourceTestSession.getTestCases()) {
destinationTestSession.copyTestCaseIntoTestSession(sourceTestCase);
}
}
try {
destinationContainer.save(destinationFile);
}
catch ( FileSaveException e) {
logger.error("A FileSaveException occured",e);
return Status.CANCEL_STATUS;
}
return Status.OK_STATUS;
}
Project Name: codecover Package: org.codecover.eclipse.importWizards
Source Code: TSCImportWizardPage.java (Click to view .java file)
Method Code:
@Override protected IStatus run(IProgressMonitor monitor){
TestSessionContainer tsc;
Logger logger=CodeCoverPlugin.getDefault().getLogger();
File tscFile=new File(this.filepath);
if (this.project != null && tscFile.exists() && tscFile.isFile()) {
try {
tsc=TestSessionContainer.load(CodeCoverPlugin.getDefault().getEclipsePluginManager().getPluginManager(),logger,new MASTBuilder(logger),tscFile);
}
catch ( FileLoadException e) {
logger.error("Error while importing test" + " session container: " + tscFile.getAbsolutePath(),e);
Display.getDefault().asyncExec(new Runnable(){
public void run(){
MessageDialog.openError(null,TSCImportWizardPage.this.getTitle(),ERROR_TSC_LOAD);
}
}
);
return Status.CANCEL_STATUS;
}
try {
CodeCoverPlugin.getDefault().getTSContainerManager().addTestSessionContainer(tsc,this.project,false,null,null);
}
catch ( Exception e) {
logger.error("Error while importing test" + " session container: " + tscFile.getAbsolutePath(),e);
Display.getDefault().asyncExec(new Runnable(){
public void run(){
MessageDialog.openError(null,TSCImportWizardPage.this.getTitle(),ERROR_TSC_WRITE);
}
}
);
return Status.CANCEL_STATUS;
}
}
return Status.OK_STATUS;
}
Project Name: codecover Package: org.codecover.eclipse.junit
Source Code: JUnitLaunchConfigurationDelegate.java (Click to view .java file)
Method Code:
@Override protected void preLaunchCheck(ILaunchConfiguration configuration,ILaunch launch,IProgressMonitor monitor) throws CoreException {
IJavaProject javaProject=super.getJavaProject(configuration);
if (javaProject != null && !CodeCoverPlugin.isCodeCoverActivated(javaProject.getProject())) {
IStatus status=new Status(IStatus.ERROR,CodeCoverPlugin.PLUGIN_ID,Messages.getString("JUnitLaunchConfigurationDelegate.CODECOVER_NOT_ACTIVE"));
throw new CoreException(status);
}
super.preLaunchCheck(configuration,launch,monitor);
}
Project Name: codecover Package: org.codecover.eclipse.tscmanager
Source Code: TSContainerManager.java (Click to view .java file)
Method Code:
/**
* Loads a known test session container.
* @param tscInfo the <code>TSContainerInfo</code>-representation of the test session container to load
* @param monitor a progress monitor or <code>null</code> if progress reporting is not desired
* @return the loaded <code>TestSessionContainer</code>.
* @throws FileLoadException if the <code>TestSessionContainer</code> can't be read from the contents of
* the file
*/
public static TestSessionContainer load(TSContainerInfo tscInfo,IProgressMonitor monitor) throws FileLoadException {
return TSContainerStorage.load(tscInfo,monitor);
}
Project Name: codecover Package: org.codecover.eclipse.tscmanager
Source Code: TSContainerSaveQueue.java (Click to view .java file)
Method Code:
/**
* Performs the pending save (if there is any) of a test session container. There won't be any retries if
* the saving fails (the save is removed from the queue in any case, success or failure). Locking of
* <code>TSContainerManager</code> must be done by the calling context.
* @param tscInfo the <code>TSContainerInfo</code>-representation of the test session container to save
* @throws TSCFileCreateException (see {@link TSContainerStorage#saveTSContainer(TestSessionContainer,TSContainerInfo,boolean,IProgressMonitor)}
* @throws FileSaveException (see {@link TSContainerStorage#saveTSContainer(TestSessionContainer,TSContainerInfo,boolean,IProgressMonitor)}
*/
void saveQueued(TSContainerInfo tscInfo,IProgressMonitor monitor) throws TSCFileCreateException, FileSaveException, OutOfMemoryError {
TestSessionContainer tsc;
final int monitorScale=1000;
monitor=(monitor != null) ? monitor : new NullProgressMonitor();
try {
monitor.beginTask(MONITOR_SAVING_QUEUED_TEST_SESSION_CONTAINER,1 * monitorScale);
if (tscInfo == null || (tsc=this.queue.get(tscInfo)) == null) {
monitor.worked(1 * monitorScale);
return;
}
logger.debug("Performing queued save: " + tscInfo.getFile().getFullPath().toString());
this.tscStorage.saveTSContainer(tsc,tscInfo,false,new SubProgressMonitor(monitor,1 * monitorScale));
}
finally {
monitor.done();
}
}
Project Name: codecover Package: org.codecover.eclipse.tscmanager
Source Code: TSContainerStorage.java (Click to view .java file)
Method Code:
/**
* Deletes files of test session containers.
* @param tscInfos the list of test session containers which files are to be deleted
* @param monitor a progress monitor or <code>null</code> if progress reporting is not desired
* @throws NullPointerException if the given list of test session containers is null
* @throws IllegalArgumentException if the given list of test session containers is empty
* @throws CoreException if deletion of one or more files failed (see {@link IResource#delete(boolean,IProgressMonitor)} for details); only the <code>CoreException</code> of the last failed
* deletion is thrown
* @throws CancelException if a request to cancel is detected (with the given progress monitor)
*/
void deleteTSCFiles(List<TSContainerInfo> tscInfos,IProgressMonitor monitor) throws CoreException, CancelException {
CoreException lastFileDeleteException;
final int monitorScale=1000;
monitor=(monitor != null) ? monitor : new NullProgressMonitor();
String cancelDescr="Canceled deletion of test " + " session container files.\n" + "Changes happened so far:\n";
if (tscInfos == null) {
throw new NullPointerException("tscInfos mustn't be null");
}
if (tscInfos.isEmpty()) {
throw new IllegalArgumentException("tscInfos mustn't be empty");
}
try {
monitor.beginTask(MONITOR_DELETING_TSC_FILES,tscInfos.size() * monitorScale);
if (monitor.isCanceled()) {
throw new CancelException(cancelDescr + "No files deleted.");
}
lastFileDeleteException=null;
for ( TSContainerInfo tscToDelete : tscInfos) {
try {
tscToDelete.getFile().delete(true,new SubProgressMonitor(monitor,1 * monitorScale));
}
catch ( CoreException e) {
lastFileDeleteException=e;
}
cancelDescr+=tscToDelete.getPath().toString() + " deleted\n";
if (monitor.isCanceled()) {
throw new CancelException(cancelDescr);
}
}
if (lastFileDeleteException != null) {
throw lastFileDeleteException;
}
}
finally {
monitor.done();
}
}
Project Name: codecover Package: org.codecover.eclipse.views
Source Code: TestSessionsView.java (Click to view .java file)
Method Code:
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
try {
CodeCoverPlugin.getDefault().getTSContainerManager().setActiveTSContainer(selectedTSCInfo,null,monitor);
}
catch ( FileLoadException e) {
throw new InvocationTargetException(e);
}
catch ( OutOfMemoryError e) {
TestSessionsView.this.logger.error("Out of memory while" + " activating test session" + " container: "+ selectedTSCInfo.getPath().toString(),new InvocationTargetException(e));
throw new InvocationTargetException(e);
}
catch ( InvocationTargetException e) {
}
catch ( CancelException e) {
TestSessionsView.this.logger.warning("Canceled activation " + " of test session container",e);
throw new InvocationTargetException(e);
}
}
Project Name: codecover Package: org.codecover.eclipse.views
Source Code: LiveNotificationView.java (Click to view .java file)
Method Code:
@Override protected IStatus run(IProgressMonitor monitor){
try {
this.client.connect(this.hostname,this.port);
}
catch ( final LiveNotificationException e) {
Display.getDefault().asyncExec(new Runnable(){
public void run(){
showErrorMessage(e.getMessage());
}
}
);
return Status.CANCEL_STATUS;
}
return Status.OK_STATUS;
}
Project Name: codecover Package: org.codecover.eclipse.views.controls
Source Code: SaveActiveTSContainerAction.java (Click to view .java file)
Method Code:
@Override protected IStatus run(IProgressMonitor monitor){
CodeCoverPlugin plugin=CodeCoverPlugin.getDefault();
try {
plugin.getTSContainerManager().saveActiveTSContainer(monitor);
}
catch ( TSCFileCreateException e) {
plugin.getLogger().error("Couldn't creating the file to write" + " the active test session container to.",e);
Display.getDefault().asyncExec(new Runnable(){
public void run(){
MessageDialog.openError(null,TEXT,ERROR_CREATING_FILE);
}
}
);
return Status.CANCEL_STATUS;
}
catch ( FileSaveException e) {
plugin.getLogger().error("Error while saving active test" + " session container.",e);
Display.getDefault().asyncExec(new Runnable(){
public void run(){
MessageDialog.openError(null,TEXT,ERROR_SAVING_TSC);
}
}
);
return Status.CANCEL_STATUS;
}
return Status.OK_STATUS;
}
Project Name: codecover Package: org.codecover.eclipse.views.controls
Source Code: TestElementPropertiesDialog.java (Click to view .java file)
Method Code:
@Override public void runTask(ActiveTSContainerInfo activeTSCInfo,IProgressMonitor monitor) throws InvocationTargetException, CancelException {
int monitorScale=1000;
if (monitor.isCanceled()) {
throw new CancelException("Canceled changing of test element" + " properties. Nothing changed.");
}
try {
monitor.beginTask(RUNNABLE_DESCRIPTION,2 * monitorScale);
if (!this.newName.equals(TestElementPropertiesDialog.this.getTestElementName())) {
try {
TestElementPropertiesDialog.this.setTestElementName(this.newName);
}
catch ( NameAlreadyUsedException e) {
throw new InvocationTargetException(e);
}
catch ( IllegalStateException e) {
throw new InvocationTargetException(e);
}
}
monitor.worked(1 * monitorScale);
if (!this.newComment.equals(TestElementPropertiesDialog.this.getTestElementComment())) {
try {
TestElementPropertiesDialog.this.setTestElementComment(this.newComment);
}
catch ( IllegalStateException e) {
throw new InvocationTargetException(e);
}
}
monitor.worked(1 * monitorScale);
}
finally {
monitor.done();
}
}
Project Name: codecover Package: org.codecover.eclipse.views.controls
Source Code: DeleteTestElementsRunnable.java (Click to view .java file)
Method Code:
@Override public void runTask(ActiveTSContainerInfo activeTSCInfo,IProgressMonitor monitor) throws InvocationTargetException, CancelException {
try {
monitor.beginTask(DESCRIPTION,this.elementsToDelete.length);
for ( Object element : this.elementsToDelete) {
if (element instanceof TestSession) {
((TestSession)element).delete();
}
else if (element instanceof TestCase) {
((TestCase)element).delete();
}
monitor.worked(1);
}
}
finally {
monitor.done();
}
}
Project Name: eclemma-core Package: com.mountainminds.eclemma.core.launching
Source Code: CoverageLauncher.java (Click to view .java file)
Method Code:
public boolean finalLaunchCheck(ILaunchConfiguration configuration,String mode,IProgressMonitor monitor) throws CoreException {
if (launchdelegate2 == null) {
return true;
}
else {
return launchdelegate2.finalLaunchCheck(configuration,DELEGATELAUNCHMODE,monitor);
}
}
Project Name: eclemma-core Package: com.mountainminds.eclemma.internal.core
Source Code: JavaCoverageLoader.java (Click to view .java file)
Method Code:
protected IStatus run(IProgressMonitor monitor){
final IJavaModelCoverage c;
try {
c=new SessionAnalyzer().processSession(session,monitor);
}
catch ( CoreException e) {
return e.getStatus();
}
coverage=monitor.isCanceled() ? null : c;
fireCoverageChanged();
return Status.OK_STATUS;
}
Project Name: eclemma-core Package: com.mountainminds.eclemma.internal.core
Source Code: SessionExporter.java (Click to view .java file)
Method Code:
private void createReport(IProgressMonitor monitor) throws CoreException, IOException {
final int work=session.getScope().size();
monitor.beginTask(NLS.bind(CoreMessages.ExportingSession_task,session.getDescription()),work * 2);
final SessionAnalyzer analyzer=new SessionAnalyzer();
final IJavaModelCoverage modelCoverage=analyzer.processSession(session,new SubProgressMonitor(monitor,work));
final IReportVisitor formatter=createFormatter();
formatter.visitInfo(analyzer.getSessionInfos(),analyzer.getExecutionData());
final IReportGroupVisitor modelgroup=formatter.visitGroup(session.getDescription());
for ( IJavaProject project : modelCoverage.getProjects()) {
final IReportGroupVisitor projectgroup=modelgroup.visitGroup(project.getElementName());
for ( IPackageFragmentRoot root : project.getPackageFragmentRoots()) {
final IBundleCoverage coverage=(IBundleCoverage)modelCoverage.getCoverageFor(root);
if (coverage != null) {
projectgroup.visitBundle(coverage,createSourceFileLocator(root));
monitor.worked(1);
}
}
}
formatter.visitEnd();
monitor.done();
}
Project Name: eclemma-core Package: com.mountainminds.eclemma.internal.core
Source Code: SessionImporter.java (Click to view .java file)
Method Code:
public void importSession(IProgressMonitor monitor) throws CoreException {
monitor.beginTask(CoreMessages.ImportingSession_task,1);
final CoverageSession session=new CoverageSession(description,scope,getSessionData(),null);
sessionManager.addSession(session,true,null);
monitor.done();
}
Project Name: eclemma-core Package: com.mountainminds.eclemma.internal.core
Source Code: SessionManager.java (Click to view .java file)
Method Code:
public ICoverageSession mergeSessions(Collection<ICoverageSession> sessions,String description,IProgressMonitor monitor) throws CoreException {
monitor.beginTask(CoreMessages.MergingCoverageSessions_task,sessions.size());
final Set<IPackageFragmentRoot> scope=new HashSet<IPackageFragmentRoot>();
final Set<ILaunchConfiguration> launches=new HashSet<ILaunchConfiguration>();
final MemoryExecutionDataSource memory=new MemoryExecutionDataSource();
for ( ICoverageSession session : sessions) {
scope.addAll(session.getScope());
if (session.getLaunchConfiguration() != null) {
launches.add(session.getLaunchConfiguration());
}
session.accept(memory,memory);
monitor.worked(1);
}
final IExecutionDataSource executionDataSource=executiondatafiles.newFile(memory);
final ILaunchConfiguration launchconfiguration=launches.size() == 1 ? launches.iterator().next() : null;
final ICoverageSession merged=new CoverageSession(description,scope,executionDataSource,launchconfiguration);
synchronized (lock) {
addSession(merged,true,null);
for ( ICoverageSession session : sessions) {
removeSession(session);
}
}
monitor.done();
return merged;
}
Project Name: eclemma-core Package: com.mountainminds.eclemma.internal.core.analysis
Source Code: SessionAnalyzer.java (Click to view .java file)
Method Code:
private void processPackageFragmentRoot(IPackageFragmentRoot root,PackageFragementRootAnalyzer analyzer,IProgressMonitor monitor) throws CoreException {
final TypeVisitor visitor=new TypeVisitor(analyzer.analyze(root));
new TypeTraverser(root).process(visitor,monitor);
String name=root.getElementName();
if (name.length() == 0) {
name=root.getParent().getElementName();
}
IBundleCoverage bundle=new BundleCoverageImpl(name,visitor.getClasses(),visitor.getSources());
modelcoverage.putFragmentRoot(root,bundle);
putPackages(bundle.getPackages(),root);
}
Project Name: eclemma-core Package: com.mountainminds.eclemma.internal.core.analysis
Source Code: TypeTraverser.java (Click to view .java file)
Method Code:
private void processAnonymousInnerTypes(ITypeVisitor visitor,BinaryTypeName btn,IMember member,IProgressMonitor monitor) throws JavaModelException {
for ( final IJavaElement element : member.getChildren()) {
if (monitor.isCanceled()) {
break;
}
final IType type=(IType)element;
processType(visitor,btn.nest(type),type,monitor);
}
}
Project Name: eclemma-core Package: com.mountainminds.eclemma.internal.core.launching
Source Code: AdjustedLaunchConfiguration.java (Click to view .java file)
Method Code:
public ILaunch launch(String mode,IProgressMonitor monitor,boolean build,boolean register) throws CoreException {
return delegate.launch(mode,monitor,build,register);
}
Project Name: eclemma-core Package: com.mountainminds.eclemma.internal.core.launching
Source Code: AgentServer.java (Click to view .java file)
Method Code:
@Override protected IStatus run(IProgressMonitor monitor){
try {
final Socket socket=serverSocket.accept();
writer=new RemoteControlWriter(socket.getOutputStream());
final RemoteControlReader reader=new RemoteControlReader(socket.getInputStream());
while (true) {
final MemoryExecutionDataSource memory=new MemoryExecutionDataSource();
memory.readFrom(reader);
if (memory.isEmpty()) {
return Status.OK_STATUS;
}
dataReceived=true;
final CoverageSession session=new CoverageSession(createDescription(),launch.getScope(),files.newFile(memory),launch.getLaunchConfiguration());
sessionManager.addSession(session,preferences.getActivateNewSessions(),launch);
}
}
catch ( IOException e) {
return EclEmmaStatus.EXECDATA_DUMP_ERROR.getStatus(e);
}
catch ( CoreException e) {
return e.getStatus();
}
}
Project Name: rssowl.core Package: org.rssowl.core.connection
Source Code: HttpConnectionInputStream.java (Click to view .java file)
Method Code:
@Override public int available() throws IOException {
if (fMonitor != null && fMonitor.isCanceled()) throw new MonitorCanceledException(Messages.HttpConnectionInputStream_ERROR_CONNECTION_CANCELED);
return super.available();
}
Project Name: rssowl.core Package: org.rssowl.core.internal
Source Code: ApplicationServiceImpl.java (Click to view .java file)
Method Code:
private void updateStateOfUnsavedNewNews(List<INews> news,IProgressMonitor monitor){
if (news.isEmpty()) return;
List<URI> links=new ArrayList<URI>();
List<IGuid> guids=new ArrayList<IGuid>();
for ( INews item : news) {
if (SyncUtils.isSynchronized(item)) continue;
if (item.getGuid() != null) guids.add(item.getGuid());
else if (item.getLink() != null) links.add(item.getLink());
}
if (links.isEmpty() && guids.isEmpty()) return;
ModelSearchImpl modelSearch=(ModelSearchImpl)Owl.getPersistenceService().getModelSearch();
Map<URI,List<NewsReference>> linkToNewsRefs=modelSearch.searchNewsByLinks(links,false,monitor);
Map<IGuid,List<NewsReference>> guidToNewsRefs=modelSearch.searchNewsByGuids(guids,false,monitor);
for ( INews item : news) {
if (monitor.isCanceled() || Owl.isShuttingDown()) return;
List<NewsReference> equivalentNewsRefs=guidToNewsRefs.get(item.getGuid());
if (equivalentNewsRefs != null && !equivalentNewsRefs.isEmpty()) {
NewsReference newsRef=equivalentNewsRefs.get(0);
INews resolvedNews=newsRef.resolve();
if (resolvedNews != null && resolvedNews.isVisible()) item.setState(resolvedNews.getState());
else {
logWarning(NLS.bind(Messages.ApplicationServiceImpl_ERROR_STALE_LUCENE_INDEX,newsRef.getId()));
CoreUtils.reportIndexIssue();
}
}
else {
equivalentNewsRefs=linkToNewsRefs.get(item.getLink());
if (equivalentNewsRefs != null && !equivalentNewsRefs.isEmpty()) {
NewsReference newsRef=equivalentNewsRefs.get(0);
INews resolvedNews=newsRef.resolve();
if (resolvedNews != null && resolvedNews.isVisible()) item.setState(resolvedNews.getState());
else {
logWarning(NLS.bind(Messages.ApplicationServiceImpl_ERROR_STALE_LUCENE_INDEX,newsRef.getId()));
CoreUtils.reportIndexIssue();
}
}
}
}
}
Project Name: rssowl.core Package: org.rssowl.core.internal.connection
Source Code: ConnectionServiceImpl.java (Click to view .java file)
Method Code:
public URI getFeed(URI link,IProgressMonitor monitor) throws ConnectionException {
String protocol=link.getScheme();
IProtocolHandler handler=fProtocolHandler.get(protocol);
if (handler != null) return handler.getFeed(link,monitor);
throw new UnknownProtocolException(Activator.getDefault().createErrorStatus(NLS.bind(Messages.ConnectionServiceImpl_ERROR_NO_PROTOCOL_HANDLER,protocol),null),protocol);
}
Project Name: rssowl.core Package: org.rssowl.core.internal.connection
Source Code: ReaderProtocolHandler.java (Click to view .java file)
Method Code:
@Override public URI getFeed(URI website,IProgressMonitor monitor) throws ConnectionException {
return super.getFeed(readerToHTTP(website),monitor);
}
Project Name: rssowl.core Package: org.rssowl.core.internal.connection
Source Code: DefaultProtocolHandler.java (Click to view .java file)
Method Code:
public URI getFeed(final URI website,IProgressMonitor monitor) throws ConnectionException {
Map<Object,Object> properties=new HashMap<Object,Object>();
properties.put(IConnectionPropertyConstants.PROGRESS_MONITOR,monitor);
properties.put(IConnectionPropertyConstants.CON_TIMEOUT,FEED_LABEL_CON_TIMEOUT);
InputStream inS=openStream(website,properties);
BufferedInputStream bufIns=new BufferedInputStream(inS);
BufferedReader reader=new BufferedReader(new InputStreamReader(bufIns));
try {
if (inS instanceof HttpConnectionInputStream) {
String contentType=((HttpConnectionInputStream)inS).getContentType();
if (contentType != null) {
for ( String feedContentType : CoreUtils.FEED_MIME_TYPES) {
if (contentType.toLowerCase().contains(feedContentType)) return website;
}
}
return CoreUtils.findFeed(reader,((HttpConnectionInputStream)inS).getLink(),monitor);
}
return CoreUtils.findFeed(reader,website,monitor);
}
finally {
closeStream(inS,true);
}
}
Project Name: rssowl.core Package: org.rssowl.core.internal.newsaction
Source Code: GrowlNotifyAction.java (Click to view .java file)
Method Code:
/**
* Initialize a Batched Buffer for Growl Notifications
*/
public GrowlNotifyAction(){
BatchedBuffer.Receiver<INews> receiver=new BatchedBuffer.Receiver<INews>(){
public IStatus receive( Collection<INews> items, Job job, IProgressMonitor monitor){
try {
if (!Owl.isShuttingDown()) executeCommand(fPathToGrowlNotify,items);
}
catch ( IOException e) {
Activator.safeLogError(e.getMessage(),e);
}
return Status.OK_STATUS;
}
}
;
fBatchedBuffer=new BatchedBuffer<INews>(receiver,BATCH_INTERVAL);
}
Project Name: rssowl.core Package: org.rssowl.core.internal.newsaction
Source Code: GrowlNotifyAction.java (Click to view .java file)
Method Code:
public IStatus receive(Collection<INews> items,Job job,IProgressMonitor monitor){
try {
if (!Owl.isShuttingDown()) executeCommand(fPathToGrowlNotify,items);
}
catch ( IOException e) {
Activator.safeLogError(e.getMessage(),e);
}
return Status.OK_STATUS;
}
Project Name: rssowl.core Package: org.rssowl.core.internal.persist.migration
Source Code: Migration4To5.java (Click to view .java file)
Method Code:
public MigrationResult migrate(ConfigurationFactory configFactory,String dbFileName,IProgressMonitor progressMonitor){
File dbLastBackUpFile=DBManager.getDefault().getDBLastBackUpFile();
dbLastBackUpFile.delete();
return new MigrationResult(true,false,true);
}
Project Name: rssowl.core Package: org.rssowl.core.internal.persist.migration
Source Code: Migration2To3.java (Click to view .java file)
Method Code:
static int migrate(IProgressMonitor progressMonitor,final int totalProgress,int totalProgressIncremented,ObjectContainer oc){
List<News> newsList=oc.query(News.class);
int newsCountPerIncrement=newsList.size() / totalProgress;
int i=0;
for ( News news : newsList) {
oc.activate(news,Integer.MAX_VALUE);
String descriptionFieldName="fDescription";
String descriptionValue=(String)MigrationHelper.getFieldValue(news,descriptionFieldName);
if (descriptionValue != null) {
MigrationHelper.setField(news,descriptionFieldName,null);
Description description=new Description(news,descriptionValue);
oc.ext().set(description,Integer.MAX_VALUE);
oc.ext().set(news,Integer.MAX_VALUE);
}
++i;
if (newsCountPerIncrement == 0) {
int progressIncrement=totalProgress / newsList.size();
totalProgressIncremented+=progressIncrement;
progressMonitor.worked(progressIncrement);
}
else if (i % newsCountPerIncrement == 0) {
totalProgressIncremented++;
progressMonitor.worked(1);
}
}
return totalProgressIncremented;
}
Project Name: rssowl.core Package: org.rssowl.core.internal.persist.migration
Source Code: Migration3To4.java (Click to view .java file)
Method Code:
public MigrationResult migrate(ConfigurationFactory configFactory,String dbFileName,IProgressMonitor progressMonitor){
final int totalProgress=100;
int totalProgressIncremented=0;
progressMonitor.beginTask(Messages.Migration3To4_MIGRATING_DATA,totalProgress);
ObjectContainer oc=Db4o.openFile(configFactory.createConfiguration(),dbFileName);
List<NewsBin> newsBins=oc.query(NewsBin.class);
for ( INewsBin newsBin : newsBins) {
oc.activate(newsBin,Integer.MAX_VALUE);
for ( NewsReference newsRef : newsBin.getNewsRefs()) {
Query query=oc.query();
query.constrain(News.class);
query.descend("fId").constrain(newsRef.getId());
News news=(News)query.execute().iterator().next();
oc.activate(news,Integer.MAX_VALUE);
String parentIdFieldName="fParentId";
MigrationHelper.setField(news,parentIdFieldName,newsBin.getId().longValue());
oc.ext().set(news,Integer.MAX_VALUE);
}
}
oc.commit();
oc.close();
progressMonitor.worked(totalProgress - totalProgressIncremented);
return new MigrationResult(true,false,true);
}
Project Name: rssowl.core Package: org.rssowl.core.internal.persist.migration
Source Code: Migration2To5.java (Click to view .java file)
Method Code:
public MigrationResult migrate(ConfigurationFactory configFactory,String dbFileName,IProgressMonitor progressMonitor){
final int totalProgress=100;
int totalProgressIncremented=0;
progressMonitor.beginTask(Messages.Migration2To5_MIGRATING_DATA,totalProgress);
ObjectContainer oc=Db4o.openFile(configFactory.createConfiguration(),dbFileName);
totalProgressIncremented=Migration2To3.migrate(progressMonitor,totalProgress,totalProgressIncremented,oc);
oc.commit();
oc.close();
File dbLastBackUpFile=DBManager.getDefault().getDBLastBackUpFile();
dbLastBackUpFile.delete();
progressMonitor.worked(totalProgress - totalProgressIncremented);
return new MigrationResult(true,false,true);
}
Project Name: rssowl.core Package: org.rssowl.core.internal.persist.migration
Source Code: Migrations.java (Click to view .java file)
Method Code:
public MigrationResult migrate(ConfigurationFactory configFactory,String dbFileName,IProgressMonitor progressMonitor){
boolean reindex=false;
boolean optimize=false;
boolean defragment=false;
for ( Migration migration : fMigrations) {
MigrationResult migrationResult=migration.migrate(configFactory,dbFileName,progressMonitor);
reindex|=migrationResult.isReindex();
optimize|=migrationResult.isOptimizeIndex();
defragment|=migrationResult.isDefragmentDatabase();
}
return new MigrationResult(reindex,optimize,defragment);
}
Project Name: rssowl.core Package: org.rssowl.core.internal.persist.search
Source Code: Indexer.java (Click to view .java file)
Method Code:
private static void saveCommittedNews(boolean sync,final EntityIdsByEventType uncommittedNews){
if (uncommittedNews.size() == 0) return;
if (sync || InternalOwl.TESTING) doSaveCommittedNews(uncommittedNews);
else {
Job job=new Job(Messages.Indexer_SAVE_INDEXER){
@Override protected IStatus run( IProgressMonitor monitor){
doSaveCommittedNews(uncommittedNews);
return Status.OK_STATUS;
}
}
;
job.setSystem(true);
job.schedule();
}
}
Project Name: rssowl.core Package: org.rssowl.core.internal.persist.search
Source Code: Indexer.java (Click to view .java file)
Method Code:
@Override protected IStatus run(IProgressMonitor monitor){
doSaveCommittedNews(uncommittedNews);
return Status.OK_STATUS;
}
Project Name: rssowl.core Package: org.rssowl.core.internal.persist.search
Source Code: IndexingTask.java (Click to view .java file)
Method Code:
public final IStatus run(IProgressMonitor monitor){
switch (fTaskType) {
case PERSIST:
if (!monitor.isCanceled() && !Owl.isShuttingDown()) addToIndex();
break;
case UPDATE:
if (!monitor.isCanceled() && !Owl.isShuttingDown()) updateIndex();
break;
case REMOVE:
if (!monitor.isCanceled() && !Owl.isShuttingDown()) deleteFromIndex();
break;
}
return Status.OK_STATUS;
}
Project Name: rssowl.core Package: org.rssowl.core.internal.persist.search
Source Code: ModelSearchImpl.java (Click to view .java file)
Method Code:
public void cleanUp(IProgressMonitor monitor) throws PersistenceException {
List<NewsReference> results=simpleSearch(new MatchAllDocsQuery());
if (monitor.isCanceled()) return;
monitor.beginTask(Messages.ModelSearchImpl_PROGRESS_WAIT,results.size());
monitor.subTask(Messages.ModelSearchImpl_CLEANUP_SEARCH_INDEX);
Set<NewsReference> newsToDelete=new HashSet<NewsReference>();
INewsDAO newsDao=InternalOwl.getDefault().getPersistenceService().getDAOService().getNewsDAO();
for ( NewsReference newsRef : results) {
if (monitor.isCanceled()) return;
if (!newsDao.exists(newsRef.getId())) newsToDelete.add(newsRef);
else {
INews resolvedNews=newsDao.load(newsRef.getId());
if (resolvedNews == null || !resolvedNews.isVisible()) newsToDelete.add(newsRef);
}
monitor.worked(1);
}
synchronized (fIndexer) {
try {
fIndexer.removeFromIndex(newsToDelete);
}
catch ( IOException e) {
throw new PersistenceException(e.getMessage(),e);
}
}
monitor.done();
}
Project Name: rssowl.core Package: org.rssowl.core.internal.persist.service
Source Code: BackupService.java (Click to view .java file)
Method Code:
/**
* Backs up the file in any of the following: <li>force is {@code true}.</li>
* <li>backupTimestampFile is {@code null}.</li> <li>The time since the last
* backup is higher or equal than backupFrequency.</li>
* @param force if <code>true</code>, will not check for the last backup
* timestamp.
* @param monitor a {@link IProgressMonitor} to properly report progress.
* @return {@code true} if a backup took place.
* @throws PersistenceException if a problem occurs during back-up.
*/
public boolean backup(boolean force,IProgressMonitor monitor) throws PersistenceException {
if (!shouldBackup(force)) return false;
boolean backupSuccess=false;
try {
prepareBackup();
File sourceFile=fFileToBackup;
if (fFileToBackupAlias != null) sourceFile=fFileToBackupAlias;
fBackupStrategy.backup(sourceFile,getBackupFile(),monitor);
backupSuccess=true;
}
finally {
if (backupSuccess || !force) writeBackupTimestamp();
}
return true;
}
Project Name: rssowl.core Package: org.rssowl.core.internal.persist.service
Source Code: DBHelper.java (Click to view .java file)
Method Code:
public static void copyFileIO(File originFile,File destinationFile,IProgressMonitor monitor){
FileInputStream inputStream=null;
FileOutputStream outputStream=null;
try {
inputStream=new FileInputStream(originFile);
if (!destinationFile.exists()) destinationFile.createNewFile();
outputStream=new FileOutputStream(destinationFile);
int i=0;
byte[] buf=new byte[BUFFER];
while ((i=inputStream.read(buf)) != -1 && !monitor.isCanceled()) {
outputStream.write(buf,0,i);
monitor.worked(1);
}
}
catch ( IOException e) {
throw new PersistenceException(e);
}
finally {
closeQuietly(inputStream);
closeQuietly(outputStream);
}
}
Project Name: rssowl.core Package: org.rssowl.core.internal.persist.service
Source Code: DBManager.java (Click to view .java file)
Method Code:
private static boolean isCanceled(IProgressMonitor monitor,boolean useLargeBlockSize,ObjectContainer source,ObjectContainer dest){
if (monitor.isCanceled()) {
if (useLargeBlockSize) {
monitor.setTaskName(Messages.DBManager_WAIT_TASK_COMPLETION);
return false;
}
source.close();
dest.close();
return true;
}
return false;
}
Project Name: rssowl.core Package: org.rssowl.core.util
Source Code: JobQueue.java (Click to view .java file)
Method Code:
private Job createProgressJob(){
return new Job(fName){
private int fLastWorkDone=-1;
private String fLastTask;
@Override protected IStatus run( IProgressMonitor monitor){
boolean interrupted=false;
if (!internalIsEmpty()) monitor.beginTask(fName,fIsUnknownProgress ? IProgressMonitor.UNKNOWN : (int)TOTAL_PROGRESS_WORK_LOAD);
while (!monitor.isCanceled() && !internalIsEmpty()) {
if (fCurrentTask != null && ((fLastWorkDone != fWorkDone.get()) || !StringUtils.isSet(fLastTask))) {
fLastWorkDone=fWorkDone.get();
fLastTask=fCurrentTask;
monitor.setTaskName(formatTask());
}
if (fProgressBuf.get() > 0) {
monitor.worked(fProgressBuf.get());
fProgressBuf.set(0);
}
try {
Thread.sleep(PROGRESS_UPDATE_DELAY);
}
catch ( InterruptedException e) {
interrupted=true;
break;
}
}
monitor.done();
if (monitor.isCanceled()) Job.getJobManager().cancel(JobQueue.this);
synchronized (JobQueue.this) {
reset();
}
fLastWorkDone=-1;
fLastTask=null;
notifyWorkDone();
if (monitor.isCanceled() || interrupted) return Status.CANCEL_STATUS;
return Status.OK_STATUS;
}
@Override public boolean belongsTo( Object family){
return family == JobQueue.this;
}
}
;
}
Project Name: rssowl.core Package: org.rssowl.core.util
Source Code: JobQueue.java (Click to view .java file)
Method Code:
@Override protected IStatus run(IProgressMonitor monitor){
boolean interrupted=false;
if (!internalIsEmpty()) monitor.beginTask(fName,fIsUnknownProgress ? IProgressMonitor.UNKNOWN : (int)TOTAL_PROGRESS_WORK_LOAD);
while (!monitor.isCanceled() && !internalIsEmpty()) {
if (fCurrentTask != null && ((fLastWorkDone != fWorkDone.get()) || !StringUtils.isSet(fLastTask))) {
fLastWorkDone=fWorkDone.get();
fLastTask=fCurrentTask;
monitor.setTaskName(formatTask());
}
if (fProgressBuf.get() > 0) {
monitor.worked(fProgressBuf.get());
fProgressBuf.set(0);
}
try {
Thread.sleep(PROGRESS_UPDATE_DELAY);
}
catch ( InterruptedException e) {
interrupted=true;
break;
}
}
monitor.done();
if (monitor.isCanceled()) Job.getJobManager().cancel(JobQueue.this);
synchronized (JobQueue.this) {
reset();
}
fLastWorkDone=-1;
fLastTask=null;
notifyWorkDone();
if (monitor.isCanceled() || interrupted) return Status.CANCEL_STATUS;
return Status.OK_STATUS;
}
Project Name: rssowl.core Package: org.rssowl.core.util
Source Code: BatchedBuffer.java (Click to view .java file)
Method Code:
private Job createBufferProcessor(String taskName){
Job job=new Job(taskName != null ? taskName : ""){
@Override protected IStatus run( IProgressMonitor monitor){
fRunning.set(true);
try {
if (monitor.isCanceled()) return Status.CANCEL_STATUS;
IStatus status;
synchronized (fBuffer) {
status=fReceiver.receive(new ArrayList<T>(fBuffer),this,monitor);
fBuffer.clear();
}
return status;
}
finally {
fRunning.set(false);
}
}
@Override public boolean belongsTo( Object family){
return family == BatchedBuffer.this;
}
}
;
if (!StringUtils.isSet(taskName)) {
job.setSystem(true);
job.setUser(false);
}
return job;
}
Project Name: rssowl.core Package: org.rssowl.core.util
Source Code: BatchedBuffer.java (Click to view .java file)
Method Code:
@Override protected IStatus run(IProgressMonitor monitor){
fRunning.set(true);
try {
if (monitor.isCanceled()) return Status.CANCEL_STATUS;
IStatus status;
synchronized (fBuffer) {
status=fReceiver.receive(new ArrayList<T>(fBuffer),this,monitor);
fBuffer.clear();
}
return status;
}
finally {
fRunning.set(false);
}
}
Project Name: rssowl.core Package: org.rssowl.core.util
Source Code: StreamGobbler.java (Click to view .java file)
Method Code:
@Override protected IStatus run(IProgressMonitor monitor){
BufferedReader br=null;
try {
StringBuilder msg=new StringBuilder("");
String line;
br=new BufferedReader(new InputStreamReader(fIs));
while ((line=br.readLine()) != null) msg.append(line);
if (msg.toString().trim().length() > 0) Activator.getDefault().logInfo(msg.toString());
}
catch ( IOException e) {
Activator.safeLogError(e.getMessage(),e);
}
finally {
try {
if (br != null) br.close();
}
catch ( IOException e) {
Activator.safeLogError(e.getMessage(),e);
}
}
return Status.OK_STATUS;
}
Project Name: rssowl.core Package: org.rssowl.core.util
Source Code: LongOperationMonitor.java (Click to view .java file)
Method Code:
public void worked(int work){
fMonitor.worked(work);
}
Project Name: rssowl.core Package: org.rssowl.core.util
Source Code: SyncUtils.java (Click to view .java file)
Method Code:
private static String internalGetGoogleApiToken(String email,String pw,boolean refresh,IProgressMonitor monitor) throws ConnectionException, IOException, URISyntaxException {
URI uri=new URI(GOOGLE_API_TOKEN_URL);
IProtocolHandler handler=Owl.getConnectionService().getHandler(uri);
if (handler != null) {
String token=SyncUtils.getGoogleAuthToken(email,pw,refresh,monitor);
Map<String,String> headers=new HashMap<String,String>();
headers.put("Authorization",SyncUtils.getGoogleAuthorizationHeader(token));
Map<Object,Object> properties=new HashMap<Object,Object>();
properties.put(IConnectionPropertyConstants.HEADERS,headers);
properties.put(IConnectionPropertyConstants.CON_TIMEOUT,getConnectionTimeout());
BufferedReader reader=null;
try {
InputStream inS=handler.openStream(uri,monitor,properties);
reader=new BufferedReader(new InputStreamReader(inS));
String line;
while (!monitor.isCanceled() && (line=reader.readLine()) != null) {
return line;
}
}
finally {
try {
if (reader != null) reader.close();
}
catch ( IOException e) {
}
}
}
return null;
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal
Source Code: Controller.java (Click to view .java file)
Method Code:
private boolean shouldProceedReloading(IProgressMonitor monitor,IBookMark mark){
if (InternalOwl.TESTING) return true;
if (fShuttingDown) return false;
if (monitor.isCanceled()) return false;
if (isDeleted(mark)) return false;
return true;
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal
Source Code: ApplicationServer.java (Click to view .java file)
Method Code:
private void listen(){
fServerJob=new Job("Local News Viewer Server"){
@Override protected IStatus run( IProgressMonitor monitor){
while (!monitor.isCanceled()) {
BufferedReader buffReader=null;
Socket socket=null;
try {
socket=fSocket.accept();
buffReader=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String message=buffReader.readLine();
if (StringUtils.isSet(message)) safeProcess(socket,message);
}
catch ( IOException e) {
}
finally {
try {
if (buffReader != null) buffReader.close();
}
catch ( Exception e) {
}
try {
if (socket != null) socket.close();
}
catch ( Exception e) {
}
}
}
return Status.OK_STATUS;
}
}
;
fServerJob.setSystem(true);
fServerJob.schedule();
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal
Source Code: ApplicationServer.java (Click to view .java file)
Method Code:
@Override protected IStatus run(IProgressMonitor monitor){
while (!monitor.isCanceled()) {
BufferedReader buffReader=null;
Socket socket=null;
try {
socket=fSocket.accept();
buffReader=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String message=buffReader.readLine();
if (StringUtils.isSet(message)) safeProcess(socket,message);
}
catch ( IOException e) {
}
finally {
try {
if (buffReader != null) buffReader.close();
}
catch ( Exception e) {
}
try {
if (socket != null) socket.close();
}
catch ( Exception e) {
}
}
}
return Status.OK_STATUS;
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal
Source Code: FolderNewsMark.java (Click to view .java file)
Method Code:
private NewsContainer doResolve(NewsFilter.Type type,IProgressMonitor monitor,boolean resolveContainer){
NewsContainer container=null;
if (resolveContainer) container=new NewsContainer(Collections.<INews.State,Boolean>emptyMap());
synchronized (this) {
fNewsContainer.clear();
}
if (Controller.getDefault().isShuttingDown() || (monitor != null && monitor.isCanceled())) return container;
ISearchCondition filterCondition=ModelUtils.getConditionForFilter(type);
{
List<ISearchCondition> conditions=new ArrayList<ISearchCondition>(2);
ISearchField field=fFactory.createSearchField(INews.LOCATION,INews.class.getName());
ISearchCondition locationCondition=fFactory.createSearchCondition(field,SearchSpecifier.IS,ModelUtils.toPrimitive(Collections.singleton((IFolderChild)fFolder)));
conditions.add(locationCondition);
if (filterCondition != null) conditions.add(filterCondition);
List<SearchHit<NewsReference>> results=fSearch.searchNews(conditions,conditions.size() == 2);
addAll(results);
if (resolveContainer) addAll(container,results);
if (Controller.getDefault().isShuttingDown() || (monitor != null && monitor.isCanceled())) return container;
}
{
Set<ISearchMark> searches=new HashSet<ISearchMark>();
findSearches(fFolder,searches);
for ( ISearchMark search : searches) {
if ((type == Type.SHOW_RECENT || type == Type.SHOW_LAST_5_DAYS || type == Type.SHOW_STICKY || type == Type.SHOW_LABELED)) {
List<ISearchCondition> conditions=search.getSearchConditions();
List<SearchHit<NewsReference>> results=fSearch.searchNews(conditions,filterCondition,search.matchAllConditions());
addAll(results);
if (resolveContainer) addAll(container,results);
}
else {
LongArrayList[] newsIds=((SearchMark)search).internalGetNewsContainer().internalGetNewsIds();
for (int i=0; i < newsIds.length; i++) {
if (i == INews.State.HIDDEN.ordinal() || i == INews.State.DELETED.ordinal()) continue;
else if (type == Type.SHOW_NEW && i != INews.State.NEW.ordinal()) continue;
else if (type == Type.SHOW_UNREAD && i == INews.State.READ.ordinal()) continue;
addAll(newsIds[i].getElements());
}
if (resolveContainer) addAll(container,newsIds);
}
if (Controller.getDefault().isShuttingDown() || (monitor != null && monitor.isCanceled())) return container;
}
}
return container;
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal
Source Code: Activator.java (Click to view .java file)
Method Code:
public void run(IProgressMonitor monitor){
LongOperationMonitor callbackMonitor=new LongOperationMonitor(monitor){
private boolean updateUi=true;
@Override public void beginLongOperation( boolean isCancelable){
if (!isLongOperationRunning()) {
super.beginLongOperation(isCancelable);
dialog.open();
}
}
@Override public void worked( int work){
super.worked(work);
if (updateUi) updateUi();
}
@Override public void subTask( String name){
super.subTask(name);
if (updateUi) updateUi();
}
private void updateUi(){
Display display=Display.getDefault();
try {
if (!isCanceled() && !display.isDisposed() && dialog.getShell() != null && !dialog.getShell().isDisposed()) {
display.readAndDispatch();
display.update();
}
}
catch ( Exception e) {
updateUi=false;
logError(e.getMessage(),e);
}
}
}
;
try {
Owl.startup(callbackMonitor);
}
catch ( Throwable e) {
Activator.this.fStartupStatus=createErrorStatus(e.getMessage(),e);
Activator.getDefault().getLog().log(Activator.this.fStartupStatus);
}
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.actions
Source Code: FindUpdatesAction.java (Click to view .java file)
Method Code:
@SuppressWarnings("restriction") private void handleUpdates(final IInstallFeatureOperation[] updates){
if (updates.length == 0) {
if (fUserInitiated) MessageDialog.openInformation(fShell,Messages.FindUpdatesAction_CHECK_UPDATES,Messages.FindUpdatesAction_NO_UPDATES_AVAILABLE);
return;
}
UpdateDialog dialog=new UpdateDialog(fShell,updates);
if (dialog.open() != IDialogConstants.OK_ID) return;
ShowActivityAction action=new ShowActivityAction();
action.init(fShell);
action.run(null);
JobRunner.runUIUpdater(new UIBackgroundJob(fShell,Messages.FindUpdatesAction_DOWNLOADING_UPDATES){
boolean errorUpdating;
@Override protected void runInBackground( IProgressMonitor monitor){
for ( IInstallFeatureOperation update : updates) {
if (monitor.isCanceled() || Controller.getDefault().isShuttingDown()) break;
try {
IConfiguredSite configSite=org.eclipse.update.internal.operations.UpdateUtils.getDefaultTargetSite(SiteManager.getLocalSite().getCurrentConfiguration(),update);
if (configSite != null) {
update.setTargetSite(configSite);
Activator.safeLogInfo("Start: Application Update");
update.execute(monitor,null);
Activator.safeLogInfo("Finished: Application Update");
}
}
catch ( CoreException e) {
errorUpdating=true;
Activator.safeLogError(e.getMessage(),e);
}
catch ( InvocationTargetException e) {
errorUpdating=true;
Activator.safeLogError(e.getMessage(),e);
}
}
}
@Override protected void runInUI( IProgressMonitor monitor){
if (!Controller.getDefault().isShuttingDown()) {
if (!errorUpdating) {
boolean restart=MessageDialog.openQuestion(fShell,Messages.FindUpdatesAction_RESTART_RSSOWL,Messages.FindUpdatesAction_RESTART_AFTER_UPDATE);
if (restart) Controller.getDefault().restart();
}
else MessageDialog.openWarning(fShell,Messages.FindUpdatesAction_CHECK_UPDATES,Messages.FindUpdatesAction_WARNING_UPDATE_FAILED);
}
}
}
,true);
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.actions
Source Code: FindUpdatesAction.java (Click to view .java file)
Method Code:
@Override protected void runInUI(IProgressMonitor monitor){
if (!Controller.getDefault().isShuttingDown()) {
if (!errorUpdating) {
boolean restart=MessageDialog.openQuestion(fShell,Messages.FindUpdatesAction_RESTART_RSSOWL,Messages.FindUpdatesAction_RESTART_AFTER_UPDATE);
if (restart) Controller.getDefault().restart();
}
else MessageDialog.openWarning(fShell,Messages.FindUpdatesAction_CHECK_UPDATES,Messages.FindUpdatesAction_WARNING_UPDATE_FAILED);
}
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.actions
Source Code: DeleteTypesAction.java (Click to view .java file)
Method Code:
private void deleteInBackground(final Runnable deleteRunnable){
IRunnableWithProgress runnableWithProgress=new IRunnableWithProgress(){
public void run( IProgressMonitor monitor){
monitor.beginTask(Messages.DeleteTypesAction_WAIT_DELETE,IProgressMonitor.UNKNOWN);
try {
deleteRunnable.run();
}
finally {
monitor.done();
}
}
}
;
Shell shell=fShell;
if (shell == null) shell=OwlUI.getActiveShell();
ProgressMonitorDialog dialog=new ProgressMonitorDialog(shell){
@Override protected void initializeBounds(){
super.initializeBounds();
Shell shell=getShell();
int width=convertHorizontalDLUsToPixels(OwlUI.MIN_DIALOG_WIDTH_DLU);
shell.setSize(width,shell.getSize().y);
Rectangle containerBounds=shell.getParent().getBounds();
int x=Math.max(0,containerBounds.x + (containerBounds.width - width) / 2);
shell.setLocation(x,shell.getLocation().y);
}
}
;
try {
dialog.run(true,false,runnableWithProgress);
}
catch ( InvocationTargetException e) {
Activator.safeLogError(e.getMessage(),e);
}
catch ( InterruptedException e) {
Activator.safeLogError(e.getMessage(),e);
}
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.actions
Source Code: DeleteTypesAction.java (Click to view .java file)
Method Code:
public void run(IProgressMonitor monitor){
monitor.beginTask(Messages.DeleteTypesAction_WAIT_DELETE,IProgressMonitor.UNKNOWN);
try {
deleteRunnable.run();
}
finally {
monitor.done();
}
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs
Source Code: NewsFiltersListDialog.java (Click to view .java file)
Method Code:
private void applyFilter(final List<SearchHit<NewsReference>> news,final ISearchFilter filter){
IRunnableWithProgress runnable=new IRunnableWithProgress(){
public void run( IProgressMonitor monitor){
List<List<SearchHit<NewsReference>>> chunks=CoreUtils.toChunks(news,FILTER_CHUNK_SIZE);
monitor.beginTask(NLS.bind(Messages.NewsFiltersListDialog_WAIT_FILTER_APPLIED,filter.getName()),chunks.size());
if (monitor.isCanceled()) return;
int counter=0;
for ( List<SearchHit<NewsReference>> chunk : chunks) {
if (monitor.isCanceled()) return;
monitor.subTask(NLS.bind(Messages.NewsFiltersListDialog_FILTERED_N_OF_M_NEWS,(counter * FILTER_CHUNK_SIZE),news.size()));
List<INews> newsItemsToFilter=new ArrayList<INews>(FILTER_CHUNK_SIZE);
for ( SearchHit<NewsReference> chunkItem : chunk) {
INews newsItemToFilter=chunkItem.getResult().resolve();
if (newsItemToFilter != null && newsItemToFilter.isVisible()) newsItemsToFilter.add(newsItemToFilter);
else CoreUtils.reportIndexIssue();
}
applyFilterOnChunks(newsItemsToFilter,filter);
monitor.worked(1);
counter++;
}
monitor.done();
}
}
;
ProgressMonitorDialog dialog=new ProgressMonitorDialog(getShell());
dialog.setBlockOnOpen(false);
dialog.setCancelable(true);
dialog.setOpenOnRun(true);
try {
dialog.run(true,true,runnable);
}
catch ( InvocationTargetException e) {
Activator.getDefault().logError(e.getMessage(),e);
}
catch ( InterruptedException e) {
Activator.getDefault().logError(e.getMessage(),e);
}
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs
Source Code: NewsFiltersListDialog.java (Click to view .java file)
Method Code:
public void run(IProgressMonitor monitor){
List<List<SearchHit<NewsReference>>> chunks=CoreUtils.toChunks(news,FILTER_CHUNK_SIZE);
monitor.beginTask(NLS.bind(Messages.NewsFiltersListDialog_WAIT_FILTER_APPLIED,filter.getName()),chunks.size());
if (monitor.isCanceled()) return;
int counter=0;
for ( List<SearchHit<NewsReference>> chunk : chunks) {
if (monitor.isCanceled()) return;
monitor.subTask(NLS.bind(Messages.NewsFiltersListDialog_FILTERED_N_OF_M_NEWS,(counter * FILTER_CHUNK_SIZE),news.size()));
List<INews> newsItemsToFilter=new ArrayList<INews>(FILTER_CHUNK_SIZE);
for ( SearchHit<NewsReference> chunkItem : chunk) {
INews newsItemToFilter=chunkItem.getResult().resolve();
if (newsItemToFilter != null && newsItemToFilter.isVisible()) newsItemsToFilter.add(newsItemToFilter);
else CoreUtils.reportIndexIssue();
}
applyFilterOnChunks(newsItemsToFilter,filter);
monitor.worked(1);
counter++;
}
monitor.done();
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs
Source Code: SearchNewsDialog.java (Click to view .java file)
Method Code:
@Override protected void runInUI(IProgressMonitor monitor){
if (monitor.isCanceled() || Controller.getDefault().isShuttingDown()) return;
if (fDeletedScoredNews != null) {
if (Application.isWindows7()) {
Object input=fResultViewer.getInput();
if (input instanceof List<?>) {
((List<?>)input).removeAll(fDeletedScoredNews);
fResultViewer.refresh();
}
}
else fResultViewer.remove(fDeletedScoredNews.toArray());
}
if (fUpdatedScoredNews != null) fResultViewer.update(fUpdatedScoredNews.toArray(),null);
if (fBrowserViewer.getControl().isVisible()) {
Object input=fBrowserViewer.getInput();
if (fUpdatedNewsEvents != null) {
for ( NewsEvent event : fUpdatedNewsEvents) {
if (event.getEntity().equals(input)) {
fBrowserViewer.update(Collections.singleton(event));
break;
}
}
}
if (fDeletedScoredNews != null) {
for ( ScoredNews news : fDeletedScoredNews) {
if (news.getNews().equals(input)) {
fBrowserViewer.remove(news.getNews());
break;
}
}
}
}
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs
Source Code: PreviewFeedDialog.java (Click to view .java file)
Method Code:
private void loadFeed(){
if (fLoadedFeed == null || fLoadedFeed.getVisibleNews().isEmpty()) {
if (StringUtils.isSet(fBookmark.getName())) showMessage(NLS.bind(Messages.PreviewFeedDialog_LOAD_FEED_N,fBookmark.getName()),false,true);
else showMessage(Messages.PreviewFeedDialog_LOAD_FEED,false,true);
}
JobRunner.runUIUpdater(new UIBackgroundJob(fBrowser.getControl()){
private IFeed feed;
private Exception error;
@Override protected void runInBackground( IProgressMonitor monitor){
if (fLoadedFeed != null && !fLoadedFeed.getVisibleNews().isEmpty()) {
feed=fLoadedFeed;
return;
}
try {
if (fFeedReference != null) feed=fFeedReference.resolve();
if (feed == null || feed.getVisibleNews().isEmpty()) {
feed=Owl.getModelFactory().createFeed(null,fBookmark.getFeedLinkReference().getLink());
if (monitor.isCanceled() || getShell().isDisposed() || fBrowser.getControl().isDisposed()) return;
IProtocolHandler handler=Owl.getConnectionService().getHandler(feed.getLink());
InputStream inS=handler.openStream(feed.getLink(),monitor,null);
if (monitor.isCanceled() || getShell().isDisposed() || fBrowser.getControl().isDisposed()) return;
Owl.getInterpreter().interpret(inS,feed,null);
}
}
catch ( ConnectionException e) {
error=e;
Activator.safeLogError(e.getMessage(),e);
}
catch ( ParserException e) {
error=e;
Activator.safeLogError(e.getMessage(),e);
}
catch ( InterpreterException e) {
error=e;
Activator.safeLogError(e.getMessage(),e);
}
}
@Override protected void runInUI( IProgressMonitor monitor){
if (feed != null && error == null) showFeed(feed);
else if (error != null) {
String errorMessage=CoreUtils.toMessage(error);
if (StringUtils.isSet(errorMessage)) showMessage(NLS.bind(Messages.PreviewFeedDialog_UNABLE_LOAD_FEED,errorMessage),true,false);
}
}
}
);
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs
Source Code: PreviewFeedDialog.java (Click to view .java file)
Method Code:
@Override protected void runInUI(IProgressMonitor monitor){
if (feed != null && error == null) showFeed(feed);
else if (error != null) {
String errorMessage=CoreUtils.toMessage(error);
if (StringUtils.isSet(errorMessage)) showMessage(NLS.bind(Messages.PreviewFeedDialog_UNABLE_LOAD_FEED,errorMessage),true,false);
}
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs.bookmark
Source Code: CreateBookmarkWizard.java (Click to view .java file)
Method Code:
public void run(IProgressMonitor monitor){
monitor.beginTask(Messages.CreateBookmarkWizard_LOADING_TITLE,IProgressMonitor.UNKNOWN);
try {
if (monitor.isCanceled()) return;
if (!URIUtils.looksLikeFeedLink(uriObj[0].toString())) {
final URI feedLink=Owl.getConnectionService().getFeed(uriObj[0],monitor);
if (feedLink != null) uriObj[0]=feedLink;
}
if (monitor.isCanceled()) return;
title[0]=Owl.getConnectionService().getLabel(uriObj[0],monitor);
}
catch ( final ConnectionException e) {
if (!monitor.isCanceled() && e instanceof AuthenticationRequiredException && handleProtectedFeed(uriObj[0],((AuthenticationRequiredException)e).getRealm())) {
try {
title[0]=Owl.getConnectionService().getLabel(uriObj[0],monitor);
}
catch ( ConnectionException e1) {
Activator.getDefault().logError(e.getMessage(),e);
}
}
}
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs.cleanup
Source Code: CleanUpModel.java (Click to view .java file)
Method Code:
private List<SearchHit<NewsReference>> filterInvalidResults(List<SearchHit<NewsReference>> results,IProgressMonitor monitor){
List<SearchHit<NewsReference>> validResults=new ArrayList<SearchHit<NewsReference>>(results.size());
for ( SearchHit<NewsReference> searchHit : results) {
if (monitor.isCanceled()) break;
if (fNewsDao.exists(searchHit.getResult().getId())) validResults.add(searchHit);
else CoreUtils.reportIndexIssue();
}
return validResults;
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs.cleanup
Source Code: CleanUpSummaryPage.java (Click to view .java file)
Method Code:
private void onGenerateSummary(CleanUpOperations operations,Set<IBookMark> selection,IProgressMonitor monitor){
final CleanUpModel model=new CleanUpModel(operations,selection);
model.generate(monitor);
JobRunner.runInUIThread(fViewer.getTree(),new Runnable(){
public void run(){
fViewer.setInput(model.getTasks());
fViewer.expandAll();
OwlUI.setAllChecked(fViewer.getTree(),true);
}
}
);
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs.importer
Source Code: ImportElementsPage.java (Click to view .java file)
Method Code:
private InputStream openStream(URI link,IProgressMonitor monitor,int timeout,boolean setAcceptLanguage,boolean isLocalized,String authToken) throws ConnectionException {
IProtocolHandler handler=Owl.getConnectionService().getHandler(link);
Map<Object,Object> properties=new HashMap<Object,Object>();
properties.put(IConnectionPropertyConstants.CON_TIMEOUT,timeout);
if (StringUtils.isSet(authToken)) {
Map<String,String> headers=new HashMap<String,String>();
headers.put("Authorization",SyncUtils.getGoogleAuthorizationHeader(authToken));
properties.put(IConnectionPropertyConstants.HEADERS,headers);
}
if (setAcceptLanguage) {
StringBuilder languageHeader=new StringBuilder();
String clientLanguage=Locale.getDefault().getLanguage();
if (!isLocalized) {
languageHeader.append(DEFAULT_LANGUAGE);
if (StringUtils.isSet(clientLanguage) && !DEFAULT_LANGUAGE.equals(clientLanguage)) languageHeader.append(",").append(clientLanguage);
}
else {
if (StringUtils.isSet(clientLanguage)) languageHeader.append(clientLanguage);
else languageHeader.append(DEFAULT_LANGUAGE);
}
properties.put(IConnectionPropertyConstants.ACCEPT_LANGUAGE,languageHeader.toString());
}
return handler.openStream(link,monitor,properties);
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs.preferences
Source Code: FeedsPreferencePage.java (Click to view .java file)
Method Code:
private void finish(boolean autoUpdateChange,boolean displayChange,boolean layoutChange,boolean columnChange,boolean runCleanup) throws PersistenceException {
final Collection<IFolder> rootFolders=CoreUtils.loadRootFolders();
if (autoUpdateChange) {
for ( IFolder rootFolder : rootFolders) {
updateReloadService(rootFolder);
}
}
if (layoutChange) EditorUtils.updateLayout();
if (displayChange) EditorUtils.updateFilterAndGrouping();
if (columnChange) EditorUtils.updateColumns();
if (runCleanup) {
Job retentionJob=new Job(Messages.FeedsPreferencePage_PERFORMNG_CLEANUP){
@Override protected IStatus run( IProgressMonitor monitor){
try {
Set<IBookMark> bookmarks=new HashSet<IBookMark>();
CoreUtils.fillBookMarks(bookmarks,rootFolders);
monitor.beginTask(Messages.FeedsPreferencePage_PERFORMNG_CLEANUP,bookmarks.size());
for ( IBookMark bookmark : bookmarks) {
if (Controller.getDefault().isShuttingDown() || monitor.isCanceled()) break;
monitor.subTask(bookmark.getName());
RetentionStrategy.process(bookmark);
monitor.worked(1);
}
}
finally {
monitor.done();
}
return Status.OK_STATUS;
}
}
;
retentionJob.schedule();
}
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs.preferences
Source Code: FeedsPreferencePage.java (Click to view .java file)
Method Code:
@Override protected IStatus run(IProgressMonitor monitor){
try {
Set<IBookMark> bookmarks=new HashSet<IBookMark>();
CoreUtils.fillBookMarks(bookmarks,rootFolders);
monitor.beginTask(Messages.FeedsPreferencePage_PERFORMNG_CLEANUP,bookmarks.size());
for ( IBookMark bookmark : bookmarks) {
if (Controller.getDefault().isShuttingDown() || monitor.isCanceled()) break;
monitor.subTask(bookmark.getName());
RetentionStrategy.process(bookmark);
monitor.worked(1);
}
}
finally {
monitor.done();
}
return Status.OK_STATUS;
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs.preferences
Source Code: ManageLabelsPreferencePage.java (Click to view .java file)
Method Code:
public void run(IProgressMonitor monitor){
monitor.beginTask(Messages.ManageLabelsPreferencePage_WAIT_DELETE,IProgressMonitor.UNKNOWN);
try {
Controller.getDefault().getSavedSearchService().forceQuickUpdate();
List<SearchHit<NewsReference>> labeledNews=findLabeledNews(labelsToDelete);
if (!labeledNews.isEmpty()) {
monitor.subTask(NLS.bind(Messages.ManageLabelsPreferencePage_UPDATE_NEWS_REMOVE_LABELS,labeledNews.size()));
List<List<SearchHit<NewsReference>>> chunks=CoreUtils.toChunks(labeledNews,LABELS_CHUNK_SIZE);
for ( List<SearchHit<NewsReference>> chunk : chunks) {
List<INews> newsToSave=new ArrayList<INews>(chunk.size());
for ( SearchHit<NewsReference> hit : chunk) {
boolean needsSave=false;
INews item=hit.getResult().resolve();
if (item != null && item.isVisible()) {
for ( ILabel labelToDelete : labelsToDelete) {
if (item.removeLabel(labelToDelete)) needsSave=true;
}
if (needsSave) newsToSave.add(item);
}
else CoreUtils.reportIndexIssue();
}
if (!newsToSave.isEmpty()) DynamicDAO.saveAll(newsToSave);
}
}
DynamicDAO.deleteAll(labelsToDelete);
JobRunner.runInUIThread(fViewer.getControl(),new Runnable(){
public void run(){
fViewer.refresh();
fixOrderAfterDelete();
fViewer.getTree().setFocus();
}
}
);
}
finally {
monitor.done();
}
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs.properties
Source Code: GeneralPropertyPage.java (Click to view .java file)
Method Code:
private void onGrabTitle(){
if (StringUtils.isSet(fFeedInput.getText())) {
fFeedInput.getShell().setCursor(fFeedInput.getDisplay().getSystemCursor(SWT.CURSOR_APPSTARTING));
final String linkText=fFeedInput.getText();
JobRunner.runUIUpdater(new UIBackgroundJob(fFeedInput.getShell()){
private String fLabel;
@Override protected void runInBackground( IProgressMonitor monitor){
try {
URI link=new URI(URIUtils.fastEncode(linkText));
fLabel=Owl.getConnectionService().getLabel(link,monitor);
}
catch ( ConnectionException e) {
}
catch ( URISyntaxException e) {
}
}
@Override protected void runInUI( IProgressMonitor monitor){
if (StringUtils.isSet(fLabel)) fNameInput.setText(fLabel);
fFeedInput.getShell().setCursor(null);
}
}
);
}
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs.properties
Source Code: GeneralPropertyPage.java (Click to view .java file)
Method Code:
@Override protected void runInUI(IProgressMonitor monitor){
if (StringUtils.isSet(fLabel)) fNameInput.setText(fLabel);
fFeedInput.getShell().setCursor(null);
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs.properties
Source Code: RetentionPropertyPage.java (Click to view .java file)
Method Code:
public void finish(){
if (fSettingsChanged) {
Job retentionJob=new Job(Messages.RetentionPropertyPage_PERFORMING_CLEANUP){
@Override protected IStatus run( IProgressMonitor monitor){
try {
Set<IBookMark> bookmarks=new HashSet<IBookMark>();
for ( IEntity entity : fEntities) {
if (entity instanceof IBookMark) bookmarks.add((IBookMark)entity);
else if (entity instanceof IFolder) CoreUtils.fillBookMarks(bookmarks,Collections.singleton((IFolder)entity));
}
monitor.beginTask(Messages.RetentionPropertyPage_PERFORMING_CLEANUP,bookmarks.size());
for ( IBookMark bookmark : bookmarks) {
if (Controller.getDefault().isShuttingDown() || monitor.isCanceled()) break;
monitor.subTask(bookmark.getName());
RetentionStrategy.process(bookmark);
monitor.worked(1);
}
}
finally {
monitor.done();
}
return Status.OK_STATUS;
}
}
;
retentionJob.schedule();
}
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs.properties
Source Code: RetentionPropertyPage.java (Click to view .java file)
Method Code:
@Override protected IStatus run(IProgressMonitor monitor){
try {
Set<IBookMark> bookmarks=new HashSet<IBookMark>();
for ( IEntity entity : fEntities) {
if (entity instanceof IBookMark) bookmarks.add((IBookMark)entity);
else if (entity instanceof IFolder) CoreUtils.fillBookMarks(bookmarks,Collections.singleton((IFolder)entity));
}
monitor.beginTask(Messages.RetentionPropertyPage_PERFORMING_CLEANUP,bookmarks.size());
for ( IBookMark bookmark : bookmarks) {
if (Controller.getDefault().isShuttingDown() || monitor.isCanceled()) break;
monitor.subTask(bookmark.getName());
RetentionStrategy.process(bookmark);
monitor.worked(1);
}
}
finally {
monitor.done();
}
return Status.OK_STATUS;
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.dialogs.properties
Source Code: InformationPropertyPage.java (Click to view .java file)
Method Code:
@Override protected void runInUI(IProgressMonitor monitor){
if (fEntities.get(0) instanceof IBookMark) fDescriptionLabel.setText(StringUtils.isSet(description) ? description : Messages.InformationPropertyPage_NONE);
if (fEntities.get(0) instanceof IBookMark) {
fHomepageLink.setText(homepage != null ? "<a>" + homepage.toString() + "</a>" : Messages.InformationPropertyPage_NONE);
if (homepage != null) {
fHomepageLink.addSelectionListener(new SelectionAdapter(){
@Override public void widgetSelected( SelectionEvent e){
OpenInBrowserAction action=new OpenInBrowserAction();
action.selectionChanged(null,new StructuredSelection(homepage));
action.run();
}
}
);
}
}
if (newCount != 0 && unreadCount != 0 && updatedCount != 0) createLabel(fContainer,NLS.bind(Messages.InformationPropertyPage_N_NEW_UNREAD_UPDATED,new Object[]{totalCount,newCount,unreadCount,updatedCount}),false);
else if (newCount != 0 && unreadCount != 0) createLabel(fContainer,NLS.bind(Messages.InformationPropertyPage_N_NEW_UNREAD,new Object[]{totalCount,newCount,unreadCount}),false);
else if (unreadCount != 0 && updatedCount != 0) createLabel(fContainer,NLS.bind(Messages.InformationPropertyPage_N_UNREAD_UPDATED,new Object[]{totalCount,unreadCount,updatedCount}),false);
else if (newCount != 0 && updatedCount != 0) createLabel(fContainer,NLS.bind(Messages.InformationPropertyPage_N_NEW_UPDATED,new Object[]{totalCount,newCount,updatedCount}),false);
else if (newCount != 0) createLabel(fContainer,NLS.bind(Messages.InformationPropertyPage_N_NEW,new Object[]{totalCount,newCount}),false);
else if (unreadCount != 0) createLabel(fContainer,NLS.bind(Messages.InformationPropertyPage_N_UNREAD,new Object[]{totalCount,unreadCount}),false);
else if (updatedCount != 0) createLabel(fContainer,NLS.bind(Messages.InformationPropertyPage_N_UPDATED,new Object[]{totalCount,updatedCount}),false);
else createLabel(fContainer,String.valueOf(totalCount),false);
fContainer.layout(true,true);
fSite.contentsChanged();
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.editors.browser
Source Code: WebBrowserView.java (Click to view .java file)
Method Code:
@Override public void doSave(IProgressMonitor monitor){
}
Project Name: rssowl.ui Package: org.rssowl.ui.internal.editors.feed
Source Code: FilterBar.java (Click to view .java file)
Method Code:
public void modifyText(ModifyEvent e){
if (fSearchInput.getText().length() == 0 && fFeedView.getFilter().isPatternSet()) {
fFeedView.getFilter().setPattern(fSearchInput.getText());
if (!fBlockRefresh) {
BusyIndicator.showWhile(Display.getDefault(),new Runnable(){
public void run(){
if (highlightChanged) {
setHighlight(false);
highlightChanged=false;
}
if (needsCacheRevalidationFromSearch()) fFeedView.revalidateCaches();
fFeedView.refresh(true,false);
}
}
);
}
setSearchControlsVisible(false);
}
else if (fSearchInput.getText().length() > 0) {
fQuickSearchTracker.run(new TaskAdapter(){
public IStatus run( IProgressMonitor monitor){
BusyIndicator.showWhile(Display.getDefault(),new Runnable(){
public void run(){
if (setHighlight(true)) highlightChanged=true;
fFeedView.getFilter().setPattern(fSearchInput.getText());
if (needsCacheRevalidationFromSearch()) fFeedView.revalidateCaches();
fFeedView.refresh(true,false);
updateBrowserSelection();
}
}
);
setSearchControlsVisible(true);
return Status.OK_STATUS;
}
}
);
}
}