Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/BasicProfileAnalyzer.java')
-rw-r--r--bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/BasicProfileAnalyzer.java460
1 files changed, 0 insertions, 460 deletions
diff --git a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/BasicProfileAnalyzer.java b/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/BasicProfileAnalyzer.java
deleted file mode 100644
index 2e7ba7f59..000000000
--- a/bundles/org.eclipse.wst.wsi/src/org/eclipse/wst/wsi/internal/core/analyzer/BasicProfileAnalyzer.java
+++ /dev/null
@@ -1,460 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002-2003 IBM Corporation, Parasoft, Beacon Information Technology 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:
- * IBM - Initial API and implementation
- * Parasoft - Initial API and implementation
- * BeaconIT - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsi.internal.core.analyzer;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.wsdl.Binding;
-import javax.wsdl.WSDLException;
-
-import org.eclipse.wst.wsi.internal.WSITestToolsProperties;
-import org.eclipse.wst.wsi.internal.core.ToolInfo;
-import org.eclipse.wst.wsi.internal.core.WSIConstants;
-import org.eclipse.wst.wsi.internal.core.WSIException;
-import org.eclipse.wst.wsi.internal.core.WSIFileNotFoundException;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.UDDIReference;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.WSDLElement;
-import org.eclipse.wst.wsi.internal.core.analyzer.config.impl.WSDLElementImpl;
-import org.eclipse.wst.wsi.internal.core.profile.validator.BaseValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.WSDLValidator;
-import org.eclipse.wst.wsi.internal.core.profile.validator.impl.wsdl.WSDLValidatorImpl;
-import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
-import org.eclipse.wst.wsi.internal.core.report.Report;
-import org.eclipse.wst.wsi.internal.core.report.ReportArtifact;
-import org.eclipse.wst.wsi.internal.core.report.ReportContext;
-import org.eclipse.wst.wsi.internal.core.report.ReportWriter;
-import org.eclipse.wst.wsi.internal.core.report.impl.DefaultReporter;
-import org.eclipse.wst.wsi.internal.core.util.ArtifactType;
-import org.eclipse.wst.wsi.internal.core.util.UDDIUtils;
-import org.eclipse.wst.wsi.internal.core.util.WSIProperties;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLDocument;
-import org.eclipse.wst.wsi.internal.core.wsdl.WSDLUtils;
-import org.eclipse.wst.wsi.internal.core.xml.XMLDocumentCache;
-import org.uddi4j.client.UDDIProxy;
-import org.uddi4j.datatype.binding.BindingTemplate;
-import org.uddi4j.datatype.tmodel.TModel;
-import org.uddi4j.response.BindingDetail;
-import org.uddi4j.response.TModelDetail;
-import org.uddi4j.transport.TransportFactory;
-
-
-/**
- * Analyzes log files to confirm conformance to a profile.
- *
- * @version 1.0.1
- * @author Jim Clune
- * @author Peter Brittenham
- * @author Graham Turrell
- */
-public class BasicProfileAnalyzer extends Analyzer
-{
- /**
- * Tool information.
- */
- public static final String TOOL_NAME = "Analyzer";
-
- /**
- * WSDL document to analyze.
- */
- protected WSDLDocument wsdlDocument = null;
- // private WSDLValidator wsdlValidator;
-
- /**
- * Basic profile analyzer.
- * @param args command line arguments.
- * @throws WSIException if unable to create a Basic profile analyzer.
- */
- public BasicProfileAnalyzer(String[] args) throws WSIException
- {
- super(args, new ToolInfo(TOOL_NAME));
- new XMLDocumentCache();
- }
-
- /**
- * Basic profile analyzer.
- * @param args command line arguments.
- * @param validate flag for command line argument validation.
- * @throws WSIException if unable to create a Basic profile analyzer.
- */
- public BasicProfileAnalyzer(String[] args, boolean validate) throws WSIException
- {
- super(args, new ToolInfo(TOOL_NAME), validate);
- new XMLDocumentCache();
- }
-
- /**
- * Basic profile analyzer.
- * @param analyzerConfigList a list of configurations for the analyzer.
- * @throws WSIException if unable to create a Basic profile analyzer.
- */
- public BasicProfileAnalyzer(List analyzerConfigList) throws WSIException
- {
- super(analyzerConfigList, new ToolInfo(TOOL_NAME));
- new XMLDocumentCache();
- }
-
- /**
- * Basic profile analyzer.
- * @param analyzerConfigList a list of configurations for the analyzer.
- * @param wsdlURI a wsdl document location.
- * @throws WSIException if unable to create a Basic profile analyzer.
- */
- public BasicProfileAnalyzer(List analyzerConfigList, String wsdlURI)
- throws WSIException
- {
- super(analyzerConfigList, new ToolInfo(TOOL_NAME));
- new XMLDocumentCache();
-
- try
- {
- // Get the WSDL document
- if (wsdlURI != null)
- this.wsdlDocument = new WSDLDocument(wsdlURI);
- }
-
- catch (WSDLException we)
- {
- throw new WSIException(we.getMessage(), we);
- }
-
- }
-
- private WSDLDocument getWsdlFromUddi() {
- WSDLDocument wsdlDoc = null;
- try {
- UDDIProxy uddiProxy = new UDDIProxy();
- UDDIReference uddiReference = getAnalyzerConfig().getUDDIReference();
- uddiProxy.setInquiryURL(uddiReference.getInquiryURL());
- TModel tModel = null;
-
- if (uddiReference.getKeyType().equals(UDDIReference.BINDING_KEY)) {
- BindingDetail bindingDetail = uddiProxy.get_bindingDetail(
- uddiReference.getKey());
- BindingTemplate bindingTemplate = (BindingTemplate) bindingDetail.
- getBindingTemplateVector().elementAt(0);
- tModel = UDDIUtils.findTModel(uddiProxy, bindingTemplate, false);
- } else { // UDDIReference.TMODEL_KEY
- TModelDetail tModelDetail = uddiProxy.get_tModelDetail(
- uddiReference.getKey());
- tModel = (TModel) tModelDetail.getTModelVector().elementAt(0);
- }
-
- String overviewURL = UDDIUtils.getOverviewURL(tModel);
- String wsdlURI = UDDIUtils.getWSDLLocation(overviewURL);
- wsdlDoc = new WSDLDocument(wsdlURI);
-
- /* TODO: I refactored this code from BSP3001 but I'm not sure that
- * it's correct. This overrides the <wsdlElement> child of
- * <uddiReference> from the config file, which never gets used.
- */
- // If the wsdlElement does not exist, then set it
- if (analyzerContext.getServiceReference().getWSDLElement() == null)
- {
- Binding binding = UDDIUtils.getBinding(overviewURL, wsdlDoc);
- String bindingName =
- binding == null ? null : binding.getQName().getLocalPart();
- String namespace =
- binding == null ? null : binding.getQName().getNamespaceURI();
-
- // Get WSDL binding from the overviewURL and set in analyzerContext
- WSDLElement wsdlElement = new WSDLElementImpl();
- wsdlElement.setName(bindingName);
- wsdlElement.setNamespace(namespace);
- wsdlElement.setType(WSDLValidator.TYPE_DESCRIPTION_BINDING);
- analyzerContext.getServiceReference().setWSDLElement(wsdlElement);
- }
- return wsdlDoc;
-
- } catch (Exception e) {
- /* If the wsdlDoc is set at the point of the exception, return it;
- * otherwise return null. */
- return wsdlDoc;
- }
- }
-
-
- /**
- * Process all conformance validation functions.
- * @return status code.
- * @throws WSIException if conformance validation process failed.
- */
- public int validateConformance() throws WSIException
- {
- int statusCode = 0;
-
- Report report = null;
- ReportArtifact reportArtifact = null;
-
- // Set up initial analyzer context based on entries in the config file
- this.analyzerContext =
- new AnalyzerContext(new ServiceReference(getAnalyzerConfig()));
-
- try
- {
- this.profileAssertions = WSITestToolsProperties.getProfileAssertions(
- getAnalyzerConfig().getTestAssertionsDocumentLocation());
-
- if (this.profileAssertions == null)
- {
- throw new WSIException(messageList.getMessage("config20",
- "The WS-I Test Assertion Document (TAD)document was either not found or could not be processed."));
- }
-
- // Create report from document factory
- report = documentFactory.newReport();
- report.setLocation(getAnalyzerConfig().getReportLocation());
-
- // Create report context
- ReportContext reportContext =
- new ReportContext(
- WSIConstants.DEFAULT_REPORT_TITLE,
- profileAssertions,
- this);
- report.setReportContext(reportContext);
-
- // Create report writer
- ReportWriter reportWriter = documentFactory.newReportWriter();
- // I18N: 2003.02.26 modified by K.Nakagome@BeaconIT
- //reportWriter.setWriter(new FileWriter(analyzerConfig.getReportLocation()));
- reportWriter.setWriter(getAnalyzerConfig().getReportLocation());
-
- // Create reporter
- this.reporter = new DefaultReporter(report, reportWriter);
-
- // fetch WSDL if not set in constructor
- // First, attempt to get the WSDL URI from a UDDI tModel
- if ((wsdlDocument == null) && (getAnalyzerConfig().isUDDIReferenceSet()))
- wsdlDocument = getWsdlFromUddi();
-
- /* Next, try to use the WSDL settings from the config file. If we can't
- * fetch that WSDL, and the config file is set up to test a WSDL, then the
- * validator fails here. */
- if ((wsdlDocument == null) && (getAnalyzerConfig().isWSDLReferenceSet()))
- {
- wsdlDocument = new WSDLDocument(getAnalyzerConfig().
- getWSDLLocation());
-
- if (wsdlDocument == null)
- throw new WSIException(messageList.getMessage("config05",
- "WSDL document was either not found or could not be " +
- "processed."));
- }
-
- /*
- * Only validate messages against a wsdl document if the wsdl document
- * does not contain soap 1.2 bindings.
- */
- if (WSDLUtils.isSOAP12WSDL(wsdlDocument) && getAnalyzerConfig().getLogLocation() != null)
- getAnalyzerConfig().setWSDLReference(null);
- else
- analyzerContext.setWsdlDocument(wsdlDocument);
-
- // Start writing report
- this.reporter.startReport();
-
- // Walk through the artifact elements from the TAD, validating each one
- profileAssertions.getArtifactList().keySet().iterator();
- for (Iterator i = profileAssertions.getArtifactList().keySet().iterator();
- i.hasNext(); ) {
- String artifactType = (String) i.next();
- // Set current artifact
- reportArtifact = setCurrentArtifact(ArtifactType.getArtifactType(
- artifactType));
- validate(reportArtifact, factory.getValidatorForArtifact(
- artifactType));
- this.reporter.endCurrentArtifact();
- }
-
- // Finish the conformance report
- reporter.finishReport();
- }
-
- catch (Exception e)
- {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
-
- String message =
- messageList.getMessage(
- "error03",
- "The conformance validation process failed.");
-
- // Finish report
- if (reporter != null)
- {
- pw.println(message);
- pw.println(
- messageList.getMessage("exception01", "Exception: ")
- + e.getClass().getName());
- e.printStackTrace(pw);
- reporter.finishReportWithError(sw.toString());
- }
-
- if (e instanceof WSIException)
- throw (WSIException) e;
- else
- throw new WSIException(message, e);
- }
-
- if (report != null)
- {
- statusCode =
- (report.getSummaryResult().equals(AssertionResult.RESULT_PASSED)
- ? 0
- : 1);
- }
-
- return statusCode;
- }
-
- /**
- * Run test assertions.
- */
- private void validate(ReportArtifact reportArtifact, BaseValidator validator)
- throws WSIException
- {
- if (validator instanceof WSDLValidatorImpl)
- {
- ((WSDLValidatorImpl)validator).init(analyzerContext, profileAssertions, reportArtifact, getAnalyzerConfig(), reporter,
- getAnalyzerConfigIndex() == 0);
- }
- else
- {
- validator.init(analyzerContext, profileAssertions, reportArtifact, getAnalyzerConfig(), reporter);
- }
-
- if (validator.runTests()) {
- validator.validateArtifact();
- validator.cleanup();
- }
- else
- {
- validator.setAllMissingInput();
- }
- }
-
- /**
- * Command line interface for the analyzer tool.
- * @param args command line arguments.
- * @throws IOException if IO problems occur.
- */
- public static void main(String[] args) throws IOException
- {
- int statusCode = 0;
- Analyzer analyzer = null;
-
- try
- {
- // Set document builder factory class
- System.setProperty(
- WSIProperties.PROP_JAXP_DOCUMENT_FACTORY,
- WSIProperties.getProperty(WSIProperties.PROP_JAXP_DOCUMENT_FACTORY));
-
- // Set the system property for UDDI4J transport
- System.setProperty(
- TransportFactory.PROPERTY_NAME,
- WSIProperties.getProperty(TransportFactory.PROPERTY_NAME));
-
- // Create the analyzer object
- analyzer = new BasicProfileAnalyzer(args);
-
- // Have it process the conformance validation functions
- statusCode = analyzer.validateConformance();
-
- // Display message
- analyzer.printMessage(
- "created01",
- null,
- "Conformance report has been created.");
- }
-
- catch (Exception e)
- {
- statusCode = 1;
-
- String messageID;
- String defaultMessage;
- String messageData;
-
- if ((e instanceof WSIFileNotFoundException)
- || (e instanceof IllegalArgumentException))
- {
- //printStackTrace = false;
- messageID = "error01";
- defaultMessage = "Analyzer Error:";
- messageData = e.getMessage();
- }
-
- else
- {
- //printStackTrace = true;
- messageID = "error02";
- defaultMessage = "Analyzer Stopped By Exception:";
- messageData = e.toString();
- }
-
- if (analyzer != null)
- analyzer.printMessage(messageID, messageData, defaultMessage);
- else
- Analyzer.staticPrintMessage(messageID, messageData, defaultMessage);
-
- if (analyzer != null
- && analyzer.getAnalyzerConfig() != null
- && analyzer.getAnalyzerConfig().getVerboseOption())
- dump(e);
- }
-
- // Exit
- System.exit(statusCode);
- }
-
- /**
- * Set current artifact.
- * @param artifactType an ArtifactType object.
- * @return a ReportArtifact object.
- * @throws WSIException if problems creating report artifact.
- */
- protected ReportArtifact setCurrentArtifact(ArtifactType artifactType)
- throws WSIException
- {
- // Create artifact
- ReportArtifact reportArtifact = reporter.createArtifact();
- reportArtifact.setType(artifactType);
-
- // Add artifact to report
- this.reporter.setCurrentArtifact(reportArtifact);
-
- return reportArtifact;
- }
-
- /**
- * Print exception.
- * @param t a Throwable object.
- */
- public static void dump(Throwable t)
- {
- while (t instanceof WSIException)
- {
- Throwable nested = ((WSIException) t).getTargetException();
- if (nested == null)
- break;
- else
- t = nested;
- }
- t.printStackTrace();
- }
-}

Back to the top