use of org.eclipse.core.runtime.ISafeRunnable in project che by eclipse.
the class DeltaProcessor method notifyTypeHierarchies.
private void notifyTypeHierarchies(IElementChangedListener[] listeners, int listenerCount) {
for (int i = 0; i < listenerCount; i++) {
final IElementChangedListener listener = listeners[i];
if (!(listener instanceof TypeHierarchy))
continue;
// wrap callbacks with Safe runnable for subsequent listeners to be called when some are causing grief
SafeRunner.run(new ISafeRunnable() {
public void handleException(Throwable exception) {
//$NON-NLS-1$
Util.log(exception, "Exception occurred in listener of Java element change notification");
}
public void run() throws Exception {
TypeHierarchy typeHierarchy = (TypeHierarchy) listener;
if (typeHierarchy.hasFineGrainChanges()) {
// case of changes in primary working copies
typeHierarchy.needsRefresh = true;
typeHierarchy.fireChange();
}
}
});
}
}
use of org.eclipse.core.runtime.ISafeRunnable in project translationstudio8 by heartsome.
the class AutomaticQATrigger method runExtension.
/**
* 加载自动品质检查的扩展
*/
private void runExtension() {
IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(CONSTANT_automaticQA_EXTENSION_ID);
try {
for (IConfigurationElement e : config) {
final Object o = e.createExecutableExtension("class");
if (o instanceof IAutomaticQA) {
ISafeRunnable runnable = new ISafeRunnable() {
public void handleException(Throwable exception) {
exception.printStackTrace();
}
public void run() throws Exception {
autoQA = (IAutomaticQA) o;
}
};
SafeRunner.run(runnable);
}
}
} catch (CoreException e) {
LOGGER.error("", e);
e.printStackTrace();
}
}
use of org.eclipse.core.runtime.ISafeRunnable in project translationstudio8 by heartsome.
the class RealTimeSpellCheckTrigger method runExtension.
/**
* 加哉实时拼写检查 ;
*/
private void runExtension() {
IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(CONSTANT_realTimeSpell_extentionId);
try {
for (IConfigurationElement e : config) {
final Object o = e.createExecutableExtension("class");
if (o instanceof IRealTimeSpellCheck) {
ISafeRunnable runnable = new ISafeRunnable() {
public void handleException(Throwable exception) {
exception.printStackTrace();
}
public void run() throws Exception {
realTimeSpell = (IRealTimeSpellCheck) o;
}
};
SafeRunner.run(runnable);
}
}
} catch (CoreException e) {
LOGGER.error("", e);
e.printStackTrace();
}
}
use of org.eclipse.core.runtime.ISafeRunnable in project translationstudio8 by heartsome.
the class TbImporter method runExtension.
/**
* 加载记忆库匹配实现 ;
*/
private void runExtension() {
IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(TERMIMPORT_EXTENSION_ID);
try {
for (IConfigurationElement e : config) {
final Object o = e.createExecutableExtension("class");
if (o instanceof ITbImporter) {
ISafeRunnable runnable = new ISafeRunnable() {
public void handleException(Throwable exception) {
logger.error(Messages.getString("importer.TbImporter.logger1"), exception);
}
public void run() throws Exception {
tbImporter = (ITbImporter) o;
}
};
SafeRunner.run(runnable);
}
}
} catch (CoreException ex) {
logger.error(Messages.getString("importer.TbImporter.logger1"), ex);
}
}
use of org.eclipse.core.runtime.ISafeRunnable in project translationstudio8 by heartsome.
the class ComplexMatcherFactory method runExtension.
/**
* load implement of complex matcher
*/
private void runExtension() {
IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(EXTENSION_ID);
try {
for (IConfigurationElement e : config) {
final Object o = e.createExecutableExtension("class");
if (o instanceof IComplexMatch) {
ISafeRunnable runnable = new ISafeRunnable() {
public void handleException(Throwable exception) {
logger.error(Messages.getString("complexMatch.ComplexMatcherFactory.logger1"), exception);
}
public void run() throws Exception {
IComplexMatch simpleMatcher = (IComplexMatch) o;
matchers.add(simpleMatcher);
}
};
SafeRunner.run(runnable);
}
}
} catch (CoreException ex) {
logger.error(Messages.getString("complexMatch.ComplexMatcherFactory.logger1"), ex);
}
}
Aggregations