blob: c0e04f04b07077cb296ef4fd3ccb42e15aa31265 [file] [log] [blame]
/*******************************************************************************
* 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.core.profile.validator.impl.uddi;
import org.eclipse.wst.wsi.internal.core.WSIException;
import org.eclipse.wst.wsi.internal.core.profile.TestAssertion;
import org.eclipse.wst.wsi.internal.core.profile.validator.EntryContext;
import org.eclipse.wst.wsi.internal.core.profile.validator.impl.AssertionProcess;
import org.eclipse.wst.wsi.internal.core.report.AssertionResult;
import org.uddi4j.datatype.tmodel.TModel;
/**
* BP3003 - The uddi:tModel is categorized using the uddi:types taxonomy,
* as "wsdlSpec": the uddi:keyedReference element has an attribute keyValue
* equal to "wsdlSpec", and keyName equal to "uddi-org:types" or "types".
*/
public class BP3003 extends AssertionProcess
{
private final UDDIValidatorImpl validator;
/**
* @param UDDIValidatorImpl
*/
public BP3003(UDDIValidatorImpl impl)
{
super(impl);
this.validator = impl;
}
/**
* Validates the test assertion.
* @see org.eclipse.wst.wsi.test.profile.validator.impl.BaseValidatorImpl.AssertionProcess#validate(org.wsi.test.profile.TestAssertion, org.wsi.test.profile.validator.EntryContext)
*/
public AssertionResult validate(
TestAssertion testAssertion,
EntryContext entryContext)
throws WSIException
{
result = AssertionResult.RESULT_PASSED;
// Get the tModel from the entryContext
TModel tModel = (TModel) entryContext.getEntry().getEntryDetail();
// If the tModel does not exist, then fail
if (tModel == null)
{
result = AssertionResult.RESULT_FAILED;
failureDetailMessage =
"Could not locate a tModel with a categorization of 'wsdlSpec'.";
}
// If there is a tModel and it is not categorized as "wsdlSpec", then fail
else if (!(validator.isWsdlSpec(tModel)))
{
result = AssertionResult.RESULT_FAILED;
failureDetailMessage =
"The tModel key is: ["
+ tModel.getTModelKey()
+ "]\n"
+ "The categoryBag is: ["
+ this.validator.categoryBagToString(tModel.getCategoryBag())
+ "]";
}
// Else get the WSDL document location and set it and the binding element in analyzer context
else
{
// set WSDL location in analyzer context
validator.setWSDLLocation(validator.getWSDLLocation(validator.getOverviewURL(tModel)));
}
// Return assertion result
return validator.createAssertionResult(testAssertion, result, failureDetailMessage);
}
}