wlu: updated
diff --git a/org.eclipse.epf.library.tests/src/org/eclipse/epf/library/tester/impl/testcommands/TCOutputMethodElement.java b/org.eclipse.epf.library.tests/src/org/eclipse/epf/library/tester/impl/testcommands/TCOutputMethodElement.java
index 8606de4..a2a56b1 100644
--- a/org.eclipse.epf.library.tests/src/org/eclipse/epf/library/tester/impl/testcommands/TCOutputMethodElement.java
+++ b/org.eclipse.epf.library.tests/src/org/eclipse/epf/library/tester/impl/testcommands/TCOutputMethodElement.java
@@ -19,12 +19,14 @@
import org.eclipse.epf.library.tester.iface.TCExeReply;
import org.eclipse.epf.library.tester.impl.TestCommandImpl;
import org.eclipse.epf.library.tester.impl.TestCommandMgr;
+import org.eclipse.epf.uma.ContentElement;
import org.eclipse.epf.uma.ContentPackage;
import org.eclipse.epf.uma.MethodConfiguration;
import org.eclipse.epf.uma.MethodElement;
import org.eclipse.epf.uma.MethodLibrary;
import org.eclipse.epf.uma.MethodPackage;
import org.eclipse.epf.uma.MethodPlugin;
+import org.eclipse.epf.uma.ProcessElement;
import org.eclipse.epf.uma.ProcessPackage;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -101,7 +103,7 @@
MethodPackage pkg = (MethodPackage) pkgs.get(i);
outputMethodPackage(pkg, node);
}
- }
+ }
private void outputConfig(MethodConfiguration config, Element parentNode) {
Element node = doc.createElement("MethodConfiguration");
@@ -125,6 +127,42 @@
}
List pkgs = pkg.getChildPackages();
outputPkgs(pkgs, node);
+ List elements = null;
+ if (pkg instanceof ContentPackage) {
+ elements = ((ContentPackage) pkg).getContentElements();
+ } else if (pkg instanceof ProcessPackage) {
+ elements = ((ProcessPackage) pkg).getProcessElements();
+ }
+ outputElements(elements, node);
+ }
+
+ private void outputElements(List elements, Element node) {
+ for (int i=0; i<elements.size(); i++) {
+ MethodElement element = (MethodElement) elements.get(i);
+ outputElement(element, node);
+ }
+ }
+
+ private void outputElement(MethodElement element, Element parentNode) {
+ String tagName = null;
+ if (element instanceof ContentElement) {
+ tagName = "ContentElement";
+ } else if (element instanceof ProcessElement) {
+ tagName = "ProcessElement";
+ }
+ Element node = doc.createElement(tagName);
+ parentNode.appendChild(node);
+
+ String clsName = element.getClass().getName();
+ int ix = clsName.lastIndexOf(".") + 1;
+ String type = clsName.substring(ix);
+ ix = type.lastIndexOf("Impl");
+ if (ix + 4 == type.length()) {
+ type = type.substring(0, ix);
+ }
+ node.setAttribute("type", type);
+
+ outputFeatures(element, node);
}
private void outputFeatures(MethodElement me, Element node) {