wlu: created
diff --git a/org.eclipse.epf.library.tests/src/org/eclipse/epf/library/tester/OutputDiffAnalyzor.java b/org.eclipse.epf.library.tests/src/org/eclipse/epf/library/tester/OutputDiffAnalyzor.java
new file mode 100644
index 0000000..6dddb64
--- /dev/null
+++ b/org.eclipse.epf.library.tests/src/org/eclipse/epf/library/tester/OutputDiffAnalyzor.java
@@ -0,0 +1,83 @@
+//------------------------------------------------------------------------------
+// Copyright (c) 2005, 2006 IBM Corporation 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:
+// IBM Corporation - initial implementation
+//------------------------------------------------------------------------------
+package org.eclipse.epf.library.tester;
+
+import java.io.File;
+
+import org.eclipse.epf.common.utils.XMLUtil;
+import org.eclipse.epf.library.tester.iface.TestTracer;
+import org.w3c.dom.Document;
+
+/**
+ * Class to analyze the differneces between two library tester outputs
+ *
+ * @author Weiping Lu
+ * @since 1.0
+ *
+ */
+public class OutputDiffAnalyzor {
+
+ private TestTracer tracer;
+ private boolean needToAnalyze = false;
+ private File f1;
+ private File f2;
+ private Document d1;
+ private Document d2;
+
+ public OutputDiffAnalyzor(TestTracer t, Document d1, Document d2, File f1, File f2) {
+ tracer = t;
+ this.f1 = f1;
+ this.f2 = f2;
+ this.d1 = d1 == null ? getDocument(f1) : d1;
+ this.d2 = d2 == null ? getDocument(f2) : d2;
+ }
+
+ private Document getDocument(File file) {
+ if (file.exists()) {
+ try {
+ return XMLUtil.loadXml(file);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ return null;
+ }
+
+ private void trace(String line) {
+ tracer.trace(line);
+ }
+
+ private void analyze() {
+ trace("OutputDiffAnalyzor.analyze ->");
+ trace("f1: " + f1.getAbsolutePath());
+ trace("f2: " + f2.getAbsolutePath());
+ trace("");
+ analyze_();
+ trace("OutputDiffAnalyzor.analyze <-");
+ }
+
+ private void analyze_() {
+ if (! needToAnalyze) {
+ return;
+ }
+
+
+ needToAnalyze = false;
+ }
+
+ public boolean compare() {
+ analyze();
+ return true;
+ }
+
+
+
+}