feature[ats_ATS324474]: move add out of ui thread
diff --git a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/WatchView.java b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/WatchView.java
index e94b35a..67e200b 100644
--- a/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/WatchView.java
+++ b/org.eclipse.ote.ui.message/src/org/eclipse/ote/ui/message/watch/WatchView.java
@@ -695,37 +695,48 @@
}
public void addWatchMessage(final AddWatchParameter parameter) {
- for (MessageParameter message : parameter.getMessageParameters()) {
- Collection<ElementPath> elements = parameter.getMessageElements(message.getMessageName());
- OseeLog.logf(Activator.class, Level.FINEST, "Watch request for message %s", message);
- try {
- if (elements == null) {
- elements = new ArrayList<ElementPath>();
+ new Thread(new Runnable(){
+ @Override
+ public void run() {
+ for (MessageParameter message : parameter.getMessageParameters()) {
+ Collection<ElementPath> elements = parameter.getMessageElements(message.getMessageName());
+ OseeLog.logf(Activator.class, Level.FINEST, "Watch request for message %s", message);
+ try {
+ if (elements == null) {
+ elements = new ArrayList<ElementPath>();
+ }
+ MessageMode mode = message.isWriter() ? MessageMode.WRITER : MessageMode.READER;
+ watchList.createElements(message.getMessageName(),message.getDataType(), mode, elements, message.getValueMap());
+ } catch (ClassNotFoundException ex1) {
+ if (openProceedWithProcessing("Could not find a class definition for " + message + "\n Do you wish to continue")) {
+ continue;
+ } else {
+ return;
+ }
+ } catch (InstantiationException ex1) {
+ if (openProceedWithProcessing("failed to instantiate " + message + "\n Do you wish to continue")) {
+ continue;
+ } else {
+ return;
+ }
+ } catch (Exception ex1) {
+ OseeLog.log(Activator.class, Level.SEVERE, "failed to create message node", ex1);
+ if (openProceedWithProcessing("Error processing " + message + ". See Error Log for details.\n Do you wish to continue")) {
+ continue;
+ } else {
+ return;
+ }
+ }
}
- MessageMode mode = message.isWriter() ? MessageMode.WRITER : MessageMode.READER;
- watchList.createElements(message.getMessageName(),message.getDataType(), mode, elements, message.getValueMap());
- } catch (ClassNotFoundException ex1) {
- if (openProceedWithProcessing("Could not find a class definition for " + message + "\n Do you wish to continue")) {
- continue;
- } else {
- return;
- }
- } catch (InstantiationException ex1) {
- if (openProceedWithProcessing("failed to instantiate " + message + "\n Do you wish to continue")) {
- continue;
- } else {
- return;
- }
- } catch (Exception ex1) {
- OseeLog.log(Activator.class, Level.SEVERE, "failed to create message node", ex1);
- if (openProceedWithProcessing("Error processing " + message + ". See Error Log for details.\n Do you wish to continue")) {
- continue;
- } else {
- return;
- }
+
+ Display.getDefault().asyncExec(new Runnable(){
+ @Override
+ public void run() {
+ refresh();
+ }
+ });
}
- }
- refresh();
+ }).start();
}
public void refresh() {