Community
Participate
Working Groups
In BasicProfileAnalyzer.validateConformance(), the current WS-I analyzer is hardcoded to examine each of the four artifact types specified in the Basic Profile test assertion document (TAD). As the analyzer is expanded to handle other profiles (such as the Basic Security Profile), the set of artifact types that the tool must cover will expand. It would be better if this method could just dynamically read the artifact types from the TAD and proceed based on that.
Created attachment 39054 [details] proposed refactoring This patch that contains a proposed refactoring does the following: Normalize the init, validate, and runTest methods among the different validators: - Passing the wsdlDocument only makes sense for some of the validators (for example, it does not make sense for the UDDI validator). I removed this parameter from the init functions that had it. Instead, I added the WSDL document to the AnalyzerContext class and extracted it in the init functions for the validators that needed it. - added/moved the normalized methods in the validator interfaces - Moved the message/envelope validation logic out of BasicProfileAnalyzer and into BaseMessageValidator. This required defining some operations for the message and envelope validators which aren't appropriate for the other validators. I added a new interface (LogValidator) to hold these operations. - Added the runTests() function to the validators that returns whether or not the validator should be run (according to what is set in the analyzer config). Eliminate testcase interdependencies and side effects: - Collect the wsdlDocument and portions to test up front rather than as side effects of the UDDI and WSDL test cases. Remove the side effects from BP3001 and BP3003. - Move some of the generic UDDI functionality out of the UDDI validator and into UDDIUtils so that it can be used by BasicProfileAnalyzer - Add logic to the BasicProfileAnalyzer to scan the UDDI artifacts for a WSDL document to validate before starting to run the tests. Call the validators as encountered in the TAD, rather than hardcoding each validator: - Add an interface to the ProfileValidatorFactory that returns a validator depending on the given artifact name. Implemented in ProfileValidatorFactoryImpl. Other packages/projects will be able to register their validators here.
I will try too look at this for 3.0.
This is definitely something that would be nice to have, particularly since the WS-Basic Security Profile 1.0 is now out, as well as the WS Relibably and Secure Profile being in Draft Mode. If you want Valentin I can take a look at the patch and if necessary update it for 3.1?
Sorry for the late reply Dave and thank you for offering to help out. I'll add this enhancement to the plan tentatively.
This is not in the WTP 3.2 plan