wlu: updated
diff --git a/org.eclipse.epf.library.tests/Libraries/1.0.0/TestCommands/kelvinCase.tc b/org.eclipse.epf.library.tests/Libraries/1.0.0/TestCommands/kelvinCase.tc
index 44c94c8..2420323 100644
--- a/org.eclipse.epf.library.tests/Libraries/1.0.0/TestCommands/kelvinCase.tc
+++ b/org.eclipse.epf.library.tests/Libraries/1.0.0/TestCommands/kelvinCase.tc
@@ -76,8 +76,13 @@
</NewMethodElement>
-
-
+<!-- 7. Suppress td_1 -->
+ <EditMethodElement
+ type="TaskDescriptor"
+ path="plugin_1/Content/CapabilityPatterns/cp_1/td_1"
+ suppressed="true"
+ >
+ </EditMethodElement>
<OutputLibrary outputFileName="t.xml"/>
diff --git a/org.eclipse.epf.library.tests/src/org/eclipse/epf/library/tester/impl/testcommands/TCEditMethodElementBase.java b/org.eclipse.epf.library.tests/src/org/eclipse/epf/library/tester/impl/testcommands/TCEditMethodElementBase.java
index bb233a3..53b2b61 100644
--- a/org.eclipse.epf.library.tests/src/org/eclipse/epf/library/tester/impl/testcommands/TCEditMethodElementBase.java
+++ b/org.eclipse.epf.library.tests/src/org/eclipse/epf/library/tester/impl/testcommands/TCEditMethodElementBase.java
@@ -255,10 +255,10 @@
if (at_val == null || at_val.length() == 0) {
continue;
}
- String dataTypeName = dataType.getName();
+ Object newValue = getESetValue(dataType, at_val);
- if (dataTypeName.equals("String")) {
- methodElement.eSet(eatt, at_val);
+ if (newValue != null) {
+ methodElement.eSet(eatt, newValue);
} else {
getOwner().trace("Warning: not handled dataType: " + dataType);
getOwner().trace("Warning: at_tag: " + at_tag);
@@ -269,6 +269,22 @@
}
}
+ private Object getESetValue(EDataType dataType, String strVal) {
+ Class cls = dataType.getInstanceClass();
+ if (cls.equals(String.class)) {
+ return strVal;
+ }
+ if (cls.equals(Boolean.class)) {
+ boolean b = strVal.equalsIgnoreCase("true");
+ if (!b && !strVal.equalsIgnoreCase("false")) {
+ throw new UnsupportedOperationException();
+ }
+ return new Boolean(b);
+ }
+
+ return null;
+ }
+
private void eSetByValueChildren() {
MethodLibrary currLib = getOwner().getCurrentBaseLib();
Map refMap = getTagData().refMap;