From 4c241386867caaa80b65abfb5c4a64cf87b74dfd Mon Sep 17 00:00:00 2001
From: William Chen
Date: Thu, 23 Feb 2012 15:26:31 +0800
Subject: Target Explorer: Merge two process property testers.
---
.../org.eclipse.tcf.te.tcf.processes.ui/plugin.xml | 27 +++++--------
.../ui/internal/testers/ProcessPropertyTester.java | 20 ++++++++-
.../te/tcf/processes/ui/model/PropertyTester.java | 47 ----------------------
3 files changed, 28 insertions(+), 66 deletions(-)
delete mode 100644 target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/model/PropertyTester.java
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/plugin.xml b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/plugin.xml
index d5f3fbe7a..ac8974184 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/plugin.xml
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/plugin.xml
@@ -240,7 +240,7 @@
+ property="org.eclipse.tcf.te.tcf.processes.ui.model.isSystemRoot">
@@ -270,7 +270,7 @@
+ property="org.eclipse.tcf.te.tcf.processes.ui.model.isSystemRoot">
@@ -349,7 +349,7 @@
-
+
@@ -379,7 +379,7 @@
-
+
@@ -450,15 +450,6 @@
-
-
-
-
+ property="org.eclipse.tcf.te.tcf.processes.ui.model.isSystemRoot">
@@ -701,7 +692,7 @@
+ property="org.eclipse.tcf.te.tcf.processes.ui.model.isSystemRoot">
@@ -718,7 +709,7 @@
+ property="org.eclipse.tcf.te.tcf.processes.ui.model.isSystemRoot">
@@ -730,8 +721,8 @@
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/testers/ProcessPropertyTester.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/testers/ProcessPropertyTester.java
index 8d954fccd..8ddb69258 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/testers/ProcessPropertyTester.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/internal/testers/ProcessPropertyTester.java
@@ -9,7 +9,10 @@
*******************************************************************************/
package org.eclipse.tcf.te.tcf.processes.ui.internal.testers;
+import java.util.concurrent.atomic.AtomicBoolean;
+
import org.eclipse.core.expressions.PropertyTester;
+import org.eclipse.tcf.protocol.Protocol;
import org.eclipse.tcf.te.tcf.processes.ui.model.ProcessTreeNode;
/**
@@ -24,10 +27,25 @@ public class ProcessPropertyTester extends PropertyTester {
@Override
public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
if(receiver instanceof ProcessTreeNode) {
- ProcessTreeNode node = (ProcessTreeNode) receiver;
+ final ProcessTreeNode node = (ProcessTreeNode) receiver;
if(property.equals("isSystemRoot")) { //$NON-NLS-1$
return "ProcRootNode".equals(node.type); //$NON-NLS-1$
}
+ else if ("isAttached".equals(property) && expectedValue instanceof Boolean) { //$NON-NLS-1$
+ final AtomicBoolean isAttached = new AtomicBoolean();
+ Runnable runnable = new Runnable() {
+ @Override
+ public void run() {
+ if (node.pContext != null) {
+ isAttached.set(node.pContext.isAttached());
+ }
+ }
+ };
+ if (Protocol.isDispatchThread()) runnable.run();
+ else Protocol.invokeAndWait(runnable);
+
+ return ((Boolean)expectedValue).booleanValue() == isAttached.get();
+ }
}
return false;
}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/model/PropertyTester.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/model/PropertyTester.java
deleted file mode 100644
index 5071f410f..000000000
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.processes.ui/src/org/eclipse/tcf/te/tcf/processes/ui/model/PropertyTester.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved.
- * This program and the accompanying materials are made available under the terms
- * of the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Wind River Systems - initial API and implementation
- *******************************************************************************/
-package org.eclipse.tcf.te.tcf.processes.ui.model;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.eclipse.tcf.protocol.Protocol;
-
-/**
- * Processes service model property tester.
- */
-public class PropertyTester extends org.eclipse.core.expressions.PropertyTester {
-
- /* (non-Javadoc)
- * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
- */
- @Override
- public boolean test(final Object receiver, String property, Object[] args, Object expectedValue) {
-
- if (receiver instanceof ProcessTreeNode) {
- if ("isAttached".equals(property) && expectedValue instanceof Boolean) { //$NON-NLS-1$
- final AtomicBoolean isAttached = new AtomicBoolean();
- Runnable runnable = new Runnable() {
- @Override
- public void run() {
- final ProcessTreeNode node = (ProcessTreeNode)receiver;
- if (node.pContext != null) {
- isAttached.set(node.pContext.isAttached());
- }
- }
- };
- if (Protocol.isDispatchThread()) runnable.run();
- else Protocol.invokeAndWait(runnable);
-
- return ((Boolean)expectedValue).booleanValue() == isAttached.get();
- }
- }
- return false;
- }
-}
--
cgit v1.2.3