Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.wsi/wsitools/org/eclipse/wst/wsi/internal/report/impl/ReportImpl.java')
-rw-r--r--bundles/org.eclipse.wst.wsi/wsitools/org/eclipse/wst/wsi/internal/report/impl/ReportImpl.java514
1 files changed, 514 insertions, 0 deletions
diff --git a/bundles/org.eclipse.wst.wsi/wsitools/org/eclipse/wst/wsi/internal/report/impl/ReportImpl.java b/bundles/org.eclipse.wst.wsi/wsitools/org/eclipse/wst/wsi/internal/report/impl/ReportImpl.java
new file mode 100644
index 000000000..66c4dc19c
--- /dev/null
+++ b/bundles/org.eclipse.wst.wsi/wsitools/org/eclipse/wst/wsi/internal/report/impl/ReportImpl.java
@@ -0,0 +1,514 @@
+/*******************************************************************************
+ * Copyright (c) 2002-2005 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 - Initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.wsi.internal.report.impl;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.List;
+import java.util.Vector;
+
+import org.eclipse.wst.wsi.internal.WSIConstants;
+import org.eclipse.wst.wsi.internal.WSIException;
+import org.eclipse.wst.wsi.internal.log.Log;
+import org.eclipse.wst.wsi.internal.report.ArtifactReference;
+import org.eclipse.wst.wsi.internal.report.AssertionResult;
+import org.eclipse.wst.wsi.internal.report.Entry;
+import org.eclipse.wst.wsi.internal.report.EntryContainer;
+import org.eclipse.wst.wsi.internal.report.FailureDetail;
+import org.eclipse.wst.wsi.internal.report.Report;
+import org.eclipse.wst.wsi.internal.report.ReportArtifact;
+import org.eclipse.wst.wsi.internal.report.ReportContext;
+import org.eclipse.wst.wsi.internal.util.TestUtils;
+import org.eclipse.wst.wsi.internal.util.Utils;
+import org.eclipse.wst.wsi.internal.xml.XMLUtils;
+
+/**
+ * WS-I conformance test report.
+ *
+ * @version 1.0.1
+ * @author Peter Brittenham (peterbr@us.ibm.com)
+ */
+public class ReportImpl implements Report
+{
+ /**
+ * Report filename.
+ */
+ protected String filename = null;
+
+ /**
+ * Report context.
+ */
+ protected ReportContext reportContext = null;
+
+ /**
+ * Log file.
+ */
+ protected Log log = null;
+
+ /**
+ * Summary all passed flag.
+ */
+ protected boolean allPassed = true;
+
+ /**
+ * Test coverage.
+ */
+ //protected TestCoverage testCoverage;
+
+ /**
+ * Artifact list.
+ */
+ protected Vector artifactList = new Vector();
+
+ /**
+ * Entry list.
+ */
+ protected Vector entryList = new Vector();
+
+ /**
+ * Current artifact.
+ */
+ protected ReportArtifact currentArtifact = null;
+
+ /**
+ * Current entry.
+ */
+ protected Entry currentEntry = null;
+
+ /**
+ * Prereq type.
+ */
+ protected String prereqType;
+
+ /**
+ * Create a new conformance report.
+ */
+ public ReportImpl()
+ {
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.document.WSIDocument#getLocation()
+ */
+ public String getLocation()
+ {
+ // Get report URI
+ //return reportURI;
+ return this.filename;
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.document.WSIDocument#setLocation(java.lang.String)
+ */
+ public void setLocation(String reportURI)
+ {
+ this.filename = reportURI;
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.Report#getReportContext()
+ */
+ public ReportContext getReportContext()
+ {
+ return this.reportContext;
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.Report#setReportContext(org.wsi.test.report.ReportContext)
+ */
+ public void setReportContext(ReportContext reportContext)
+ {
+ // Save input references
+ this.reportContext = reportContext;
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.Report#getCurrentArtifact()
+ */
+ public ReportArtifact getCurrentArtifact()
+ {
+ // Return artifact
+ return this.currentArtifact;
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.BuildReport#setCurrentArtifact(org.wsi.test.report.ReportArtifact)
+ */
+ public void setCurrentArtifact(ReportArtifact artifact) throws WSIException
+ {
+ // Save reference to artifact
+ artifactList.add(artifact);
+
+ // Set as current artifact
+ this.currentArtifact = artifact;
+
+ // Set default prereq processing
+ this.prereqType = PREREQ_TYPE_ENTRY;
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.BuildReport#endCurrentArtifact()
+ */
+ public void endCurrentArtifact() throws WSIException
+ {
+ // Remove current artifact
+ this.currentArtifact = null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.BuildReport#addArtifactReference(org.wsi.test.report.ArtifactReference)
+ */
+ public void addArtifactReference(ArtifactReference artifactReference)
+ throws WSIException
+ {
+ // ADD: How should this be saved? Should it be added to the current artifact?
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.Report#getCurrentEntry()
+ */
+ public Entry getCurrentEntry()
+ {
+ // Return entry
+ return this.currentEntry;
+ }
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.Report#getCurrentEntry()
+ */
+ public void setCurrentEnvelopeEntry(Entry entry) throws WSIException
+ {
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.BuildReport#setCurrentEntry(org.wsi.test.report.Entry)
+ */
+ public void setCurrentEntry(Entry entry) throws WSIException
+ {
+ // Save reference to entry
+ entryList.add(entry);
+
+ // Set as current entry
+ this.currentEntry = entry;
+ }
+
+ /**
+ * Method getEntries.
+ * @return entry list.
+ */
+ public List getEntries()
+ {
+ return entryList;
+ }
+
+ /**
+ * Method getArtifacts.
+ * @return artifacts.
+ */
+ public List getArtifacts()
+ {
+ return artifactList;
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.BuildReport#endCurrentEntry()
+ */
+ public void endCurrentEntry() throws WSIException
+ {
+ // Remove current entry
+ this.currentEntry = null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.BuildReport#addAssertionResult(org.wsi.test.report.AssertionResult)
+ */
+ public void addAssertionResult(AssertionResult assertionResult)
+ {
+ // ADD: Need to keep just a summary
+
+ // Add result to current entry
+ if (currentEntry != null)
+ {
+ currentEntry.addAssertionResult(assertionResult);
+ }
+
+ // If the result was not passed, then set summary flag
+ if (assertionResult.getResult().equals(AssertionResult.RESULT_FAILED))
+ {
+ allPassed = false;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.BuildReport#getAssertionResult(java.lang.String)
+ */
+ public AssertionResult getAssertionResult(String assertionId)
+ {
+ AssertionResult result = null;
+
+ // Determine where to get the assertion result from
+ if (this.prereqType.equals(PREREQ_TYPE_ENTRY))
+ result = currentEntry.getAssertionResult(assertionId);
+ else
+ result = currentEntry.getEntryContainer().getAssertionResult(assertionId);
+
+ // the assertion result is not found at the current entry, going through all the entries
+ if (result == null)
+ {
+ for (int i = 0; i < entryList.size(); i ++)
+ {
+ Entry entry = (Entry) entryList.get(i);
+ if ((result = entry.getAssertionResult(assertionId)) != null)
+ break;
+ }
+ }
+ return result;
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.BuildReport#createAssertionResult()
+ */
+ public AssertionResult createAssertionResult()
+ {
+ AssertionResult assertionResult = new AssertionResultImpl();
+ assertionResult.setAssertionResultsOption(
+ reportContext
+ .getAnalyzer()
+ .getAnalyzerConfig()
+ .getAssertionResultsOption());
+ return assertionResult;
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.BuildReport#createEntry()
+ */
+ public Entry createEntry()
+ {
+ Entry entry = new EntryImpl();
+ //entry.setAssertionResultsOption(reportContext.getAnalyzer().getAnalyzerConfig().getAssertionResultsOption());
+ return entry;
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.BuildReport#createEntryContainer()
+ */
+ public EntryContainer createEntryContainer()
+ {
+ EntryContainer entryContainer = new EntryContainerImpl();
+ return entryContainer;
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.BuildReport#createArtifact()
+ */
+ public ReportArtifact createArtifact()
+ {
+ ReportArtifact reportArtifact = new ReportArtifactImpl();
+ return reportArtifact;
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.BuildReport#createFailureDetail()
+ */
+ public FailureDetail createFailureDetail()
+ {
+ FailureDetail failureDetail = new FailureDetailImpl();
+ return failureDetail;
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.Report#getSummaryResult()
+ */
+ public String getSummaryResult()
+ {
+ return (
+ allPassed
+ ? AssertionResult.RESULT_PASSED
+ : AssertionResult.RESULT_FAILED);
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.BuildReport#setPrereqType(java.lang.String)
+ */
+ public void setPrereqType(String prereqType)
+ {
+ this.prereqType = prereqType;
+ }
+
+ /* (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ public String toString()
+ {
+ // ADD:
+ return "Report: ";
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.Report#getStartXMLString(java.lang.String)
+ */
+ public String getStartXMLString(String namespaceName)
+ {
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+
+ String nsName = namespaceName;
+ if ((!nsName.equals("") && (!nsName.endsWith(":"))))
+ nsName += ":";
+
+ // Create report element
+ pw.println(WSIConstants.XML_DECL);
+ pw.println(
+ reportContext
+ .getAnalyzer()
+ .getAnalyzerConfig()
+ .getAddStyleSheet()
+ .getStyleSheetString());
+
+ // Add XML comment
+ String comment;
+ if ((comment = TestUtils.getXMLComment()) != null)
+ pw.print(comment);
+
+ // report
+ pw.print(
+ "<"
+ + nsName
+ + ELEM_NAME
+ + " "
+ + WSIConstants.ATTR_NAME
+ + "=\""
+ + reportContext.getReportTitle()
+ + "\"");
+ pw.println(
+ " "
+ + WSIConstants.ATTR_TIMESTAMP
+ + "=\""
+ + Utils.getTimestamp()
+ + "\"");
+ pw.println(" xmlns=\"" + WSIConstants.NS_URI_WSI_REPORT + "\"");
+ pw.println(
+ " xmlns:"
+ + WSIConstants.NS_NAME_WSI_REPORT
+ + "=\""
+ + WSIConstants.NS_URI_WSI_REPORT
+ + "\"");
+ pw.println(
+ " xmlns:"
+ + WSIConstants.NS_NAME_WSI_LOG
+ + "=\""
+ + WSIConstants.NS_URI_WSI_LOG
+ + "\"");
+ //pw.println(" xmlns:" + WSIConstants.NS_NAME_WSI_COMMON + "=\"" + WSIConstants.NS_URI_WSI_COMMON + "\"");
+ pw.println(
+ " xmlns:"
+ + WSIConstants.NS_NAME_WSI_ANALYZER_CONFIG
+ + "=\""
+ + WSIConstants.NS_URI_WSI_ANALYZER_CONFIG
+ + "\"");
+ pw.println(
+ " xmlns:"
+ + WSIConstants.NS_NAME_WSI_MONITOR_CONFIG
+ + "=\""
+ + WSIConstants.NS_URI_WSI_MONITOR_CONFIG
+ + "\"");
+ pw.println(
+ " xmlns:"
+ + WSIConstants.NS_NAME_WSI_ASSERTIONS
+ + "=\""
+ + WSIConstants.NS_URI_WSI_ASSERTIONS
+ + "\"");
+ pw.println(
+ " xmlns:"
+ + WSIConstants.NS_NAME_XSI
+ + "=\""
+ + WSIConstants.NS_URI_XSI
+ + "\">");
+
+ // Add analyzer tool info
+ pw.print(reportContext.getAnalyzer().toXMLString(nsName));
+
+ // Return XML string
+ return sw.toString();
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.Report#getEndXMLString(java.lang.String)
+ */
+ public String getEndXMLString(String namespaceName)
+ {
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+
+ String nsName = namespaceName;
+ if ((!nsName.equals("") && (!nsName.endsWith(":"))))
+ nsName += ":";
+
+ // Build summary
+ pw.print(" <" + nsName + WSIConstants.ELEM_SUMMARY + " ");
+ pw.println(WSIConstants.ATTR_RESULT + "=\"" + getSummaryResult() + "\">");
+
+ // ADD: Detail summary
+ /*
+ pw.print(" <" + nsName + WSIConstants.ELEM_ARTIFACT_SUMMARY + " ");
+ pw.println(WSIConstants.ATTR_RESULT + "=\"xxxx\">");
+
+ pw.println(" </" + nsName + WSIConstants.ELEM_ARTIFACT_SUMMARY + ">");
+ */
+
+ // End element
+ pw.println(" </" + nsName + WSIConstants.ELEM_SUMMARY + ">");
+
+ // End report element
+ pw.println("</" + nsName + ELEM_NAME + ">");
+
+ // Return XML string
+ return sw.toString();
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.report.Report#getErrorXMLString(java.lang.String, java.lang.String)
+ */
+ public String getErrorXMLString(String namespaceName, String errorDetail)
+ {
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+
+ String nsName = namespaceName;
+ if ((!nsName.equals("") && (!nsName.endsWith(":"))))
+ nsName += ":";
+
+ // Build analyzer failure
+ pw.println(" <" + nsName + WSIConstants.ELEM_ANALYZER_FAILURE + ">");
+
+ // Add error detail
+ pw.print(" <" + nsName + WSIConstants.ELEM_FAILURE_DETAIL + ">");
+ pw.print(XMLUtils.xmlEscapedString(errorDetail));
+ pw.println(" </" + nsName + WSIConstants.ELEM_FAILURE_DETAIL + ">");
+
+ // End report element
+ pw.println("</" + nsName + WSIConstants.ELEM_ANALYZER_FAILURE + ">");
+
+ // End report element
+ pw.println("</" + nsName + ELEM_NAME + ">");
+
+ // Return XML string
+ return sw.toString();
+ }
+
+ /* (non-Javadoc)
+ * @see org.wsi.test.document.DocumentElement#toXMLString(java.lang.String)
+ */
+ public String toXMLString(String namespaceName)
+ {
+ return getStartXMLString(namespaceName) + getEndXMLString(namespaceName);
+ }
+}

Back to the top