/*******************************************************************************
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * Copyright (c) 2007, 2020 Association for Decentralized Information Management
* in Industry THTH ry.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
*
* Contributors:
* VTT Technical Research Centre of Finland - initial API and implementation
+ * Semantum Oy - gitlab #522 - removed reflection hack
*******************************************************************************/
/*
*
package org.simantics.utils.threads;
import java.awt.EventQueue;
-import java.awt.Toolkit;
-import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
import java.util.concurrent.AbstractExecutorService;
return INSTANCE;
}
- Field dispatchThread;
-
- AWTThread() {
- dispatchThread = getDispatchThreadField();
- }
-
- private Field getDispatchThreadField()
- {
- try {
- Field f = EventQueue.class.getDeclaredField("dispatchThread");
- f.setAccessible(true);
- return f;
- } catch (SecurityException e) {
- throw new RuntimeException(e);
- } catch (NoSuchFieldException e) {
- throw new RuntimeException(e);
- }
- }
-
@Override
public Thread asyncExec(Runnable runnable) {
- EventQueue eq = Toolkit.getDefaultToolkit().getSystemEventQueue();
EventQueue.invokeLater(runnable);
- try {
- return (Thread) dispatchThread.get(eq);
- } catch (IllegalArgumentException e1) {
- throw new RuntimeException(e1);
- } catch (IllegalAccessException e1) {
- throw new RuntimeException(e1);
- }
+ return null;
}
@Override
@Override
public Thread getThread() {
- EventQueue eq = Toolkit.getDefaultToolkit().getSystemEventQueue();
- try {
- return (Thread) dispatchThread.get(eq);
- } catch (IllegalArgumentException e1) {
- throw new RuntimeException(e1);
- } catch (IllegalAccessException e1) {
- throw new RuntimeException(e1);
- }
+ return null;
}
public String toString() {
public boolean awaitTermination(long timeout, TimeUnit unit)
throws InterruptedException {
return false;
- }
+ }
}